aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--aoc2023/aoc.toml4
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent.cachebin2399 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent.cache_metabin85 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent.erl55
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent@day.cachebin583 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent@day.cache_metabin293 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent@day.erl278
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent@init.cachebin581 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent@init.cache_metabin231 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent@init.erl142
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent_ffi.erl12
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/gleam@@compile.erl157
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@aoc_client.cachebin468 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@aoc_client.cache_metabin131 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@aoc_client.erl61
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@errors.cachebin1514 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@errors.cache_metabin85 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@errors.erl74
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@prompt.cachebin1512 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@prompt.cache_metabin69 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@prompt.erl53
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@template.cachebin438 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@template.cache_metabin67 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@template.erl25
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@solution.cachebin818 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@solution.cache_metabin29 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@solution.erl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@test_main.cachebin380 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@test_main.cache_metabin29 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@test_main.erl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@testfile_gleeunit.cachebin1293 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@testfile_gleeunit.cache_metabin29 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@testfile_gleeunit.erl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@testfile_showtime.cachebin1300 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@testfile_showtime.cache_metabin29 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@testfile_showtime.erl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@toml.cachebin1714 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@toml.cache_metabin60 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@toml.erl83
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime.cachebin1068 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime.cache_metabin439 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime.erl155
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@cli.cachebin879 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@cli.cache_metabin29 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@cli.erl8
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@common_event_handler.cachebin3273 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@common_event_handler.cache_metabin89 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@common_event_handler.erl131
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_result.cachebin15288 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_result.cache_metabin67 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_result.erl54
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_suite.cachebin8873 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_suite.cache_metabin129 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_suite.erl30
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@discover.cachebin1929 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@discover.cache_metabin227 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@discover.erl230
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@event_handler.cachebin1542 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@event_handler.cache_metabin292 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@event_handler.erl76
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@module_handler.cachebin1135 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@module_handler.cache_metabin179 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@module_handler.erl53
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@runner.cachebin1642 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@runner.cache_metabin195 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@runner.erl46
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@compare.cachebin479 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@compare.cache_metabin140 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@compare.erl61
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@formatter.cachebin5108 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@formatter.cache_metabin421 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@formatter.erl749
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@styles.cachebin3189 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@styles.cache_metabin118 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@styles.erl93
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@table.cachebin5510 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@table.cache_metabin144 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@table.erl229
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@meta.cachebin901 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@meta.cache_metabin29 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@meta.erl8
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@should.cachebin5547 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@should.cache_metabin76 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@should.erl143
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@test.cachebin3674 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@test.cache_metabin101 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@test.erl57
-rw-r--r--aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime_ffi.erl187
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/adglent.app17
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/adglent.beambin3072 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/adglent@day.beambin8292 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/adglent@init.beambin6308 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/adglent_ffi.beambin1556 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/priv@aoc_client.beambin3696 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/priv@errors.beambin3800 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/priv@prompt.beambin2744 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/priv@template.beambin1804 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/priv@templates@solution.beambin792 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/priv@templates@test_main.beambin792 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/priv@templates@testfile_gleeunit.beambin812 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/priv@templates@testfile_showtime.beambin812 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/priv@toml.beambin3900 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/showtime.beambin7024 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@common@cli.beambin924 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@common@common_event_handler.beambin4324 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@common@test_result.beambin1884 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@common@test_suite.beambin1412 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@erlang@discover.beambin8688 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@erlang@event_handler.beambin4368 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@erlang@module_handler.beambin3024 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@erlang@runner.beambin2416 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@reports@compare.beambin3380 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@reports@formatter.beambin20468 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@reports@styles.beambin4196 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@reports@table.beambin7608 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/showtime@tests@meta.beambin904 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/showtime@tests@should.beambin5416 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/showtime@tests@test.beambin3412 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/ebin/showtime_ffi.beambin7708 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/adglent_Example.hrl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/priv@toml_TomGetError.hrl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/priv@toml_TomParseError.hrl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@common_event_handler_Finished.hrl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@common_event_handler_HandlerState.hrl5
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_ArgList.hrl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_AssertEqual.hrl3
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_AssertMatch.hrl3
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_AssertNotEqual.hrl3
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_ErlangException.hrl6
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_ErrorInfo.hrl3
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Expected.hrl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Expression.hrl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_File.hrl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_GenericException.hrl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_GleamAssert.hrl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_GleamError.hrl3
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Ignored.hrl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_LetAssert.hrl7
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Line.hrl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Module.hrl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Num.hrl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Pattern.hrl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_ReasonLine.hrl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_TestFunctionReturn.hrl4
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Trace.hrl5
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_TraceList.hrl3
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_TraceModule.hrl6
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Value.hrl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_CompletedTestRun.hrl6
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_EndTest.hrl6
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_EndTestRun.hrl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_EndTestSuite.hrl3
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_OngoingTestRun.hrl4
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_StartTest.hrl4
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_StartTestSuite.hrl3
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_TestFunction.hrl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_TestModule.hrl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_TestSuite.hrl4
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_AlignLeft.hrl4
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_AlignLeftOverflow.hrl4
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_AlignRight.hrl4
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_AlignRightOverflow.hrl4
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_Aligned.hrl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_Content.hrl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_Separator.hrl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_StyledContent.hrl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_Table.hrl4
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@tests@meta_Meta.hrl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@tests@should_Eq.hrl5
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@tests@should_Fail.hrl1
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@tests@should_IsError.hrl4
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@tests@should_IsOk.hrl4
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@tests@should_NotEq.hrl5
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@tests@test_MetaShould.hrl4
-rw-r--r--aoc2023/build/dev/erlang/adglent/include/showtime@tests@test_Test.hrl4
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/aoc2023.cachebin407 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/aoc2023.cache_metabin68 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/aoc2023.erl21
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/aoc2023@@main.erl35
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/aoc2023_test.cachebin305 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/aoc2023_test.cache_metabin45 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/aoc2023_test.erl8
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day10@day10_test.cachebin1845 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day10@day10_test.cache_metabin110 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day10@day10_test.erl52
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day10@solve.cachebin5462 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day10@solve.cache_metabin168 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day10@solve.erl340
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day11@day11_test.cachebin1935 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day11@day11_test.cache_metabin110 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day11@day11_test.erl68
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day11@solve.cachebin2064 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day11@solve.cache_metabin115 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day11@solve.erl130
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day12@day12_test.cachebin1730 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day12@day12_test.cache_metabin110 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day12@day12_test.erl38
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day12@solve.cachebin1777 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day12@solve.cache_metabin157 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day12@solve.erl145
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day13@day13_test.cachebin1994 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day13@day13_test.cache_metabin110 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day13@day13_test.erl88
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day13@solve.cachebin2415 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day13@solve.cache_metabin116 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day13@solve.erl149
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day14@day14_test.cachebin1933 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day14@day14_test.cache_metabin110 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day14@day14_test.erl68
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day14@solve.cachebin2257 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day14@solve.cache_metabin152 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day14@solve.erl149
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day15@day15_test.cachebin1817 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day15@day15_test.cache_metabin110 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day15@day15_test.erl32
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day15@solve.cachebin3200 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day15@solve.cache_metabin153 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day15@solve.erl177
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day16@day16_test.cachebin1915 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day16@day16_test.cache_metabin110 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day16@day16_test.erl68
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day16@solve.cachebin2445 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day16@solve.cache_metabin176 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day16@solve.erl253
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day17@day17_test.cachebin1789 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day17@day17_test.cache_metabin110 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day17@day17_test.erl52
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day17@solve.cachebin4185 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day17@solve.cache_metabin223 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day17@solve.erl231
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day18@day18_test.cachebin2116 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day18@day18_test.cache_metabin110 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day18@day18_test.erl84
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day18@solve.cachebin3614 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day18@solve.cache_metabin154 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day18@solve.erl218
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day19@day19_test.cachebin2438 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day19@day19_test.cache_metabin110 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day19@day19_test.erl96
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day19@solve.cachebin9036 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day19@solve.cache_metabin191 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day19@solve.erl459
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day1@day1_test.cachebin1836 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day1@day1_test.cache_metabin109 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day1@day1_test.erl50
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day1@solve.cachebin1176 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day1@solve.cache_metabin134 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day1@solve.erl118
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day20@day20_test.cachebin1864 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day20@day20_test.cache_metabin110 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day20@day20_test.erl52
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day20@solve.cachebin4798 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day20@solve.cache_metabin153 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day20@solve.erl237
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day2@day2_test.cachebin2472 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day2@day2_test.cache_metabin109 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day2@day2_test.erl54
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day2@solve.cachebin1440 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day2@solve.cache_metabin115 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day2@solve.erl166
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day3@day3_test.cachebin1896 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day3@day3_test.cache_metabin109 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day3@day3_test.erl68
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day3@solve.cachebin5683 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day3@solve.cache_metabin152 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day3@solve.erl254
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day4@day4_test.cachebin2259 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day4@day4_test.cache_metabin109 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day4@day4_test.erl52
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day4@solve.cachebin2089 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day4@solve.cache_metabin208 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day4@solve.erl169
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day5@day5_test.cachebin2379 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day5@day5_test.cache_metabin109 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day5@day5_test.erl160
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day5@solve.cachebin5112 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day5@solve.cache_metabin157 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day5@solve.erl269
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day6@day6_test.cachebin1790 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day6@day6_test.cache_metabin109 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day6@day6_test.erl36
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day6@solve.cachebin1920 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day6@solve.cache_metabin135 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day6@solve.erl131
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day7@day7_test.cachebin1803 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day7@day7_test.cache_metabin109 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day7@day7_test.erl48
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day7@solve.cachebin3183 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day7@solve.cache_metabin174 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day7@solve.erl242
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day8@day8_test.cachebin1865 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day8@day8_test.cache_metabin109 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day8@day8_test.erl58
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day8@solve.cachebin1810 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day8@solve.cache_metabin236 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day8@solve.erl179
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day9@day9_test.cachebin1793 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day9@day9_test.cache_metabin109 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day9@day9_test.erl40
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day9@solve.cachebin1829 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day9@solve.cache_metabin115 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day9@solve.erl133
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/gleam@@compile.erl157
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@array2d.cachebin2127 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@array2d.cache_metabin102 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@array2d.erl64
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@memo.cachebin3198 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@memo.cache_metabin118 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@memo.erl70
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@prioqueue.cachebin3158 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@prioqueue.cache_metabin47 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@prioqueue.erl60
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/aoc2023.app15
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/aoc2023.beambin1976 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/aoc2023@@main.beambin2780 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/aoc2023_test.beambin1088 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day10@day10_test.beambin2508 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day10@solve.beambin12732 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day11@day11_test.beambin2400 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day11@solve.beambin6228 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day12@day12_test.beambin2392 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day12@solve.beambin6816 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day13@day13_test.beambin2428 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day13@solve.beambin6624 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day14@day14_test.beambin2452 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day14@solve.beambin6912 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day15@day15_test.beambin2416 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day15@solve.beambin7676 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day16@day16_test.beambin2404 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day16@solve.beambin9856 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day17@day17_test.beambin2496 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day17@solve.beambin9700 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day18@day18_test.beambin2584 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day18@solve.beambin8520 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day19@day19_test.beambin2876 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day19@solve.beambin15476 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day1@day1_test.beambin2520 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day1@solve.beambin5292 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day20@day20_test.beambin2504 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day20@solve.beambin9516 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day2@day2_test.beambin2660 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day2@solve.beambin7028 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day3@day3_test.beambin2428 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day3@solve.beambin11296 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day4@day4_test.beambin2652 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day4@solve.beambin8124 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day5@day5_test.beambin2756 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day5@solve.beambin11140 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day6@day6_test.beambin2396 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day6@solve.beambin6252 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day7@day7_test.beambin2416 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day7@solve.beambin9700 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day8@day8_test.beambin2504 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day8@solve.beambin7556 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day9@day9_test.beambin2392 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/day9@solve.beambin5652 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/utilities@array2d.beambin3852 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/utilities@memo.beambin4028 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/ebin/utilities@prioqueue.beambin3412 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/include/day2@solve_Game.hrl1
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/include/day5@solve_Almanac.hrl4
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/include/day5@solve_MRange.hrl1
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/include/day5@solve_SRange.hrl1
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/include/utilities@array2d_Posn.hrl1
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/include/utilities@memo_Cache.hrl3
-rw-r--r--aoc2023/build/dev/erlang/aoc2023/include/utilities@prioqueue_PriorityQueue.hrl4
-rw-r--r--aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap.cachebin6090 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap.cache_metabin282 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap.erl538
-rw-r--r--aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@comparison.cachebin2538 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@comparison.cache_metabin29 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@comparison.erl15
-rw-r--r--aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@myers.cachebin4865 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@myers.cache_metabin47 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@myers.erl156
-rw-r--r--aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@styled_comparison.cachebin946 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@styled_comparison.cache_metabin29 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@styled_comparison.erl8
-rw-r--r--aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@styling.cachebin8057 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@styling.cache_metabin166 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@styling.erl202
-rw-r--r--aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap_ffi.mjs431
-rw-r--r--aoc2023/build/dev/erlang/gap/_gleam_artefacts/gleam@@compile.erl157
-rw-r--r--aoc2023/build/dev/erlang/gap/ebin/gap.app8
-rw-r--r--aoc2023/build/dev/erlang/gap/ebin/gap.beambin15568 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gap/ebin/gap@comparison.beambin1052 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gap/ebin/gap@myers.beambin6508 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gap/ebin/gap@styled_comparison.beambin896 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gap/ebin/gap@styling.beambin7488 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gap/include/gap@comparison_ListComparison.hrl4
-rw-r--r--aoc2023/build/dev/erlang/gap/include/gap@comparison_Match.hrl1
-rw-r--r--aoc2023/build/dev/erlang/gap/include/gap@comparison_NoMatch.hrl1
-rw-r--r--aoc2023/build/dev/erlang/gap/include/gap@comparison_StringComparison.hrl4
-rw-r--r--aoc2023/build/dev/erlang/gap/include/gap@styled_comparison_StyledComparison.hrl1
-rw-r--r--aoc2023/build/dev/erlang/gap/include/gap@styling_All.hrl1
-rw-r--r--aoc2023/build/dev/erlang/gap/include/gap@styling_Highlighters.hrl5
-rw-r--r--aoc2023/build/dev/erlang/gap/include/gap@styling_Part.hrl5
-rw-r--r--aoc2023/build/dev/erlang/gap/include/gap@styling_Styling.hrl5
-rw-r--r--aoc2023/build/dev/erlang/gleam.lock0
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam@@compile.erl157
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.cachebin62995 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.cache_metabin114 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.erl263
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_ansi/ebin/gleam_community@ansi.beambin10580 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_ansi/ebin/gleam_community_ansi.app8
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_colour/_gleam_artefacts/gleam@@compile.erl157
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour.cachebin28213 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour.cache_metabin123 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour.erl513
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour@accessibility.cachebin3149 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour@accessibility.cache_metabin96 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour@accessibility.erl75
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_colour/ebin/gleam_community@colour.beambin19736 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_colour/ebin/gleam_community@colour@accessibility.beambin4148 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_colour/ebin/gleam_community_colour.app7
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_colour/include/gleam_community@colour_Hsla.hrl1
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_colour/include/gleam_community@colour_Rgba.hrl1
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam@@compile.erl157
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@arithmetics.cachebin14528 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@arithmetics.cache_metabin183 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@arithmetics.erl172
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@combinatorics.cachebin8209 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@combinatorics.cache_metabin64 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@combinatorics.erl218
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@conversion.cachebin4583 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@conversion.cache_metabin46 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@conversion.erl24
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@elementary.cachebin30763 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@elementary.cache_metabin66 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@elementary.erl286
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@metrics.cachebin12100 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@metrics.cache_metabin284 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@metrics.erl281
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@piecewise.cachebin34039 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@piecewise.cache_metabin201 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@piecewise.erl563
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@predicates.cachebin8750 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@predicates.cache_metabin222 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@predicates.erl118
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@sequences.cachebin6486 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@sequences.cache_metabin166 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@sequences.erl202
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@special.cachebin3907 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@special.cache_metabin166 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@special.erl163
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/maths.mjs95
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@arithmetics.beambin7276 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@combinatorics.beambin7624 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@conversion.beambin1916 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@elementary.beambin9320 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@metrics.beambin9308 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@piecewise.beambin16508 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@predicates.beambin5584 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@sequences.beambin7084 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@special.beambin7656 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community_maths.app7
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@@compile.erl157
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang.cachebin8892 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang.cache_metabin122 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang.erl90
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@atom.cachebin2901 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@atom.cache_metabin50 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@atom.erl26
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@charlist.cachebin869 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@charlist.cache_metabin29 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@charlist.erl15
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@file.cachebin28516 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@file.cache_metabin72 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@file.erl190
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@node.cachebin3092 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@node.cache_metabin54 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@node.erl33
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@os.cachebin3322 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@os.cache_metabin46 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@os.erl27
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@process.cachebin31558 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@process.cache_metabin115 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@process.erl374
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam_erlang_ffi.erl263
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam@erlang.beambin4352 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam@erlang@atom.beambin1856 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam@erlang@charlist.beambin1392 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam@erlang@file.beambin6008 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam@erlang@node.beambin1980 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam@erlang@os.beambin1836 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam@erlang@process.beambin14888 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam_erlang.app7
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam_erlang_ffi.beambin13964 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@file_FileInfo.hrl15
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@process_Abnormal.hrl1
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@process_CalleeDown.hrl1
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@process_Cancelled.hrl1
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@process_ExitMessage.hrl4
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@process_ProcessDown.hrl4
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@process_ProcessMonitor.hrl1
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@process_Subject.hrl4
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang_ApplicationFailedToStart.hrl4
-rw-r--r--aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang_UnknownApplication.hrl1
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@@compile.erl157
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http.cachebin15491 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http.cache_metabin149 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http.erl626
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@cookie.cachebin4352 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@cookie.cache_metabin161 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@cookie.erl153
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@request.cachebin8252 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@request.cache_metabin195 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@request.erl202
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@response.cachebin5278 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@response.cache_metabin150 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@response.erl97
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@service.cachebin3223 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@service.cache_metabin138 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@service.erl82
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam_http_native.erl88
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam_http_native.mjs38
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/ebin/gleam@http.beambin21920 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/ebin/gleam@http@cookie.beambin7076 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/ebin/gleam@http@request.beambin8976 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/ebin/gleam@http@response.beambin5004 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/ebin/gleam@http@service.beambin4308 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/ebin/gleam_http.app7
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/ebin/gleam_http_native.beambin4952 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/include/gleam@http@cookie_Attributes.hrl8
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/include/gleam@http@request_Request.hrl10
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/include/gleam@http@response_Response.hrl5
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/include/gleam@http_MoreRequiredForBody.hrl5
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/include/gleam@http_MoreRequiredForHeaders.hrl4
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/include/gleam@http_MultipartBody.hrl5
-rw-r--r--aoc2023/build/dev/erlang/gleam_http/include/gleam@http_MultipartHeaders.hrl4
-rw-r--r--aoc2023/build/dev/erlang/gleam_httpc/_gleam_artefacts/gleam@@compile.erl157
-rw-r--r--aoc2023/build/dev/erlang/gleam_httpc/_gleam_artefacts/gleam@httpc.cachebin4263 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_httpc/_gleam_artefacts/gleam@httpc.cache_metabin199 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_httpc/_gleam_artefacts/gleam@httpc.erl118
-rw-r--r--aoc2023/build/dev/erlang/gleam_httpc/ebin/gleam@httpc.beambin4888 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_httpc/ebin/gleam_httpc.app10
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@@compile.erl157
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@actor.cachebin13720 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@actor.cache_metabin196 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@actor.erl273
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@intensity_tracker.cachebin2475 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@intensity_tracker.cache_metabin47 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@intensity_tracker.erl53
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@port.cachebin354 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@port.cache_metabin29 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@port.erl8
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@supervisor.cachebin16821 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@supervisor.cache_metabin200 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@supervisor.erl322
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@system.cachebin5895 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@system.cache_metabin103 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@system.erl43
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@task.cachebin4454 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@task.cache_metabin78 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@task.erl111
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam_otp.cachebin728 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam_otp.cache_metabin130 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam_otp.erl28
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam_otp_external.erl43
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/ebin/gleam@otp@actor.beambin10924 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/ebin/gleam@otp@intensity_tracker.beambin2524 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/ebin/gleam@otp@port.beambin852 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/ebin/gleam@otp@supervisor.beambin13040 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/ebin/gleam@otp@system.beambin2044 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/ebin/gleam@otp@task.beambin5364 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/ebin/gleam_otp.app8
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/ebin/gleam_otp.beambin2396 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/ebin/gleam_otp_external.beambin3096 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@actor_Continue.hrl4
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@actor_Ready.hrl1
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@actor_Spec.hrl5
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@intensity_tracker_IntensityTracker.hrl5
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@supervisor_ChildSpec.hrl5
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@supervisor_Spec.hrl6
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@system_StatusInfo.hrl7
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@task_Exit.hrl1
-rw-r--r--aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@task_Task.hrl6
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/dict.mjs957
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@@compile.erl157
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@base.cachebin1301 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@base.cache_metabin52 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@base.erl20
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_array.cachebin5024 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_array.cache_metabin49 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_array.erl102
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_builder.cachebin4262 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_builder.cache_metabin84 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_builder.erl66
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_string.cachebin2010 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_string.cache_metabin52 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_string.erl33
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bool.cachebin7175 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bool.cache_metabin48 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bool.erl162
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bytes_builder.cachebin6338 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bytes_builder.cache_metabin98 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bytes_builder.erl87
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@dict.cachebin12361 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@dict.cache_metabin49 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@dict.erl97
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@dynamic.cachebin49464 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@dynamic.cache_metabin173 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@dynamic.erl808
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@float.cachebin11445 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@float.cache_metabin48 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@float.erl181
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@function.cachebin5886 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@function.cache_metabin29 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@function.erl67
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@int.cachebin18217 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@int.cache_metabin67 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@int.erl332
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@io.cachebin2936 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@io.cache_metabin49 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@io.erl27
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@iterator.cachebin38553 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@iterator.cache_metabin141 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@iterator.erl744
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@list.cachebin46380 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@list.cache_metabin120 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@list.erl1129
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@map.cachebin4822 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@map.cache_metabin67 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@map.erl76
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@option.cachebin7384 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@option.cache_metabin29 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@option.erl147
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@order.cachebin2807 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@order.cache_metabin29 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@order.erl79
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@pair.cachebin1961 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@pair.cache_metabin29 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@pair.erl33
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@queue.cachebin7180 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@queue.cache_metabin47 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@queue.erl121
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@regex.cachebin6990 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@regex.cache_metabin49 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@regex.erl33
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@result.cachebin10484 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@result.cache_metabin47 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@result.erl201
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@set.cachebin6575 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@set.cache_metabin85 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@set.erl85
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@string.cachebin21819 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@string.cache_metabin136 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@string.erl352
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@string_builder.cachebin10653 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@string_builder.cache_metabin47 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@string_builder.erl91
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@uri.cachebin8323 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@uri.cache_metabin132 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@uri.erl252
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam_stdlib.erl529
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam_stdlib.mjs875
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@base.beambin1720 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@bit_array.beambin4696 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@bit_builder.beambin3308 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@bit_string.beambin2184 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@bool.beambin4008 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@bytes_builder.beambin3760 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@dict.beambin4712 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@dynamic.beambin32632 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@float.beambin6128 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@function.beambin5500 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@int.beambin9888 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@io.beambin1748 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@iterator.beambin28416 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@list.beambin34500 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@map.beambin4092 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@option.beambin4560 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@order.beambin2384 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@pair.beambin2024 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@queue.beambin5332 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@regex.beambin2116 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@result.beambin6868 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@set.beambin4772 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@string.beambin12480 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@string_builder.beambin4152 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@uri.beambin9524 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam_stdlib.app7
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam_stdlib.beambin28356 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@dynamic_DecodeError.hrl5
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@iterator_Iterator.hrl1
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@iterator_Next.hrl1
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@queue_Queue.hrl1
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@regex_CompileError.hrl1
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@regex_Match.hrl4
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@regex_Options.hrl1
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@set_Set.hrl1
-rw-r--r--aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@uri_Uri.hrl9
-rw-r--r--aoc2023/build/dev/erlang/gleam_version1
-rw-r--r--aoc2023/build/dev/erlang/glint/_gleam_artefacts/gleam@@compile.erl157
-rw-r--r--aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint.cachebin18783 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint.cache_metabin278 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint.erl513
-rw-r--r--aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint@flag.cachebin20298 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint@flag.cache_metabin214 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint@flag.erl523
-rw-r--r--aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint@flag@constraint.cachebin1675 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint@flag@constraint.cache_metabin116 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint@flag@constraint.erl68
-rw-r--r--aoc2023/build/dev/erlang/glint/ebin/glint.app10
-rw-r--r--aoc2023/build/dev/erlang/glint/ebin/glint.beambin20208 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/glint/ebin/glint@flag.beambin22116 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/glint/ebin/glint@flag@constraint.beambin3976 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/glint/include/glint@flag_Flag.hrl1
-rw-r--r--aoc2023/build/dev/erlang/glint/include/glint@flag_FlagBuilder.hrl6
-rw-r--r--aoc2023/build/dev/erlang/glint/include/glint@flag_Internal.hrl4
-rw-r--r--aoc2023/build/dev/erlang/glint/include/glint_Command.hrl5
-rw-r--r--aoc2023/build/dev/erlang/glint/include/glint_CommandInput.hrl4
-rw-r--r--aoc2023/build/dev/erlang/glint/include/glint_Config.hrl4
-rw-r--r--aoc2023/build/dev/erlang/glint/include/glint_Glint.hrl5
-rw-r--r--aoc2023/build/dev/erlang/glint/include/glint_PrettyHelp.hrl5
-rw-r--r--aoc2023/build/dev/erlang/glint/include/glint_Stub.hrl6
-rw-r--r--aoc2023/build/dev/erlang/pqueue/LICENSE21
-rw-r--r--aoc2023/build/dev/erlang/pqueue/README.markdown31
-rw-r--r--aoc2023/build/dev/erlang/pqueue/_build/prod/lib/.rebar3/rebar_compiler_erl/source.dagbin492 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/pqueue/doc/edoc-info3
-rw-r--r--aoc2023/build/dev/erlang/pqueue/doc/erlang.pngbin2109 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/pqueue/doc/index.html17
-rw-r--r--aoc2023/build/dev/erlang/pqueue/doc/modules-frame.html15
-rw-r--r--aoc2023/build/dev/erlang/pqueue/doc/overview-summary.html16
-rw-r--r--aoc2023/build/dev/erlang/pqueue/doc/pqueue.html166
-rw-r--r--aoc2023/build/dev/erlang/pqueue/doc/pqueue2.html143
-rw-r--r--aoc2023/build/dev/erlang/pqueue/doc/pqueue3.html162
-rw-r--r--aoc2023/build/dev/erlang/pqueue/doc/pqueue4.html205
-rw-r--r--aoc2023/build/dev/erlang/pqueue/doc/stylesheet.css55
-rw-r--r--aoc2023/build/dev/erlang/pqueue/ebin/pqueue.app6
-rw-r--r--aoc2023/build/dev/erlang/pqueue/ebin/pqueue.beambin87040 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/pqueue/ebin/pqueue2.beambin21608 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/pqueue/ebin/pqueue3.beambin14272 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/pqueue/ebin/pqueue4.beambin1219668 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/pqueue/rebar.config14
-rw-r--r--aoc2023/build/dev/erlang/pqueue/src/pqueue.app.src10
-rw-r--r--aoc2023/build/dev/erlang/pqueue/src/pqueue.erl2246
-rw-r--r--aoc2023/build/dev/erlang/pqueue/src/pqueue2.erl483
-rw-r--r--aoc2023/build/dev/erlang/pqueue/src/pqueue3.erl404
-rw-r--r--aoc2023/build/dev/erlang/pqueue/src/pqueue4.erl11662
-rw-r--r--aoc2023/build/dev/erlang/pqueue/src/pqueue_test.hrl49
-rw-r--r--aoc2023/build/dev/erlang/pqueue/test/pqueue_proper.erl156
-rw-r--r--aoc2023/build/dev/erlang/pqueue/test/queue_srv.erl183
-rw-r--r--aoc2023/build/dev/erlang/simplifile/_gleam_artefacts/gleam@@compile.erl157
-rw-r--r--aoc2023/build/dev/erlang/simplifile/_gleam_artefacts/simplifile.cachebin20340 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/simplifile/_gleam_artefacts/simplifile.cache_metabin110 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/simplifile/_gleam_artefacts/simplifile.erl287
-rw-r--r--aoc2023/build/dev/erlang/simplifile/_gleam_artefacts/simplifile_erl.erl70
-rw-r--r--aoc2023/build/dev/erlang/simplifile/_gleam_artefacts/simplifile_js.mjs102
-rw-r--r--aoc2023/build/dev/erlang/simplifile/ebin/simplifile.app7
-rw-r--r--aoc2023/build/dev/erlang/simplifile/ebin/simplifile.beambin10420 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/simplifile/ebin/simplifile_erl.beambin4536 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/snag/_gleam_artefacts/gleam@@compile.erl157
-rw-r--r--aoc2023/build/dev/erlang/snag/_gleam_artefacts/snag.cachebin3753 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/snag/_gleam_artefacts/snag.cache_metabin125 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/snag/_gleam_artefacts/snag.erl74
-rw-r--r--aoc2023/build/dev/erlang/snag/ebin/snag.app7
-rw-r--r--aoc2023/build/dev/erlang/snag/ebin/snag.beambin3648 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/snag/include/snag_Snag.hrl1
-rw-r--r--aoc2023/build/dev/erlang/tom/_gleam_artefacts/gleam@@compile.erl157
-rw-r--r--aoc2023/build/dev/erlang/tom/_gleam_artefacts/tom.cachebin33321 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/tom/_gleam_artefacts/tom.cache_metabin140 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/tom/_gleam_artefacts/tom.erl2142
-rw-r--r--aoc2023/build/dev/erlang/tom/ebin/tom.app7
-rw-r--r--aoc2023/build/dev/erlang/tom/ebin/tom.beambin70968 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/tom/include/tom_DateTimeValue.hrl5
-rw-r--r--aoc2023/build/dev/erlang/tom/include/tom_DateValue.hrl1
-rw-r--r--aoc2023/build/dev/erlang/tom/include/tom_KeyAlreadyInUse.hrl1
-rw-r--r--aoc2023/build/dev/erlang/tom/include/tom_NotFound.hrl1
-rw-r--r--aoc2023/build/dev/erlang/tom/include/tom_Offset.hrl5
-rw-r--r--aoc2023/build/dev/erlang/tom/include/tom_TimeValue.hrl6
-rw-r--r--aoc2023/build/dev/erlang/tom/include/tom_Unexpected.hrl1
-rw-r--r--aoc2023/build/dev/erlang/tom/include/tom_WrongType.hrl5
-rw-r--r--aoc2023/build/dev/javascript/gleam.lock0
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/adglent.cachebin2397 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/adglent.cache_metabin85 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/adglent@day.cachebin583 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/adglent@day.cache_metabin293 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/adglent@init.cachebin581 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/adglent@init.cache_metabin231 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@aoc_client.cachebin468 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@aoc_client.cache_metabin131 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@errors.cachebin1514 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@errors.cache_metabin85 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@prompt.cachebin1512 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@prompt.cache_metabin69 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@template.cachebin438 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@template.cache_metabin67 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@solution.cachebin818 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@solution.cache_metabin29 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@test_main.cachebin380 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@test_main.cache_metabin29 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@testfile_gleeunit.cachebin1293 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@testfile_gleeunit.cache_metabin29 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@testfile_showtime.cachebin1300 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@testfile_showtime.cache_metabin29 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@toml.cachebin1712 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@toml.cache_metabin60 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime.cachebin1068 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime.cache_metabin439 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@cli.cachebin879 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@cli.cache_metabin29 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@common_event_handler.cachebin3269 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@common_event_handler.cache_metabin89 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_result.cachebin15268 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_result.cache_metabin67 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_suite.cachebin8896 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_suite.cache_metabin129 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@discover.cachebin1929 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@discover.cache_metabin227 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@event_handler.cachebin1538 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@event_handler.cache_metabin292 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@module_handler.cachebin1135 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@module_handler.cache_metabin179 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@runner.cachebin1642 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@runner.cache_metabin195 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@compare.cachebin479 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@compare.cache_metabin140 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@formatter.cachebin5112 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@formatter.cache_metabin421 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@styles.cachebin3189 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@styles.cache_metabin118 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@table.cachebin5512 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@table.cache_metabin144 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@tests@meta.cachebin899 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@tests@meta.cache_metabin29 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@tests@should.cachebin5540 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@tests@should.cache_metabin76 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@tests@test.cachebin3672 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@tests@test.cache_metabin101 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/aoc2023.cachebin407 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/aoc2023.cache_metabin68 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/aoc2023_test.cachebin305 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/aoc2023_test.cache_metabin45 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day10@day10_test.cachebin1847 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day10@day10_test.cache_metabin110 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day10@solve.cachebin5449 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day10@solve.cache_metabin168 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day11@day11_test.cachebin1935 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day11@day11_test.cache_metabin110 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day11@solve.cachebin2063 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day11@solve.cache_metabin115 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day12@day12_test.cachebin1730 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day12@day12_test.cache_metabin110 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day12@solve.cachebin1777 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day12@solve.cache_metabin157 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day13@day13_test.cachebin1996 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day13@day13_test.cache_metabin110 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day13@solve.cachebin2417 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day13@solve.cache_metabin116 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day14@day14_test.cachebin1931 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day14@day14_test.cache_metabin110 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day14@solve.cachebin2257 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day14@solve.cache_metabin152 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day15@day15_test.cachebin1819 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day15@day15_test.cache_metabin110 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day15@solve.cachebin3206 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day15@solve.cache_metabin153 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day16@day16_test.cachebin1914 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day16@day16_test.cache_metabin110 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day16@solve.cachebin2442 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day16@solve.cache_metabin176 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day17@day17_test.cachebin1789 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day17@day17_test.cache_metabin110 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day17@solve.cachebin4203 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day17@solve.cache_metabin223 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day18@day18_test.cachebin2116 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day18@day18_test.cache_metabin110 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day18@solve.cachebin3614 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day18@solve.cache_metabin154 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day19@day19_test.cachebin2440 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day19@day19_test.cache_metabin110 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day19@solve.cachebin9029 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day19@solve.cache_metabin191 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day1@day1_test.cachebin1836 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day1@day1_test.cache_metabin109 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day1@solve.cachebin1176 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day1@solve.cache_metabin134 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day20@day20_test.cachebin1864 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day20@day20_test.cache_metabin110 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day20@solve.cachebin6718 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day20@solve.cache_metabin192 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day21@day21_test.cachebin1500 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day21@day21_test.cache_metabin110 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day21@solve.cachebin551 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day21@solve.cache_metabin60 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day22@day22_test.cachebin1850 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day22@day22_test.cache_metabin110 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day22@solve.cachebin6239 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day22@solve.cache_metabin227 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day23@day23_test.cachebin2795 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day23@day23_test.cache_metabin110 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day23@solve.cachebin5955 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day23@solve.cache_metabin213 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day2@day2_test.cachebin2474 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day2@day2_test.cache_metabin109 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day2@solve.cachebin1442 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day2@solve.cache_metabin115 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day3@day3_test.cachebin1898 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day3@day3_test.cache_metabin109 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day3@solve.cachebin5669 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day3@solve.cache_metabin152 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day4@day4_test.cachebin2259 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day4@day4_test.cache_metabin109 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day4@solve.cachebin2090 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day4@solve.cache_metabin208 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day5@day5_test.cachebin2381 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day5@day5_test.cache_metabin109 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day5@solve.cachebin5112 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day5@solve.cache_metabin157 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day6@day6_test.cachebin1790 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day6@day6_test.cache_metabin109 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day6@solve.cachebin1922 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day6@solve.cache_metabin135 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day7@day7_test.cachebin1803 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day7@day7_test.cache_metabin109 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day7@solve.cachebin3185 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day7@solve.cache_metabin174 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day8@day8_test.cachebin1865 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day8@day8_test.cache_metabin109 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day8@solve.cachebin1810 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day8@solve.cache_metabin236 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day9@day9_test.cachebin1791 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day9@day9_test.cache_metabin109 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day9@solve.cachebin1830 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day9@solve.cache_metabin115 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/utilities@array2d.cachebin3025 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/utilities@array2d.cache_metabin122 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/utilities@memo.cachebin3200 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/utilities@memo.cache_metabin118 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/utilities@prioqueue.cachebin3154 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/utilities@prioqueue.cache_metabin47 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap.cachebin6093 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap.cache_metabin282 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@comparison.cachebin2544 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@comparison.cache_metabin29 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@myers.cachebin4862 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@myers.cache_metabin47 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@styled_comparison.cachebin946 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@styled_comparison.cache_metabin29 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@styling.cachebin8073 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@styling.cache_metabin166 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam.lock0
-rw-r--r--aoc2023/build/lsp/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.cachebin62994 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.cache_metabin114 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour.cachebin28196 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour.cache_metabin123 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour@accessibility.cachebin3151 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour@accessibility.cache_metabin96 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@arithmetics.cachebin14527 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@arithmetics.cache_metabin183 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@combinatorics.cachebin8209 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@combinatorics.cache_metabin64 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@conversion.cachebin4583 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@conversion.cache_metabin46 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@elementary.cachebin30776 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@elementary.cache_metabin66 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@metrics.cachebin12100 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@metrics.cache_metabin284 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@piecewise.cachebin34044 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@piecewise.cache_metabin201 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@predicates.cachebin8778 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@predicates.cache_metabin222 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@sequences.cachebin6493 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@sequences.cache_metabin166 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@special.cachebin3907 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@special.cache_metabin166 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang.cachebin8918 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang.cache_metabin122 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@atom.cachebin2901 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@atom.cache_metabin50 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@charlist.cachebin869 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@charlist.cache_metabin29 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@file.cachebin28539 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@file.cache_metabin72 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@node.cachebin3094 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@node.cache_metabin54 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@os.cachebin3322 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@os.cache_metabin46 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@process.cachebin31555 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@process.cache_metabin115 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http.cachebin15465 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http.cache_metabin149 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@cookie.cachebin4344 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@cookie.cache_metabin161 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@request.cachebin8254 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@request.cache_metabin195 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@response.cachebin5271 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@response.cache_metabin150 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@service.cachebin3225 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@service.cache_metabin138 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_httpc/_gleam_artefacts/gleam@httpc.cachebin4263 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_httpc/_gleam_artefacts/gleam@httpc.cache_metabin199 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@actor.cachebin13713 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@actor.cache_metabin196 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@intensity_tracker.cachebin2473 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@intensity_tracker.cache_metabin47 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@port.cachebin354 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@port.cache_metabin29 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@supervisor.cachebin16820 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@supervisor.cache_metabin200 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@system.cachebin5899 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@system.cache_metabin103 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@task.cachebin4453 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@task.cache_metabin78 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam_otp.cachebin728 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam_otp.cache_metabin130 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@base.cachebin1301 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@base.cache_metabin52 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_array.cachebin5029 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_array.cache_metabin49 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_builder.cachebin4262 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_builder.cache_metabin84 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_string.cachebin2010 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_string.cache_metabin52 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bool.cachebin7182 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bool.cache_metabin48 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bytes_builder.cachebin6332 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bytes_builder.cache_metabin98 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@dict.cachebin12366 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@dict.cache_metabin49 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@dynamic.cachebin49488 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@dynamic.cache_metabin173 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@float.cachebin11443 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@float.cache_metabin48 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@function.cachebin5891 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@function.cache_metabin29 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@int.cachebin18231 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@int.cache_metabin67 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@io.cachebin2936 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@io.cache_metabin49 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@iterator.cachebin38551 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@iterator.cache_metabin141 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@list.cachebin46400 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@list.cache_metabin120 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@map.cachebin4813 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@map.cache_metabin67 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@option.cachebin7376 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@option.cache_metabin29 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@order.cachebin2807 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@order.cache_metabin29 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@pair.cachebin1961 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@pair.cache_metabin29 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@queue.cachebin7173 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@queue.cache_metabin47 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@regex.cachebin6995 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@regex.cache_metabin49 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@result.cachebin10470 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@result.cache_metabin47 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@set.cachebin6578 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@set.cache_metabin85 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@string.cachebin21826 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@string.cache_metabin136 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@string_builder.cachebin10647 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@string_builder.cache_metabin47 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@uri.cachebin8321 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@uri.cache_metabin132 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/gleam_version1
-rw-r--r--aoc2023/build/lsp/erlang/glint/_gleam_artefacts/glint.cachebin18769 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/glint/_gleam_artefacts/glint.cache_metabin278 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/glint/_gleam_artefacts/glint@flag.cachebin20304 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/glint/_gleam_artefacts/glint@flag.cache_metabin214 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/glint/_gleam_artefacts/glint@flag@constraint.cachebin1675 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/glint/_gleam_artefacts/glint@flag@constraint.cache_metabin116 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/simplifile/_gleam_artefacts/simplifile.cachebin20315 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/simplifile/_gleam_artefacts/simplifile.cache_metabin110 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/snag/_gleam_artefacts/snag.cachebin3751 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/snag/_gleam_artefacts/snag.cache_metabin125 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/tom/_gleam_artefacts/tom.cachebin33280 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/erlang/tom/_gleam_artefacts/tom.cache_metabin140 -> 0 bytes
-rw-r--r--aoc2023/build/lsp/javascript/gleam.lock0
-rw-r--r--aoc2023/build/packages/adglent/LICENSE201
-rw-r--r--aoc2023/build/packages/adglent/README.md115
-rw-r--r--aoc2023/build/packages/adglent/gleam.toml29
-rw-r--r--aoc2023/build/packages/adglent/include/adglent_Example.hrl1
-rw-r--r--aoc2023/build/packages/adglent/include/priv@toml_TomGetError.hrl1
-rw-r--r--aoc2023/build/packages/adglent/include/priv@toml_TomParseError.hrl1
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@common_event_handler_Finished.hrl1
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@common_event_handler_HandlerState.hrl5
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_ArgList.hrl1
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_AssertEqual.hrl3
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_AssertMatch.hrl3
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_AssertNotEqual.hrl3
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_ErlangException.hrl6
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_ErrorInfo.hrl3
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Expected.hrl1
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Expression.hrl1
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_File.hrl1
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_GenericException.hrl1
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_GleamAssert.hrl1
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_GleamError.hrl3
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Ignored.hrl1
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_LetAssert.hrl7
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Line.hrl1
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Module.hrl1
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Num.hrl1
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Pattern.hrl1
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_ReasonLine.hrl1
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_TestFunctionReturn.hrl4
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Trace.hrl5
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_TraceList.hrl3
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_TraceModule.hrl6
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Value.hrl1
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_CompletedTestRun.hrl6
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_EndTest.hrl6
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_EndTestRun.hrl1
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_EndTestSuite.hrl3
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_OngoingTestRun.hrl4
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_StartTest.hrl4
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_StartTestSuite.hrl3
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_TestFunction.hrl1
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_TestModule.hrl1
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_TestSuite.hrl4
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@reports@table_AlignLeft.hrl4
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@reports@table_AlignLeftOverflow.hrl4
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@reports@table_AlignRight.hrl4
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@reports@table_AlignRightOverflow.hrl4
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@reports@table_Aligned.hrl1
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@reports@table_Content.hrl1
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@reports@table_Separator.hrl1
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@reports@table_StyledContent.hrl1
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@internal@reports@table_Table.hrl4
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@tests@meta_Meta.hrl1
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@tests@should_Eq.hrl5
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@tests@should_Fail.hrl1
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@tests@should_IsError.hrl4
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@tests@should_IsOk.hrl4
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@tests@should_NotEq.hrl5
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@tests@test_MetaShould.hrl4
-rw-r--r--aoc2023/build/packages/adglent/include/showtime@tests@test_Test.hrl4
-rw-r--r--aoc2023/build/packages/adglent/src/adglent.app.src45
-rw-r--r--aoc2023/build/packages/adglent/src/adglent.erl55
-rw-r--r--aoc2023/build/packages/adglent/src/adglent.gleam56
-rw-r--r--aoc2023/build/packages/adglent/src/adglent/day.gleam126
-rw-r--r--aoc2023/build/packages/adglent/src/adglent/init.gleam110
-rw-r--r--aoc2023/build/packages/adglent/src/adglent@day.erl278
-rw-r--r--aoc2023/build/packages/adglent/src/adglent@init.erl142
-rw-r--r--aoc2023/build/packages/adglent/src/adglent_ffi.erl12
-rw-r--r--aoc2023/build/packages/adglent/src/priv/aoc_client.gleam37
-rw-r--r--aoc2023/build/packages/adglent/src/priv/errors.gleam54
-rw-r--r--aoc2023/build/packages/adglent/src/priv/prompt.gleam38
-rw-r--r--aoc2023/build/packages/adglent/src/priv/template.gleam18
-rw-r--r--aoc2023/build/packages/adglent/src/priv/templates/solution.gleam27
-rw-r--r--aoc2023/build/packages/adglent/src/priv/templates/test_main.gleam7
-rw-r--r--aoc2023/build/packages/adglent/src/priv/templates/testfile_gleeunit.gleam41
-rw-r--r--aoc2023/build/packages/adglent/src/priv/templates/testfile_showtime.gleam41
-rw-r--r--aoc2023/build/packages/adglent/src/priv/toml.gleam52
-rw-r--r--aoc2023/build/packages/adglent/src/priv@aoc_client.erl61
-rw-r--r--aoc2023/build/packages/adglent/src/priv@errors.erl74
-rw-r--r--aoc2023/build/packages/adglent/src/priv@prompt.erl53
-rw-r--r--aoc2023/build/packages/adglent/src/priv@template.erl25
-rw-r--r--aoc2023/build/packages/adglent/src/priv@templates@solution.erl1
-rw-r--r--aoc2023/build/packages/adglent/src/priv@templates@test_main.erl1
-rw-r--r--aoc2023/build/packages/adglent/src/priv@templates@testfile_gleeunit.erl1
-rw-r--r--aoc2023/build/packages/adglent/src/priv@templates@testfile_showtime.erl1
-rw-r--r--aoc2023/build/packages/adglent/src/priv@toml.erl83
-rw-r--r--aoc2023/build/packages/adglent/src/showtime.erl155
-rw-r--r--aoc2023/build/packages/adglent/src/showtime.gleam116
-rw-r--r--aoc2023/build/packages/adglent/src/showtime/internal/common/cli.gleam5
-rw-r--r--aoc2023/build/packages/adglent/src/showtime/internal/common/common_event_handler.gleam101
-rw-r--r--aoc2023/build/packages/adglent/src/showtime/internal/common/test_result.gleam119
-rw-r--r--aoc2023/build/packages/adglent/src/showtime/internal/common/test_suite.gleam63
-rw-r--r--aoc2023/build/packages/adglent/src/showtime/internal/erlang/discover.gleam167
-rw-r--r--aoc2023/build/packages/adglent/src/showtime/internal/erlang/event_handler.gleam91
-rw-r--r--aoc2023/build/packages/adglent/src/showtime/internal/erlang/module_handler.gleam43
-rw-r--r--aoc2023/build/packages/adglent/src/showtime/internal/erlang/runner.gleam59
-rw-r--r--aoc2023/build/packages/adglent/src/showtime/internal/reports/compare.gleam42
-rw-r--r--aoc2023/build/packages/adglent/src/showtime/internal/reports/formatter.gleam480
-rw-r--r--aoc2023/build/packages/adglent/src/showtime/internal/reports/styles.gleam84
-rw-r--r--aoc2023/build/packages/adglent/src/showtime/internal/reports/table.gleam148
-rw-r--r--aoc2023/build/packages/adglent/src/showtime/tests/meta.gleam3
-rw-r--r--aoc2023/build/packages/adglent/src/showtime/tests/should.gleam113
-rw-r--r--aoc2023/build/packages/adglent/src/showtime/tests/test.gleam57
-rw-r--r--aoc2023/build/packages/adglent/src/showtime@internal@common@cli.erl8
-rw-r--r--aoc2023/build/packages/adglent/src/showtime@internal@common@common_event_handler.erl131
-rw-r--r--aoc2023/build/packages/adglent/src/showtime@internal@common@test_result.erl54
-rw-r--r--aoc2023/build/packages/adglent/src/showtime@internal@common@test_suite.erl30
-rw-r--r--aoc2023/build/packages/adglent/src/showtime@internal@erlang@discover.erl230
-rw-r--r--aoc2023/build/packages/adglent/src/showtime@internal@erlang@event_handler.erl76
-rw-r--r--aoc2023/build/packages/adglent/src/showtime@internal@erlang@module_handler.erl53
-rw-r--r--aoc2023/build/packages/adglent/src/showtime@internal@erlang@runner.erl46
-rw-r--r--aoc2023/build/packages/adglent/src/showtime@internal@reports@compare.erl61
-rw-r--r--aoc2023/build/packages/adglent/src/showtime@internal@reports@formatter.erl749
-rw-r--r--aoc2023/build/packages/adglent/src/showtime@internal@reports@styles.erl93
-rw-r--r--aoc2023/build/packages/adglent/src/showtime@internal@reports@table.erl229
-rw-r--r--aoc2023/build/packages/adglent/src/showtime@tests@meta.erl8
-rw-r--r--aoc2023/build/packages/adglent/src/showtime@tests@should.erl143
-rw-r--r--aoc2023/build/packages/adglent/src/showtime@tests@test.erl57
-rw-r--r--aoc2023/build/packages/adglent/src/showtime_ffi.erl187
-rw-r--r--aoc2023/build/packages/gap/LICENSE201
-rw-r--r--aoc2023/build/packages/gap/README.md202
-rw-r--r--aoc2023/build/packages/gap/gleam.toml18
-rw-r--r--aoc2023/build/packages/gap/include/gap@comparison_ListComparison.hrl4
-rw-r--r--aoc2023/build/packages/gap/include/gap@comparison_Match.hrl1
-rw-r--r--aoc2023/build/packages/gap/include/gap@comparison_NoMatch.hrl1
-rw-r--r--aoc2023/build/packages/gap/include/gap@comparison_StringComparison.hrl4
-rw-r--r--aoc2023/build/packages/gap/include/gap@styled_comparison_StyledComparison.hrl1
-rw-r--r--aoc2023/build/packages/gap/include/gap@styling_All.hrl1
-rw-r--r--aoc2023/build/packages/gap/include/gap@styling_Highlighters.hrl5
-rw-r--r--aoc2023/build/packages/gap/include/gap@styling_Part.hrl5
-rw-r--r--aoc2023/build/packages/gap/include/gap@styling_Styling.hrl5
-rw-r--r--aoc2023/build/packages/gap/src/gap.app.src13
-rw-r--r--aoc2023/build/packages/gap/src/gap.erl538
-rw-r--r--aoc2023/build/packages/gap/src/gap.gleam438
-rw-r--r--aoc2023/build/packages/gap/src/gap/comparison.gleam22
-rw-r--r--aoc2023/build/packages/gap/src/gap/myers.gleam122
-rw-r--r--aoc2023/build/packages/gap/src/gap/styled_comparison.gleam4
-rw-r--r--aoc2023/build/packages/gap/src/gap/styling.gleam233
-rw-r--r--aoc2023/build/packages/gap/src/gap@comparison.erl15
-rw-r--r--aoc2023/build/packages/gap/src/gap@myers.erl156
-rw-r--r--aoc2023/build/packages/gap/src/gap@styled_comparison.erl8
-rw-r--r--aoc2023/build/packages/gap/src/gap@styling.erl202
-rw-r--r--aoc2023/build/packages/gap/src/gap_ffi.mjs431
-rw-r--r--aoc2023/build/packages/gleam.lock0
-rw-r--r--aoc2023/build/packages/gleam_community_ansi/LICENCE190
-rw-r--r--aoc2023/build/packages/gleam_community_ansi/README.md72
-rw-r--r--aoc2023/build/packages/gleam_community_ansi/gleam.toml13
-rw-r--r--aoc2023/build/packages/gleam_community_ansi/src/gleam_community/ansi.gleam2317
-rw-r--r--aoc2023/build/packages/gleam_community_ansi/src/gleam_community@ansi.erl263
-rw-r--r--aoc2023/build/packages/gleam_community_ansi/src/gleam_community_ansi.app.src9
-rw-r--r--aoc2023/build/packages/gleam_community_colour/LICENCE190
-rw-r--r--aoc2023/build/packages/gleam_community_colour/README.md36
-rw-r--r--aoc2023/build/packages/gleam_community_colour/gleam.toml11
-rw-r--r--aoc2023/build/packages/gleam_community_colour/include/gleam_community@colour_Hsla.hrl1
-rw-r--r--aoc2023/build/packages/gleam_community_colour/include/gleam_community@colour_Rgba.hrl1
-rw-r--r--aoc2023/build/packages/gleam_community_colour/src/gleam_community/colour.gleam1126
-rw-r--r--aoc2023/build/packages/gleam_community_colour/src/gleam_community/colour/accessibility.gleam173
-rw-r--r--aoc2023/build/packages/gleam_community_colour/src/gleam_community@colour.erl511
-rw-r--r--aoc2023/build/packages/gleam_community_colour/src/gleam_community@colour@accessibility.erl73
-rw-r--r--aoc2023/build/packages/gleam_community_colour/src/gleam_community_colour.app.src9
-rw-r--r--aoc2023/build/packages/gleam_community_maths/LICENCE190
-rw-r--r--aoc2023/build/packages/gleam_community_maths/README.md59
-rw-r--r--aoc2023/build/packages/gleam_community_maths/gleam.toml12
-rw-r--r--aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/arithmetics.gleam618
-rw-r--r--aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/combinatorics.gleam432
-rw-r--r--aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/conversion.gleam183
-rw-r--r--aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/elementary.gleam1256
-rw-r--r--aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/metrics.gleam560
-rw-r--r--aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/piecewise.gleam1228
-rw-r--r--aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/predicates.gleam363
-rw-r--r--aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/sequences.gleam302
-rw-r--r--aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/special.gleam205
-rw-r--r--aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@arithmetics.erl172
-rw-r--r--aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@combinatorics.erl218
-rw-r--r--aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@conversion.erl23
-rw-r--r--aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@elementary.erl284
-rw-r--r--aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@metrics.erl278
-rw-r--r--aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@piecewise.erl553
-rw-r--r--aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@predicates.erl118
-rw-r--r--aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@sequences.erl199
-rw-r--r--aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@special.erl157
-rw-r--r--aoc2023/build/packages/gleam_community_maths/src/gleam_community_maths.app.src16
-rw-r--r--aoc2023/build/packages/gleam_community_maths/src/maths.mjs95
-rw-r--r--aoc2023/build/packages/gleam_erlang/LICENSE191
-rw-r--r--aoc2023/build/packages/gleam_erlang/README.md37
-rw-r--r--aoc2023/build/packages/gleam_erlang/gleam.toml18
-rw-r--r--aoc2023/build/packages/gleam_erlang/include/gleam@erlang@file_FileInfo.hrl15
-rw-r--r--aoc2023/build/packages/gleam_erlang/include/gleam@erlang@process_Abnormal.hrl1
-rw-r--r--aoc2023/build/packages/gleam_erlang/include/gleam@erlang@process_CalleeDown.hrl1
-rw-r--r--aoc2023/build/packages/gleam_erlang/include/gleam@erlang@process_Cancelled.hrl1
-rw-r--r--aoc2023/build/packages/gleam_erlang/include/gleam@erlang@process_ExitMessage.hrl4
-rw-r--r--aoc2023/build/packages/gleam_erlang/include/gleam@erlang@process_ProcessDown.hrl4
-rw-r--r--aoc2023/build/packages/gleam_erlang/include/gleam@erlang@process_ProcessMonitor.hrl1
-rw-r--r--aoc2023/build/packages/gleam_erlang/include/gleam@erlang@process_Subject.hrl4
-rw-r--r--aoc2023/build/packages/gleam_erlang/include/gleam@erlang_ApplicationFailedToStart.hrl4
-rw-r--r--aoc2023/build/packages/gleam_erlang/include/gleam@erlang_UnknownApplication.hrl1
-rw-r--r--aoc2023/build/packages/gleam_erlang/src/gleam/erlang.gleam158
-rw-r--r--aoc2023/build/packages/gleam_erlang/src/gleam/erlang/atom.gleam79
-rw-r--r--aoc2023/build/packages/gleam_erlang/src/gleam/erlang/charlist.gleam25
-rw-r--r--aoc2023/build/packages/gleam_erlang/src/gleam/erlang/file.gleam737
-rw-r--r--aoc2023/build/packages/gleam_erlang/src/gleam/erlang/node.gleam62
-rw-r--r--aoc2023/build/packages/gleam_erlang/src/gleam/erlang/os.gleam95
-rw-r--r--aoc2023/build/packages/gleam_erlang/src/gleam/erlang/process.gleam744
-rw-r--r--aoc2023/build/packages/gleam_erlang/src/gleam@erlang.erl90
-rw-r--r--aoc2023/build/packages/gleam_erlang/src/gleam@erlang@atom.erl26
-rw-r--r--aoc2023/build/packages/gleam_erlang/src/gleam@erlang@charlist.erl15
-rw-r--r--aoc2023/build/packages/gleam_erlang/src/gleam@erlang@file.erl190
-rw-r--r--aoc2023/build/packages/gleam_erlang/src/gleam@erlang@node.erl33
-rw-r--r--aoc2023/build/packages/gleam_erlang/src/gleam@erlang@os.erl27
-rw-r--r--aoc2023/build/packages/gleam_erlang/src/gleam@erlang@process.erl374
-rw-r--r--aoc2023/build/packages/gleam_erlang/src/gleam_erlang.app.src14
-rw-r--r--aoc2023/build/packages/gleam_erlang/src/gleam_erlang_ffi.erl263
-rw-r--r--aoc2023/build/packages/gleam_http/LICENSE191
-rw-r--r--aoc2023/build/packages/gleam_http/README.md67
-rw-r--r--aoc2023/build/packages/gleam_http/gleam.toml17
-rw-r--r--aoc2023/build/packages/gleam_http/include/gleam@http@cookie_Attributes.hrl8
-rw-r--r--aoc2023/build/packages/gleam_http/include/gleam@http@request_Request.hrl10
-rw-r--r--aoc2023/build/packages/gleam_http/include/gleam@http@response_Response.hrl5
-rw-r--r--aoc2023/build/packages/gleam_http/include/gleam@http_MoreRequiredForBody.hrl5
-rw-r--r--aoc2023/build/packages/gleam_http/include/gleam@http_MoreRequiredForHeaders.hrl4
-rw-r--r--aoc2023/build/packages/gleam_http/include/gleam@http_MultipartBody.hrl5
-rw-r--r--aoc2023/build/packages/gleam_http/include/gleam@http_MultipartHeaders.hrl4
-rw-r--r--aoc2023/build/packages/gleam_http/src/gleam/http.gleam560
-rw-r--r--aoc2023/build/packages/gleam_http/src/gleam/http/cookie.gleam128
-rw-r--r--aoc2023/build/packages/gleam_http/src/gleam/http/request.gleam267
-rw-r--r--aoc2023/build/packages/gleam_http/src/gleam/http/response.gleam141
-rw-r--r--aoc2023/build/packages/gleam_http/src/gleam/http/service.gleam82
-rw-r--r--aoc2023/build/packages/gleam_http/src/gleam@http.erl626
-rw-r--r--aoc2023/build/packages/gleam_http/src/gleam@http@cookie.erl153
-rw-r--r--aoc2023/build/packages/gleam_http/src/gleam@http@request.erl202
-rw-r--r--aoc2023/build/packages/gleam_http/src/gleam@http@response.erl97
-rw-r--r--aoc2023/build/packages/gleam_http/src/gleam@http@service.erl82
-rw-r--r--aoc2023/build/packages/gleam_http/src/gleam_http.app.src12
-rw-r--r--aoc2023/build/packages/gleam_http/src/gleam_http_native.erl88
-rw-r--r--aoc2023/build/packages/gleam_http/src/gleam_http_native.mjs38
-rw-r--r--aoc2023/build/packages/gleam_httpc/LICENSE191
-rw-r--r--aoc2023/build/packages/gleam_httpc/README.md52
-rw-r--r--aoc2023/build/packages/gleam_httpc/gleam.toml23
-rw-r--r--aoc2023/build/packages/gleam_httpc/src/gleam/httpc.gleam105
-rw-r--r--aoc2023/build/packages/gleam_httpc/src/gleam@httpc.erl118
-rw-r--r--aoc2023/build/packages/gleam_httpc/src/gleam_httpc.app.src12
-rw-r--r--aoc2023/build/packages/gleam_otp/LICENCE191
-rw-r--r--aoc2023/build/packages/gleam_otp/README.md91
-rw-r--r--aoc2023/build/packages/gleam_otp/gleam.toml19
-rw-r--r--aoc2023/build/packages/gleam_otp/include/gleam@otp@actor_Continue.hrl4
-rw-r--r--aoc2023/build/packages/gleam_otp/include/gleam@otp@actor_Ready.hrl1
-rw-r--r--aoc2023/build/packages/gleam_otp/include/gleam@otp@actor_Spec.hrl5
-rw-r--r--aoc2023/build/packages/gleam_otp/include/gleam@otp@intensity_tracker_IntensityTracker.hrl5
-rw-r--r--aoc2023/build/packages/gleam_otp/include/gleam@otp@supervisor_ChildSpec.hrl5
-rw-r--r--aoc2023/build/packages/gleam_otp/include/gleam@otp@supervisor_Spec.hrl6
-rw-r--r--aoc2023/build/packages/gleam_otp/include/gleam@otp@system_StatusInfo.hrl7
-rw-r--r--aoc2023/build/packages/gleam_otp/include/gleam@otp@task_Exit.hrl1
-rw-r--r--aoc2023/build/packages/gleam_otp/include/gleam@otp@task_Task.hrl6
-rw-r--r--aoc2023/build/packages/gleam_otp/src/gleam/otp/actor.gleam504
-rw-r--r--aoc2023/build/packages/gleam_otp/src/gleam/otp/intensity_tracker.gleam46
-rw-r--r--aoc2023/build/packages/gleam_otp/src/gleam/otp/port.gleam9
-rw-r--r--aoc2023/build/packages/gleam_otp/src/gleam/otp/supervisor.gleam410
-rw-r--r--aoc2023/build/packages/gleam_otp/src/gleam/otp/system.gleam89
-rw-r--r--aoc2023/build/packages/gleam_otp/src/gleam/otp/task.gleam151
-rw-r--r--aoc2023/build/packages/gleam_otp/src/gleam@otp@actor.erl273
-rw-r--r--aoc2023/build/packages/gleam_otp/src/gleam@otp@intensity_tracker.erl53
-rw-r--r--aoc2023/build/packages/gleam_otp/src/gleam@otp@port.erl8
-rw-r--r--aoc2023/build/packages/gleam_otp/src/gleam@otp@supervisor.erl322
-rw-r--r--aoc2023/build/packages/gleam_otp/src/gleam@otp@system.erl43
-rw-r--r--aoc2023/build/packages/gleam_otp/src/gleam@otp@task.erl111
-rw-r--r--aoc2023/build/packages/gleam_otp/src/gleam_otp.app.src15
-rw-r--r--aoc2023/build/packages/gleam_otp/src/gleam_otp.erl28
-rw-r--r--aoc2023/build/packages/gleam_otp/src/gleam_otp.gleam27
-rw-r--r--aoc2023/build/packages/gleam_otp/src/gleam_otp_external.erl43
-rw-r--r--aoc2023/build/packages/gleam_stdlib/LICENCE191
-rw-r--r--aoc2023/build/packages/gleam_stdlib/README.md39
-rw-r--r--aoc2023/build/packages/gleam_stdlib/gleam.toml16
-rw-r--r--aoc2023/build/packages/gleam_stdlib/include/gleam@dynamic_DecodeError.hrl5
-rw-r--r--aoc2023/build/packages/gleam_stdlib/include/gleam@iterator_Iterator.hrl1
-rw-r--r--aoc2023/build/packages/gleam_stdlib/include/gleam@iterator_Next.hrl1
-rw-r--r--aoc2023/build/packages/gleam_stdlib/include/gleam@queue_Queue.hrl1
-rw-r--r--aoc2023/build/packages/gleam_stdlib/include/gleam@regex_CompileError.hrl1
-rw-r--r--aoc2023/build/packages/gleam_stdlib/include/gleam@regex_Match.hrl4
-rw-r--r--aoc2023/build/packages/gleam_stdlib/include/gleam@regex_Options.hrl1
-rw-r--r--aoc2023/build/packages/gleam_stdlib/include/gleam@set_Set.hrl1
-rw-r--r--aoc2023/build/packages/gleam_stdlib/include/gleam@uri_Uri.hrl9
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/dict.mjs957
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam/base.gleam21
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam/bit_array.gleam157
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam/bit_builder.gleam80
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam/bit_string.gleam43
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam/bool.gleam428
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam/bytes_builder.gleam197
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam/dict.gleam544
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam/dynamic.gleam1508
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam/float.gleam546
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam/function.gleam162
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam/int.gleam874
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam/io.gleam117
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam/iterator.gleam1530
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam/list.gleam2154
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam/map.gleam127
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam/option.gleam346
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam/order.gleam133
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam/pair.gleam85
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam/queue.gleam292
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam/regex.gleam214
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam/result.gleam482
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam/set.gleam264
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam/string.gleam906
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam/string_builder.gleam298
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam/uri.gleam462
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam@base.erl20
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam@bit_array.erl102
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam@bit_builder.erl66
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam@bit_string.erl33
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam@bool.erl162
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam@bytes_builder.erl87
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam@dict.erl97
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam@dynamic.erl808
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam@float.erl181
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam@function.erl67
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam@int.erl332
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam@io.erl27
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam@iterator.erl744
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam@list.erl1129
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam@map.erl76
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam@option.erl147
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam@order.erl79
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam@pair.erl33
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam@queue.erl121
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam@regex.erl33
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam@result.erl201
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam@set.erl85
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam@string.erl352
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam@string_builder.erl91
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam@uri.erl252
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam_stdlib.app.src31
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam_stdlib.erl529
-rw-r--r--aoc2023/build/packages/gleam_stdlib/src/gleam_stdlib.mjs875
-rw-r--r--aoc2023/build/packages/glint/LICENSE201
-rw-r--r--aoc2023/build/packages/glint/README.md104
-rw-r--r--aoc2023/build/packages/glint/gleam.toml23
-rw-r--r--aoc2023/build/packages/glint/include/glint@flag_Flag.hrl1
-rw-r--r--aoc2023/build/packages/glint/include/glint@flag_FlagBuilder.hrl6
-rw-r--r--aoc2023/build/packages/glint/include/glint@flag_Internal.hrl4
-rw-r--r--aoc2023/build/packages/glint/include/glint_Command.hrl5
-rw-r--r--aoc2023/build/packages/glint/include/glint_CommandInput.hrl4
-rw-r--r--aoc2023/build/packages/glint/include/glint_Config.hrl4
-rw-r--r--aoc2023/build/packages/glint/include/glint_Glint.hrl5
-rw-r--r--aoc2023/build/packages/glint/include/glint_PrettyHelp.hrl5
-rw-r--r--aoc2023/build/packages/glint/include/glint_Stub.hrl6
-rw-r--r--aoc2023/build/packages/glint/src/glint.app.src13
-rw-r--r--aoc2023/build/packages/glint/src/glint.erl513
-rw-r--r--aoc2023/build/packages/glint/src/glint.gleam588
-rw-r--r--aoc2023/build/packages/glint/src/glint/flag.gleam478
-rw-r--r--aoc2023/build/packages/glint/src/glint/flag/constraint.gleam66
-rw-r--r--aoc2023/build/packages/glint/src/glint@flag.erl523
-rw-r--r--aoc2023/build/packages/glint/src/glint@flag@constraint.erl68
-rw-r--r--aoc2023/build/packages/packages.toml16
-rw-r--r--aoc2023/build/packages/pqueue/LICENSE21
-rw-r--r--aoc2023/build/packages/pqueue/README.markdown31
-rw-r--r--aoc2023/build/packages/pqueue/doc/edoc-info3
-rw-r--r--aoc2023/build/packages/pqueue/doc/erlang.pngbin2109 -> 0 bytes
-rw-r--r--aoc2023/build/packages/pqueue/doc/index.html17
-rw-r--r--aoc2023/build/packages/pqueue/doc/modules-frame.html15
-rw-r--r--aoc2023/build/packages/pqueue/doc/overview-summary.html16
-rw-r--r--aoc2023/build/packages/pqueue/doc/pqueue.html166
-rw-r--r--aoc2023/build/packages/pqueue/doc/pqueue2.html143
-rw-r--r--aoc2023/build/packages/pqueue/doc/pqueue3.html162
-rw-r--r--aoc2023/build/packages/pqueue/doc/pqueue4.html205
-rw-r--r--aoc2023/build/packages/pqueue/doc/stylesheet.css55
-rw-r--r--aoc2023/build/packages/pqueue/rebar.config14
-rw-r--r--aoc2023/build/packages/pqueue/src/pqueue.app.src10
-rw-r--r--aoc2023/build/packages/pqueue/src/pqueue.erl2246
-rw-r--r--aoc2023/build/packages/pqueue/src/pqueue2.erl483
-rw-r--r--aoc2023/build/packages/pqueue/src/pqueue3.erl404
-rw-r--r--aoc2023/build/packages/pqueue/src/pqueue4.erl11662
-rw-r--r--aoc2023/build/packages/pqueue/src/pqueue_test.hrl49
-rw-r--r--aoc2023/build/packages/pqueue/test/pqueue_proper.erl156
-rw-r--r--aoc2023/build/packages/pqueue/test/queue_srv.erl183
-rw-r--r--aoc2023/build/packages/simplifile/README.md29
-rw-r--r--aoc2023/build/packages/simplifile/gleam.toml17
-rw-r--r--aoc2023/build/packages/simplifile/src/simplifile.app.src8
-rw-r--r--aoc2023/build/packages/simplifile/src/simplifile.erl287
-rw-r--r--aoc2023/build/packages/simplifile/src/simplifile.gleam580
-rw-r--r--aoc2023/build/packages/simplifile/src/simplifile_erl.erl70
-rw-r--r--aoc2023/build/packages/simplifile/src/simplifile_js.mjs102
-rw-r--r--aoc2023/build/packages/snag/LICENCE211
-rw-r--r--aoc2023/build/packages/snag/README.md81
-rw-r--r--aoc2023/build/packages/snag/gleam.toml16
-rw-r--r--aoc2023/build/packages/snag/include/snag_Snag.hrl1
-rw-r--r--aoc2023/build/packages/snag/src/snag.app.src8
-rw-r--r--aoc2023/build/packages/snag/src/snag.erl74
-rw-r--r--aoc2023/build/packages/snag/src/snag.gleam141
-rw-r--r--aoc2023/build/packages/tom/README.md47
-rw-r--r--aoc2023/build/packages/tom/gleam.toml13
-rw-r--r--aoc2023/build/packages/tom/include/tom_DateTimeValue.hrl5
-rw-r--r--aoc2023/build/packages/tom/include/tom_DateValue.hrl1
-rw-r--r--aoc2023/build/packages/tom/include/tom_KeyAlreadyInUse.hrl1
-rw-r--r--aoc2023/build/packages/tom/include/tom_NotFound.hrl1
-rw-r--r--aoc2023/build/packages/tom/include/tom_Offset.hrl5
-rw-r--r--aoc2023/build/packages/tom/include/tom_TimeValue.hrl6
-rw-r--r--aoc2023/build/packages/tom/include/tom_Unexpected.hrl1
-rw-r--r--aoc2023/build/packages/tom/include/tom_WrongType.hrl5
-rw-r--r--aoc2023/build/packages/tom/src/tom.app.src8
-rw-r--r--aoc2023/build/packages/tom/src/tom.erl2140
-rw-r--r--aoc2023/build/packages/tom/src/tom.gleam1317
-rw-r--r--aoc2023/build/prod/erlang/gleam.lock0
-rw-r--r--aoc2023/build/prod/javascript/gleam.lock0
-rw-r--r--aoc2023/erl_crash.dump67195
-rw-r--r--aoc2023/src/day1/input.txt1000
-rw-r--r--aoc2023/src/day10/input.txt140
-rw-r--r--aoc2023/src/day11/input.txt140
-rw-r--r--aoc2023/src/day13/input.txt1379
-rw-r--r--aoc2023/src/day15/input.txt1
-rw-r--r--aoc2023/src/day16/input.txt110
-rw-r--r--aoc2023/src/day17/input.txt141
-rw-r--r--aoc2023/src/day18/input.txt676
-rw-r--r--aoc2023/src/day19/input.txt766
-rw-r--r--aoc2023/src/day2/input.txt100
-rw-r--r--aoc2023/src/day20/input.txt58
-rw-r--r--aoc2023/src/day3/input.txt140
-rw-r--r--aoc2023/src/day4/input.txt203
-rw-r--r--aoc2023/src/day6/input.txt2
-rw-r--r--aoc2023/src/day7/input.txt1000
-rw-r--r--aoc2023/src/day8/input.txt740
-rw-r--r--aoc2023/src/day9/input.txt200
1493 files changed, 0 insertions, 194664 deletions
diff --git a/aoc2023/aoc.toml b/aoc2023/aoc.toml
deleted file mode 100644
index 3843235..0000000
--- a/aoc2023/aoc.toml
+++ /dev/null
@@ -1,4 +0,0 @@
-version = 2
-year = "2023"
-session = "53616c7465645f5f9b329c2ce8962445c1bf7e50415667e182265b26a30deb203787e6f505943bd2ee4a7bbb39e99ac4cf724a722d58e3c1984b7f30af6be76d"
-showtime = true
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent.cache b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent.cache
deleted file mode 100644
index 939bda2..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent.cache_meta b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent.cache_meta
deleted file mode 100644
index 0af4a84..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent.erl
deleted file mode 100644
index e3ceebe..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent.erl
+++ /dev/null
@@ -1,55 +0,0 @@
--module(adglent).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([inspect/1, get_input/1, get_test_folder/1, start_arguments/0, get_part/0]).
--export_type([example/1, problem/0, charlist/0]).
-
--type example(ODD) :: {example, binary(), ODD}.
-
--type problem() :: first | second.
-
--type charlist() :: any().
-
--spec inspect(any()) -> binary().
-inspect(Value) ->
- Inspected_value = gleam@string:inspect(Value),
- case begin
- _pipe = Inspected_value,
- gleam@string:starts_with(_pipe, <<"\""/utf8>>)
- end of
- true ->
- _pipe@1 = Inspected_value,
- _pipe@2 = gleam@string:drop_left(_pipe@1, 1),
- gleam@string:drop_right(_pipe@2, 1);
-
- false ->
- Inspected_value
- end.
-
--spec get_input(binary()) -> {ok, binary()} | {error, simplifile:file_error()}.
-get_input(Day) ->
- simplifile:read(
- <<<<"src/day"/utf8, Day/binary>>/binary, "/input.txt"/utf8>>
- ).
-
--spec get_test_folder(binary()) -> binary().
-get_test_folder(Day) ->
- <<"test/day"/utf8, Day/binary>>.
-
--spec start_arguments() -> list(binary()).
-start_arguments() ->
- _pipe = init:get_plain_arguments(),
- gleam@list:map(_pipe, fun unicode:characters_to_binary/1).
-
--spec get_part() -> {ok, problem()} | {error, nil}.
-get_part() ->
- case start_arguments() of
- [<<"1"/utf8>>] ->
- {ok, first};
-
- [<<"2"/utf8>>] ->
- {ok, second};
-
- _ ->
- {error, nil}
- end.
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent@day.cache b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent@day.cache
deleted file mode 100644
index a39d38a..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent@day.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent@day.cache_meta b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent@day.cache_meta
deleted file mode 100644
index 1637f81..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent@day.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent@day.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent@day.erl
deleted file mode 100644
index b80368f..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent@day.erl
+++ /dev/null
@@ -1,278 +0,0 @@
--module(adglent@day).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([main/0]).
-
--spec create_file_if_not_present(binary(), binary()) -> {ok, binary()} |
- {error, binary()}.
-create_file_if_not_present(Content, Path) ->
- case simplifile:is_file(Path) of
- true ->
- {ok, <<Path/binary, " already exists - skipped"/utf8>>};
-
- false ->
- gleam@result:'try'(
- begin
- _pipe = simplifile:create_file(Path),
- priv@errors:map_messages(
- _pipe,
- <<"Created "/utf8, Path/binary>>,
- <<"Could not create "/utf8, Path/binary>>
- )
- end,
- fun(_) -> _pipe@1 = simplifile:write(Path, Content),
- priv@errors:map_messages(
- _pipe@1,
- <<"Wrote "/utf8, Path/binary>>,
- <<"Could not write to "/utf8, Path/binary>>
- ) end
- )
- end.
-
--spec main() -> binary().
-main() ->
- Day@1 = begin
- _pipe = case adglent:start_arguments() of
- [Day] ->
- {ok, Day};
-
- Args ->
- {error,
- <<"Expected day - found: "/utf8,
- (gleam@string:join(Args, <<", "/utf8>>))/binary>>}
- end,
- _pipe@1 = priv@errors:map_error(
- _pipe,
- <<"Error when parsing command args"/utf8>>
- ),
- _pipe@2 = priv@errors:print_error(_pipe@1),
- priv@errors:assert_ok(_pipe@2)
- end,
- Aoc_toml = begin
- _pipe@3 = simplifile:read(<<"aoc.toml"/utf8>>),
- _pipe@4 = priv@errors:map_error(
- _pipe@3,
- <<"Could not read aoc.toml"/utf8>>
- ),
- _pipe@5 = priv@errors:print_error(_pipe@4),
- priv@errors:assert_ok(_pipe@5)
- end,
- Aoc_toml_version = priv@toml:get_int(Aoc_toml, [<<"version"/utf8>>]),
- Year = begin
- _pipe@6 = priv@toml:get_string(Aoc_toml, [<<"year"/utf8>>]),
- _pipe@7 = priv@errors:map_error(
- _pipe@6,
- <<"Could not read \"year\" from aoc.toml"/utf8>>
- ),
- _pipe@8 = priv@errors:print_error(_pipe@7),
- priv@errors:assert_ok(_pipe@8)
- end,
- Session = begin
- _pipe@9 = priv@toml:get_string(Aoc_toml, [<<"session"/utf8>>]),
- _pipe@10 = priv@errors:map_error(
- _pipe@9,
- <<"Could not read \"session\" from aoc.toml"/utf8>>
- ),
- _pipe@11 = priv@errors:print_error(_pipe@10),
- priv@errors:assert_ok(_pipe@11)
- end,
- Showtime = case Aoc_toml_version of
- {ok, 2} ->
- _pipe@12 = priv@toml:get_bool(Aoc_toml, [<<"showtime"/utf8>>]),
- _pipe@13 = priv@errors:map_error(
- _pipe@12,
- <<"Could not read \"showtime\" from aoc.toml"/utf8>>
- ),
- _pipe@14 = priv@errors:print_error(_pipe@13),
- priv@errors:assert_ok(_pipe@14);
-
- _ ->
- _pipe@15 = priv@toml:get_string(Aoc_toml, [<<"showtime"/utf8>>]),
- _pipe@16 = gleam@result:map(
- _pipe@15,
- fun(Bool_string) -> case Bool_string of
- <<"True"/utf8>> ->
- true;
-
- _ ->
- false
- end end
- ),
- _pipe@17 = priv@errors:map_error(
- _pipe@16,
- <<"Could not read \"showtime\" from aoc.toml"/utf8>>
- ),
- _pipe@18 = priv@errors:print_error(_pipe@17),
- priv@errors:assert_ok(_pipe@18)
- end,
- Test_folder = adglent:get_test_folder(Day@1),
- Test_file = <<<<<<Test_folder/binary, "/day"/utf8>>/binary, Day@1/binary>>/binary,
- "_test.gleam"/utf8>>,
- _pipe@19 = simplifile:create_directory_all(Test_folder),
- _pipe@20 = priv@errors:map_error(
- _pipe@19,
- <<<<"Could not create folder \""/utf8, Test_folder/binary>>/binary,
- "\""/utf8>>
- ),
- _pipe@21 = priv@errors:print_error(_pipe@20),
- priv@errors:assert_ok(_pipe@21),
- Testfile_template = case Showtime of
- true ->
- <<"
-import gleam/list
-import showtime/tests/should
-import adglent.{type Example, Example}
-import day{{ day }}/solve
-
-type Problem1AnswerType =
- String
-
-type Problem2AnswerType =
- String
-
-/// Add examples for part 1 here:
-/// ```gleam
-///const part1_examples: List(Example(Problem1AnswerType)) = [Example(\"some input\", \"\")]
-/// ```
-const part1_examples: List(Example(Problem1AnswerType)) = []
-
-/// Add examples for part 2 here:
-/// ```gleam
-///const part2_examples: List(Example(Problem2AnswerType)) = [Example(\"some input\", \"\")]
-/// ```
-const part2_examples: List(Example(Problem2AnswerType)) = []
-
-pub fn part1_test() {
- part1_examples
- |> should.not_equal([])
- use example <- list.map(part1_examples)
- solve.part1(example.input)
- |> should.equal(example.answer)
-}
-
-pub fn part2_test() {
- part2_examples
- |> should.not_equal([])
- use example <- list.map(part2_examples)
- solve.part2(example.input)
- |> should.equal(example.answer)
-}
-
-"/utf8>>;
-
- false ->
- <<"
-import gleam/list
-import gleeunit/should
-import adglent.{type Example, Example}
-import day{{ day }}/solve
-
-type Problem1AnswerType =
- String
-
-type Problem2AnswerType =
- String
-
-/// Add examples for part 1 here:
-/// ```gleam
-///const part1_examples: List(Example(Problem1AnswerType)) = [Example(\"some input\", \"\")]
-/// ```
-const part1_examples: List(Example(Problem1AnswerType)) = []
-
-/// Add examples for part 2 here:
-/// ```gleam
-///const part2_examples: List(Example(Problem2AnswerType)) = [Example(\"some input\", \"\")]
-/// ```
-const part2_examples: List(Example(Problem2AnswerType)) = []
-
-pub fn part1_test() {
- part1_examples
- |> should.not_equal([])
- use example <- list.map(part1_examples)
- solve.part1(example.input)
- |> should.equal(example.answer)
-}
-
-pub fn part2_test() {
- part2_examples
- |> should.not_equal([])
- use example <- list.map(part2_examples)
- solve.part2(example.input)
- |> should.equal(example.answer)
-}
-
-"/utf8>>
- end,
- _pipe@22 = priv@template:render(
- Testfile_template,
- [{<<"day"/utf8>>, Day@1}]
- ),
- _pipe@23 = create_file_if_not_present(_pipe@22, Test_file),
- _pipe@24 = priv@errors:print_result(_pipe@23),
- priv@errors:assert_ok(_pipe@24),
- Solutions_folder = <<"src/day"/utf8, Day@1/binary>>,
- Solution_file = <<Solutions_folder/binary, "/solve.gleam"/utf8>>,
- _pipe@25 = simplifile:create_directory_all(Solutions_folder),
- _pipe@26 = priv@errors:map_error(
- _pipe@25,
- <<<<"Could not create folder \""/utf8, Solutions_folder/binary>>/binary,
- "\""/utf8>>
- ),
- _pipe@27 = priv@errors:print_error(_pipe@26),
- priv@errors:assert_ok(_pipe@27),
- _pipe@28 = priv@template:render(
- <<"
-import adglent.{First, Second}
-import gleam/io
-
-pub fn part1(input: String) {
- todo as \"Implement solution to part 1\"
-}
-
-pub fn part2(input: String) {
- todo as \"Implement solution to part 2\"
-}
-
-pub fn main() {
- let assert Ok(part) = adglent.get_part()
- let assert Ok(input) = adglent.get_input(\"{{ day }}\")
- case part {
- First ->
- part1(input)
- |> adglent.inspect
- |> io.println
- Second ->
- part2(input)
- |> adglent.inspect
- |> io.println
- }
-}
-"/utf8>>,
- [{<<"day"/utf8>>, Day@1}]
- ),
- _pipe@29 = create_file_if_not_present(_pipe@28, Solution_file),
- _pipe@30 = priv@errors:print_result(_pipe@29),
- priv@errors:assert_ok(_pipe@30),
- _pipe@31 = create_file_if_not_present(
- <<"input.txt"/utf8>>,
- <<Solutions_folder/binary, "/.gitignore"/utf8>>
- ),
- _pipe@32 = priv@errors:print_result(_pipe@31),
- priv@errors:assert_ok(_pipe@32),
- Input = begin
- _pipe@33 = priv@aoc_client:get_input(Year, Day@1, Session),
- _pipe@34 = priv@errors:map_error(
- _pipe@33,
- <<"Error when fetching input"/utf8>>
- ),
- _pipe@35 = priv@errors:print_error(_pipe@34),
- priv@errors:assert_ok(_pipe@35)
- end,
- _pipe@36 = Input,
- _pipe@37 = gleam@string:trim(_pipe@36),
- _pipe@38 = create_file_if_not_present(
- _pipe@37,
- <<Solutions_folder/binary, "/input.txt"/utf8>>
- ),
- _pipe@39 = priv@errors:print_result(_pipe@38),
- priv@errors:assert_ok(_pipe@39).
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent@init.cache b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent@init.cache
deleted file mode 100644
index 5337c50..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent@init.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent@init.cache_meta b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent@init.cache_meta
deleted file mode 100644
index 2751b68..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent@init.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent@init.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent@init.erl
deleted file mode 100644
index fb28101..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent@init.erl
+++ /dev/null
@@ -1,142 +0,0 @@
--module(adglent@init).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([main/0]).
-
--spec main() -> {ok, binary()} | {error, binary()}.
-main() ->
- Year = priv@prompt:value(<<"Year"/utf8>>, <<"2023"/utf8>>, false),
- Session = priv@prompt:value(<<"Session Cookie"/utf8>>, <<""/utf8>>, false),
- Use_showtime = priv@prompt:confirm(<<"Use showtime"/utf8>>, false),
- Aoc_toml_file = <<"aoc.toml"/utf8>>,
- Overwrite = case simplifile:create_file(Aoc_toml_file) of
- {ok, _} ->
- true;
-
- {error, eexist} ->
- priv@prompt:confirm(<<"aoc.toml exits - overwrite"/utf8>>, false);
-
- _ ->
- erlang:error(#{gleam_error => panic,
- message => <<"Could not create aoc.toml"/utf8>>,
- module => <<"adglent/init"/utf8>>,
- function => <<"main"/utf8>>,
- line => 29})
- end,
- _pipe@3 = case Overwrite of
- true ->
- _pipe@1 = priv@template:render(
- <<"
-version = {{ version }}
-year = \"{{ year }}\"
-session = \"{{ session }}\"
-showtime = {{ showtime }}
-"/utf8>>,
- [{<<"version"/utf8>>, <<"2"/utf8>>},
- {<<"year"/utf8>>, Year},
- {<<"session"/utf8>>, Session},
- {<<"showtime"/utf8>>,
- begin
- _pipe = gleam@bool:to_string(Use_showtime),
- gleam@string:lowercase(_pipe)
- end}]
- ),
- _pipe@2 = simplifile:write(Aoc_toml_file, _pipe@1),
- priv@errors:map_messages(
- _pipe@2,
- <<"aoc.toml - written"/utf8>>,
- <<"Error when writing aoc.toml"/utf8>>
- );
-
- false ->
- {ok, <<"aoc.toml - skipped"/utf8>>}
- end,
- priv@errors:print_result(_pipe@3),
- Gleam_toml = begin
- _pipe@4 = simplifile:read(<<"gleam.toml"/utf8>>),
- _pipe@5 = priv@errors:map_error(
- _pipe@4,
- <<"Could not read gleam.toml"/utf8>>
- ),
- _pipe@6 = priv@errors:print_error(_pipe@5),
- priv@errors:assert_ok(_pipe@6)
- end,
- Name = begin
- _pipe@7 = priv@toml:get_string(Gleam_toml, [<<"name"/utf8>>]),
- _pipe@8 = priv@errors:map_error(
- _pipe@7,
- <<"Could not read \"name\" from gleam.toml"/utf8>>
- ),
- _pipe@9 = priv@errors:print_error(_pipe@8),
- priv@errors:assert_ok(_pipe@9)
- end,
- Test_main_file = <<<<"test/"/utf8, Name/binary>>/binary,
- "_test.gleam"/utf8>>,
- _pipe@12 = case Use_showtime of
- true ->
- _pipe@10 = priv@template:render(
- <<"
-import showtime
-
-pub fn main() {
- showtime.main()
-}
-"/utf8>>,
- []
- ),
- _pipe@11 = simplifile:write(Test_main_file, _pipe@10),
- priv@errors:map_messages(
- _pipe@11,
- <<"Wrote "/utf8, Test_main_file/binary>>,
- <<"Could not write to "/utf8, Test_main_file/binary>>
- );
-
- false ->
- {ok, <<"Using existing (gleeunit) "/utf8, Test_main_file/binary>>}
- end,
- _pipe@13 = priv@errors:print_result(_pipe@12),
- priv@errors:assert_ok(_pipe@13),
- _pipe@17 = case simplifile:is_file(<<".gitignore"/utf8>>) of
- true ->
- gleam@result:'try'(
- begin
- _pipe@14 = simplifile:read(<<".gitignore"/utf8>>),
- gleam@result:map_error(
- _pipe@14,
- fun(Err) ->
- <<"Could not read .gitignore: "/utf8,
- (gleam@string:inspect(Err))/binary>>
- end
- )
- end,
- fun(Gitignore) ->
- Aoc_toml_ignored = begin
- _pipe@15 = gleam@string:split(Gitignore, <<"\n"/utf8>>),
- gleam@list:find(
- _pipe@15,
- fun(Line) -> Line =:= <<"aoc.toml"/utf8>> end
- )
- end,
- case Aoc_toml_ignored of
- {error, _} ->
- _pipe@16 = simplifile:append(
- <<".gitignore"/utf8>>,
- <<"\naoc.toml"/utf8>>
- ),
- priv@errors:map_messages(
- _pipe@16,
- <<".gitignore written"/utf8>>,
- <<"Error when writing .gitignore"/utf8>>
- );
-
- {ok, _} ->
- {ok,
- <<".gitignore - skipped (already configured)"/utf8>>}
- end
- end
- );
-
- false ->
- {error, <<"Could not find .gitignore"/utf8>>}
- end,
- priv@errors:print_result(_pipe@17).
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent_ffi.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent_ffi.erl
deleted file mode 100644
index a6a92e6..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/adglent_ffi.erl
+++ /dev/null
@@ -1,12 +0,0 @@
--module(adglent_ffi).
-
--export([get_line/1]).
-
--spec get_line(io:prompt()) -> {ok, unicode:unicode_binary()} | {error, eof | no_data}.
-get_line(Prompt) ->
- case io:get_line(Prompt) of
- eof -> {error, eof};
- {error, _} -> {error, no_data};
- Data when is_binary(Data) -> {ok, Data};
- Data when is_list(Data) -> {ok, unicode:characters_to_binary(Data)}
- end.
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/gleam@@compile.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/gleam@@compile.erl
deleted file mode 100644
index 543db88..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/gleam@@compile.erl
+++ /dev/null
@@ -1,157 +0,0 @@
-#!/usr/bin/env escript
-
-% TODO: Don't concurrently print warnings and errors
-% TODO: Some tests
-
--record(arguments, {lib = "./", out = "./", modules = []}).
-
-main(Args) ->
- #arguments{out = Out, lib = Lib, modules = Modules} = parse(Args),
- IsElixirModule = fun(Module) ->
- filename:extension(Module) =:= ".ex"
- end,
- {ElixirModules, ErlangModules} = lists:partition(IsElixirModule, Modules),
- ok = configure_logging(),
- ok = add_lib_to_erlang_path(Lib),
- ok = filelib:ensure_dir([Out, $/]),
- {ErlangOk, _ErlangBeams} = compile_erlang(ErlangModules, Out),
- {ElixirOk, _ElixirBeams} = case ErlangOk of
- true -> compile_elixir(ElixirModules, Out);
- false -> {false, []}
- end,
- case ErlangOk and ElixirOk of
- true -> ok;
- false -> erlang:halt(1)
- end.
-
-compile_erlang(Modules, Out) ->
- Workers = start_compiler_workers(Out),
- ok = producer_loop(Modules, Workers),
- collect_results({true, []}).
-
-collect_results(Acc = {Result, Beams}) ->
- receive
- {compiled, Beam} -> collect_results({Result, [Beam | Beams]});
- failed -> collect_results({false, Beams})
- after 0 -> Acc
- end.
-
-producer_loop([], 0) ->
- ok;
-producer_loop([], Workers) ->
- receive
- {work_please, _} -> producer_loop([], Workers - 1)
- end;
-producer_loop([Module | Modules], Workers) ->
- receive
- {work_please, Worker} ->
- erlang:send(Worker, {module, Module}),
- producer_loop(Modules, Workers)
- end.
-
-start_compiler_workers(Out) ->
- Parent = self(),
- NumSchedulers = erlang:system_info(schedulers),
- SpawnWorker = fun(_) ->
- erlang:spawn_link(fun() -> worker_loop(Parent, Out) end)
- end,
- lists:foreach(SpawnWorker, lists:seq(1, NumSchedulers)),
- NumSchedulers.
-
-worker_loop(Parent, Out) ->
- Options = [report_errors, report_warnings, debug_info, {outdir, Out}],
- erlang:send(Parent, {work_please, self()}),
- receive
- {module, Module} ->
- log({compiling, Module}),
- case compile:file(Module, Options) of
- {ok, ModuleName} ->
- Beam = filename:join(Out, ModuleName) ++ ".beam",
- Message = {compiled, Beam},
- log(Message),
- erlang:send(Parent, Message);
- error ->
- log({failed, Module}),
- erlang:send(Parent, failed)
- end,
- worker_loop(Parent, Out)
- end.
-
-compile_elixir(Modules, Out) ->
- Error = [
- "The program elixir was not found. Is it installed?",
- $\n,
- "Documentation for installing Elixir can be viewed here:",
- $\n,
- "https://elixir-lang.org/install.html"
- ],
- case Modules of
- [] -> {true, []};
- _ ->
- log({starting, "compiler.app"}),
- ok = application:start(compiler),
- log({starting, "elixir.app"}),
- case application:start(elixir) of
- ok -> do_compile_elixir(Modules, Out);
- _ ->
- io:put_chars(standard_error, [Error, $\n]),
- {false, []}
- end
- end.
-
-do_compile_elixir(Modules, Out) ->
- ModuleBins = lists:map(fun(Module) ->
- log({compiling, Module}),
- list_to_binary(Module)
- end, Modules),
- OutBin = list_to_binary(Out),
- Options = [{dest, OutBin}],
- % Silence "redefining module" warnings.
- % Compiled modules in the build directory are added to the code path.
- % These warnings result from recompiling loaded modules.
- % TODO: This line can likely be removed if/when the build directory is cleaned before every compilation.
- 'Elixir.Code':compiler_options([{ignore_module_conflict, true}]),
- case 'Elixir.Kernel.ParallelCompiler':compile_to_path(ModuleBins, OutBin, Options) of
- {ok, ModuleAtoms, _} ->
- ToBeam = fun(ModuleAtom) ->
- Beam = filename:join(Out, atom_to_list(ModuleAtom)) ++ ".beam",
- log({compiled, Beam}),
- Beam
- end,
- {true, lists:map(ToBeam, ModuleAtoms)};
- {error, Errors, _} ->
- % Log all filenames associated with modules that failed to compile.
- % Note: The compiler prints compilation errors upon encountering them.
- ErrorFiles = lists:usort([File || {File, _, _} <- Errors]),
- Log = fun(File) ->
- log({failed, binary_to_list(File)})
- end,
- lists:foreach(Log, ErrorFiles),
- {false, []};
- _ -> {false, []}
- end.
-
-add_lib_to_erlang_path(Lib) ->
- code:add_paths(filelib:wildcard([Lib, "/*/ebin"])).
-
-parse(Args) ->
- parse(Args, #arguments{}).
-
-parse([], Arguments) ->
- Arguments;
-parse(["--lib", Lib | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{lib = Lib});
-parse(["--out", Out | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{out = Out});
-parse([Module | Rest], Arguments = #arguments{modules = Modules}) ->
- parse(Rest, Arguments#arguments{modules = [Module | Modules]}).
-
-configure_logging() ->
- Enabled = os:getenv("GLEAM_LOG") /= false,
- persistent_term:put(gleam_logging_enabled, Enabled).
-
-log(Term) ->
- case persistent_term:get(gleam_logging_enabled) of
- true -> erlang:display(Term), ok;
- false -> ok
- end.
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@aoc_client.cache b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@aoc_client.cache
deleted file mode 100644
index 40f6caf..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@aoc_client.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@aoc_client.cache_meta b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@aoc_client.cache_meta
deleted file mode 100644
index b6c1617..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@aoc_client.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@aoc_client.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@aoc_client.erl
deleted file mode 100644
index 1acb9b5..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@aoc_client.erl
+++ /dev/null
@@ -1,61 +0,0 @@
--module(priv@aoc_client).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([get_input/3]).
-
--spec get_input(binary(), binary(), binary()) -> {ok, binary()} |
- {error, binary()}.
-get_input(Year, Day, Session) ->
- Url = <<<<<<<<"https://adventofcode.com/"/utf8, Year/binary>>/binary,
- "/day/"/utf8>>/binary,
- Day/binary>>/binary,
- "/input"/utf8>>,
- gleam@result:'try'(
- begin
- _pipe = gleam@http@request:to(Url),
- gleam@result:map_error(
- _pipe,
- fun(Error) ->
- <<<<<<"Could not create request for \""/utf8, Url/binary>>/binary,
- "\": "/utf8>>/binary,
- (gleam@string:inspect(Error))/binary>>
- end
- )
- end,
- fun(Request) ->
- gleam@result:'try'(
- begin
- _pipe@1 = Request,
- _pipe@2 = gleam@http@request:prepend_header(
- _pipe@1,
- <<"Accept"/utf8>>,
- <<"application/json"/utf8>>
- ),
- _pipe@3 = gleam@http@request:prepend_header(
- _pipe@2,
- <<"Cookie"/utf8>>,
- <<<<"session="/utf8, Session/binary>>/binary, ";"/utf8>>
- ),
- _pipe@4 = gleam@httpc:send(_pipe@3),
- gleam@result:map_error(
- _pipe@4,
- fun(Error@1) ->
- <<<<<<"Error when requesting \""/utf8, Url/binary>>/binary,
- "\": "/utf8>>/binary,
- (gleam@string:inspect(Error@1))/binary>>
- end
- )
- end,
- fun(Response) -> case erlang:element(2, Response) of
- Status when (Status >= 200) andalso (Status < 300) ->
- {ok, erlang:element(4, Response)};
-
- Status@1 ->
- {error,
- <<<<(gleam@int:to_string(Status@1))/binary,
- " - "/utf8>>/binary,
- (erlang:element(4, Response))/binary>>}
- end end
- )
- end
- ).
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@errors.cache b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@errors.cache
deleted file mode 100644
index 7bfeea9..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@errors.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@errors.cache_meta b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@errors.cache_meta
deleted file mode 100644
index 498e302..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@errors.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@errors.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@errors.erl
deleted file mode 100644
index 41545be..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@errors.erl
+++ /dev/null
@@ -1,74 +0,0 @@
--module(priv@errors).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([map_messages/3, map_error/2, print_result/1, print_error/1, assert_ok/1]).
-
--spec map_messages({ok, any()} | {error, any()}, binary(), binary()) -> {ok,
- binary()} |
- {error, binary()}.
-map_messages(Result, Success_message, Error_message) ->
- _pipe = Result,
- _pipe@1 = gleam@result:map_error(
- _pipe,
- fun(Error) ->
- <<<<<<"Error - "/utf8, Error_message/binary>>/binary, ": "/utf8>>/binary,
- (gleam@string:inspect(Error))/binary>>
- end
- ),
- gleam@result:replace(_pipe@1, Success_message).
-
--spec map_error({ok, OBD} | {error, any()}, binary()) -> {ok, OBD} |
- {error, binary()}.
-map_error(Result, Error_message) ->
- _pipe = Result,
- gleam@result:map_error(
- _pipe,
- fun(Error) ->
- <<<<Error_message/binary, ": "/utf8>>/binary,
- (gleam@string:inspect(Error))/binary>>
- end
- ).
-
--spec print_result({ok, binary()} | {error, binary()}) -> {ok, binary()} |
- {error, binary()}.
-print_result(Result) ->
- _pipe = Result,
- _pipe@1 = gleam@result:unwrap_both(_pipe),
- gleam@io:println(_pipe@1),
- Result.
-
--spec print_error({ok, OBM} | {error, binary()}) -> {ok, OBM} |
- {error, binary()}.
-print_error(Result) ->
- _pipe = Result,
- gleam@result:map_error(
- _pipe,
- fun(Err) ->
- gleam@io:println(Err),
- Err
- end
- ).
-
--spec assert_ok({ok, OBQ} | {error, binary()}) -> OBQ.
-assert_ok(Result) ->
- _assert_subject = begin
- _pipe = Result,
- gleam@result:map_error(
- _pipe,
- fun(Err) ->
- erlang:halt(1),
- Err
- end
- )
- end,
- {ok, Value} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"priv/errors"/utf8>>,
- function => <<"assert_ok"/utf8>>,
- line => 43})
- end,
- Value.
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@prompt.cache b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@prompt.cache
deleted file mode 100644
index 45d6e3e..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@prompt.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@prompt.cache_meta b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@prompt.cache_meta
deleted file mode 100644
index b010daf..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@prompt.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@prompt.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@prompt.erl
deleted file mode 100644
index 0277f14..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@prompt.erl
+++ /dev/null
@@ -1,53 +0,0 @@
--module(priv@prompt).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([get_line/1, confirm/2, value/3]).
--export_type([get_line_error/0]).
-
--type get_line_error() :: eof | no_data.
-
--spec get_line(binary()) -> {ok, binary()} | {error, get_line_error()}.
-get_line(Prompt) ->
- adglent_ffi:get_line(Prompt).
-
--spec confirm(binary(), boolean()) -> boolean().
-confirm(Message, Auto_accept) ->
- Auto_accept orelse case begin
- _pipe = adglent_ffi:get_line(<<Message/binary, "? (Y/N): "/utf8>>),
- _pipe@1 = gleam@result:unwrap(_pipe, <<"n"/utf8>>),
- gleam@string:trim(_pipe@1)
- end of
- <<"Y"/utf8>> ->
- true;
-
- <<"y"/utf8>> ->
- true;
-
- _ ->
- false
- end.
-
--spec get_value_of_default(binary(), binary(), boolean()) -> binary().
-get_value_of_default(Message, Default, Auto_accept) ->
- case Auto_accept of
- true ->
- Default;
-
- false ->
- _pipe = adglent_ffi:get_line(
- <<<<<<Message/binary, "? ("/utf8>>/binary, Default/binary>>/binary,
- "): "/utf8>>
- ),
- _pipe@1 = gleam@result:unwrap(_pipe, <<""/utf8>>),
- gleam@string:trim(_pipe@1)
- end.
-
--spec value(binary(), binary(), boolean()) -> binary().
-value(Message, Default, Auto_accept) ->
- case get_value_of_default(Message, Default, Auto_accept) of
- <<""/utf8>> ->
- Default;
-
- Value ->
- Value
- end.
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@template.cache b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@template.cache
deleted file mode 100644
index 8446302..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@template.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@template.cache_meta b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@template.cache_meta
deleted file mode 100644
index 5e1f919..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@template.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@template.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@template.erl
deleted file mode 100644
index 6a5d0bf..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@template.erl
+++ /dev/null
@@ -1,25 +0,0 @@
--module(priv@template).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([render/2]).
-
--spec render(binary(), list({binary(), binary()})) -> binary().
-render(Template, Substitutions) ->
- <<(begin
- _pipe = Substitutions,
- _pipe@2 = gleam@list:fold(
- _pipe,
- Template,
- fun(Template@1, Substitution) ->
- {Name, Value} = Substitution,
- _pipe@1 = Template@1,
- gleam@string:replace(
- _pipe@1,
- <<<<"{{ "/utf8, Name/binary>>/binary, " }}"/utf8>>,
- Value
- )
- end
- ),
- gleam@string:trim(_pipe@2)
- end)/binary,
- "\n"/utf8>>.
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@solution.cache b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@solution.cache
deleted file mode 100644
index d29fd97..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@solution.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@solution.cache_meta b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@solution.cache_meta
deleted file mode 100644
index 3397840..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@solution.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@solution.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@solution.erl
deleted file mode 100644
index 7e36387..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@solution.erl
+++ /dev/null
@@ -1 +0,0 @@
--module(priv@templates@solution).
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@test_main.cache b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@test_main.cache
deleted file mode 100644
index 8cdc9df..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@test_main.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@test_main.cache_meta b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@test_main.cache_meta
deleted file mode 100644
index 17c867f..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@test_main.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@test_main.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@test_main.erl
deleted file mode 100644
index ca6b127..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@test_main.erl
+++ /dev/null
@@ -1 +0,0 @@
--module(priv@templates@test_main).
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@testfile_gleeunit.cache b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@testfile_gleeunit.cache
deleted file mode 100644
index 2003723..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@testfile_gleeunit.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@testfile_gleeunit.cache_meta b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@testfile_gleeunit.cache_meta
deleted file mode 100644
index c996833..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@testfile_gleeunit.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@testfile_gleeunit.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@testfile_gleeunit.erl
deleted file mode 100644
index 2f5a41e..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@testfile_gleeunit.erl
+++ /dev/null
@@ -1 +0,0 @@
--module(priv@templates@testfile_gleeunit).
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@testfile_showtime.cache b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@testfile_showtime.cache
deleted file mode 100644
index 155ee1e..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@testfile_showtime.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@testfile_showtime.cache_meta b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@testfile_showtime.cache_meta
deleted file mode 100644
index 120c91f..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@testfile_showtime.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@testfile_showtime.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@testfile_showtime.erl
deleted file mode 100644
index bbbc8b2..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@templates@testfile_showtime.erl
+++ /dev/null
@@ -1 +0,0 @@
--module(priv@templates@testfile_showtime).
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@toml.cache b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@toml.cache
deleted file mode 100644
index e328098..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@toml.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@toml.cache_meta b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@toml.cache_meta
deleted file mode 100644
index a423083..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@toml.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@toml.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@toml.erl
deleted file mode 100644
index 6c41fbf..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/priv@toml.erl
+++ /dev/null
@@ -1,83 +0,0 @@
--module(priv@toml).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([get_string/2, get_bool/2, get_int/2]).
--export_type([tom_error/0]).
-
--type tom_error() :: {tom_parse_error, tom:parse_error()} |
- {tom_get_error, tom:get_error()}.
-
--spec get_string(binary(), list(binary())) -> {ok, binary()} |
- {error, tom_error()}.
-get_string(Toml_content, Key_path) ->
- gleam@result:'try'(
- begin
- _pipe = tom:parse(<<Toml_content/binary, "\n"/utf8>>),
- gleam@result:map_error(
- _pipe,
- fun(Field@0) -> {tom_parse_error, Field@0} end
- )
- end,
- fun(Toml) ->
- gleam@result:'try'(
- begin
- _pipe@1 = tom:get_string(Toml, Key_path),
- gleam@result:map_error(
- _pipe@1,
- fun(Field@0) -> {tom_get_error, Field@0} end
- )
- end,
- fun(Value) -> {ok, Value} end
- )
- end
- ).
-
--spec get_bool(binary(), list(binary())) -> {ok, boolean()} |
- {error, tom_error()}.
-get_bool(Toml_content, Key_path) ->
- gleam@result:'try'(
- begin
- _pipe = tom:parse(<<Toml_content/binary, "\n"/utf8>>),
- gleam@result:map_error(
- _pipe,
- fun(Field@0) -> {tom_parse_error, Field@0} end
- )
- end,
- fun(Toml) ->
- gleam@result:'try'(
- begin
- _pipe@1 = tom:get_bool(Toml, Key_path),
- gleam@result:map_error(
- _pipe@1,
- fun(Field@0) -> {tom_get_error, Field@0} end
- )
- end,
- fun(Value) -> {ok, Value} end
- )
- end
- ).
-
--spec get_int(binary(), list(binary())) -> {ok, integer()} |
- {error, tom_error()}.
-get_int(Toml_content, Key_path) ->
- gleam@result:'try'(
- begin
- _pipe = tom:parse(<<Toml_content/binary, "\n"/utf8>>),
- gleam@result:map_error(
- _pipe,
- fun(Field@0) -> {tom_parse_error, Field@0} end
- )
- end,
- fun(Toml) ->
- gleam@result:'try'(
- begin
- _pipe@1 = tom:get_int(Toml, Key_path),
- gleam@result:map_error(
- _pipe@1,
- fun(Field@0) -> {tom_get_error, Field@0} end
- )
- end,
- fun(Value) -> {ok, Value} end
- )
- end
- ).
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime.cache b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime.cache
deleted file mode 100644
index 19b5f6b..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime.cache_meta b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime.cache_meta
deleted file mode 100644
index 96a5705..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime.erl
deleted file mode 100644
index d4c0030..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime.erl
+++ /dev/null
@@ -1,155 +0,0 @@
--module(showtime).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([main/0]).
-
--spec mk_runner(
- fun((gleam@option:option(list(binary())), list(binary()), showtime@internal@common@cli:capture()) -> NYW),
- glint:command_input()
-) -> NYW.
-mk_runner(Func, Command) ->
- _assert_subject = begin
- _pipe = erlang:element(3, Command),
- _pipe@1 = glint@flag:get_strings(_pipe, <<"modules"/utf8>>),
- gleam@result:map(_pipe@1, fun(Modules) -> case Modules of
- [] ->
- none;
-
- Modules@1 ->
- {some, Modules@1}
- end end)
- end,
- {ok, Module_list} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"showtime"/utf8>>,
- function => <<"mk_runner"/utf8>>,
- line => 91})
- end,
- _assert_subject@1 = begin
- _pipe@2 = erlang:element(3, Command),
- glint@flag:get_strings(_pipe@2, <<"ignore"/utf8>>)
- end,
- {ok, Ignore_tags} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"showtime"/utf8>>,
- function => <<"mk_runner"/utf8>>,
- line => 100})
- end,
- _assert_subject@2 = begin
- _pipe@3 = erlang:element(3, Command),
- _pipe@4 = glint@flag:get_string(_pipe@3, <<"capture"/utf8>>),
- _pipe@5 = gleam@result:map(
- _pipe@4,
- fun(Arg) -> gleam@string:lowercase(Arg) end
- ),
- gleam@result:map(_pipe@5, fun(Arg@1) -> case Arg@1 of
- <<"no"/utf8>> ->
- no;
-
- <<"yes"/utf8>> ->
- yes;
-
- <<"mixed"/utf8>> ->
- mixed
- end end)
- end,
- {ok, Capture_output} = case _assert_subject@2 of
- {ok, _} -> _assert_subject@2;
- _assert_fail@2 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@2,
- module => <<"showtime"/utf8>>,
- function => <<"mk_runner"/utf8>>,
- line => 104})
- end,
- Func(Module_list, Ignore_tags, Capture_output).
-
--spec start_with_args(
- list(binary()),
- fun((gleam@option:option(list(binary())), list(binary()), showtime@internal@common@cli:capture()) -> any())
-) -> nil.
-start_with_args(Args, Func) ->
- Modules_flag = begin
- _pipe = glint@flag:string_list(),
- _pipe@1 = glint@flag:default(_pipe, []),
- glint@flag:description(
- _pipe@1,
- <<"Run only tests in the modules in this list"/utf8>>
- )
- end,
- Ignore_flag = begin
- _pipe@2 = glint@flag:string_list(),
- _pipe@3 = glint@flag:default(_pipe@2, []),
- glint@flag:description(
- _pipe@3,
- <<"Ignore tests that are have tags matching a tag in this list"/utf8>>
- )
- end,
- Capture_flag = begin
- _pipe@4 = glint@flag:string(),
- _pipe@5 = glint@flag:default(_pipe@4, <<"no"/utf8>>),
- _pipe@6 = glint@flag:constraint(
- _pipe@5,
- glint@flag@constraint:one_of(
- [<<"yes"/utf8>>, <<"no"/utf8>>, <<"mixed"/utf8>>]
- )
- ),
- glint@flag:description(
- _pipe@6,
- <<"Capture output: no (default) - output when tests are run, yes - output is captured and shown in report, mixed - output when run and in report"/utf8>>
- )
- end,
- _pipe@7 = glint:new(),
- _pipe@12 = glint:add(
- _pipe@7,
- [],
- begin
- _pipe@8 = glint:command(
- fun(_capture) -> mk_runner(Func, _capture) end
- ),
- _pipe@9 = glint:flag(_pipe@8, <<"modules"/utf8>>, Modules_flag),
- _pipe@10 = glint:flag(_pipe@9, <<"ignore"/utf8>>, Ignore_flag),
- _pipe@11 = glint:flag(_pipe@10, <<"capture"/utf8>>, Capture_flag),
- glint:description(_pipe@11, <<"Runs test"/utf8>>)
- end
- ),
- _pipe@13 = glint:with_pretty_help(_pipe@12, glint:default_pretty_help()),
- glint:run(_pipe@13, Args).
-
--spec main() -> nil.
-main() ->
- start_with_args(
- gleam@erlang:start_arguments(),
- fun(Module_list, Ignore_tags, Capture) ->
- Test_event_handler = showtime@internal@erlang@event_handler:start(),
- Test_module_handler = showtime@internal@erlang@module_handler:start(
- Test_event_handler,
- fun showtime@internal@erlang@discover:collect_test_functions/1,
- fun showtime@internal@erlang@runner:run_test_suite/4,
- Ignore_tags,
- Capture
- ),
- Test_event_handler(start_test_run),
- Modules = showtime@internal@erlang@discover:collect_modules(
- Test_module_handler,
- Module_list
- ),
- Test_event_handler(
- {end_test_run,
- begin
- _pipe = Modules,
- gleam@list:length(_pipe)
- end}
- ),
- nil
- end
- ).
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@cli.cache b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@cli.cache
deleted file mode 100644
index 0dded35..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@cli.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@cli.cache_meta b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@cli.cache_meta
deleted file mode 100644
index 4c3ebd3..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@cli.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@cli.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@cli.erl
deleted file mode 100644
index f2d2396..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@cli.erl
+++ /dev/null
@@ -1,8 +0,0 @@
--module(showtime@internal@common@cli).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export_type([capture/0]).
-
--type capture() :: yes | no | mixed.
-
-
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@common_event_handler.cache b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@common_event_handler.cache
deleted file mode 100644
index df75ed9..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@common_event_handler.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@common_event_handler.cache_meta b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@common_event_handler.cache_meta
deleted file mode 100644
index cea0c4b..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@common_event_handler.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@common_event_handler.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@common_event_handler.erl
deleted file mode 100644
index 5ee9a85..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@common_event_handler.erl
+++ /dev/null
@@ -1,131 +0,0 @@
--module(showtime@internal@common@common_event_handler).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([handle_event/3]).
--export_type([test_state/0, handler_state/0]).
-
--type test_state() :: not_started | running | {finished, integer()}.
-
--type handler_state() :: {handler_state,
- test_state(),
- integer(),
- gleam@dict:dict(binary(), gleam@dict:dict(binary(), showtime@internal@common@test_suite:test_run()))}.
-
--spec handle_event(
- showtime@internal@common@test_suite:test_event(),
- fun(() -> integer()),
- handler_state()
-) -> handler_state().
-handle_event(Msg, System_time, State) ->
- Test_state = erlang:element(2, State),
- Num_done = erlang:element(3, State),
- Events = erlang:element(4, State),
- {Updated_test_state, Updated_num_done, Updated_events} = case Msg of
- start_test_run ->
- {running, Num_done, Events};
-
- {start_test_suite, Module} ->
- Maybe_module_events = gleam@map:get(
- Events,
- erlang:element(2, Module)
- ),
- New_events = case Maybe_module_events of
- {ok, _} ->
- Events;
-
- {error, _} ->
- _pipe = Events,
- gleam@map:insert(
- _pipe,
- erlang:element(2, Module),
- gleam@map:new()
- )
- end,
- {Test_state, Num_done, New_events};
-
- {start_test, Module@1, Test} ->
- Current_time = System_time(),
- Maybe_module_events@1 = gleam@map:get(
- Events,
- erlang:element(2, Module@1)
- ),
- New_events@1 = case Maybe_module_events@1 of
- {ok, Module_events} ->
- Maybe_test_event = gleam@map:get(
- Module_events,
- erlang:element(2, Test)
- ),
- case Maybe_test_event of
- {error, _} ->
- _pipe@1 = Events,
- gleam@map:insert(
- _pipe@1,
- erlang:element(2, Module@1),
- begin
- _pipe@2 = Module_events,
- gleam@map:insert(
- _pipe@2,
- erlang:element(2, Test),
- {ongoing_test_run, Test, Current_time}
- )
- end
- );
-
- {ok, _} ->
- Events
- end;
-
- {error, _} ->
- Events
- end,
- {Test_state, Num_done, New_events@1};
-
- {end_test, Module@2, Test@1, Result} ->
- Current_time@1 = System_time(),
- Maybe_module_events@2 = gleam@map:get(
- Events,
- erlang:element(2, Module@2)
- ),
- New_events@2 = case Maybe_module_events@2 of
- {ok, Module_events@1} ->
- Maybe_test_run = begin
- _pipe@3 = Module_events@1,
- gleam@map:get(_pipe@3, erlang:element(2, Test@1))
- end,
- Updated_module_events = case Maybe_test_run of
- {ok, {ongoing_test_run, Test_function, Started_at}} ->
- _pipe@4 = Module_events@1,
- gleam@map:insert(
- _pipe@4,
- erlang:element(2, Test@1),
- {completed_test_run,
- Test_function,
- Current_time@1 - Started_at,
- Result}
- );
-
- {error, _} ->
- Module_events@1
- end,
- _pipe@5 = Events,
- gleam@map:insert(
- _pipe@5,
- erlang:element(2, Module@2),
- Updated_module_events
- );
-
- {error, _} ->
- Events
- end,
- {Test_state, Num_done, New_events@2};
-
- {end_test_suite, _} ->
- {Test_state, Num_done + 1, Events};
-
- {end_test_run, Num_modules} ->
- {{finished, Num_modules}, Num_done, Events};
-
- _ ->
- {running, Num_done, Events}
- end,
- {handler_state, Updated_test_state, Updated_num_done, Updated_events}.
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_result.cache b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_result.cache
deleted file mode 100644
index c0f776e..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_result.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_result.cache_meta b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_result.cache_meta
deleted file mode 100644
index ae0cd95..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_result.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_result.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_result.erl
deleted file mode 100644
index 7f62f4f..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_result.erl
+++ /dev/null
@@ -1,54 +0,0 @@
--module(showtime@internal@common@test_result).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export_type([ignore_reason/0, test_return/0, exception/0, reason/0, reason_detail/0, gleam_error_detail/0, class/0, trace_list/0, trace/0, extra_info/0, arity_/0]).
-
--type ignore_reason() :: ignore.
-
--type test_return() :: {test_function_return,
- gleam@dynamic:dynamic_(),
- list(binary())} |
- {ignored, ignore_reason()}.
-
--type exception() :: {erlang_exception,
- class(),
- reason(),
- trace_list(),
- list(binary())}.
-
--type reason() :: {assert_equal, list(reason_detail())} |
- {assert_not_equal, list(reason_detail())} |
- {assert_match, list(reason_detail())} |
- {gleam_error, gleam_error_detail()} |
- {gleam_assert, gleam@dynamic:dynamic_(), integer()} |
- {generic_exception, gleam@dynamic:dynamic_()}.
-
--type reason_detail() :: {module, binary()} |
- {reason_line, integer()} |
- {expression, binary()} |
- {expected, gleam@dynamic:dynamic_()} |
- {value, gleam@dynamic:dynamic_()} |
- {pattern, binary()}.
-
--type gleam_error_detail() :: {let_assert,
- binary(),
- binary(),
- integer(),
- binary(),
- gleam@dynamic:dynamic_()}.
-
--type class() :: erlang_error | exit | throw.
-
--type trace_list() :: {trace_list, list(trace())}.
-
--type trace() :: {trace, binary(), arity_(), list(extra_info())} |
- {trace_module, binary(), binary(), arity_(), list(extra_info())}.
-
--type extra_info() :: {error_info,
- gleam@dict:dict(gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_())} |
- {file, binary()} |
- {line, integer()}.
-
--type arity_() :: {num, integer()} | {arg_list, list(gleam@dynamic:dynamic_())}.
-
-
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_suite.cache b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_suite.cache
deleted file mode 100644
index 80885b8..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_suite.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_suite.cache_meta b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_suite.cache_meta
deleted file mode 100644
index b2139f9..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_suite.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_suite.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_suite.erl
deleted file mode 100644
index 6a56de8..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_suite.erl
+++ /dev/null
@@ -1,30 +0,0 @@
--module(showtime@internal@common@test_suite).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export_type([test_run/0, test_module/0, test_function/0, test_suite/0, test_event/0]).
-
--type test_run() :: {ongoing_test_run, test_function(), integer()} |
- {completed_test_run,
- test_function(),
- integer(),
- {ok, showtime@internal@common@test_result:test_return()} |
- {error, showtime@internal@common@test_result:exception()}}.
-
--type test_module() :: {test_module, binary(), gleam@option:option(binary())}.
-
--type test_function() :: {test_function, binary()}.
-
--type test_suite() :: {test_suite, test_module(), list(test_function())}.
-
--type test_event() :: start_test_run |
- {start_test_suite, test_module()} |
- {start_test, test_module(), test_function()} |
- {end_test,
- test_module(),
- test_function(),
- {ok, showtime@internal@common@test_result:test_return()} |
- {error, showtime@internal@common@test_result:exception()}} |
- {end_test_suite, test_module()} |
- {end_test_run, integer()}.
-
-
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@discover.cache b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@discover.cache
deleted file mode 100644
index 68f7428..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@discover.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@discover.cache_meta b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@discover.cache_meta
deleted file mode 100644
index 236dd39..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@discover.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@discover.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@discover.erl
deleted file mode 100644
index f0548aa..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@discover.erl
+++ /dev/null
@@ -1,230 +0,0 @@
--module(showtime@internal@erlang@discover).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([collect_modules/2, collect_test_functions/1]).
-
--spec get_module_prefix(binary()) -> binary().
-get_module_prefix(Path) ->
- Path_without_test = begin
- _pipe = Path,
- gleam@string:replace(_pipe, <<"./test"/utf8>>, <<""/utf8>>)
- end,
- Path_without_leading_slash = case gleam@string:starts_with(
- Path_without_test,
- <<"/"/utf8>>
- ) of
- true ->
- gleam@string:drop_left(Path_without_test, 1);
-
- false ->
- Path_without_test
- end,
- Module_prefix = begin
- _pipe@1 = Path_without_leading_slash,
- gleam@string:replace(_pipe@1, <<"/"/utf8>>, <<"@"/utf8>>)
- end,
- case gleam@string:length(Module_prefix) of
- 0 ->
- Module_prefix;
-
- _ ->
- <<Module_prefix/binary, "@"/utf8>>
- end.
-
--spec collect_modules_in_folder(
- binary(),
- fun((showtime@internal@common@test_suite:test_module()) -> nil),
- gleam@option:option(list(binary()))
-) -> list(showtime@internal@common@test_suite:test_module()).
-collect_modules_in_folder(Path, Test_module_handler, Only_modules) ->
- Module_prefix = get_module_prefix(Path),
- _assert_subject = simplifile:read_directory(Path),
- {ok, Files} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"showtime/internal/erlang/discover"/utf8>>,
- function => <<"collect_modules_in_folder"/utf8>>,
- line => 40})
- end,
- Test_modules_in_folder = begin
- _pipe = Files,
- _pipe@1 = gleam@list:filter(
- _pipe,
- fun(_capture) ->
- gleam@string:ends_with(_capture, <<"_test.gleam"/utf8>>)
- end
- ),
- gleam@list:filter_map(
- _pipe@1,
- fun(Test_module_file) ->
- Module_name = <<Module_prefix/binary,
- (begin
- _pipe@2 = Test_module_file,
- gleam@string:replace(
- _pipe@2,
- <<".gleam"/utf8>>,
- <<""/utf8>>
- )
- end)/binary>>,
- case Only_modules of
- {some, Only_modules_list} ->
- Module_in_list = begin
- _pipe@3 = Only_modules_list,
- gleam@list:any(
- _pipe@3,
- fun(Only_module_name) ->
- Only_module_name =:= begin
- _pipe@4 = Module_name,
- gleam@string:replace(
- _pipe@4,
- <<"@"/utf8>>,
- <<"/"/utf8>>
- )
- end
- end
- )
- end,
- case Module_in_list of
- true ->
- Test_module = {test_module,
- Module_name,
- {some, Test_module_file}},
- Test_module_handler(Test_module),
- {ok, Test_module};
-
- false ->
- {error, nil}
- end;
-
- none ->
- Test_module@1 = {test_module,
- Module_name,
- {some, Test_module_file}},
- Test_module_handler(Test_module@1),
- {ok, Test_module@1}
- end
- end
- )
- end,
- Test_modules_in_subfolders = begin
- _pipe@5 = Files,
- _pipe@6 = gleam@list:map(
- _pipe@5,
- fun(Filename) ->
- <<<<Path/binary, "/"/utf8>>/binary, Filename/binary>>
- end
- ),
- _pipe@7 = gleam@list:filter(
- _pipe@6,
- fun(File) -> simplifile:is_directory(File) end
- ),
- gleam@list:fold(
- _pipe@7,
- [],
- fun(Modules, Subfolder) -> _pipe@8 = Modules,
- gleam@list:append(
- _pipe@8,
- collect_modules_in_folder(
- Subfolder,
- Test_module_handler,
- Only_modules
- )
- ) end
- )
- end,
- _pipe@9 = Test_modules_in_folder,
- gleam@list:append(_pipe@9, Test_modules_in_subfolders).
-
--spec collect_modules(
- fun((showtime@internal@common@test_suite:test_module()) -> nil),
- gleam@option:option(list(binary()))
-) -> list(showtime@internal@common@test_suite:test_module()).
-collect_modules(Test_module_handler, Only_modules) ->
- collect_modules_in_folder(
- <<"./test"/utf8>>,
- Test_module_handler,
- Only_modules
- ).
-
--spec collect_test_functions(showtime@internal@common@test_suite:test_module()) -> showtime@internal@common@test_suite:test_suite().
-collect_test_functions(Module) ->
- Test_functions = begin
- _pipe = erlang:apply(
- erlang:binary_to_atom(erlang:element(2, Module)),
- erlang:binary_to_atom(<<"module_info"/utf8>>),
- [gleam@dynamic:from(erlang:binary_to_atom(<<"exports"/utf8>>))]
- ),
- gleam@dynamic:unsafe_coerce(_pipe)
- end,
- Test_functions_filtered = begin
- _pipe@1 = Test_functions,
- _pipe@3 = gleam@list:map(
- _pipe@1,
- fun(Entry) ->
- {Name, Arity} = case Entry of
- {_, _} -> Entry;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"showtime/internal/erlang/discover"/utf8>>,
- function => <<"collect_test_functions"/utf8>>,
- line => 131})
- end,
- {begin
- _pipe@2 = Name,
- erlang:atom_to_binary(_pipe@2)
- end,
- Arity}
- end
- ),
- _pipe@4 = gleam@list:filter_map(
- _pipe@3,
- fun(Entry@1) ->
- {Name@1, Arity@1} = case Entry@1 of
- {_, _} -> Entry@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"showtime/internal/erlang/discover"/utf8>>,
- function => <<"collect_test_functions"/utf8>>,
- line => 139})
- end,
- case gleam@string:ends_with(Name@1, <<"_test"/utf8>>) of
- true ->
- case Arity@1 of
- 0 ->
- {ok, Name@1};
-
- _ ->
- gleam@io:println(
- <<<<<<<<"WARNING: function \""/utf8,
- Name@1/binary>>/binary,
- "\" has arity: "/utf8>>/binary,
- (gleam@int:to_string(Arity@1))/binary>>/binary,
- " - cannot be used as test (needs to be 0)"/utf8>>
- ),
- {error, <<"Wrong arity"/utf8>>}
- end;
-
- false ->
- {error, <<"Non matching name"/utf8>>}
- end
- end
- ),
- _pipe@5 = gleam@list:filter(
- _pipe@4,
- fun(_capture) ->
- gleam@string:ends_with(_capture, <<"_test"/utf8>>)
- end
- ),
- gleam@list:map(
- _pipe@5,
- fun(Function_name) -> {test_function, Function_name} end
- )
- end,
- {test_suite, Module, Test_functions_filtered}.
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@event_handler.cache b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@event_handler.cache
deleted file mode 100644
index 60fea12..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@event_handler.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@event_handler.cache_meta b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@event_handler.cache_meta
deleted file mode 100644
index 1223c48..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@event_handler.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@event_handler.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@event_handler.erl
deleted file mode 100644
index d72ce2c..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@event_handler.erl
+++ /dev/null
@@ -1,76 +0,0 @@
--module(showtime@internal@erlang@event_handler).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([start/0]).
--export_type([event_handler_message/0]).
-
--type event_handler_message() :: {event_handler_message,
- showtime@internal@common@test_suite:test_event(),
- gleam@erlang@process:subject(integer())}.
-
--spec system_time() -> integer().
-system_time() ->
- os:system_time(millisecond).
-
--spec start() -> fun((showtime@internal@common@test_suite:test_event()) -> nil).
-start() ->
- _assert_subject = gleam@otp@actor:start(
- {not_started, 0, gleam@map:new()},
- fun(Msg, State) ->
- {event_handler_message, Test_event, Reply_to} = Msg,
- {Test_state, Num_done, Events} = State,
- Updated_state = showtime@internal@common@common_event_handler:handle_event(
- Test_event,
- fun system_time/0,
- {handler_state, Test_state, Num_done, Events}
- ),
- case Updated_state of
- {handler_state, {finished, Num_modules}, Num_done@1, Events@1} when Num_done@1 =:= Num_modules ->
- {Test_report, Num_failed} = showtime@internal@reports@formatter:create_test_report(
- Events@1
- ),
- gleam@io:println(Test_report),
- gleam@erlang@process:send(Reply_to, Num_failed),
- {stop, normal};
-
- {handler_state, Test_state@1, Num_done@2, Events@2} ->
- {continue, {Test_state@1, Num_done@2, Events@2}, none}
- end
- end
- ),
- {ok, Subject} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"showtime/internal/erlang/event_handler"/utf8>>,
- function => <<"start"/utf8>>,
- line => 32})
- end,
- Parent_subject = gleam@erlang@process:new_subject(),
- Selector = begin
- _pipe = gleam_erlang_ffi:new_selector(),
- gleam@erlang@process:selecting(_pipe, Parent_subject, fun(X) -> X end)
- end,
- fun(Test_event@1) -> case Test_event@1 of
- {end_test_run, _} ->
- gleam@erlang@process:send(
- Subject,
- {event_handler_message, Test_event@1, Parent_subject}
- ),
- Num_failed@1 = gleam_erlang_ffi:select(Selector),
- case Num_failed@1 > 0 of
- true ->
- erlang:halt(1);
-
- false ->
- erlang:halt(0)
- end;
-
- _ ->
- gleam@erlang@process:send(
- Subject,
- {event_handler_message, Test_event@1, Parent_subject}
- )
- end end.
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@module_handler.cache b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@module_handler.cache
deleted file mode 100644
index 6b896ec..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@module_handler.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@module_handler.cache_meta b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@module_handler.cache_meta
deleted file mode 100644
index 7cd0c75..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@module_handler.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@module_handler.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@module_handler.erl
deleted file mode 100644
index a6959f5..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@module_handler.erl
+++ /dev/null
@@ -1,53 +0,0 @@
--module(showtime@internal@erlang@module_handler).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([start/5]).
-
--spec start(
- fun((showtime@internal@common@test_suite:test_event()) -> nil),
- fun((showtime@internal@common@test_suite:test_module()) -> showtime@internal@common@test_suite:test_suite()),
- fun((showtime@internal@common@test_suite:test_suite(), fun((showtime@internal@common@test_suite:test_event()) -> nil), list(binary()), showtime@internal@common@cli:capture()) -> nil),
- list(binary()),
- showtime@internal@common@cli:capture()
-) -> fun((showtime@internal@common@test_suite:test_module()) -> nil).
-start(
- Test_event_handler,
- Test_function_collector,
- Run_test_suite,
- Ignore_tags,
- Capture
-) ->
- _assert_subject = gleam@otp@actor:start(
- nil,
- fun(Module, State) ->
- gleam@erlang@process:start(
- fun() ->
- Test_suite = Test_function_collector(Module),
- Test_event_handler({start_test_suite, Module}),
- Run_test_suite(
- Test_suite,
- Test_event_handler,
- Ignore_tags,
- Capture
- ),
- Test_event_handler({end_test_suite, Module})
- end,
- false
- ),
- {continue, State, none}
- end
- ),
- {ok, Subject} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"showtime/internal/erlang/module_handler"/utf8>>,
- function => <<"start"/utf8>>,
- line => 23})
- end,
- fun(Test_module) ->
- gleam@erlang@process:send(Subject, Test_module),
- nil
- end.
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@runner.cache b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@runner.cache
deleted file mode 100644
index 91e7663..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@runner.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@runner.cache_meta b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@runner.cache_meta
deleted file mode 100644
index 069c9cf..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@runner.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@runner.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@runner.erl
deleted file mode 100644
index 702fb75..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@runner.erl
+++ /dev/null
@@ -1,46 +0,0 @@
--module(showtime@internal@erlang@runner).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([run_test/4, run_test_suite/4]).
-
--spec run_test(
- binary(),
- binary(),
- list(binary()),
- showtime@internal@common@cli:capture()
-) -> {ok, showtime@internal@common@test_result:test_return()} |
- {error, showtime@internal@common@test_result:exception()}.
-run_test(Module_name, Test_name, Ignore_tags, Capture) ->
- Result = showtime_ffi:run_test(
- erlang:binary_to_atom(Module_name),
- erlang:binary_to_atom(Test_name),
- Ignore_tags,
- Capture
- ),
- Result.
-
--spec run_test_suite(
- showtime@internal@common@test_suite:test_suite(),
- fun((showtime@internal@common@test_suite:test_event()) -> nil),
- list(binary()),
- showtime@internal@common@cli:capture()
-) -> nil.
-run_test_suite(Test_suite, Test_event_handler, Ignore_tags, Capture) ->
- _pipe = erlang:element(3, Test_suite),
- gleam@list:each(
- _pipe,
- fun(Test) ->
- Test_event_handler(
- {start_test, erlang:element(2, Test_suite), Test}
- ),
- Result = run_test(
- erlang:element(2, erlang:element(2, Test_suite)),
- erlang:element(2, Test),
- Ignore_tags,
- Capture
- ),
- Test_event_handler(
- {end_test, erlang:element(2, Test_suite), Test, Result}
- )
- end
- ).
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@compare.cache b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@compare.cache
deleted file mode 100644
index bf88ac7..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@compare.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@compare.cache_meta b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@compare.cache_meta
deleted file mode 100644
index be99189..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@compare.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@compare.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@compare.erl
deleted file mode 100644
index d2969b2..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@compare.erl
+++ /dev/null
@@ -1,61 +0,0 @@
--module(showtime@internal@reports@compare).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([compare/2]).
-
--spec compare(gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_()) -> {binary(),
- binary()}.
-compare(Expected, Got) ->
- Expected_as_list = begin
- _pipe = Expected,
- (gleam@dynamic:list(fun gleam@dynamic:dynamic/1))(_pipe)
- end,
- Got_as_list = begin
- _pipe@1 = Got,
- (gleam@dynamic:list(fun gleam@dynamic:dynamic/1))(_pipe@1)
- end,
- Expected_as_string = begin
- _pipe@2 = Expected,
- gleam@dynamic:string(_pipe@2)
- end,
- Got_as_string = begin
- _pipe@3 = Got,
- gleam@dynamic:string(_pipe@3)
- end,
- case {Expected_as_list, Got_as_list, Expected_as_string, Got_as_string} of
- {{ok, Expected_list}, {ok, Got_list}, _, _} ->
- Comparison = begin
- _pipe@4 = gap:compare_lists(Expected_list, Got_list),
- _pipe@5 = gap@styling:from_comparison(_pipe@4),
- _pipe@6 = gap@styling:highlight(
- _pipe@5,
- fun showtime@internal@reports@styles:expected_highlight/1,
- fun showtime@internal@reports@styles:got_highlight/1,
- fun(Item) -> Item end
- ),
- gap@styling:to_styled_comparison(_pipe@6)
- end,
- {erlang:element(2, Comparison), erlang:element(3, Comparison)};
-
- {_, _, {ok, Expected_string}, {ok, Got_string}} ->
- Comparison@1 = begin
- _pipe@7 = gap:compare_strings(Expected_string, Got_string),
- _pipe@8 = gap@styling:from_comparison(_pipe@7),
- _pipe@9 = gap@styling:highlight(
- _pipe@8,
- fun showtime@internal@reports@styles:expected_highlight/1,
- fun showtime@internal@reports@styles:got_highlight/1,
- fun(Item@1) -> Item@1 end
- ),
- gap@styling:to_styled_comparison(_pipe@9)
- end,
- {erlang:element(2, Comparison@1), erlang:element(3, Comparison@1)};
-
- {_, _, _, _} ->
- {showtime@internal@reports@styles:expected_highlight(
- gleam@string:inspect(Expected)
- ),
- showtime@internal@reports@styles:got_highlight(
- gleam@string:inspect(Got)
- )}
- end.
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@formatter.cache b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@formatter.cache
deleted file mode 100644
index 58b0250..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@formatter.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@formatter.cache_meta b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@formatter.cache_meta
deleted file mode 100644
index 86e3c59..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@formatter.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@formatter.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@formatter.erl
deleted file mode 100644
index 4022bed..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@formatter.erl
+++ /dev/null
@@ -1,749 +0,0 @@
--module(showtime@internal@reports@formatter).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([create_test_report/1]).
--export_type([glee_unit_assertion_type/0, module_and_test/0, unified_error/0]).
-
--type glee_unit_assertion_type() :: {glee_unit_assert_equal, binary()} |
- {glee_unit_assert_not_equal, binary()} |
- {glee_unit_assert_match, binary()}.
-
--type module_and_test() :: {module_and_test_run,
- binary(),
- showtime@internal@common@test_suite:test_run()}.
-
--type unified_error() :: {unified_error,
- gleam@option:option(showtime@tests@meta:meta()),
- binary(),
- binary(),
- binary(),
- binary(),
- gleam@option:option(integer()),
- list(showtime@internal@common@test_result:trace())}.
-
--spec erlang_error_to_unified(
- list(showtime@internal@common@test_result:reason_detail()),
- glee_unit_assertion_type(),
- list(showtime@internal@common@test_result:trace())
-) -> unified_error().
-erlang_error_to_unified(Error_details, Assertion_type, Stacktrace) ->
- _pipe = Error_details,
- gleam@list:fold(
- _pipe,
- {unified_error,
- none,
- <<"not_set"/utf8>>,
- erlang:element(2, Assertion_type),
- <<""/utf8>>,
- <<""/utf8>>,
- none,
- Stacktrace},
- fun(Unified, Reason) -> case Reason of
- {expression, Expression} ->
- erlang:setelement(3, Unified, Expression);
-
- {expected, Value} ->
- case Assertion_type of
- {glee_unit_assert_equal, _} ->
- erlang:setelement(
- 5,
- Unified,
- showtime@internal@reports@styles:expected_highlight(
- gleam@string:inspect(Value)
- )
- );
-
- _ ->
- Unified
- end;
-
- {value, Value@1} ->
- case Assertion_type of
- {glee_unit_assert_not_equal, _} ->
- erlang:setelement(
- 6,
- erlang:setelement(
- 5,
- Unified,
- <<(showtime@internal@reports@styles:not_style(
- <<"not "/utf8>>
- ))/binary,
- (gleam@string:inspect(Value@1))/binary>>
- ),
- showtime@internal@reports@styles:got_highlight(
- gleam@string:inspect(Value@1)
- )
- );
-
- _ ->
- erlang:setelement(
- 6,
- Unified,
- showtime@internal@reports@styles:got_highlight(
- gleam@string:inspect(Value@1)
- )
- )
- end;
-
- {pattern, Pattern} ->
- case Pattern of
- <<"{ ok , _ }"/utf8>> ->
- erlang:setelement(
- 5,
- Unified,
- showtime@internal@reports@styles:expected_highlight(
- <<"Ok(_)"/utf8>>
- )
- );
-
- <<"{ error , _ }"/utf8>> ->
- erlang:setelement(
- 5,
- Unified,
- showtime@internal@reports@styles:expected_highlight(
- <<"Error(_)"/utf8>>
- )
- );
-
- _ ->
- Unified
- end;
-
- _ ->
- Unified
- end end
- ).
-
--spec gleam_error_to_unified(
- showtime@internal@common@test_result:gleam_error_detail(),
- list(showtime@internal@common@test_result:trace())
-) -> unified_error().
-gleam_error_to_unified(Gleam_error, Stacktrace) ->
- case Gleam_error of
- {let_assert, _, _, _, _, Value} ->
- Result = gleam@dynamic:unsafe_coerce(Value),
- {error, Assertion} = case Result of
- {error, _} -> Result;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"showtime/internal/reports/formatter"/utf8>>,
- function => <<"gleam_error_to_unified"/utf8>>,
- line => 293})
- end,
- case Assertion of
- {eq, Got, Expected, Meta} ->
- {Expected@1, Got@1} = showtime@internal@reports@compare:compare(
- Expected,
- Got
- ),
- {unified_error,
- Meta,
- <<"assert"/utf8>>,
- <<"Assert equal"/utf8>>,
- Expected@1,
- Got@1,
- none,
- Stacktrace};
-
- {not_eq, Got@2, Expected@2, Meta@1} ->
- {unified_error,
- Meta@1,
- <<"assert"/utf8>>,
- <<"Assert not equal"/utf8>>,
- <<(showtime@internal@reports@styles:not_style(
- <<"not "/utf8>>
- ))/binary,
- (gleam@string:inspect(Expected@2))/binary>>,
- gleam@string:inspect(Got@2),
- none,
- Stacktrace};
-
- {is_ok, Got@3, Meta@2} ->
- {unified_error,
- Meta@2,
- <<"assert"/utf8>>,
- <<"Assert is Ok"/utf8>>,
- showtime@internal@reports@styles:expected_highlight(
- <<"Ok(_)"/utf8>>
- ),
- showtime@internal@reports@styles:got_highlight(
- gleam@string:inspect(Got@3)
- ),
- none,
- Stacktrace};
-
- {is_error, Got@4, Meta@3} ->
- {unified_error,
- Meta@3,
- <<"assert"/utf8>>,
- <<"Assert is Ok"/utf8>>,
- showtime@internal@reports@styles:expected_highlight(
- <<"Error(_)"/utf8>>
- ),
- showtime@internal@reports@styles:got_highlight(
- gleam@string:inspect(Got@4)
- ),
- none,
- Stacktrace};
-
- {fail, Meta@4} ->
- {unified_error,
- Meta@4,
- <<"assert"/utf8>>,
- <<"Assert is Ok"/utf8>>,
- showtime@internal@reports@styles:got_highlight(
- <<"should.fail()"/utf8>>
- ),
- showtime@internal@reports@styles:got_highlight(
- <<"N/A - test always expected to fail"/utf8>>
- ),
- none,
- Stacktrace}
- end
- end.
-
--spec format_reason(unified_error(), binary(), binary(), list(binary())) -> list(list(showtime@internal@reports@table:col())).
-format_reason(Error, Module, Function, Output_buffer) ->
- Meta@1 = case erlang:element(2, Error) of
- {some, Meta} ->
- {some,
- [{align_right,
- {styled_content,
- showtime@internal@reports@styles:heading_style(
- <<"Description"/utf8>>
- )},
- 2},
- {separator, <<": "/utf8>>},
- {align_left, {content, erlang:element(2, Meta)}, 0}]};
-
- none ->
- none
- end,
- Stacktrace = begin
- _pipe = erlang:element(8, Error),
- gleam@list:map(_pipe, fun(Trace) -> case Trace of
- {trace, Function@1, _, _} when Function@1 =:= <<""/utf8>> ->
- <<"(anonymous)"/utf8>>;
-
- {trace_module, Module@1, Function@2, _, _} when Function@2 =:= <<""/utf8>> ->
- <<<<Module@1/binary, "."/utf8>>/binary,
- "(anonymous)"/utf8>>;
-
- {trace, Function@3, _, _} ->
- Function@3;
-
- {trace_module, Module@2, Function@4, _, _} ->
- <<<<Module@2/binary, "."/utf8>>/binary,
- Function@4/binary>>
- end end)
- end,
- Stacktrace_rows = case Stacktrace of
- [] ->
- [];
-
- [First | Rest] ->
- First_row = {some,
- [{align_right,
- {styled_content,
- showtime@internal@reports@styles:heading_style(
- <<"Stacktrace"/utf8>>
- )},
- 2},
- {separator, <<": "/utf8>>},
- {align_left,
- {styled_content,
- showtime@internal@reports@styles:stacktrace_style(
- First
- )},
- 0}]},
- Rest_rows = begin
- _pipe@1 = Rest,
- gleam@list:map(
- _pipe@1,
- fun(Row) ->
- {some,
- [{align_right, {content, <<""/utf8>>}, 2},
- {separator, <<" "/utf8>>},
- {align_left,
- {styled_content,
- showtime@internal@reports@styles:stacktrace_style(
- Row
- )},
- 0}]}
- end
- )
- end,
- [First_row | Rest_rows]
- end,
- Output_rows = case begin
- _pipe@2 = Output_buffer,
- _pipe@3 = gleam@list:reverse(_pipe@2),
- gleam@list:map(
- _pipe@3,
- fun(Row@1) -> gleam@string:trim_right(Row@1) end
- )
- end of
- [] ->
- [];
-
- [First@1 | Rest@1] ->
- First_row@1 = {some,
- [{align_right,
- {styled_content,
- showtime@internal@reports@styles:heading_style(
- <<"Output"/utf8>>
- )},
- 2},
- {separator, <<": "/utf8>>},
- {align_left_overflow,
- {styled_content,
- showtime@internal@reports@styles:stacktrace_style(
- First@1
- )},
- 0}]},
- Rest_rows@1 = begin
- _pipe@4 = Rest@1,
- gleam@list:map(
- _pipe@4,
- fun(Row@2) ->
- {some,
- [{align_right, {content, <<""/utf8>>}, 2},
- {separator, <<" "/utf8>>},
- {align_left_overflow,
- {styled_content,
- showtime@internal@reports@styles:stacktrace_style(
- Row@2
- )},
- 0}]}
- end
- )
- end,
- [First_row@1 | Rest_rows@1]
- end,
- Line@1 = begin
- _pipe@5 = erlang:element(7, Error),
- _pipe@6 = gleam@option:map(
- _pipe@5,
- fun(Line) -> <<":"/utf8, (gleam@int:to_string(Line))/binary>> end
- ),
- gleam@option:unwrap(_pipe@6, <<""/utf8>>)
- end,
- Arrow = <<(gleam@string:join(
- gleam@list:repeat(
- <<"-"/utf8>>,
- (gleam@string:length(Module) + 1) + ((gleam@string:length(
- Function
- )
- + gleam@string:length(Line@1))
- div 2)
- ),
- <<""/utf8>>
- ))/binary,
- "⌄"/utf8>>,
- Standard_table_rows = [{some,
- [{align_right,
- {styled_content,
- showtime@internal@reports@styles:error_style(
- <<"Failed"/utf8>>
- )},
- 2},
- {separator, <<": "/utf8>>},
- {align_left, {content, Arrow}, 0}]},
- {some,
- [{align_right,
- {styled_content,
- showtime@internal@reports@styles:heading_style(
- <<"Test"/utf8>>
- )},
- 2},
- {separator, <<": "/utf8>>},
- {align_left,
- {styled_content,
- <<<<Module/binary, "."/utf8>>/binary,
- (showtime@internal@reports@styles:function_style(
- <<Function/binary, Line@1/binary>>
- ))/binary>>},
- 0}]},
- Meta@1,
- {some,
- [{align_right,
- {styled_content,
- showtime@internal@reports@styles:heading_style(
- <<"Expected"/utf8>>
- )},
- 2},
- {separator, <<": "/utf8>>},
- {align_left_overflow,
- {styled_content, erlang:element(5, Error)},
- 0}]},
- {some,
- [{align_right,
- {styled_content,
- showtime@internal@reports@styles:heading_style(
- <<"Got"/utf8>>
- )},
- 2},
- {separator, <<": "/utf8>>},
- {align_left_overflow,
- {styled_content, erlang:element(6, Error)},
- 0}]}],
- _pipe@7 = Standard_table_rows,
- _pipe@8 = gleam@list:append(_pipe@7, Stacktrace_rows),
- _pipe@9 = gleam@list:append(_pipe@8, Output_rows),
- _pipe@10 = gleam@list:append(
- _pipe@9,
- [{some,
- [{align_right, {content, <<""/utf8>>}, 0},
- {align_right, {content, <<""/utf8>>}, 0},
- {align_right, {content, <<""/utf8>>}, 0}]}]
- ),
- gleam@list:filter_map(
- _pipe@10,
- fun(Row@3) -> gleam@option:to_result(Row@3, nil) end
- ).
-
--spec create_test_report(
- gleam@dict:dict(binary(), gleam@dict:dict(binary(), showtime@internal@common@test_suite:test_run()))
-) -> {binary(), integer()}.
-create_test_report(Test_results) ->
- All_test_runs = begin
- _pipe = Test_results,
- _pipe@1 = gleam@map:values(_pipe),
- gleam@list:flat_map(_pipe@1, fun gleam@map:values/1)
- end,
- Failed_test_runs = begin
- _pipe@2 = Test_results,
- _pipe@3 = gleam@map:to_list(_pipe@2),
- gleam@list:flat_map(
- _pipe@3,
- fun(Entry) ->
- {Module_name, Test_module_results} = Entry,
- _pipe@4 = Test_module_results,
- _pipe@5 = gleam@map:values(_pipe@4),
- gleam@list:filter_map(_pipe@5, fun(Test_run) -> case Test_run of
- {completed_test_run, _, _, Result} ->
- case Result of
- {error, _} ->
- {ok,
- {module_and_test_run,
- Module_name,
- Test_run}};
-
- {ok, {ignored, _}} ->
- {error, nil};
-
- {ok, _} ->
- {error, nil}
- end;
-
- _ ->
- _pipe@6 = Test_run,
- gleam@io:debug(_pipe@6),
- {error, nil}
- end end)
- end
- )
- end,
- Ignored_test_runs = begin
- _pipe@7 = Test_results,
- _pipe@8 = gleam@map:to_list(_pipe@7),
- gleam@list:flat_map(
- _pipe@8,
- fun(Entry@1) ->
- {Module_name@1, Test_module_results@1} = Entry@1,
- _pipe@9 = Test_module_results@1,
- _pipe@10 = gleam@map:values(_pipe@9),
- gleam@list:filter_map(
- _pipe@10,
- fun(Test_run@1) -> case Test_run@1 of
- {completed_test_run, Test_function, _, Result@1} ->
- case Result@1 of
- {ok, {ignored, Reason}} ->
- {ok,
- {<<<<Module_name@1/binary,
- "."/utf8>>/binary,
- (erlang:element(
- 2,
- Test_function
- ))/binary>>,
- Reason}};
-
- _ ->
- {error, nil}
- end;
-
- _ ->
- {error, nil}
- end end
- )
- end
- )
- end,
- Failed_tests_report = begin
- _pipe@11 = Failed_test_runs,
- _pipe@12 = gleam@list:filter_map(
- _pipe@11,
- fun(Module_and_test_run) ->
- case erlang:element(3, Module_and_test_run) of
- {completed_test_run, Test_function@1, _, Result@2} ->
- case Result@2 of
- {error, Exception} ->
- case erlang:element(3, Exception) of
- {assert_equal, Reason_details} ->
- {ok,
- format_reason(
- erlang_error_to_unified(
- Reason_details,
- {glee_unit_assert_equal,
- <<"Assert equal"/utf8>>},
- erlang:element(
- 2,
- erlang:element(
- 4,
- Exception
- )
- )
- ),
- erlang:element(
- 2,
- Module_and_test_run
- ),
- erlang:element(
- 2,
- Test_function@1
- ),
- erlang:element(5, Exception)
- )};
-
- {assert_not_equal, Reason_details@1} ->
- {ok,
- format_reason(
- erlang_error_to_unified(
- Reason_details@1,
- {glee_unit_assert_not_equal,
- <<"Assert not equal"/utf8>>},
- erlang:element(
- 2,
- erlang:element(
- 4,
- Exception
- )
- )
- ),
- erlang:element(
- 2,
- Module_and_test_run
- ),
- erlang:element(
- 2,
- Test_function@1
- ),
- erlang:element(5, Exception)
- )};
-
- {assert_match, Reason_details@2} ->
- {ok,
- format_reason(
- erlang_error_to_unified(
- Reason_details@2,
- {glee_unit_assert_match,
- <<"Assert match"/utf8>>},
- erlang:element(
- 2,
- erlang:element(
- 4,
- Exception
- )
- )
- ),
- erlang:element(
- 2,
- Module_and_test_run
- ),
- erlang:element(
- 2,
- Test_function@1
- ),
- erlang:element(5, Exception)
- )};
-
- {gleam_error, Reason@1} ->
- {ok,
- format_reason(
- gleam_error_to_unified(
- Reason@1,
- erlang:element(
- 2,
- erlang:element(
- 4,
- Exception
- )
- )
- ),
- erlang:element(
- 2,
- Module_and_test_run
- ),
- erlang:element(
- 2,
- Test_function@1
- ),
- erlang:element(5, Exception)
- )};
-
- {gleam_assert, Value, Line_no} ->
- {ok,
- format_reason(
- {unified_error,
- none,
- <<"gleam assert"/utf8>>,
- <<"Assert failed"/utf8>>,
- <<"Patterns should match"/utf8>>,
- showtime@internal@reports@styles:error_style(
- gleam@string:inspect(
- Value
- )
- ),
- {some, Line_no},
- erlang:element(
- 2,
- erlang:element(
- 4,
- Exception
- )
- )},
- erlang:element(
- 2,
- Module_and_test_run
- ),
- erlang:element(
- 2,
- Test_function@1
- ),
- erlang:element(5, Exception)
- )};
-
- {generic_exception, Value@1} ->
- {ok,
- format_reason(
- {unified_error,
- none,
- <<"generic exception"/utf8>>,
- <<"Test function threw an exception"/utf8>>,
- <<"Exception in test function"/utf8>>,
- showtime@internal@reports@styles:error_style(
- gleam@string:inspect(
- Value@1
- )
- ),
- none,
- erlang:element(
- 2,
- erlang:element(
- 4,
- Exception
- )
- )},
- erlang:element(
- 2,
- Module_and_test_run
- ),
- erlang:element(
- 2,
- Test_function@1
- ),
- erlang:element(5, Exception)
- )};
-
- Other ->
- gleam@io:println(
- <<"Other: "/utf8,
- (gleam@string:inspect(Other))/binary>>
- ),
- erlang:error(#{gleam_error => panic,
- message => <<"panic expression evaluated"/utf8>>,
- module => <<"showtime/internal/reports/formatter"/utf8>>,
- function => <<"create_test_report"/utf8>>,
- line => 178}),
- {error, nil}
- end;
-
- _ ->
- {error, nil}
- end;
-
- _ ->
- {error, nil}
- end
- end
- ),
- gleam@list:fold(
- _pipe@12,
- [],
- fun(Rows, Test_rows) -> gleam@list:append(Rows, Test_rows) end
- )
- end,
- All_test_execution_time_reports = begin
- _pipe@13 = All_test_runs,
- gleam@list:filter_map(_pipe@13, fun(Test_run@2) -> case Test_run@2 of
- {completed_test_run, Test_function@2, Total_time, _} ->
- {ok,
- <<<<<<(erlang:element(2, Test_function@2))/binary,
- ": "/utf8>>/binary,
- (gleam@int:to_string(Total_time))/binary>>/binary,
- " ms"/utf8>>};
-
- _ ->
- {error, nil}
- end end)
- end,
- _ = begin
- _pipe@14 = All_test_execution_time_reports,
- gleam@string:join(_pipe@14, <<"\n"/utf8>>)
- end,
- All_tests_count = begin
- _pipe@15 = All_test_runs,
- gleam@list:length(_pipe@15)
- end,
- Ignored_tests_count = begin
- _pipe@16 = Ignored_test_runs,
- gleam@list:length(_pipe@16)
- end,
- Failed_tests_count = begin
- _pipe@17 = Failed_test_runs,
- gleam@list:length(_pipe@17)
- end,
- Passed = showtime@internal@reports@styles:passed_style(
- <<(gleam@int:to_string(
- (All_tests_count - Failed_tests_count) - Ignored_tests_count
- ))/binary,
- " passed"/utf8>>
- ),
- Failed = showtime@internal@reports@styles:failed_style(
- <<(gleam@int:to_string(Failed_tests_count))/binary, " failed"/utf8>>
- ),
- Ignored = case Ignored_tests_count of
- 0 ->
- <<""/utf8>>;
-
- _ ->
- <<", "/utf8,
- (showtime@internal@reports@styles:ignored_style(
- <<(gleam@int:to_string(Ignored_tests_count))/binary,
- " ignored"/utf8>>
- ))/binary>>
- end,
- Failed_tests_table = begin
- _pipe@18 = {table, none, Failed_tests_report},
- _pipe@19 = showtime@internal@reports@table:align_table(_pipe@18),
- showtime@internal@reports@table:to_string(_pipe@19)
- end,
- Test_report = <<<<<<<<<<<<"\n"/utf8, Failed_tests_table/binary>>/binary,
- "\n"/utf8>>/binary,
- Passed/binary>>/binary,
- ", "/utf8>>/binary,
- Failed/binary>>/binary,
- Ignored/binary>>,
- {Test_report, Failed_tests_count}.
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@styles.cache b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@styles.cache
deleted file mode 100644
index 7dd3121..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@styles.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@styles.cache_meta b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@styles.cache_meta
deleted file mode 100644
index c0078b3..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@styles.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@styles.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@styles.erl
deleted file mode 100644
index ec6230c..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@styles.erl
+++ /dev/null
@@ -1,93 +0,0 @@
--module(showtime@internal@reports@styles).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([not_style/1, module_style/1, heading_style/1, stacktrace_style/1, failed_style/1, error_style/1, got_highlight/1, passed_style/1, expected_highlight/1, ignored_style/1, function_style/1, strip_style/1]).
-
--spec not_style(binary()) -> binary().
-not_style(Text) ->
- gleam_community@ansi:bold(Text).
-
--spec module_style(binary()) -> binary().
-module_style(Text) ->
- gleam_community@ansi:cyan(Text).
-
--spec heading_style(binary()) -> binary().
-heading_style(Text) ->
- gleam_community@ansi:cyan(Text).
-
--spec stacktrace_style(binary()) -> binary().
-stacktrace_style(Text) ->
- Text.
-
--spec bold_red(binary()) -> binary().
-bold_red(Text) ->
- gleam_community@ansi:bold(gleam_community@ansi:red(Text)).
-
--spec failed_style(binary()) -> binary().
-failed_style(Text) ->
- bold_red(Text).
-
--spec error_style(binary()) -> binary().
-error_style(Text) ->
- bold_red(Text).
-
--spec got_highlight(binary()) -> binary().
-got_highlight(Text) ->
- bold_red(Text).
-
--spec bold_green(binary()) -> binary().
-bold_green(Text) ->
- gleam_community@ansi:bold(gleam_community@ansi:green(Text)).
-
--spec passed_style(binary()) -> binary().
-passed_style(Text) ->
- bold_green(Text).
-
--spec expected_highlight(binary()) -> binary().
-expected_highlight(Text) ->
- bold_green(Text).
-
--spec bold_yellow(binary()) -> binary().
-bold_yellow(Text) ->
- gleam_community@ansi:bold(gleam_community@ansi:yellow(Text)).
-
--spec ignored_style(binary()) -> binary().
-ignored_style(Text) ->
- bold_yellow(Text).
-
--spec bold_cyan(binary()) -> binary().
-bold_cyan(Text) ->
- gleam_community@ansi:bold(gleam_community@ansi:cyan(Text)).
-
--spec function_style(binary()) -> binary().
-function_style(Text) ->
- bold_cyan(Text).
-
--spec strip_style(binary()) -> binary().
-strip_style(Text) ->
- {New_text, _} = begin
- _pipe = Text,
- _pipe@1 = gleam@string:to_graphemes(_pipe),
- gleam@list:fold(
- _pipe@1,
- {<<""/utf8>>, false},
- fun(Acc, Char) ->
- {Str, Removing} = Acc,
- Bit_char = gleam_stdlib:identity(Char),
- case {Bit_char, Removing} of
- {<<16#1b>>, _} ->
- {Str, true};
-
- {<<16#6d>>, true} ->
- {Str, false};
-
- {_, true} ->
- {Str, true};
-
- {_, false} ->
- {<<Str/binary, Char/binary>>, false}
- end
- end
- )
- end,
- New_text.
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@table.cache b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@table.cache
deleted file mode 100644
index 61c532d..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@table.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@table.cache_meta b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@table.cache_meta
deleted file mode 100644
index 080524c..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@table.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@table.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@table.erl
deleted file mode 100644
index 35dbba3..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@internal@reports@table.erl
+++ /dev/null
@@ -1,229 +0,0 @@
--module(showtime@internal@reports@table).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([to_string/1, align_table/1]).
--export_type([content/0, col/0, table/0]).
-
--type content() :: {content, binary()} | {styled_content, binary()}.
-
--type col() :: {align_right, content(), integer()} |
- {align_left, content(), integer()} |
- {align_right_overflow, content(), integer()} |
- {align_left_overflow, content(), integer()} |
- {separator, binary()} |
- {aligned, binary()}.
-
--type table() :: {table, gleam@option:option(binary()), list(list(col()))}.
-
--spec to_string(table()) -> binary().
-to_string(Table) ->
- Rows = begin
- _pipe = erlang:element(3, Table),
- _pipe@3 = gleam@list:map(_pipe, fun(Row) -> _pipe@1 = Row,
- _pipe@2 = gleam@list:filter_map(_pipe@1, fun(Col) -> case Col of
- {separator, Char} ->
- {ok, Char};
-
- {aligned, Content} ->
- {ok, Content};
-
- _ ->
- {error, nil}
- end end),
- gleam@string:join(_pipe@2, <<""/utf8>>) end),
- gleam@string:join(_pipe@3, <<"\n"/utf8>>)
- end,
- Header@1 = begin
- _pipe@4 = erlang:element(2, Table),
- _pipe@5 = gleam@option:map(
- _pipe@4,
- fun(Header) -> <<Header/binary, "\n"/utf8>> end
- ),
- gleam@option:unwrap(_pipe@5, <<""/utf8>>)
- end,
- <<Header@1/binary, Rows/binary>>.
-
--spec pad_left(binary(), integer(), binary()) -> binary().
-pad_left(Str, Num, Char) ->
- Padding = begin
- _pipe = gleam@list:repeat(Char, Num),
- gleam@string:join(_pipe, <<""/utf8>>)
- end,
- <<Padding/binary, Str/binary>>.
-
--spec pad_right(binary(), integer(), binary()) -> binary().
-pad_right(Str, Num, Char) ->
- Padding = begin
- _pipe = gleam@list:repeat(Char, Num),
- gleam@string:join(_pipe, <<""/utf8>>)
- end,
- <<Str/binary, Padding/binary>>.
-
--spec align_table(table()) -> table().
-align_table(Table) ->
- Cols = begin
- _pipe = erlang:element(3, Table),
- gleam@list:transpose(_pipe)
- end,
- Col_width = begin
- _pipe@1 = Cols,
- gleam@list:map(_pipe@1, fun(Col) -> _pipe@2 = Col,
- _pipe@3 = gleam@list:map(
- _pipe@2,
- fun(Content) -> case Content of
- {align_right, {content, Unstyled}, _} ->
- Unstyled;
-
- {align_right, {styled_content, Styled}, _} ->
- showtime@internal@reports@styles:strip_style(
- Styled
- );
-
- {align_left, {content, Unstyled@1}, _} ->
- Unstyled@1;
-
- {align_left, {styled_content, Styled@1}, _} ->
- showtime@internal@reports@styles:strip_style(
- Styled@1
- );
-
- {align_left_overflow, _, _} ->
- <<""/utf8>>;
-
- {align_right_overflow, _, _} ->
- <<""/utf8>>;
-
- {separator, Char} ->
- Char;
-
- {aligned, Content@1} ->
- Content@1
- end end
- ),
- gleam@list:fold(
- _pipe@3,
- 0,
- fun(Max, Str) ->
- gleam@int:max(Max, gleam@string:length(Str))
- end
- ) end)
- end,
- Aligned_col = begin
- _pipe@4 = Cols,
- _pipe@5 = gleam@list:zip(_pipe@4, Col_width),
- gleam@list:map(
- _pipe@5,
- fun(Col_and_width) ->
- {Col@1, Width} = Col_and_width,
- _pipe@6 = Col@1,
- gleam@list:map(_pipe@6, fun(Content@2) -> case Content@2 of
- {align_right, {content, Unstyled@2}, Margin} ->
- {aligned,
- pad_left(
- Unstyled@2,
- (Width + Margin) - gleam@string:length(
- Unstyled@2
- ),
- <<" "/utf8>>
- )};
-
- {align_right, {styled_content, Styled@2}, Margin@1} ->
- {aligned,
- pad_left(
- Styled@2,
- (Width + Margin@1) - gleam@string:length(
- showtime@internal@reports@styles:strip_style(
- Styled@2
- )
- ),
- <<" "/utf8>>
- )};
-
- {align_right_overflow,
- {content, Unstyled@3},
- Margin@2} ->
- {aligned,
- pad_left(
- Unstyled@3,
- (Width + Margin@2) - gleam@string:length(
- Unstyled@3
- ),
- <<" "/utf8>>
- )};
-
- {align_right_overflow,
- {styled_content, Styled@3},
- Margin@3} ->
- {aligned,
- pad_left(
- Styled@3,
- (Width + Margin@3) - gleam@string:length(
- showtime@internal@reports@styles:strip_style(
- Styled@3
- )
- ),
- <<" "/utf8>>
- )};
-
- {align_left, {content, Unstyled@4}, Margin@4} ->
- {aligned,
- pad_right(
- Unstyled@4,
- (Width + Margin@4) - gleam@string:length(
- Unstyled@4
- ),
- <<" "/utf8>>
- )};
-
- {align_left, {styled_content, Styled@4}, Margin@5} ->
- {aligned,
- pad_right(
- Styled@4,
- (Width + Margin@5) - gleam@string:length(
- showtime@internal@reports@styles:strip_style(
- Styled@4
- )
- ),
- <<" "/utf8>>
- )};
-
- {align_left_overflow,
- {content, Unstyled@5},
- Margin@6} ->
- {aligned,
- pad_right(
- Unstyled@5,
- (Width + Margin@6) - gleam@string:length(
- Unstyled@5
- ),
- <<" "/utf8>>
- )};
-
- {align_left_overflow,
- {styled_content, Styled@5},
- Margin@7} ->
- {aligned,
- pad_right(
- Styled@5,
- (Width + Margin@7) - gleam@string:length(
- showtime@internal@reports@styles:strip_style(
- Styled@5
- )
- ),
- <<" "/utf8>>
- )};
-
- {separator, Char@1} ->
- {separator, Char@1};
-
- {aligned, Content@3} ->
- {aligned, Content@3}
- end end)
- end
- )
- end,
- Aligned_rows = begin
- _pipe@7 = Aligned_col,
- gleam@list:transpose(_pipe@7)
- end,
- erlang:setelement(3, Table, Aligned_rows).
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@meta.cache b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@meta.cache
deleted file mode 100644
index 4aa8df1..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@meta.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@meta.cache_meta b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@meta.cache_meta
deleted file mode 100644
index 7f1bdda..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@meta.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@meta.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@meta.erl
deleted file mode 100644
index c975467..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@meta.erl
+++ /dev/null
@@ -1,8 +0,0 @@
--module(showtime@tests@meta).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export_type([meta/0]).
-
--type meta() :: {meta, binary(), list(binary())}.
-
-
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@should.cache b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@should.cache
deleted file mode 100644
index 90d3838..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@should.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@should.cache_meta b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@should.cache_meta
deleted file mode 100644
index fcc4e8a..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@should.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@should.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@should.erl
deleted file mode 100644
index 05bea8f..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@should.erl
+++ /dev/null
@@ -1,143 +0,0 @@
--module(showtime@tests@should).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([evaluate/1, equal/2, equal_meta/3, not_equal/2, not_equal_meta/3, be_ok/1, be_ok_meta/2, be_error/1, be_error_meta/2, fail/0, fail_meta/1, be_true/1, be_true_meta/2, be_false/1, be_false_meta/2]).
--export_type([assertion/2]).
-
--type assertion(MXN, MXO) :: {eq,
- MXN,
- MXN,
- gleam@option:option(showtime@tests@meta:meta())} |
- {not_eq, MXN, MXN, gleam@option:option(showtime@tests@meta:meta())} |
- {is_ok,
- {ok, MXN} | {error, MXO},
- gleam@option:option(showtime@tests@meta:meta())} |
- {is_error,
- {ok, MXN} | {error, MXO},
- gleam@option:option(showtime@tests@meta:meta())} |
- {fail, gleam@option:option(showtime@tests@meta:meta())}.
-
--spec evaluate(assertion(any(), any())) -> nil.
-evaluate(Assertion) ->
- case Assertion of
- {eq, A, B, _} ->
- case A =:= B of
- true ->
- nil;
-
- false ->
- showtime_ffi:gleam_error({error, Assertion})
- end;
-
- {not_eq, A@1, B@1, _} ->
- case A@1 /= B@1 of
- true ->
- nil;
-
- false ->
- showtime_ffi:gleam_error({error, Assertion})
- end;
-
- {is_ok, A@2, _} ->
- case A@2 of
- {ok, _} ->
- nil;
-
- {error, _} ->
- showtime_ffi:gleam_error({error, Assertion})
- end;
-
- {is_error, A@3, _} ->
- case A@3 of
- {error, _} ->
- nil;
-
- {ok, _} ->
- showtime_ffi:gleam_error({error, Assertion})
- end;
-
- {fail, _} ->
- showtime_ffi:gleam_error({error, Assertion})
- end.
-
--spec equal(MXP, MXP) -> nil.
-equal(A, B) ->
- evaluate({eq, A, B, none}).
-
--spec equal_meta(MXR, MXR, showtime@tests@meta:meta()) -> nil.
-equal_meta(A, B, Meta) ->
- evaluate({eq, A, B, {some, Meta}}).
-
--spec not_equal(MXT, MXT) -> nil.
-not_equal(A, B) ->
- evaluate({not_eq, A, B, none}).
-
--spec not_equal_meta(MXV, MXV, showtime@tests@meta:meta()) -> nil.
-not_equal_meta(A, B, Meta) ->
- evaluate({not_eq, A, B, {some, Meta}}).
-
--spec be_ok({ok, MXX} | {error, any()}) -> MXX.
-be_ok(A) ->
- evaluate({is_ok, A, none}),
- {ok, Value} = case A of
- {ok, _} -> A;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"showtime/tests/should"/utf8>>,
- function => <<"be_ok"/utf8>>,
- line => 30})
- end,
- Value.
-
--spec be_ok_meta({ok, any()} | {error, any()}, showtime@tests@meta:meta()) -> nil.
-be_ok_meta(A, Meta) ->
- evaluate({is_ok, A, {some, Meta}}).
-
--spec be_error({ok, any()} | {error, MYI}) -> MYI.
-be_error(A) ->
- evaluate({is_error, A, none}),
- {error, Value} = case A of
- {error, _} -> A;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"showtime/tests/should"/utf8>>,
- function => <<"be_error"/utf8>>,
- line => 40})
- end,
- Value.
-
--spec be_error_meta({ok, any()} | {error, any()}, showtime@tests@meta:meta()) -> nil.
-be_error_meta(A, Meta) ->
- evaluate({is_error, A, {some, Meta}}).
-
--spec fail() -> nil.
-fail() ->
- evaluate({fail, none}).
-
--spec fail_meta(showtime@tests@meta:meta()) -> nil.
-fail_meta(Meta) ->
- evaluate({fail, {some, Meta}}).
-
--spec be_true(boolean()) -> nil.
-be_true(A) ->
- _pipe = A,
- equal(_pipe, true).
-
--spec be_true_meta(boolean(), showtime@tests@meta:meta()) -> nil.
-be_true_meta(A, Meta) ->
- _pipe = A,
- equal_meta(_pipe, true, Meta).
-
--spec be_false(boolean()) -> nil.
-be_false(A) ->
- _pipe = A,
- equal(_pipe, false).
-
--spec be_false_meta(boolean(), showtime@tests@meta:meta()) -> nil.
-be_false_meta(A, Meta) ->
- _pipe = A,
- equal_meta(_pipe, false, Meta).
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@test.cache b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@test.cache
deleted file mode 100644
index d07ea1b..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@test.cache_meta b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@test.cache_meta
deleted file mode 100644
index 8354c6f..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@test.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@test.erl
deleted file mode 100644
index 2f65614..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime@tests@test.erl
+++ /dev/null
@@ -1,57 +0,0 @@
--module(showtime@tests@test).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([test/2, equal/3, not_equal/3, with_meta/2, be_ok/2, be_error/2, fail/1, be_true/2, be_false/2]).
--export_type([test/0, meta_should/1]).
-
--type test() :: {test, showtime@tests@meta:meta(), fun(() -> nil)}.
-
--type meta_should(OKH) :: {meta_should,
- fun((OKH, OKH) -> nil),
- fun((OKH, OKH) -> nil)}.
-
--spec test(showtime@tests@meta:meta(), fun((showtime@tests@meta:meta()) -> nil)) -> test().
-test(Meta, Test_function) ->
- {test, Meta, fun() -> Test_function(Meta) end}.
-
--spec equal(OKM, OKM, showtime@tests@meta:meta()) -> nil.
-equal(A, B, Meta) ->
- gleam@io:debug(A),
- gleam@io:debug(B),
- showtime@tests@should:equal_meta(A, B, Meta).
-
--spec not_equal(OKO, OKO, showtime@tests@meta:meta()) -> nil.
-not_equal(A, B, Meta) ->
- showtime@tests@should:equal_meta(A, B, Meta).
-
--spec with_meta(showtime@tests@meta:meta(), fun((meta_should(any())) -> nil)) -> test().
-with_meta(Meta, Test_function) ->
- {test,
- Meta,
- fun() ->
- Test_function(
- {meta_should,
- fun(A, B) -> equal(A, B, Meta) end,
- fun(A@1, B@1) -> not_equal(A@1, B@1, Meta) end}
- )
- end}.
-
--spec be_ok({ok, any()} | {error, any()}, showtime@tests@meta:meta()) -> nil.
-be_ok(A, Meta) ->
- showtime@tests@should:be_ok_meta(A, Meta).
-
--spec be_error({ok, any()} | {error, any()}, showtime@tests@meta:meta()) -> nil.
-be_error(A, Meta) ->
- showtime@tests@should:be_error_meta(A, Meta).
-
--spec fail(showtime@tests@meta:meta()) -> nil.
-fail(Meta) ->
- showtime@tests@should:fail_meta(Meta).
-
--spec be_true(boolean(), showtime@tests@meta:meta()) -> nil.
-be_true(A, Meta) ->
- showtime@tests@should:be_true_meta(A, Meta).
-
--spec be_false(boolean(), showtime@tests@meta:meta()) -> nil.
-be_false(A, Meta) ->
- showtime@tests@should:be_false_meta(A, Meta).
diff --git a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime_ffi.erl b/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime_ffi.erl
deleted file mode 100644
index 3259623..0000000
--- a/aoc2023/build/dev/erlang/adglent/_gleam_artefacts/showtime_ffi.erl
+++ /dev/null
@@ -1,187 +0,0 @@
--module(showtime_ffi).
-
--export([run_test/4, functions/0, capture_output/1, gleam_error/1]).
-
-gleam_error(Value) ->
- erlang:error(#{
- gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => Value,
- module => <<"this/is/not/used"/utf8>>,
- function => <<"gleam_error"/utf8>>,
- % Not used
- line => 0
- }).
-
-start_output_capture(Capture) ->
- OldGroupLeader = group_leader(),
- CapturePid = spawn(showtime_ffi, capture_output, [{[], {OldGroupLeader, Capture}}]),
- group_leader(CapturePid, self()),
- {CapturePid, OldGroupLeader}.
-
-stop_output_capture({CapturePid, OldGroupLeader}) ->
- group_leader(OldGroupLeader, self()),
- CapturePid ! {capture_done, self()},
- receive
- Buffer ->
- Buffer
- end.
-
-capture_output({Buffer, {OldGroupLeader, Capture}}) ->
- receive
- {io_request, From, ReplyAs, {put_chars, unicode, BitString}} ->
- case Capture of
- yes ->
- From ! {io_reply, ReplyAs, ok},
- capture_output({[BitString | Buffer], {OldGroupLeader, Capture}});
- mixed ->
- OldGroupLeader ! {io_request, From, ReplyAs, {put_chars, unicode, BitString}},
- capture_output({[BitString | Buffer], {OldGroupLeader, Capture}});
- no ->
- OldGroupLeader ! {io_request, From, ReplyAs, {put_chars, unicode, BitString}},
- capture_output({Buffer, {OldGroupLeader, Capture}})
- end;
- {capture_done, SenderPid} ->
- SenderPid ! Buffer;
- OtherMessage ->
- OldGroupLeader ! OtherMessage,
- capture_output({Buffer, {OldGroupLeader, Capture}})
- end.
-
-run_test(Module, Function, IgnoreTags, Capture) ->
- OutputCapture = start_output_capture(Capture),
- try
- Result = apply(Module, Function, []),
- {ResultType, FinalResult} =
- case Result of
- {test, {meta, _Description, Tags}, TestFun} ->
- case
- lists:any(
- fun(Tag) ->
- lists:any(fun(IgnoreTag) -> IgnoreTag == Tag end, IgnoreTags)
- end,
- Tags
- )
- of
- true ->
- {ignored, ignore};
- false ->
- {test_function_return, TestFun()}
- end;
- DirectResult ->
- {test_function_return, DirectResult}
- end,
- OutputCaptureBuffer = stop_output_capture(OutputCapture),
- case ResultType of
- ignored -> {ok, {ResultType, FinalResult}};
- _ -> {ok, {ResultType, FinalResult, OutputCaptureBuffer}}
- end
- catch
- Class:Reason:Stacktrace ->
- GleamReason =
- case Reason of
- {Assertion, ReasonList} ->
- ErlangReasonList =
- lists:map(
- fun(ReasonDetail) ->
- case ReasonDetail of
- {line, LineNo} ->
- {reason_line, LineNo};
- {expression, List} ->
- {expression, list_to_binary(List)};
- {module, ModuleAtom} ->
- {module, atom_to_binary(ModuleAtom)};
- {pattern, Pattern} ->
- {pattern, list_to_binary(Pattern)};
- Other ->
- Other
- end
- end,
- ReasonList
- ),
- GleamAssertionType =
- case Assertion of
- assertEqual ->
- assert_equal;
- assertNotEqual ->
- assert_not_equal;
- assertMatch ->
- assert_match;
- OtherAssertionType ->
- OtherAssertionType
- end,
- {GleamAssertionType, ErlangReasonList};
- #{
- function := GleamFunction,
- gleam_error := GleamError,
- line := Line,
- message := Message,
- module := GleamModule,
- value := Value
- } ->
- case Value of
- {error, {OkValue, _, _, _}} when OkValue == not_eq; OkValue == eq ->
- {gleam_error,
- {GleamError, GleamModule, GleamFunction, Line, Message, Value}};
- {error, {OkValue, _, _}} when OkValue == is_ok; OkValue == is_error ->
- {gleam_error,
- {GleamError, GleamModule, GleamFunction, Line, Message, Value}};
- {error, {OkValue, _}} when OkValue == fail ->
- {gleam_error,
- {GleamError, GleamModule, GleamFunction, Line, Message, Value}};
- _ ->
- {gleam_assert, Value, Line}
- end;
- OtherReason ->
- {generic_exception, OtherReason}
- end,
- GleamClass =
- case Class of
- error ->
- erlang_error;
- Other ->
- Other
- end,
- GleamTraceList =
- lists:map(
- fun(Trace) ->
- case Trace of
- {ModuleName, FunctionName, Arity, ExtraInfoList} ->
- {trace_module, atom_to_binary(ModuleName),
- atom_to_binary(FunctionName), map_arity(Arity),
- map_extra_info_list(ExtraInfoList)};
- {FunctionName, Arity, ExtraInfoList} ->
- {trace, atom_to_binary(FunctionName), map_arity(Arity),
- map_extra_info_list(ExtraInfoList)}
- end
- end,
- Stacktrace
- ),
- OutputCaptureBufferCatch = stop_output_capture(OutputCapture),
- {error,
- {erlang_exception, GleamClass, GleamReason, {trace_list, GleamTraceList},
- OutputCaptureBufferCatch}}
- end.
-
-map_extra_info_list(ExtraInfoList) ->
- lists:map(
- fun(ExtraInfo) ->
- case ExtraInfo of
- {file, FileNameList} -> {file, list_to_binary(FileNameList)};
- Other -> Other
- end
- end,
- ExtraInfoList
- ).
-
-map_arity(Arity) ->
- if
- is_list(Arity) ->
- {arg_list, Arity};
- is_integer(Arity) ->
- {num, Arity}
- end.
-
-functions() ->
- Funs = module_info(exports),
- Funs.
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/adglent.app b/aoc2023/build/dev/erlang/adglent/ebin/adglent.app
deleted file mode 100644
index f8e1aa6..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/adglent.app
+++ /dev/null
@@ -1,17 +0,0 @@
-{application, adglent, [
- {vsn, "1.2.0"},
- {applications, [gap,
- gleam_community_ansi,
- gleam_erlang,
- gleam_http,
- gleam_httpc,
- gleam_otp,
- gleam_stdlib,
- glint,
- simplifile,
- snag,
- tom]},
- {description, "Advent of code helper - automating setup of tests, solution template and problem input"},
- {modules, []},
- {registered, []}
-]}.
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/adglent.beam b/aoc2023/build/dev/erlang/adglent/ebin/adglent.beam
deleted file mode 100644
index c53eb59..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/adglent.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/adglent@day.beam b/aoc2023/build/dev/erlang/adglent/ebin/adglent@day.beam
deleted file mode 100644
index 9ad63c2..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/adglent@day.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/adglent@init.beam b/aoc2023/build/dev/erlang/adglent/ebin/adglent@init.beam
deleted file mode 100644
index 37d94e6..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/adglent@init.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/adglent_ffi.beam b/aoc2023/build/dev/erlang/adglent/ebin/adglent_ffi.beam
deleted file mode 100644
index 259f958..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/adglent_ffi.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/priv@aoc_client.beam b/aoc2023/build/dev/erlang/adglent/ebin/priv@aoc_client.beam
deleted file mode 100644
index 9a78e8e..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/priv@aoc_client.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/priv@errors.beam b/aoc2023/build/dev/erlang/adglent/ebin/priv@errors.beam
deleted file mode 100644
index c97eda5..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/priv@errors.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/priv@prompt.beam b/aoc2023/build/dev/erlang/adglent/ebin/priv@prompt.beam
deleted file mode 100644
index 50b7d68..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/priv@prompt.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/priv@template.beam b/aoc2023/build/dev/erlang/adglent/ebin/priv@template.beam
deleted file mode 100644
index cbe144e..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/priv@template.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/priv@templates@solution.beam b/aoc2023/build/dev/erlang/adglent/ebin/priv@templates@solution.beam
deleted file mode 100644
index 54c7937..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/priv@templates@solution.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/priv@templates@test_main.beam b/aoc2023/build/dev/erlang/adglent/ebin/priv@templates@test_main.beam
deleted file mode 100644
index 7e35186..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/priv@templates@test_main.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/priv@templates@testfile_gleeunit.beam b/aoc2023/build/dev/erlang/adglent/ebin/priv@templates@testfile_gleeunit.beam
deleted file mode 100644
index 7acb10e..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/priv@templates@testfile_gleeunit.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/priv@templates@testfile_showtime.beam b/aoc2023/build/dev/erlang/adglent/ebin/priv@templates@testfile_showtime.beam
deleted file mode 100644
index a77da82..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/priv@templates@testfile_showtime.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/priv@toml.beam b/aoc2023/build/dev/erlang/adglent/ebin/priv@toml.beam
deleted file mode 100644
index 1788e31..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/priv@toml.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/showtime.beam b/aoc2023/build/dev/erlang/adglent/ebin/showtime.beam
deleted file mode 100644
index d3a477e..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/showtime.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@common@cli.beam b/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@common@cli.beam
deleted file mode 100644
index e9be51d..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@common@cli.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@common@common_event_handler.beam b/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@common@common_event_handler.beam
deleted file mode 100644
index de943fd..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@common@common_event_handler.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@common@test_result.beam b/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@common@test_result.beam
deleted file mode 100644
index f7b2f57..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@common@test_result.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@common@test_suite.beam b/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@common@test_suite.beam
deleted file mode 100644
index 6146227..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@common@test_suite.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@erlang@discover.beam b/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@erlang@discover.beam
deleted file mode 100644
index 4f28602..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@erlang@discover.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@erlang@event_handler.beam b/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@erlang@event_handler.beam
deleted file mode 100644
index ed9bbda..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@erlang@event_handler.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@erlang@module_handler.beam b/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@erlang@module_handler.beam
deleted file mode 100644
index 75e190f..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@erlang@module_handler.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@erlang@runner.beam b/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@erlang@runner.beam
deleted file mode 100644
index d0a69a6..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@erlang@runner.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@reports@compare.beam b/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@reports@compare.beam
deleted file mode 100644
index dc16640..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@reports@compare.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@reports@formatter.beam b/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@reports@formatter.beam
deleted file mode 100644
index 7d6a27a..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@reports@formatter.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@reports@styles.beam b/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@reports@styles.beam
deleted file mode 100644
index 3a5c720..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@reports@styles.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@reports@table.beam b/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@reports@table.beam
deleted file mode 100644
index 7778cd8..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/showtime@internal@reports@table.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/showtime@tests@meta.beam b/aoc2023/build/dev/erlang/adglent/ebin/showtime@tests@meta.beam
deleted file mode 100644
index 2f911da..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/showtime@tests@meta.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/showtime@tests@should.beam b/aoc2023/build/dev/erlang/adglent/ebin/showtime@tests@should.beam
deleted file mode 100644
index 14ead72..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/showtime@tests@should.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/showtime@tests@test.beam b/aoc2023/build/dev/erlang/adglent/ebin/showtime@tests@test.beam
deleted file mode 100644
index f3d21e6..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/showtime@tests@test.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/ebin/showtime_ffi.beam b/aoc2023/build/dev/erlang/adglent/ebin/showtime_ffi.beam
deleted file mode 100644
index 95c965e..0000000
--- a/aoc2023/build/dev/erlang/adglent/ebin/showtime_ffi.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/adglent/include/adglent_Example.hrl b/aoc2023/build/dev/erlang/adglent/include/adglent_Example.hrl
deleted file mode 100644
index 615e473..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/adglent_Example.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(example, {input :: binary(), answer :: any()}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/priv@toml_TomGetError.hrl b/aoc2023/build/dev/erlang/adglent/include/priv@toml_TomGetError.hrl
deleted file mode 100644
index 4cd5ddd..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/priv@toml_TomGetError.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(tom_get_error, {error :: tom:get_error()}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/priv@toml_TomParseError.hrl b/aoc2023/build/dev/erlang/adglent/include/priv@toml_TomParseError.hrl
deleted file mode 100644
index 7306934..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/priv@toml_TomParseError.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(tom_parse_error, {error :: tom:parse_error()}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@common_event_handler_Finished.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@common_event_handler_Finished.hrl
deleted file mode 100644
index 7d24e52..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@common_event_handler_Finished.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(finished, {num_modules :: integer()}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@common_event_handler_HandlerState.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@common_event_handler_HandlerState.hrl
deleted file mode 100644
index 3efcd39..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@common_event_handler_HandlerState.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(handler_state, {
- test_state :: showtime@internal@common@common_event_handler:test_state(),
- num_done :: integer(),
- events :: gleam@dict:dict(binary(), gleam@dict:dict(binary(), showtime@internal@common@test_suite:test_run()))
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_ArgList.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_ArgList.hrl
deleted file mode 100644
index 79f34f8..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_ArgList.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(arg_list, {arg_list :: list(gleam@dynamic:dynamic_())}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_AssertEqual.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_AssertEqual.hrl
deleted file mode 100644
index c6458ba..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_AssertEqual.hrl
+++ /dev/null
@@ -1,3 +0,0 @@
--record(assert_equal, {
- details :: list(showtime@internal@common@test_result:reason_detail())
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_AssertMatch.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_AssertMatch.hrl
deleted file mode 100644
index 4920304..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_AssertMatch.hrl
+++ /dev/null
@@ -1,3 +0,0 @@
--record(assert_match, {
- details :: list(showtime@internal@common@test_result:reason_detail())
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_AssertNotEqual.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_AssertNotEqual.hrl
deleted file mode 100644
index 221c15f..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_AssertNotEqual.hrl
+++ /dev/null
@@ -1,3 +0,0 @@
--record(assert_not_equal, {
- details :: list(showtime@internal@common@test_result:reason_detail())
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_ErlangException.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_ErlangException.hrl
deleted file mode 100644
index 9a31ba8..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_ErlangException.hrl
+++ /dev/null
@@ -1,6 +0,0 @@
--record(erlang_exception, {
- class :: showtime@internal@common@test_result:class(),
- reason :: showtime@internal@common@test_result:reason(),
- stacktrace :: showtime@internal@common@test_result:trace_list(),
- output_buffer :: list(binary())
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_ErrorInfo.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_ErrorInfo.hrl
deleted file mode 100644
index 4e0244d..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_ErrorInfo.hrl
+++ /dev/null
@@ -1,3 +0,0 @@
--record(error_info, {
- error_info :: gleam@dict:dict(gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_())
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Expected.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Expected.hrl
deleted file mode 100644
index 5e40ad3..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Expected.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(expected, {value :: gleam@dynamic:dynamic_()}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Expression.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Expression.hrl
deleted file mode 100644
index 7aa0c35..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Expression.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(expression, {expression :: binary()}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_File.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_File.hrl
deleted file mode 100644
index 1274b74..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_File.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(file, {filename :: binary()}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_GenericException.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_GenericException.hrl
deleted file mode 100644
index 7c33d0d..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_GenericException.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(generic_exception, {value :: gleam@dynamic:dynamic_()}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_GleamAssert.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_GleamAssert.hrl
deleted file mode 100644
index 095748c..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_GleamAssert.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(gleam_assert, {value :: gleam@dynamic:dynamic_(), line_no :: integer()}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_GleamError.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_GleamError.hrl
deleted file mode 100644
index 68e6645..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_GleamError.hrl
+++ /dev/null
@@ -1,3 +0,0 @@
--record(gleam_error, {
- details :: showtime@internal@common@test_result:gleam_error_detail()
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Ignored.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Ignored.hrl
deleted file mode 100644
index 87b7e2f..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Ignored.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(ignored, {reason :: showtime@internal@common@test_result:ignore_reason()}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_LetAssert.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_LetAssert.hrl
deleted file mode 100644
index 5f3f60d..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_LetAssert.hrl
+++ /dev/null
@@ -1,7 +0,0 @@
--record(let_assert, {
- module :: binary(),
- function :: binary(),
- line_no :: integer(),
- message :: binary(),
- value :: gleam@dynamic:dynamic_()
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Line.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Line.hrl
deleted file mode 100644
index 9807df6..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Line.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(line, {line_no :: integer()}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Module.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Module.hrl
deleted file mode 100644
index 8002c0c..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Module.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(module, {name :: binary()}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Num.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Num.hrl
deleted file mode 100644
index c36efa3..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Num.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(num, {arity :: integer()}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Pattern.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Pattern.hrl
deleted file mode 100644
index 6aa9c84..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Pattern.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(pattern, {pattern :: binary()}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_ReasonLine.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_ReasonLine.hrl
deleted file mode 100644
index b7ad1ab..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_ReasonLine.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(reason_line, {line_no :: integer()}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_TestFunctionReturn.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_TestFunctionReturn.hrl
deleted file mode 100644
index b0bc294..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_TestFunctionReturn.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(test_function_return, {
- value :: gleam@dynamic:dynamic_(),
- output_buffer :: list(binary())
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Trace.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Trace.hrl
deleted file mode 100644
index 4cb007c..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Trace.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(trace, {
- function :: binary(),
- arity :: showtime@internal@common@test_result:arity_(),
- extra_info :: list(showtime@internal@common@test_result:extra_info())
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_TraceList.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_TraceList.hrl
deleted file mode 100644
index c1aa9c5..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_TraceList.hrl
+++ /dev/null
@@ -1,3 +0,0 @@
--record(trace_list, {
- traces :: list(showtime@internal@common@test_result:trace())
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_TraceModule.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_TraceModule.hrl
deleted file mode 100644
index 595362f..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_TraceModule.hrl
+++ /dev/null
@@ -1,6 +0,0 @@
--record(trace_module, {
- module :: binary(),
- function :: binary(),
- arity :: showtime@internal@common@test_result:arity_(),
- extra_info :: list(showtime@internal@common@test_result:extra_info())
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Value.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Value.hrl
deleted file mode 100644
index 3a4b0dd..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_result_Value.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(value, {value :: gleam@dynamic:dynamic_()}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_CompletedTestRun.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_CompletedTestRun.hrl
deleted file mode 100644
index 927a0cf..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_CompletedTestRun.hrl
+++ /dev/null
@@ -1,6 +0,0 @@
--record(completed_test_run, {
- test_function :: showtime@internal@common@test_suite:test_function(),
- total_time :: integer(),
- result :: {ok, showtime@internal@common@test_result:test_return()} |
- {error, showtime@internal@common@test_result:exception()}
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_EndTest.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_EndTest.hrl
deleted file mode 100644
index 13df1bf..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_EndTest.hrl
+++ /dev/null
@@ -1,6 +0,0 @@
--record(end_test, {
- test_module :: showtime@internal@common@test_suite:test_module(),
- test_function :: showtime@internal@common@test_suite:test_function(),
- result :: {ok, showtime@internal@common@test_result:test_return()} |
- {error, showtime@internal@common@test_result:exception()}
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_EndTestRun.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_EndTestRun.hrl
deleted file mode 100644
index 3f78991..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_EndTestRun.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(end_test_run, {num_modules :: integer()}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_EndTestSuite.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_EndTestSuite.hrl
deleted file mode 100644
index a7f37b3..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_EndTestSuite.hrl
+++ /dev/null
@@ -1,3 +0,0 @@
--record(end_test_suite, {
- test_module :: showtime@internal@common@test_suite:test_module()
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_OngoingTestRun.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_OngoingTestRun.hrl
deleted file mode 100644
index f52e5cc..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_OngoingTestRun.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(ongoing_test_run, {
- test_function :: showtime@internal@common@test_suite:test_function(),
- started_at :: integer()
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_StartTest.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_StartTest.hrl
deleted file mode 100644
index d532609..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_StartTest.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(start_test, {
- test_module :: showtime@internal@common@test_suite:test_module(),
- test_function :: showtime@internal@common@test_suite:test_function()
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_StartTestSuite.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_StartTestSuite.hrl
deleted file mode 100644
index d5a03d3..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_StartTestSuite.hrl
+++ /dev/null
@@ -1,3 +0,0 @@
--record(start_test_suite, {
- test_module :: showtime@internal@common@test_suite:test_module()
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_TestFunction.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_TestFunction.hrl
deleted file mode 100644
index a783ba4..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_TestFunction.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(test_function, {name :: binary()}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_TestModule.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_TestModule.hrl
deleted file mode 100644
index ee9baaf..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_TestModule.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(test_module, {name :: binary(), path :: gleam@option:option(binary())}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_TestSuite.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_TestSuite.hrl
deleted file mode 100644
index 253a946..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@common@test_suite_TestSuite.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(test_suite, {
- module :: showtime@internal@common@test_suite:test_module(),
- tests :: list(showtime@internal@common@test_suite:test_function())
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_AlignLeft.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_AlignLeft.hrl
deleted file mode 100644
index ca52968..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_AlignLeft.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(align_left, {
- content :: showtime@internal@reports@table:content(),
- margin :: integer()
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_AlignLeftOverflow.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_AlignLeftOverflow.hrl
deleted file mode 100644
index 8d5a673..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_AlignLeftOverflow.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(align_left_overflow, {
- content :: showtime@internal@reports@table:content(),
- margin :: integer()
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_AlignRight.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_AlignRight.hrl
deleted file mode 100644
index 7f7a3f0..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_AlignRight.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(align_right, {
- content :: showtime@internal@reports@table:content(),
- margin :: integer()
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_AlignRightOverflow.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_AlignRightOverflow.hrl
deleted file mode 100644
index 4fc4536..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_AlignRightOverflow.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(align_right_overflow, {
- content :: showtime@internal@reports@table:content(),
- margin :: integer()
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_Aligned.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_Aligned.hrl
deleted file mode 100644
index 2343dfd..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_Aligned.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(aligned, {content :: binary()}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_Content.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_Content.hrl
deleted file mode 100644
index 044891b..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_Content.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(content, {unstyled_text :: binary()}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_Separator.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_Separator.hrl
deleted file mode 100644
index db3f822..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_Separator.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(separator, {char :: binary()}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_StyledContent.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_StyledContent.hrl
deleted file mode 100644
index ed500df..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_StyledContent.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(styled_content, {styled_text :: binary()}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_Table.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_Table.hrl
deleted file mode 100644
index 5b41bb1..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@internal@reports@table_Table.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(table, {
- header :: gleam@option:option(binary()),
- rows :: list(list(showtime@internal@reports@table:col()))
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@tests@meta_Meta.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@tests@meta_Meta.hrl
deleted file mode 100644
index 14184fb..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@tests@meta_Meta.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(meta, {description :: binary(), tags :: list(binary())}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@tests@should_Eq.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@tests@should_Eq.hrl
deleted file mode 100644
index 6ebea34..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@tests@should_Eq.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(eq, {
- a :: any(),
- b :: any(),
- meta :: gleam@option:option(showtime@tests@meta:meta())
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@tests@should_Fail.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@tests@should_Fail.hrl
deleted file mode 100644
index cf06a3c..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@tests@should_Fail.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(fail, {meta :: gleam@option:option(showtime@tests@meta:meta())}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@tests@should_IsError.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@tests@should_IsError.hrl
deleted file mode 100644
index e9cabf3..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@tests@should_IsError.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(is_error, {
- a :: {ok, any()} | {error, any()},
- meta :: gleam@option:option(showtime@tests@meta:meta())
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@tests@should_IsOk.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@tests@should_IsOk.hrl
deleted file mode 100644
index 37c24ca..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@tests@should_IsOk.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(is_ok, {
- a :: {ok, any()} | {error, any()},
- meta :: gleam@option:option(showtime@tests@meta:meta())
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@tests@should_NotEq.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@tests@should_NotEq.hrl
deleted file mode 100644
index 2a6bf48..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@tests@should_NotEq.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(not_eq, {
- a :: any(),
- b :: any(),
- meta :: gleam@option:option(showtime@tests@meta:meta())
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@tests@test_MetaShould.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@tests@test_MetaShould.hrl
deleted file mode 100644
index a814a93..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@tests@test_MetaShould.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(meta_should, {
- equal :: fun((any(), any()) -> nil),
- not_equal :: fun((any(), any()) -> nil)
-}).
diff --git a/aoc2023/build/dev/erlang/adglent/include/showtime@tests@test_Test.hrl b/aoc2023/build/dev/erlang/adglent/include/showtime@tests@test_Test.hrl
deleted file mode 100644
index e75a0b7..0000000
--- a/aoc2023/build/dev/erlang/adglent/include/showtime@tests@test_Test.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(test, {
- meta :: showtime@tests@meta:meta(),
- test_function :: fun(() -> nil)
-}).
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/aoc2023.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/aoc2023.cache
deleted file mode 100644
index e31a66a..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/aoc2023.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/aoc2023.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/aoc2023.cache_meta
deleted file mode 100644
index 7d66c62..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/aoc2023.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/aoc2023.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/aoc2023.erl
deleted file mode 100644
index 12159d0..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/aoc2023.erl
+++ /dev/null
@@ -1,21 +0,0 @@
--module(aoc2023).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([main/0]).
-
--spec main() -> bitstring().
-main() ->
- Trim = 8,
- _assert_subject = gleam_stdlib:identity(<<"abcdefgh
-abcdefgh"/utf8>>),
- <<_:Trim/binary, "\n"/utf8, Rest/binary>> = case _assert_subject of
- <<_:Trim/binary, "\n"/utf8, _/binary>> -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"aoc2023"/utf8>>,
- function => <<"main"/utf8>>,
- line => 9})
- end,
- gleam@io:debug(Rest).
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/aoc2023@@main.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/aoc2023@@main.erl
deleted file mode 100644
index ad291f1..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/aoc2023@@main.erl
+++ /dev/null
@@ -1,35 +0,0 @@
--module('aoc2023@@main').
-
--export([run/1]).
-
-run(Module) ->
- io:setopts(standard_io, [binary, {encoding, utf8}]),
- io:setopts(standard_error, [{encoding, utf8}]),
- try
- {ok, _} = application:ensure_all_started('aoc2023'),
- erlang:process_flag(trap_exit, false),
- Module:main(),
- erlang:halt(0)
- catch
- Class:Reason:StackTrace ->
- print_error(Class, Reason, StackTrace),
- erlang:halt(127, [{flush, true}])
- end.
-
-print_error(Class, Reason, StackTrace) ->
- E = erl_error:format_exception(
- 1, Class, Reason, StackTrace, fun stack_filter/3,
- fun print_stack_frame/2, unicode
- ),
- io:put_chars(E).
-
-stack_filter(Module, _F, _A) ->
- case Module of
- ?MODULE -> true;
- erl_eval -> true;
- init -> true;
- _ -> false
- end.
-
-print_stack_frame(Term, I) ->
- io_lib:format("~." ++ integer_to_list(I) ++ "tP", [Term, 50]). \ No newline at end of file
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/aoc2023_test.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/aoc2023_test.cache
deleted file mode 100644
index cb20c74..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/aoc2023_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/aoc2023_test.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/aoc2023_test.cache_meta
deleted file mode 100644
index f568aaf..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/aoc2023_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/aoc2023_test.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/aoc2023_test.erl
deleted file mode 100644
index 7382e40..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/aoc2023_test.erl
+++ /dev/null
@@ -1,8 +0,0 @@
--module(aoc2023_test).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([main/0]).
-
--spec main() -> nil.
-main() ->
- showtime:main().
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day10@day10_test.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day10@day10_test.cache
deleted file mode 100644
index 40fbdcf..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day10@day10_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day10@day10_test.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day10@day10_test.cache_meta
deleted file mode 100644
index f13b8dc..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day10@day10_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day10@day10_test.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day10@day10_test.erl
deleted file mode 100644
index 5fd5c16..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day10@day10_test.erl
+++ /dev/null
@@ -1,52 +0,0 @@
--module(day10@day10_test).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1_test/0, part2_test/0]).
-
--spec part1_test() -> list(nil).
-part1_test() ->
- _pipe = [{example, <<"7-F7-
-.FJ|7
-SJLL7
-|F--J
-LJ.LJ"/utf8>>, <<"8"/utf8>>}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example, <<"7-F7-
-.FJ|7
-SJLL7
-|F--J
-LJ.LJ"/utf8>>, <<"8"/utf8>>}],
- fun(Example) -> _pipe@1 = day10@solve:part1(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
-
--spec part2_test() -> list(nil).
-part2_test() ->
- _pipe = [{example,
- <<"...........
-.S-------7.
-.|F-----7|.
-.||OOOOO||.
-.||OOOOO||.
-.|L-7OF-J|.
-.|II|O|II|.
-.L--JOL--J.
-.....O....."/utf8>>,
- <<"4"/utf8>>}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"...........
-.S-------7.
-.|F-----7|.
-.||OOOOO||.
-.||OOOOO||.
-.|L-7OF-J|.
-.|II|O|II|.
-.L--JOL--J.
-.....O....."/utf8>>,
- <<"4"/utf8>>}],
- fun(Example) -> _pipe@1 = day10@solve:part2(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day10@solve.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day10@solve.cache
deleted file mode 100644
index 65500d7..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day10@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day10@solve.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day10@solve.cache_meta
deleted file mode 100644
index 51c9047..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day10@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day10@solve.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day10@solve.erl
deleted file mode 100644
index d6802a6..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day10@solve.erl
+++ /dev/null
@@ -1,340 +0,0 @@
--module(day10@solve).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1/1, part2/1, main/0]).
--export_type([posn/0]).
-
--type posn() :: {posn, integer(), integer()}.
-
--spec add_posns(posn(), posn()) -> posn().
-add_posns(P1, P2) ->
- {posn,
- erlang:element(2, P1) + erlang:element(2, P2),
- erlang:element(3, P1) + erlang:element(3, P2)}.
-
--spec pipe_neighbors(binary()) -> list(posn()).
-pipe_neighbors(Pipe) ->
- case Pipe of
- <<"|"/utf8>> ->
- [{posn, -1, 0}, {posn, 1, 0}];
-
- <<"-"/utf8>> ->
- [{posn, 0, 1}, {posn, 0, -1}];
-
- <<"L"/utf8>> ->
- [{posn, -1, 0}, {posn, 0, 1}];
-
- <<"F"/utf8>> ->
- [{posn, 1, 0}, {posn, 0, 1}];
-
- <<"7"/utf8>> ->
- [{posn, 1, 0}, {posn, 0, -1}];
-
- <<"J"/utf8>> ->
- [{posn, -1, 0}, {posn, 0, -1}];
-
- _ ->
- erlang:error(#{gleam_error => panic,
- message => <<"bad pipe"/utf8>>,
- module => <<"day10/solve"/utf8>>,
- function => <<"pipe_neighbors"/utf8>>,
- line => 44})
- end.
-
--spec make_grid(binary()) -> gleam@dict:dict(posn(), binary()).
-make_grid(Input) ->
- _pipe = (gleam@list:index_map(
- gleam@string:split(Input, <<"\n"/utf8>>),
- fun(R, Row) ->
- gleam@list:index_map(
- gleam@string:to_graphemes(Row),
- fun(C, Col) -> {{posn, R, C}, Col} end
- )
- end
- )),
- _pipe@1 = gleam@list:flatten(_pipe),
- gleam@dict:from_list(_pipe@1).
-
--spec valid_start_direction(gleam@dict:dict(posn(), binary()), posn()) -> posn().
-valid_start_direction(Grid, S) ->
- _assert_subject = (gleam@list:filter_map(
- [{{posn, -1, 0}, [<<"|"/utf8>>, <<"7"/utf8>>, <<"F"/utf8>>]},
- {{posn, 1, 0}, [<<"|"/utf8>>, <<"J"/utf8>>, <<"L"/utf8>>]},
- {{posn, 0, 1}, [<<"-"/utf8>>, <<"J"/utf8>>, <<"7"/utf8>>]},
- {{posn, 0, -1}, [<<"-"/utf8>>, <<"F"/utf8>>, <<"L"/utf8>>]}],
- fun(D) ->
- {Delta, Valids} = D,
- Neighbor = add_posns(S, Delta),
- case gleam@dict:get(Grid, Neighbor) of
- {ok, Pipe} ->
- case gleam@list:contains(Valids, Pipe) of
- true ->
- {ok, Neighbor};
-
- false ->
- {error, nil}
- end;
-
- {error, _} ->
- {error, nil}
- end
- end
- )),
- [Dir | _] = case _assert_subject of
- [_ | _] -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day10/solve"/utf8>>,
- function => <<"valid_start_direction"/utf8>>,
- line => 59})
- end,
- Dir.
-
--spec to_next_pipe(posn(), gleam@dict:dict(posn(), binary()), list(posn())) -> list(posn()).
-to_next_pipe(Current, Grid, Acc) ->
- [Prev | _] = case Acc of
- [_ | _] -> Acc;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day10/solve"/utf8>>,
- function => <<"to_next_pipe"/utf8>>,
- line => 76})
- end,
- _assert_subject = gleam@dict:get(Grid, Current),
- {ok, Pipe} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day10/solve"/utf8>>,
- function => <<"to_next_pipe"/utf8>>,
- line => 77})
- end,
- gleam@bool:guard(
- Pipe =:= <<"S"/utf8>>,
- [Current | Acc],
- fun() ->
- _assert_subject@1 = begin
- _pipe = Pipe,
- _pipe@1 = pipe_neighbors(_pipe),
- gleam@list:filter_map(
- _pipe@1,
- fun(P) -> case add_posns(P, Current) of
- Neighbor when Neighbor =:= Prev ->
- {error, nil};
-
- Neighbor@1 ->
- {ok, Neighbor@1}
- end end
- )
- end,
- [Next] = case _assert_subject@1 of
- [_] -> _assert_subject@1;
- _assert_fail@2 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@2,
- module => <<"day10/solve"/utf8>>,
- function => <<"to_next_pipe"/utf8>>,
- line => 79})
- end,
- to_next_pipe(Next, Grid, [Current | Acc])
- end
- ).
-
--spec part1(binary()) -> binary().
-part1(Input) ->
- Grid = begin
- _pipe = Input,
- make_grid(_pipe)
- end,
- _assert_subject = begin
- _pipe@1 = Grid,
- _pipe@2 = gleam@dict:filter(
- _pipe@1,
- fun(_, V) -> V =:= <<"S"/utf8>> end
- ),
- _pipe@3 = gleam@dict:keys(_pipe@2),
- gleam@list:first(_pipe@3)
- end,
- {ok, S} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day10/solve"/utf8>>,
- function => <<"part1"/utf8>>,
- line => 97})
- end,
- _pipe@4 = Grid,
- _pipe@5 = valid_start_direction(_pipe@4, S),
- _pipe@6 = to_next_pipe(_pipe@5, Grid, [S]),
- _pipe@7 = gleam@list:length(_pipe@6),
- _pipe@8 = (fun(I) -> ((I - 1) div 2) end)(_pipe@7),
- gleam@string:inspect(_pipe@8).
-
--spec count_crossings(
- posn(),
- gleam@set:set(posn()),
- gleam@dict:dict(posn(), binary()),
- integer(),
- binary()
-) -> integer().
-count_crossings(P, Loop, Grid, Acc, Corner) ->
- Maybe_cell = gleam@dict:get(Grid, P),
- gleam@bool:guard(
- Maybe_cell =:= {error, nil},
- Acc,
- fun() ->
- {ok, Cell} = case Maybe_cell of
- {ok, _} -> Maybe_cell;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day10/solve"/utf8>>,
- function => <<"count_crossings"/utf8>>,
- line => 125})
- end,
- Next = add_posns(P, {posn, 0, 1}),
- case gleam@set:contains(Loop, P) of
- false ->
- count_crossings(Next, Loop, Grid, Acc, Corner);
-
- true ->
- case {Corner, Cell} of
- {_, <<"|"/utf8>>} ->
- count_crossings(Next, Loop, Grid, Acc + 1, Corner);
-
- {_, <<"F"/utf8>>} ->
- count_crossings(Next, Loop, Grid, Acc, Cell);
-
- {_, <<"L"/utf8>>} ->
- count_crossings(Next, Loop, Grid, Acc, Cell);
-
- {<<"F"/utf8>>, <<"J"/utf8>>} ->
- count_crossings(
- Next,
- Loop,
- Grid,
- Acc + 1,
- <<""/utf8>>
- );
-
- {<<"L"/utf8>>, <<"7"/utf8>>} ->
- count_crossings(
- Next,
- Loop,
- Grid,
- Acc + 1,
- <<""/utf8>>
- );
-
- {<<"F"/utf8>>, <<"7"/utf8>>} ->
- count_crossings(Next, Loop, Grid, Acc, <<""/utf8>>);
-
- {<<"L"/utf8>>, <<"J"/utf8>>} ->
- count_crossings(Next, Loop, Grid, Acc, <<""/utf8>>);
-
- {_, _} ->
- count_crossings(Next, Loop, Grid, Acc, Corner)
- end
- end
- end
- ).
-
--spec trace_ray(
- posn(),
- gleam@set:set(posn()),
- gleam@dict:dict(posn(), binary())
-) -> boolean().
-trace_ray(P, Loop, Grid) ->
- gleam@bool:guard(
- gleam@set:contains(Loop, P),
- false,
- fun() ->
- gleam@int:is_odd(count_crossings(P, Loop, Grid, 0, <<""/utf8>>))
- end
- ).
-
--spec part2(binary()) -> binary().
-part2(Input) ->
- Grid = begin
- _pipe = Input,
- make_grid(_pipe)
- end,
- _assert_subject = begin
- _pipe@1 = Grid,
- _pipe@2 = gleam@dict:filter(
- _pipe@1,
- fun(_, V) -> V =:= <<"S"/utf8>> end
- ),
- _pipe@3 = gleam@dict:keys(_pipe@2),
- gleam@list:first(_pipe@3)
- end,
- {ok, S} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day10/solve"/utf8>>,
- function => <<"part2"/utf8>>,
- line => 145})
- end,
- Loop_pipes = begin
- _pipe@4 = Grid,
- _pipe@5 = valid_start_direction(_pipe@4, S),
- _pipe@6 = to_next_pipe(_pipe@5, Grid, [S]),
- gleam@set:from_list(_pipe@6)
- end,
- _pipe@7 = Grid,
- _pipe@8 = gleam@dict:keys(_pipe@7),
- _pipe@9 = gleam@list:filter(
- _pipe@8,
- fun(_capture) -> trace_ray(_capture, Loop_pipes, Grid) end
- ),
- _pipe@10 = gleam@list:length(_pipe@9),
- gleam@string:inspect(_pipe@10).
-
--spec main() -> nil.
-main() ->
- _assert_subject = adglent:get_part(),
- {ok, Part} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day10/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 165})
- end,
- _assert_subject@1 = adglent:get_input(<<"10"/utf8>>),
- {ok, Input} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day10/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 166})
- end,
- case Part of
- first ->
- _pipe = part1(Input),
- _pipe@1 = adglent:inspect(_pipe),
- gleam@io:println(_pipe@1);
-
- second ->
- _pipe@2 = part2(Input),
- _pipe@3 = adglent:inspect(_pipe@2),
- gleam@io:println(_pipe@3)
- end.
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day11@day11_test.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day11@day11_test.cache
deleted file mode 100644
index dd328a5..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day11@day11_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day11@day11_test.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day11@day11_test.cache_meta
deleted file mode 100644
index 8698a6e..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day11@day11_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day11@day11_test.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day11@day11_test.erl
deleted file mode 100644
index 8190b1e..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day11@day11_test.erl
+++ /dev/null
@@ -1,68 +0,0 @@
--module(day11@day11_test).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1_test/0, part2_test/0]).
-
--spec part1_test() -> list(nil).
-part1_test() ->
- _pipe = [{example,
- <<"...#......
-.......#..
-#.........
-..........
-......#...
-.#........
-.........#
-..........
-.......#..
-#...#....."/utf8>>,
- <<"374"/utf8>>}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"...#......
-.......#..
-#.........
-..........
-......#...
-.#........
-.........#
-..........
-.......#..
-#...#....."/utf8>>,
- <<"374"/utf8>>}],
- fun(Example) -> _pipe@1 = day11@solve:part1(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
-
--spec part2_test() -> list(nil).
-part2_test() ->
- _pipe = [{example,
- <<"...#......
-.......#..
-#.........
-..........
-......#...
-.#........
-.........#
-..........
-.......#..
-#...#....."/utf8>>,
- <<"8410"/utf8>>}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"...#......
-.......#..
-#.........
-..........
-......#...
-.#........
-.........#
-..........
-.......#..
-#...#....."/utf8>>,
- <<"8410"/utf8>>}],
- fun(Example) -> _pipe@1 = day11@solve:part2(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day11@solve.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day11@solve.cache
deleted file mode 100644
index db28325..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day11@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day11@solve.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day11@solve.cache_meta
deleted file mode 100644
index 3765d62..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day11@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day11@solve.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day11@solve.erl
deleted file mode 100644
index 2dd8574..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day11@solve.erl
+++ /dev/null
@@ -1,130 +0,0 @@
--module(day11@solve).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1/1, part2/1, main/0]).
--export_type([posn/0]).
-
--type posn() :: {posn, integer(), integer()}.
-
--spec find_empty(list(list(binary()))) -> list(integer()).
-find_empty(Grid) ->
- gleam@list:index_fold(
- Grid,
- [],
- fun(Acc, Row, R) -> case gleam@list:unique(Row) of
- [<<"."/utf8>>] ->
- [R | Acc];
-
- _ ->
- Acc
- end end
- ).
-
--spec count_prior_empty_ranks(integer(), list(integer())) -> integer().
-count_prior_empty_ranks(Rank, Empty_ranks) ->
- _pipe = Empty_ranks,
- _pipe@1 = gleam@list:drop_while(_pipe, fun(R_empty) -> R_empty > Rank end),
- gleam@list:length(_pipe@1).
-
--spec parse_with_expansion(binary(), integer()) -> list(posn()).
-parse_with_expansion(Input, Expansion) ->
- Add = Expansion - 1,
- Grid = begin
- _pipe = Input,
- _pipe@1 = gleam@string:split(_pipe, <<"\n"/utf8>>),
- gleam@list:map(_pipe@1, fun gleam@string:to_graphemes/1)
- end,
- Empty_row_list = find_empty(Grid),
- Empty_col_list = find_empty(gleam@list:transpose(Grid)),
- _pipe@2 = (gleam@list:index_map(
- Grid,
- fun(R, Row) ->
- gleam@list:index_fold(
- Row,
- [],
- fun(Acc, Cell, C) ->
- P = {posn, R, C},
- Empty_r = count_prior_empty_ranks(R, Empty_row_list),
- Empty_c = count_prior_empty_ranks(C, Empty_col_list),
- case Cell of
- <<"#"/utf8>> ->
- [{posn,
- erlang:element(2, P) + (Empty_r * Add),
- erlang:element(3, P) + (Empty_c * Add)} |
- Acc];
-
- _ ->
- Acc
- end
- end
- )
- end
- )),
- gleam@list:flatten(_pipe@2).
-
--spec all_distances(list(posn())) -> integer().
-all_distances(Stars) ->
- gleam@list:fold(
- gleam@list:combination_pairs(Stars),
- 0,
- fun(Acc, Pair) ->
- {S1, S2} = Pair,
- (Acc + gleam@int:absolute_value(
- erlang:element(2, S1) - erlang:element(2, S2)
- ))
- + gleam@int:absolute_value(
- erlang:element(3, S1) - erlang:element(3, S2)
- )
- end
- ).
-
--spec find_distances(binary(), integer()) -> binary().
-find_distances(Input, Expand_by) ->
- _pipe = Input,
- _pipe@1 = parse_with_expansion(_pipe, Expand_by),
- _pipe@2 = all_distances(_pipe@1),
- gleam@string:inspect(_pipe@2).
-
--spec part1(binary()) -> binary().
-part1(Input) ->
- find_distances(Input, 2).
-
--spec part2(binary()) -> binary().
-part2(Input) ->
- find_distances(Input, 1000000).
-
--spec main() -> nil.
-main() ->
- _assert_subject = adglent:get_part(),
- {ok, Part} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day11/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 72})
- end,
- _assert_subject@1 = adglent:get_input(<<"11"/utf8>>),
- {ok, Input} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day11/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 73})
- end,
- case Part of
- first ->
- _pipe = part1(Input),
- _pipe@1 = adglent:inspect(_pipe),
- gleam@io:println(_pipe@1);
-
- second ->
- _pipe@2 = part2(Input),
- _pipe@3 = adglent:inspect(_pipe@2),
- gleam@io:println(_pipe@3)
- end.
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day12@day12_test.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day12@day12_test.cache
deleted file mode 100644
index 13fcba5..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day12@day12_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day12@day12_test.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day12@day12_test.cache_meta
deleted file mode 100644
index d8d6ce0..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day12@day12_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day12@day12_test.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day12@day12_test.erl
deleted file mode 100644
index fcbec4b..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day12@day12_test.erl
+++ /dev/null
@@ -1,38 +0,0 @@
--module(day12@day12_test).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1_test/0, part2_test/0]).
-
--spec part1_test() -> list(nil).
-part1_test() ->
- _pipe = [{example,
- <<"???.### 1,1,3
-.??..??...?##. 1,1,3
-?#?#?#?#?#?#?#? 1,3,1,6
-????.#...#... 4,1,1
-????.######..#####. 1,6,5
-?###???????? 3,2,1"/utf8>>,
- <<"21"/utf8>>}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"???.### 1,1,3
-.??..??...?##. 1,1,3
-?#?#?#?#?#?#?#? 1,3,1,6
-????.#...#... 4,1,1
-????.######..#####. 1,6,5
-?###???????? 3,2,1"/utf8>>,
- <<"21"/utf8>>}],
- fun(Example) -> _pipe@1 = day12@solve:part1(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
-
--spec part2_test() -> list(nil).
-part2_test() ->
- _pipe = [],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [],
- fun(Example) -> _pipe@1 = day12@solve:part2(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day12@solve.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day12@solve.cache
deleted file mode 100644
index 380635a..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day12@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day12@solve.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day12@solve.cache_meta
deleted file mode 100644
index ba4b411..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day12@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day12@solve.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day12@solve.erl
deleted file mode 100644
index 4ca87c8..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day12@solve.erl
+++ /dev/null
@@ -1,145 +0,0 @@
--module(day12@solve).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1/1, part2/1, main/0]).
-
--spec parse_folds(binary(), integer()) -> list({binary(), list(integer())}).
-parse_folds(Input, Folds) ->
- Records = gleam@string:split(Input, <<"\n"/utf8>>),
- gleam@list:map(
- Records,
- fun(Record) ->
- _assert_subject = gleam@string:split_once(Record, <<" "/utf8>>),
- {ok, {Template, Sets_str}} = case _assert_subject of
- {ok, {_, _}} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day12/solve"/utf8>>,
- function => <<"parse_folds"/utf8>>,
- line => 15})
- end,
- Template@1 = begin
- _pipe = Template,
- _pipe@1 = gleam@list:repeat(_pipe, Folds),
- _pipe@2 = gleam@list:intersperse(_pipe@1, <<"?"/utf8>>),
- gleam@string:concat(_pipe@2)
- end,
- Sets = begin
- _pipe@3 = Sets_str,
- _pipe@4 = gleam@string:split(_pipe@3, <<","/utf8>>),
- _pipe@5 = gleam@list:map(_pipe@4, fun gleam@int:parse/1),
- _pipe@6 = gleam@result:values(_pipe@5),
- _pipe@7 = gleam@list:repeat(_pipe@6, Folds),
- gleam@list:flatten(_pipe@7)
- end,
- {Template@1, Sets}
- end
- ).
-
--spec do_count(
- binary(),
- list(integer()),
- integer(),
- boolean(),
- utilities@memo:cache({binary(), list(integer()), integer(), boolean()}, integer())
-) -> integer().
-do_count(Template, Groups, Left, Gap, Cache) ->
- utilities@memo:memoize(
- Cache,
- {Template, Groups, Left, Gap},
- fun() -> case {Template, Groups, Left, Gap} of
- {<<""/utf8>>, [], 0, _} ->
- 1;
-
- {<<"?"/utf8, T_rest/binary>>, [G | G_rest], 0, false} ->
- do_count(T_rest, G_rest, G - 1, G =:= 1, Cache) + (do_count(
- T_rest,
- Groups,
- 0,
- false,
- Cache
- ));
-
- {<<"?"/utf8, T_rest@1/binary>>, [], 0, false} ->
- do_count(T_rest@1, Groups, 0, false, Cache);
-
- {<<"?"/utf8, T_rest@1/binary>>, _, 0, true} ->
- do_count(T_rest@1, Groups, 0, false, Cache);
-
- {<<"."/utf8, T_rest@1/binary>>, _, 0, _} ->
- do_count(T_rest@1, Groups, 0, false, Cache);
-
- {<<"#"/utf8, T_rest@2/binary>>, [G@1 | G_rest@1], 0, false} ->
- do_count(T_rest@2, G_rest@1, G@1 - 1, G@1 =:= 1, Cache);
-
- {<<"?"/utf8, T_rest@3/binary>>, Gs, L, false} ->
- do_count(T_rest@3, Gs, L - 1, L =:= 1, Cache);
-
- {<<"#"/utf8, T_rest@3/binary>>, Gs, L, false} ->
- do_count(T_rest@3, Gs, L - 1, L =:= 1, Cache);
-
- {_, _, _, _} ->
- 0
- end end
- ).
-
--spec count_solutions(integer(), {binary(), list(integer())}) -> integer().
-count_solutions(Acc, Condition) ->
- utilities@memo:create(
- fun(Cache) ->
- {Template, Groups} = Condition,
- Acc + do_count(Template, Groups, 0, false, Cache)
- end
- ).
-
--spec part1(binary()) -> binary().
-part1(Input) ->
- _pipe = Input,
- _pipe@1 = parse_folds(_pipe, 1),
- _pipe@2 = gleam@list:fold(_pipe@1, 0, fun count_solutions/2),
- gleam@string:inspect(_pipe@2).
-
--spec part2(binary()) -> binary().
-part2(Input) ->
- _pipe = Input,
- _pipe@1 = parse_folds(_pipe, 5),
- _pipe@2 = gleam@list:fold(_pipe@1, 0, fun count_solutions/2),
- gleam@string:inspect(_pipe@2).
-
--spec main() -> nil.
-main() ->
- _assert_subject = adglent:get_part(),
- {ok, Part} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day12/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 79})
- end,
- _assert_subject@1 = adglent:get_input(<<"12"/utf8>>),
- {ok, Input} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day12/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 80})
- end,
- case Part of
- first ->
- _pipe = part1(Input),
- _pipe@1 = adglent:inspect(_pipe),
- gleam@io:println(_pipe@1);
-
- second ->
- _pipe@2 = part2(Input),
- _pipe@3 = adglent:inspect(_pipe@2),
- gleam@io:println(_pipe@3)
- end.
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day13@day13_test.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day13@day13_test.cache
deleted file mode 100644
index dbe362b..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day13@day13_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day13@day13_test.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day13@day13_test.cache_meta
deleted file mode 100644
index ccd4923..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day13@day13_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day13@day13_test.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day13@day13_test.erl
deleted file mode 100644
index 9aa0038..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day13@day13_test.erl
+++ /dev/null
@@ -1,88 +0,0 @@
--module(day13@day13_test).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1_test/0, part2_test/0]).
-
--spec part1_test() -> list(nil).
-part1_test() ->
- _pipe = [{example,
- <<"#.##..##.
-..#.##.#.
-##......#
-##......#
-..#.##.#.
-..##..##.
-#.#.##.#.
-
-#...##..#
-#....#..#
-..##..###
-#####.##.
-#####.##.
-..##..###
-#....#..#"/utf8>>,
- <<"405"/utf8>>}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"#.##..##.
-..#.##.#.
-##......#
-##......#
-..#.##.#.
-..##..##.
-#.#.##.#.
-
-#...##..#
-#....#..#
-..##..###
-#####.##.
-#####.##.
-..##..###
-#....#..#"/utf8>>,
- <<"405"/utf8>>}],
- fun(Example) -> _pipe@1 = day13@solve:part1(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
-
--spec part2_test() -> list(nil).
-part2_test() ->
- _pipe = [{example,
- <<"#.##..##.
-..#.##.#.
-##......#
-##......#
-..#.##.#.
-..##..##.
-#.#.##.#.
-
-#...##..#
-#....#..#
-..##..###
-#####.##.
-#####.##.
-..##..###
-#....#..#"/utf8>>,
- <<"400"/utf8>>}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"#.##..##.
-..#.##.#.
-##......#
-##......#
-..#.##.#.
-..##..##.
-#.#.##.#.
-
-#...##..#
-#....#..#
-..##..###
-#####.##.
-#####.##.
-..##..###
-#....#..#"/utf8>>,
- <<"400"/utf8>>}],
- fun(Example) -> _pipe@1 = day13@solve:part2(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day13@solve.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day13@solve.cache
deleted file mode 100644
index 001ba22..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day13@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day13@solve.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day13@solve.cache_meta
deleted file mode 100644
index 543c3ff..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day13@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day13@solve.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day13@solve.erl
deleted file mode 100644
index 5e94b0b..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day13@solve.erl
+++ /dev/null
@@ -1,149 +0,0 @@
--module(day13@solve).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1/1, part2/1, main/0]).
--export_type([symmetry_type/0]).
-
--type symmetry_type() :: {horizontal, integer()} | {vertical, integer()}.
-
--spec do_is_symmetric(list(list(BLS)), list(list(BLS)), integer()) -> {ok,
- integer()} |
- {error, nil}.
-do_is_symmetric(Left, Right, Errors) ->
- gleam@bool:guard(
- gleam@list:is_empty(Right),
- {error, nil},
- fun() ->
- [H | T] = case Right of
- [_ | _] -> Right;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day13/solve"/utf8>>,
- function => <<"do_is_symmetric"/utf8>>,
- line => 23})
- end,
- Found_errors = begin
- _pipe = gleam@list:zip(
- gleam@list:flatten(Left),
- gleam@list:flatten(Right)
- ),
- _pipe@1 = gleam@list:filter(
- _pipe,
- fun(Tup) ->
- erlang:element(2, Tup) /= erlang:element(1, Tup)
- end
- ),
- gleam@list:length(_pipe@1)
- end,
- case Found_errors =:= Errors of
- true ->
- {ok, gleam@list:length(Left)};
-
- false ->
- do_is_symmetric([H | Left], T, Errors)
- end
- end
- ).
-
--spec is_symmetric(list(list(any())), integer()) -> {ok, integer()} |
- {error, nil}.
-is_symmetric(Xss, Errs) ->
- [Left | Right] = case Xss of
- [_ | _] -> Xss;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day13/solve"/utf8>>,
- function => <<"is_symmetric"/utf8>>,
- line => 13})
- end,
- do_is_symmetric([Left], Right, Errs).
-
--spec get_symmetry_type(list(list(binary())), integer()) -> symmetry_type().
-get_symmetry_type(Xss, Errors) ->
- case is_symmetric(Xss, Errors) of
- {ok, N} ->
- {horizontal, N};
-
- _ ->
- _assert_subject = is_symmetric(gleam@list:transpose(Xss), Errors),
- {ok, N@1} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day13/solve"/utf8>>,
- function => <<"get_symmetry_type"/utf8>>,
- line => 38})
- end,
- {vertical, N@1}
- end.
-
--spec summarize_notes(list(symmetry_type())) -> integer().
-summarize_notes(Symmetries) ->
- gleam@list:fold(Symmetries, 0, fun(Acc, Note) -> case Note of
- {horizontal, N} ->
- 100 * N;
-
- {vertical, N@1} ->
- N@1
- end + Acc end).
-
--spec solve(binary(), integer()) -> binary().
-solve(Input, Errors) ->
- _pipe = Input,
- _pipe@1 = gleam@string:split(_pipe, <<"\n\n"/utf8>>),
- _pipe@5 = gleam@list:map(_pipe@1, fun(Strs) -> _pipe@2 = Strs,
- _pipe@3 = gleam@string:split(_pipe@2, <<"\n"/utf8>>),
- _pipe@4 = gleam@list:map(_pipe@3, fun gleam@string:to_graphemes/1),
- get_symmetry_type(_pipe@4, Errors) end),
- _pipe@6 = summarize_notes(_pipe@5),
- gleam@string:inspect(_pipe@6).
-
--spec part1(binary()) -> binary().
-part1(Input) ->
- solve(Input, 0).
-
--spec part2(binary()) -> binary().
-part2(Input) ->
- solve(Input, 1).
-
--spec main() -> nil.
-main() ->
- _assert_subject = adglent:get_part(),
- {ok, Part} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day13/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 74})
- end,
- _assert_subject@1 = adglent:get_input(<<"13"/utf8>>),
- {ok, Input} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day13/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 75})
- end,
- case Part of
- first ->
- _pipe = part1(Input),
- _pipe@1 = adglent:inspect(_pipe),
- gleam@io:println(_pipe@1);
-
- second ->
- _pipe@2 = part2(Input),
- _pipe@3 = adglent:inspect(_pipe@2),
- gleam@io:println(_pipe@3)
- end.
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day14@day14_test.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day14@day14_test.cache
deleted file mode 100644
index 4577a2b..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day14@day14_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day14@day14_test.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day14@day14_test.cache_meta
deleted file mode 100644
index 9b11f88..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day14@day14_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day14@day14_test.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day14@day14_test.erl
deleted file mode 100644
index 12ea788..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day14@day14_test.erl
+++ /dev/null
@@ -1,68 +0,0 @@
--module(day14@day14_test).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1_test/0, part2_test/0]).
-
--spec part1_test() -> list(nil).
-part1_test() ->
- _pipe = [{example,
- <<"O....#....
-O.OO#....#
-.....##...
-OO.#O....O
-.O.....O#.
-O.#..O.#.#
-..O..#O..O
-.......O..
-#....###..
-#OO..#...."/utf8>>,
- <<"136"/utf8>>}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"O....#....
-O.OO#....#
-.....##...
-OO.#O....O
-.O.....O#.
-O.#..O.#.#
-..O..#O..O
-.......O..
-#....###..
-#OO..#...."/utf8>>,
- <<"136"/utf8>>}],
- fun(Example) -> _pipe@1 = day14@solve:part1(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
-
--spec part2_test() -> list(nil).
-part2_test() ->
- _pipe = [{example,
- <<"O....#....
-O.OO#....#
-.....##...
-OO.#O....O
-.O.....O#.
-O.#..O.#.#
-..O..#O..O
-.......O..
-#....###..
-#OO..#...."/utf8>>,
- <<"64"/utf8>>}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"O....#....
-O.OO#....#
-.....##...
-OO.#O....O
-.O.....O#.
-O.#..O.#.#
-..O..#O..O
-.......O..
-#....###..
-#OO..#...."/utf8>>,
- <<"64"/utf8>>}],
- fun(Example) -> _pipe@1 = day14@solve:part2(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day14@solve.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day14@solve.cache
deleted file mode 100644
index 0c6bea3..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day14@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day14@solve.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day14@solve.cache_meta
deleted file mode 100644
index 91ec775..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day14@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day14@solve.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day14@solve.erl
deleted file mode 100644
index 6c370da..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day14@solve.erl
+++ /dev/null
@@ -1,149 +0,0 @@
--module(day14@solve).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1/1, part2/1, main/0]).
-
--spec parse(binary()) -> list(list(binary())).
-parse(Input) ->
- _pipe = Input,
- _pipe@1 = gleam@string:split(_pipe, <<"\n"/utf8>>),
- _pipe@2 = gleam@list:map(_pipe@1, fun gleam@string:to_graphemes/1),
- gleam@list:transpose(_pipe@2).
-
--spec roll_boulders(list(binary())) -> list(binary()).
-roll_boulders(Strs) ->
- _pipe = (gleam@list:map(
- gleam@list:chunk(
- Strs,
- fun(C) -> (C =:= <<"O"/utf8>>) orelse (C =:= <<"."/utf8>>) end
- ),
- fun(Chunks) ->
- gleam@list:sort(
- Chunks,
- gleam@order:reverse(fun gleam@string:compare/2)
- )
- end
- )),
- gleam@list:flatten(_pipe).
-
--spec score(list(list(binary()))) -> integer().
-score(Matrix) ->
- gleam@list:fold(
- Matrix,
- 0,
- fun(Acc, Col) ->
- Acc + (gleam@list:index_fold(
- gleam@list:reverse(Col),
- 0,
- fun(Col_acc, Char, N) -> case Char of
- <<"O"/utf8>> ->
- (Col_acc + N) + 1;
-
- _ ->
- Col_acc
- end end
- ))
- end
- ).
-
--spec part1(binary()) -> binary().
-part1(Input) ->
- _pipe = Input,
- _pipe@1 = parse(_pipe),
- _pipe@2 = gleam@list:map(_pipe@1, fun roll_boulders/1),
- _pipe@3 = score(_pipe@2),
- gleam@string:inspect(_pipe@3).
-
--spec rotate(list(list(BBU))) -> list(list(BBU)).
-rotate(Matrix) ->
- _pipe = Matrix,
- _pipe@1 = gleam@list:map(_pipe, fun gleam@list:reverse/1),
- gleam@list:transpose(_pipe@1).
-
--spec spin(list(list(binary()))) -> list(list(binary())).
-spin(Matrix) ->
- gleam@list:fold(gleam@list:range(1, 4), Matrix, fun(Acc, _) -> _pipe = Acc,
- _pipe@1 = gleam@list:map(_pipe, fun roll_boulders/1),
- rotate(_pipe@1) end).
-
--spec check_if_seen(
- list(list(binary())),
- gleam@dict:dict(list(list(binary())), integer()),
- integer()
-) -> integer().
-check_if_seen(Matrix, Cache, Count) ->
- case gleam@dict:get(Cache, Matrix) of
- {error, nil} ->
- check_if_seen(
- spin(Matrix),
- gleam@dict:insert(Cache, Matrix, Count),
- Count - 1
- );
-
- {ok, N} ->
- _assert_subject = gleam@int:modulo(Count, N - Count),
- {ok, Extra} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day14/solve"/utf8>>,
- function => <<"check_if_seen"/utf8>>,
- line => 66})
- end,
- _pipe = gleam@list:fold(
- gleam@list:range(1, Extra),
- Matrix,
- fun(Acc, _) -> spin(Acc) end
- ),
- score(_pipe)
- end.
-
--spec spin_cycle(list(list(binary()))) -> integer().
-spin_cycle(Matrix) ->
- Cache = gleam@dict:new(),
- check_if_seen(Matrix, Cache, 1000000000).
-
--spec part2(binary()) -> binary().
-part2(Input) ->
- _pipe = Input,
- _pipe@1 = parse(_pipe),
- _pipe@2 = spin_cycle(_pipe@1),
- gleam@string:inspect(_pipe@2).
-
--spec main() -> nil.
-main() ->
- _assert_subject = adglent:get_part(),
- {ok, Part} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day14/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 81})
- end,
- _assert_subject@1 = adglent:get_input(<<"14"/utf8>>),
- {ok, Input} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day14/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 82})
- end,
- case Part of
- first ->
- _pipe = part1(Input),
- _pipe@1 = adglent:inspect(_pipe),
- gleam@io:println(_pipe@1);
-
- second ->
- _pipe@2 = part2(Input),
- _pipe@3 = adglent:inspect(_pipe@2),
- gleam@io:println(_pipe@3)
- end.
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day15@day15_test.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day15@day15_test.cache
deleted file mode 100644
index 40f928f..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day15@day15_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day15@day15_test.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day15@day15_test.cache_meta
deleted file mode 100644
index 7571773..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day15@day15_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day15@day15_test.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day15@day15_test.erl
deleted file mode 100644
index ad28e90..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day15@day15_test.erl
+++ /dev/null
@@ -1,32 +0,0 @@
--module(day15@day15_test).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1_test/0, part2_test/0]).
-
--spec part1_test() -> list(nil).
-part1_test() ->
- _pipe = [{example,
- <<"rn=1,cm-,qp=3,cm=2,qp-,pc=4,ot=9,ab=5,pc-,pc=6,ot=7"/utf8>>,
- <<"1320"/utf8>>}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"rn=1,cm-,qp=3,cm=2,qp-,pc=4,ot=9,ab=5,pc-,pc=6,ot=7"/utf8>>,
- <<"1320"/utf8>>}],
- fun(Example) -> _pipe@1 = day15@solve:part1(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
-
--spec part2_test() -> list(nil).
-part2_test() ->
- _pipe = [{example,
- <<"rn=1,cm-,qp=3,cm=2,qp-,pc=4,ot=9,ab=5,pc-,pc=6,ot=7"/utf8>>,
- <<"145"/utf8>>}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"rn=1,cm-,qp=3,cm=2,qp-,pc=4,ot=9,ab=5,pc-,pc=6,ot=7"/utf8>>,
- <<"145"/utf8>>}],
- fun(Example) -> _pipe@1 = day15@solve:part2(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day15@solve.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day15@solve.cache
deleted file mode 100644
index 1b2e2ab..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day15@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day15@solve.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day15@solve.cache_meta
deleted file mode 100644
index 8cfc051..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day15@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day15@solve.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day15@solve.erl
deleted file mode 100644
index 623b454..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day15@solve.erl
+++ /dev/null
@@ -1,177 +0,0 @@
--module(day15@solve).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1/1, part2/1, main/0]).
--export_type([instruction/0]).
-
--type instruction() :: {remove, binary()} | {insert, binary(), integer()}.
-
--spec split(binary()) -> list(binary()).
-split(Input) ->
- _pipe = Input,
- gleam@string:split(_pipe, <<","/utf8>>).
-
--spec hash_algorithm(binary()) -> integer().
-hash_algorithm(Str) ->
- Codepoints = begin
- _pipe = Str,
- _pipe@1 = gleam@string:to_utf_codepoints(_pipe),
- gleam@list:map(_pipe@1, fun gleam@string:utf_codepoint_to_int/1)
- end,
- gleam@list:fold(
- Codepoints,
- 0,
- fun(Acc, C) ->
- _assert_subject = gleam@int:modulo((Acc + C) * 17, 256),
- {ok, Acc@1} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day15/solve"/utf8>>,
- function => <<"hash_algorithm"/utf8>>,
- line => 20})
- end,
- Acc@1
- end
- ).
-
--spec part1(binary()) -> binary().
-part1(Input) ->
- _pipe = Input,
- _pipe@1 = split(_pipe),
- _pipe@2 = gleam@list:fold(
- _pipe@1,
- 0,
- fun(Acc, Str) -> Acc + hash_algorithm(Str) end
- ),
- gleam@string:inspect(_pipe@2).
-
--spec read_instruction(binary()) -> instruction().
-read_instruction(Str) ->
- case gleam@string:split(Str, <<"="/utf8>>) of
- [Label, Focal_str] ->
- _assert_subject = gleam@int:parse(Focal_str),
- {ok, Focal} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day15/solve"/utf8>>,
- function => <<"read_instruction"/utf8>>,
- line => 39})
- end,
- {insert, Label, Focal};
-
- _ ->
- {remove, gleam@string:drop_right(Str, 1)}
- end.
-
--spec remove_lens(gleam@dict:dict(integer(), list({binary(), BPV})), binary()) -> gleam@dict:dict(integer(), list({binary(),
- BPV})).
-remove_lens(Boxes, Label) ->
- gleam@dict:update(Boxes, hash_algorithm(Label), fun(V) -> case V of
- {some, Lenses} ->
- case gleam@list:key_pop(Lenses, Label) of
- {ok, {_, Updated}} ->
- Updated;
-
- {error, nil} ->
- Lenses
- end;
-
- none ->
- []
- end end).
-
--spec insert_lens(
- gleam@dict:dict(integer(), list({binary(), BON})),
- binary(),
- BON
-) -> gleam@dict:dict(integer(), list({binary(), BON})).
-insert_lens(Boxes, Label, Focal) ->
- gleam@dict:update(Boxes, hash_algorithm(Label), fun(V) -> case V of
- {some, Lenses} ->
- gleam@list:key_set(Lenses, Label, Focal);
-
- none ->
- [{Label, Focal}]
- end end).
-
--spec parse_instructions(list(binary())) -> gleam@dict:dict(integer(), list({binary(),
- integer()})).
-parse_instructions(Insts) ->
- gleam@list:fold(
- Insts,
- gleam@dict:new(),
- fun(Acc, Inst) -> case read_instruction(Inst) of
- {remove, Label} ->
- remove_lens(Acc, Label);
-
- {insert, Label@1, Focal} ->
- insert_lens(Acc, Label@1, Focal)
- end end
- ).
-
--spec focusing_power(gleam@dict:dict(integer(), list({binary(), integer()}))) -> integer().
-focusing_power(Boxes) ->
- gleam@dict:fold(
- Boxes,
- 0,
- fun(Acc, K, V) ->
- Box_acc = (gleam@list:index_fold(
- V,
- 0,
- fun(Acc@1, Lens, I) ->
- Acc@1 + (erlang:element(2, Lens) * (I + 1))
- end
- )),
- Acc + ((K + 1) * Box_acc)
- end
- ).
-
--spec part2(binary()) -> binary().
-part2(Input) ->
- _pipe = Input,
- _pipe@1 = split(_pipe),
- _pipe@2 = parse_instructions(_pipe@1),
- _pipe@3 = focusing_power(_pipe@2),
- gleam@string:inspect(_pipe@3).
-
--spec main() -> nil.
-main() ->
- _assert_subject = adglent:get_part(),
- {ok, Part} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day15/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 92})
- end,
- _assert_subject@1 = adglent:get_input(<<"15"/utf8>>),
- {ok, Input} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day15/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 93})
- end,
- case Part of
- first ->
- _pipe = part1(Input),
- _pipe@1 = adglent:inspect(_pipe),
- gleam@io:println(_pipe@1);
-
- second ->
- _pipe@2 = part2(Input),
- _pipe@3 = adglent:inspect(_pipe@2),
- gleam@io:println(_pipe@3)
- end.
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day16@day16_test.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day16@day16_test.cache
deleted file mode 100644
index bc9a034..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day16@day16_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day16@day16_test.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day16@day16_test.cache_meta
deleted file mode 100644
index 2320e16..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day16@day16_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day16@day16_test.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day16@day16_test.erl
deleted file mode 100644
index 978ab14..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day16@day16_test.erl
+++ /dev/null
@@ -1,68 +0,0 @@
--module(day16@day16_test).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1_test/0, part2_test/0]).
-
--spec part1_test() -> list(nil).
-part1_test() ->
- _pipe = [{example,
- <<".|...\\....
-|.-.\\.....
-.....|-...
-........|.
-..........
-.........\\
-..../.\\\\..
-.-.-/..|..
-.|....-|.\\
-..//.|...."/utf8>>,
- 46}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<".|...\\....
-|.-.\\.....
-.....|-...
-........|.
-..........
-.........\\
-..../.\\\\..
-.-.-/..|..
-.|....-|.\\
-..//.|...."/utf8>>,
- 46}],
- fun(Example) -> _pipe@1 = day16@solve:part1(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
-
--spec part2_test() -> list(nil).
-part2_test() ->
- _pipe = [{example,
- <<".|...\\....
-|.-.\\.....
-.....|-...
-........|.
-..........
-.........\\
-..../.\\\\..
-.-.-/..|..
-.|....-|.\\
-..//.|...."/utf8>>,
- 51}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<".|...\\....
-|.-.\\.....
-.....|-...
-........|.
-..........
-.........\\
-..../.\\\\..
-.-.-/..|..
-.|....-|.\\
-..//.|...."/utf8>>,
- 51}],
- fun(Example) -> _pipe@1 = day16@solve:part2(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day16@solve.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day16@solve.cache
deleted file mode 100644
index 359bdc2..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day16@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day16@solve.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day16@solve.cache_meta
deleted file mode 100644
index e7cf5c0..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day16@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day16@solve.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day16@solve.erl
deleted file mode 100644
index a07c02a..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day16@solve.erl
+++ /dev/null
@@ -1,253 +0,0 @@
--module(day16@solve).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1/1, part2/1, main/0]).
--export_type([direction/0, light/0]).
-
--type direction() :: up | right | down | left.
-
--type light() :: {light, utilities@array2d:posn(), direction()}.
-
--spec move(light()) -> light().
-move(L) ->
- {light, P, Dir} = L,
- case Dir of
- up ->
- erlang:setelement(
- 2,
- L,
- erlang:setelement(2, P, erlang:element(2, P) - 1)
- );
-
- down ->
- erlang:setelement(
- 2,
- L,
- erlang:setelement(2, P, erlang:element(2, P) + 1)
- );
-
- left ->
- erlang:setelement(
- 2,
- L,
- erlang:setelement(3, P, erlang:element(3, P) - 1)
- );
-
- right ->
- erlang:setelement(
- 2,
- L,
- erlang:setelement(3, P, erlang:element(3, P) + 1)
- )
- end.
-
--spec transform(light(), {ok, binary()} | {error, nil}) -> list(light()).
-transform(L, Cell) ->
- gleam@bool:guard(
- gleam@result:is_error(Cell),
- [],
- fun() ->
- {ok, C} = case Cell of
- {ok, _} -> Cell;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day16/solve"/utf8>>,
- function => <<"transform"/utf8>>,
- line => 33})
- end,
- {light, P, Dir} = L,
- case {Dir, C} of
- {_, <<"."/utf8>>} ->
- [L];
-
- {up, <<"|"/utf8>>} ->
- [L];
-
- {down, <<"|"/utf8>>} ->
- [L];
-
- {left, <<"-"/utf8>>} ->
- [L];
-
- {right, <<"-"/utf8>>} ->
- [L];
-
- {left, <<"/"/utf8>>} ->
- [{light, P, down}];
-
- {down, <<"/"/utf8>>} ->
- [{light, P, left}];
-
- {right, <<"/"/utf8>>} ->
- [{light, P, up}];
-
- {up, <<"/"/utf8>>} ->
- [{light, P, right}];
-
- {left, <<"\\"/utf8>>} ->
- [{light, P, up}];
-
- {up, <<"\\"/utf8>>} ->
- [{light, P, left}];
-
- {right, <<"\\"/utf8>>} ->
- [{light, P, down}];
-
- {down, <<"\\"/utf8>>} ->
- [{light, P, right}];
-
- {left, <<"|"/utf8>>} ->
- [{light, P, up}, {light, P, down}];
-
- {right, <<"|"/utf8>>} ->
- [{light, P, up}, {light, P, down}];
-
- {up, <<"-"/utf8>>} ->
- [{light, P, left}, {light, P, right}];
-
- {down, <<"-"/utf8>>} ->
- [{light, P, left}, {light, P, right}];
-
- {_, _} ->
- erlang:error(#{gleam_error => panic,
- message => <<"unrecognized cell type"/utf8>>,
- module => <<"day16/solve"/utf8>>,
- function => <<"transform"/utf8>>,
- line => 50})
- end
- end
- ).
-
--spec energize(
- list(light()),
- gleam@set:set(light()),
- gleam@dict:dict(utilities@array2d:posn(), binary())
-) -> integer().
-energize(Lights, Visited, Grid) ->
- Next_positions = begin
- _pipe = Lights,
- _pipe@1 = gleam@list:flat_map(
- _pipe,
- fun(L) ->
- Next = move(L),
- transform(Next, gleam@dict:get(Grid, erlang:element(2, Next)))
- end
- ),
- gleam@list:filter(
- _pipe@1,
- fun(L@1) -> not gleam@set:contains(Visited, L@1) end
- )
- end,
- All_visited = gleam@set:union(gleam@set:from_list(Next_positions), Visited),
- case Visited =:= All_visited of
- true ->
- _pipe@2 = gleam@set:fold(
- Visited,
- gleam@set:new(),
- fun(Acc, L@2) ->
- gleam@set:insert(Acc, erlang:element(2, L@2))
- end
- ),
- _pipe@3 = gleam@set:to_list(_pipe@2),
- gleam@list:length(_pipe@3);
-
- false ->
- energize(Next_positions, All_visited, Grid)
- end.
-
--spec part1(binary()) -> integer().
-part1(Input) ->
- Grid = utilities@array2d:parse_grid(Input),
- _pipe = [{light, {posn, 0, -1}, right}],
- energize(_pipe, gleam@set:new(), Grid).
-
--spec part2(binary()) -> integer().
-part2(Input) ->
- Grid = utilities@array2d:parse_grid(Input),
- {posn, Rows, Cols} = (gleam@list:fold(
- gleam@dict:keys(Grid),
- {posn, 0, 0},
- fun(Acc, P) ->
- case (erlang:element(2, Acc) + erlang:element(3, Acc)) > (erlang:element(
- 2,
- P
- )
- + erlang:element(3, P)) of
- true ->
- Acc;
-
- false ->
- P
- end
- end
- )),
- All_starts = gleam@list:concat(
- [gleam@list:map(
- gleam@list:range(0, Rows),
- fun(R) -> {light, {posn, R, -1}, right} end
- ),
- gleam@list:map(
- gleam@list:range(0, Rows),
- fun(R@1) -> {light, {posn, R@1, Cols + 1}, left} end
- ),
- gleam@list:map(
- gleam@list:range(0, Cols),
- fun(C) -> {light, {posn, -1, C}, down} end
- ),
- gleam@list:map(
- gleam@list:range(0, Cols),
- fun(C@1) -> {light, {posn, Rows + 1, C@1}, up} end
- )]
- ),
- gleam@list:fold(
- All_starts,
- 0,
- fun(Acc@1, P@1) ->
- Energized = energize([P@1], gleam@set:new(), Grid),
- case Acc@1 > Energized of
- true ->
- Acc@1;
-
- false ->
- Energized
- end
- end
- ).
-
--spec main() -> nil.
-main() ->
- _assert_subject = adglent:get_part(),
- {ok, Part} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day16/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 107})
- end,
- _assert_subject@1 = adglent:get_input(<<"16"/utf8>>),
- {ok, Input} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day16/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 108})
- end,
- case Part of
- first ->
- _pipe = part1(Input),
- _pipe@1 = adglent:inspect(_pipe),
- gleam@io:println(_pipe@1);
-
- second ->
- _pipe@2 = part2(Input),
- _pipe@3 = adglent:inspect(_pipe@2),
- gleam@io:println(_pipe@3)
- end.
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day17@day17_test.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day17@day17_test.cache
deleted file mode 100644
index a6202af..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day17@day17_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day17@day17_test.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day17@day17_test.cache_meta
deleted file mode 100644
index 8198a7b..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day17@day17_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day17@day17_test.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day17@day17_test.erl
deleted file mode 100644
index 38e725d..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day17@day17_test.erl
+++ /dev/null
@@ -1,52 +0,0 @@
--module(day17@day17_test).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1_test/0, part2_test/0]).
-
--spec part1_test() -> list(nil).
-part1_test() ->
- _pipe = [{example,
- <<"2413432311323
-3215453535623
-3255245654254
-3446585845452
-4546657867536
-1438598798454
-4457876987766
-3637877979653
-4654967986887
-4564679986453
-1224686865563
-2546548887735
-4322674655533"/utf8>>,
- <<"102"/utf8>>}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"2413432311323
-3215453535623
-3255245654254
-3446585845452
-4546657867536
-1438598798454
-4457876987766
-3637877979653
-4654967986887
-4564679986453
-1224686865563
-2546548887735
-4322674655533"/utf8>>,
- <<"102"/utf8>>}],
- fun(Example) -> _pipe@1 = day17@solve:part1(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
-
--spec part2_test() -> list(nil).
-part2_test() ->
- _pipe = [],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [],
- fun(Example) -> _pipe@1 = day17@solve:part2(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day17@solve.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day17@solve.cache
deleted file mode 100644
index f57cf43..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day17@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day17@solve.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day17@solve.cache_meta
deleted file mode 100644
index de4425a..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day17@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day17@solve.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day17@solve.erl
deleted file mode 100644
index 1eddde6..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day17@solve.erl
+++ /dev/null
@@ -1,231 +0,0 @@
--module(day17@solve).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1/1, part2/1, main/0]).
--export_type([state/0]).
-
--type state() :: {state,
- utilities@array2d:posn(),
- integer(),
- utilities@array2d:posn(),
- list(utilities@array2d:posn())}.
-
--spec same_dir(state()) -> list(utilities@array2d:posn()).
-same_dir(S) ->
- case erlang:element(5, S) of
- [] ->
- [];
-
- [First | _] = Deltas ->
- _pipe = gleam@list:take_while(Deltas, fun(D) -> D =:= First end),
- gleam@list:take(_pipe, 10)
- end.
-
--spec make_key(state()) -> {utilities@array2d:posn(),
- list(utilities@array2d:posn())}.
-make_key(S) ->
- {erlang:element(2, S), same_dir(S)}.
-
--spec is_goal(state(), integer(), utilities@array2d:posn()) -> boolean().
-is_goal(S, Min_run, Goal) ->
- (Goal =:= erlang:element(2, S)) andalso (gleam@list:length(same_dir(S)) >= Min_run).
-
--spec eliminate_bad_neighbors(
- utilities@array2d:posn(),
- state(),
- integer(),
- integer(),
- gleam@dict:dict(utilities@array2d:posn(), any())
-) -> boolean().
-eliminate_bad_neighbors(D, S, Max, Min, Grid) ->
- Neighbor = utilities@array2d:add_posns(D, erlang:element(2, S)),
- gleam@bool:guard(
- (Neighbor =:= erlang:element(4, S)) orelse not gleam@dict:has_key(
- Grid,
- Neighbor
- ),
- false,
- fun() -> case {same_dir(S), gleam@list:length(same_dir(S))} of
- {[Prev | _], L} when L =:= Max ->
- D /= Prev;
-
- {_, 0} ->
- true;
-
- {[Prev@1 | _], L@1} when L@1 < Min ->
- D =:= Prev@1;
-
- {_, _} ->
- true
- end end
- ).
-
--spec make_state(
- utilities@array2d:posn(),
- state(),
- gleam@dict:dict(utilities@array2d:posn(), integer())
-) -> state().
-make_state(D, S, Grid) ->
- Neighbor = utilities@array2d:add_posns(D, erlang:element(2, S)),
- _assert_subject = gleam@dict:get(Grid, Neighbor),
- {ok, Heat_lost} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day17/solve"/utf8>>,
- function => <<"make_state"/utf8>>,
- line => 58})
- end,
- {state,
- Neighbor,
- erlang:element(3, S) + Heat_lost,
- erlang:element(2, S),
- [D | erlang:element(5, S)]}.
-
--spec find_good_neighbors(
- integer(),
- integer(),
- state(),
- gleam@dict:dict(utilities@array2d:posn(), integer())
-) -> list(state()).
-find_good_neighbors(Max, Min, S, Grid) ->
- _pipe = [{posn, -1, 0}, {posn, 1, 0}, {posn, 0, -1}, {posn, 0, 1}],
- _pipe@1 = gleam@list:filter(
- _pipe,
- fun(_capture) ->
- eliminate_bad_neighbors(_capture, S, Max, Min, Grid)
- end
- ),
- gleam@list:map(
- _pipe@1,
- fun(_capture@1) -> make_state(_capture@1, S, Grid) end
- ).
-
--spec find_path(
- gleam@dict:dict(utilities@array2d:posn(), integer()),
- utilities@prioqueue:priority_queue(state()),
- gleam@set:set({utilities@array2d:posn(), list(utilities@array2d:posn())}),
- fun((state()) -> list(state())),
- fun((state()) -> boolean())
-) -> integer().
-find_path(Grid, Queue, Seen, Get_neighbors, Is_goal) ->
- _assert_subject = utilities@prioqueue:pop(Queue),
- {ok, {State, Rest}} = case _assert_subject of
- {ok, {_, _}} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day17/solve"/utf8>>,
- function => <<"find_path"/utf8>>,
- line => 74})
- end,
- Key = make_key(
- begin
- _pipe = State,
- gleam@io:debug(_pipe)
- end
- ),
- case gleam@set:contains(Seen, Key) of
- true ->
- find_path(Grid, Rest, Seen, Get_neighbors, Is_goal);
-
- false ->
- Now_seen = gleam@set:insert(Seen, Key),
- Neighbors = Get_neighbors(State),
- case gleam@list:find(Neighbors, Is_goal) of
- {ok, Final} ->
- erlang:element(3, Final);
-
- _ ->
- Now_queue = gleam@list:fold(
- Neighbors,
- Rest,
- fun(Acc, N) ->
- utilities@prioqueue:insert(
- Acc,
- N,
- erlang:element(3, N)
- )
- end
- ),
- find_path(Grid, Now_queue, Now_seen, Get_neighbors, Is_goal)
- end
- end.
-
--spec part1(binary()) -> binary().
-part1(Input) ->
- Raw_grid = begin
- _pipe = Input,
- utilities@array2d:to_list_of_lists(_pipe)
- end,
- Grid = utilities@array2d:to_2d_intarray(Raw_grid),
- Rmax = gleam@list:length(Raw_grid),
- _assert_subject = begin
- _pipe@1 = Raw_grid,
- _pipe@2 = gleam@list:first(_pipe@1),
- gleam@result:map(_pipe@2, fun gleam@list:length/1)
- end,
- {ok, Cmax} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day17/solve"/utf8>>,
- function => <<"part1"/utf8>>,
- line => 107})
- end,
- Start = {state, {posn, 0, 0}, 0, {posn, 0, 0}, []},
- Goal = {posn, Rmax, Cmax},
- _pipe@3 = find_path(
- Grid,
- utilities@prioqueue:insert(utilities@prioqueue:new(), Start, 0),
- gleam@set:new(),
- fun(_capture) -> find_good_neighbors(0, 3, _capture, Grid) end,
- fun(_capture@1) -> is_goal(_capture@1, 1, Goal) end
- ),
- gleam@string:inspect(_pipe@3).
-
--spec part2(binary()) -> binary().
-part2(Input) ->
- _pipe = Input,
- gleam@string:inspect(_pipe).
-
--spec main() -> nil.
-main() ->
- _assert_subject = adglent:get_part(),
- {ok, Part} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day17/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 131})
- end,
- _assert_subject@1 = adglent:get_input(<<"17"/utf8>>),
- {ok, Input} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day17/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 132})
- end,
- case Part of
- first ->
- _pipe = part1(Input),
- _pipe@1 = adglent:inspect(_pipe),
- gleam@io:println(_pipe@1);
-
- second ->
- _pipe@2 = part2(Input),
- _pipe@3 = adglent:inspect(_pipe@2),
- gleam@io:println(_pipe@3)
- end.
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day18@day18_test.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day18@day18_test.cache
deleted file mode 100644
index 03f5c97..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day18@day18_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day18@day18_test.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day18@day18_test.cache_meta
deleted file mode 100644
index 4d0ad03..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day18@day18_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day18@day18_test.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day18@day18_test.erl
deleted file mode 100644
index 9763a38..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day18@day18_test.erl
+++ /dev/null
@@ -1,84 +0,0 @@
--module(day18@day18_test).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1_test/0, part2_test/0]).
-
--spec part1_test() -> list(nil).
-part1_test() ->
- _pipe = [{example,
- <<"R 6 (#70c710)
-D 5 (#0dc571)
-L 2 (#5713f0)
-D 2 (#d2c081)
-R 2 (#59c680)
-D 2 (#411b91)
-L 5 (#8ceee2)
-U 2 (#caa173)
-L 1 (#1b58a2)
-U 2 (#caa171)
-R 2 (#7807d2)
-U 3 (#a77fa3)
-L 2 (#015232)
-U 2 (#7a21e3)"/utf8>>,
- <<"62"/utf8>>}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"R 6 (#70c710)
-D 5 (#0dc571)
-L 2 (#5713f0)
-D 2 (#d2c081)
-R 2 (#59c680)
-D 2 (#411b91)
-L 5 (#8ceee2)
-U 2 (#caa173)
-L 1 (#1b58a2)
-U 2 (#caa171)
-R 2 (#7807d2)
-U 3 (#a77fa3)
-L 2 (#015232)
-U 2 (#7a21e3)"/utf8>>,
- <<"62"/utf8>>}],
- fun(Example) -> _pipe@1 = day18@solve:part1(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
-
--spec part2_test() -> list(nil).
-part2_test() ->
- _pipe = [{example,
- <<"R 6 (#70c710)
-D 5 (#0dc571)
-L 2 (#5713f0)
-D 2 (#d2c081)
-R 2 (#59c680)
-D 2 (#411b91)
-L 5 (#8ceee2)
-U 2 (#caa173)
-L 1 (#1b58a2)
-U 2 (#caa171)
-R 2 (#7807d2)
-U 3 (#a77fa3)
-L 2 (#015232)
-U 2 (#7a21e3)"/utf8>>,
- <<"952408144115"/utf8>>}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"R 6 (#70c710)
-D 5 (#0dc571)
-L 2 (#5713f0)
-D 2 (#d2c081)
-R 2 (#59c680)
-D 2 (#411b91)
-L 5 (#8ceee2)
-U 2 (#caa173)
-L 1 (#1b58a2)
-U 2 (#caa171)
-R 2 (#7807d2)
-U 3 (#a77fa3)
-L 2 (#015232)
-U 2 (#7a21e3)"/utf8>>,
- <<"952408144115"/utf8>>}],
- fun(Example) -> _pipe@1 = day18@solve:part2(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day18@solve.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day18@solve.cache
deleted file mode 100644
index 6fa850f..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day18@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day18@solve.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day18@solve.cache_meta
deleted file mode 100644
index 5a4d476..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day18@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day18@solve.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day18@solve.erl
deleted file mode 100644
index 3dc5e00..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day18@solve.erl
+++ /dev/null
@@ -1,218 +0,0 @@
--module(day18@solve).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1/1, part2/1, main/0]).
--export_type([coord/0, direction/0, dig/0]).
-
--type coord() :: {coord, integer(), integer()}.
-
--type direction() :: up | right | down | left.
-
--type dig() :: {dig, direction(), integer()}.
-
--spec to_direction(binary()) -> direction().
-to_direction(C) ->
- case C of
- <<"R"/utf8>> ->
- right;
-
- <<"0"/utf8>> ->
- right;
-
- <<"D"/utf8>> ->
- down;
-
- <<"1"/utf8>> ->
- down;
-
- <<"L"/utf8>> ->
- left;
-
- <<"2"/utf8>> ->
- left;
-
- <<"U"/utf8>> ->
- up;
-
- <<"3"/utf8>> ->
- up;
-
- _ ->
- erlang:error(#{gleam_error => panic,
- message => <<"panic expression evaluated"/utf8>>,
- module => <<"day18/solve"/utf8>>,
- function => <<"to_direction"/utf8>>,
- line => 30})
- end.
-
--spec parse_front(binary()) -> dig().
-parse_front(Line) ->
- _assert_subject = gleam@regex:from_string(<<"(.) (.*) \\(.*\\)"/utf8>>),
- {ok, Re} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day18/solve"/utf8>>,
- function => <<"parse_front"/utf8>>,
- line => 35})
- end,
- _assert_subject@1 = gleam@regex:scan(Re, Line),
- [{match, _, [{some, Dir}, {some, Dist}]}] = case _assert_subject@1 of
- [{match, _, [{some, _}, {some, _}]}] -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day18/solve"/utf8>>,
- function => <<"parse_front"/utf8>>,
- line => 36})
- end,
- _assert_subject@2 = gleam@int:parse(Dist),
- {ok, N} = case _assert_subject@2 of
- {ok, _} -> _assert_subject@2;
- _assert_fail@2 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@2,
- module => <<"day18/solve"/utf8>>,
- function => <<"parse_front"/utf8>>,
- line => 38})
- end,
- {dig, to_direction(Dir), N}.
-
--spec parse_hex(binary()) -> dig().
-parse_hex(Line) ->
- _assert_subject = gleam@regex:from_string(<<"\\(#(.....)(.)\\)"/utf8>>),
- {ok, Re} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day18/solve"/utf8>>,
- function => <<"parse_hex"/utf8>>,
- line => 43})
- end,
- _assert_subject@1 = gleam@regex:scan(Re, Line),
- [{match, _, [{some, Dist}, {some, Dir}]}] = case _assert_subject@1 of
- [{match, _, [{some, _}, {some, _}]}] -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day18/solve"/utf8>>,
- function => <<"parse_hex"/utf8>>,
- line => 44})
- end,
- _assert_subject@2 = gleam@int:base_parse(Dist, 16),
- {ok, N} = case _assert_subject@2 of
- {ok, _} -> _assert_subject@2;
- _assert_fail@2 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@2,
- module => <<"day18/solve"/utf8>>,
- function => <<"parse_hex"/utf8>>,
- line => 46})
- end,
- {dig, to_direction(Dir), N}.
-
--spec go(coord(), dig()) -> coord().
-go(Current, Dig) ->
- case Dig of
- {dig, up, N} ->
- {coord, erlang:element(2, Current), erlang:element(3, Current) + N};
-
- {dig, right, N@1} ->
- {coord,
- erlang:element(2, Current) + N@1,
- erlang:element(3, Current)};
-
- {dig, down, N@2} ->
- {coord,
- erlang:element(2, Current),
- erlang:element(3, Current) - N@2};
-
- {dig, left, N@3} ->
- {coord,
- erlang:element(2, Current) - N@3,
- erlang:element(3, Current)}
- end.
-
--spec double_triangle(coord(), coord()) -> integer().
-double_triangle(C1, C2) ->
- (erlang:element(2, C1) * erlang:element(3, C2)) - (erlang:element(2, C2) * erlang:element(
- 3,
- C1
- )).
-
--spec do_next_dig(list(dig()), coord(), integer(), integer()) -> integer().
-do_next_dig(Digs, Current, Area, Perimeter) ->
- case Digs of
- [] ->
- ((gleam@int:absolute_value(Area) div 2) + (Perimeter div 2)) + 1;
-
- [Dig | Rest] ->
- Next = go(Current, Dig),
- Area@1 = Area + double_triangle(Current, Next),
- Perimeter@1 = Perimeter + erlang:element(3, Dig),
- do_next_dig(Rest, Next, Area@1, Perimeter@1)
- end.
-
--spec start_dig(list(dig())) -> integer().
-start_dig(Digs) ->
- do_next_dig(Digs, {coord, 0, 0}, 0, 0).
-
--spec solve_with(binary(), fun((binary()) -> dig())) -> binary().
-solve_with(Input, F) ->
- _pipe = Input,
- _pipe@1 = gleam@string:split(_pipe, <<"\n"/utf8>>),
- _pipe@2 = gleam@list:map(_pipe@1, F),
- _pipe@3 = start_dig(_pipe@2),
- gleam@string:inspect(_pipe@3).
-
--spec part1(binary()) -> binary().
-part1(Input) ->
- solve_with(Input, fun parse_front/1).
-
--spec part2(binary()) -> binary().
-part2(Input) ->
- solve_with(Input, fun parse_hex/1).
-
--spec main() -> nil.
-main() ->
- _assert_subject = adglent:get_part(),
- {ok, Part} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day18/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 101})
- end,
- _assert_subject@1 = adglent:get_input(<<"18"/utf8>>),
- {ok, Input} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day18/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 102})
- end,
- case Part of
- first ->
- _pipe = part1(Input),
- _pipe@1 = adglent:inspect(_pipe),
- gleam@io:println(_pipe@1);
-
- second ->
- _pipe@2 = part2(Input),
- _pipe@3 = adglent:inspect(_pipe@2),
- gleam@io:println(_pipe@3)
- end.
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day19@day19_test.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day19@day19_test.cache
deleted file mode 100644
index 3b5eab2..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day19@day19_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day19@day19_test.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day19@day19_test.cache_meta
deleted file mode 100644
index e633833..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day19@day19_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day19@day19_test.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day19@day19_test.erl
deleted file mode 100644
index 2404595..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day19@day19_test.erl
+++ /dev/null
@@ -1,96 +0,0 @@
--module(day19@day19_test).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1_test/0, part2_test/0]).
-
--spec part1_test() -> list(nil).
-part1_test() ->
- _pipe = [{example,
- <<"px{a<2006:qkq,m>2090:A,rfg}
-pv{a>1716:R,A}
-lnx{m>1548:A,A}
-rfg{s<537:gd,x>2440:R,A}
-qs{s>3448:A,lnx}
-qkq{x<1416:A,crn}
-crn{x>2662:A,R}
-in{s<1351:px,qqz}
-qqz{s>2770:qs,m<1801:hdj,R}
-gd{a>3333:R,R}
-hdj{m>838:A,pv}
-
-{x=787,m=2655,a=1222,s=2876}
-{x=1679,m=44,a=2067,s=496}
-{x=2036,m=264,a=79,s=2244}
-{x=2461,m=1339,a=466,s=291}
-{x=2127,m=1623,a=2188,s=1013}"/utf8>>,
- <<"19114"/utf8>>}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"px{a<2006:qkq,m>2090:A,rfg}
-pv{a>1716:R,A}
-lnx{m>1548:A,A}
-rfg{s<537:gd,x>2440:R,A}
-qs{s>3448:A,lnx}
-qkq{x<1416:A,crn}
-crn{x>2662:A,R}
-in{s<1351:px,qqz}
-qqz{s>2770:qs,m<1801:hdj,R}
-gd{a>3333:R,R}
-hdj{m>838:A,pv}
-
-{x=787,m=2655,a=1222,s=2876}
-{x=1679,m=44,a=2067,s=496}
-{x=2036,m=264,a=79,s=2244}
-{x=2461,m=1339,a=466,s=291}
-{x=2127,m=1623,a=2188,s=1013}"/utf8>>,
- <<"19114"/utf8>>}],
- fun(Example) -> _pipe@1 = day19@solve:part1(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
-
--spec part2_test() -> list(nil).
-part2_test() ->
- _pipe = [{example,
- <<"px{a<2006:qkq,m>2090:A,rfg}
-pv{a>1716:R,A}
-lnx{m>1548:A,A}
-rfg{s<537:gd,x>2440:R,A}
-qs{s>3448:A,lnx}
-qkq{x<1416:A,crn}
-crn{x>2662:A,R}
-in{s<1351:px,qqz}
-qqz{s>2770:qs,m<1801:hdj,R}
-gd{a>3333:R,R}
-hdj{m>838:A,pv}
-
-{x=787,m=2655,a=1222,s=2876}
-{x=1679,m=44,a=2067,s=496}
-{x=2036,m=264,a=79,s=2244}
-{x=2461,m=1339,a=466,s=291}
-{x=2127,m=1623,a=2188,s=1013}"/utf8>>,
- <<"167409079868000"/utf8>>}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"px{a<2006:qkq,m>2090:A,rfg}
-pv{a>1716:R,A}
-lnx{m>1548:A,A}
-rfg{s<537:gd,x>2440:R,A}
-qs{s>3448:A,lnx}
-qkq{x<1416:A,crn}
-crn{x>2662:A,R}
-in{s<1351:px,qqz}
-qqz{s>2770:qs,m<1801:hdj,R}
-gd{a>3333:R,R}
-hdj{m>838:A,pv}
-
-{x=787,m=2655,a=1222,s=2876}
-{x=1679,m=44,a=2067,s=496}
-{x=2036,m=264,a=79,s=2244}
-{x=2461,m=1339,a=466,s=291}
-{x=2127,m=1623,a=2188,s=1013}"/utf8>>,
- <<"167409079868000"/utf8>>}],
- fun(Example) -> _pipe@1 = day19@solve:part2(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day19@solve.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day19@solve.cache
deleted file mode 100644
index c7e00e3..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day19@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day19@solve.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day19@solve.cache_meta
deleted file mode 100644
index 0424b05..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day19@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day19@solve.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day19@solve.erl
deleted file mode 100644
index 242bd74..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day19@solve.erl
+++ /dev/null
@@ -1,459 +0,0 @@
--module(day19@solve).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1/1, part2/1, main/0]).
--export_type([rating/0, part/0, action/0, rule/0, interval/0, part_range/0]).
-
--type rating() :: xtremely_cool | musical | aerodynamic | shiny.
-
--type part() :: {part, integer(), integer(), integer(), integer()}.
-
--type action() :: accept | reject | {send_to, binary()}.
-
--type rule() :: {'if', rating(), gleam@order:order(), integer(), action()} |
- {just, action()}.
-
--type interval() :: {interval, integer(), integer()}.
-
--type part_range() :: {part_range,
- interval(),
- interval(),
- interval(),
- interval()}.
-
--spec to_instruction(binary()) -> action().
-to_instruction(Rule) ->
- case Rule of
- <<"A"/utf8>> ->
- accept;
-
- <<"R"/utf8>> ->
- reject;
-
- Name ->
- {send_to, Name}
- end.
-
--spec to_rating(binary()) -> rating().
-to_rating(Rating) ->
- case Rating of
- <<"x"/utf8>> ->
- xtremely_cool;
-
- <<"m"/utf8>> ->
- musical;
-
- <<"a"/utf8>> ->
- aerodynamic;
-
- _ ->
- shiny
- end.
-
--spec get_rating(part(), rating()) -> integer().
-get_rating(Part, Rating) ->
- case Rating of
- xtremely_cool ->
- erlang:element(2, Part);
-
- musical ->
- erlang:element(3, Part);
-
- aerodynamic ->
- erlang:element(4, Part);
-
- shiny ->
- erlang:element(5, Part)
- end.
-
--spec to_comp(binary()) -> gleam@order:order().
-to_comp(Comp) ->
- case Comp of
- <<"<"/utf8>> ->
- lt;
-
- _ ->
- gt
- end.
-
--spec to_val(binary()) -> integer().
-to_val(Val) ->
- _assert_subject = gleam@int:parse(Val),
- {ok, N} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day19/solve"/utf8>>,
- function => <<"to_val"/utf8>>,
- line => 100})
- end,
- N.
-
--spec parse_rules(list(binary())) -> list(rule()).
-parse_rules(Rules) ->
- _assert_subject = gleam@regex:from_string(<<"(.*)(>|<)(.*):(.*)"/utf8>>),
- {ok, Re_rule} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day19/solve"/utf8>>,
- function => <<"parse_rules"/utf8>>,
- line => 57})
- end,
- gleam@list:map(Rules, fun(Rule) -> case gleam@regex:scan(Re_rule, Rule) of
- [{match, _, [{some, R}, {some, C}, {some, T}, {some, I}]}] ->
- {'if',
- to_rating(R),
- to_comp(C),
- to_val(T),
- to_instruction(I)};
-
- _ ->
- {just, to_instruction(Rule)}
- end end).
-
--spec parse_workflow(binary()) -> gleam@dict:dict(binary(), list(rule())).
-parse_workflow(Input) ->
- _assert_subject = gleam@regex:from_string(<<"(.*){(.*)}"/utf8>>),
- {ok, Re} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day19/solve"/utf8>>,
- function => <<"parse_workflow"/utf8>>,
- line => 45})
- end,
- gleam@list:fold(
- gleam@string:split(Input, <<"\n"/utf8>>),
- gleam@dict:new(),
- fun(Acc, Line) ->
- _assert_subject@1 = gleam@regex:scan(Re, Line),
- [{match, _, [{some, Name}, {some, All_rules}]}] = case _assert_subject@1 of
- [{match, _, [{some, _}, {some, _}]}] -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day19/solve"/utf8>>,
- function => <<"parse_workflow"/utf8>>,
- line => 48})
- end,
- Rules = begin
- _pipe = gleam@string:split(All_rules, <<","/utf8>>),
- parse_rules(_pipe)
- end,
- gleam@dict:insert(Acc, Name, Rules)
- end
- ).
-
--spec parse_parts(binary()) -> list(part()).
-parse_parts(Input) ->
- _assert_subject = gleam@regex:from_string(
- <<"{x=(.*),m=(.*),a=(.*),s=(.*)}"/utf8>>
- ),
- {ok, Re} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day19/solve"/utf8>>,
- function => <<"parse_parts"/utf8>>,
- line => 105})
- end,
- gleam@list:map(
- gleam@string:split(Input, <<"\n"/utf8>>),
- fun(Part) ->
- _assert_subject@1 = gleam@regex:scan(Re, Part),
- [{match, _, [{some, X}, {some, M}, {some, A}, {some, S}]}] = case _assert_subject@1 of
- [{match, _, [{some, _}, {some, _}, {some, _}, {some, _}]}] -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day19/solve"/utf8>>,
- function => <<"parse_parts"/utf8>>,
- line => 108})
- end,
- {part, to_val(X), to_val(M), to_val(A), to_val(S)}
- end
- ).
-
--spec evaluate_rules(part(), list(rule())) -> action().
-evaluate_rules(Part, Rules) ->
- case Rules of
- [] ->
- erlang:error(#{gleam_error => panic,
- message => <<"panic expression evaluated"/utf8>>,
- module => <<"day19/solve"/utf8>>,
- function => <<"evaluate_rules"/utf8>>,
- line => 128});
-
- [{just, Do} | _] ->
- Do;
-
- [{'if', Rating, Comparison, Threshold, Do@1} | Rest] ->
- case gleam@int:compare(get_rating(Part, Rating), Threshold) =:= Comparison of
- true ->
- Do@1;
-
- false ->
- evaluate_rules(Part, Rest)
- end
- end.
-
--spec evaluate_workflow(
- part(),
- binary(),
- gleam@dict:dict(binary(), list(rule()))
-) -> integer().
-evaluate_workflow(Part, Name, Workflow) ->
- _assert_subject = gleam@dict:get(Workflow, Name),
- {ok, Rules} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day19/solve"/utf8>>,
- function => <<"evaluate_workflow"/utf8>>,
- line => 118})
- end,
- case evaluate_rules(Part, Rules) of
- accept ->
- ((erlang:element(2, Part) + erlang:element(3, Part)) + erlang:element(
- 4,
- Part
- ))
- + erlang:element(5, Part);
-
- reject ->
- 0;
-
- {send_to, Name@1} ->
- evaluate_workflow(Part, Name@1, Workflow)
- end.
-
--spec start_evaluating_workflow(part(), gleam@dict:dict(binary(), list(rule()))) -> integer().
-start_evaluating_workflow(Part, Workflow) ->
- evaluate_workflow(Part, <<"in"/utf8>>, Workflow).
-
--spec part1(binary()) -> binary().
-part1(Input) ->
- _assert_subject = gleam@string:split_once(Input, <<"\n\n"/utf8>>),
- {ok, {Workflows_str, Parts_str}} = case _assert_subject of
- {ok, {_, _}} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day19/solve"/utf8>>,
- function => <<"part1"/utf8>>,
- line => 139})
- end,
- Workflows = parse_workflow(Workflows_str),
- Parts = parse_parts(Parts_str),
- _pipe = gleam@list:map(
- Parts,
- fun(_capture) -> start_evaluating_workflow(_capture, Workflows) end
- ),
- _pipe@1 = gleam@int:sum(_pipe),
- gleam@string:inspect(_pipe@1).
-
--spec size(interval()) -> integer().
-size(Interval) ->
- (erlang:element(3, Interval) - erlang:element(2, Interval)) + 1.
-
--spec all_in_range(part_range()) -> integer().
-all_in_range(Pr) ->
- ((size(erlang:element(2, Pr)) * size(erlang:element(3, Pr))) * size(
- erlang:element(4, Pr)
- ))
- * size(erlang:element(5, Pr)).
-
--spec get_partrange(part_range(), rating()) -> interval().
-get_partrange(Pr, Rating) ->
- case Rating of
- xtremely_cool ->
- erlang:element(2, Pr);
-
- musical ->
- erlang:element(3, Pr);
-
- aerodynamic ->
- erlang:element(4, Pr);
-
- shiny ->
- erlang:element(5, Pr)
- end.
-
--spec update_partrange(part_range(), rating(), interval()) -> part_range().
-update_partrange(Pr, Rating, I) ->
- case Rating of
- xtremely_cool ->
- erlang:setelement(2, Pr, I);
-
- musical ->
- erlang:setelement(3, Pr, I);
-
- aerodynamic ->
- erlang:setelement(4, Pr, I);
-
- shiny ->
- erlang:setelement(5, Pr, I)
- end.
-
--spec evaluate_rules_on_range(
- part_range(),
- list(rule()),
- gleam@dict:dict(binary(), list(rule()))
-) -> integer().
-evaluate_rules_on_range(Pr, Rules, Workflow) ->
- case Rules of
- [{just, accept} | _] ->
- all_in_range(Pr);
-
- [{just, reject} | _] ->
- 0;
-
- [{just, {send_to, Name}} | _] ->
- evaluate_workflow_on_range(Pr, Name, Workflow);
-
- [{'if', Rating, Comparison, T, Action} | Rest] ->
- Mod_i = get_partrange(Pr, Rating),
- case Comparison of
- lt ->
- split_range(
- update_partrange(
- Pr,
- Rating,
- {interval, erlang:element(2, Mod_i), T - 1}
- ),
- Action,
- update_partrange(
- Pr,
- Rating,
- {interval, T, erlang:element(3, Mod_i)}
- ),
- Rest,
- Workflow
- );
-
- _ ->
- split_range(
- update_partrange(
- Pr,
- Rating,
- {interval, T + 1, erlang:element(3, Mod_i)}
- ),
- Action,
- update_partrange(
- Pr,
- Rating,
- {interval, erlang:element(2, Mod_i), T}
- ),
- Rest,
- Workflow
- )
- end;
-
- [] ->
- erlang:error(#{gleam_error => panic,
- message => <<"panic expression evaluated"/utf8>>,
- module => <<"day19/solve"/utf8>>,
- function => <<"evaluate_rules_on_range"/utf8>>,
- line => 225})
- end.
-
--spec evaluate_workflow_on_range(
- part_range(),
- binary(),
- gleam@dict:dict(binary(), list(rule()))
-) -> integer().
-evaluate_workflow_on_range(Pr, Name, Workflow) ->
- _assert_subject = gleam@dict:get(Workflow, Name),
- {ok, Rules} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day19/solve"/utf8>>,
- function => <<"evaluate_workflow_on_range"/utf8>>,
- line => 191})
- end,
- evaluate_rules_on_range(Pr, Rules, Workflow).
-
--spec part2(binary()) -> binary().
-part2(Input) ->
- _assert_subject = gleam@string:split_once(Input, <<"\n\n"/utf8>>),
- {ok, {Workflows_str, _}} = case _assert_subject of
- {ok, {_, _}} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day19/solve"/utf8>>,
- function => <<"part2"/utf8>>,
- line => 176})
- end,
- Workflow = parse_workflow(Workflows_str),
- Start = {interval, 1, 4000},
- _pipe = {part_range, Start, Start, Start, Start},
- _pipe@1 = evaluate_workflow_on_range(_pipe, <<"in"/utf8>>, Workflow),
- gleam@string:inspect(_pipe@1).
-
--spec split_range(
- part_range(),
- action(),
- part_range(),
- list(rule()),
- gleam@dict:dict(binary(), list(rule()))
-) -> integer().
-split_range(Keep, Action, Pass, Rest, Workflow) ->
- gleam@int:add(
- evaluate_rules_on_range(Keep, [{just, Action}], Workflow),
- evaluate_rules_on_range(Pass, Rest, Workflow)
- ).
-
--spec main() -> nil.
-main() ->
- _assert_subject = adglent:get_part(),
- {ok, Part} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day19/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 243})
- end,
- _assert_subject@1 = adglent:get_input(<<"19"/utf8>>),
- {ok, Input} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day19/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 244})
- end,
- case Part of
- first ->
- _pipe = part1(Input),
- _pipe@1 = adglent:inspect(_pipe),
- gleam@io:println(_pipe@1);
-
- second ->
- _pipe@2 = part2(Input),
- _pipe@3 = adglent:inspect(_pipe@2),
- gleam@io:println(_pipe@3)
- end.
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day1@day1_test.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day1@day1_test.cache
deleted file mode 100644
index 67b16ce..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day1@day1_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day1@day1_test.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day1@day1_test.cache_meta
deleted file mode 100644
index 54af03d..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day1@day1_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day1@day1_test.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day1@day1_test.erl
deleted file mode 100644
index 8c7ab53..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day1@day1_test.erl
+++ /dev/null
@@ -1,50 +0,0 @@
--module(day1@day1_test).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1_test/0, part2_test/0]).
-
--spec part1_test() -> list(nil).
-part1_test() ->
- _pipe = [{example,
- <<"1abc2
-pqr3stu8vwx
-a1b2c3d4e5f
-treb7uchet"/utf8>>,
- <<"142"/utf8>>}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"1abc2
-pqr3stu8vwx
-a1b2c3d4e5f
-treb7uchet"/utf8>>,
- <<"142"/utf8>>}],
- fun(Example) -> _pipe@1 = day1@solve:part1(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
-
--spec part2_test() -> list(nil).
-part2_test() ->
- _pipe = [{example,
- <<"two1nine
-eightwothree
-abcone2threexyz
-xtwone3four
-4nineeightseven2
-zoneight234
-7pqrstsixteen"/utf8>>,
- <<"281"/utf8>>}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"two1nine
-eightwothree
-abcone2threexyz
-xtwone3four
-4nineeightseven2
-zoneight234
-7pqrstsixteen"/utf8>>,
- <<"281"/utf8>>}],
- fun(Example) -> _pipe@1 = day1@solve:part2(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day1@solve.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day1@solve.cache
deleted file mode 100644
index ea9b785..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day1@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day1@solve.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day1@solve.cache_meta
deleted file mode 100644
index 8291feb..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day1@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day1@solve.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day1@solve.erl
deleted file mode 100644
index 15dd24e..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day1@solve.erl
+++ /dev/null
@@ -1,118 +0,0 @@
--module(day1@solve).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1/1, part2/1, main/0]).
-
--spec part1(binary()) -> binary().
-part1(Input) ->
- _assert_subject = gleam@regex:from_string(<<"[1-9]"/utf8>>),
- {ok, Re} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day1/solve"/utf8>>,
- function => <<"part1"/utf8>>,
- line => 9})
- end,
- _pipe = Input,
- _pipe@1 = gleam@string:split(_pipe, <<"\n"/utf8>>),
- _pipe@2 = gleam@list:fold(
- _pipe@1,
- 0,
- fun(Acc, S) ->
- Matches = gleam@regex:scan(Re, S),
- _assert_subject@1 = gleam@list:first(Matches),
- {ok, {match, First, _}} = case _assert_subject@1 of
- {ok, {match, _, _}} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day1/solve"/utf8>>,
- function => <<"part1"/utf8>>,
- line => 18})
- end,
- _assert_subject@2 = gleam@list:last(Matches),
- {ok, {match, Last, _}} = case _assert_subject@2 of
- {ok, {match, _, _}} -> _assert_subject@2;
- _assert_fail@2 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@2,
- module => <<"day1/solve"/utf8>>,
- function => <<"part1"/utf8>>,
- line => 19})
- end,
- _assert_subject@3 = gleam@int:parse(<<First/binary, Last/binary>>),
- {ok, I} = case _assert_subject@3 of
- {ok, _} -> _assert_subject@3;
- _assert_fail@3 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@3,
- module => <<"day1/solve"/utf8>>,
- function => <<"part1"/utf8>>,
- line => 20})
- end,
- Acc + I
- end
- ),
- gleam@string:inspect(_pipe@2).
-
--spec part2(binary()) -> binary().
-part2(Input) ->
- _pipe = gleam@list:fold(
- [{<<"one"/utf8>>, <<"o1e"/utf8>>},
- {<<"two"/utf8>>, <<"t2o"/utf8>>},
- {<<"three"/utf8>>, <<"t3e"/utf8>>},
- {<<"four"/utf8>>, <<"4"/utf8>>},
- {<<"five"/utf8>>, <<"5e"/utf8>>},
- {<<"six"/utf8>>, <<"6"/utf8>>},
- {<<"seven"/utf8>>, <<"7n"/utf8>>},
- {<<"eight"/utf8>>, <<"e8t"/utf8>>},
- {<<"nine"/utf8>>, <<"n9e"/utf8>>}],
- Input,
- fun(Acc, Sub) ->
- {From, To} = Sub,
- gleam@string:replace(Acc, From, To)
- end
- ),
- part1(_pipe).
-
--spec main() -> nil.
-main() ->
- _assert_subject = adglent:get_part(),
- {ok, Part} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day1/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 52})
- end,
- _assert_subject@1 = adglent:get_input(<<"1"/utf8>>),
- {ok, Input} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day1/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 53})
- end,
- case Part of
- first ->
- _pipe = part1(Input),
- _pipe@1 = adglent:inspect(_pipe),
- gleam@io:println(_pipe@1);
-
- second ->
- _pipe@2 = part2(Input),
- _pipe@3 = adglent:inspect(_pipe@2),
- gleam@io:println(_pipe@3)
- end.
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day20@day20_test.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day20@day20_test.cache
deleted file mode 100644
index 7b0c4ff..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day20@day20_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day20@day20_test.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day20@day20_test.cache_meta
deleted file mode 100644
index 684b2f3..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day20@day20_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day20@day20_test.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day20@day20_test.erl
deleted file mode 100644
index 145fc1c..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day20@day20_test.erl
+++ /dev/null
@@ -1,52 +0,0 @@
--module(day20@day20_test).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1_test/0, part2_test/0]).
-
--spec part1_test() -> list(nil).
-part1_test() ->
- _pipe = [{example,
- <<"broadcaster -> a, b, c
-%a -> b
-%b -> c
-%c -> inv
-&inv -> a"/utf8>>,
- <<"32000000"/utf8>>},
- {example,
- <<"broadcaster -> a
-%a -> inv, con
-&inv -> b
-%b -> con
-&con -> output
-output -> "/utf8>>,
- <<"11687500"/utf8>>}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"broadcaster -> a, b, c
-%a -> b
-%b -> c
-%c -> inv
-&inv -> a"/utf8>>,
- <<"32000000"/utf8>>},
- {example,
- <<"broadcaster -> a
-%a -> inv, con
-&inv -> b
-%b -> con
-&con -> output
-output -> "/utf8>>,
- <<"11687500"/utf8>>}],
- fun(Example) -> _pipe@1 = day20@solve:part1(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
-
--spec part2_test() -> list(nil).
-part2_test() ->
- _pipe = [],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [],
- fun(Example) -> _pipe@1 = day20@solve:part2(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day20@solve.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day20@solve.cache
deleted file mode 100644
index 74900a3..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day20@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day20@solve.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day20@solve.cache_meta
deleted file mode 100644
index e37bfb8..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day20@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day20@solve.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day20@solve.erl
deleted file mode 100644
index a4442a0..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day20@solve.erl
+++ /dev/null
@@ -1,237 +0,0 @@
--module(day20@solve).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1/1, part2/1, main/0]).
--export_type([node_/0, tone/0, power/0, tone_pitch/0]).
-
--type node_() :: {broadcaster, list(binary())} |
- {flipflop, list(binary()), power()} |
- {conjunction, list(binary()), gleam@dict:dict(binary(), tone_pitch())} |
- {ground, list(binary())}.
-
--type tone() :: {tone, binary(), binary(), tone_pitch()}.
-
--type power() :: on | off.
-
--type tone_pitch() :: low | high.
-
--spec flip_power(power()) -> power().
-flip_power(P) ->
- case P of
- on ->
- off;
-
- off ->
- on
- end.
-
--spec flip_flop_pitch(power()) -> tone_pitch().
-flip_flop_pitch(P) ->
- case P of
- off ->
- high;
-
- on ->
- low
- end.
-
--spec parse_node(binary()) -> {binary(), node_()}.
-parse_node(Input) ->
- _assert_subject = gleam@string:split(Input, <<" -> "/utf8>>),
- [Full_name, Children_str] = case _assert_subject of
- [_, _] -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day20/solve"/utf8>>,
- function => <<"parse_node"/utf8>>,
- line => 45})
- end,
- Children = gleam@string:split(Children_str, <<", "/utf8>>),
- case Full_name of
- <<"%"/utf8, Name/binary>> ->
- {Name, {flipflop, Children, off}};
-
- <<"&"/utf8, Name@1/binary>> ->
- {Name@1, {conjunction, Children, gleam@dict:new()}};
-
- <<"broadcaster"/utf8>> ->
- {<<"broadcaster"/utf8>>, {broadcaster, Children}};
-
- Name@2 ->
- {Name@2, {ground, []}}
- end.
-
--spec to_initial_state(list({binary(), node_()})) -> gleam@dict:dict(binary(), node_()).
-to_initial_state(Nodes) ->
- Node_dict = gleam@dict:from_list(Nodes),
- Node_names = gleam@dict:keys(Node_dict),
- gleam@dict:map_values(Node_dict, fun(Name, Node) -> case Node of
- {conjunction, Chs, _} ->
- _pipe = Node_names,
- _pipe@1 = gleam@list:filter(
- _pipe,
- fun(N) ->
- _assert_subject = gleam@dict:get(Node_dict, N),
- {ok, Node@1} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day20/solve"/utf8>>,
- function => <<"to_initial_state"/utf8>>,
- line => 65})
- end,
- gleam@list:contains(erlang:element(2, Node@1), Name)
- end
- ),
- _pipe@2 = gleam@list:map(
- _pipe@1,
- fun(N@1) -> {N@1, low} end
- ),
- _pipe@3 = gleam@dict:from_list(_pipe@2),
- (fun(Dict) -> {conjunction, Chs, Dict} end)(_pipe@3);
-
- Other ->
- Other
- end end).
-
--spec press_button_once(
- {gleam@dict:dict(binary(), node_()), integer(), integer()},
- gleam@queue:queue(tone())
-) -> {gleam@dict:dict(binary(), node_()), integer(), integer()}.
-press_button_once(Initial, Queue) ->
- {Nodes, High, Low} = Initial,
- gleam@bool:guard(
- gleam@queue:is_empty(Queue),
- Initial,
- fun() ->
- _assert_subject = gleam@queue:pop_front(Queue),
- {ok, {{tone, From_name, To_name, Pitch} = Tone, Rest}} = case _assert_subject of
- {ok, {{tone, _, _, _}, _}} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day20/solve"/utf8>>,
- function => <<"press_button_once"/utf8>>,
- line => 81})
- end,
- gleam@io:debug(Tone),
- _assert_subject@1 = gleam@dict:get(Nodes, To_name),
- {ok, To_node} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day20/solve"/utf8>>,
- function => <<"press_button_once"/utf8>>,
- line => 84})
- end,
- case To_node of
- {broadcaster, Children} ->
- _pipe = gleam@list:fold(
- Children,
- Rest,
- fun(Acc, C) ->
- gleam@queue:push_back(
- Acc,
- {tone, To_name, C, Pitch}
- )
- end
- ),
- press_button_once(Initial, _pipe);
-
- {conjunction, _, _} ->
- press_button_once(Initial, Rest);
-
- {flipflop, _, _} when Pitch =:= high ->
- press_button_once(Initial, Rest);
-
- {flipflop, Children@1, State} ->
- Updated_nodes = gleam@dict:insert(
- Nodes,
- To_name,
- {flipflop, Children@1, flip_power(State)}
- ),
- Updated_queue = gleam@list:fold(
- Children@1,
- Rest,
- fun(Acc@1, C@1) ->
- gleam@queue:push_back(
- Acc@1,
- {tone, To_name, C@1, flip_flop_pitch(State)}
- )
- end
- ),
- press_button_once({Updated_nodes, 0, 0}, Updated_queue);
-
- {ground, _} ->
- press_button_once(Initial, Rest)
- end
- end
- ).
-
--spec part1(binary()) -> binary().
-part1(Input) ->
- Initial_state = begin
- _pipe = Input,
- _pipe@1 = gleam@string:split(_pipe, <<"\n"/utf8>>),
- _pipe@2 = gleam@list:map(_pipe@1, fun parse_node/1),
- to_initial_state(_pipe@2)
- end,
- press_button_once(
- {Initial_state, 0, 1},
- begin
- _pipe@3 = [{tone, <<"button"/utf8>>, <<"broadcaster"/utf8>>, low}],
- gleam@queue:from_list(_pipe@3)
- end
- ),
- <<"1"/utf8>>.
-
--spec part2(binary()) -> any().
-part2(Input) ->
- erlang:error(#{gleam_error => todo,
- message => <<"Implement solution to part 2"/utf8>>,
- module => <<"day20/solve"/utf8>>,
- function => <<"part2"/utf8>>,
- line => 130}).
-
--spec main() -> nil.
-main() ->
- _assert_subject = adglent:get_part(),
- {ok, Part} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day20/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 134})
- end,
- _assert_subject@1 = adglent:get_input(<<"20"/utf8>>),
- {ok, Input} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day20/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 135})
- end,
- case Part of
- first ->
- _pipe = part1(Input),
- _pipe@1 = adglent:inspect(_pipe),
- gleam@io:println(_pipe@1);
-
- second ->
- _pipe@2 = part2(Input),
- _pipe@3 = adglent:inspect(_pipe@2),
- gleam@io:println(_pipe@3)
- end.
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day2@day2_test.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day2@day2_test.cache
deleted file mode 100644
index 8014a5c..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day2@day2_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day2@day2_test.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day2@day2_test.cache_meta
deleted file mode 100644
index 7f44851..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day2@day2_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day2@day2_test.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day2@day2_test.erl
deleted file mode 100644
index 8795f58..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day2@day2_test.erl
+++ /dev/null
@@ -1,54 +0,0 @@
--module(day2@day2_test).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1_test/0, part2_test/0]).
-
--spec part1_test() -> list(nil).
-part1_test() ->
- _pipe = [{example,
- <<"Game 1: 3 blue, 4 red; 1 red, 2 green, 6 blue; 2 green
-Game 2: 1 blue, 2 green; 3 green, 4 blue, 1 red; 1 green, 1 blue
-Game 3: 8 green, 6 blue, 20 red; 5 blue, 4 red, 13 green; 5 green, 1 red
-Game 4: 1 green, 3 red, 6 blue; 3 green, 6 red; 3 green, 15 blue, 14 red
-Game 5: 6 red, 1 blue, 3 green; 2 blue, 1 red, 2 green"/utf8>>,
- 8}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"Game 1: 3 blue, 4 red; 1 red, 2 green, 6 blue; 2 green
-Game 2: 1 blue, 2 green; 3 green, 4 blue, 1 red; 1 green, 1 blue
-Game 3: 8 green, 6 blue, 20 red; 5 blue, 4 red, 13 green; 5 green, 1 red
-Game 4: 1 green, 3 red, 6 blue; 3 green, 6 red; 3 green, 15 blue, 14 red
-Game 5: 6 red, 1 blue, 3 green; 2 blue, 1 red, 2 green"/utf8>>,
- 8}],
- fun(Example) -> _pipe@1 = day2@solve:part1(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
-
--spec part2_test() -> list(nil).
-part2_test() ->
- _pipe = [{example,
- <<"Game 1: 3 blue, 4 red; 1 red, 2 green, 6 blue; 2 green
-Game 2: 1 blue, 2 green; 3 green, 4 blue, 1 red; 1 green, 1 blue
-Game 3: 8 green, 6 blue, 20 red; 5 blue, 4 red, 13 green; 5 green, 1 red
-Game 4: 1 green, 3 red, 6 blue; 3 green, 6 red; 3 green, 15 blue, 14 red
-Game 5: 6 red, 1 blue, 3 green; 2 blue, 1 red, 2 green"/utf8>>,
- 2286},
- {example,
- <<"Game 1: 3 blue, 4 red; 1 red, 2 green, 6 blue; 2 green"/utf8>>,
- 48}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"Game 1: 3 blue, 4 red; 1 red, 2 green, 6 blue; 2 green
-Game 2: 1 blue, 2 green; 3 green, 4 blue, 1 red; 1 green, 1 blue
-Game 3: 8 green, 6 blue, 20 red; 5 blue, 4 red, 13 green; 5 green, 1 red
-Game 4: 1 green, 3 red, 6 blue; 3 green, 6 red; 3 green, 15 blue, 14 red
-Game 5: 6 red, 1 blue, 3 green; 2 blue, 1 red, 2 green"/utf8>>,
- 2286},
- {example,
- <<"Game 1: 3 blue, 4 red; 1 red, 2 green, 6 blue; 2 green"/utf8>>,
- 48}],
- fun(Example) -> _pipe@1 = day2@solve:part2(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day2@solve.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day2@solve.cache
deleted file mode 100644
index 7533395..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day2@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day2@solve.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day2@solve.cache_meta
deleted file mode 100644
index 237d90e..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day2@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day2@solve.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day2@solve.erl
deleted file mode 100644
index 0cd8105..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day2@solve.erl
+++ /dev/null
@@ -1,166 +0,0 @@
--module(day2@solve).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1/1, part2/1, main/0]).
--export_type([game/0]).
-
--type game() :: {game, integer(), integer(), integer()}.
-
--spec parse(binary()) -> list(list(game())).
-parse(Input) ->
- gleam@list:map(
- gleam@string:split(Input, <<"\n"/utf8>>),
- fun(Line) ->
- _assert_subject = gleam@string:split(Line, <<": "/utf8>>),
- [_, Rounds] = case _assert_subject of
- [_, _] -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day2/solve"/utf8>>,
- function => <<"parse"/utf8>>,
- line => 13})
- end,
- gleam@list:map(
- gleam@string:split(Rounds, <<"; "/utf8>>),
- fun(Match) ->
- gleam@list:fold(
- gleam@string:split(Match, <<", "/utf8>>),
- {game, 0, 0, 0},
- fun(Acc, Draw) ->
- _assert_subject@1 = gleam@string:split_once(
- Draw,
- <<" "/utf8>>
- ),
- {ok, {N_str, Color}} = case _assert_subject@1 of
- {ok, {_, _}} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day2/solve"/utf8>>,
- function => <<"parse"/utf8>>,
- line => 19})
- end,
- _assert_subject@2 = gleam@int:parse(N_str),
- {ok, N} = case _assert_subject@2 of
- {ok, _} -> _assert_subject@2;
- _assert_fail@2 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@2,
- module => <<"day2/solve"/utf8>>,
- function => <<"parse"/utf8>>,
- line => 20})
- end,
- case Color of
- <<"red"/utf8>> ->
- erlang:setelement(2, Acc, N);
-
- <<"blue"/utf8>> ->
- erlang:setelement(3, Acc, N);
-
- <<"green"/utf8>> ->
- erlang:setelement(4, Acc, N);
-
- _ ->
- erlang:error(#{gleam_error => panic,
- message => <<"unrecognized color"/utf8>>,
- module => <<"day2/solve"/utf8>>,
- function => <<"parse"/utf8>>,
- line => 25})
- end
- end
- )
- end
- )
- end
- ).
-
--spec part1(binary()) -> integer().
-part1(Input) ->
- gleam@list:index_fold(
- parse(Input),
- 0,
- fun(Acc, Game, I) ->
- case gleam@list:any(
- Game,
- fun(M) ->
- ((erlang:element(2, M) > 12) orelse (erlang:element(4, M) > 13))
- orelse (erlang:element(3, M) > 14)
- end
- ) of
- false ->
- (Acc + I) + 1;
-
- true ->
- Acc
- end
- end
- ).
-
--spec part2(binary()) -> integer().
-part2(Input) ->
- _pipe = (gleam@list:map(
- parse(Input),
- fun(Game) ->
- gleam@list:fold(
- Game,
- {game, 0, 0, 0},
- fun(Acc, Match) ->
- {game, Red, Blue, Green} = Match,
- {game,
- gleam@int:max(Red, erlang:element(2, Acc)),
- gleam@int:max(Blue, erlang:element(3, Acc)),
- gleam@int:max(Green, erlang:element(4, Acc))}
- end
- )
- end
- )),
- gleam@list:fold(
- _pipe,
- 0,
- fun(Acc@1, G) ->
- Acc@1 + ((erlang:element(2, G) * erlang:element(3, G)) * erlang:element(
- 4,
- G
- ))
- end
- ).
-
--spec main() -> nil.
-main() ->
- _assert_subject = adglent:get_part(),
- {ok, Part} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day2/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 55})
- end,
- _assert_subject@1 = adglent:get_input(<<"2"/utf8>>),
- {ok, Input} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day2/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 56})
- end,
- case Part of
- first ->
- _pipe = part1(Input),
- _pipe@1 = adglent:inspect(_pipe),
- gleam@io:println(_pipe@1);
-
- second ->
- _pipe@2 = part2(Input),
- _pipe@3 = adglent:inspect(_pipe@2),
- gleam@io:println(_pipe@3)
- end.
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day3@day3_test.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day3@day3_test.cache
deleted file mode 100644
index a3b1377..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day3@day3_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day3@day3_test.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day3@day3_test.cache_meta
deleted file mode 100644
index f603e6b..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day3@day3_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day3@day3_test.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day3@day3_test.erl
deleted file mode 100644
index 31de387..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day3@day3_test.erl
+++ /dev/null
@@ -1,68 +0,0 @@
--module(day3@day3_test).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1_test/0, part2_test/0]).
-
--spec part1_test() -> list(nil).
-part1_test() ->
- _pipe = [{example,
- <<"467..114..
-...*......
-..35..633.
-......#...
-617*......
-.....+.58.
-..592.....
-......755.
-...$.*....
-.664.598.."/utf8>>,
- 4361}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"467..114..
-...*......
-..35..633.
-......#...
-617*......
-.....+.58.
-..592.....
-......755.
-...$.*....
-.664.598.."/utf8>>,
- 4361}],
- fun(Example) -> _pipe@1 = day3@solve:part1(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
-
--spec part2_test() -> list(nil).
-part2_test() ->
- _pipe = [{example,
- <<"467..114..
-...*......
-..35..633.
-......#...
-617*......
-.....+.58.
-..592.....
-......755.
-...$.*....
-.664.598.."/utf8>>,
- 467835}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"467..114..
-...*......
-..35..633.
-......#...
-617*......
-.....+.58.
-..592.....
-......755.
-...$.*....
-.664.598.."/utf8>>,
- 467835}],
- fun(Example) -> _pipe@1 = day3@solve:part2(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day3@solve.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day3@solve.cache
deleted file mode 100644
index 13bc7af..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day3@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day3@solve.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day3@solve.cache_meta
deleted file mode 100644
index 7961cc1..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day3@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day3@solve.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day3@solve.erl
deleted file mode 100644
index d4df3d6..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day3@solve.erl
+++ /dev/null
@@ -1,254 +0,0 @@
--module(day3@solve).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1/1, part2/1, main/0]).
--export_type([coord/0, symbol_kind/0, symbol/0, cell/0, part/0]).
-
--type coord() :: {coord, integer(), integer()}.
-
--type symbol_kind() :: gear | something_else.
-
--type symbol() :: {number, integer()} | {symbol, symbol_kind()} | empty.
-
--type cell() :: {cell, coord(), symbol()}.
-
--type part() :: {part, list(coord()), integer()}.
-
--spec to_symbol(binary()) -> symbol().
-to_symbol(C) ->
- case {gleam@int:parse(C), C} of
- {{ok, N}, _} ->
- {number, N};
-
- {_, <<"."/utf8>>} ->
- empty;
-
- {_, <<"*"/utf8>>} ->
- {symbol, gear};
-
- {_, _} ->
- {symbol, something_else}
- end.
-
--spec to_board(binary()) -> gleam@dict:dict(coord(), symbol()).
-to_board(Input) ->
- _pipe = (gleam@list:index_map(
- gleam@string:split(Input, <<"\n"/utf8>>),
- fun(Y, R) ->
- gleam@list:index_map(
- gleam@string:to_graphemes(R),
- fun(X, C) -> {{coord, X, Y}, to_symbol(C)} end
- )
- end
- )),
- _pipe@1 = gleam@list:flatten(_pipe),
- gleam@dict:from_list(_pipe@1).
-
--spec cell_compare(cell(), cell()) -> gleam@order:order().
-cell_compare(A, B) ->
- case gleam@int:compare(
- erlang:element(3, erlang:element(2, A)),
- erlang:element(3, erlang:element(2, B))
- ) of
- eq ->
- gleam@int:compare(
- erlang:element(2, erlang:element(2, A)),
- erlang:element(2, erlang:element(2, B))
- );
-
- Other ->
- Other
- end.
-
--spec find_all_part_digits(gleam@dict:dict(coord(), symbol())) -> list(cell()).
-find_all_part_digits(B) ->
- _pipe = B,
- _pipe@1 = gleam@dict:filter(_pipe, fun(_, V) -> case V of
- {number, _} ->
- true;
-
- _ ->
- false
- end end),
- _pipe@2 = gleam@dict:to_list(_pipe@1),
- _pipe@3 = gleam@list:map(
- _pipe@2,
- fun(Tup) -> {cell, erlang:element(1, Tup), erlang:element(2, Tup)} end
- ),
- gleam@list:sort(_pipe@3, fun cell_compare/2).
-
--spec do_parts(list(cell()), list(part())) -> list(part()).
-do_parts(Cells, Parts) ->
- case Cells of
- [] ->
- Parts;
-
- [{cell, Next, {number, N}} | T] ->
- case Parts of
- [] ->
- do_parts(T, [{part, [Next], N} | Parts]);
-
- [{part, [Prev | _] = Coords, N0} | Rest_parts] ->
- case {(erlang:element(2, Next) - erlang:element(2, Prev)),
- (erlang:element(3, Next) - erlang:element(3, Prev))} of
- {1, 0} ->
- do_parts(
- T,
- [{part, [Next | Coords], (N0 * 10) + N} |
- Rest_parts]
- );
-
- {_, _} ->
- do_parts(T, [{part, [Next], N} | Parts])
- end;
-
- _ ->
- erlang:error(#{gleam_error => panic,
- message => <<"panic expression evaluated"/utf8>>,
- module => <<"day3/solve"/utf8>>,
- function => <<"do_parts"/utf8>>,
- line => 90})
- end;
-
- _ ->
- erlang:error(#{gleam_error => panic,
- message => <<"panic expression evaluated"/utf8>>,
- module => <<"day3/solve"/utf8>>,
- function => <<"do_parts"/utf8>>,
- line => 93})
- end.
-
--spec to_parts(list(cell())) -> list(part()).
-to_parts(Cells) ->
- do_parts(Cells, []).
-
--spec all_neighbors(coord()) -> list(coord()).
-all_neighbors(C) ->
- gleam@list:flat_map(
- [-1, 0, 1],
- fun(Dx) -> gleam@list:filter_map([-1, 0, 1], fun(Dy) -> case {Dx, Dy} of
- {0, 0} ->
- {error, nil};
-
- {_, _} ->
- {ok,
- {coord,
- erlang:element(2, C) + Dx,
- erlang:element(3, C) + Dy}}
- end end) end
- ).
-
--spec sum_valid_parts(integer(), part(), gleam@dict:dict(coord(), symbol())) -> integer().
-sum_valid_parts(Acc, Part, Board) ->
- Neighbors = begin
- _pipe = erlang:element(2, Part),
- _pipe@1 = gleam@list:flat_map(_pipe, fun all_neighbors/1),
- gleam@list:unique(_pipe@1)
- end,
- Sym = [{ok, {symbol, gear}}, {ok, {symbol, something_else}}],
- case gleam@list:any(
- Neighbors,
- fun(C) -> gleam@list:contains(Sym, gleam@dict:get(Board, C)) end
- ) of
- true ->
- Acc + erlang:element(3, Part);
-
- false ->
- Acc
- end.
-
--spec part1(binary()) -> integer().
-part1(Input) ->
- Board = to_board(Input),
- _pipe = Board,
- _pipe@1 = find_all_part_digits(_pipe),
- _pipe@2 = to_parts(_pipe@1),
- gleam@list:fold(
- _pipe@2,
- 0,
- fun(Acc, P) -> sum_valid_parts(Acc, P, Board) end
- ).
-
--spec to_part_with_neighbors(part()) -> part().
-to_part_with_neighbors(Part) ->
- _pipe = erlang:element(2, Part),
- _pipe@1 = gleam@list:flat_map(_pipe, fun all_neighbors/1),
- _pipe@2 = gleam@list:unique(_pipe@1),
- {part, _pipe@2, erlang:element(3, Part)}.
-
--spec find_part_numbers_near_gear(coord(), list(part())) -> list(integer()).
-find_part_numbers_near_gear(Gear, Parts) ->
- gleam@list:filter_map(
- Parts,
- fun(Part) -> case gleam@list:contains(erlang:element(2, Part), Gear) of
- true ->
- {ok, erlang:element(3, Part)};
-
- false ->
- {error, nil}
- end end
- ).
-
--spec to_sum_of_gear_ratios(list(list(integer()))) -> integer().
-to_sum_of_gear_ratios(Adjacent_parts) ->
- gleam@list:fold(Adjacent_parts, 0, fun(Acc, Ps) -> case Ps of
- [P1, P2] ->
- Acc + (P1 * P2);
-
- _ ->
- Acc
- end end).
-
--spec part2(binary()) -> integer().
-part2(Input) ->
- Board = to_board(Input),
- Parts = begin
- _pipe = Board,
- _pipe@1 = find_all_part_digits(_pipe),
- _pipe@2 = to_parts(_pipe@1),
- gleam@list:map(_pipe@2, fun to_part_with_neighbors/1)
- end,
- _pipe@3 = Board,
- _pipe@4 = gleam@dict:filter(_pipe@3, fun(_, V) -> V =:= {symbol, gear} end),
- _pipe@5 = gleam@dict:keys(_pipe@4),
- _pipe@6 = gleam@list:map(
- _pipe@5,
- fun(_capture) -> find_part_numbers_near_gear(_capture, Parts) end
- ),
- to_sum_of_gear_ratios(_pipe@6).
-
--spec main() -> nil.
-main() ->
- _assert_subject = adglent:get_part(),
- {ok, Part} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day3/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 168})
- end,
- _assert_subject@1 = adglent:get_input(<<"3"/utf8>>),
- {ok, Input} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day3/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 169})
- end,
- case Part of
- first ->
- _pipe = part1(Input),
- _pipe@1 = adglent:inspect(_pipe),
- gleam@io:println(_pipe@1);
-
- second ->
- _pipe@2 = part2(Input),
- _pipe@3 = adglent:inspect(_pipe@2),
- gleam@io:println(_pipe@3)
- end.
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day4@day4_test.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day4@day4_test.cache
deleted file mode 100644
index 0e2ffd5..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day4@day4_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day4@day4_test.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day4@day4_test.cache_meta
deleted file mode 100644
index 5874661..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day4@day4_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day4@day4_test.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day4@day4_test.erl
deleted file mode 100644
index 6044cef..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day4@day4_test.erl
+++ /dev/null
@@ -1,52 +0,0 @@
--module(day4@day4_test).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1_test/0, part2_test/0]).
-
--spec part1_test() -> list(nil).
-part1_test() ->
- _pipe = [{example,
- <<"Card 1: 41 48 83 86 17 | 83 86 6 31 17 9 48 53
-Card 2: 13 32 20 16 61 | 61 30 68 82 17 32 24 19
-Card 3: 1 21 53 59 44 | 69 82 63 72 16 21 14 1
-Card 4: 41 92 73 84 69 | 59 84 76 51 58 5 54 83
-Card 5: 87 83 26 28 32 | 88 30 70 12 93 22 82 36
-Card 6: 31 18 13 56 72 | 74 77 10 23 35 67 36 11"/utf8>>,
- 13}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"Card 1: 41 48 83 86 17 | 83 86 6 31 17 9 48 53
-Card 2: 13 32 20 16 61 | 61 30 68 82 17 32 24 19
-Card 3: 1 21 53 59 44 | 69 82 63 72 16 21 14 1
-Card 4: 41 92 73 84 69 | 59 84 76 51 58 5 54 83
-Card 5: 87 83 26 28 32 | 88 30 70 12 93 22 82 36
-Card 6: 31 18 13 56 72 | 74 77 10 23 35 67 36 11"/utf8>>,
- 13}],
- fun(Example) -> _pipe@1 = day4@solve:part1(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
-
--spec part2_test() -> list(nil).
-part2_test() ->
- _pipe = [{example,
- <<"Card 1: 41 48 83 86 17 | 83 86 6 31 17 9 48 53
-Card 2: 13 32 20 16 61 | 61 30 68 82 17 32 24 19
-Card 3: 1 21 53 59 44 | 69 82 63 72 16 21 14 1
-Card 4: 41 92 73 84 69 | 59 84 76 51 58 5 54 83
-Card 5: 87 83 26 28 32 | 88 30 70 12 93 22 82 36
-Card 6: 31 18 13 56 72 | 74 77 10 23 35 67 36 11"/utf8>>,
- 30}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"Card 1: 41 48 83 86 17 | 83 86 6 31 17 9 48 53
-Card 2: 13 32 20 16 61 | 61 30 68 82 17 32 24 19
-Card 3: 1 21 53 59 44 | 69 82 63 72 16 21 14 1
-Card 4: 41 92 73 84 69 | 59 84 76 51 58 5 54 83
-Card 5: 87 83 26 28 32 | 88 30 70 12 93 22 82 36
-Card 6: 31 18 13 56 72 | 74 77 10 23 35 67 36 11"/utf8>>,
- 30}],
- fun(Example) -> _pipe@1 = day4@solve:part2(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day4@solve.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day4@solve.cache
deleted file mode 100644
index b49cc67..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day4@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day4@solve.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day4@solve.cache_meta
deleted file mode 100644
index e4e4c35..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day4@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day4@solve.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day4@solve.erl
deleted file mode 100644
index 8feb45a..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day4@solve.erl
+++ /dev/null
@@ -1,169 +0,0 @@
--module(day4@solve).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1/1, part2/1, main/0]).
--export_type([card/0]).
-
--type card() :: {card, integer(), integer()}.
-
--spec numbers_to_set(binary()) -> gleam@set:set(integer()).
-numbers_to_set(Str) ->
- _pipe = Str,
- _pipe@1 = gleam@string:split(_pipe, <<" "/utf8>>),
- _pipe@2 = gleam@list:map(_pipe@1, fun gleam@int:parse/1),
- _pipe@3 = gleam@result:values(_pipe@2),
- gleam@set:from_list(_pipe@3).
-
--spec parse_card(binary()) -> card().
-parse_card(Card) ->
- _assert_subject = gleam@string:split_once(Card, <<": "/utf8>>),
- {ok, {<<"Card"/utf8, N_str/binary>>, Rest}} = case _assert_subject of
- {ok, {<<"Card"/utf8, _/binary>>, _}} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day4/solve"/utf8>>,
- function => <<"parse_card"/utf8>>,
- line => 25})
- end,
- _assert_subject@1 = gleam@string:split_once(Rest, <<" | "/utf8>>),
- {ok, {Winning_str, Has_str}} = case _assert_subject@1 of
- {ok, {_, _}} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day4/solve"/utf8>>,
- function => <<"parse_card"/utf8>>,
- line => 26})
- end,
- _assert_subject@2 = gleam@int:parse(gleam@string:trim(N_str)),
- {ok, N} = case _assert_subject@2 of
- {ok, _} -> _assert_subject@2;
- _assert_fail@2 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@2,
- module => <<"day4/solve"/utf8>>,
- function => <<"parse_card"/utf8>>,
- line => 27})
- end,
- Winning = numbers_to_set(Winning_str),
- Has = numbers_to_set(Has_str),
- Winners = gleam@set:size(gleam@set:intersection(Winning, Has)),
- {card, N, Winners}.
-
--spec win_points(integer()) -> integer().
-win_points(N) ->
- gleam@bool:guard(N < 2, N, fun() -> 2 * win_points(N - 1) end).
-
--spec part1(binary()) -> integer().
-part1(Input) ->
- gleam@list:fold(
- gleam@string:split(Input, <<"\n"/utf8>>),
- 0,
- fun(Acc, C) -> _pipe = C,
- _pipe@1 = parse_card(_pipe),
- _pipe@2 = (fun(C@1) -> win_points(erlang:element(3, C@1)) end)(
- _pipe@1
- ),
- gleam@int:add(_pipe@2, Acc) end
- ).
-
--spec update_counts(integer(), card(), gleam@dict:dict(integer(), integer())) -> gleam@dict:dict(integer(), integer()).
-update_counts(N, Card, Count) ->
- _assert_subject = gleam@dict:get(Count, erlang:element(2, Card)),
- {ok, Bonus} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day4/solve"/utf8>>,
- function => <<"update_counts"/utf8>>,
- line => 65})
- end,
- gleam@list:fold(
- gleam@list:range(
- erlang:element(2, Card) + 1,
- erlang:element(2, Card) + N
- ),
- Count,
- fun(Acc, N@1) -> gleam@dict:update(Acc, N@1, fun(C) -> case C of
- {some, I} ->
- I + Bonus;
-
- none ->
- erlang:error(#{gleam_error => panic,
- message => <<"won a card that doesn't exist in the card pile"/utf8>>,
- module => <<"day4/solve"/utf8>>,
- function => <<"update_counts"/utf8>>,
- line => 70})
- end end) end
- ).
-
--spec win_more_cards(list(binary()), gleam@dict:dict(integer(), integer())) -> integer().
-win_more_cards(Cards, Count) ->
- case Cards of
- [] ->
- _pipe = Count,
- _pipe@1 = gleam@dict:values(_pipe),
- gleam@int:sum(_pipe@1);
-
- [Raw_card | Rest] ->
- Card = parse_card(Raw_card),
- case erlang:element(3, Card) of
- 0 ->
- win_more_cards(Rest, Count);
-
- N ->
- win_more_cards(Rest, update_counts(N, Card, Count))
- end
- end.
-
--spec part2(binary()) -> integer().
-part2(Input) ->
- Cards = gleam@string:split(Input, <<"\n"/utf8>>),
- Count = begin
- _pipe = gleam@list:range(1, gleam@list:length(Cards)),
- _pipe@1 = gleam@list:map(_pipe, fun(N) -> {N, 1} end),
- gleam@dict:from_list(_pipe@1)
- end,
- win_more_cards(Cards, Count).
-
--spec main() -> nil.
-main() ->
- _assert_subject = adglent:get_part(),
- {ok, Part} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day4/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 86})
- end,
- _assert_subject@1 = adglent:get_input(<<"4"/utf8>>),
- {ok, Input} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day4/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 87})
- end,
- case Part of
- first ->
- _pipe = part1(Input),
- _pipe@1 = adglent:inspect(_pipe),
- gleam@io:println(_pipe@1);
-
- second ->
- _pipe@2 = part2(Input),
- _pipe@3 = adglent:inspect(_pipe@2),
- gleam@io:println(_pipe@3)
- end.
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day5@day5_test.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day5@day5_test.cache
deleted file mode 100644
index 0b18c75..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day5@day5_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day5@day5_test.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day5@day5_test.cache_meta
deleted file mode 100644
index 4224316..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day5@day5_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day5@day5_test.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day5@day5_test.erl
deleted file mode 100644
index c3fe14d..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day5@day5_test.erl
+++ /dev/null
@@ -1,160 +0,0 @@
--module(day5@day5_test).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1_test/0, part2_test/0]).
-
--spec part1_test() -> list(nil).
-part1_test() ->
- _pipe = [{example,
- <<"seeds: 79 14 55 13
-
-seed-to-soil map:
-50 98 2
-52 50 48
-
-soil-to-fertilizer map:
-0 15 37
-37 52 2
-39 0 15
-
-fertilizer-to-water map:
-49 53 8
-0 11 42
-42 0 7
-57 7 4
-
-water-to-light map:
-88 18 7
-18 25 70
-
-light-to-temperature map:
-45 77 23
-81 45 19
-68 64 13
-
-temperature-to-humidity map:
-0 69 1
-1 0 69
-
-humidity-to-location map:
-60 56 37
-56 93 4"/utf8>>,
- <<"35"/utf8>>}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"seeds: 79 14 55 13
-
-seed-to-soil map:
-50 98 2
-52 50 48
-
-soil-to-fertilizer map:
-0 15 37
-37 52 2
-39 0 15
-
-fertilizer-to-water map:
-49 53 8
-0 11 42
-42 0 7
-57 7 4
-
-water-to-light map:
-88 18 7
-18 25 70
-
-light-to-temperature map:
-45 77 23
-81 45 19
-68 64 13
-
-temperature-to-humidity map:
-0 69 1
-1 0 69
-
-humidity-to-location map:
-60 56 37
-56 93 4"/utf8>>,
- <<"35"/utf8>>}],
- fun(Example) -> _pipe@1 = day5@solve:part1(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
-
--spec part2_test() -> list(nil).
-part2_test() ->
- _pipe = [{example,
- <<"seeds: 79 14 55 13
-
-seed-to-soil map:
-50 98 2
-52 50 48
-
-soil-to-fertilizer map:
-0 15 37
-37 52 2
-39 0 15
-
-fertilizer-to-water map:
-49 53 8
-0 11 42
-42 0 7
-57 7 4
-
-water-to-light map:
-88 18 7
-18 25 70
-
-light-to-temperature map:
-45 77 23
-81 45 19
-68 64 13
-
-temperature-to-humidity map:
-0 69 1
-1 0 69
-
-humidity-to-location map:
-60 56 37
-56 93 4"/utf8>>,
- <<"46"/utf8>>}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"seeds: 79 14 55 13
-
-seed-to-soil map:
-50 98 2
-52 50 48
-
-soil-to-fertilizer map:
-0 15 37
-37 52 2
-39 0 15
-
-fertilizer-to-water map:
-49 53 8
-0 11 42
-42 0 7
-57 7 4
-
-water-to-light map:
-88 18 7
-18 25 70
-
-light-to-temperature map:
-45 77 23
-81 45 19
-68 64 13
-
-temperature-to-humidity map:
-0 69 1
-1 0 69
-
-humidity-to-location map:
-60 56 37
-56 93 4"/utf8>>,
- <<"46"/utf8>>}],
- fun(Example) -> _pipe@1 = day5@solve:part2(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day5@solve.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day5@solve.cache
deleted file mode 100644
index b5e7372..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day5@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day5@solve.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day5@solve.cache_meta
deleted file mode 100644
index 8a8b5b8..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day5@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day5@solve.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day5@solve.erl
deleted file mode 100644
index f47ab25..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day5@solve.erl
+++ /dev/null
@@ -1,269 +0,0 @@
--module(day5@solve).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1/1, part2/1, main/0]).
--export_type([almanac/0, mapping_range/0, seed_range/0]).
-
--type almanac() :: {almanac, list(integer()), list(list(mapping_range()))}.
-
--type mapping_range() :: {m_range, integer(), integer(), integer()}.
-
--type seed_range() :: {s_range, integer(), integer()}.
-
--spec string_to_int_list(binary()) -> list(integer()).
-string_to_int_list(Str) ->
- _pipe = Str,
- _pipe@1 = gleam@string:split(_pipe, <<" "/utf8>>),
- _pipe@2 = gleam@list:map(_pipe@1, fun gleam@int:parse/1),
- gleam@result:values(_pipe@2).
-
--spec parse_mrange(binary()) -> mapping_range().
-parse_mrange(Str) ->
- _assert_subject = string_to_int_list(Str),
- [Destination, Source, Range_width] = case _assert_subject of
- [_, _, _] -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day5/solve"/utf8>>,
- function => <<"parse_mrange"/utf8>>,
- line => 55})
- end,
- {m_range, Source, (Source + Range_width) - 1, Destination - Source}.
-
--spec parse_mapper(list(binary())) -> list(mapping_range()).
-parse_mapper(Strs) ->
- [_ | Raw_ranges] = case Strs of
- [_ | _] -> Strs;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day5/solve"/utf8>>,
- function => <<"parse_mapper"/utf8>>,
- line => 49})
- end,
- _pipe = gleam@list:map(Raw_ranges, fun parse_mrange/1),
- gleam@list:sort(
- _pipe,
- fun(A, B) ->
- gleam@int:compare(erlang:element(2, A), erlang:element(2, B))
- end
- ).
-
--spec parse_input(binary()) -> almanac().
-parse_input(Input) ->
- _assert_subject = gleam@string:split(Input, <<"\n\n"/utf8>>),
- [<<"seeds: "/utf8, Raw_seeds/binary>> | Raw_mappers] = case _assert_subject of
- [<<"seeds: "/utf8, _/binary>> | _] -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day5/solve"/utf8>>,
- function => <<"parse_input"/utf8>>,
- line => 29})
- end,
- Seeds = string_to_int_list(Raw_seeds),
- Mappers = gleam@list:map(
- Raw_mappers,
- gleam@function:compose(
- fun(_capture) -> gleam@string:split(_capture, <<"\n"/utf8>>) end,
- fun parse_mapper/1
- )
- ),
- {almanac, Seeds, Mappers}.
-
--spec correspond(integer(), list(mapping_range())) -> integer().
-correspond(N, Mapper) ->
- gleam@list:fold_until(
- Mapper,
- N,
- fun(Acc, Mrange) ->
- case (erlang:element(2, Mrange) =< Acc) andalso (Acc =< erlang:element(
- 3,
- Mrange
- )) of
- true ->
- {stop, Acc + erlang:element(4, Mrange)};
-
- false ->
- {continue, Acc}
- end
- end
- ).
-
--spec part1(binary()) -> binary().
-part1(Input) ->
- {almanac, Seeds, Mappers} = parse_input(Input),
- _pipe = gleam@list:map(
- Seeds,
- fun(_capture) ->
- gleam@list:fold(Mappers, _capture, fun correspond/2)
- end
- ),
- _pipe@1 = gleam@list:reduce(_pipe, fun gleam@int:min/2),
- _pipe@2 = gleam@result:unwrap(_pipe@1, 0),
- gleam@string:inspect(_pipe@2).
-
--spec transform_range(seed_range(), mapping_range()) -> seed_range().
-transform_range(R, Mapper) ->
- {s_range,
- erlang:element(2, R) + erlang:element(4, Mapper),
- erlang:element(3, R) + erlang:element(4, Mapper)}.
-
--spec do_remap_range(seed_range(), list(mapping_range()), list(seed_range())) -> list(seed_range()).
-do_remap_range(R, Mapper, Acc) ->
- case Mapper of
- [] ->
- [R | Acc];
-
- [M | _] when erlang:element(3, R) < erlang:element(2, M) ->
- [R | Acc];
-
- [M@1 | Ms] when erlang:element(2, R) > erlang:element(3, M@1) ->
- do_remap_range(R, Ms, Acc);
-
- [M@2 | _] when (erlang:element(2, R) >= erlang:element(2, M@2)) andalso (erlang:element(
- 3,
- R
- ) =< erlang:element(3, M@2)) ->
- [transform_range(R, M@2) | Acc];
-
- [M@3 | _] when (erlang:element(2, R) < erlang:element(2, M@3)) andalso (erlang:element(
- 3,
- R
- ) =< erlang:element(3, M@3)) ->
- [{s_range, erlang:element(2, R), erlang:element(2, M@3) - 1},
- transform_range(
- {s_range, erlang:element(2, M@3), erlang:element(3, R)},
- M@3
- ) |
- Acc];
-
- [M@4 | Ms@1] when (erlang:element(2, R) >= erlang:element(2, M@4)) andalso (erlang:element(
- 3,
- R
- ) > erlang:element(3, M@4)) ->
- do_remap_range(
- {s_range, erlang:element(3, M@4) + 1, erlang:element(3, R)},
- Ms@1,
- [transform_range(
- {s_range, erlang:element(2, R), erlang:element(3, M@4)},
- M@4
- ) |
- Acc]
- );
-
- [M@5 | Ms@2] ->
- do_remap_range(
- {s_range, erlang:element(3, M@5) + 1, erlang:element(3, R)},
- Ms@2,
- [{s_range, erlang:element(2, R), erlang:element(2, M@5) - 1},
- transform_range(
- {s_range,
- erlang:element(2, M@5),
- erlang:element(3, M@5)},
- M@5
- ) |
- Acc]
- )
- end.
-
--spec remap_range(seed_range(), list(mapping_range())) -> list(seed_range()).
-remap_range(R, Mapper) ->
- do_remap_range(R, Mapper, []).
-
--spec remap_all_seed_ranges(list(seed_range()), list(list(mapping_range()))) -> list(seed_range()).
-remap_all_seed_ranges(Srs, Mappers) ->
- case Mappers of
- [] ->
- Srs;
-
- [Mapper | Rest] ->
- _pipe = gleam@list:flat_map(
- Srs,
- fun(_capture) -> remap_range(_capture, Mapper) end
- ),
- remap_all_seed_ranges(_pipe, Rest)
- end.
-
--spec part2(binary()) -> binary().
-part2(Input) ->
- {almanac, Seeds, Mappers} = parse_input(Input),
- _assert_subject = begin
- _pipe = Seeds,
- _pipe@1 = gleam@list:sized_chunk(_pipe, 2),
- _pipe@3 = gleam@list:map(
- _pipe@1,
- fun(Chunk) ->
- [Start, Length] = case Chunk of
- [_, _] -> Chunk;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day5/solve"/utf8>>,
- function => <<"part2"/utf8>>,
- line => 87})
- end,
- _pipe@2 = [{s_range, Start, (Start + Length) - 1}],
- remap_all_seed_ranges(_pipe@2, Mappers)
- end
- ),
- _pipe@4 = gleam@list:flatten(_pipe@3),
- gleam@list:sort(
- _pipe@4,
- fun(A, B) ->
- gleam@int:compare(erlang:element(2, A), erlang:element(2, B))
- end
- )
- end,
- [{s_range, Answer, _} | _] = case _assert_subject of
- [{s_range, _, _} | _] -> _assert_subject;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day5/solve"/utf8>>,
- function => <<"part2"/utf8>>,
- line => 83})
- end,
- gleam@string:inspect(Answer).
-
--spec main() -> nil.
-main() ->
- _assert_subject = adglent:get_part(),
- {ok, Part} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day5/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 155})
- end,
- _assert_subject@1 = adglent:get_input(<<"5"/utf8>>),
- {ok, Input} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day5/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 156})
- end,
- case Part of
- first ->
- _pipe = part1(Input),
- _pipe@1 = adglent:inspect(_pipe),
- gleam@io:println(_pipe@1);
-
- second ->
- _pipe@2 = part2(Input),
- _pipe@3 = adglent:inspect(_pipe@2),
- gleam@io:println(_pipe@3)
- end.
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day6@day6_test.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day6@day6_test.cache
deleted file mode 100644
index ebca7b3..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day6@day6_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day6@day6_test.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day6@day6_test.cache_meta
deleted file mode 100644
index f9fa286..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day6@day6_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day6@day6_test.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day6@day6_test.erl
deleted file mode 100644
index a306363..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day6@day6_test.erl
+++ /dev/null
@@ -1,36 +0,0 @@
--module(day6@day6_test).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1_test/0, part2_test/0]).
-
--spec part1_test() -> list(nil).
-part1_test() ->
- _pipe = [{example,
- <<"Time: 7 15 30
-Distance: 9 40 200"/utf8>>,
- <<"288"/utf8>>}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"Time: 7 15 30
-Distance: 9 40 200"/utf8>>,
- <<"288"/utf8>>}],
- fun(Example) -> _pipe@1 = day6@solve:part1(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
-
--spec part2_test() -> list(nil).
-part2_test() ->
- _pipe = [{example,
- <<"Time: 7 15 30
-Distance: 9 40 200"/utf8>>,
- <<"71503"/utf8>>}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"Time: 7 15 30
-Distance: 9 40 200"/utf8>>,
- <<"71503"/utf8>>}],
- fun(Example) -> _pipe@1 = day6@solve:part2(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day6@solve.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day6@solve.cache
deleted file mode 100644
index 2fa1771..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day6@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day6@solve.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day6@solve.cache_meta
deleted file mode 100644
index a546033..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day6@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day6@solve.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day6@solve.erl
deleted file mode 100644
index 86a8033..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day6@solve.erl
+++ /dev/null
@@ -1,131 +0,0 @@
--module(day6@solve).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1/1, part2/1, main/0]).
--export_type([race/0]).
-
--type race() :: {race, integer(), integer()}.
-
--spec parse_with_bad_kerning(binary()) -> list(race()).
-parse_with_bad_kerning(Input) ->
- _pipe = Input,
- _pipe@1 = gleam@string:split(_pipe, <<"\n"/utf8>>),
- _pipe@5 = gleam@list:map(_pipe@1, fun(Str) -> _pipe@2 = Str,
- _pipe@3 = gleam@string:split(_pipe@2, <<" "/utf8>>),
- _pipe@4 = gleam@list:map(_pipe@3, fun gleam@int:parse/1),
- gleam@result:values(_pipe@4) end),
- _pipe@6 = gleam@list:transpose(_pipe@5),
- gleam@list:map(
- _pipe@6,
- fun(Ns) ->
- [T, D] = case Ns of
- [_, _] -> Ns;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day6/solve"/utf8>>,
- function => <<"parse_with_bad_kerning"/utf8>>,
- line => 23})
- end,
- {race, T, D}
- end
- ).
-
--spec find_bound(race(), integer(), integer()) -> integer().
-find_bound(Race, Button_time, Step) ->
- Travel_time = erlang:element(2, Race) - Button_time,
- case (Button_time * Travel_time) > erlang:element(3, Race) of
- true ->
- Button_time;
-
- false ->
- find_bound(Race, Button_time + Step, Step)
- end.
-
--spec lower_bound(race()) -> integer().
-lower_bound(Race) ->
- find_bound(Race, 1, 1).
-
--spec upper_bound(race()) -> integer().
-upper_bound(Race) ->
- find_bound(Race, erlang:element(2, Race), -1).
-
--spec part1(binary()) -> binary().
-part1(Input) ->
- _pipe = (gleam@list:fold(
- parse_with_bad_kerning(Input),
- 1,
- fun(Acc, Race) ->
- Acc * ((upper_bound(Race) - lower_bound(Race)) + 1)
- end
- )),
- gleam@string:inspect(_pipe).
-
--spec parse_properly(binary()) -> list(integer()).
-parse_properly(Input) ->
- _pipe = Input,
- _pipe@1 = gleam@string:replace(_pipe, <<" "/utf8>>, <<""/utf8>>),
- _pipe@2 = gleam@string:split(_pipe@1, <<"\n"/utf8>>),
- _pipe@3 = gleam@list:flat_map(
- _pipe@2,
- fun(_capture) -> gleam@string:split(_capture, <<":"/utf8>>) end
- ),
- _pipe@4 = gleam@list:map(_pipe@3, fun gleam@int:parse/1),
- gleam@result:values(_pipe@4).
-
--spec part2(binary()) -> binary().
-part2(Input) ->
- _assert_subject = begin
- _pipe = Input,
- parse_properly(_pipe)
- end,
- [Time, Distance] = case _assert_subject of
- [_, _] -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day6/solve"/utf8>>,
- function => <<"part2"/utf8>>,
- line => 62})
- end,
- Race = {race, Time, Distance},
- _pipe@1 = (upper_bound(Race) - lower_bound(Race)) + 1,
- gleam@string:inspect(_pipe@1).
-
--spec main() -> nil.
-main() ->
- _assert_subject = adglent:get_part(),
- {ok, Part} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day6/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 73})
- end,
- _assert_subject@1 = adglent:get_input(<<"6"/utf8>>),
- {ok, Input} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day6/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 74})
- end,
- case Part of
- first ->
- _pipe = part1(Input),
- _pipe@1 = adglent:inspect(_pipe),
- gleam@io:println(_pipe@1);
-
- second ->
- _pipe@2 = part2(Input),
- _pipe@3 = adglent:inspect(_pipe@2),
- gleam@io:println(_pipe@3)
- end.
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day7@day7_test.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day7@day7_test.cache
deleted file mode 100644
index 44b76c4..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day7@day7_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day7@day7_test.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day7@day7_test.cache_meta
deleted file mode 100644
index 416021b..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day7@day7_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day7@day7_test.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day7@day7_test.erl
deleted file mode 100644
index 917a57e..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day7@day7_test.erl
+++ /dev/null
@@ -1,48 +0,0 @@
--module(day7@day7_test).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1_test/0, part2_test/0]).
-
--spec part1_test() -> list(nil).
-part1_test() ->
- _pipe = [{example,
- <<"32T3K 765
-T55J5 684
-KK677 28
-KTJJT 220
-QQQJA 483"/utf8>>,
- <<"6440"/utf8>>}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"32T3K 765
-T55J5 684
-KK677 28
-KTJJT 220
-QQQJA 483"/utf8>>,
- <<"6440"/utf8>>}],
- fun(Example) -> _pipe@1 = day7@solve:part1(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
-
--spec part2_test() -> list(nil).
-part2_test() ->
- _pipe = [{example,
- <<"32T3K 765
-T55J5 684
-KK677 28
-KTJJT 220
-QQQJA 483"/utf8>>,
- <<"5905"/utf8>>}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"32T3K 765
-T55J5 684
-KK677 28
-KTJJT 220
-QQQJA 483"/utf8>>,
- <<"5905"/utf8>>}],
- fun(Example) -> _pipe@1 = day7@solve:part2(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day7@solve.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day7@solve.cache
deleted file mode 100644
index 5603a95..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day7@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day7@solve.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day7@solve.cache_meta
deleted file mode 100644
index c381778..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day7@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day7@solve.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day7@solve.erl
deleted file mode 100644
index 7666e16..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day7@solve.erl
+++ /dev/null
@@ -1,242 +0,0 @@
--module(day7@solve).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1/1, part2/1, main/0]).
--export_type([hand/0]).
-
--type hand() :: {hand, list(integer()), integer()}.
-
--spec card_counts(hand()) -> list(integer()).
-card_counts(Hand) ->
- _pipe = erlang:element(2, Hand),
- _pipe@1 = gleam@list:sort(_pipe, fun gleam@int:compare/2),
- _pipe@2 = gleam@list:chunk(_pipe@1, fun gleam@function:identity/1),
- _pipe@3 = gleam@list:map(_pipe@2, fun gleam@list:length/1),
- gleam@list:sort(_pipe@3, fun gleam@int:compare/2).
-
--spec classify_hand(hand()) -> integer().
-classify_hand(Hand) ->
- case {gleam@list:length(gleam@list:unique(erlang:element(2, Hand))),
- card_counts(Hand)} of
- {1, _} ->
- 8;
-
- {2, [1, 4]} ->
- 7;
-
- {2, [2, 3]} ->
- 6;
-
- {3, [1, 1, 3]} ->
- 5;
-
- {3, [1, 2, 2]} ->
- 4;
-
- {4, _} ->
- 3;
-
- {5, _} ->
- 2;
-
- {_, _} ->
- 1
- end.
-
--spec card_rank(binary()) -> integer().
-card_rank(Card) ->
- case {gleam@int:parse(Card), Card} of
- {{ok, N}, _} ->
- N;
-
- {_, <<"A"/utf8>>} ->
- 14;
-
- {_, <<"K"/utf8>>} ->
- 13;
-
- {_, <<"Q"/utf8>>} ->
- 12;
-
- {_, <<"J"/utf8>>} ->
- 11;
-
- {_, <<"T"/utf8>>} ->
- 10;
-
- {_, _} ->
- 1
- end.
-
--spec parse_hand(binary()) -> hand().
-parse_hand(Str) ->
- _assert_subject = gleam@string:split(Str, <<" "/utf8>>),
- [Cards, Wager] = case _assert_subject of
- [_, _] -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day7/solve"/utf8>>,
- function => <<"parse_hand"/utf8>>,
- line => 19})
- end,
- Cards@1 = begin
- _pipe = gleam@string:to_graphemes(Cards),
- gleam@list:map(_pipe, fun card_rank/1)
- end,
- _assert_subject@1 = gleam@int:parse(Wager),
- {ok, Wager@1} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day7/solve"/utf8>>,
- function => <<"parse_hand"/utf8>>,
- line => 23})
- end,
- {hand, Cards@1, Wager@1}.
-
--spec compare_top_card(list(integer()), list(integer())) -> gleam@order:order().
-compare_top_card(Cards1, Cards2) ->
- gleam@bool:guard(
- (Cards1 =:= []) orelse (Cards2 =:= []),
- eq,
- fun() ->
- [C1 | Rest1] = case Cards1 of
- [_ | _] -> Cards1;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day7/solve"/utf8>>,
- function => <<"compare_top_card"/utf8>>,
- line => 70})
- end,
- [C2 | Rest2] = case Cards2 of
- [_ | _] -> Cards2;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day7/solve"/utf8>>,
- function => <<"compare_top_card"/utf8>>,
- line => 71})
- end,
- case gleam@int:compare(C1, C2) of
- eq ->
- compare_top_card(Rest1, Rest2);
-
- Other ->
- Other
- end
- end
- ).
-
--spec compare_hands(hand(), hand(), fun((hand()) -> integer())) -> gleam@order:order().
-compare_hands(Hand1, Hand2, Using) ->
- case gleam@int:compare(Using(Hand1), Using(Hand2)) of
- eq ->
- compare_top_card(erlang:element(2, Hand1), erlang:element(2, Hand2));
-
- Other ->
- Other
- end.
-
--spec part(binary(), fun((hand(), hand()) -> gleam@order:order())) -> binary().
-part(Input, Comparator) ->
- _pipe = Input,
- _pipe@1 = gleam@string:split(_pipe, <<"\n"/utf8>>),
- _pipe@2 = gleam@list:map(_pipe@1, fun parse_hand/1),
- _pipe@3 = gleam@list:sort(_pipe@2, Comparator),
- _pipe@4 = gleam@list:index_map(
- _pipe@3,
- fun(I, H) -> (I + 1) * erlang:element(3, H) end
- ),
- _pipe@5 = gleam@int:sum(_pipe@4),
- gleam@string:inspect(_pipe@5).
-
--spec compare_without_wilds(hand(), hand()) -> gleam@order:order().
-compare_without_wilds(Hand1, Hand2) ->
- compare_hands(Hand1, Hand2, fun classify_hand/1).
-
--spec part1(binary()) -> binary().
-part1(Input) ->
- part(Input, fun compare_without_wilds/2).
-
--spec find_best_joker_substitution(hand()) -> hand().
-find_best_joker_substitution(Hand) ->
- gleam@list:fold(
- gleam@list:range(2, 14),
- {hand, [], 0},
- fun(Acc, Card) ->
- Subbed_cards = (gleam@list:map(
- erlang:element(2, Hand),
- fun(C) -> case C of
- 1 ->
- Card;
-
- Other ->
- Other
- end end
- )),
- Subbed_hand = erlang:setelement(2, Hand, Subbed_cards),
- case compare_hands(Acc, Subbed_hand, fun classify_hand/1) of
- lt ->
- Subbed_hand;
-
- _ ->
- Acc
- end
- end
- ).
-
--spec compare_hands_considering_jokers(hand(), hand()) -> gleam@order:order().
-compare_hands_considering_jokers(Hand1, Hand2) ->
- compare_hands(Hand1, Hand2, fun(Hand) -> _pipe = Hand,
- _pipe@1 = find_best_joker_substitution(_pipe),
- classify_hand(_pipe@1) end).
-
--spec part2(binary()) -> binary().
-part2(Input) ->
- part(
- gleam@string:replace(Input, <<"J"/utf8>>, <<"*"/utf8>>),
- fun compare_hands_considering_jokers/2
- ).
-
--spec main() -> nil.
-main() ->
- _assert_subject = adglent:get_part(),
- {ok, Part} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day7/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 128})
- end,
- _assert_subject@1 = adglent:get_input(<<"7"/utf8>>),
- {ok, Input} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day7/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 129})
- end,
- case Part of
- first ->
- _pipe = part1(Input),
- _pipe@1 = adglent:inspect(_pipe),
- gleam@io:println(_pipe@1);
-
- second ->
- _pipe@2 = part2(Input),
- _pipe@3 = adglent:inspect(_pipe@2),
- gleam@io:println(_pipe@3)
- end.
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day8@day8_test.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day8@day8_test.cache
deleted file mode 100644
index 9a04fc8..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day8@day8_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day8@day8_test.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day8@day8_test.cache_meta
deleted file mode 100644
index ec825d2..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day8@day8_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day8@day8_test.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day8@day8_test.erl
deleted file mode 100644
index 2da8521..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day8@day8_test.erl
+++ /dev/null
@@ -1,58 +0,0 @@
--module(day8@day8_test).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1_test/0, part2_test/0]).
-
--spec part1_test() -> list(nil).
-part1_test() ->
- _pipe = [{example,
- <<"LLR
-
-AAA = (BBB, BBB)
-BBB = (AAA, ZZZ)
-ZZZ = (ZZZ, ZZZ)"/utf8>>,
- 6}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"LLR
-
-AAA = (BBB, BBB)
-BBB = (AAA, ZZZ)
-ZZZ = (ZZZ, ZZZ)"/utf8>>,
- 6}],
- fun(Example) -> _pipe@1 = day8@solve:part1(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
-
--spec part2_test() -> list(nil).
-part2_test() ->
- _pipe = [{example,
- <<"LR
-
-11A = (11B, XXX)
-11B = (XXX, 11Z)
-11Z = (11B, XXX)
-22A = (22B, XXX)
-22B = (22C, 22C)
-22C = (22Z, 22Z)
-22Z = (22B, 22B)
-XXX = (XXX, XXX)"/utf8>>,
- 6}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"LR
-
-11A = (11B, XXX)
-11B = (XXX, 11Z)
-11Z = (11B, XXX)
-22A = (22B, XXX)
-22B = (22C, 22C)
-22C = (22Z, 22Z)
-22Z = (22B, 22B)
-XXX = (XXX, XXX)"/utf8>>,
- 6}],
- fun(Example) -> _pipe@1 = day8@solve:part2(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day8@solve.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day8@solve.cache
deleted file mode 100644
index 34f5889..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day8@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day8@solve.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day8@solve.cache_meta
deleted file mode 100644
index b8df5b2..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day8@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day8@solve.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day8@solve.erl
deleted file mode 100644
index 6ac3b18..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day8@solve.erl
+++ /dev/null
@@ -1,179 +0,0 @@
--module(day8@solve).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1/1, part2/1, main/0]).
--export_type([paths/0]).
-
--type paths() :: {paths, binary(), binary()}.
-
--spec parse(binary()) -> {gleam@iterator:iterator(binary()),
- gleam@dict:dict(binary(), paths())}.
-parse(Input) ->
- _assert_subject = gleam@string:split(Input, <<"\n\n"/utf8>>),
- [Directions_str, Maze_str] = case _assert_subject of
- [_, _] -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day8/solve"/utf8>>,
- function => <<"parse"/utf8>>,
- line => 20})
- end,
- Directions = begin
- _pipe = Directions_str,
- _pipe@1 = gleam@string:to_graphemes(_pipe),
- _pipe@2 = gleam@iterator:from_list(_pipe@1),
- gleam@iterator:cycle(_pipe@2)
- end,
- _assert_subject@1 = gleam@regex:from_string(
- <<"(...) = \\((...), (...)\\)"/utf8>>
- ),
- {ok, Re} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day8/solve"/utf8>>,
- function => <<"parse"/utf8>>,
- line => 28})
- end,
- Maze = begin
- _pipe@3 = Maze_str,
- _pipe@4 = gleam@string:split(_pipe@3, <<"\n"/utf8>>),
- _pipe@5 = gleam@list:map(
- _pipe@4,
- fun(Str) ->
- _assert_subject@2 = gleam@regex:scan(Re, Str),
- [{match, _, [{some, Name}, {some, Left}, {some, Right}]}] = case _assert_subject@2 of
- [{match, _, [{some, _}, {some, _}, {some, _}]}] -> _assert_subject@2;
- _assert_fail@2 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@2,
- module => <<"day8/solve"/utf8>>,
- function => <<"parse"/utf8>>,
- line => 33})
- end,
- {Name, {paths, Left, Right}}
- end
- ),
- gleam@dict:from_list(_pipe@5)
- end,
- {Directions, Maze}.
-
--spec to_next_step(
- binary(),
- binary(),
- integer(),
- gleam@iterator:iterator(binary()),
- gleam@dict:dict(binary(), paths())
-) -> integer().
-to_next_step(Current, Stop_at, Count, Directions, Maze) ->
- gleam@bool:guard(
- gleam@string:ends_with(Current, Stop_at),
- Count,
- fun() ->
- _assert_subject = gleam@iterator:step(Directions),
- {next, Next_direction, Rest_directions} = case _assert_subject of
- {next, _, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day8/solve"/utf8>>,
- function => <<"to_next_step"/utf8>>,
- line => 50})
- end,
- _assert_subject@1 = gleam@dict:get(Maze, Current),
- {ok, Paths} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day8/solve"/utf8>>,
- function => <<"to_next_step"/utf8>>,
- line => 51})
- end,
- _pipe = case Next_direction of
- <<"L"/utf8>> ->
- erlang:element(2, Paths);
-
- <<"R"/utf8>> ->
- erlang:element(3, Paths);
-
- _ ->
- erlang:error(#{gleam_error => panic,
- message => <<"bad direction"/utf8>>,
- module => <<"day8/solve"/utf8>>,
- function => <<"to_next_step"/utf8>>,
- line => 55})
- end,
- to_next_step(_pipe, Stop_at, Count + 1, Rest_directions, Maze)
- end
- ).
-
--spec part1(binary()) -> integer().
-part1(Input) ->
- {Directions, Maze} = parse(Input),
- to_next_step(<<"AAA"/utf8>>, <<"ZZZ"/utf8>>, 0, Directions, Maze).
-
--spec part2(binary()) -> integer().
-part2(Input) ->
- {Directions, Maze} = parse(Input),
- gleam@list:fold(
- gleam@dict:keys(Maze),
- 1,
- fun(Acc, Name) -> case gleam@string:ends_with(Name, <<"A"/utf8>>) of
- false ->
- Acc;
-
- true ->
- _pipe = to_next_step(
- Name,
- <<"Z"/utf8>>,
- 0,
- Directions,
- Maze
- ),
- gleam_community@maths@arithmetics:lcm(_pipe, Acc)
- end end
- ).
-
--spec main() -> nil.
-main() ->
- _assert_subject = adglent:get_part(),
- {ok, Part} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day8/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 79})
- end,
- _assert_subject@1 = adglent:get_input(<<"8"/utf8>>),
- {ok, Input} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day8/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 80})
- end,
- case Part of
- first ->
- _pipe = part1(Input),
- _pipe@1 = adglent:inspect(_pipe),
- gleam@io:println(_pipe@1);
-
- second ->
- _pipe@2 = part2(Input),
- _pipe@3 = adglent:inspect(_pipe@2),
- gleam@io:println(_pipe@3)
- end.
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day9@day9_test.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day9@day9_test.cache
deleted file mode 100644
index dac9de5..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day9@day9_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day9@day9_test.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day9@day9_test.cache_meta
deleted file mode 100644
index 8e61830..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day9@day9_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day9@day9_test.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day9@day9_test.erl
deleted file mode 100644
index da0f25e..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day9@day9_test.erl
+++ /dev/null
@@ -1,40 +0,0 @@
--module(day9@day9_test).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1_test/0, part2_test/0]).
-
--spec part1_test() -> list(nil).
-part1_test() ->
- _pipe = [{example,
- <<"0 3 6 9 12 15
-1 3 6 10 15 21
-10 13 16 21 30 45"/utf8>>,
- <<"114"/utf8>>}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"0 3 6 9 12 15
-1 3 6 10 15 21
-10 13 16 21 30 45"/utf8>>,
- <<"114"/utf8>>}],
- fun(Example) -> _pipe@1 = day9@solve:part1(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
-
--spec part2_test() -> list(nil).
-part2_test() ->
- _pipe = [{example,
- <<"0 3 6 9 12 15
-1 3 6 10 15 21
-10 13 16 21 30 45"/utf8>>,
- <<"2"/utf8>>}],
- showtime@tests@should:not_equal(_pipe, []),
- gleam@list:map(
- [{example,
- <<"0 3 6 9 12 15
-1 3 6 10 15 21
-10 13 16 21 30 45"/utf8>>,
- <<"2"/utf8>>}],
- fun(Example) -> _pipe@1 = day9@solve:part2(erlang:element(2, Example)),
- showtime@tests@should:equal(_pipe@1, erlang:element(3, Example)) end
- ).
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day9@solve.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day9@solve.cache
deleted file mode 100644
index d5b2b24..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day9@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day9@solve.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day9@solve.cache_meta
deleted file mode 100644
index 7378356..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day9@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day9@solve.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day9@solve.erl
deleted file mode 100644
index 8bef41b..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/day9@solve.erl
+++ /dev/null
@@ -1,133 +0,0 @@
--module(day9@solve).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([part1/1, part2/1, main/0]).
-
--spec maybe_backwards(list(QXJ), boolean()) -> list(QXJ).
-maybe_backwards(Xs, Backwards) ->
- case Backwards of
- false ->
- gleam@list:reverse(Xs);
-
- true ->
- Xs
- end.
-
--spec parse(binary(), boolean()) -> list(list(integer())).
-parse(Input, Backwards) ->
- gleam@list:map(
- gleam@string:split(Input, <<"\n"/utf8>>),
- fun(Line) ->
- gleam@list:map(
- maybe_backwards(
- gleam@string:split(Line, <<" "/utf8>>),
- Backwards
- ),
- fun(N_str) ->
- _assert_subject = gleam@int:parse(N_str),
- {ok, N} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day9/solve"/utf8>>,
- function => <<"parse"/utf8>>,
- line => 10})
- end,
- N
- end
- )
- end
- ).
-
--spec is_constant(list(integer())) -> boolean().
-is_constant(Ns) ->
- case gleam@list:unique(Ns) of
- [_] ->
- true;
-
- _ ->
- false
- end.
-
--spec take_derivative(list(integer())) -> list(integer()).
-take_derivative(Ns) ->
- _pipe = Ns,
- _pipe@1 = gleam@list:window_by_2(_pipe),
- gleam@list:map(
- _pipe@1,
- fun(Tup) -> erlang:element(1, Tup) - erlang:element(2, Tup) end
- ).
-
--spec extrapolate(list(integer())) -> integer().
-extrapolate(Ns) ->
- case {is_constant(Ns), Ns} of
- {true, [N | _]} ->
- N;
-
- {false, [N@1 | _]} ->
- N@1 + extrapolate(take_derivative(Ns));
-
- {_, _} ->
- erlang:error(#{gleam_error => panic,
- message => <<"list empty when it shouldn't be"/utf8>>,
- module => <<"day9/solve"/utf8>>,
- function => <<"extrapolate"/utf8>>,
- line => 38})
- end.
-
--spec part(binary(), boolean()) -> binary().
-part(Input, Backwards) ->
- _pipe = Input,
- _pipe@1 = parse(_pipe, Backwards),
- _pipe@2 = gleam@list:fold(
- _pipe@1,
- 0,
- fun(Acc, Ns) -> extrapolate(Ns) + Acc end
- ),
- gleam@string:inspect(_pipe@2).
-
--spec part1(binary()) -> binary().
-part1(Input) ->
- part(Input, false).
-
--spec part2(binary()) -> binary().
-part2(Input) ->
- part(Input, true).
-
--spec main() -> nil.
-main() ->
- _assert_subject = adglent:get_part(),
- {ok, Part} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"day9/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 58})
- end,
- _assert_subject@1 = adglent:get_input(<<"9"/utf8>>),
- {ok, Input} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"day9/solve"/utf8>>,
- function => <<"main"/utf8>>,
- line => 59})
- end,
- case Part of
- first ->
- _pipe = part1(Input),
- _pipe@1 = adglent:inspect(_pipe),
- gleam@io:println(_pipe@1);
-
- second ->
- _pipe@2 = part2(Input),
- _pipe@3 = adglent:inspect(_pipe@2),
- gleam@io:println(_pipe@3)
- end.
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/gleam@@compile.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/gleam@@compile.erl
deleted file mode 100644
index 543db88..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/gleam@@compile.erl
+++ /dev/null
@@ -1,157 +0,0 @@
-#!/usr/bin/env escript
-
-% TODO: Don't concurrently print warnings and errors
-% TODO: Some tests
-
--record(arguments, {lib = "./", out = "./", modules = []}).
-
-main(Args) ->
- #arguments{out = Out, lib = Lib, modules = Modules} = parse(Args),
- IsElixirModule = fun(Module) ->
- filename:extension(Module) =:= ".ex"
- end,
- {ElixirModules, ErlangModules} = lists:partition(IsElixirModule, Modules),
- ok = configure_logging(),
- ok = add_lib_to_erlang_path(Lib),
- ok = filelib:ensure_dir([Out, $/]),
- {ErlangOk, _ErlangBeams} = compile_erlang(ErlangModules, Out),
- {ElixirOk, _ElixirBeams} = case ErlangOk of
- true -> compile_elixir(ElixirModules, Out);
- false -> {false, []}
- end,
- case ErlangOk and ElixirOk of
- true -> ok;
- false -> erlang:halt(1)
- end.
-
-compile_erlang(Modules, Out) ->
- Workers = start_compiler_workers(Out),
- ok = producer_loop(Modules, Workers),
- collect_results({true, []}).
-
-collect_results(Acc = {Result, Beams}) ->
- receive
- {compiled, Beam} -> collect_results({Result, [Beam | Beams]});
- failed -> collect_results({false, Beams})
- after 0 -> Acc
- end.
-
-producer_loop([], 0) ->
- ok;
-producer_loop([], Workers) ->
- receive
- {work_please, _} -> producer_loop([], Workers - 1)
- end;
-producer_loop([Module | Modules], Workers) ->
- receive
- {work_please, Worker} ->
- erlang:send(Worker, {module, Module}),
- producer_loop(Modules, Workers)
- end.
-
-start_compiler_workers(Out) ->
- Parent = self(),
- NumSchedulers = erlang:system_info(schedulers),
- SpawnWorker = fun(_) ->
- erlang:spawn_link(fun() -> worker_loop(Parent, Out) end)
- end,
- lists:foreach(SpawnWorker, lists:seq(1, NumSchedulers)),
- NumSchedulers.
-
-worker_loop(Parent, Out) ->
- Options = [report_errors, report_warnings, debug_info, {outdir, Out}],
- erlang:send(Parent, {work_please, self()}),
- receive
- {module, Module} ->
- log({compiling, Module}),
- case compile:file(Module, Options) of
- {ok, ModuleName} ->
- Beam = filename:join(Out, ModuleName) ++ ".beam",
- Message = {compiled, Beam},
- log(Message),
- erlang:send(Parent, Message);
- error ->
- log({failed, Module}),
- erlang:send(Parent, failed)
- end,
- worker_loop(Parent, Out)
- end.
-
-compile_elixir(Modules, Out) ->
- Error = [
- "The program elixir was not found. Is it installed?",
- $\n,
- "Documentation for installing Elixir can be viewed here:",
- $\n,
- "https://elixir-lang.org/install.html"
- ],
- case Modules of
- [] -> {true, []};
- _ ->
- log({starting, "compiler.app"}),
- ok = application:start(compiler),
- log({starting, "elixir.app"}),
- case application:start(elixir) of
- ok -> do_compile_elixir(Modules, Out);
- _ ->
- io:put_chars(standard_error, [Error, $\n]),
- {false, []}
- end
- end.
-
-do_compile_elixir(Modules, Out) ->
- ModuleBins = lists:map(fun(Module) ->
- log({compiling, Module}),
- list_to_binary(Module)
- end, Modules),
- OutBin = list_to_binary(Out),
- Options = [{dest, OutBin}],
- % Silence "redefining module" warnings.
- % Compiled modules in the build directory are added to the code path.
- % These warnings result from recompiling loaded modules.
- % TODO: This line can likely be removed if/when the build directory is cleaned before every compilation.
- 'Elixir.Code':compiler_options([{ignore_module_conflict, true}]),
- case 'Elixir.Kernel.ParallelCompiler':compile_to_path(ModuleBins, OutBin, Options) of
- {ok, ModuleAtoms, _} ->
- ToBeam = fun(ModuleAtom) ->
- Beam = filename:join(Out, atom_to_list(ModuleAtom)) ++ ".beam",
- log({compiled, Beam}),
- Beam
- end,
- {true, lists:map(ToBeam, ModuleAtoms)};
- {error, Errors, _} ->
- % Log all filenames associated with modules that failed to compile.
- % Note: The compiler prints compilation errors upon encountering them.
- ErrorFiles = lists:usort([File || {File, _, _} <- Errors]),
- Log = fun(File) ->
- log({failed, binary_to_list(File)})
- end,
- lists:foreach(Log, ErrorFiles),
- {false, []};
- _ -> {false, []}
- end.
-
-add_lib_to_erlang_path(Lib) ->
- code:add_paths(filelib:wildcard([Lib, "/*/ebin"])).
-
-parse(Args) ->
- parse(Args, #arguments{}).
-
-parse([], Arguments) ->
- Arguments;
-parse(["--lib", Lib | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{lib = Lib});
-parse(["--out", Out | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{out = Out});
-parse([Module | Rest], Arguments = #arguments{modules = Modules}) ->
- parse(Rest, Arguments#arguments{modules = [Module | Modules]}).
-
-configure_logging() ->
- Enabled = os:getenv("GLEAM_LOG") /= false,
- persistent_term:put(gleam_logging_enabled, Enabled).
-
-log(Term) ->
- case persistent_term:get(gleam_logging_enabled) of
- true -> erlang:display(Term), ok;
- false -> ok
- end.
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@array2d.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@array2d.cache
deleted file mode 100644
index c060355..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@array2d.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@array2d.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@array2d.cache_meta
deleted file mode 100644
index 0e78598..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@array2d.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@array2d.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@array2d.erl
deleted file mode 100644
index 8e6753e..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@array2d.erl
+++ /dev/null
@@ -1,64 +0,0 @@
--module(utilities@array2d).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([add_posns/2, to_2d_array/1, to_2d_intarray/1, to_list_of_lists/1, parse_grid/1]).
--export_type([posn/0]).
-
--type posn() :: {posn, integer(), integer()}.
-
--spec add_posns(posn(), posn()) -> posn().
-add_posns(P1, P2) ->
- case {P1, P2} of
- {{posn, R1, C1}, {posn, R2, C2}} ->
- {posn, R1 + R2, C1 + C2}
- end.
-
--spec to_2d_array(list(list(BDY))) -> gleam@dict:dict(posn(), BDY).
-to_2d_array(Xss) ->
- _pipe = (gleam@list:index_map(
- Xss,
- fun(R, Row) ->
- gleam@list:index_map(Row, fun(C, Cell) -> {{posn, R, C}, Cell} end)
- end
- )),
- _pipe@1 = gleam@list:flatten(_pipe),
- gleam@dict:from_list(_pipe@1).
-
--spec to_2d_intarray(list(list(binary()))) -> gleam@dict:dict(posn(), integer()).
-to_2d_intarray(Xss) ->
- _pipe = (gleam@list:index_map(
- Xss,
- fun(R, Row) ->
- gleam@list:index_map(
- Row,
- fun(C, Cell) ->
- _assert_subject = gleam@int:parse(Cell),
- {ok, N} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"utilities/array2d"/utf8>>,
- function => <<"to_2d_intarray"/utf8>>,
- line => 33})
- end,
- {{posn, R, C}, N}
- end
- )
- end
- )),
- _pipe@1 = gleam@list:flatten(_pipe),
- gleam@dict:from_list(_pipe@1).
-
--spec to_list_of_lists(binary()) -> list(list(binary())).
-to_list_of_lists(Str) ->
- _pipe = Str,
- _pipe@1 = gleam@string:split(_pipe, <<"\n"/utf8>>),
- gleam@list:map(_pipe@1, fun gleam@string:to_graphemes/1).
-
--spec parse_grid(binary()) -> gleam@dict:dict(posn(), binary()).
-parse_grid(Str) ->
- _pipe = Str,
- _pipe@1 = to_list_of_lists(_pipe),
- to_2d_array(_pipe@1).
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@memo.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@memo.cache
deleted file mode 100644
index f8e9862..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@memo.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@memo.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@memo.cache_meta
deleted file mode 100644
index 9452d09..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@memo.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@memo.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@memo.erl
deleted file mode 100644
index 2c7b126..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@memo.erl
+++ /dev/null
@@ -1,70 +0,0 @@
--module(utilities@memo).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([create/1, set/3, get/2, memoize/3]).
--export_type([message/2, cache/2]).
-
--type message(BEO, BEP) :: shutdown |
- {get, BEO, gleam@erlang@process:subject({ok, BEP} | {error, nil})} |
- {set, BEO, BEP}.
-
--opaque cache(BEQ, BER) :: {cache,
- gleam@erlang@process:subject(message(BEQ, BER))}.
-
--spec handle_message(message(BEX, BEY), gleam@dict:dict(BEX, BEY)) -> gleam@otp@actor:next(message(BEX, BEY), gleam@dict:dict(BEX, BEY)).
-handle_message(Message, Dict) ->
- case Message of
- shutdown ->
- {stop, normal};
-
- {get, Key, Client} ->
- gleam@erlang@process:send(Client, gleam@dict:get(Dict, Key)),
- {continue, Dict, none};
-
- {set, Key@1, Value} ->
- {continue, gleam@dict:insert(Dict, Key@1, Value), none}
- end.
-
--spec create(fun((cache(any(), any())) -> BFN)) -> BFN.
-create(Fun) ->
- _assert_subject = gleam@otp@actor:start(
- gleam@dict:new(),
- fun handle_message/2
- ),
- {ok, Server} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"utilities/memo"/utf8>>,
- function => <<"create"/utf8>>,
- line => 36})
- end,
- Result = Fun({cache, Server}),
- gleam@erlang@process:send(Server, shutdown),
- Result.
-
--spec set(cache(BFO, BFP), BFO, BFP) -> nil.
-set(Cache, Key, Value) ->
- gleam@erlang@process:send(erlang:element(2, Cache), {set, Key, Value}).
-
--spec get(cache(BFS, BFT), BFS) -> {ok, BFT} | {error, nil}.
-get(Cache, Key) ->
- gleam@erlang@process:call(
- erlang:element(2, Cache),
- fun(C) -> {get, Key, C} end,
- 1000
- ).
-
--spec memoize(cache(BFY, BFZ), BFY, fun(() -> BFZ)) -> BFZ.
-memoize(Cache, Key, Fun) ->
- Result = case get(Cache, Key) of
- {ok, Value} ->
- Value;
-
- {error, nil} ->
- Fun()
- end,
- set(Cache, Key, Result),
- Result.
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@prioqueue.cache b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@prioqueue.cache
deleted file mode 100644
index c9c4130..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@prioqueue.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@prioqueue.cache_meta b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@prioqueue.cache_meta
deleted file mode 100644
index 274b278..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@prioqueue.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@prioqueue.erl b/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@prioqueue.erl
deleted file mode 100644
index e97eff6..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/_gleam_artefacts/utilities@prioqueue.erl
+++ /dev/null
@@ -1,60 +0,0 @@
--module(utilities@prioqueue).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([new/0, insert/3, pop/1]).
--export_type([ref/0, p_queue/1, priority_queue/1, out_result/1]).
-
--type ref() :: any().
-
--type p_queue(BBO) :: any() | {gleam_phantom, BBO}.
-
--opaque priority_queue(BBP) :: {priority_queue,
- p_queue({BBP, ref()}),
- gleam@dict:dict(BBP, ref())}.
-
--type out_result(BBQ) :: empty | {value, BBQ, integer()}.
-
--spec new() -> priority_queue(any()).
-new() ->
- {priority_queue, pqueue2:new(), gleam@dict:new()}.
-
--spec insert(priority_queue(BCC), BCC, integer()) -> priority_queue(BCC).
-insert(Queue, Value, Priority) ->
- Ref = erlang:make_ref(),
- Refs = begin
- _pipe = erlang:element(3, Queue),
- gleam@dict:insert(_pipe, Value, Ref)
- end,
- {priority_queue,
- pqueue2:in({Value, Ref}, Priority, erlang:element(2, Queue)),
- Refs}.
-
--spec pop(priority_queue(BCF)) -> {ok, {BCF, priority_queue(BCF)}} |
- {error, nil}.
-pop(Queue) ->
- case pqueue2:pout(erlang:element(2, Queue)) of
- {{value, {Value, Ref}, _}, Pqueue} ->
- _assert_subject = gleam@dict:get(erlang:element(3, Queue), Value),
- {ok, Recently_enqueued_ref} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"utilities/prioqueue"/utf8>>,
- function => <<"pop"/utf8>>,
- line => 52})
- end,
- case Recently_enqueued_ref =:= Ref of
- true ->
- {ok,
- {Value,
- {priority_queue, Pqueue, erlang:element(3, Queue)}}};
-
- false ->
- pop({priority_queue, Pqueue, erlang:element(3, Queue)})
- end;
-
- {empty, _} ->
- {error, nil}
- end.
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/aoc2023.app b/aoc2023/build/dev/erlang/aoc2023/ebin/aoc2023.app
deleted file mode 100644
index 1d9ebe0..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/aoc2023.app
+++ /dev/null
@@ -1,15 +0,0 @@
-{application, aoc2023, [
- {vsn, "0.1.0"},
- {applications, [adglent,
- gleam_community_maths,
- gleam_erlang,
- gleam_otp,
- gleam_stdlib,
- gleeunit,
- pqueue,
- simplifile]},
- {description, ""},
- {modules, [day20@day20_test,
- day20@solve]},
- {registered, []}
-]}.
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/aoc2023.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/aoc2023.beam
deleted file mode 100644
index 5ef8b6b..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/aoc2023.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/aoc2023@@main.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/aoc2023@@main.beam
deleted file mode 100644
index c4d93c5..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/aoc2023@@main.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/aoc2023_test.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/aoc2023_test.beam
deleted file mode 100644
index a77846a..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/aoc2023_test.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day10@day10_test.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day10@day10_test.beam
deleted file mode 100644
index 30b4854..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day10@day10_test.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day10@solve.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day10@solve.beam
deleted file mode 100644
index d9c6ff3..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day10@solve.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day11@day11_test.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day11@day11_test.beam
deleted file mode 100644
index dac7343..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day11@day11_test.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day11@solve.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day11@solve.beam
deleted file mode 100644
index ed49a37..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day11@solve.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day12@day12_test.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day12@day12_test.beam
deleted file mode 100644
index 513d1a9..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day12@day12_test.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day12@solve.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day12@solve.beam
deleted file mode 100644
index 21f1e8b..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day12@solve.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day13@day13_test.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day13@day13_test.beam
deleted file mode 100644
index 67e62de..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day13@day13_test.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day13@solve.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day13@solve.beam
deleted file mode 100644
index a9eb3a5..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day13@solve.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day14@day14_test.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day14@day14_test.beam
deleted file mode 100644
index 5a6c67e..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day14@day14_test.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day14@solve.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day14@solve.beam
deleted file mode 100644
index 8db7efd..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day14@solve.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day15@day15_test.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day15@day15_test.beam
deleted file mode 100644
index f8e4a5f..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day15@day15_test.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day15@solve.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day15@solve.beam
deleted file mode 100644
index 2bf8472..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day15@solve.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day16@day16_test.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day16@day16_test.beam
deleted file mode 100644
index 091829f..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day16@day16_test.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day16@solve.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day16@solve.beam
deleted file mode 100644
index 78a3f8c..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day16@solve.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day17@day17_test.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day17@day17_test.beam
deleted file mode 100644
index 5624a2f..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day17@day17_test.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day17@solve.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day17@solve.beam
deleted file mode 100644
index ca194b3..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day17@solve.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day18@day18_test.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day18@day18_test.beam
deleted file mode 100644
index 2f9a32a..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day18@day18_test.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day18@solve.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day18@solve.beam
deleted file mode 100644
index 326ca15..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day18@solve.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day19@day19_test.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day19@day19_test.beam
deleted file mode 100644
index f5cc6c3..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day19@day19_test.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day19@solve.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day19@solve.beam
deleted file mode 100644
index 7ea70a3..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day19@solve.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day1@day1_test.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day1@day1_test.beam
deleted file mode 100644
index c01f17e..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day1@day1_test.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day1@solve.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day1@solve.beam
deleted file mode 100644
index d2decc9..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day1@solve.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day20@day20_test.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day20@day20_test.beam
deleted file mode 100644
index 5bb689f..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day20@day20_test.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day20@solve.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day20@solve.beam
deleted file mode 100644
index 2a7a3b3..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day20@solve.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day2@day2_test.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day2@day2_test.beam
deleted file mode 100644
index f10ea16..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day2@day2_test.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day2@solve.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day2@solve.beam
deleted file mode 100644
index 19a27da..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day2@solve.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day3@day3_test.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day3@day3_test.beam
deleted file mode 100644
index a082170..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day3@day3_test.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day3@solve.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day3@solve.beam
deleted file mode 100644
index 803c647..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day3@solve.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day4@day4_test.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day4@day4_test.beam
deleted file mode 100644
index 35f5046..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day4@day4_test.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day4@solve.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day4@solve.beam
deleted file mode 100644
index 3278158..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day4@solve.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day5@day5_test.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day5@day5_test.beam
deleted file mode 100644
index b03baf2..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day5@day5_test.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day5@solve.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day5@solve.beam
deleted file mode 100644
index 67980d7..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day5@solve.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day6@day6_test.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day6@day6_test.beam
deleted file mode 100644
index 5d8c4d4..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day6@day6_test.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day6@solve.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day6@solve.beam
deleted file mode 100644
index 8d47586..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day6@solve.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day7@day7_test.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day7@day7_test.beam
deleted file mode 100644
index ae993b1..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day7@day7_test.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day7@solve.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day7@solve.beam
deleted file mode 100644
index 54ef711..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day7@solve.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day8@day8_test.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day8@day8_test.beam
deleted file mode 100644
index e8adca4..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day8@day8_test.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day8@solve.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day8@solve.beam
deleted file mode 100644
index c208dac..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day8@solve.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day9@day9_test.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day9@day9_test.beam
deleted file mode 100644
index fac9c16..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day9@day9_test.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/day9@solve.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/day9@solve.beam
deleted file mode 100644
index 0f48b99..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/day9@solve.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/utilities@array2d.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/utilities@array2d.beam
deleted file mode 100644
index d30c73d..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/utilities@array2d.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/utilities@memo.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/utilities@memo.beam
deleted file mode 100644
index 3bba319..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/utilities@memo.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/ebin/utilities@prioqueue.beam b/aoc2023/build/dev/erlang/aoc2023/ebin/utilities@prioqueue.beam
deleted file mode 100644
index 8cd709b..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/ebin/utilities@prioqueue.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/aoc2023/include/day2@solve_Game.hrl b/aoc2023/build/dev/erlang/aoc2023/include/day2@solve_Game.hrl
deleted file mode 100644
index 7babf61..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/include/day2@solve_Game.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(game, {red :: integer(), blue :: integer(), green :: integer()}).
diff --git a/aoc2023/build/dev/erlang/aoc2023/include/day5@solve_Almanac.hrl b/aoc2023/build/dev/erlang/aoc2023/include/day5@solve_Almanac.hrl
deleted file mode 100644
index 5c3086c..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/include/day5@solve_Almanac.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(almanac, {
- seeds :: list(integer()),
- mappers :: list(list(day5@solve:mapping_range()))
-}).
diff --git a/aoc2023/build/dev/erlang/aoc2023/include/day5@solve_MRange.hrl b/aoc2023/build/dev/erlang/aoc2023/include/day5@solve_MRange.hrl
deleted file mode 100644
index 999313f..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/include/day5@solve_MRange.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(m_range, {start :: integer(), 'end' :: integer(), offset :: integer()}).
diff --git a/aoc2023/build/dev/erlang/aoc2023/include/day5@solve_SRange.hrl b/aoc2023/build/dev/erlang/aoc2023/include/day5@solve_SRange.hrl
deleted file mode 100644
index 56c67cd..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/include/day5@solve_SRange.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(s_range, {start :: integer(), 'end' :: integer()}).
diff --git a/aoc2023/build/dev/erlang/aoc2023/include/utilities@array2d_Posn.hrl b/aoc2023/build/dev/erlang/aoc2023/include/utilities@array2d_Posn.hrl
deleted file mode 100644
index 94da3d5..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/include/utilities@array2d_Posn.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(posn, {r :: integer(), c :: integer()}).
diff --git a/aoc2023/build/dev/erlang/aoc2023/include/utilities@memo_Cache.hrl b/aoc2023/build/dev/erlang/aoc2023/include/utilities@memo_Cache.hrl
deleted file mode 100644
index 941b746..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/include/utilities@memo_Cache.hrl
+++ /dev/null
@@ -1,3 +0,0 @@
--record(cache, {
- server :: gleam@erlang@process:subject(utilities@memo:message(any(), any()))
-}).
diff --git a/aoc2023/build/dev/erlang/aoc2023/include/utilities@prioqueue_PriorityQueue.hrl b/aoc2023/build/dev/erlang/aoc2023/include/utilities@prioqueue_PriorityQueue.hrl
deleted file mode 100644
index 0e12dca..0000000
--- a/aoc2023/build/dev/erlang/aoc2023/include/utilities@prioqueue_PriorityQueue.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(priority_queue, {
- queue :: utilities@prioqueue:p_queue({any(), utilities@prioqueue:ref()}),
- refs :: gleam@dict:dict(any(), utilities@prioqueue:ref())
-}).
diff --git a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap.cache b/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap.cache
deleted file mode 100644
index 5e9f51b..0000000
--- a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap.cache_meta b/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap.cache_meta
deleted file mode 100644
index 3a247a0..0000000
--- a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap.erl b/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap.erl
deleted file mode 100644
index f28094b..0000000
--- a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap.erl
+++ /dev/null
@@ -1,538 +0,0 @@
--module(gap).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([to_styled/1, compare_strings_with_algorithm/3, compare_lists_with_algorithm/3, myers/2, compare_lists/2, compare_strings/2, lcs/2]).
--export_type([score/1]).
-
--type score(GBX) :: {score, integer(), gleam@option:option(GBX)}.
-
--spec to_styled(gap@comparison:comparison(any())) -> gap@styled_comparison:styled_comparison().
-to_styled(Comparison) ->
- _pipe = Comparison,
- _pipe@1 = gap@styling:from_comparison(_pipe),
- _pipe@2 = gap@styling:highlight(
- _pipe@1,
- fun gap@styling:first_highlight_default/1,
- fun gap@styling:second_highlight_default/1,
- fun gap@styling:no_highlight/1
- ),
- gap@styling:to_styled_comparison(_pipe@2).
-
--spec compare_strings_with_algorithm(
- binary(),
- binary(),
- fun((list(binary()), list(binary())) -> gap@comparison:comparison(binary()))
-) -> gap@comparison:comparison(binary()).
-compare_strings_with_algorithm(First, Second, Algorithm) ->
- Comparison = Algorithm(
- gleam@string:to_graphemes(First),
- gleam@string:to_graphemes(Second)
- ),
- case Comparison of
- {list_comparison, First@1, Second@1} ->
- {string_comparison, First@1, Second@1};
-
- {string_comparison, First@2, Second@2} ->
- {string_comparison, First@2, Second@2}
- end.
-
--spec compare_lists_with_algorithm(
- list(GCM),
- list(GCM),
- fun((list(GCM), list(GCM)) -> gap@comparison:comparison(GCM))
-) -> gap@comparison:comparison(GCM).
-compare_lists_with_algorithm(First_sequence, Second_sequence, Algorithm) ->
- Algorithm(First_sequence, Second_sequence).
-
--spec myers(list(GCR), list(GCR)) -> gap@comparison:comparison(GCR).
-myers(First_sequence, Second_sequence) ->
- Edits = gap@myers:difference(First_sequence, Second_sequence),
- _pipe = Edits,
- _pipe@1 = gleam@list:reverse(_pipe),
- gleam@list:fold(
- _pipe@1,
- {list_comparison, [], []},
- fun(Comparison, Edit) -> case Comparison of
- {list_comparison, First, Second} ->
- case Edit of
- {eq, Segment} ->
- {list_comparison,
- [{match, Segment} | First],
- [{match, Segment} | Second]};
-
- {ins, Segment@1} ->
- {list_comparison,
- First,
- [{no_match, Segment@1} | Second]};
-
- {del, Segment@2} ->
- {list_comparison,
- [{no_match, Segment@2} | First],
- Second}
- end;
-
- {string_comparison, _, _} ->
- Comparison
- end end
- ).
-
--spec compare_lists(list(GCI), list(GCI)) -> gap@comparison:comparison(GCI).
-compare_lists(First_sequence, Second_sequence) ->
- myers(First_sequence, Second_sequence).
-
--spec compare_strings(binary(), binary()) -> gap@comparison:comparison(binary()).
-compare_strings(First, Second) ->
- Comparison = compare_lists(
- gleam@string:to_graphemes(First),
- gleam@string:to_graphemes(Second)
- ),
- case Comparison of
- {list_comparison, First@1, Second@1} ->
- {string_comparison, First@1, Second@1};
-
- {string_comparison, First@2, Second@2} ->
- {string_comparison, First@2, Second@2}
- end.
-
--spec prepend_and_merge(
- list(gap@comparison:match(list(GCZ))),
- gap@comparison:match(list(GCZ))
-) -> list(gap@comparison:match(list(GCZ))).
-prepend_and_merge(Matches, Match) ->
- case {Matches, Match} of
- {[], _} ->
- [Match];
-
- {[{match, First_match} | Rest], {match, _}} ->
- [{match,
- begin
- _pipe = erlang:element(2, Match),
- gleam@list:append(_pipe, First_match)
- end} |
- Rest];
-
- {[{no_match, First_match@1} | Rest@1], {no_match, _}} ->
- [{no_match,
- begin
- _pipe@1 = erlang:element(2, Match),
- gleam@list:append(_pipe@1, First_match@1)
- end} |
- Rest@1];
-
- {Matches@1, Match@1} ->
- [Match@1 | Matches@1]
- end.
-
--spec append_and_merge(
- list(gap@comparison:match(list(GDI))),
- gap@comparison:match(list(GDI))
-) -> list(gap@comparison:match(list(GDI))).
-append_and_merge(Matches, Match) ->
- _pipe@3 = case {begin
- _pipe = Matches,
- gleam@list:reverse(_pipe)
- end,
- Match} of
- {[], _} ->
- [Match];
-
- {[{match, First_match} | Rest], {match, _}} ->
- [{match,
- begin
- _pipe@1 = First_match,
- gleam@list:append(_pipe@1, erlang:element(2, Match))
- end} |
- Rest];
-
- {[{no_match, First_match@1} | Rest@1], {no_match, _}} ->
- [{no_match,
- begin
- _pipe@2 = First_match@1,
- gleam@list:append(_pipe@2, erlang:element(2, Match))
- end} |
- Rest@1];
-
- {Matches@1, Match@1} ->
- [Match@1 | Matches@1]
- end,
- gleam@list:reverse(_pipe@3).
-
--spec collect_matches(
- gleam@dict:dict(GHJ, any()),
- list(GDS),
- fun((GHJ) -> integer())
-) -> list(gap@comparison:match(list(GDS))).
-collect_matches(Tracking, Str, Extract_fun) ->
- Matching_indexes = begin
- _pipe = gleam@map:keys(Tracking),
- _pipe@1 = gleam@list:map(_pipe, Extract_fun),
- gleam@set:from_list(_pipe@1)
- end,
- Matches = begin
- _pipe@2 = Str,
- gleam@list:index_map(
- _pipe@2,
- fun(Index, Item) ->
- case gleam@set:contains(Matching_indexes, Index) of
- true ->
- {match, Item};
-
- false ->
- {no_match, Item}
- end
- end
- )
- end,
- _pipe@3 = Matches,
- _pipe@4 = gleam@list:chunk(_pipe@3, fun(Match) -> case Match of
- {match, _} ->
- true;
-
- {no_match, _} ->
- false
- end end),
- gleam@list:map(_pipe@4, fun(Match_list) -> case Match_list of
- [{match, _} | _] ->
- {match,
- gleam@list:filter_map(
- Match_list,
- fun(Match@1) -> case Match@1 of
- {match, Item@1} ->
- {ok, Item@1};
-
- {no_match, _} ->
- {error, nil}
- end end
- )};
-
- [{no_match, _} | _] ->
- {no_match,
- gleam@list:filter_map(
- Match_list,
- fun(Match@2) -> case Match@2 of
- {no_match, Item@2} ->
- {ok, Item@2};
-
- {match, _} ->
- {error, nil}
- end end
- )}
- end end).
-
--spec back_track(
- gleam@dict:dict({integer(), integer()}, score(GDW)),
- integer(),
- integer(),
- list({{integer(), integer()}, GDW})
-) -> list({{integer(), integer()}, GDW}).
-back_track(Diff_map, First_index, Second_index, Stack) ->
- case (First_index =:= 0) orelse (Second_index =:= 0) of
- true ->
- This_score = begin
- _pipe = gleam@map:get(Diff_map, {First_index, Second_index}),
- gleam@result:unwrap(_pipe, {score, 0, none})
- end,
- case This_score of
- {score, _, {some, Item}} ->
- [{{First_index, Second_index}, Item} | Stack];
-
- _ ->
- case {First_index, Second_index} of
- {0, A} when A > 0 ->
- back_track(
- Diff_map,
- First_index,
- Second_index - 1,
- Stack
- );
-
- {A@1, 0} when A@1 > 0 ->
- back_track(
- Diff_map,
- First_index - 1,
- Second_index,
- Stack
- );
-
- {0, 0} ->
- Stack;
-
- {_, _} ->
- back_track(
- Diff_map,
- First_index - 1,
- Second_index,
- Stack
- )
- end
- end;
-
- false ->
- This_score@1 = begin
- _pipe@1 = gleam@map:get(Diff_map, {First_index, Second_index}),
- gleam@result:unwrap(_pipe@1, {score, 0, none})
- end,
- case This_score@1 of
- {score, _, {some, Item@1}} ->
- back_track(
- Diff_map,
- First_index - 1,
- Second_index - 1,
- [{{First_index, Second_index}, Item@1} | Stack]
- );
-
- {score, _, none} ->
- Up = begin
- _pipe@2 = gleam@map:get(
- Diff_map,
- {First_index, Second_index - 1}
- ),
- gleam@result:unwrap(_pipe@2, {score, 0, none})
- end,
- Back = begin
- _pipe@3 = gleam@map:get(
- Diff_map,
- {First_index - 1, Second_index}
- ),
- gleam@result:unwrap(_pipe@3, {score, 0, none})
- end,
- case gleam@int:compare(
- erlang:element(2, Up),
- erlang:element(2, Back)
- ) of
- gt ->
- back_track(
- Diff_map,
- First_index,
- Second_index - 1,
- Stack
- );
-
- lt ->
- back_track(
- Diff_map,
- First_index - 1,
- Second_index,
- Stack
- );
-
- eq ->
- case {First_index, Second_index} of
- {0, A@2} when A@2 > 0 ->
- back_track(
- Diff_map,
- First_index,
- Second_index - 1,
- Stack
- );
-
- {A@3, 0} when A@3 > 0 ->
- back_track(
- Diff_map,
- First_index - 1,
- Second_index,
- Stack
- );
-
- {0, 0} ->
- Stack;
-
- {_, _} ->
- back_track(
- Diff_map,
- First_index - 1,
- Second_index,
- Stack
- )
- end
- end
- end
- end.
-
--spec build_diff_map(
- GEC,
- integer(),
- GEC,
- integer(),
- gleam@dict:dict({integer(), integer()}, score(GEC))
-) -> gleam@dict:dict({integer(), integer()}, score(GEC)).
-build_diff_map(First_item, First_index, Second_item, Second_index, Diff_map) ->
- Prev_score = begin
- _pipe = gleam@map:get(Diff_map, {First_index - 1, Second_index - 1}),
- gleam@result:unwrap(_pipe, {score, 0, none})
- end,
- Derived_score_up = begin
- _pipe@1 = Diff_map,
- _pipe@2 = gleam@map:get(_pipe@1, {First_index, Second_index - 1}),
- gleam@result:unwrap(_pipe@2, {score, 0, none})
- end,
- Derived_score_back = begin
- _pipe@3 = Diff_map,
- _pipe@4 = gleam@map:get(_pipe@3, {First_index - 1, Second_index}),
- gleam@result:unwrap(_pipe@4, {score, 0, none})
- end,
- Derived_score = gleam@int:max(
- erlang:element(2, Derived_score_up),
- erlang:element(2, Derived_score_back)
- ),
- This_score = case First_item =:= Second_item of
- true ->
- {score, erlang:element(2, Prev_score) + 1, {some, First_item}};
-
- false ->
- {score, Derived_score, none}
- end,
- _pipe@5 = Diff_map,
- gleam@map:insert(_pipe@5, {First_index, Second_index}, This_score).
-
--spec lcs(list(GCV), list(GCV)) -> gap@comparison:comparison(GCV).
-lcs(First_sequence, Second_sequence) ->
- Leading_matches = begin
- _pipe = gleam@list:zip(First_sequence, Second_sequence),
- _pipe@1 = gleam@list:take_while(
- _pipe,
- fun(Pair) -> erlang:element(1, Pair) =:= erlang:element(2, Pair) end
- ),
- gleam@list:map(_pipe@1, fun gleam@pair:first/1)
- end,
- Num_leading_matches = gleam@list:length(Leading_matches),
- Trailing_matches = begin
- _pipe@2 = gleam@list:zip(
- gleam@list:reverse(First_sequence),
- gleam@list:reverse(Second_sequence)
- ),
- _pipe@3 = gleam@list:take_while(
- _pipe@2,
- fun(Pair@1) ->
- erlang:element(1, Pair@1) =:= erlang:element(2, Pair@1)
- end
- ),
- _pipe@4 = gleam@list:map(_pipe@3, fun gleam@pair:first/1),
- gleam@list:reverse(_pipe@4)
- end,
- Num_trailing_matches = gleam@list:length(Trailing_matches),
- First_sequence_to_diff = begin
- _pipe@5 = First_sequence,
- _pipe@6 = gleam@list:drop(_pipe@5, Num_leading_matches),
- gleam@list:take(
- _pipe@6,
- (gleam@list:length(First_sequence) - Num_leading_matches) - Num_trailing_matches
- )
- end,
- Second_sequence_to_diff = begin
- _pipe@7 = Second_sequence,
- _pipe@8 = gleam@list:drop(_pipe@7, Num_leading_matches),
- gleam@list:take(
- _pipe@8,
- (gleam@list:length(Second_sequence) - Num_leading_matches) - Num_trailing_matches
- )
- end,
- Diff_map@2 = begin
- _pipe@9 = Second_sequence_to_diff,
- gleam@list:index_fold(
- _pipe@9,
- gleam@map:new(),
- fun(Diff_map, Item_second, Index_second) ->
- _pipe@10 = First_sequence_to_diff,
- gleam@list:index_fold(
- _pipe@10,
- Diff_map,
- fun(Diff_map@1, Item_first, Index_first) ->
- build_diff_map(
- Item_first,
- Index_first,
- Item_second,
- Index_second,
- Diff_map@1
- )
- end
- )
- end
- )
- end,
- {First_segments@1, Second_segments@1} = case {First_sequence_to_diff,
- Second_sequence_to_diff} of
- {[], []} ->
- {[], []};
-
- {First_matching, []} ->
- {[{no_match, First_matching}], []};
-
- {[], Second_matching} ->
- {[], [{no_match, Second_matching}]};
-
- {First_sequence_to_diff@1, Second_sequence_to_diff@1} ->
- Tracking = begin
- _pipe@11 = back_track(
- Diff_map@2,
- gleam@list:length(First_sequence_to_diff@1) - 1,
- gleam@list:length(Second_sequence_to_diff@1) - 1,
- []
- ),
- gleam@map:from_list(_pipe@11)
- end,
- First_segments = collect_matches(
- Tracking,
- First_sequence_to_diff@1,
- fun(Key) ->
- {First, _} = Key,
- First
- end
- ),
- Second_segments = collect_matches(
- Tracking,
- Second_sequence_to_diff@1,
- fun(Key@1) ->
- {_, Second} = Key@1,
- Second
- end
- ),
- {First_segments, Second_segments}
- end,
- {First_segments_with_leading_trailing,
- Second_segments_with_leading_trailing} = case {Leading_matches,
- Trailing_matches} of
- {[], []} ->
- {First_segments@1, Second_segments@1};
-
- {[], Trailing_matches@1} ->
- {begin
- _pipe@12 = First_segments@1,
- append_and_merge(_pipe@12, {match, Trailing_matches@1})
- end,
- begin
- _pipe@13 = Second_segments@1,
- append_and_merge(_pipe@13, {match, Trailing_matches@1})
- end};
-
- {Leading_matches@1, []} ->
- {begin
- _pipe@14 = First_segments@1,
- prepend_and_merge(_pipe@14, {match, Leading_matches@1})
- end,
- begin
- _pipe@15 = Second_segments@1,
- prepend_and_merge(_pipe@15, {match, Leading_matches@1})
- end};
-
- {Leading_matches@2, Trailing_matches@2} ->
- {begin
- _pipe@16 = First_segments@1,
- _pipe@17 = prepend_and_merge(
- _pipe@16,
- {match, Leading_matches@2}
- ),
- append_and_merge(_pipe@17, {match, Trailing_matches@2})
- end,
- begin
- _pipe@18 = Second_segments@1,
- _pipe@19 = prepend_and_merge(
- _pipe@18,
- {match, Leading_matches@2}
- ),
- append_and_merge(_pipe@19, {match, Trailing_matches@2})
- end}
- end,
- {list_comparison,
- First_segments_with_leading_trailing,
- Second_segments_with_leading_trailing}.
diff --git a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@comparison.cache b/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@comparison.cache
deleted file mode 100644
index f754345..0000000
--- a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@comparison.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@comparison.cache_meta b/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@comparison.cache_meta
deleted file mode 100644
index e3f3599..0000000
--- a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@comparison.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@comparison.erl b/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@comparison.erl
deleted file mode 100644
index 76c0ff2..0000000
--- a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@comparison.erl
+++ /dev/null
@@ -1,15 +0,0 @@
--module(gap@comparison).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export_type([comparison/1, match/1]).
-
--type comparison(FSE) :: {list_comparison,
- list(match(list(FSE))),
- list(match(list(FSE)))} |
- {string_comparison,
- list(match(list(binary()))),
- list(match(list(binary())))}.
-
--type match(FSF) :: {match, FSF} | {no_match, FSF}.
-
-
diff --git a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@myers.cache b/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@myers.cache
deleted file mode 100644
index 8935f36..0000000
--- a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@myers.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@myers.cache_meta b/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@myers.cache_meta
deleted file mode 100644
index 6d51dd1..0000000
--- a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@myers.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@myers.erl b/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@myers.erl
deleted file mode 100644
index ea26472..0000000
--- a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@myers.erl
+++ /dev/null
@@ -1,156 +0,0 @@
--module(gap@myers).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([difference/2]).
--export_type([edit/1, path/1, status/1]).
-
--type edit(FWG) :: {eq, list(FWG)} | {del, list(FWG)} | {ins, list(FWG)}.
-
--type path(FWH) :: {path,
- integer(),
- integer(),
- list(FWH),
- list(FWH),
- list(edit(FWH))}.
-
--type status(FWI) :: {done, list(edit(FWI))} |
- {next, list(path(FWI))} |
- {cont, path(FWI)}.
-
--spec compact_reverse(list(edit(FWS)), list(edit(FWS))) -> list(edit(FWS)).
-compact_reverse(Edits, Acc) ->
- case {Edits, Acc} of
- {[], Acc@1} ->
- Acc@1;
-
- {[{eq, Elem} | Rest], [{eq, Result} | Acc_rest]} ->
- compact_reverse(
- Rest,
- [{eq, gleam@list:flatten([Elem, Result])} | Acc_rest]
- );
-
- {[{del, Elem@1} | Rest@1], [{del, Result@1} | Acc_rest@1]} ->
- compact_reverse(
- Rest@1,
- [{del, gleam@list:flatten([Elem@1, Result@1])} | Acc_rest@1]
- );
-
- {[{ins, Elem@2} | Rest@2], [{ins, Result@2} | Acc_rest@2]} ->
- compact_reverse(
- Rest@2,
- [{ins, gleam@list:flatten([Elem@2, Result@2])} | Acc_rest@2]
- );
-
- {[{eq, Elem@3} | Rest@3], Acc@2} ->
- compact_reverse(Rest@3, [{eq, Elem@3} | Acc@2]);
-
- {[{del, Elem@4} | Rest@4], Acc@3} ->
- compact_reverse(Rest@4, [{del, Elem@4} | Acc@3]);
-
- {[{ins, Elem@5} | Rest@5], Acc@4} ->
- compact_reverse(Rest@5, [{ins, Elem@5} | Acc@4])
- end.
-
--spec move_right(path(FXL)) -> path(FXL).
-move_right(Path) ->
- case Path of
- {path, X, Y, List1, [Elem | Rest], Edits} ->
- {path, X + 1, Y, List1, Rest, [{ins, [Elem]} | Edits]};
-
- {path, X@1, Y@1, List1@1, [], Edits@1} ->
- {path, X@1 + 1, Y@1, List1@1, [], Edits@1}
- end.
-
--spec move_down(path(FXO)) -> path(FXO).
-move_down(Path) ->
- case Path of
- {path, X, Y, [Elem | Rest], List2, Edits} ->
- {path, X, Y + 1, Rest, List2, [{del, [Elem]} | Edits]};
-
- {path, X@1, Y@1, [], List2@1, Edits@1} ->
- {path, X@1, Y@1 + 1, [], List2@1, Edits@1}
- end.
-
--spec proceed_path(integer(), integer(), list(path(FXF))) -> {path(FXF),
- list(path(FXF))}.
-proceed_path(Diag, Limit, Paths) ->
- Neg_limit = - Limit,
- case {Diag, Limit, Paths} of
- {0, 0, [Path]} ->
- {Path, []};
-
- {Diag@1, _, [Path@1 | _] = Paths@1} when Diag@1 =:= Neg_limit ->
- {move_down(Path@1), Paths@1};
-
- {Diag@2, Limit@1, [Path@2 | _] = Paths@2} when Diag@2 =:= Limit@1 ->
- {move_right(Path@2), Paths@2};
-
- {_, _, [Path1, Path2 | Rest]} ->
- case erlang:element(3, Path1) > erlang:element(3, Path2) of
- true ->
- {move_right(Path1), [Path2 | Rest]};
-
- false ->
- {move_down(Path2), [Path2 | Rest]}
- end
- end.
-
--spec follow_snake(path(FXR)) -> status(FXR).
-follow_snake(Path) ->
- case Path of
- {path, X, Y, [Elem1 | Rest1], [Elem2 | Rest2], Edits} when Elem1 =:= Elem2 ->
- follow_snake(
- {path, X + 1, Y + 1, Rest1, Rest2, [{eq, [Elem1]} | Edits]}
- );
-
- {path, _, _, [], [], Edits@1} ->
- {done, Edits@1};
-
- _ ->
- {cont, Path}
- end.
-
--spec each_diagonal(integer(), integer(), list(path(FWZ)), list(path(FWZ))) -> status(FWZ).
-each_diagonal(Diag, Limit, Paths, Next_paths) ->
- case Diag > Limit of
- true ->
- {next, gleam@list:reverse(Next_paths)};
-
- false ->
- {Path, Rest} = proceed_path(Diag, Limit, Paths),
- case follow_snake(Path) of
- {cont, Path@1} ->
- each_diagonal(Diag + 2, Limit, Rest, [Path@1 | Next_paths]);
-
- Other ->
- Other
- end
- end.
-
--spec find_script(integer(), integer(), list(path(FWO))) -> list(edit(FWO)).
-find_script(Envelope, Max, Paths) ->
- case Envelope > Max of
- true ->
- [];
-
- false ->
- case each_diagonal(- Envelope, Envelope, Paths, []) of
- {done, Edits} ->
- compact_reverse(Edits, []);
-
- {next, Paths@1} ->
- find_script(Envelope + 1, Max, Paths@1);
-
- _ ->
- erlang:error(#{gleam_error => panic,
- message => <<"Didn't expect a Cont here"/utf8>>,
- module => <<"gap/myers"/utf8>>,
- function => <<"find_script"/utf8>>,
- line => 35})
- end
- end.
-
--spec difference(list(FWJ), list(FWJ)) -> list(edit(FWJ)).
-difference(List1, List2) ->
- Path = {path, 0, 0, List1, List2, []},
- find_script(0, gleam@list:length(List1) + gleam@list:length(List2), [Path]).
diff --git a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@styled_comparison.cache b/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@styled_comparison.cache
deleted file mode 100644
index d7dfd29..0000000
--- a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@styled_comparison.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@styled_comparison.cache_meta b/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@styled_comparison.cache_meta
deleted file mode 100644
index dc9ffd0..0000000
--- a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@styled_comparison.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@styled_comparison.erl b/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@styled_comparison.erl
deleted file mode 100644
index 14cc390..0000000
--- a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@styled_comparison.erl
+++ /dev/null
@@ -1,8 +0,0 @@
--module(gap@styled_comparison).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export_type([styled_comparison/0]).
-
--type styled_comparison() :: {styled_comparison, binary(), binary()}.
-
-
diff --git a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@styling.cache b/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@styling.cache
deleted file mode 100644
index 7ff8b7f..0000000
--- a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@styling.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@styling.cache_meta b/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@styling.cache_meta
deleted file mode 100644
index f580983..0000000
--- a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@styling.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@styling.erl b/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@styling.erl
deleted file mode 100644
index 4c14974..0000000
--- a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap@styling.erl
+++ /dev/null
@@ -1,202 +0,0 @@
--module(gap@styling).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([from_comparison/1, highlight/4, serialize/2, first_highlight_default/1, second_highlight_default/1, no_highlight/1, mk_generic_serializer/2, to_styled_comparison/1]).
--export_type([part/1, highlighters/0, styling/1]).
-
--type part(FSP) :: {part, binary(), list(FSP), fun((binary()) -> binary())} |
- {all, binary()}.
-
--type highlighters() :: {highlighters,
- fun((binary()) -> binary()),
- fun((binary()) -> binary()),
- fun((binary()) -> binary())}.
-
--opaque styling(FSQ) :: {styling,
- gap@comparison:comparison(FSQ),
- gleam@option:option(fun((part(FSQ)) -> binary())),
- gleam@option:option(highlighters())}.
-
--spec from_comparison(gap@comparison:comparison(FST)) -> styling(FST).
-from_comparison(Comparison) ->
- {styling, Comparison, none, none}.
-
--spec highlight(
- styling(FSW),
- fun((binary()) -> binary()),
- fun((binary()) -> binary()),
- fun((binary()) -> binary())
-) -> styling(FSW).
-highlight(Styling, First, Second, Matching) ->
- erlang:setelement(
- 4,
- Styling,
- {some, {highlighters, First, Second, Matching}}
- ).
-
--spec serialize(styling(FSZ), fun((part(FSZ)) -> binary())) -> styling(FSZ).
-serialize(Styling, Serializer) ->
- erlang:setelement(3, Styling, {some, Serializer}).
-
--spec first_highlight_default(binary()) -> binary().
-first_highlight_default(String) ->
- case String of
- <<" "/utf8>> ->
- _pipe = String,
- _pipe@1 = gleam_community@ansi:underline(_pipe),
- _pipe@2 = gleam_community@ansi:bold(_pipe@1),
- gleam_community@ansi:green(_pipe@2);
-
- _ ->
- _pipe@3 = String,
- _pipe@4 = gleam_community@ansi:green(_pipe@3),
- gleam_community@ansi:bold(_pipe@4)
- end.
-
--spec second_highlight_default(binary()) -> binary().
-second_highlight_default(String) ->
- case String of
- <<" "/utf8>> ->
- _pipe = String,
- _pipe@1 = gleam_community@ansi:underline(_pipe),
- _pipe@2 = gleam_community@ansi:bold(_pipe@1),
- gleam_community@ansi:red(_pipe@2);
-
- _ ->
- _pipe@3 = String,
- _pipe@4 = gleam_community@ansi:red(_pipe@3),
- gleam_community@ansi:bold(_pipe@4)
- end.
-
--spec no_highlight(binary()) -> binary().
-no_highlight(String) ->
- String.
-
--spec string_serializer(part(binary())) -> binary().
-string_serializer(Part) ->
- case Part of
- {part, Acc, Sequence, Highlight} ->
- <<Acc/binary,
- (begin
- _pipe = Sequence,
- _pipe@1 = gleam@list:map(_pipe, Highlight),
- gleam@string:join(_pipe@1, <<""/utf8>>)
- end)/binary>>;
-
- {all, String} ->
- String
- end.
-
--spec mk_generic_serializer(binary(), fun((binary()) -> binary())) -> fun((part(any())) -> binary()).
-mk_generic_serializer(Separator, Around) ->
- fun(Part) -> case Part of
- {part, Acc, Sequence, Highlight} ->
- Segment_separator = case Acc of
- <<""/utf8>> ->
- <<""/utf8>>;
-
- _ ->
- Separator
- end,
- <<<<Acc/binary, Segment_separator/binary>>/binary,
- (begin
- _pipe = Sequence,
- _pipe@1 = gleam@list:map(
- _pipe,
- fun gleam@string:inspect/1
- ),
- _pipe@2 = gleam@list:map(_pipe@1, Highlight),
- gleam@string:join(_pipe@2, Separator)
- end)/binary>>;
-
- {all, String} ->
- Around(String)
- end end.
-
--spec generic_serializer(part(any())) -> binary().
-generic_serializer(Part) ->
- (mk_generic_serializer(
- <<", "/utf8>>,
- fun(All) -> <<<<"["/utf8, All/binary>>/binary, "]"/utf8>> end
- ))(Part).
-
--spec to_strings(
- list(gap@comparison:match(list(FTJ))),
- list(gap@comparison:match(list(FTJ))),
- fun((part(FTJ)) -> binary()),
- fun((binary()) -> binary()),
- fun((binary()) -> binary()),
- fun((binary()) -> binary())
-) -> gap@styled_comparison:styled_comparison().
-to_strings(
- First,
- Second,
- Serializer,
- First_highlight,
- Second_highlight,
- No_highlight
-) ->
- First_styled = begin
- _pipe = First,
- gleam@list:fold(_pipe, <<""/utf8>>, fun(Str, Match) -> case Match of
- {match, Item} ->
- Serializer({part, Str, Item, No_highlight});
-
- {no_match, Item@1} ->
- Serializer({part, Str, Item@1, First_highlight})
- end end)
- end,
- Second_styled = begin
- _pipe@1 = Second,
- gleam@list:fold(
- _pipe@1,
- <<""/utf8>>,
- fun(Str@1, Match@1) -> case Match@1 of
- {match, Item@2} ->
- Serializer({part, Str@1, Item@2, No_highlight});
-
- {no_match, Item@3} ->
- Serializer({part, Str@1, Item@3, Second_highlight})
- end end
- )
- end,
- {styled_comparison,
- Serializer({all, First_styled}),
- Serializer({all, Second_styled})}.
-
--spec to_styled_comparison(styling(any())) -> gap@styled_comparison:styled_comparison().
-to_styled_comparison(Styling) ->
- Highlight = begin
- _pipe = erlang:element(4, Styling),
- gleam@option:unwrap(
- _pipe,
- {highlighters,
- fun first_highlight_default/1,
- fun second_highlight_default/1,
- fun no_highlight/1}
- )
- end,
- case erlang:element(2, Styling) of
- {string_comparison, First, Second} ->
- to_strings(
- First,
- Second,
- fun string_serializer/1,
- erlang:element(2, Highlight),
- erlang:element(3, Highlight),
- erlang:element(4, Highlight)
- );
-
- {list_comparison, First@1, Second@1} ->
- to_strings(
- First@1,
- Second@1,
- gleam@option:unwrap(
- erlang:element(3, Styling),
- fun generic_serializer/1
- ),
- erlang:element(2, Highlight),
- erlang:element(3, Highlight),
- erlang:element(4, Highlight)
- )
- end.
diff --git a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap_ffi.mjs b/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap_ffi.mjs
deleted file mode 100644
index 235c80b..0000000
--- a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gap_ffi.mjs
+++ /dev/null
@@ -1,431 +0,0 @@
-import {
- Error,
- List,
- Ok,
- inspect,
- toList,
- makeError,
- isEqual,
-} from "./gleam.mjs";
-import * as $option from "../gleam_stdlib/gleam/option.mjs";
-
-const HASHCODE_CACHE = new WeakMap();
-const Nil = undefined;
-
-class MutableMap {
- static #hashcode_cache = new WeakMap();
-
- static hash(value) {
- let existing = this.#hashcode_cache.get(value);
- if (existing) {
- return existing;
- } else if (value instanceof Object) {
- let hashcode = inspect(value);
- HASHCODE_CACHE.set(value, hashcode);
- return hashcode;
- } else {
- return value.toString();
- }
- }
-
- constructor() {
- this.entries = new globalThis.Map();
- }
-
- get size() {
- return this.entries.size;
- }
-
- inspect() {
- let entries = [...this.entries.values()]
- .map((pair) => inspect(pair))
- .join(", ");
- return `map.from_list([${entries}])`;
- }
-
- toList() {
- return List.fromArray([...this.entries.values()]);
- }
-
- insert(k, v) {
- this.entries.set(MutableMap.hash(k), [k, v]);
- return this;
- }
-
- delete(k) {
- this.entries.delete(MutableMap.hash(k));
- return this;
- }
-
- get(key) {
- let code = MutableMap.hash(key);
- if (this.entries.has(code)) {
- return new Ok(this.entries.get(code)[1]);
- } else {
- return new Error(Nil);
- }
- }
-}
-
-export function new_mutable_map() {
- return new MutableMap();
-}
-
-export function mutable_map_size(map) {
- return map.size;
-}
-
-export function mutable_map_to_list(map) {
- return map.toList();
-}
-
-export function mutable_map_remove(k, map) {
- return map.delete(k);
-}
-
-export function mutable_map_get(map, key) {
- return map.get(key);
-}
-
-export function mutable_map_insert(key, value, map) {
- return map.insert(key, value);
-}
-
-// From map.mjs
-
-export function size(map) {
- return mutable_map_size(map);
-}
-
-export function to_list(map) {
- return mutable_map_to_list(map);
-}
-
-export function new$() {
- return new_mutable_map();
-}
-
-export function get(from, get) {
- return mutable_map_get(from, get);
-}
-
-function do_has_key(key, map) {
- return !isEqual(get(map, key), new Error(undefined));
-}
-
-export function has_key(map, key) {
- return do_has_key(key, map);
-}
-
-export function insert(map, key, value) {
- return mutable_map_insert(key, value, map);
-}
-
-function insert_pair(map, pair) {
- return insert(map, pair[0], pair[1]);
-}
-
-export function update(map, key, fun) {
- let _pipe = map;
- let _pipe$1 = get(_pipe, key);
- let _pipe$2 = $option.from_result(_pipe$1);
- let _pipe$3 = fun(_pipe$2);
- return ((_capture) => {
- return insert(map, key, _capture);
- })(_pipe$3);
-}
-
-export function delete$(map, key) {
- return mutable_map_remove(key, map);
-}
-
-function fold_list_of_pair(loop$list, loop$initial) {
- while (true) {
- let list = loop$list;
- let initial = loop$initial;
- if (list.hasLength(0)) {
- return initial;
- } else if (list.atLeastLength(1)) {
- let x = list.head;
- let rest = list.tail;
- loop$list = rest;
- loop$initial = insert(initial, x[0], x[1]);
- } else {
- throw makeError(
- "case_no_match",
- "gleam/map",
- 98,
- "fold_list_of_pair",
- "No case clause matched",
- { values: [list] }
- );
- }
- }
-}
-
-function do_from_list(list) {
- return fold_list_of_pair(list, new$());
-}
-
-export function from_list(list) {
- return do_from_list(list);
-}
-
-function do_fold(loop$list, loop$initial, loop$fun) {
- while (true) {
- let list = loop$list;
- let initial = loop$initial;
- let fun = loop$fun;
- if (list.hasLength(0)) {
- return initial;
- } else if (list.atLeastLength(1)) {
- let k = list.head[0];
- let v = list.head[1];
- let tail = list.tail;
- loop$list = tail;
- loop$initial = fun(initial, k, v);
- loop$fun = fun;
- } else {
- throw makeError(
- "case_no_match",
- "gleam/map",
- 558,
- "do_fold",
- "No case clause matched",
- { values: [list] }
- );
- }
- }
-}
-
-export function fold(map, initial, fun) {
- let _pipe = map;
- let _pipe$1 = to_list(_pipe);
- return do_fold(_pipe$1, initial, fun);
-}
-
-function do_map_values(f, map) {
- let f$1 = (map, k, v) => {
- return insert(map, k, f(k, v));
- };
- let _pipe = map;
- return fold(_pipe, new$(), f$1);
-}
-
-export function map_values(map, fun) {
- return do_map_values(fun, map);
-}
-
-function do_filter(f, map) {
- let insert$1 = (map, k, v) => {
- let $ = f(k, v);
- if ($) {
- return insert(map, k, v);
- } else {
- return map;
- }
- };
- let _pipe = map;
- return fold(_pipe, new$(), insert$1);
-}
-
-export function filter(map, property) {
- return do_filter(property, map);
-}
-
-function do_keys_acc(loop$list, loop$acc) {
- while (true) {
- let list = loop$list;
- let acc = loop$acc;
- if (list.hasLength(0)) {
- return reverse_and_concat(acc, toList([]));
- } else if (list.atLeastLength(1)) {
- let x = list.head;
- let xs = list.tail;
- loop$list = xs;
- loop$acc = toList([x[0]], acc);
- } else {
- throw makeError(
- "case_no_match",
- "gleam/map",
- 276,
- "do_keys_acc",
- "No case clause matched",
- { values: [list] }
- );
- }
- }
-}
-
-function do_keys(map) {
- let list_of_pairs = (() => {
- let _pipe = map;
- return to_list(_pipe);
- })();
- return do_keys_acc(list_of_pairs, toList([]));
-}
-
-export function keys(map) {
- return do_keys(map);
-}
-
-function reverse_and_concat(loop$remaining, loop$accumulator) {
- while (true) {
- let remaining = loop$remaining;
- let accumulator = loop$accumulator;
- if (remaining.hasLength(0)) {
- return accumulator;
- } else if (remaining.atLeastLength(1)) {
- let item = remaining.head;
- let rest = remaining.tail;
- loop$remaining = rest;
- loop$accumulator = toList([item], accumulator);
- } else {
- throw makeError(
- "case_no_match",
- "gleam/map",
- 269,
- "reverse_and_concat",
- "No case clause matched",
- { values: [remaining] }
- );
- }
- }
-}
-
-function do_values_acc(loop$list, loop$acc) {
- while (true) {
- let list = loop$list;
- let acc = loop$acc;
- if (list.hasLength(0)) {
- return reverse_and_concat(acc, toList([]));
- } else if (list.atLeastLength(1)) {
- let x = list.head;
- let xs = list.tail;
- loop$list = xs;
- loop$acc = toList([x[1]], acc);
- } else {
- throw makeError(
- "case_no_match",
- "gleam/map",
- 314,
- "do_values_acc",
- "No case clause matched",
- { values: [list] }
- );
- }
- }
-}
-
-function do_values(map) {
- let list_of_pairs = (() => {
- let _pipe = map;
- return to_list(_pipe);
- })();
- return do_values_acc(list_of_pairs, toList([]));
-}
-
-export function values(map) {
- return do_values(map);
-}
-
-function insert_taken(loop$map, loop$desired_keys, loop$acc) {
- while (true) {
- let map = loop$map;
- let desired_keys = loop$desired_keys;
- let acc = loop$acc;
- let insert$1 = (taken, key) => {
- let $ = get(map, key);
- if ($.isOk()) {
- let value = $[0];
- return insert(taken, key, value);
- } else {
- return taken;
- }
- };
- if (desired_keys.hasLength(0)) {
- return acc;
- } else if (desired_keys.atLeastLength(1)) {
- let x = desired_keys.head;
- let xs = desired_keys.tail;
- loop$map = map;
- loop$desired_keys = xs;
- loop$acc = insert$1(acc, x);
- } else {
- throw makeError(
- "case_no_match",
- "gleam/map",
- 411,
- "insert_taken",
- "No case clause matched",
- { values: [desired_keys] }
- );
- }
- }
-}
-
-function do_take(desired_keys, map) {
- return insert_taken(map, desired_keys, new$());
-}
-
-export function take(map, desired_keys) {
- return do_take(desired_keys, map);
-}
-
-function fold_inserts(loop$new_entries, loop$map) {
- while (true) {
- let new_entries = loop$new_entries;
- let map = loop$map;
- if (new_entries.hasLength(0)) {
- return map;
- } else if (new_entries.atLeastLength(1)) {
- let x = new_entries.head;
- let xs = new_entries.tail;
- loop$new_entries = xs;
- loop$map = insert_pair(map, x);
- } else {
- throw makeError(
- "case_no_match",
- "gleam/map",
- 451,
- "fold_inserts",
- "No case clause matched",
- { values: [new_entries] }
- );
- }
- }
-}
-
-function do_merge(map, new_entries) {
- let _pipe = new_entries;
- let _pipe$1 = to_list(_pipe);
- return fold_inserts(_pipe$1, map);
-}
-
-export function merge(map, new_entries) {
- return do_merge(map, new_entries);
-}
-
-export function drop(loop$map, loop$disallowed_keys) {
- while (true) {
- let map = loop$map;
- let disallowed_keys = loop$disallowed_keys;
- if (disallowed_keys.hasLength(0)) {
- return map;
- } else if (disallowed_keys.atLeastLength(1)) {
- let x = disallowed_keys.head;
- let xs = disallowed_keys.tail;
- loop$map = delete$(map, x);
- loop$disallowed_keys = xs;
- } else {
- throw makeError(
- "case_no_match",
- "gleam/map",
- 514,
- "drop",
- "No case clause matched",
- { values: [disallowed_keys] }
- );
- }
- }
-}
diff --git a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gleam@@compile.erl b/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gleam@@compile.erl
deleted file mode 100644
index 543db88..0000000
--- a/aoc2023/build/dev/erlang/gap/_gleam_artefacts/gleam@@compile.erl
+++ /dev/null
@@ -1,157 +0,0 @@
-#!/usr/bin/env escript
-
-% TODO: Don't concurrently print warnings and errors
-% TODO: Some tests
-
--record(arguments, {lib = "./", out = "./", modules = []}).
-
-main(Args) ->
- #arguments{out = Out, lib = Lib, modules = Modules} = parse(Args),
- IsElixirModule = fun(Module) ->
- filename:extension(Module) =:= ".ex"
- end,
- {ElixirModules, ErlangModules} = lists:partition(IsElixirModule, Modules),
- ok = configure_logging(),
- ok = add_lib_to_erlang_path(Lib),
- ok = filelib:ensure_dir([Out, $/]),
- {ErlangOk, _ErlangBeams} = compile_erlang(ErlangModules, Out),
- {ElixirOk, _ElixirBeams} = case ErlangOk of
- true -> compile_elixir(ElixirModules, Out);
- false -> {false, []}
- end,
- case ErlangOk and ElixirOk of
- true -> ok;
- false -> erlang:halt(1)
- end.
-
-compile_erlang(Modules, Out) ->
- Workers = start_compiler_workers(Out),
- ok = producer_loop(Modules, Workers),
- collect_results({true, []}).
-
-collect_results(Acc = {Result, Beams}) ->
- receive
- {compiled, Beam} -> collect_results({Result, [Beam | Beams]});
- failed -> collect_results({false, Beams})
- after 0 -> Acc
- end.
-
-producer_loop([], 0) ->
- ok;
-producer_loop([], Workers) ->
- receive
- {work_please, _} -> producer_loop([], Workers - 1)
- end;
-producer_loop([Module | Modules], Workers) ->
- receive
- {work_please, Worker} ->
- erlang:send(Worker, {module, Module}),
- producer_loop(Modules, Workers)
- end.
-
-start_compiler_workers(Out) ->
- Parent = self(),
- NumSchedulers = erlang:system_info(schedulers),
- SpawnWorker = fun(_) ->
- erlang:spawn_link(fun() -> worker_loop(Parent, Out) end)
- end,
- lists:foreach(SpawnWorker, lists:seq(1, NumSchedulers)),
- NumSchedulers.
-
-worker_loop(Parent, Out) ->
- Options = [report_errors, report_warnings, debug_info, {outdir, Out}],
- erlang:send(Parent, {work_please, self()}),
- receive
- {module, Module} ->
- log({compiling, Module}),
- case compile:file(Module, Options) of
- {ok, ModuleName} ->
- Beam = filename:join(Out, ModuleName) ++ ".beam",
- Message = {compiled, Beam},
- log(Message),
- erlang:send(Parent, Message);
- error ->
- log({failed, Module}),
- erlang:send(Parent, failed)
- end,
- worker_loop(Parent, Out)
- end.
-
-compile_elixir(Modules, Out) ->
- Error = [
- "The program elixir was not found. Is it installed?",
- $\n,
- "Documentation for installing Elixir can be viewed here:",
- $\n,
- "https://elixir-lang.org/install.html"
- ],
- case Modules of
- [] -> {true, []};
- _ ->
- log({starting, "compiler.app"}),
- ok = application:start(compiler),
- log({starting, "elixir.app"}),
- case application:start(elixir) of
- ok -> do_compile_elixir(Modules, Out);
- _ ->
- io:put_chars(standard_error, [Error, $\n]),
- {false, []}
- end
- end.
-
-do_compile_elixir(Modules, Out) ->
- ModuleBins = lists:map(fun(Module) ->
- log({compiling, Module}),
- list_to_binary(Module)
- end, Modules),
- OutBin = list_to_binary(Out),
- Options = [{dest, OutBin}],
- % Silence "redefining module" warnings.
- % Compiled modules in the build directory are added to the code path.
- % These warnings result from recompiling loaded modules.
- % TODO: This line can likely be removed if/when the build directory is cleaned before every compilation.
- 'Elixir.Code':compiler_options([{ignore_module_conflict, true}]),
- case 'Elixir.Kernel.ParallelCompiler':compile_to_path(ModuleBins, OutBin, Options) of
- {ok, ModuleAtoms, _} ->
- ToBeam = fun(ModuleAtom) ->
- Beam = filename:join(Out, atom_to_list(ModuleAtom)) ++ ".beam",
- log({compiled, Beam}),
- Beam
- end,
- {true, lists:map(ToBeam, ModuleAtoms)};
- {error, Errors, _} ->
- % Log all filenames associated with modules that failed to compile.
- % Note: The compiler prints compilation errors upon encountering them.
- ErrorFiles = lists:usort([File || {File, _, _} <- Errors]),
- Log = fun(File) ->
- log({failed, binary_to_list(File)})
- end,
- lists:foreach(Log, ErrorFiles),
- {false, []};
- _ -> {false, []}
- end.
-
-add_lib_to_erlang_path(Lib) ->
- code:add_paths(filelib:wildcard([Lib, "/*/ebin"])).
-
-parse(Args) ->
- parse(Args, #arguments{}).
-
-parse([], Arguments) ->
- Arguments;
-parse(["--lib", Lib | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{lib = Lib});
-parse(["--out", Out | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{out = Out});
-parse([Module | Rest], Arguments = #arguments{modules = Modules}) ->
- parse(Rest, Arguments#arguments{modules = [Module | Modules]}).
-
-configure_logging() ->
- Enabled = os:getenv("GLEAM_LOG") /= false,
- persistent_term:put(gleam_logging_enabled, Enabled).
-
-log(Term) ->
- case persistent_term:get(gleam_logging_enabled) of
- true -> erlang:display(Term), ok;
- false -> ok
- end.
diff --git a/aoc2023/build/dev/erlang/gap/ebin/gap.app b/aoc2023/build/dev/erlang/gap/ebin/gap.app
deleted file mode 100644
index ae37254..0000000
--- a/aoc2023/build/dev/erlang/gap/ebin/gap.app
+++ /dev/null
@@ -1,8 +0,0 @@
-{application, gap, [
- {vsn, "1.0.1"},
- {applications, [gleam_community_ansi,
- gleam_stdlib]},
- {description, "A Gleam library for comparing strings/lists and producing a textual (styled) representation of the differences."},
- {modules, []},
- {registered, []}
-]}.
diff --git a/aoc2023/build/dev/erlang/gap/ebin/gap.beam b/aoc2023/build/dev/erlang/gap/ebin/gap.beam
deleted file mode 100644
index e819167..0000000
--- a/aoc2023/build/dev/erlang/gap/ebin/gap.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gap/ebin/gap@comparison.beam b/aoc2023/build/dev/erlang/gap/ebin/gap@comparison.beam
deleted file mode 100644
index 50227cb..0000000
--- a/aoc2023/build/dev/erlang/gap/ebin/gap@comparison.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gap/ebin/gap@myers.beam b/aoc2023/build/dev/erlang/gap/ebin/gap@myers.beam
deleted file mode 100644
index 248a896..0000000
--- a/aoc2023/build/dev/erlang/gap/ebin/gap@myers.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gap/ebin/gap@styled_comparison.beam b/aoc2023/build/dev/erlang/gap/ebin/gap@styled_comparison.beam
deleted file mode 100644
index 5d56885..0000000
--- a/aoc2023/build/dev/erlang/gap/ebin/gap@styled_comparison.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gap/ebin/gap@styling.beam b/aoc2023/build/dev/erlang/gap/ebin/gap@styling.beam
deleted file mode 100644
index d2d0cc3..0000000
--- a/aoc2023/build/dev/erlang/gap/ebin/gap@styling.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gap/include/gap@comparison_ListComparison.hrl b/aoc2023/build/dev/erlang/gap/include/gap@comparison_ListComparison.hrl
deleted file mode 100644
index 5e4b20d..0000000
--- a/aoc2023/build/dev/erlang/gap/include/gap@comparison_ListComparison.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(list_comparison, {
- first :: list(gap@comparison:match(list(any()))),
- second :: list(gap@comparison:match(list(any())))
-}).
diff --git a/aoc2023/build/dev/erlang/gap/include/gap@comparison_Match.hrl b/aoc2023/build/dev/erlang/gap/include/gap@comparison_Match.hrl
deleted file mode 100644
index f1225dd..0000000
--- a/aoc2023/build/dev/erlang/gap/include/gap@comparison_Match.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(match, {item :: any()}).
diff --git a/aoc2023/build/dev/erlang/gap/include/gap@comparison_NoMatch.hrl b/aoc2023/build/dev/erlang/gap/include/gap@comparison_NoMatch.hrl
deleted file mode 100644
index 742783b..0000000
--- a/aoc2023/build/dev/erlang/gap/include/gap@comparison_NoMatch.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(no_match, {item :: any()}).
diff --git a/aoc2023/build/dev/erlang/gap/include/gap@comparison_StringComparison.hrl b/aoc2023/build/dev/erlang/gap/include/gap@comparison_StringComparison.hrl
deleted file mode 100644
index c0b1a75..0000000
--- a/aoc2023/build/dev/erlang/gap/include/gap@comparison_StringComparison.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(string_comparison, {
- first :: list(gap@comparison:match(list(binary()))),
- second :: list(gap@comparison:match(list(binary())))
-}).
diff --git a/aoc2023/build/dev/erlang/gap/include/gap@styled_comparison_StyledComparison.hrl b/aoc2023/build/dev/erlang/gap/include/gap@styled_comparison_StyledComparison.hrl
deleted file mode 100644
index 0e7c64a..0000000
--- a/aoc2023/build/dev/erlang/gap/include/gap@styled_comparison_StyledComparison.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(styled_comparison, {first :: binary(), second :: binary()}).
diff --git a/aoc2023/build/dev/erlang/gap/include/gap@styling_All.hrl b/aoc2023/build/dev/erlang/gap/include/gap@styling_All.hrl
deleted file mode 100644
index c11a9a6..0000000
--- a/aoc2023/build/dev/erlang/gap/include/gap@styling_All.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(all, {all :: binary()}).
diff --git a/aoc2023/build/dev/erlang/gap/include/gap@styling_Highlighters.hrl b/aoc2023/build/dev/erlang/gap/include/gap@styling_Highlighters.hrl
deleted file mode 100644
index 6e073b3..0000000
--- a/aoc2023/build/dev/erlang/gap/include/gap@styling_Highlighters.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(highlighters, {
- first :: fun((binary()) -> binary()),
- second :: fun((binary()) -> binary()),
- matching :: fun((binary()) -> binary())
-}).
diff --git a/aoc2023/build/dev/erlang/gap/include/gap@styling_Part.hrl b/aoc2023/build/dev/erlang/gap/include/gap@styling_Part.hrl
deleted file mode 100644
index db45796..0000000
--- a/aoc2023/build/dev/erlang/gap/include/gap@styling_Part.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(part, {
- acc :: binary(),
- part :: list(any()),
- highlight :: fun((binary()) -> binary())
-}).
diff --git a/aoc2023/build/dev/erlang/gap/include/gap@styling_Styling.hrl b/aoc2023/build/dev/erlang/gap/include/gap@styling_Styling.hrl
deleted file mode 100644
index a7341c6..0000000
--- a/aoc2023/build/dev/erlang/gap/include/gap@styling_Styling.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(styling, {
- comparison :: gap@comparison:comparison(any()),
- serializer :: gleam@option:option(fun((gap@styling:part(any())) -> binary())),
- highlight :: gleam@option:option(gap@styling:highlighters())
-}).
diff --git a/aoc2023/build/dev/erlang/gleam.lock b/aoc2023/build/dev/erlang/gleam.lock
deleted file mode 100644
index e69de29..0000000
--- a/aoc2023/build/dev/erlang/gleam.lock
+++ /dev/null
diff --git a/aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam@@compile.erl b/aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam@@compile.erl
deleted file mode 100644
index 543db88..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam@@compile.erl
+++ /dev/null
@@ -1,157 +0,0 @@
-#!/usr/bin/env escript
-
-% TODO: Don't concurrently print warnings and errors
-% TODO: Some tests
-
--record(arguments, {lib = "./", out = "./", modules = []}).
-
-main(Args) ->
- #arguments{out = Out, lib = Lib, modules = Modules} = parse(Args),
- IsElixirModule = fun(Module) ->
- filename:extension(Module) =:= ".ex"
- end,
- {ElixirModules, ErlangModules} = lists:partition(IsElixirModule, Modules),
- ok = configure_logging(),
- ok = add_lib_to_erlang_path(Lib),
- ok = filelib:ensure_dir([Out, $/]),
- {ErlangOk, _ErlangBeams} = compile_erlang(ErlangModules, Out),
- {ElixirOk, _ElixirBeams} = case ErlangOk of
- true -> compile_elixir(ElixirModules, Out);
- false -> {false, []}
- end,
- case ErlangOk and ElixirOk of
- true -> ok;
- false -> erlang:halt(1)
- end.
-
-compile_erlang(Modules, Out) ->
- Workers = start_compiler_workers(Out),
- ok = producer_loop(Modules, Workers),
- collect_results({true, []}).
-
-collect_results(Acc = {Result, Beams}) ->
- receive
- {compiled, Beam} -> collect_results({Result, [Beam | Beams]});
- failed -> collect_results({false, Beams})
- after 0 -> Acc
- end.
-
-producer_loop([], 0) ->
- ok;
-producer_loop([], Workers) ->
- receive
- {work_please, _} -> producer_loop([], Workers - 1)
- end;
-producer_loop([Module | Modules], Workers) ->
- receive
- {work_please, Worker} ->
- erlang:send(Worker, {module, Module}),
- producer_loop(Modules, Workers)
- end.
-
-start_compiler_workers(Out) ->
- Parent = self(),
- NumSchedulers = erlang:system_info(schedulers),
- SpawnWorker = fun(_) ->
- erlang:spawn_link(fun() -> worker_loop(Parent, Out) end)
- end,
- lists:foreach(SpawnWorker, lists:seq(1, NumSchedulers)),
- NumSchedulers.
-
-worker_loop(Parent, Out) ->
- Options = [report_errors, report_warnings, debug_info, {outdir, Out}],
- erlang:send(Parent, {work_please, self()}),
- receive
- {module, Module} ->
- log({compiling, Module}),
- case compile:file(Module, Options) of
- {ok, ModuleName} ->
- Beam = filename:join(Out, ModuleName) ++ ".beam",
- Message = {compiled, Beam},
- log(Message),
- erlang:send(Parent, Message);
- error ->
- log({failed, Module}),
- erlang:send(Parent, failed)
- end,
- worker_loop(Parent, Out)
- end.
-
-compile_elixir(Modules, Out) ->
- Error = [
- "The program elixir was not found. Is it installed?",
- $\n,
- "Documentation for installing Elixir can be viewed here:",
- $\n,
- "https://elixir-lang.org/install.html"
- ],
- case Modules of
- [] -> {true, []};
- _ ->
- log({starting, "compiler.app"}),
- ok = application:start(compiler),
- log({starting, "elixir.app"}),
- case application:start(elixir) of
- ok -> do_compile_elixir(Modules, Out);
- _ ->
- io:put_chars(standard_error, [Error, $\n]),
- {false, []}
- end
- end.
-
-do_compile_elixir(Modules, Out) ->
- ModuleBins = lists:map(fun(Module) ->
- log({compiling, Module}),
- list_to_binary(Module)
- end, Modules),
- OutBin = list_to_binary(Out),
- Options = [{dest, OutBin}],
- % Silence "redefining module" warnings.
- % Compiled modules in the build directory are added to the code path.
- % These warnings result from recompiling loaded modules.
- % TODO: This line can likely be removed if/when the build directory is cleaned before every compilation.
- 'Elixir.Code':compiler_options([{ignore_module_conflict, true}]),
- case 'Elixir.Kernel.ParallelCompiler':compile_to_path(ModuleBins, OutBin, Options) of
- {ok, ModuleAtoms, _} ->
- ToBeam = fun(ModuleAtom) ->
- Beam = filename:join(Out, atom_to_list(ModuleAtom)) ++ ".beam",
- log({compiled, Beam}),
- Beam
- end,
- {true, lists:map(ToBeam, ModuleAtoms)};
- {error, Errors, _} ->
- % Log all filenames associated with modules that failed to compile.
- % Note: The compiler prints compilation errors upon encountering them.
- ErrorFiles = lists:usort([File || {File, _, _} <- Errors]),
- Log = fun(File) ->
- log({failed, binary_to_list(File)})
- end,
- lists:foreach(Log, ErrorFiles),
- {false, []};
- _ -> {false, []}
- end.
-
-add_lib_to_erlang_path(Lib) ->
- code:add_paths(filelib:wildcard([Lib, "/*/ebin"])).
-
-parse(Args) ->
- parse(Args, #arguments{}).
-
-parse([], Arguments) ->
- Arguments;
-parse(["--lib", Lib | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{lib = Lib});
-parse(["--out", Out | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{out = Out});
-parse([Module | Rest], Arguments = #arguments{modules = Modules}) ->
- parse(Rest, Arguments#arguments{modules = [Module | Modules]}).
-
-configure_logging() ->
- Enabled = os:getenv("GLEAM_LOG") /= false,
- persistent_term:put(gleam_logging_enabled, Enabled).
-
-log(Term) ->
- case persistent_term:get(gleam_logging_enabled) of
- true -> erlang:display(Term), ok;
- false -> ok
- end.
diff --git a/aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.cache b/aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.cache
deleted file mode 100644
index d77f2c9..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.cache_meta b/aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.cache_meta
deleted file mode 100644
index a01f4e8..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.erl b/aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.erl
deleted file mode 100644
index 8b7a4c9..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.erl
+++ /dev/null
@@ -1,263 +0,0 @@
--module(gleam_community@ansi).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([reset/1, bold/1, dim/1, italic/1, underline/1, inverse/1, hidden/1, strikethrough/1, black/1, red/1, green/1, yellow/1, blue/1, magenta/1, cyan/1, white/1, bright_black/1, grey/1, gray/1, bright_red/1, bright_green/1, bright_yellow/1, bright_blue/1, bright_magenta/1, bright_cyan/1, bright_white/1, hex/2, pink/1, colour/2, color/2, bg_black/1, bg_red/1, bg_green/1, bg_yellow/1, bg_blue/1, bg_magenta/1, bg_cyan/1, bg_white/1, bg_bright_black/1, bg_bright_red/1, bg_bright_green/1, bg_bright_yellow/1, bg_bright_blue/1, bg_bright_magenta/1, bg_bright_cyan/1, bg_bright_white/1, bg_hex/2, bg_pink/1, bg_colour/2, bg_color/2]).
--export_type([code/0]).
-
--type code() :: {code, binary(), binary(), binary()}.
-
--spec code(list(integer()), integer()) -> code().
-code(Open, Close) ->
- Close_str = gleam@int:to_string(Close),
- Open_strs = gleam@list:map(Open, fun gleam@int:to_string/1),
- {code,
- <<<<<<""/utf8, "["/utf8>>/binary,
- (gleam@string:join(Open_strs, <<";"/utf8>>))/binary>>/binary,
- "m"/utf8>>,
- <<<<<<""/utf8, "["/utf8>>/binary, Close_str/binary>>/binary, "m"/utf8>>,
- <<<<<<""/utf8, "["/utf8>>/binary, Close_str/binary>>/binary, "m"/utf8>>}.
-
--spec run(binary(), code()) -> binary().
-run(Text, Code) ->
- <<<<(erlang:element(2, Code))/binary,
- (gleam@string:replace(
- Text,
- erlang:element(4, Code),
- erlang:element(2, Code)
- ))/binary>>/binary,
- (erlang:element(3, Code))/binary>>.
-
--spec reset(binary()) -> binary().
-reset(Text) ->
- run(Text, code([0], 0)).
-
--spec bold(binary()) -> binary().
-bold(Text) ->
- run(Text, code([1], 22)).
-
--spec dim(binary()) -> binary().
-dim(Text) ->
- run(Text, code([2], 22)).
-
--spec italic(binary()) -> binary().
-italic(Text) ->
- run(Text, code([3], 23)).
-
--spec underline(binary()) -> binary().
-underline(Text) ->
- run(Text, code([4], 24)).
-
--spec inverse(binary()) -> binary().
-inverse(Text) ->
- run(Text, code([7], 27)).
-
--spec hidden(binary()) -> binary().
-hidden(Text) ->
- run(Text, code([8], 28)).
-
--spec strikethrough(binary()) -> binary().
-strikethrough(Text) ->
- run(Text, code([9], 29)).
-
--spec black(binary()) -> binary().
-black(Text) ->
- run(Text, code([30], 39)).
-
--spec red(binary()) -> binary().
-red(Text) ->
- run(Text, code([31], 39)).
-
--spec green(binary()) -> binary().
-green(Text) ->
- run(Text, code([32], 39)).
-
--spec yellow(binary()) -> binary().
-yellow(Text) ->
- run(Text, code([33], 39)).
-
--spec blue(binary()) -> binary().
-blue(Text) ->
- run(Text, code([34], 39)).
-
--spec magenta(binary()) -> binary().
-magenta(Text) ->
- run(Text, code([35], 39)).
-
--spec cyan(binary()) -> binary().
-cyan(Text) ->
- run(Text, code([36], 39)).
-
--spec white(binary()) -> binary().
-white(Text) ->
- run(Text, code([37], 39)).
-
--spec bright_black(binary()) -> binary().
-bright_black(Text) ->
- run(Text, code([90], 39)).
-
--spec grey(binary()) -> binary().
-grey(Text) ->
- bright_black(Text).
-
--spec gray(binary()) -> binary().
-gray(Text) ->
- bright_black(Text).
-
--spec bright_red(binary()) -> binary().
-bright_red(Text) ->
- run(Text, code([91], 39)).
-
--spec bright_green(binary()) -> binary().
-bright_green(Text) ->
- run(Text, code([92], 39)).
-
--spec bright_yellow(binary()) -> binary().
-bright_yellow(Text) ->
- run(Text, code([93], 39)).
-
--spec bright_blue(binary()) -> binary().
-bright_blue(Text) ->
- run(Text, code([94], 39)).
-
--spec bright_magenta(binary()) -> binary().
-bright_magenta(Text) ->
- run(Text, code([95], 39)).
-
--spec bright_cyan(binary()) -> binary().
-bright_cyan(Text) ->
- run(Text, code([96], 39)).
-
--spec bright_white(binary()) -> binary().
-bright_white(Text) ->
- run(Text, code([97], 39)).
-
--spec hex(binary(), integer()) -> binary().
-hex(Text, Colour) ->
- Colour@1 = gleam@int:clamp(Colour, 16#0, 16#ffffff),
- run(
- Text,
- code(
- [38,
- 2,
- begin
- _pipe = erlang:'bsr'(Colour@1, 16),
- erlang:'band'(_pipe, 16#ff)
- end,
- begin
- _pipe@1 = erlang:'bsr'(Colour@1, 8),
- erlang:'band'(_pipe@1, 16#ff)
- end,
- erlang:'band'(Colour@1, 16#ff)],
- 39
- )
- ).
-
--spec pink(binary()) -> binary().
-pink(Text) ->
- hex(Text, 16#ffaff3).
-
--spec colour(binary(), gleam_community@colour:colour()) -> binary().
-colour(Text, Colour) ->
- Hex_colour = gleam_community@colour:to_rgb_hex(Colour),
- hex(Text, Hex_colour).
-
--spec color(binary(), gleam_community@colour:colour()) -> binary().
-color(Text, Color) ->
- colour(Text, Color).
-
--spec bg_black(binary()) -> binary().
-bg_black(Text) ->
- run(Text, code([40], 49)).
-
--spec bg_red(binary()) -> binary().
-bg_red(Text) ->
- run(Text, code([41], 49)).
-
--spec bg_green(binary()) -> binary().
-bg_green(Text) ->
- run(Text, code([42], 49)).
-
--spec bg_yellow(binary()) -> binary().
-bg_yellow(Text) ->
- run(Text, code([43], 49)).
-
--spec bg_blue(binary()) -> binary().
-bg_blue(Text) ->
- run(Text, code([44], 49)).
-
--spec bg_magenta(binary()) -> binary().
-bg_magenta(Text) ->
- run(Text, code([45], 49)).
-
--spec bg_cyan(binary()) -> binary().
-bg_cyan(Text) ->
- run(Text, code([46], 49)).
-
--spec bg_white(binary()) -> binary().
-bg_white(Text) ->
- run(Text, code([47], 49)).
-
--spec bg_bright_black(binary()) -> binary().
-bg_bright_black(Text) ->
- run(Text, code([100], 49)).
-
--spec bg_bright_red(binary()) -> binary().
-bg_bright_red(Text) ->
- run(Text, code([101], 49)).
-
--spec bg_bright_green(binary()) -> binary().
-bg_bright_green(Text) ->
- run(Text, code([102], 49)).
-
--spec bg_bright_yellow(binary()) -> binary().
-bg_bright_yellow(Text) ->
- run(Text, code([103], 49)).
-
--spec bg_bright_blue(binary()) -> binary().
-bg_bright_blue(Text) ->
- run(Text, code([104], 49)).
-
--spec bg_bright_magenta(binary()) -> binary().
-bg_bright_magenta(Text) ->
- run(Text, code([105], 49)).
-
--spec bg_bright_cyan(binary()) -> binary().
-bg_bright_cyan(Text) ->
- run(Text, code([106], 49)).
-
--spec bg_bright_white(binary()) -> binary().
-bg_bright_white(Text) ->
- run(Text, code([107], 49)).
-
--spec bg_hex(binary(), integer()) -> binary().
-bg_hex(Text, Colour) ->
- run(
- Text,
- code(
- [48,
- 2,
- begin
- _pipe = erlang:'bsr'(Colour, 16),
- erlang:'band'(_pipe, 16#ff)
- end,
- begin
- _pipe@1 = erlang:'bsr'(Colour, 8),
- erlang:'band'(_pipe@1, 16#ff)
- end,
- erlang:'band'(Colour, 16#ff)],
- 49
- )
- ).
-
--spec bg_pink(binary()) -> binary().
-bg_pink(Text) ->
- bg_hex(Text, 16#ffaff3).
-
--spec bg_colour(binary(), gleam_community@colour:colour()) -> binary().
-bg_colour(Text, Colour) ->
- Hex_colour = gleam_community@colour:to_rgb_hex(Colour),
- bg_hex(Text, Hex_colour).
-
--spec bg_color(binary(), gleam_community@colour:colour()) -> binary().
-bg_color(Text, Colour) ->
- bg_colour(Text, Colour).
diff --git a/aoc2023/build/dev/erlang/gleam_community_ansi/ebin/gleam_community@ansi.beam b/aoc2023/build/dev/erlang/gleam_community_ansi/ebin/gleam_community@ansi.beam
deleted file mode 100644
index f59ef96..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_ansi/ebin/gleam_community@ansi.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_ansi/ebin/gleam_community_ansi.app b/aoc2023/build/dev/erlang/gleam_community_ansi/ebin/gleam_community_ansi.app
deleted file mode 100644
index 90e4d4a..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_ansi/ebin/gleam_community_ansi.app
+++ /dev/null
@@ -1,8 +0,0 @@
-{application, gleam_community_ansi, [
- {vsn, "1.2.0"},
- {applications, [gleam_community_colour,
- gleam_stdlib]},
- {description, "ANSI colours, formatting, and control codes"},
- {modules, []},
- {registered, []}
-]}.
diff --git a/aoc2023/build/dev/erlang/gleam_community_colour/_gleam_artefacts/gleam@@compile.erl b/aoc2023/build/dev/erlang/gleam_community_colour/_gleam_artefacts/gleam@@compile.erl
deleted file mode 100644
index 543db88..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_colour/_gleam_artefacts/gleam@@compile.erl
+++ /dev/null
@@ -1,157 +0,0 @@
-#!/usr/bin/env escript
-
-% TODO: Don't concurrently print warnings and errors
-% TODO: Some tests
-
--record(arguments, {lib = "./", out = "./", modules = []}).
-
-main(Args) ->
- #arguments{out = Out, lib = Lib, modules = Modules} = parse(Args),
- IsElixirModule = fun(Module) ->
- filename:extension(Module) =:= ".ex"
- end,
- {ElixirModules, ErlangModules} = lists:partition(IsElixirModule, Modules),
- ok = configure_logging(),
- ok = add_lib_to_erlang_path(Lib),
- ok = filelib:ensure_dir([Out, $/]),
- {ErlangOk, _ErlangBeams} = compile_erlang(ErlangModules, Out),
- {ElixirOk, _ElixirBeams} = case ErlangOk of
- true -> compile_elixir(ElixirModules, Out);
- false -> {false, []}
- end,
- case ErlangOk and ElixirOk of
- true -> ok;
- false -> erlang:halt(1)
- end.
-
-compile_erlang(Modules, Out) ->
- Workers = start_compiler_workers(Out),
- ok = producer_loop(Modules, Workers),
- collect_results({true, []}).
-
-collect_results(Acc = {Result, Beams}) ->
- receive
- {compiled, Beam} -> collect_results({Result, [Beam | Beams]});
- failed -> collect_results({false, Beams})
- after 0 -> Acc
- end.
-
-producer_loop([], 0) ->
- ok;
-producer_loop([], Workers) ->
- receive
- {work_please, _} -> producer_loop([], Workers - 1)
- end;
-producer_loop([Module | Modules], Workers) ->
- receive
- {work_please, Worker} ->
- erlang:send(Worker, {module, Module}),
- producer_loop(Modules, Workers)
- end.
-
-start_compiler_workers(Out) ->
- Parent = self(),
- NumSchedulers = erlang:system_info(schedulers),
- SpawnWorker = fun(_) ->
- erlang:spawn_link(fun() -> worker_loop(Parent, Out) end)
- end,
- lists:foreach(SpawnWorker, lists:seq(1, NumSchedulers)),
- NumSchedulers.
-
-worker_loop(Parent, Out) ->
- Options = [report_errors, report_warnings, debug_info, {outdir, Out}],
- erlang:send(Parent, {work_please, self()}),
- receive
- {module, Module} ->
- log({compiling, Module}),
- case compile:file(Module, Options) of
- {ok, ModuleName} ->
- Beam = filename:join(Out, ModuleName) ++ ".beam",
- Message = {compiled, Beam},
- log(Message),
- erlang:send(Parent, Message);
- error ->
- log({failed, Module}),
- erlang:send(Parent, failed)
- end,
- worker_loop(Parent, Out)
- end.
-
-compile_elixir(Modules, Out) ->
- Error = [
- "The program elixir was not found. Is it installed?",
- $\n,
- "Documentation for installing Elixir can be viewed here:",
- $\n,
- "https://elixir-lang.org/install.html"
- ],
- case Modules of
- [] -> {true, []};
- _ ->
- log({starting, "compiler.app"}),
- ok = application:start(compiler),
- log({starting, "elixir.app"}),
- case application:start(elixir) of
- ok -> do_compile_elixir(Modules, Out);
- _ ->
- io:put_chars(standard_error, [Error, $\n]),
- {false, []}
- end
- end.
-
-do_compile_elixir(Modules, Out) ->
- ModuleBins = lists:map(fun(Module) ->
- log({compiling, Module}),
- list_to_binary(Module)
- end, Modules),
- OutBin = list_to_binary(Out),
- Options = [{dest, OutBin}],
- % Silence "redefining module" warnings.
- % Compiled modules in the build directory are added to the code path.
- % These warnings result from recompiling loaded modules.
- % TODO: This line can likely be removed if/when the build directory is cleaned before every compilation.
- 'Elixir.Code':compiler_options([{ignore_module_conflict, true}]),
- case 'Elixir.Kernel.ParallelCompiler':compile_to_path(ModuleBins, OutBin, Options) of
- {ok, ModuleAtoms, _} ->
- ToBeam = fun(ModuleAtom) ->
- Beam = filename:join(Out, atom_to_list(ModuleAtom)) ++ ".beam",
- log({compiled, Beam}),
- Beam
- end,
- {true, lists:map(ToBeam, ModuleAtoms)};
- {error, Errors, _} ->
- % Log all filenames associated with modules that failed to compile.
- % Note: The compiler prints compilation errors upon encountering them.
- ErrorFiles = lists:usort([File || {File, _, _} <- Errors]),
- Log = fun(File) ->
- log({failed, binary_to_list(File)})
- end,
- lists:foreach(Log, ErrorFiles),
- {false, []};
- _ -> {false, []}
- end.
-
-add_lib_to_erlang_path(Lib) ->
- code:add_paths(filelib:wildcard([Lib, "/*/ebin"])).
-
-parse(Args) ->
- parse(Args, #arguments{}).
-
-parse([], Arguments) ->
- Arguments;
-parse(["--lib", Lib | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{lib = Lib});
-parse(["--out", Out | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{out = Out});
-parse([Module | Rest], Arguments = #arguments{modules = Modules}) ->
- parse(Rest, Arguments#arguments{modules = [Module | Modules]}).
-
-configure_logging() ->
- Enabled = os:getenv("GLEAM_LOG") /= false,
- persistent_term:put(gleam_logging_enabled, Enabled).
-
-log(Term) ->
- case persistent_term:get(gleam_logging_enabled) of
- true -> erlang:display(Term), ok;
- false -> ok
- end.
diff --git a/aoc2023/build/dev/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour.cache b/aoc2023/build/dev/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour.cache
deleted file mode 100644
index 7de2dd3..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour.cache_meta b/aoc2023/build/dev/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour.cache_meta
deleted file mode 100644
index 3584f7e..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour.erl b/aoc2023/build/dev/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour.erl
deleted file mode 100644
index ceaaaaa..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour.erl
+++ /dev/null
@@ -1,513 +0,0 @@
--module(gleam_community@colour).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([from_rgb255/3, from_rgb/3, from_rgba/4, from_hsla/4, from_hsl/3, from_rgb_hex/1, from_rgb_hex_string/1, from_rgba_hex/1, from_rgba_hex_string/1, to_rgba/1, to_hsla/1, to_css_rgba_string/1, to_rgba_hex/1, to_rgba_hex_string/1, to_rgb_hex/1, to_rgb_hex_string/1]).
--export_type([colour/0]).
-
--opaque colour() :: {rgba, float(), float(), float(), float()} |
- {hsla, float(), float(), float(), float()}.
-
--spec valid_colour_value(float()) -> {ok, float()} | {error, nil}.
-valid_colour_value(C) ->
- case (C > 1.0) orelse (C < +0.0) of
- true ->
- {error, nil};
-
- false ->
- {ok, C}
- end.
-
--spec hue_to_rgb(float(), float(), float()) -> float().
-hue_to_rgb(Hue, M1, M2) ->
- H = case Hue of
- _ when Hue < +0.0 ->
- Hue + 1.0;
-
- _ when Hue > 1.0 ->
- Hue - 1.0;
-
- _ ->
- Hue
- end,
- H_t_6 = H * 6.0,
- H_t_2 = H * 2.0,
- H_t_3 = H * 3.0,
- case H of
- _ when H_t_6 < 1.0 ->
- M1 + (((M2 - M1) * H) * 6.0);
-
- _ when H_t_2 < 1.0 ->
- M2;
-
- _ when H_t_3 < 2.0 ->
- M1 + (((M2 - M1) * ((2.0 / 3.0) - H)) * 6.0);
-
- _ ->
- M1
- end.
-
--spec hex_string_to_int(binary()) -> {ok, integer()} | {error, nil}.
-hex_string_to_int(Hex_string) ->
- Hex = case Hex_string of
- <<"#"/utf8, Hex_number/binary>> ->
- Hex_number;
-
- <<"0x"/utf8, Hex_number@1/binary>> ->
- Hex_number@1;
-
- _ ->
- Hex_string
- end,
- _pipe = Hex,
- _pipe@1 = gleam@string:lowercase(_pipe),
- _pipe@2 = gleam@string:to_graphemes(_pipe@1),
- _pipe@3 = gleam@list:reverse(_pipe@2),
- gleam@list:index_fold(
- _pipe@3,
- {ok, 0},
- fun(Total, Char, Index) -> case Total of
- {error, nil} ->
- {error, nil};
-
- {ok, V} ->
- gleam@result:then(case Char of
- <<"a"/utf8>> ->
- {ok, 10};
-
- <<"b"/utf8>> ->
- {ok, 11};
-
- <<"c"/utf8>> ->
- {ok, 12};
-
- <<"d"/utf8>> ->
- {ok, 13};
-
- <<"e"/utf8>> ->
- {ok, 14};
-
- <<"f"/utf8>> ->
- {ok, 15};
-
- _ ->
- gleam@int:parse(Char)
- end, fun(Num) ->
- gleam@result:then(
- gleam@int:power(16, gleam@int:to_float(Index)),
- fun(Base) ->
- {ok,
- V + gleam@float:round(
- gleam@int:to_float(Num) * Base
- )}
- end
- )
- end)
- end end
- ).
-
--spec hsla_to_rgba(float(), float(), float(), float()) -> {float(),
- float(),
- float(),
- float()}.
-hsla_to_rgba(H, S, L, A) ->
- M2 = case L =< 0.5 of
- true ->
- L * (S + 1.0);
-
- false ->
- (L + S) - (L * S)
- end,
- M1 = (L * 2.0) - M2,
- R = hue_to_rgb(H + (1.0 / 3.0), M1, M2),
- G = hue_to_rgb(H, M1, M2),
- B = hue_to_rgb(H - (1.0 / 3.0), M1, M2),
- {R, G, B, A}.
-
--spec rgba_to_hsla(float(), float(), float(), float()) -> {float(),
- float(),
- float(),
- float()}.
-rgba_to_hsla(R, G, B, A) ->
- Min_colour = gleam@float:min(R, gleam@float:min(G, B)),
- Max_colour = gleam@float:max(R, gleam@float:max(G, B)),
- H1 = case true of
- _ when Max_colour =:= R ->
- gleam@float:divide(G - B, Max_colour - Min_colour);
-
- _ when Max_colour =:= G ->
- _pipe = gleam@float:divide(B - R, Max_colour - Min_colour),
- gleam@result:then(_pipe, fun(D) -> {ok, 2.0 + D} end);
-
- _ ->
- _pipe@1 = gleam@float:divide(R - G, Max_colour - Min_colour),
- gleam@result:then(_pipe@1, fun(D@1) -> {ok, 4.0 + D@1} end)
- end,
- H2 = case H1 of
- {ok, V} ->
- {ok, V * (1.0 / 6.0)};
-
- _ ->
- H1
- end,
- H3 = case H2 of
- {ok, V@1} when V@1 < +0.0 ->
- V@1 + 1.0;
-
- {ok, V@2} ->
- V@2;
-
- _ ->
- +0.0
- end,
- L = (Min_colour + Max_colour) / 2.0,
- S = case true of
- _ when Min_colour =:= Max_colour ->
- +0.0;
-
- _ when L < 0.5 ->
- case (Max_colour + Min_colour) of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator -> (Max_colour - Min_colour) / Gleam@denominator
- end;
-
- _ ->
- case ((2.0 - Max_colour) - Min_colour) of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator@1 -> (Max_colour - Min_colour) / Gleam@denominator@1
- end
- end,
- {H3, S, L, A}.
-
--spec from_rgb255(integer(), integer(), integer()) -> {ok, colour()} |
- {error, nil}.
-from_rgb255(Red, Green, Blue) ->
- gleam@result:then(
- begin
- _pipe = Red,
- _pipe@1 = gleam@int:to_float(_pipe),
- _pipe@2 = gleam@float:divide(_pipe@1, 255.0),
- gleam@result:then(_pipe@2, fun valid_colour_value/1)
- end,
- fun(R) ->
- gleam@result:then(
- begin
- _pipe@3 = Green,
- _pipe@4 = gleam@int:to_float(_pipe@3),
- _pipe@5 = gleam@float:divide(_pipe@4, 255.0),
- gleam@result:then(_pipe@5, fun valid_colour_value/1)
- end,
- fun(G) ->
- gleam@result:then(
- begin
- _pipe@6 = Blue,
- _pipe@7 = gleam@int:to_float(_pipe@6),
- _pipe@8 = gleam@float:divide(_pipe@7, 255.0),
- gleam@result:then(_pipe@8, fun valid_colour_value/1)
- end,
- fun(B) -> {ok, {rgba, R, G, B, 1.0}} end
- )
- end
- )
- end
- ).
-
--spec from_rgb(float(), float(), float()) -> {ok, colour()} | {error, nil}.
-from_rgb(Red, Green, Blue) ->
- gleam@result:then(
- valid_colour_value(Red),
- fun(R) ->
- gleam@result:then(
- valid_colour_value(Green),
- fun(G) ->
- gleam@result:then(
- valid_colour_value(Blue),
- fun(B) -> {ok, {rgba, R, G, B, 1.0}} end
- )
- end
- )
- end
- ).
-
--spec from_rgba(float(), float(), float(), float()) -> {ok, colour()} |
- {error, nil}.
-from_rgba(Red, Green, Blue, Alpha) ->
- gleam@result:then(
- valid_colour_value(Red),
- fun(R) ->
- gleam@result:then(
- valid_colour_value(Green),
- fun(G) ->
- gleam@result:then(
- valid_colour_value(Blue),
- fun(B) ->
- gleam@result:then(
- valid_colour_value(Alpha),
- fun(A) -> {ok, {rgba, R, G, B, A}} end
- )
- end
- )
- end
- )
- end
- ).
-
--spec from_hsla(float(), float(), float(), float()) -> {ok, colour()} |
- {error, nil}.
-from_hsla(Hue, Saturation, Lightness, Alpha) ->
- gleam@result:then(
- valid_colour_value(Hue),
- fun(H) ->
- gleam@result:then(
- valid_colour_value(Saturation),
- fun(S) ->
- gleam@result:then(
- valid_colour_value(Lightness),
- fun(L) ->
- gleam@result:then(
- valid_colour_value(Alpha),
- fun(A) -> {ok, {hsla, H, S, L, A}} end
- )
- end
- )
- end
- )
- end
- ).
-
--spec from_hsl(float(), float(), float()) -> {ok, colour()} | {error, nil}.
-from_hsl(Hue, Saturation, Lightness) ->
- from_hsla(Hue, Saturation, Lightness, 1.0).
-
--spec from_rgb_hex(integer()) -> {ok, colour()} | {error, nil}.
-from_rgb_hex(Hex) ->
- case (Hex > 16#ffffff) orelse (Hex < 0) of
- true ->
- {error, nil};
-
- false ->
- R = begin
- _pipe = erlang:'bsr'(Hex, 16),
- erlang:'band'(_pipe, 16#ff)
- end,
- G = begin
- _pipe@1 = erlang:'bsr'(Hex, 8),
- erlang:'band'(_pipe@1, 16#ff)
- end,
- B = erlang:'band'(Hex, 16#ff),
- from_rgb255(R, G, B)
- end.
-
--spec from_rgb_hex_string(binary()) -> {ok, colour()} | {error, nil}.
-from_rgb_hex_string(Hex_string) ->
- gleam@result:then(
- hex_string_to_int(Hex_string),
- fun(Hex_int) -> from_rgb_hex(Hex_int) end
- ).
-
--spec from_rgba_hex(integer()) -> {ok, colour()} | {error, nil}.
-from_rgba_hex(Hex) ->
- case (Hex > 16#ffffffff) orelse (Hex < 0) of
- true ->
- {error, nil};
-
- false ->
- _assert_subject = begin
- _pipe = erlang:'bsr'(Hex, 24),
- _pipe@1 = erlang:'band'(_pipe, 16#ff),
- _pipe@2 = gleam@int:to_float(_pipe@1),
- gleam@float:divide(_pipe@2, 255.0)
- end,
- {ok, R} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/colour"/utf8>>,
- function => <<"from_rgba_hex"/utf8>>,
- line => 588})
- end,
- _assert_subject@1 = begin
- _pipe@3 = erlang:'bsr'(Hex, 16),
- _pipe@4 = erlang:'band'(_pipe@3, 16#ff),
- _pipe@5 = gleam@int:to_float(_pipe@4),
- gleam@float:divide(_pipe@5, 255.0)
- end,
- {ok, G} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"gleam_community/colour"/utf8>>,
- function => <<"from_rgba_hex"/utf8>>,
- line => 594})
- end,
- _assert_subject@2 = begin
- _pipe@6 = erlang:'bsr'(Hex, 8),
- _pipe@7 = erlang:'band'(_pipe@6, 16#ff),
- _pipe@8 = gleam@int:to_float(_pipe@7),
- gleam@float:divide(_pipe@8, 255.0)
- end,
- {ok, B} = case _assert_subject@2 of
- {ok, _} -> _assert_subject@2;
- _assert_fail@2 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@2,
- module => <<"gleam_community/colour"/utf8>>,
- function => <<"from_rgba_hex"/utf8>>,
- line => 600})
- end,
- _assert_subject@3 = begin
- _pipe@9 = erlang:'band'(Hex, 16#ff),
- _pipe@10 = gleam@int:to_float(_pipe@9),
- gleam@float:divide(_pipe@10, 255.0)
- end,
- {ok, A} = case _assert_subject@3 of
- {ok, _} -> _assert_subject@3;
- _assert_fail@3 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@3,
- module => <<"gleam_community/colour"/utf8>>,
- function => <<"from_rgba_hex"/utf8>>,
- line => 606})
- end,
- from_rgba(R, G, B, A)
- end.
-
--spec from_rgba_hex_string(binary()) -> {ok, colour()} | {error, nil}.
-from_rgba_hex_string(Hex_string) ->
- gleam@result:then(
- hex_string_to_int(Hex_string),
- fun(Hex_int) -> from_rgba_hex(Hex_int) end
- ).
-
--spec to_rgba(colour()) -> {float(), float(), float(), float()}.
-to_rgba(Colour) ->
- case Colour of
- {rgba, R, G, B, A} ->
- {R, G, B, A};
-
- {hsla, H, S, L, A@1} ->
- hsla_to_rgba(H, S, L, A@1)
- end.
-
--spec to_hsla(colour()) -> {float(), float(), float(), float()}.
-to_hsla(Colour) ->
- case Colour of
- {hsla, H, S, L, A} ->
- {H, S, L, A};
-
- {rgba, R, G, B, A@1} ->
- rgba_to_hsla(R, G, B, A@1)
- end.
-
--spec to_css_rgba_string(colour()) -> binary().
-to_css_rgba_string(Colour) ->
- {R, G, B, A} = to_rgba(Colour),
- Percent = fun(X) ->
- _assert_subject = begin
- _pipe = X,
- _pipe@1 = gleam@float:multiply(_pipe, 10000.0),
- _pipe@2 = gleam@float:round(_pipe@1),
- _pipe@3 = gleam@int:to_float(_pipe@2),
- gleam@float:divide(_pipe@3, 100.0)
- end,
- {ok, P} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/colour"/utf8>>,
- function => <<"to_css_rgba_string"/utf8>>,
- line => 704})
- end,
- P
- end,
- Round_to = fun(X@1) ->
- _assert_subject@1 = begin
- _pipe@4 = X@1,
- _pipe@5 = gleam@float:multiply(_pipe@4, 1000.0),
- _pipe@6 = gleam@float:round(_pipe@5),
- _pipe@7 = gleam@int:to_float(_pipe@6),
- gleam@float:divide(_pipe@7, 1000.0)
- end,
- {ok, R@1} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"gleam_community/colour"/utf8>>,
- function => <<"to_css_rgba_string"/utf8>>,
- line => 716})
- end,
- R@1
- end,
- gleam@string:join(
- [<<"rgba("/utf8>>,
- <<(gleam@float:to_string(Percent(R)))/binary, "%,"/utf8>>,
- <<(gleam@float:to_string(Percent(G)))/binary, "%,"/utf8>>,
- <<(gleam@float:to_string(Percent(B)))/binary, "%,"/utf8>>,
- gleam@float:to_string(Round_to(A)),
- <<")"/utf8>>],
- <<""/utf8>>
- ).
-
--spec to_rgba_hex(colour()) -> integer().
-to_rgba_hex(Colour) ->
- {R, G, B, A} = to_rgba(Colour),
- Red = begin
- _pipe = R * 255.0,
- _pipe@1 = gleam@float:round(_pipe),
- erlang:'bsl'(_pipe@1, 24)
- end,
- Green = begin
- _pipe@2 = G * 255.0,
- _pipe@3 = gleam@float:round(_pipe@2),
- erlang:'bsl'(_pipe@3, 16)
- end,
- Blue = begin
- _pipe@4 = B * 255.0,
- _pipe@5 = gleam@float:round(_pipe@4),
- erlang:'bsl'(_pipe@5, 8)
- end,
- Alpha = begin
- _pipe@6 = A * 255.0,
- gleam@float:round(_pipe@6)
- end,
- ((Red + Green) + Blue) + Alpha.
-
--spec to_rgba_hex_string(colour()) -> binary().
-to_rgba_hex_string(Colour) ->
- _pipe = to_rgba_hex(Colour),
- gleam@int:to_base16(_pipe).
-
--spec to_rgb_hex(colour()) -> integer().
-to_rgb_hex(Colour) ->
- {R, G, B, _} = to_rgba(Colour),
- Red = begin
- _pipe = R * 255.0,
- _pipe@1 = gleam@float:round(_pipe),
- erlang:'bsl'(_pipe@1, 16)
- end,
- Green = begin
- _pipe@2 = G * 255.0,
- _pipe@3 = gleam@float:round(_pipe@2),
- erlang:'bsl'(_pipe@3, 8)
- end,
- Blue = begin
- _pipe@4 = B * 255.0,
- gleam@float:round(_pipe@4)
- end,
- (Red + Green) + Blue.
-
--spec to_rgb_hex_string(colour()) -> binary().
-to_rgb_hex_string(Colour) ->
- _pipe = to_rgb_hex(Colour),
- gleam@int:to_base16(_pipe).
diff --git a/aoc2023/build/dev/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour@accessibility.cache b/aoc2023/build/dev/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour@accessibility.cache
deleted file mode 100644
index 0154b0b..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour@accessibility.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour@accessibility.cache_meta b/aoc2023/build/dev/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour@accessibility.cache_meta
deleted file mode 100644
index 0c78df4..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour@accessibility.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour@accessibility.erl b/aoc2023/build/dev/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour@accessibility.erl
deleted file mode 100644
index 28ed9fd..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour@accessibility.erl
+++ /dev/null
@@ -1,75 +0,0 @@
--module(gleam_community@colour@accessibility).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([luminance/1, contrast_ratio/2, maximum_contrast/2]).
-
--spec intensity(float()) -> float().
-intensity(Colour_value) ->
- case true of
- _ when Colour_value =< 0.03928 ->
- Colour_value / 12.92;
-
- _ ->
- _assert_subject = gleam@float:power(
- (Colour_value + 0.055) / 1.055,
- 2.4
- ),
- {ok, I} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/colour/accessibility"/utf8>>,
- function => <<"intensity"/utf8>>,
- line => 62})
- end,
- I
- end.
-
--spec luminance(gleam_community@colour:colour()) -> float().
-luminance(Colour) ->
- {R, G, B, _} = gleam_community@colour:to_rgba(Colour),
- R_intensity = intensity(R),
- G_intensity = intensity(G),
- B_intensity = intensity(B),
- ((0.2126 * R_intensity) + (0.7152 * G_intensity)) + (0.0722 * B_intensity).
-
--spec contrast_ratio(
- gleam_community@colour:colour(),
- gleam_community@colour:colour()
-) -> float().
-contrast_ratio(Colour_a, Colour_b) ->
- Luminance_a = luminance(Colour_a) + 0.05,
- Luminance_b = luminance(Colour_b) + 0.05,
- case Luminance_a > Luminance_b of
- true ->
- case Luminance_b of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator -> Luminance_a / Gleam@denominator
- end;
-
- false ->
- case Luminance_a of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator@1 -> Luminance_b / Gleam@denominator@1
- end
- end.
-
--spec maximum_contrast(
- gleam_community@colour:colour(),
- list(gleam_community@colour:colour())
-) -> {ok, gleam_community@colour:colour()} | {error, nil}.
-maximum_contrast(Base, Colours) ->
- _pipe = Colours,
- _pipe@1 = gleam@list:sort(
- _pipe,
- fun(Colour_a, Colour_b) ->
- Contrast_a = contrast_ratio(Base, Colour_a),
- Contrast_b = contrast_ratio(Base, Colour_b),
- gleam@float:compare(Contrast_b, Contrast_a)
- end
- ),
- gleam@list:first(_pipe@1).
diff --git a/aoc2023/build/dev/erlang/gleam_community_colour/ebin/gleam_community@colour.beam b/aoc2023/build/dev/erlang/gleam_community_colour/ebin/gleam_community@colour.beam
deleted file mode 100644
index e25d425..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_colour/ebin/gleam_community@colour.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_colour/ebin/gleam_community@colour@accessibility.beam b/aoc2023/build/dev/erlang/gleam_community_colour/ebin/gleam_community@colour@accessibility.beam
deleted file mode 100644
index e599de6..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_colour/ebin/gleam_community@colour@accessibility.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_colour/ebin/gleam_community_colour.app b/aoc2023/build/dev/erlang/gleam_community_colour/ebin/gleam_community_colour.app
deleted file mode 100644
index 51800d3..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_colour/ebin/gleam_community_colour.app
+++ /dev/null
@@ -1,7 +0,0 @@
-{application, gleam_community_colour, [
- {vsn, "1.2.0"},
- {applications, [gleam_stdlib]},
- {description, "Colour types, conversions, and other utilities"},
- {modules, []},
- {registered, []}
-]}.
diff --git a/aoc2023/build/dev/erlang/gleam_community_colour/include/gleam_community@colour_Hsla.hrl b/aoc2023/build/dev/erlang/gleam_community_colour/include/gleam_community@colour_Hsla.hrl
deleted file mode 100644
index 06116df..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_colour/include/gleam_community@colour_Hsla.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(hsla, {h :: float(), s :: float(), l :: float(), a :: float()}).
diff --git a/aoc2023/build/dev/erlang/gleam_community_colour/include/gleam_community@colour_Rgba.hrl b/aoc2023/build/dev/erlang/gleam_community_colour/include/gleam_community@colour_Rgba.hrl
deleted file mode 100644
index fff139e..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_colour/include/gleam_community@colour_Rgba.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(rgba, {r :: float(), g :: float(), b :: float(), a :: float()}).
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam@@compile.erl b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam@@compile.erl
deleted file mode 100644
index 543db88..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam@@compile.erl
+++ /dev/null
@@ -1,157 +0,0 @@
-#!/usr/bin/env escript
-
-% TODO: Don't concurrently print warnings and errors
-% TODO: Some tests
-
--record(arguments, {lib = "./", out = "./", modules = []}).
-
-main(Args) ->
- #arguments{out = Out, lib = Lib, modules = Modules} = parse(Args),
- IsElixirModule = fun(Module) ->
- filename:extension(Module) =:= ".ex"
- end,
- {ElixirModules, ErlangModules} = lists:partition(IsElixirModule, Modules),
- ok = configure_logging(),
- ok = add_lib_to_erlang_path(Lib),
- ok = filelib:ensure_dir([Out, $/]),
- {ErlangOk, _ErlangBeams} = compile_erlang(ErlangModules, Out),
- {ElixirOk, _ElixirBeams} = case ErlangOk of
- true -> compile_elixir(ElixirModules, Out);
- false -> {false, []}
- end,
- case ErlangOk and ElixirOk of
- true -> ok;
- false -> erlang:halt(1)
- end.
-
-compile_erlang(Modules, Out) ->
- Workers = start_compiler_workers(Out),
- ok = producer_loop(Modules, Workers),
- collect_results({true, []}).
-
-collect_results(Acc = {Result, Beams}) ->
- receive
- {compiled, Beam} -> collect_results({Result, [Beam | Beams]});
- failed -> collect_results({false, Beams})
- after 0 -> Acc
- end.
-
-producer_loop([], 0) ->
- ok;
-producer_loop([], Workers) ->
- receive
- {work_please, _} -> producer_loop([], Workers - 1)
- end;
-producer_loop([Module | Modules], Workers) ->
- receive
- {work_please, Worker} ->
- erlang:send(Worker, {module, Module}),
- producer_loop(Modules, Workers)
- end.
-
-start_compiler_workers(Out) ->
- Parent = self(),
- NumSchedulers = erlang:system_info(schedulers),
- SpawnWorker = fun(_) ->
- erlang:spawn_link(fun() -> worker_loop(Parent, Out) end)
- end,
- lists:foreach(SpawnWorker, lists:seq(1, NumSchedulers)),
- NumSchedulers.
-
-worker_loop(Parent, Out) ->
- Options = [report_errors, report_warnings, debug_info, {outdir, Out}],
- erlang:send(Parent, {work_please, self()}),
- receive
- {module, Module} ->
- log({compiling, Module}),
- case compile:file(Module, Options) of
- {ok, ModuleName} ->
- Beam = filename:join(Out, ModuleName) ++ ".beam",
- Message = {compiled, Beam},
- log(Message),
- erlang:send(Parent, Message);
- error ->
- log({failed, Module}),
- erlang:send(Parent, failed)
- end,
- worker_loop(Parent, Out)
- end.
-
-compile_elixir(Modules, Out) ->
- Error = [
- "The program elixir was not found. Is it installed?",
- $\n,
- "Documentation for installing Elixir can be viewed here:",
- $\n,
- "https://elixir-lang.org/install.html"
- ],
- case Modules of
- [] -> {true, []};
- _ ->
- log({starting, "compiler.app"}),
- ok = application:start(compiler),
- log({starting, "elixir.app"}),
- case application:start(elixir) of
- ok -> do_compile_elixir(Modules, Out);
- _ ->
- io:put_chars(standard_error, [Error, $\n]),
- {false, []}
- end
- end.
-
-do_compile_elixir(Modules, Out) ->
- ModuleBins = lists:map(fun(Module) ->
- log({compiling, Module}),
- list_to_binary(Module)
- end, Modules),
- OutBin = list_to_binary(Out),
- Options = [{dest, OutBin}],
- % Silence "redefining module" warnings.
- % Compiled modules in the build directory are added to the code path.
- % These warnings result from recompiling loaded modules.
- % TODO: This line can likely be removed if/when the build directory is cleaned before every compilation.
- 'Elixir.Code':compiler_options([{ignore_module_conflict, true}]),
- case 'Elixir.Kernel.ParallelCompiler':compile_to_path(ModuleBins, OutBin, Options) of
- {ok, ModuleAtoms, _} ->
- ToBeam = fun(ModuleAtom) ->
- Beam = filename:join(Out, atom_to_list(ModuleAtom)) ++ ".beam",
- log({compiled, Beam}),
- Beam
- end,
- {true, lists:map(ToBeam, ModuleAtoms)};
- {error, Errors, _} ->
- % Log all filenames associated with modules that failed to compile.
- % Note: The compiler prints compilation errors upon encountering them.
- ErrorFiles = lists:usort([File || {File, _, _} <- Errors]),
- Log = fun(File) ->
- log({failed, binary_to_list(File)})
- end,
- lists:foreach(Log, ErrorFiles),
- {false, []};
- _ -> {false, []}
- end.
-
-add_lib_to_erlang_path(Lib) ->
- code:add_paths(filelib:wildcard([Lib, "/*/ebin"])).
-
-parse(Args) ->
- parse(Args, #arguments{}).
-
-parse([], Arguments) ->
- Arguments;
-parse(["--lib", Lib | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{lib = Lib});
-parse(["--out", Out | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{out = Out});
-parse([Module | Rest], Arguments = #arguments{modules = Modules}) ->
- parse(Rest, Arguments#arguments{modules = [Module | Modules]}).
-
-configure_logging() ->
- Enabled = os:getenv("GLEAM_LOG") /= false,
- persistent_term:put(gleam_logging_enabled, Enabled).
-
-log(Term) ->
- case persistent_term:get(gleam_logging_enabled) of
- true -> erlang:display(Term), ok;
- false -> ok
- end.
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@arithmetics.cache b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@arithmetics.cache
deleted file mode 100644
index c8def84..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@arithmetics.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@arithmetics.cache_meta b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@arithmetics.cache_meta
deleted file mode 100644
index 23d4726..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@arithmetics.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@arithmetics.erl b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@arithmetics.erl
deleted file mode 100644
index 9cdaccb..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@arithmetics.erl
+++ /dev/null
@@ -1,172 +0,0 @@
--module(gleam_community@maths@arithmetics).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([gcd/2, lcm/2, divisors/1, proper_divisors/1, float_sum/1, int_sum/1, float_product/1, int_product/1, float_cumulative_sum/1, int_cumulative_sum/1, float_cumumlative_product/1, int_cumulative_product/1]).
-
--spec do_gcd(integer(), integer()) -> integer().
-do_gcd(X, Y) ->
- case X =:= 0 of
- true ->
- Y;
-
- false ->
- _assert_subject = gleam@int:modulo(Y, X),
- {ok, Z} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/arithmetics"/utf8>>,
- function => <<"do_gcd"/utf8>>,
- line => 93})
- end,
- do_gcd(Z, X)
- end.
-
--spec gcd(integer(), integer()) -> integer().
-gcd(X, Y) ->
- Absx = gleam_community@maths@piecewise:int_absolute_value(X),
- Absy = gleam_community@maths@piecewise:int_absolute_value(Y),
- do_gcd(Absx, Absy).
-
--spec lcm(integer(), integer()) -> integer().
-lcm(X, Y) ->
- Absx = gleam_community@maths@piecewise:int_absolute_value(X),
- Absy = gleam_community@maths@piecewise:int_absolute_value(Y),
- case do_gcd(Absx, Absy) of
- 0 -> 0;
- Gleam@denominator -> Absx * Absy div Gleam@denominator
- end.
-
--spec find_divisors(integer()) -> list(integer()).
-find_divisors(N) ->
- Nabs = gleam_community@maths@piecewise:float_absolute_value(
- gleam_community@maths@conversion:int_to_float(N)
- ),
- _assert_subject = gleam_community@maths@elementary:square_root(Nabs),
- {ok, Sqrt_result} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/arithmetics"/utf8>>,
- function => <<"find_divisors"/utf8>>,
- line => 176})
- end,
- Max = gleam_community@maths@conversion:float_to_int(Sqrt_result) + 1,
- _pipe = gleam@list:range(2, Max),
- _pipe@1 = gleam@list:fold(_pipe, [1, N], fun(Acc, I) -> case (case I of
- 0 -> 0;
- Gleam@denominator -> N rem Gleam@denominator
- end) =:= 0 of
- true ->
- [I, case I of
- 0 -> 0;
- Gleam@denominator@1 -> N div Gleam@denominator@1
- end | Acc];
-
- false ->
- Acc
- end end),
- _pipe@2 = gleam@list:unique(_pipe@1),
- gleam@list:sort(_pipe@2, fun gleam@int:compare/2).
-
--spec divisors(integer()) -> list(integer()).
-divisors(N) ->
- find_divisors(N).
-
--spec proper_divisors(integer()) -> list(integer()).
-proper_divisors(N) ->
- Divisors = find_divisors(N),
- _pipe = Divisors,
- gleam@list:take(_pipe, gleam@list:length(Divisors) - 1).
-
--spec float_sum(list(float())) -> float().
-float_sum(Arr) ->
- case Arr of
- [] ->
- +0.0;
-
- _ ->
- _pipe = Arr,
- gleam@list:fold(_pipe, +0.0, fun(Acc, A) -> A + Acc end)
- end.
-
--spec int_sum(list(integer())) -> integer().
-int_sum(Arr) ->
- case Arr of
- [] ->
- 0;
-
- _ ->
- _pipe = Arr,
- gleam@list:fold(_pipe, 0, fun(Acc, A) -> A + Acc end)
- end.
-
--spec float_product(list(float())) -> float().
-float_product(Arr) ->
- case Arr of
- [] ->
- 1.0;
-
- _ ->
- _pipe = Arr,
- gleam@list:fold(_pipe, 1.0, fun(Acc, A) -> A * Acc end)
- end.
-
--spec int_product(list(integer())) -> integer().
-int_product(Arr) ->
- case Arr of
- [] ->
- 1;
-
- _ ->
- _pipe = Arr,
- gleam@list:fold(_pipe, 1, fun(Acc, A) -> A * Acc end)
- end.
-
--spec float_cumulative_sum(list(float())) -> list(float()).
-float_cumulative_sum(Arr) ->
- case Arr of
- [] ->
- [];
-
- _ ->
- _pipe = Arr,
- gleam@list:scan(_pipe, +0.0, fun(Acc, A) -> A + Acc end)
- end.
-
--spec int_cumulative_sum(list(integer())) -> list(integer()).
-int_cumulative_sum(Arr) ->
- case Arr of
- [] ->
- [];
-
- _ ->
- _pipe = Arr,
- gleam@list:scan(_pipe, 0, fun(Acc, A) -> A + Acc end)
- end.
-
--spec float_cumumlative_product(list(float())) -> list(float()).
-float_cumumlative_product(Arr) ->
- case Arr of
- [] ->
- [];
-
- _ ->
- _pipe = Arr,
- gleam@list:scan(_pipe, 1.0, fun(Acc, A) -> A * Acc end)
- end.
-
--spec int_cumulative_product(list(integer())) -> list(integer()).
-int_cumulative_product(Arr) ->
- case Arr of
- [] ->
- [];
-
- _ ->
- _pipe = Arr,
- gleam@list:scan(_pipe, 1, fun(Acc, A) -> A * Acc end)
- end.
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@combinatorics.cache b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@combinatorics.cache
deleted file mode 100644
index 3fffb45..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@combinatorics.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@combinatorics.cache_meta b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@combinatorics.cache_meta
deleted file mode 100644
index f8262ee..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@combinatorics.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@combinatorics.erl b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@combinatorics.erl
deleted file mode 100644
index d600fbe..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@combinatorics.erl
+++ /dev/null
@@ -1,218 +0,0 @@
--module(gleam_community@maths@combinatorics).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([combination/2, factorial/1, permutation/2, list_combination/2, list_permutation/1, cartesian_product/2]).
-
--spec combination(integer(), integer()) -> {ok, integer()} | {error, binary()}.
-combination(N, K) ->
- case N < 0 of
- true ->
- _pipe = <<"Invalid input argument: n < 0. Valid input is n > 0."/utf8>>,
- {error, _pipe};
-
- false ->
- case (K < 0) orelse (K > N) of
- true ->
- _pipe@1 = 0,
- {ok, _pipe@1};
-
- false ->
- case (K =:= 0) orelse (K =:= N) of
- true ->
- _pipe@2 = 1,
- {ok, _pipe@2};
-
- false ->
- Min = case K < (N - K) of
- true ->
- K;
-
- false ->
- N - K
- end,
- _pipe@3 = gleam@list:range(1, Min),
- _pipe@4 = gleam@list:fold(
- _pipe@3,
- 1,
- fun(Acc, X) -> case X of
- 0 -> 0;
- Gleam@denominator -> Acc * ((N + 1) - X)
- div Gleam@denominator
- end end
- ),
- {ok, _pipe@4}
- end
- end
- end.
-
--spec factorial(integer()) -> {ok, integer()} | {error, binary()}.
-factorial(N) ->
- case N < 0 of
- true ->
- _pipe = <<"Invalid input argument: n < 0. Valid input is n > 0."/utf8>>,
- {error, _pipe};
-
- false ->
- case N of
- 0 ->
- _pipe@1 = 1,
- {ok, _pipe@1};
-
- 1 ->
- _pipe@2 = 1,
- {ok, _pipe@2};
-
- _ ->
- _pipe@3 = gleam@list:range(1, N),
- _pipe@4 = gleam@list:fold(
- _pipe@3,
- 1,
- fun(Acc, X) -> Acc * X end
- ),
- {ok, _pipe@4}
- end
- end.
-
--spec permutation(integer(), integer()) -> {ok, integer()} | {error, binary()}.
-permutation(N, K) ->
- case N < 0 of
- true ->
- _pipe = <<"Invalid input argument: n < 0. Valid input is n > 0."/utf8>>,
- {error, _pipe};
-
- false ->
- case (K < 0) orelse (K > N) of
- true ->
- _pipe@1 = 0,
- {ok, _pipe@1};
-
- false ->
- case K =:= N of
- true ->
- _pipe@2 = 1,
- {ok, _pipe@2};
-
- false ->
- _assert_subject = factorial(N),
- {ok, V1} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/combinatorics"/utf8>>,
- function => <<"permutation"/utf8>>,
- line => 241})
- end,
- _assert_subject@1 = factorial(N - K),
- {ok, V2} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"gleam_community/maths/combinatorics"/utf8>>,
- function => <<"permutation"/utf8>>,
- line => 242})
- end,
- _pipe@3 = case V2 of
- 0 -> 0;
- Gleam@denominator -> V1 div Gleam@denominator
- end,
- {ok, _pipe@3}
- end
- end
- end.
-
--spec do_list_combination(list(ORJ), integer(), list(ORJ)) -> list(list(ORJ)).
-do_list_combination(Arr, K, Prefix) ->
- case K of
- 0 ->
- [gleam@list:reverse(Prefix)];
-
- _ ->
- case Arr of
- [] ->
- [];
-
- [X | Xs] ->
- With_x = do_list_combination(Xs, K - 1, [X | Prefix]),
- Without_x = do_list_combination(Xs, K, Prefix),
- gleam@list:append(With_x, Without_x)
- end
- end.
-
--spec list_combination(list(ORD), integer()) -> {ok, list(list(ORD))} |
- {error, binary()}.
-list_combination(Arr, K) ->
- case K < 0 of
- true ->
- _pipe = <<"Invalid input argument: k < 0. Valid input is k > 0."/utf8>>,
- {error, _pipe};
-
- false ->
- case K > gleam@list:length(Arr) of
- true ->
- _pipe@1 = <<"Invalid input argument: k > length(arr). Valid input is 0 < k <= length(arr)."/utf8>>,
- {error, _pipe@1};
-
- false ->
- _pipe@2 = do_list_combination(Arr, K, []),
- {ok, _pipe@2}
- end
- end.
-
--spec list_permutation(list(ORO)) -> list(list(ORO)).
-list_permutation(Arr) ->
- case Arr of
- [] ->
- [[]];
-
- _ ->
- gleam@list:flat_map(
- Arr,
- fun(X) ->
- _assert_subject = gleam@list:pop(Arr, fun(Y) -> X =:= Y end),
- {ok, {_, Remaining}} = case _assert_subject of
- {ok, {_, _}} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/combinatorics"/utf8>>,
- function => <<"list_permutation"/utf8>>,
- line => 373})
- end,
- gleam@list:map(
- list_permutation(Remaining),
- fun(Perm) -> [X | Perm] end
- )
- end
- )
- end.
-
--spec cartesian_product(list(ORS), list(ORS)) -> list({ORS, ORS}).
-cartesian_product(Xarr, Yarr) ->
- Xset = begin
- _pipe = Xarr,
- gleam@set:from_list(_pipe)
- end,
- Yset = begin
- _pipe@1 = Yarr,
- gleam@set:from_list(_pipe@1)
- end,
- _pipe@2 = Xset,
- _pipe@3 = gleam@set:fold(
- _pipe@2,
- gleam@set:new(),
- fun(Accumulator0, Member0) ->
- gleam@set:fold(
- Yset,
- Accumulator0,
- fun(Accumulator1, Member1) ->
- gleam@set:insert(Accumulator1, {Member0, Member1})
- end
- )
- end
- ),
- gleam@set:to_list(_pipe@3).
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@conversion.cache b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@conversion.cache
deleted file mode 100644
index a95ea4b..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@conversion.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@conversion.cache_meta b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@conversion.cache_meta
deleted file mode 100644
index 374a6fb..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@conversion.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@conversion.erl b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@conversion.erl
deleted file mode 100644
index 4923523..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@conversion.erl
+++ /dev/null
@@ -1,24 +0,0 @@
--module(gleam_community@maths@conversion).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([int_to_float/1, float_to_int/1, degrees_to_radians/1, radians_to_degrees/1]).
-
--spec int_to_float(integer()) -> float().
-int_to_float(X) ->
- gleam@int:to_float(X).
-
--spec float_to_int(float()) -> integer().
-float_to_int(X) ->
- erlang:trunc(X).
-
--spec degrees_to_radians(float()) -> float().
-degrees_to_radians(X) ->
- (X * math:pi()) / 180.0.
-
--spec radians_to_degrees(float()) -> float().
-radians_to_degrees(X) ->
- case math:pi() of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator -> X * 180.0 / Gleam@denominator
- end.
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@elementary.cache b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@elementary.cache
deleted file mode 100644
index 8b9e7ca..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@elementary.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@elementary.cache_meta b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@elementary.cache_meta
deleted file mode 100644
index 8a3590f..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@elementary.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@elementary.erl b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@elementary.erl
deleted file mode 100644
index 15d6abc..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@elementary.erl
+++ /dev/null
@@ -1,286 +0,0 @@
--module(gleam_community@maths@elementary).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([acos/1, acosh/1, asin/1, asinh/1, atan/1, atan2/2, atanh/1, cos/1, cosh/1, sin/1, sinh/1, tan/1, tanh/1, exponential/1, natural_logarithm/1, logarithm_2/1, logarithm_10/1, logarithm/2, power/2, square_root/1, cube_root/1, nth_root/2, pi/0, tau/0, e/0]).
-
--spec acos(float()) -> {ok, float()} | {error, binary()}.
-acos(X) ->
- case (X >= -1.0) andalso (X =< 1.0) of
- true ->
- _pipe = math:acos(X),
- {ok, _pipe};
-
- false ->
- _pipe@1 = <<"Invalid input argument: x >= -1 or x <= 1. Valid input is -1. <= x <= 1."/utf8>>,
- {error, _pipe@1}
- end.
-
--spec acosh(float()) -> {ok, float()} | {error, binary()}.
-acosh(X) ->
- case X >= 1.0 of
- true ->
- _pipe = math:acosh(X),
- {ok, _pipe};
-
- false ->
- _pipe@1 = <<"Invalid input argument: x < 1. Valid input is x >= 1."/utf8>>,
- {error, _pipe@1}
- end.
-
--spec asin(float()) -> {ok, float()} | {error, binary()}.
-asin(X) ->
- case (X >= -1.0) andalso (X =< 1.0) of
- true ->
- _pipe = math:asin(X),
- {ok, _pipe};
-
- false ->
- _pipe@1 = <<"Invalid input argument: x >= -1 or x <= 1. Valid input is -1. <= x <= 1."/utf8>>,
- {error, _pipe@1}
- end.
-
--spec asinh(float()) -> float().
-asinh(X) ->
- math:asinh(X).
-
--spec atan(float()) -> float().
-atan(X) ->
- math:atan(X).
-
--spec atan2(float(), float()) -> float().
-atan2(Y, X) ->
- math:atan2(Y, X).
-
--spec atanh(float()) -> {ok, float()} | {error, binary()}.
-atanh(X) ->
- case (X > -1.0) andalso (X < 1.0) of
- true ->
- _pipe = math:atanh(X),
- {ok, _pipe};
-
- false ->
- _pipe@1 = <<"Invalid input argument: x > -1 or x < 1. Valid input is -1. < x < 1."/utf8>>,
- {error, _pipe@1}
- end.
-
--spec cos(float()) -> float().
-cos(X) ->
- math:cos(X).
-
--spec cosh(float()) -> float().
-cosh(X) ->
- math:cosh(X).
-
--spec sin(float()) -> float().
-sin(X) ->
- math:sin(X).
-
--spec sinh(float()) -> float().
-sinh(X) ->
- math:sinh(X).
-
--spec tan(float()) -> float().
-tan(X) ->
- math:tan(X).
-
--spec tanh(float()) -> float().
-tanh(X) ->
- math:tanh(X).
-
--spec exponential(float()) -> float().
-exponential(X) ->
- math:exp(X).
-
--spec natural_logarithm(float()) -> {ok, float()} | {error, binary()}.
-natural_logarithm(X) ->
- case X > +0.0 of
- true ->
- _pipe = math:log(X),
- {ok, _pipe};
-
- false ->
- _pipe@1 = <<"Invalid input argument: x <= 0. Valid input is x > 0."/utf8>>,
- {error, _pipe@1}
- end.
-
--spec logarithm_2(float()) -> {ok, float()} | {error, binary()}.
-logarithm_2(X) ->
- case X > +0.0 of
- true ->
- _pipe = math:log2(X),
- {ok, _pipe};
-
- false ->
- _pipe@1 = <<"Invalid input argument: x <= 0. Valid input is x > 0."/utf8>>,
- {error, _pipe@1}
- end.
-
--spec logarithm_10(float()) -> {ok, float()} | {error, binary()}.
-logarithm_10(X) ->
- case X > +0.0 of
- true ->
- _pipe = math:log10(X),
- {ok, _pipe};
-
- false ->
- _pipe@1 = <<"Invalid input argument: x <= 0. Valid input is x > 0."/utf8>>,
- {error, _pipe@1}
- end.
-
--spec logarithm(float(), gleam@option:option(float())) -> {ok, float()} |
- {error, binary()}.
-logarithm(X, Base) ->
- case X > +0.0 of
- true ->
- case Base of
- {some, A} ->
- case (A > +0.0) andalso (A /= 1.0) of
- true ->
- _assert_subject = logarithm_10(X),
- {ok, Numerator} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/elementary"/utf8>>,
- function => <<"logarithm"/utf8>>,
- line => 820})
- end,
- _assert_subject@1 = logarithm_10(A),
- {ok, Denominator} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"gleam_community/maths/elementary"/utf8>>,
- function => <<"logarithm"/utf8>>,
- line => 821})
- end,
- _pipe = case Denominator of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator -> Numerator / Gleam@denominator
- end,
- {ok, _pipe};
-
- false ->
- _pipe@1 = <<"Invalid input argument: base <= 0 or base == 1. Valid input is base > 0 and base != 1."/utf8>>,
- {error, _pipe@1}
- end;
-
- _ ->
- _pipe@2 = <<"Invalid input argument: base <= 0 or base == 1. Valid input is base > 0 and base != 1."/utf8>>,
- {error, _pipe@2}
- end;
-
- _ ->
- _pipe@3 = <<"Invalid input argument: x <= 0. Valid input is x > 0."/utf8>>,
- {error, _pipe@3}
- end.
-
--spec power(float(), float()) -> {ok, float()} | {error, binary()}.
-power(X, Y) ->
- Fractional = (math:ceil(Y) - Y) > +0.0,
- case ((X < +0.0) andalso Fractional) orelse ((X =:= +0.0) andalso (Y < +0.0)) of
- true ->
- _pipe = <<"Invalid input argument: x < 0 and y is fractional or x = 0 and y < 0."/utf8>>,
- {error, _pipe};
-
- false ->
- _pipe@1 = math:pow(X, Y),
- {ok, _pipe@1}
- end.
-
--spec square_root(float()) -> {ok, float()} | {error, binary()}.
-square_root(X) ->
- case X < +0.0 of
- true ->
- _pipe = <<"Invalid input argument: x < 0."/utf8>>,
- {error, _pipe};
-
- false ->
- _assert_subject = power(X, 1.0 / 2.0),
- {ok, Result} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/elementary"/utf8>>,
- function => <<"square_root"/utf8>>,
- line => 1066})
- end,
- _pipe@1 = Result,
- {ok, _pipe@1}
- end.
-
--spec cube_root(float()) -> {ok, float()} | {error, binary()}.
-cube_root(X) ->
- case X < +0.0 of
- true ->
- _pipe = <<"Invalid input argument: x < 0."/utf8>>,
- {error, _pipe};
-
- false ->
- _assert_subject = power(X, 1.0 / 3.0),
- {ok, Result} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/elementary"/utf8>>,
- function => <<"cube_root"/utf8>>,
- line => 1118})
- end,
- _pipe@1 = Result,
- {ok, _pipe@1}
- end.
-
--spec nth_root(float(), integer()) -> {ok, float()} | {error, binary()}.
-nth_root(X, N) ->
- case X < +0.0 of
- true ->
- _pipe = <<"Invalid input argument: x < 0. Valid input is x > 0"/utf8>>,
- {error, _pipe};
-
- false ->
- case N >= 1 of
- true ->
- _assert_subject = power(X, case gleam@int:to_float(N) of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator -> 1.0 / Gleam@denominator
- end),
- {ok, Result} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/elementary"/utf8>>,
- function => <<"nth_root"/utf8>>,
- line => 1175})
- end,
- _pipe@1 = Result,
- {ok, _pipe@1};
-
- false ->
- _pipe@2 = <<"Invalid input argument: n < 1. Valid input is n >= 2."/utf8>>,
- {error, _pipe@2}
- end
- end.
-
--spec pi() -> float().
-pi() ->
- math:pi().
-
--spec tau() -> float().
-tau() ->
- 2.0 * pi().
-
--spec e() -> float().
-e() ->
- exponential(1.0).
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@metrics.cache b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@metrics.cache
deleted file mode 100644
index fc137ef..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@metrics.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@metrics.cache_meta b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@metrics.cache_meta
deleted file mode 100644
index ad6a7f1..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@metrics.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@metrics.erl b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@metrics.erl
deleted file mode 100644
index 9b0c432..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@metrics.erl
+++ /dev/null
@@ -1,281 +0,0 @@
--module(gleam_community@maths@metrics).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([norm/2, minkowski_distance/3, manhatten_distance/2, euclidean_distance/2, mean/1, median/1, variance/2, standard_deviation/2]).
-
--spec norm(list(float()), float()) -> float().
-norm(Arr, P) ->
- case Arr of
- [] ->
- +0.0;
-
- _ ->
- Agg = begin
- _pipe = Arr,
- gleam@list:fold(
- _pipe,
- +0.0,
- fun(Acc, A) ->
- _assert_subject = gleam_community@maths@elementary:power(
- gleam_community@maths@piecewise:float_absolute_value(
- A
- ),
- P
- ),
- {ok, Result} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/metrics"/utf8>>,
- function => <<"norm"/utf8>>,
- line => 101})
- end,
- Result + Acc
- end
- )
- end,
- _assert_subject@1 = gleam_community@maths@elementary:power(
- Agg,
- case P of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator -> 1.0 / Gleam@denominator
- end
- ),
- {ok, Result@1} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"gleam_community/maths/metrics"/utf8>>,
- function => <<"norm"/utf8>>,
- line => 106})
- end,
- Result@1
- end.
-
--spec minkowski_distance(list(float()), list(float()), float()) -> {ok, float()} |
- {error, binary()}.
-minkowski_distance(Xarr, Yarr, P) ->
- Xlen = gleam@list:length(Xarr),
- Ylen = gleam@list:length(Yarr),
- case Xlen =:= Ylen of
- false ->
- _pipe = <<"Invalid input argument: length(xarr) != length(yarr). Valid input is when length(xarr) == length(yarr)."/utf8>>,
- {error, _pipe};
-
- true ->
- case P < 1.0 of
- true ->
- _pipe@1 = <<"Invalid input argument: p < 1. Valid input is p >= 1."/utf8>>,
- {error, _pipe@1};
-
- false ->
- _pipe@2 = gleam@list:zip(Xarr, Yarr),
- _pipe@3 = gleam@list:map(
- _pipe@2,
- fun(Tuple) ->
- gleam@pair:first(Tuple) - gleam@pair:second(Tuple)
- end
- ),
- _pipe@4 = norm(_pipe@3, P),
- {ok, _pipe@4}
- end
- end.
-
--spec manhatten_distance(list(float()), list(float())) -> {ok, float()} |
- {error, binary()}.
-manhatten_distance(Xarr, Yarr) ->
- minkowski_distance(Xarr, Yarr, 1.0).
-
--spec euclidean_distance(list(float()), list(float())) -> {ok, float()} |
- {error, binary()}.
-euclidean_distance(Xarr, Yarr) ->
- minkowski_distance(Xarr, Yarr, 2.0).
-
--spec mean(list(float())) -> {ok, float()} | {error, binary()}.
-mean(Arr) ->
- case Arr of
- [] ->
- _pipe = <<"Invalid input argument: The list is empty."/utf8>>,
- {error, _pipe};
-
- _ ->
- _pipe@1 = Arr,
- _pipe@2 = gleam_community@maths@arithmetics:float_sum(_pipe@1),
- _pipe@3 = (fun(A) ->
- case gleam_community@maths@conversion:int_to_float(
- gleam@list:length(Arr)
- ) of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator -> A / Gleam@denominator
- end
- end)(_pipe@2),
- {ok, _pipe@3}
- end.
-
--spec median(list(float())) -> {ok, float()} | {error, binary()}.
-median(Arr) ->
- case Arr of
- [] ->
- _pipe = <<"Invalid input argument: The list is empty."/utf8>>,
- {error, _pipe};
-
- _ ->
- Count = gleam@list:length(Arr),
- Mid = gleam@list:length(Arr) div 2,
- Sorted = gleam@list:sort(Arr, fun gleam@float:compare/2),
- case gleam_community@maths@predicates:is_odd(Count) of
- true ->
- _assert_subject = gleam@list:at(Sorted, Mid),
- {ok, Val0} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/metrics"/utf8>>,
- function => <<"median"/utf8>>,
- line => 402})
- end,
- _pipe@1 = Val0,
- {ok, _pipe@1};
-
- false ->
- _assert_subject@1 = gleam@list:at(Sorted, Mid - 1),
- {ok, Val0@1} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"gleam_community/maths/metrics"/utf8>>,
- function => <<"median"/utf8>>,
- line => 409})
- end,
- _assert_subject@2 = gleam@list:at(Sorted, Mid),
- {ok, Val1} = case _assert_subject@2 of
- {ok, _} -> _assert_subject@2;
- _assert_fail@2 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@2,
- module => <<"gleam_community/maths/metrics"/utf8>>,
- function => <<"median"/utf8>>,
- line => 410})
- end,
- _pipe@2 = [Val0@1, Val1],
- mean(_pipe@2)
- end
- end.
-
--spec variance(list(float()), integer()) -> {ok, float()} | {error, binary()}.
-variance(Arr, Ddof) ->
- case Arr of
- [] ->
- _pipe = <<"Invalid input argument: The list is empty."/utf8>>,
- {error, _pipe};
-
- _ ->
- case Ddof < 0 of
- true ->
- _pipe@1 = <<"Invalid input argument: ddof < 0. Valid input is ddof >= 0."/utf8>>,
- {error, _pipe@1};
-
- false ->
- _assert_subject = mean(Arr),
- {ok, Mean} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/metrics"/utf8>>,
- function => <<"variance"/utf8>>,
- line => 475})
- end,
- _pipe@2 = Arr,
- _pipe@3 = gleam@list:map(
- _pipe@2,
- fun(A) ->
- _assert_subject@1 = gleam_community@maths@elementary:power(
- A - Mean,
- 2.0
- ),
- {ok, Result} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"gleam_community/maths/metrics"/utf8>>,
- function => <<"variance"/utf8>>,
- line => 478})
- end,
- Result
- end
- ),
- _pipe@4 = gleam_community@maths@arithmetics:float_sum(
- _pipe@3
- ),
- _pipe@5 = (fun(A@1) ->
- case (gleam_community@maths@conversion:int_to_float(
- gleam@list:length(Arr)
- )
- - gleam_community@maths@conversion:int_to_float(Ddof)) of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator -> A@1 / Gleam@denominator
- end
- end)(_pipe@4),
- {ok, _pipe@5}
- end
- end.
-
--spec standard_deviation(list(float()), integer()) -> {ok, float()} |
- {error, binary()}.
-standard_deviation(Arr, Ddof) ->
- case Arr of
- [] ->
- _pipe = <<"Invalid input argument: The list is empty."/utf8>>,
- {error, _pipe};
-
- _ ->
- case Ddof < 0 of
- true ->
- _pipe@1 = <<"Invalid input argument: ddof < 0. Valid input is ddof >= 0."/utf8>>,
- {error, _pipe@1};
-
- false ->
- _assert_subject = variance(Arr, Ddof),
- {ok, Variance} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/metrics"/utf8>>,
- function => <<"standard_deviation"/utf8>>,
- line => 551})
- end,
- _assert_subject@1 = gleam_community@maths@elementary:square_root(
- Variance
- ),
- {ok, Stdev} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"gleam_community/maths/metrics"/utf8>>,
- function => <<"standard_deviation"/utf8>>,
- line => 554})
- end,
- _pipe@2 = Stdev,
- {ok, _pipe@2}
- end
- end.
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@piecewise.cache b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@piecewise.cache
deleted file mode 100644
index e056dbf..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@piecewise.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@piecewise.cache_meta b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@piecewise.cache_meta
deleted file mode 100644
index 21c97d4..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@piecewise.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@piecewise.erl b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@piecewise.erl
deleted file mode 100644
index 85fc290..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@piecewise.erl
+++ /dev/null
@@ -1,563 +0,0 @@
--module(gleam_community@maths@piecewise).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([float_absolute_value/1, int_absolute_value/1, float_absolute_difference/2, int_absolute_difference/2, float_sign/1, round/3, ceiling/2, floor/2, truncate/2, int_sign/1, float_flip_sign/1, float_copy_sign/2, int_flip_sign/1, int_copy_sign/2, minimum/3, maximum/3, minmax/3, list_minimum/2, list_maximum/2, arg_minimum/2, arg_maximum/2, extrema/2]).
--export_type([rounding_mode/0]).
-
--type rounding_mode() :: round_nearest |
- round_ties_away |
- round_ties_up |
- round_to_zero |
- round_down |
- round_up.
-
--spec truncate_float(float()) -> float().
-truncate_float(X) ->
- erlang:trunc(X).
-
--spec round_to_zero(float(), float()) -> float().
-round_to_zero(P, X) ->
- case P of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator -> truncate_float(X * P) / Gleam@denominator
- end.
-
--spec round_down(float(), float()) -> float().
-round_down(P, X) ->
- case P of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator -> math:floor(X * P) / Gleam@denominator
- end.
-
--spec round_up(float(), float()) -> float().
-round_up(P, X) ->
- case P of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator -> math:ceil(X * P) / Gleam@denominator
- end.
-
--spec float_absolute_value(float()) -> float().
-float_absolute_value(X) ->
- case X > +0.0 of
- true ->
- X;
-
- false ->
- -1.0 * X
- end.
-
--spec int_absolute_value(integer()) -> integer().
-int_absolute_value(X) ->
- case X > 0 of
- true ->
- X;
-
- false ->
- -1 * X
- end.
-
--spec float_absolute_difference(float(), float()) -> float().
-float_absolute_difference(A, B) ->
- _pipe = A - B,
- float_absolute_value(_pipe).
-
--spec int_absolute_difference(integer(), integer()) -> integer().
-int_absolute_difference(A, B) ->
- _pipe = A - B,
- int_absolute_value(_pipe).
-
--spec do_float_sign(float()) -> float().
-do_float_sign(X) ->
- case X < +0.0 of
- true ->
- -1.0;
-
- false ->
- case X =:= +0.0 of
- true ->
- +0.0;
-
- false ->
- 1.0
- end
- end.
-
--spec float_sign(float()) -> float().
-float_sign(X) ->
- do_float_sign(X).
-
--spec round_to_nearest(float(), float()) -> float().
-round_to_nearest(P, X) ->
- Xabs = float_absolute_value(X) * P,
- Xabs_truncated = truncate_float(Xabs),
- Remainder = Xabs - Xabs_truncated,
- case Remainder of
- _ when Remainder > 0.5 ->
- case P of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator -> float_sign(X) * truncate_float(Xabs + 1.0)
- / Gleam@denominator
- end;
-
- _ when Remainder =:= 0.5 ->
- _assert_subject = gleam@int:modulo(
- gleam_community@maths@conversion:float_to_int(Xabs),
- 2
- ),
- {ok, Is_even} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/piecewise"/utf8>>,
- function => <<"round_to_nearest"/utf8>>,
- line => 423})
- end,
- case Is_even =:= 0 of
- true ->
- case P of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator@1 -> float_sign(X) * Xabs_truncated / Gleam@denominator@1
- end;
-
- false ->
- case P of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator@2 -> float_sign(X) * truncate_float(
- Xabs + 1.0
- )
- / Gleam@denominator@2
- end
- end;
-
- _ ->
- case P of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator@3 -> float_sign(X) * Xabs_truncated / Gleam@denominator@3
- end
- end.
-
--spec round_ties_away(float(), float()) -> float().
-round_ties_away(P, X) ->
- Xabs = float_absolute_value(X) * P,
- Remainder = Xabs - truncate_float(Xabs),
- case Remainder of
- _ when Remainder >= 0.5 ->
- case P of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator -> float_sign(X) * truncate_float(Xabs + 1.0)
- / Gleam@denominator
- end;
-
- _ ->
- case P of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator@1 -> float_sign(X) * truncate_float(Xabs) / Gleam@denominator@1
- end
- end.
-
--spec round_ties_up(float(), float()) -> float().
-round_ties_up(P, X) ->
- Xabs = float_absolute_value(X) * P,
- Xabs_truncated = truncate_float(Xabs),
- Remainder = Xabs - Xabs_truncated,
- case Remainder of
- _ when (Remainder >= 0.5) andalso (X >= +0.0) ->
- case P of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator -> float_sign(X) * truncate_float(Xabs + 1.0)
- / Gleam@denominator
- end;
-
- _ ->
- case P of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator@1 -> float_sign(X) * Xabs_truncated / Gleam@denominator@1
- end
- end.
-
--spec do_round(float(), float(), gleam@option:option(rounding_mode())) -> {ok,
- float()} |
- {error, binary()}.
-do_round(P, X, Mode) ->
- case Mode of
- {some, round_nearest} ->
- _pipe = round_to_nearest(P, X),
- {ok, _pipe};
-
- {some, round_ties_away} ->
- _pipe@1 = round_ties_away(P, X),
- {ok, _pipe@1};
-
- {some, round_ties_up} ->
- _pipe@2 = round_ties_up(P, X),
- {ok, _pipe@2};
-
- {some, round_to_zero} ->
- _pipe@3 = round_to_zero(P, X),
- {ok, _pipe@3};
-
- {some, round_down} ->
- _pipe@4 = round_down(P, X),
- {ok, _pipe@4};
-
- {some, round_up} ->
- _pipe@5 = round_up(P, X),
- {ok, _pipe@5};
-
- none ->
- _pipe@6 = round_to_nearest(P, X),
- {ok, _pipe@6}
- end.
-
--spec round(
- float(),
- gleam@option:option(integer()),
- gleam@option:option(rounding_mode())
-) -> {ok, float()} | {error, binary()}.
-round(X, Digits, Mode) ->
- case Digits of
- {some, A} ->
- _assert_subject = gleam_community@maths@elementary:power(
- 10.0,
- gleam_community@maths@conversion:int_to_float(A)
- ),
- {ok, P} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/piecewise"/utf8>>,
- function => <<"round"/utf8>>,
- line => 366})
- end,
- do_round(P, X, Mode);
-
- none ->
- do_round(1.0, X, Mode)
- end.
-
--spec ceiling(float(), gleam@option:option(integer())) -> {ok, float()} |
- {error, binary()}.
-ceiling(X, Digits) ->
- round(X, Digits, {some, round_up}).
-
--spec floor(float(), gleam@option:option(integer())) -> {ok, float()} |
- {error, binary()}.
-floor(X, Digits) ->
- round(X, Digits, {some, round_down}).
-
--spec truncate(float(), gleam@option:option(integer())) -> {ok, float()} |
- {error, binary()}.
-truncate(X, Digits) ->
- round(X, Digits, {some, round_to_zero}).
-
--spec do_int_sign(integer()) -> integer().
-do_int_sign(X) ->
- case X < 0 of
- true ->
- -1;
-
- false ->
- case X =:= 0 of
- true ->
- 0;
-
- false ->
- 1
- end
- end.
-
--spec int_sign(integer()) -> integer().
-int_sign(X) ->
- do_int_sign(X).
-
--spec float_flip_sign(float()) -> float().
-float_flip_sign(X) ->
- -1.0 * X.
-
--spec float_copy_sign(float(), float()) -> float().
-float_copy_sign(X, Y) ->
- case float_sign(X) =:= float_sign(Y) of
- true ->
- X;
-
- false ->
- float_flip_sign(X)
- end.
-
--spec int_flip_sign(integer()) -> integer().
-int_flip_sign(X) ->
- -1 * X.
-
--spec int_copy_sign(integer(), integer()) -> integer().
-int_copy_sign(X, Y) ->
- case int_sign(X) =:= int_sign(Y) of
- true ->
- X;
-
- false ->
- int_flip_sign(X)
- end.
-
--spec minimum(PCO, PCO, fun((PCO, PCO) -> gleam@order:order())) -> PCO.
-minimum(X, Y, Compare) ->
- case Compare(X, Y) of
- lt ->
- X;
-
- eq ->
- X;
-
- gt ->
- Y
- end.
-
--spec maximum(PCP, PCP, fun((PCP, PCP) -> gleam@order:order())) -> PCP.
-maximum(X, Y, Compare) ->
- case Compare(X, Y) of
- lt ->
- Y;
-
- eq ->
- Y;
-
- gt ->
- X
- end.
-
--spec minmax(PCQ, PCQ, fun((PCQ, PCQ) -> gleam@order:order())) -> {PCQ, PCQ}.
-minmax(X, Y, Compare) ->
- {minimum(X, Y, Compare), maximum(X, Y, Compare)}.
-
--spec list_minimum(list(PCR), fun((PCR, PCR) -> gleam@order:order())) -> {ok,
- PCR} |
- {error, binary()}.
-list_minimum(Arr, Compare) ->
- case Arr of
- [] ->
- _pipe = <<"Invalid input argument: The list is empty."/utf8>>,
- {error, _pipe};
-
- _ ->
- _assert_subject = gleam@list:at(Arr, 0),
- {ok, Val0} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/piecewise"/utf8>>,
- function => <<"list_minimum"/utf8>>,
- line => 945})
- end,
- _pipe@1 = Arr,
- _pipe@2 = gleam@list:fold(
- _pipe@1,
- Val0,
- fun(Acc, Element) -> case Compare(Element, Acc) of
- lt ->
- Element;
-
- _ ->
- Acc
- end end
- ),
- {ok, _pipe@2}
- end.
-
--spec list_maximum(list(PCV), fun((PCV, PCV) -> gleam@order:order())) -> {ok,
- PCV} |
- {error, binary()}.
-list_maximum(Arr, Compare) ->
- case Arr of
- [] ->
- _pipe = <<"Invalid input argument: The list is empty."/utf8>>,
- {error, _pipe};
-
- _ ->
- _assert_subject = gleam@list:at(Arr, 0),
- {ok, Val0} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/piecewise"/utf8>>,
- function => <<"list_maximum"/utf8>>,
- line => 1004})
- end,
- _pipe@1 = Arr,
- _pipe@2 = gleam@list:fold(
- _pipe@1,
- Val0,
- fun(Acc, Element) -> case Compare(Acc, Element) of
- lt ->
- Element;
-
- _ ->
- Acc
- end end
- ),
- {ok, _pipe@2}
- end.
-
--spec arg_minimum(list(PCZ), fun((PCZ, PCZ) -> gleam@order:order())) -> {ok,
- list(integer())} |
- {error, binary()}.
-arg_minimum(Arr, Compare) ->
- case Arr of
- [] ->
- _pipe = <<"Invalid input argument: The list is empty."/utf8>>,
- {error, _pipe};
-
- _ ->
- _assert_subject = begin
- _pipe@1 = Arr,
- list_minimum(_pipe@1, Compare)
- end,
- {ok, Min} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/piecewise"/utf8>>,
- function => <<"arg_minimum"/utf8>>,
- line => 1069})
- end,
- _pipe@2 = Arr,
- _pipe@3 = gleam@list:index_map(
- _pipe@2,
- fun(Index, Element) -> case Compare(Element, Min) of
- eq ->
- Index;
-
- _ ->
- -1
- end end
- ),
- _pipe@4 = gleam@list:filter(_pipe@3, fun(Index@1) -> case Index@1 of
- -1 ->
- false;
-
- _ ->
- true
- end end),
- {ok, _pipe@4}
- end.
-
--spec arg_maximum(list(PDE), fun((PDE, PDE) -> gleam@order:order())) -> {ok,
- list(integer())} |
- {error, binary()}.
-arg_maximum(Arr, Compare) ->
- case Arr of
- [] ->
- _pipe = <<"Invalid input argument: The list is empty."/utf8>>,
- {error, _pipe};
-
- _ ->
- _assert_subject = begin
- _pipe@1 = Arr,
- list_maximum(_pipe@1, Compare)
- end,
- {ok, Max} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/piecewise"/utf8>>,
- function => <<"arg_maximum"/utf8>>,
- line => 1139})
- end,
- _pipe@2 = Arr,
- _pipe@3 = gleam@list:index_map(
- _pipe@2,
- fun(Index, Element) -> case Compare(Element, Max) of
- eq ->
- Index;
-
- _ ->
- -1
- end end
- ),
- _pipe@4 = gleam@list:filter(_pipe@3, fun(Index@1) -> case Index@1 of
- -1 ->
- false;
-
- _ ->
- true
- end end),
- {ok, _pipe@4}
- end.
-
--spec extrema(list(PDJ), fun((PDJ, PDJ) -> gleam@order:order())) -> {ok,
- {PDJ, PDJ}} |
- {error, binary()}.
-extrema(Arr, Compare) ->
- case Arr of
- [] ->
- _pipe = <<"Invalid input argument: The list is empty."/utf8>>,
- {error, _pipe};
-
- _ ->
- _assert_subject = gleam@list:at(Arr, 0),
- {ok, Val_max} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/piecewise"/utf8>>,
- function => <<"extrema"/utf8>>,
- line => 1209})
- end,
- _assert_subject@1 = gleam@list:at(Arr, 0),
- {ok, Val_min} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"gleam_community/maths/piecewise"/utf8>>,
- function => <<"extrema"/utf8>>,
- line => 1210})
- end,
- _pipe@1 = Arr,
- _pipe@2 = gleam@list:fold(
- _pipe@1,
- {Val_min, Val_max},
- fun(Acc, Element) ->
- First = gleam@pair:first(Acc),
- Second = gleam@pair:second(Acc),
- case {Compare(Element, First), Compare(Second, Element)} of
- {lt, lt} ->
- {Element, Element};
-
- {lt, _} ->
- {Element, Second};
-
- {_, lt} ->
- {First, Element};
-
- {_, _} ->
- {First, Second}
- end
- end
- ),
- {ok, _pipe@2}
- end.
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@predicates.cache b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@predicates.cache
deleted file mode 100644
index e9d8d6b..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@predicates.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@predicates.cache_meta b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@predicates.cache_meta
deleted file mode 100644
index 549041c..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@predicates.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@predicates.erl b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@predicates.erl
deleted file mode 100644
index d991d89..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@predicates.erl
+++ /dev/null
@@ -1,118 +0,0 @@
--module(gleam_community@maths@predicates).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([is_close/4, all_close/4, is_fractional/1, is_power/2, is_perfect/1, is_even/1, is_odd/1]).
-
--spec float_absolute_value(float()) -> float().
-float_absolute_value(X) ->
- case X > +0.0 of
- true ->
- X;
-
- false ->
- -1.0 * X
- end.
-
--spec float_absolute_difference(float(), float()) -> float().
-float_absolute_difference(A, B) ->
- _pipe = A - B,
- float_absolute_value(_pipe).
-
--spec is_close(float(), float(), float(), float()) -> boolean().
-is_close(A, B, Rtol, Atol) ->
- X = float_absolute_difference(A, B),
- Y = Atol + (Rtol * float_absolute_value(B)),
- case X =< Y of
- true ->
- true;
-
- false ->
- false
- end.
-
--spec all_close(list(float()), list(float()), float(), float()) -> {ok,
- list(boolean())} |
- {error, binary()}.
-all_close(Xarr, Yarr, Rtol, Atol) ->
- Xlen = gleam@list:length(Xarr),
- Ylen = gleam@list:length(Yarr),
- case Xlen =:= Ylen of
- false ->
- _pipe = <<"Invalid input argument: length(xarr) != length(yarr). Valid input is when length(xarr) == length(yarr)."/utf8>>,
- {error, _pipe};
-
- true ->
- _pipe@1 = gleam@list:zip(Xarr, Yarr),
- _pipe@2 = gleam@list:map(
- _pipe@1,
- fun(Z) ->
- is_close(
- gleam@pair:first(Z),
- gleam@pair:second(Z),
- Rtol,
- Atol
- )
- end
- ),
- {ok, _pipe@2}
- end.
-
--spec is_fractional(float()) -> boolean().
-is_fractional(X) ->
- (math:ceil(X) - X) > +0.0.
-
--spec is_power(integer(), integer()) -> boolean().
-is_power(X, Y) ->
- _assert_subject = gleam_community@maths@elementary:logarithm(
- gleam@int:to_float(X),
- {some, gleam@int:to_float(Y)}
- ),
- {ok, Value} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/predicates"/utf8>>,
- function => <<"is_power"/utf8>>,
- line => 241})
- end,
- _assert_subject@1 = gleam_community@maths@piecewise:truncate(
- Value,
- {some, 0}
- ),
- {ok, Truncated} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"gleam_community/maths/predicates"/utf8>>,
- function => <<"is_power"/utf8>>,
- line => 243})
- end,
- Rem = Value - Truncated,
- Rem =:= +0.0.
-
--spec do_sum(list(integer())) -> integer().
-do_sum(Arr) ->
- case Arr of
- [] ->
- 0;
-
- _ ->
- _pipe = Arr,
- gleam@list:fold(_pipe, 0, fun(Acc, A) -> A + Acc end)
- end.
-
--spec is_perfect(integer()) -> boolean().
-is_perfect(N) ->
- do_sum(gleam_community@maths@arithmetics:proper_divisors(N)) =:= N.
-
--spec is_even(integer()) -> boolean().
-is_even(X) ->
- (X rem 2) =:= 0.
-
--spec is_odd(integer()) -> boolean().
-is_odd(X) ->
- (X rem 2) /= 0.
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@sequences.cache b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@sequences.cache
deleted file mode 100644
index 5542bd9..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@sequences.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@sequences.cache_meta b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@sequences.cache_meta
deleted file mode 100644
index 3a025a2..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@sequences.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@sequences.erl b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@sequences.erl
deleted file mode 100644
index a080286..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@sequences.erl
+++ /dev/null
@@ -1,202 +0,0 @@
--module(gleam_community@maths@sequences).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([arange/3, linear_space/4, logarithmic_space/5, geometric_space/4]).
-
--spec arange(float(), float(), float()) -> list(float()).
-arange(Start, Stop, Step) ->
- case ((Start >= Stop) andalso (Step > +0.0)) orelse ((Start =< Stop) andalso (Step
- < +0.0)) of
- true ->
- [];
-
- false ->
- Direction = case Start =< Stop of
- true ->
- 1.0;
-
- false ->
- -1.0
- end,
- Step_abs = gleam_community@maths@piecewise:float_absolute_value(
- Step
- ),
- Num = case Step_abs of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator -> gleam_community@maths@piecewise:float_absolute_value(
- Start - Stop
- )
- / Gleam@denominator
- end,
- _pipe = gleam@list:range(
- 0,
- gleam_community@maths@conversion:float_to_int(Num) - 1
- ),
- gleam@list:map(
- _pipe,
- fun(I) ->
- Start + ((gleam_community@maths@conversion:int_to_float(I) * Step_abs)
- * Direction)
- end
- )
- end.
-
--spec linear_space(float(), float(), integer(), boolean()) -> {ok,
- list(float())} |
- {error, binary()}.
-linear_space(Start, Stop, Num, Endpoint) ->
- Direction = case Start =< Stop of
- true ->
- 1.0;
-
- false ->
- -1.0
- end,
- case Num > 0 of
- true ->
- case Endpoint of
- true ->
- Increment = case gleam_community@maths@conversion:int_to_float(
- Num - 1
- ) of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator -> gleam_community@maths@piecewise:float_absolute_value(
- Start - Stop
- )
- / Gleam@denominator
- end,
- _pipe = gleam@list:range(0, Num - 1),
- _pipe@1 = gleam@list:map(
- _pipe,
- fun(I) ->
- Start + ((gleam_community@maths@conversion:int_to_float(
- I
- )
- * Increment)
- * Direction)
- end
- ),
- {ok, _pipe@1};
-
- false ->
- Increment@1 = case gleam_community@maths@conversion:int_to_float(
- Num
- ) of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator@1 -> gleam_community@maths@piecewise:float_absolute_value(
- Start - Stop
- )
- / Gleam@denominator@1
- end,
- _pipe@2 = gleam@list:range(0, Num - 1),
- _pipe@3 = gleam@list:map(
- _pipe@2,
- fun(I@1) ->
- Start + ((gleam_community@maths@conversion:int_to_float(
- I@1
- )
- * Increment@1)
- * Direction)
- end
- ),
- {ok, _pipe@3}
- end;
-
- false ->
- _pipe@4 = <<"Invalid input: num < 0. Valid input is num > 0."/utf8>>,
- {error, _pipe@4}
- end.
-
--spec logarithmic_space(float(), float(), integer(), boolean(), float()) -> {ok,
- list(float())} |
- {error, binary()}.
-logarithmic_space(Start, Stop, Num, Endpoint, Base) ->
- case Num > 0 of
- true ->
- _assert_subject = linear_space(Start, Stop, Num, Endpoint),
- {ok, Linspace} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/sequences"/utf8>>,
- function => <<"logarithmic_space"/utf8>>,
- line => 221})
- end,
- _pipe = Linspace,
- _pipe@1 = gleam@list:map(
- _pipe,
- fun(I) ->
- _assert_subject@1 = gleam_community@maths@elementary:power(
- Base,
- I
- ),
- {ok, Result} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"gleam_community/maths/sequences"/utf8>>,
- function => <<"logarithmic_space"/utf8>>,
- line => 224})
- end,
- Result
- end
- ),
- {ok, _pipe@1};
-
- false ->
- _pipe@2 = <<"Invalid input: num < 0. Valid input is num > 0."/utf8>>,
- {error, _pipe@2}
- end.
-
--spec geometric_space(float(), float(), integer(), boolean()) -> {ok,
- list(float())} |
- {error, binary()}.
-geometric_space(Start, Stop, Num, Endpoint) ->
- case (Start =:= +0.0) orelse (Stop =:= +0.0) of
- true ->
- _pipe = <<""/utf8>>,
- {error, _pipe};
-
- false ->
- case Num > 0 of
- true ->
- _assert_subject = gleam_community@maths@elementary:logarithm_10(
- Start
- ),
- {ok, Log_start} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/sequences"/utf8>>,
- function => <<"geometric_space"/utf8>>,
- line => 293})
- end,
- _assert_subject@1 = gleam_community@maths@elementary:logarithm_10(
- Stop
- ),
- {ok, Log_stop} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"gleam_community/maths/sequences"/utf8>>,
- function => <<"geometric_space"/utf8>>,
- line => 294})
- end,
- logarithmic_space(Log_start, Log_stop, Num, Endpoint, 10.0);
-
- false ->
- _pipe@1 = <<"Invalid input: num < 0. Valid input is num > 0."/utf8>>,
- {error, _pipe@1}
- end
- end.
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@special.cache b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@special.cache
deleted file mode 100644
index 7093e86..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@special.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@special.cache_meta b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@special.cache_meta
deleted file mode 100644
index 3c21994..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@special.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@special.erl b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@special.erl
deleted file mode 100644
index ff0307f..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@special.erl
+++ /dev/null
@@ -1,163 +0,0 @@
--module(gleam_community@maths@special).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([erf/1, gamma/1, beta/2, incomplete_gamma/2]).
-
--spec erf(float()) -> float().
-erf(X) ->
- _assert_subject = [0.254829592,
- -0.284496736,
- 1.421413741,
- -1.453152027,
- 1.061405429],
- [A1, A2, A3, A4, A5] = case _assert_subject of
- [_, _, _, _, _] -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/special"/utf8>>,
- function => <<"erf"/utf8>>,
- line => 79})
- end,
- P = 0.3275911,
- Sign = gleam_community@maths@piecewise:float_sign(X),
- X@1 = gleam_community@maths@piecewise:float_absolute_value(X),
- T = case (1.0 + (P * X@1)) of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator -> 1.0 / Gleam@denominator
- end,
- Y = 1.0 - ((((((((((A5 * T) + A4) * T) + A3) * T) + A2) * T) + A1) * T) * gleam_community@maths@elementary:exponential(
- (-1.0 * X@1) * X@1
- )),
- Sign * Y.
-
--spec gamma_lanczos(float()) -> float().
-gamma_lanczos(X) ->
- case X < 0.5 of
- true ->
- case (gleam_community@maths@elementary:sin(
- gleam_community@maths@elementary:pi() * X
- )
- * gamma_lanczos(1.0 - X)) of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator -> gleam_community@maths@elementary:pi() / Gleam@denominator
- end;
-
- false ->
- Z = X - 1.0,
- X@1 = gleam@list:index_fold(
- [0.99999999999980993,
- 676.5203681218851,
- -1259.1392167224028,
- 771.32342877765313,
- -176.61502916214059,
- 12.507343278686905,
- -0.13857109526572012,
- 0.0000099843695780195716,
- 0.00000015056327351493116],
- +0.0,
- fun(Acc, V, Index) -> case Index > 0 of
- true ->
- Acc + (case (Z + gleam_community@maths@conversion:int_to_float(
- Index
- )) of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator@1 -> V / Gleam@denominator@1
- end);
-
- false ->
- V
- end end
- ),
- T = (Z + 7.0) + 0.5,
- _assert_subject = gleam_community@maths@elementary:power(
- 2.0 * gleam_community@maths@elementary:pi(),
- 0.5
- ),
- {ok, V1} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/special"/utf8>>,
- function => <<"gamma_lanczos"/utf8>>,
- line => 146})
- end,
- _assert_subject@1 = gleam_community@maths@elementary:power(
- T,
- Z + 0.5
- ),
- {ok, V2} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"gleam_community/maths/special"/utf8>>,
- function => <<"gamma_lanczos"/utf8>>,
- line => 147})
- end,
- ((V1 * V2) * gleam_community@maths@elementary:exponential(-1.0 * T))
- * X@1
- end.
-
--spec gamma(float()) -> float().
-gamma(X) ->
- gamma_lanczos(X).
-
--spec beta(float(), float()) -> float().
-beta(X, Y) ->
- case gamma(X + Y) of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator -> gamma(X) * gamma(Y) / Gleam@denominator
- end.
-
--spec incomplete_gamma_sum(float(), float(), float(), float(), float()) -> float().
-incomplete_gamma_sum(A, X, T, S, N) ->
- case T of
- +0.0 ->
- S;
-
- _ ->
- Ns = S + T,
- Nt = T * (case (A + N) of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator -> X / Gleam@denominator
- end),
- incomplete_gamma_sum(A, X, Nt, Ns, N + 1.0)
- end.
-
--spec incomplete_gamma(float(), float()) -> {ok, float()} | {error, binary()}.
-incomplete_gamma(A, X) ->
- case (A > +0.0) andalso (X >= +0.0) of
- true ->
- _assert_subject = gleam_community@maths@elementary:power(X, A),
- {ok, V} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/special"/utf8>>,
- function => <<"incomplete_gamma"/utf8>>,
- line => 173})
- end,
- _pipe = (V * gleam_community@maths@elementary:exponential(-1.0 * X))
- * incomplete_gamma_sum(A, X, case A of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator -> 1.0 / Gleam@denominator
- end, +0.0, 1.0),
- {ok, _pipe};
-
- false ->
- _pipe@1 = <<"Invlaid input argument: a <= 0 or x < 0. Valid input is a > 0 and x >= 0."/utf8>>,
- {error, _pipe@1}
- end.
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/maths.mjs b/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/maths.mjs
deleted file mode 100644
index 5c5ab31..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/_gleam_artefacts/maths.mjs
+++ /dev/null
@@ -1,95 +0,0 @@
-export function sin(float) {
- return Math.sin(float)
-}
-
-export function pi() {
- return Math.PI
-}
-
-export function acos(float) {
- return Math.acos(float)
-}
-
-export function acosh(float) {
- return Math.acosh(float)
-}
-
-export function asin(float) {
- return Math.asin(float)
-}
-
-export function asinh(float) {
- return Math.asinh(float)
-}
-
-export function atan(float) {
- return Math.atan(float)
-}
-
-export function tan(float) {
- return Math.tan(float)
-}
-
-export function atan2(floaty, floatx) {
- return Math.atan2(floaty, floatx)
-}
-
-export function atanh(float) {
- return Math.atanh(float)
-}
-
-export function cos(float) {
- return Math.cos(float)
-}
-
-export function cosh(float) {
- return Math.cosh(float)
-}
-
-export function exponential(float) {
- return Math.exp(float)
-}
-
-export function ceiling(float) {
- return Math.ceil(float)
-}
-
-export function floor(float) {
- return Math.floor(float)
-}
-
-export function power(base, exponent) {
- return Math.pow(base, exponent)
-}
-
-export function logarithm(float) {
- return Math.log(float)
-}
-
-export function logarithm_10(float) {
- return Math.log10(float)
-}
-
-export function logarithm_2(float) {
- return Math.log2(float)
-}
-
-export function sinh(float) {
- return Math.sinh(float)
-}
-
-export function tanh(float) {
- return Math.tanh(float)
-}
-
-export function sign(float) {
- return Math.sign(float)
-}
-
-export function truncate(float) {
- return Math.trunc(float)
-}
-
-export function to_int(float) {
- return Math.trunc(float)
-}
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@arithmetics.beam b/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@arithmetics.beam
deleted file mode 100644
index 42d317f..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@arithmetics.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@combinatorics.beam b/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@combinatorics.beam
deleted file mode 100644
index 5b0dcc5..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@combinatorics.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@conversion.beam b/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@conversion.beam
deleted file mode 100644
index 8e6afb8..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@conversion.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@elementary.beam b/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@elementary.beam
deleted file mode 100644
index a54c3a0..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@elementary.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@metrics.beam b/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@metrics.beam
deleted file mode 100644
index f55fdc0..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@metrics.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@piecewise.beam b/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@piecewise.beam
deleted file mode 100644
index ca3947b..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@piecewise.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@predicates.beam b/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@predicates.beam
deleted file mode 100644
index 8a5ecf4..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@predicates.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@sequences.beam b/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@sequences.beam
deleted file mode 100644
index d9defae..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@sequences.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@special.beam b/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@special.beam
deleted file mode 100644
index edfa64a..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community@maths@special.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community_maths.app b/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community_maths.app
deleted file mode 100644
index b24eaf7..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_maths/ebin/gleam_community_maths.app
+++ /dev/null
@@ -1,7 +0,0 @@
-{application, gleam_community_maths, [
- {vsn, "1.0.1"},
- {applications, [gleam_stdlib]},
- {description, "A basic maths library"},
- {modules, []},
- {registered, []}
-]}.
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@@compile.erl b/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@@compile.erl
deleted file mode 100644
index 543db88..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@@compile.erl
+++ /dev/null
@@ -1,157 +0,0 @@
-#!/usr/bin/env escript
-
-% TODO: Don't concurrently print warnings and errors
-% TODO: Some tests
-
--record(arguments, {lib = "./", out = "./", modules = []}).
-
-main(Args) ->
- #arguments{out = Out, lib = Lib, modules = Modules} = parse(Args),
- IsElixirModule = fun(Module) ->
- filename:extension(Module) =:= ".ex"
- end,
- {ElixirModules, ErlangModules} = lists:partition(IsElixirModule, Modules),
- ok = configure_logging(),
- ok = add_lib_to_erlang_path(Lib),
- ok = filelib:ensure_dir([Out, $/]),
- {ErlangOk, _ErlangBeams} = compile_erlang(ErlangModules, Out),
- {ElixirOk, _ElixirBeams} = case ErlangOk of
- true -> compile_elixir(ElixirModules, Out);
- false -> {false, []}
- end,
- case ErlangOk and ElixirOk of
- true -> ok;
- false -> erlang:halt(1)
- end.
-
-compile_erlang(Modules, Out) ->
- Workers = start_compiler_workers(Out),
- ok = producer_loop(Modules, Workers),
- collect_results({true, []}).
-
-collect_results(Acc = {Result, Beams}) ->
- receive
- {compiled, Beam} -> collect_results({Result, [Beam | Beams]});
- failed -> collect_results({false, Beams})
- after 0 -> Acc
- end.
-
-producer_loop([], 0) ->
- ok;
-producer_loop([], Workers) ->
- receive
- {work_please, _} -> producer_loop([], Workers - 1)
- end;
-producer_loop([Module | Modules], Workers) ->
- receive
- {work_please, Worker} ->
- erlang:send(Worker, {module, Module}),
- producer_loop(Modules, Workers)
- end.
-
-start_compiler_workers(Out) ->
- Parent = self(),
- NumSchedulers = erlang:system_info(schedulers),
- SpawnWorker = fun(_) ->
- erlang:spawn_link(fun() -> worker_loop(Parent, Out) end)
- end,
- lists:foreach(SpawnWorker, lists:seq(1, NumSchedulers)),
- NumSchedulers.
-
-worker_loop(Parent, Out) ->
- Options = [report_errors, report_warnings, debug_info, {outdir, Out}],
- erlang:send(Parent, {work_please, self()}),
- receive
- {module, Module} ->
- log({compiling, Module}),
- case compile:file(Module, Options) of
- {ok, ModuleName} ->
- Beam = filename:join(Out, ModuleName) ++ ".beam",
- Message = {compiled, Beam},
- log(Message),
- erlang:send(Parent, Message);
- error ->
- log({failed, Module}),
- erlang:send(Parent, failed)
- end,
- worker_loop(Parent, Out)
- end.
-
-compile_elixir(Modules, Out) ->
- Error = [
- "The program elixir was not found. Is it installed?",
- $\n,
- "Documentation for installing Elixir can be viewed here:",
- $\n,
- "https://elixir-lang.org/install.html"
- ],
- case Modules of
- [] -> {true, []};
- _ ->
- log({starting, "compiler.app"}),
- ok = application:start(compiler),
- log({starting, "elixir.app"}),
- case application:start(elixir) of
- ok -> do_compile_elixir(Modules, Out);
- _ ->
- io:put_chars(standard_error, [Error, $\n]),
- {false, []}
- end
- end.
-
-do_compile_elixir(Modules, Out) ->
- ModuleBins = lists:map(fun(Module) ->
- log({compiling, Module}),
- list_to_binary(Module)
- end, Modules),
- OutBin = list_to_binary(Out),
- Options = [{dest, OutBin}],
- % Silence "redefining module" warnings.
- % Compiled modules in the build directory are added to the code path.
- % These warnings result from recompiling loaded modules.
- % TODO: This line can likely be removed if/when the build directory is cleaned before every compilation.
- 'Elixir.Code':compiler_options([{ignore_module_conflict, true}]),
- case 'Elixir.Kernel.ParallelCompiler':compile_to_path(ModuleBins, OutBin, Options) of
- {ok, ModuleAtoms, _} ->
- ToBeam = fun(ModuleAtom) ->
- Beam = filename:join(Out, atom_to_list(ModuleAtom)) ++ ".beam",
- log({compiled, Beam}),
- Beam
- end,
- {true, lists:map(ToBeam, ModuleAtoms)};
- {error, Errors, _} ->
- % Log all filenames associated with modules that failed to compile.
- % Note: The compiler prints compilation errors upon encountering them.
- ErrorFiles = lists:usort([File || {File, _, _} <- Errors]),
- Log = fun(File) ->
- log({failed, binary_to_list(File)})
- end,
- lists:foreach(Log, ErrorFiles),
- {false, []};
- _ -> {false, []}
- end.
-
-add_lib_to_erlang_path(Lib) ->
- code:add_paths(filelib:wildcard([Lib, "/*/ebin"])).
-
-parse(Args) ->
- parse(Args, #arguments{}).
-
-parse([], Arguments) ->
- Arguments;
-parse(["--lib", Lib | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{lib = Lib});
-parse(["--out", Out | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{out = Out});
-parse([Module | Rest], Arguments = #arguments{modules = Modules}) ->
- parse(Rest, Arguments#arguments{modules = [Module | Modules]}).
-
-configure_logging() ->
- Enabled = os:getenv("GLEAM_LOG") /= false,
- persistent_term:put(gleam_logging_enabled, Enabled).
-
-log(Term) ->
- case persistent_term:get(gleam_logging_enabled) of
- true -> erlang:display(Term), ok;
- false -> ok
- end.
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang.cache b/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang.cache
deleted file mode 100644
index d44adcc..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang.cache_meta b/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang.cache_meta
deleted file mode 100644
index 12933b2..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang.erl b/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang.erl
deleted file mode 100644
index 2889892..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang.erl
+++ /dev/null
@@ -1,90 +0,0 @@
--module(gleam@erlang).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([format/1, term_to_binary/1, get_line/1, system_time/1, erlang_timestamp/0, rescue/1, binary_to_term/1, unsafe_binary_to_term/1, start_arguments/0, ensure_all_started/1, make_reference/0, priv_directory/1]).
--export_type([safe/0, get_line_error/0, time_unit/0, crash/0, ensure_all_started_error/0, reference_/0]).
-
--type safe() :: safe.
-
--type get_line_error() :: eof | no_data.
-
--type time_unit() :: second | millisecond | microsecond | nanosecond.
-
--type crash() :: {exited, gleam@dynamic:dynamic_()} |
- {thrown, gleam@dynamic:dynamic_()} |
- {errored, gleam@dynamic:dynamic_()}.
-
--type ensure_all_started_error() :: {unknown_application,
- gleam@erlang@atom:atom_()} |
- {application_failed_to_start,
- gleam@erlang@atom:atom_(),
- gleam@dynamic:dynamic_()}.
-
--type reference_() :: any().
-
--spec format(any()) -> binary().
-format(Term) ->
- unicode:characters_to_binary(io_lib:format(<<"~p"/utf8>>, [Term])).
-
--spec term_to_binary(any()) -> bitstring().
-term_to_binary(A) ->
- erlang:term_to_binary(A).
-
--spec get_line(binary()) -> {ok, binary()} | {error, get_line_error()}.
-get_line(Prompt) ->
- gleam_erlang_ffi:get_line(Prompt).
-
--spec system_time(time_unit()) -> integer().
-system_time(A) ->
- os:system_time(A).
-
--spec erlang_timestamp() -> {integer(), integer(), integer()}.
-erlang_timestamp() ->
- os:timestamp().
-
--spec rescue(fun(() -> GQE)) -> {ok, GQE} | {error, crash()}.
-rescue(A) ->
- gleam_erlang_ffi:rescue(A).
-
--spec binary_to_term(bitstring()) -> {ok, gleam@dynamic:dynamic_()} |
- {error, nil}.
-binary_to_term(Binary) ->
- case gleam_erlang_ffi:rescue(
- fun() -> erlang:binary_to_term(Binary, [safe]) end
- ) of
- {ok, Term} ->
- {ok, Term};
-
- {error, _} ->
- {error, nil}
- end.
-
--spec unsafe_binary_to_term(bitstring()) -> {ok, gleam@dynamic:dynamic_()} |
- {error, nil}.
-unsafe_binary_to_term(Binary) ->
- case gleam_erlang_ffi:rescue(fun() -> erlang:binary_to_term(Binary, []) end) of
- {ok, Term} ->
- {ok, Term};
-
- {error, _} ->
- {error, nil}
- end.
-
--spec start_arguments() -> list(binary()).
-start_arguments() ->
- _pipe = init:get_plain_arguments(),
- gleam@list:map(_pipe, fun unicode:characters_to_binary/1).
-
--spec ensure_all_started(gleam@erlang@atom:atom_()) -> {ok,
- list(gleam@erlang@atom:atom_())} |
- {error, ensure_all_started_error()}.
-ensure_all_started(Application) ->
- gleam_erlang_ffi:ensure_all_started(Application).
-
--spec make_reference() -> reference_().
-make_reference() ->
- erlang:make_ref().
-
--spec priv_directory(binary()) -> {ok, binary()} | {error, nil}.
-priv_directory(Name) ->
- gleam_erlang_ffi:priv_directory(Name).
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@atom.cache b/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@atom.cache
deleted file mode 100644
index 858e310..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@atom.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@atom.cache_meta b/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@atom.cache_meta
deleted file mode 100644
index be33011..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@atom.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@atom.erl b/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@atom.erl
deleted file mode 100644
index e9ad530..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@atom.erl
+++ /dev/null
@@ -1,26 +0,0 @@
--module(gleam@erlang@atom).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([from_string/1, create_from_string/1, to_string/1, from_dynamic/1]).
--export_type([atom_/0, from_string_error/0]).
-
--type atom_() :: any().
-
--type from_string_error() :: atom_not_loaded.
-
--spec from_string(binary()) -> {ok, atom_()} | {error, from_string_error()}.
-from_string(A) ->
- gleam_erlang_ffi:atom_from_string(A).
-
--spec create_from_string(binary()) -> atom_().
-create_from_string(A) ->
- erlang:binary_to_atom(A).
-
--spec to_string(atom_()) -> binary().
-to_string(A) ->
- erlang:atom_to_binary(A).
-
--spec from_dynamic(gleam@dynamic:dynamic_()) -> {ok, atom_()} |
- {error, list(gleam@dynamic:decode_error())}.
-from_dynamic(From) ->
- gleam_erlang_ffi:atom_from_dynamic(From).
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@charlist.cache b/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@charlist.cache
deleted file mode 100644
index 707598f..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@charlist.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@charlist.cache_meta b/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@charlist.cache_meta
deleted file mode 100644
index 82cfdb5..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@charlist.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@charlist.erl b/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@charlist.erl
deleted file mode 100644
index 9f9c0fa..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@charlist.erl
+++ /dev/null
@@ -1,15 +0,0 @@
--module(gleam@erlang@charlist).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([to_string/1, from_string/1]).
--export_type([charlist/0]).
-
--type charlist() :: any().
-
--spec to_string(charlist()) -> binary().
-to_string(A) ->
- unicode:characters_to_binary(A).
-
--spec from_string(binary()) -> charlist().
-from_string(A) ->
- unicode:characters_to_list(A).
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@file.cache b/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@file.cache
deleted file mode 100644
index 3083885..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@file.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@file.cache_meta b/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@file.cache_meta
deleted file mode 100644
index 1cb342b..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@file.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@file.erl b/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@file.erl
deleted file mode 100644
index 1fe6628..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@file.erl
+++ /dev/null
@@ -1,190 +0,0 @@
--module(gleam@erlang@file).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([file_info/1, link_info/1, is_directory/1, is_regular/1, file_exists/1, link_exists/1, make_directory/1, list_directory/1, delete_directory/1, recursive_delete/1, read/1, read_bits/1, write/2, write_bits/2, append/2, append_bits/2, delete/1]).
--export_type([reason/0, file_type/0, access/0, file_info/0]).
-
--type reason() :: eacces |
- eagain |
- ebadf |
- ebadmsg |
- ebusy |
- edeadlk |
- edeadlock |
- edquot |
- eexist |
- efault |
- efbig |
- eftype |
- eintr |
- einval |
- eio |
- eisdir |
- eloop |
- emfile |
- emlink |
- emultihop |
- enametoolong |
- enfile |
- enobufs |
- enodev |
- enolck |
- enolink |
- enoent |
- enomem |
- enospc |
- enosr |
- enostr |
- enosys |
- enotblk |
- enotdir |
- enotsup |
- enxio |
- eopnotsupp |
- eoverflow |
- eperm |
- epipe |
- erange |
- erofs |
- espipe |
- esrch |
- estale |
- etxtbsy |
- exdev |
- not_utf8.
-
--type file_type() :: device | directory | other | regular | symlink.
-
--type access() :: no_access | read | read_write | write.
-
--type file_info() :: {file_info,
- integer(),
- file_type(),
- access(),
- integer(),
- integer(),
- integer(),
- integer(),
- integer(),
- integer(),
- integer(),
- integer(),
- integer(),
- integer()}.
-
--spec file_info(binary()) -> {ok, file_info()} | {error, reason()}.
-file_info(A) ->
- gleam_erlang_ffi:file_info(A).
-
--spec link_info(binary()) -> {ok, file_info()} | {error, reason()}.
-link_info(A) ->
- gleam_erlang_ffi:link_info(A).
-
--spec is_directory(binary()) -> {ok, boolean()} | {error, reason()}.
-is_directory(Path) ->
- gleam@result:map(
- gleam_erlang_ffi:file_info(Path),
- fun(_use0) ->
- {file_info, _, File_type, _, _, _, _, _, _, _, _, _, _, _} = _use0,
- File_type =:= directory
- end
- ).
-
--spec is_regular(binary()) -> {ok, boolean()} | {error, reason()}.
-is_regular(Path) ->
- gleam@result:map(
- gleam_erlang_ffi:file_info(Path),
- fun(_use0) ->
- {file_info, _, File_type, _, _, _, _, _, _, _, _, _, _, _} = _use0,
- File_type =:= regular
- end
- ).
-
--spec file_exists(binary()) -> {ok, boolean()} | {error, reason()}.
-file_exists(Path) ->
- Result = begin
- _pipe = Path,
- _pipe@1 = gleam_erlang_ffi:file_info(_pipe),
- gleam@result:replace(_pipe@1, true)
- end,
- case Result of
- {error, enoent} ->
- {ok, false};
-
- _ ->
- Result
- end.
-
--spec link_exists(binary()) -> {ok, boolean()} | {error, reason()}.
-link_exists(Path) ->
- Result = begin
- _pipe = Path,
- _pipe@1 = gleam_erlang_ffi:link_info(_pipe),
- gleam@result:replace(_pipe@1, true)
- end,
- case Result of
- {error, enoent} ->
- {ok, false};
-
- _ ->
- Result
- end.
-
--spec make_directory(binary()) -> {ok, nil} | {error, reason()}.
-make_directory(A) ->
- gleam_erlang_ffi:make_directory(A).
-
--spec list_directory(binary()) -> {ok, list(binary())} | {error, reason()}.
-list_directory(A) ->
- gleam_erlang_ffi:list_directory(A).
-
--spec delete_directory(binary()) -> {ok, nil} | {error, reason()}.
-delete_directory(A) ->
- gleam_erlang_ffi:delete_directory(A).
-
--spec recursive_delete(binary()) -> {ok, nil} | {error, reason()}.
-recursive_delete(A) ->
- gleam_erlang_ffi:recursive_delete(A).
-
--spec read(binary()) -> {ok, binary()} | {error, reason()}.
-read(Path) ->
- _pipe = Path,
- _pipe@1 = gleam_erlang_ffi:read_file(_pipe),
- gleam@result:then(
- _pipe@1,
- fun(Content) -> case gleam@bit_array:to_string(Content) of
- {ok, String} ->
- {ok, String};
-
- {error, nil} ->
- {error, not_utf8}
- end end
- ).
-
--spec read_bits(binary()) -> {ok, bitstring()} | {error, reason()}.
-read_bits(Path) ->
- gleam_erlang_ffi:read_file(Path).
-
--spec write(binary(), binary()) -> {ok, nil} | {error, reason()}.
-write(Contents, Path) ->
- _pipe = Contents,
- _pipe@1 = gleam_stdlib:identity(_pipe),
- gleam_erlang_ffi:write_file(_pipe@1, Path).
-
--spec write_bits(bitstring(), binary()) -> {ok, nil} | {error, reason()}.
-write_bits(Contents, Path) ->
- gleam_erlang_ffi:write_file(Contents, Path).
-
--spec append(binary(), binary()) -> {ok, nil} | {error, reason()}.
-append(Contents, Path) ->
- _pipe = Contents,
- _pipe@1 = gleam_stdlib:identity(_pipe),
- gleam_erlang_ffi:append_file(_pipe@1, Path).
-
--spec append_bits(bitstring(), binary()) -> {ok, nil} | {error, reason()}.
-append_bits(Contents, Path) ->
- gleam_erlang_ffi:append_file(Contents, Path).
-
--spec delete(binary()) -> {ok, nil} | {error, reason()}.
-delete(A) ->
- gleam_erlang_ffi:delete_file(A).
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@node.cache b/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@node.cache
deleted file mode 100644
index 6c2ad69..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@node.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@node.cache_meta b/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@node.cache_meta
deleted file mode 100644
index 085886a..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@node.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@node.erl b/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@node.erl
deleted file mode 100644
index f57d029..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@node.erl
+++ /dev/null
@@ -1,33 +0,0 @@
--module(gleam@erlang@node).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([self/0, visible/0, connect/1, send/3, to_atom/1]).
--export_type([node_/0, do_not_leak/0, connect_error/0]).
-
--type node_() :: any().
-
--type do_not_leak() :: any().
-
--type connect_error() :: failed_to_connect | local_node_is_not_alive.
-
--spec self() -> node_().
-self() ->
- erlang:node().
-
--spec visible() -> list(node_()).
-visible() ->
- erlang:nodes().
-
--spec connect(gleam@erlang@atom:atom_()) -> {ok, node_()} |
- {error, connect_error()}.
-connect(Node) ->
- gleam_erlang_ffi:connect_node(Node).
-
--spec send(node_(), gleam@erlang@atom:atom_(), any()) -> nil.
-send(Node, Name, Message) ->
- erlang:send({Name, Node}, Message),
- nil.
-
--spec to_atom(node_()) -> gleam@erlang@atom:atom_().
-to_atom(Node) ->
- gleam_erlang_ffi:identity(Node).
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@os.cache b/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@os.cache
deleted file mode 100644
index 38dabf7..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@os.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@os.cache_meta b/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@os.cache_meta
deleted file mode 100644
index 1d5fa83..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@os.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@os.erl b/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@os.erl
deleted file mode 100644
index c05e6c3..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@os.erl
+++ /dev/null
@@ -1,27 +0,0 @@
--module(gleam@erlang@os).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([get_all_env/0, get_env/1, set_env/2, unset_env/1, family/0]).
--export_type([os_family/0]).
-
--type os_family() :: windows_nt | linux | darwin | free_bsd | {other, binary()}.
-
--spec get_all_env() -> gleam@dict:dict(binary(), binary()).
-get_all_env() ->
- gleam_erlang_ffi:get_all_env().
-
--spec get_env(binary()) -> {ok, binary()} | {error, nil}.
-get_env(Name) ->
- gleam_erlang_ffi:get_env(Name).
-
--spec set_env(binary(), binary()) -> nil.
-set_env(Name, Value) ->
- gleam_erlang_ffi:set_env(Name, Value).
-
--spec unset_env(binary()) -> nil.
-unset_env(Name) ->
- gleam_erlang_ffi:unset_env(Name).
-
--spec family() -> os_family().
-family() ->
- gleam_erlang_ffi:os_family().
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@process.cache b/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@process.cache
deleted file mode 100644
index 57cc2e6..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@process.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@process.cache_meta b/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@process.cache_meta
deleted file mode 100644
index ad9209c..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@process.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@process.erl b/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@process.erl
deleted file mode 100644
index abb7144..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@process.erl
+++ /dev/null
@@ -1,374 +0,0 @@
--module(gleam@erlang@process).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([self/0, start/2, new_subject/0, subject_owner/1, send/2, new_selector/0, select/2, select_forever/1, map_selector/2, merge_selector/2, flush_messages/0, selecting_trapped_exits/2, selecting/3, 'receive'/2, selecting_record2/3, selecting_record3/3, selecting_record4/3, selecting_record5/3, selecting_record6/3, selecting_record7/3, selecting_record8/3, selecting_anything/2, sleep/1, sleep_forever/0, is_alive/1, monitor_process/1, selecting_process_down/3, demonitor_process/1, try_call/3, call/3, link/1, unlink/1, send_after/3, cancel_timer/1, kill/1, send_exit/1, send_abnormal_exit/2, trap_exits/1, register/2, unregister/1, named/1]).
--export_type([pid_/0, subject/1, do_not_leak/0, selector/1, exit_message/0, exit_reason/0, anything_selector_tag/0, process_monitor_flag/0, process_monitor/0, process_down/0, call_error/1, timer/0, cancelled/0, kill_flag/0]).
-
--type pid_() :: any().
-
--opaque subject(GSA) :: {subject, pid_(), gleam@erlang:reference_()} |
- {gleam_phantom, GSA}.
-
--type do_not_leak() :: any().
-
--type selector(GSB) :: any() | {gleam_phantom, GSB}.
-
--type exit_message() :: {exit_message, pid_(), exit_reason()}.
-
--type exit_reason() :: normal | killed | {abnormal, binary()}.
-
--type anything_selector_tag() :: anything.
-
--type process_monitor_flag() :: process.
-
--opaque process_monitor() :: {process_monitor, gleam@erlang:reference_()}.
-
--type process_down() :: {process_down, pid_(), gleam@dynamic:dynamic_()}.
-
--type call_error(GSC) :: {callee_down, gleam@dynamic:dynamic_()} |
- call_timeout |
- {gleam_phantom, GSC}.
-
--type timer() :: any().
-
--type cancelled() :: timer_not_found | {cancelled, integer()}.
-
--type kill_flag() :: kill.
-
--spec self() -> pid_().
-self() ->
- erlang:self().
-
--spec start(fun(() -> any()), boolean()) -> pid_().
-start(Implementation, Link) ->
- case Link of
- true ->
- erlang:spawn_link(Implementation);
-
- false ->
- erlang:spawn(Implementation)
- end.
-
--spec new_subject() -> subject(any()).
-new_subject() ->
- {subject, erlang:self(), erlang:make_ref()}.
-
--spec subject_owner(subject(any())) -> pid_().
-subject_owner(Subject) ->
- erlang:element(2, Subject).
-
--spec send(subject(GSL), GSL) -> nil.
-send(Subject, Message) ->
- erlang:send(
- erlang:element(2, Subject),
- {erlang:element(3, Subject), Message}
- ),
- nil.
-
--spec new_selector() -> selector(any()).
-new_selector() ->
- gleam_erlang_ffi:new_selector().
-
--spec select(selector(GST), integer()) -> {ok, GST} | {error, nil}.
-select(From, Within) ->
- gleam_erlang_ffi:select(From, Within).
-
--spec select_forever(selector(GSX)) -> GSX.
-select_forever(From) ->
- gleam_erlang_ffi:select(From).
-
--spec map_selector(selector(GSZ), fun((GSZ) -> GTB)) -> selector(GTB).
-map_selector(A, B) ->
- gleam_erlang_ffi:map_selector(A, B).
-
--spec merge_selector(selector(GTD), selector(GTD)) -> selector(GTD).
-merge_selector(A, B) ->
- gleam_erlang_ffi:merge_selector(A, B).
-
--spec flush_messages() -> nil.
-flush_messages() ->
- gleam_erlang_ffi:flush_messages().
-
--spec selecting_trapped_exits(selector(GTH), fun((exit_message()) -> GTH)) -> selector(GTH).
-selecting_trapped_exits(Selector, Handler) ->
- Tag = erlang:binary_to_atom(<<"EXIT"/utf8>>),
- Handler@1 = fun(Message) ->
- Reason = erlang:element(3, Message),
- Normal = gleam@dynamic:from(normal),
- Killed = gleam@dynamic:from(killed),
- Reason@2 = case gleam@dynamic:string(Reason) of
- _ when Reason =:= Normal ->
- normal;
-
- _ when Reason =:= Killed ->
- killed;
-
- {ok, Reason@1} ->
- {abnormal, Reason@1};
-
- {error, _} ->
- {abnormal, gleam@string:inspect(Reason)}
- end,
- Handler({exit_message, erlang:element(2, Message), Reason@2})
- end,
- gleam_erlang_ffi:insert_selector_handler(Selector, {Tag, 3}, Handler@1).
-
--spec selecting(selector(GTK), subject(GTM), fun((GTM) -> GTK)) -> selector(GTK).
-selecting(Selector, Subject, Transform) ->
- Handler = fun(Message) -> Transform(erlang:element(2, Message)) end,
- gleam_erlang_ffi:insert_selector_handler(
- Selector,
- {erlang:element(3, Subject), 2},
- Handler
- ).
-
--spec 'receive'(subject(GSN), integer()) -> {ok, GSN} | {error, nil}.
-'receive'(Subject, Milliseconds) ->
- _pipe = gleam_erlang_ffi:new_selector(),
- _pipe@1 = selecting(_pipe, Subject, fun(X) -> X end),
- gleam_erlang_ffi:select(_pipe@1, Milliseconds).
-
--spec selecting_record2(
- selector(GTP),
- any(),
- fun((gleam@dynamic:dynamic_()) -> GTP)
-) -> selector(GTP).
-selecting_record2(Selector, Tag, Transform) ->
- Handler = fun(Message) -> Transform(erlang:element(2, Message)) end,
- gleam_erlang_ffi:insert_selector_handler(Selector, {Tag, 2}, Handler).
-
--spec selecting_record3(
- selector(GTT),
- any(),
- fun((gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_()) -> GTT)
-) -> selector(GTT).
-selecting_record3(Selector, Tag, Transform) ->
- Handler = fun(Message) ->
- Transform(erlang:element(2, Message), erlang:element(3, Message))
- end,
- gleam_erlang_ffi:insert_selector_handler(Selector, {Tag, 3}, Handler).
-
--spec selecting_record4(
- selector(GTX),
- any(),
- fun((gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_()) -> GTX)
-) -> selector(GTX).
-selecting_record4(Selector, Tag, Transform) ->
- Handler = fun(Message) ->
- Transform(
- erlang:element(2, Message),
- erlang:element(3, Message),
- erlang:element(4, Message)
- )
- end,
- gleam_erlang_ffi:insert_selector_handler(Selector, {Tag, 4}, Handler).
-
--spec selecting_record5(
- selector(GUB),
- any(),
- fun((gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_()) -> GUB)
-) -> selector(GUB).
-selecting_record5(Selector, Tag, Transform) ->
- Handler = fun(Message) ->
- Transform(
- erlang:element(2, Message),
- erlang:element(3, Message),
- erlang:element(4, Message),
- erlang:element(5, Message)
- )
- end,
- gleam_erlang_ffi:insert_selector_handler(Selector, {Tag, 5}, Handler).
-
--spec selecting_record6(
- selector(GUF),
- any(),
- fun((gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_()) -> GUF)
-) -> selector(GUF).
-selecting_record6(Selector, Tag, Transform) ->
- Handler = fun(Message) ->
- Transform(
- erlang:element(2, Message),
- erlang:element(3, Message),
- erlang:element(4, Message),
- erlang:element(5, Message),
- erlang:element(6, Message)
- )
- end,
- gleam_erlang_ffi:insert_selector_handler(Selector, {Tag, 6}, Handler).
-
--spec selecting_record7(
- selector(GUJ),
- any(),
- fun((gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_()) -> GUJ)
-) -> selector(GUJ).
-selecting_record7(Selector, Tag, Transform) ->
- Handler = fun(Message) ->
- Transform(
- erlang:element(2, Message),
- erlang:element(3, Message),
- erlang:element(4, Message),
- erlang:element(5, Message),
- erlang:element(6, Message),
- erlang:element(7, Message)
- )
- end,
- gleam_erlang_ffi:insert_selector_handler(Selector, {Tag, 7}, Handler).
-
--spec selecting_record8(
- selector(GUN),
- any(),
- fun((gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_()) -> GUN)
-) -> selector(GUN).
-selecting_record8(Selector, Tag, Transform) ->
- Handler = fun(Message) ->
- Transform(
- erlang:element(2, Message),
- erlang:element(3, Message),
- erlang:element(4, Message),
- erlang:element(5, Message),
- erlang:element(6, Message),
- erlang:element(7, Message),
- erlang:element(8, Message)
- )
- end,
- gleam_erlang_ffi:insert_selector_handler(Selector, {Tag, 8}, Handler).
-
--spec selecting_anything(selector(GUR), fun((gleam@dynamic:dynamic_()) -> GUR)) -> selector(GUR).
-selecting_anything(Selector, Handler) ->
- gleam_erlang_ffi:insert_selector_handler(Selector, anything, Handler).
-
--spec sleep(integer()) -> nil.
-sleep(A) ->
- gleam_erlang_ffi:sleep(A).
-
--spec sleep_forever() -> nil.
-sleep_forever() ->
- gleam_erlang_ffi:sleep_forever().
-
--spec is_alive(pid_()) -> boolean().
-is_alive(A) ->
- erlang:is_process_alive(A).
-
--spec monitor_process(pid_()) -> process_monitor().
-monitor_process(Pid) ->
- _pipe = process,
- _pipe@1 = erlang:monitor(_pipe, Pid),
- {process_monitor, _pipe@1}.
-
--spec selecting_process_down(
- selector(GUZ),
- process_monitor(),
- fun((process_down()) -> GUZ)
-) -> selector(GUZ).
-selecting_process_down(Selector, Monitor, Mapping) ->
- gleam_erlang_ffi:insert_selector_handler(
- Selector,
- erlang:element(2, Monitor),
- Mapping
- ).
-
--spec demonitor_process(process_monitor()) -> nil.
-demonitor_process(Monitor) ->
- gleam_erlang_ffi:demonitor(Monitor).
-
--spec try_call(subject(GVC), fun((subject(GVE)) -> GVC), integer()) -> {ok, GVE} |
- {error, call_error(GVE)}.
-try_call(Subject, Make_request, Timeout) ->
- Reply_subject = new_subject(),
- Monitor = monitor_process(subject_owner(Subject)),
- send(Subject, Make_request(Reply_subject)),
- Result = begin
- _pipe = gleam_erlang_ffi:new_selector(),
- _pipe@1 = selecting(
- _pipe,
- Reply_subject,
- fun(Field@0) -> {ok, Field@0} end
- ),
- _pipe@2 = selecting_process_down(
- _pipe@1,
- Monitor,
- fun(Down) -> {error, {callee_down, erlang:element(3, Down)}} end
- ),
- gleam_erlang_ffi:select(_pipe@2, Timeout)
- end,
- gleam_erlang_ffi:demonitor(Monitor),
- case Result of
- {error, nil} ->
- {error, call_timeout};
-
- {ok, Res} ->
- Res
- end.
-
--spec call(subject(GVJ), fun((subject(GVL)) -> GVJ), integer()) -> GVL.
-call(Subject, Make_request, Timeout) ->
- _assert_subject = try_call(Subject, Make_request, Timeout),
- {ok, Resp} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam/erlang/process"/utf8>>,
- function => <<"call"/utf8>>,
- line => 593})
- end,
- Resp.
-
--spec link(pid_()) -> boolean().
-link(Pid) ->
- gleam_erlang_ffi:link(Pid).
-
--spec unlink(pid_()) -> nil.
-unlink(Pid) ->
- erlang:unlink(Pid),
- nil.
-
--spec send_after(subject(GVO), integer(), GVO) -> timer().
-send_after(Subject, Delay, Message) ->
- erlang:send_after(
- Delay,
- erlang:element(2, Subject),
- {erlang:element(3, Subject), Message}
- ).
-
--spec cancel_timer(timer()) -> cancelled().
-cancel_timer(Timer) ->
- case gleam@dynamic:int(erlang:cancel_timer(Timer)) of
- {ok, I} ->
- {cancelled, I};
-
- {error, _} ->
- timer_not_found
- end.
-
--spec kill(pid_()) -> nil.
-kill(Pid) ->
- erlang:exit(Pid, kill),
- nil.
-
--spec send_exit(pid_()) -> nil.
-send_exit(Pid) ->
- erlang:exit(Pid, normal),
- nil.
-
--spec send_abnormal_exit(pid_(), binary()) -> nil.
-send_abnormal_exit(Pid, Reason) ->
- erlang:exit(Pid, {abnormal, Reason}),
- nil.
-
--spec trap_exits(boolean()) -> nil.
-trap_exits(A) ->
- gleam_erlang_ffi:trap_exits(A).
-
--spec register(pid_(), gleam@erlang@atom:atom_()) -> {ok, nil} | {error, nil}.
-register(Pid, Name) ->
- gleam_erlang_ffi:register_process(Pid, Name).
-
--spec unregister(gleam@erlang@atom:atom_()) -> {ok, nil} | {error, nil}.
-unregister(Name) ->
- gleam_erlang_ffi:unregister_process(Name).
-
--spec named(gleam@erlang@atom:atom_()) -> {ok, pid_()} | {error, nil}.
-named(Name) ->
- gleam_erlang_ffi:process_named(Name).
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam_erlang_ffi.erl b/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam_erlang_ffi.erl
deleted file mode 100644
index 872126f..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/_gleam_artefacts/gleam_erlang_ffi.erl
+++ /dev/null
@@ -1,263 +0,0 @@
--module(gleam_erlang_ffi).
--export([
- atom_from_dynamic/1, rescue/1, atom_from_string/1, get_line/1,
- ensure_all_started/1, sleep/1, os_family/0, sleep_forever/0, read_file/1,
- append_file/2, write_file/2, delete_file/1, get_all_env/0, get_env/1,
- set_env/2, unset_env/1, delete_directory/1, recursive_delete/1,
- list_directory/1, demonitor/1, make_directory/1, new_selector/0, link/1,
- insert_selector_handler/3, select/1, select/2, trap_exits/1, map_selector/2,
- merge_selector/2, flush_messages/0, file_info/1, link_info/1,
- priv_directory/1, connect_node/1, register_process/2, unregister_process/1,
- process_named/1, identity/1
-]).
-
--define(is_posix_error(Error),
- Error =:= eacces orelse Error =:= eagain orelse Error =:= ebadf orelse
- Error =:= ebadmsg orelse Error =:= ebusy orelse Error =:= edeadlk orelse
- Error =:= edeadlock orelse Error =:= edquot orelse Error =:= eexist orelse
- Error =:= efault orelse Error =:= efbig orelse Error =:= eftype orelse
- Error =:= eintr orelse Error =:= einval orelse Error =:= eio orelse
- Error =:= eisdir orelse Error =:= eloop orelse Error =:= emfile orelse
- Error =:= emlink orelse Error =:= emultihop orelse Error =:= enametoolong orelse
- Error =:= enfile orelse Error =:= enobufs orelse Error =:= enodev orelse
- Error =:= enolck orelse Error =:= enolink orelse Error =:= enoent orelse
- Error =:= enomem orelse Error =:= enospc orelse Error =:= enosr orelse
- Error =:= enostr orelse Error =:= enosys orelse Error =:= enotblk orelse
- Error =:= enotdir orelse Error =:= enotsup orelse Error =:= enxio orelse
- Error =:= eopnotsupp orelse Error =:= eoverflow orelse Error =:= eperm orelse
- Error =:= epipe orelse Error =:= erange orelse Error =:= erofs orelse
- Error =:= espipe orelse Error =:= esrch orelse Error =:= estale orelse
- Error =:= etxtbsy orelse Error =:= exdev
-).
-
--spec atom_from_string(binary()) -> {ok, atom()} | {error, atom_not_loaded}.
-atom_from_string(S) ->
- try {ok, binary_to_existing_atom(S)}
- catch error:badarg -> {error, atom_not_loaded}
- end.
-
-atom_from_dynamic(Data) when is_atom(Data) ->
- {ok, Data};
-atom_from_dynamic(Data) ->
- {error, [{decode_error, <<"Atom">>, gleam@dynamic:classify(Data), []}]}.
-
--spec get_line(io:prompt()) -> {ok, unicode:unicode_binary()} | {error, eof | no_data}.
-get_line(Prompt) ->
- case io:get_line(Prompt) of
- eof -> {error, eof};
- {error, _} -> {error, no_data};
- Data when is_binary(Data) -> {ok, Data};
- Data when is_list(Data) -> {ok, unicode:characters_to_binary(Data)}
- end.
-
-rescue(F) ->
- try {ok, F()}
- catch
- throw:X -> {error, {thrown, X}};
- error:X -> {error, {errored, X}};
- exit:X -> {error, {exited, X}}
- end.
-
-ensure_all_started(Application) ->
- case application:ensure_all_started(Application) of
- {ok, _} = Ok -> Ok;
-
- {error, {ProblemApp, {"no such file or directory", _}}} ->
- {error, {unknown_application, ProblemApp}}
- end.
-
-sleep(Microseconds) ->
- timer:sleep(Microseconds),
- nil.
-
-sleep_forever() ->
- timer:sleep(infinity),
- nil.
-
-file_info_result(Result) ->
- case Result of
- {ok, {file_info, Size, Type, Access, Atime, Mtime, Ctime, Mode, Links, MajorDevice, MinorDevice, Inode, Uid, Gid}} when Access =:= none ->
- {ok, {file_info, Size, Type, no_access, Atime, Mtime, Ctime, Mode, Links, MajorDevice, MinorDevice, Inode, Uid, Gid}};
- {ok, _} ->
- Result;
- {error, Reason} when ?is_posix_error(Reason) ->
- Result
- end.
-
-file_info(Filename) ->
- file_info_result(file:read_file_info(Filename, [{time, posix}])).
-
-link_info(Filename) ->
- file_info_result(file:read_link_info(Filename, [{time, posix}])).
-
-posix_result(Result) ->
- case Result of
- ok -> {ok, nil};
- {ok, Value} -> {ok, Value};
- {error, Reason} when ?is_posix_error(Reason) -> {error, Reason}
- end.
-
-read_file(Filename) ->
- posix_result(file:read_file(Filename)).
-
-write_file(Contents, Filename) ->
- posix_result(file:write_file(Filename, Contents)).
-
-append_file(Contents, Filename) ->
- posix_result(file:write_file(Filename, Contents, [append])).
-
-delete_file(Filename) ->
- posix_result(file:delete(Filename)).
-
-make_directory(Dir) ->
- posix_result(file:make_dir(Dir)).
-
-list_directory(Dir) ->
- case file:list_dir(Dir) of
- {ok, Filenames} ->
- {ok, [list_to_binary(Filename) || Filename <- Filenames]};
- {error, Reason} when ?is_posix_error(Reason) ->
- {error, Reason}
- end.
-
-delete_directory(Dir) ->
- posix_result(file:del_dir(Dir)).
-
-recursive_delete(Dir) ->
- posix_result(file:del_dir_r(Dir)).
-
-get_all_env() ->
- BinVars = lists:map(fun(VarString) ->
- [VarName, VarVal] = string:split(VarString, "="),
- {list_to_binary(VarName), list_to_binary(VarVal)}
- end, os:getenv()),
- maps:from_list(BinVars).
-
-get_env(Name) ->
- case os:getenv(binary_to_list(Name)) of
- false -> {error, nil};
- Value -> {ok, list_to_binary(Value)}
- end.
-
-set_env(Name, Value) ->
- os:putenv(binary_to_list(Name), binary_to_list(Value)),
- nil.
-
-unset_env(Name) ->
- os:unsetenv(binary_to_list(Name)),
- nil.
-
-os_family() ->
- case os:type() of
- {win32, nt} ->
- windows_nt;
- {unix, linux} ->
- linux;
- {unix, darwin} ->
- darwin;
- {unix, freebsd} ->
- free_bsd;
- {_, Other} ->
- {other, atom_to_binary(Other, utf8)}
- end.
-
-new_selector() ->
- {selector, #{}}.
-
-map_selector({selector, Handlers}, Fn) ->
- MappedHandlers = maps:map(fun(_Tag, Handler) ->
- fun(Message) -> Fn(Handler(Message)) end
- end, Handlers),
- {selector, MappedHandlers}.
-
-merge_selector({selector, HandlersA}, {selector, HandlersB}) ->
- {selector, maps:merge(HandlersA, HandlersB)}.
-
-insert_selector_handler({selector, Handlers}, Tag, Fn) ->
- {selector, Handlers#{Tag => Fn}}.
-
-select(Selector) ->
- {ok, Message} = select(Selector, infinity),
- Message.
-
-select({selector, Handlers}, Timeout) ->
- AnythingHandler = maps:get(anything, Handlers, undefined),
- receive
- % Monitored process down messages.
- % This is special cased so we can selectively receive based on the
- % reference as well as the record tag.
- {'DOWN', Ref, process, Pid, Reason} when is_map_key(Ref, Handlers) ->
- Fn = maps:get(Ref, Handlers),
- {ok, Fn({process_down, Pid, Reason})};
-
- Msg when is_map_key({element(1, Msg), tuple_size(Msg)}, Handlers) ->
- Fn = maps:get({element(1, Msg), tuple_size(Msg)}, Handlers),
- {ok, Fn(Msg)};
-
- Msg when AnythingHandler =/= undefined ->
- {ok, AnythingHandler(Msg)}
- after Timeout ->
- {error, nil}
- end.
-
-demonitor({_, Reference}) ->
- erlang:demonitor(Reference, [flush]).
-
-link(Pid) ->
- try
- erlang:link(Pid)
- catch
- error:_ -> false
- end.
-
-trap_exits(ShouldTrap) ->
- erlang:process_flag(trap_exit, ShouldTrap),
- nil.
-
-flush_messages() ->
- receive _Message -> flush_messages()
- after 0 -> nil
- end.
-
-priv_directory(Name) ->
- try erlang:binary_to_existing_atom(Name) of
- Atom ->
- case code:priv_dir(Atom) of
- {error, _} -> {error, nil};
- Path -> {ok, unicode:characters_to_binary(Path)}
- end
- catch
- error:badarg -> {error, nil}
- end.
-
-connect_node(Node) ->
- case net_kernel:connect_node(Node) of
- true -> {ok, Node};
- false -> {error, failed_to_connect};
- ignored -> {error, local_node_is_not_alive}
- end.
-
-register_process(Pid, Name) ->
- try
- true = erlang:register(Name, Pid),
- {ok, nil}
- catch
- error:badarg -> {error, nil}
- end.
-
-unregister_process(Name) ->
- try
- true = erlang:unregister(Name),
- {ok, nil}
- catch
- error:badarg -> {error, nil}
- end.
-
-process_named(Name) ->
- case erlang:whereis(Name) of
- Pid when is_pid(Pid) -> {ok, Pid};
- _ -> {error, nil}
- end.
-
-identity(X) ->
- X.
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam@erlang.beam b/aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam@erlang.beam
deleted file mode 100644
index d54ec07..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam@erlang.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam@erlang@atom.beam b/aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam@erlang@atom.beam
deleted file mode 100644
index 78d457d..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam@erlang@atom.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam@erlang@charlist.beam b/aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam@erlang@charlist.beam
deleted file mode 100644
index 7624e6e..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam@erlang@charlist.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam@erlang@file.beam b/aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam@erlang@file.beam
deleted file mode 100644
index 972a12b..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam@erlang@file.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam@erlang@node.beam b/aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam@erlang@node.beam
deleted file mode 100644
index 4b2f578..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam@erlang@node.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam@erlang@os.beam b/aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam@erlang@os.beam
deleted file mode 100644
index c6b8f5e..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam@erlang@os.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam@erlang@process.beam b/aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam@erlang@process.beam
deleted file mode 100644
index 35e940f..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam@erlang@process.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam_erlang.app b/aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam_erlang.app
deleted file mode 100644
index 79950ab..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam_erlang.app
+++ /dev/null
@@ -1,7 +0,0 @@
-{application, gleam_erlang, [
- {vsn, "0.23.1"},
- {applications, [gleam_stdlib]},
- {description, "A Gleam library for working with Erlang"},
- {modules, []},
- {registered, []}
-]}.
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam_erlang_ffi.beam b/aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam_erlang_ffi.beam
deleted file mode 100644
index c659a9c..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/ebin/gleam_erlang_ffi.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@file_FileInfo.hrl b/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@file_FileInfo.hrl
deleted file mode 100644
index b38d11e..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@file_FileInfo.hrl
+++ /dev/null
@@ -1,15 +0,0 @@
--record(file_info, {
- size :: integer(),
- file_type :: gleam@erlang@file:file_type(),
- access :: gleam@erlang@file:access(),
- atime :: integer(),
- mtime :: integer(),
- ctime :: integer(),
- mode :: integer(),
- links :: integer(),
- major_device :: integer(),
- minor_device :: integer(),
- inode :: integer(),
- user_id :: integer(),
- group_id :: integer()
-}).
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@process_Abnormal.hrl b/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@process_Abnormal.hrl
deleted file mode 100644
index 4cd0452..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@process_Abnormal.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(abnormal, {reason :: binary()}).
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@process_CalleeDown.hrl b/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@process_CalleeDown.hrl
deleted file mode 100644
index 5dd5047..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@process_CalleeDown.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(callee_down, {reason :: gleam@dynamic:dynamic_()}).
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@process_Cancelled.hrl b/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@process_Cancelled.hrl
deleted file mode 100644
index b82b49f..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@process_Cancelled.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(cancelled, {time_remaining :: integer()}).
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@process_ExitMessage.hrl b/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@process_ExitMessage.hrl
deleted file mode 100644
index c476308..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@process_ExitMessage.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(exit_message, {
- pid :: gleam@erlang@process:pid_(),
- reason :: gleam@erlang@process:exit_reason()
-}).
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@process_ProcessDown.hrl b/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@process_ProcessDown.hrl
deleted file mode 100644
index df0b6b7..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@process_ProcessDown.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(process_down, {
- pid :: gleam@erlang@process:pid_(),
- reason :: gleam@dynamic:dynamic_()
-}).
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@process_ProcessMonitor.hrl b/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@process_ProcessMonitor.hrl
deleted file mode 100644
index ce552e2..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@process_ProcessMonitor.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(process_monitor, {tag :: gleam@erlang:reference_()}).
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@process_Subject.hrl b/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@process_Subject.hrl
deleted file mode 100644
index abc46b2..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang@process_Subject.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(subject, {
- owner :: gleam@erlang@process:pid_(),
- tag :: gleam@erlang:reference_()
-}).
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang_ApplicationFailedToStart.hrl b/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang_ApplicationFailedToStart.hrl
deleted file mode 100644
index 52c9896..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang_ApplicationFailedToStart.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(application_failed_to_start, {
- name :: gleam@erlang@atom:atom_(),
- reason :: gleam@dynamic:dynamic_()
-}).
diff --git a/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang_UnknownApplication.hrl b/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang_UnknownApplication.hrl
deleted file mode 100644
index fde3c61..0000000
--- a/aoc2023/build/dev/erlang/gleam_erlang/include/gleam@erlang_UnknownApplication.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(unknown_application, {name :: gleam@erlang@atom:atom_()}).
diff --git a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@@compile.erl b/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@@compile.erl
deleted file mode 100644
index 543db88..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@@compile.erl
+++ /dev/null
@@ -1,157 +0,0 @@
-#!/usr/bin/env escript
-
-% TODO: Don't concurrently print warnings and errors
-% TODO: Some tests
-
--record(arguments, {lib = "./", out = "./", modules = []}).
-
-main(Args) ->
- #arguments{out = Out, lib = Lib, modules = Modules} = parse(Args),
- IsElixirModule = fun(Module) ->
- filename:extension(Module) =:= ".ex"
- end,
- {ElixirModules, ErlangModules} = lists:partition(IsElixirModule, Modules),
- ok = configure_logging(),
- ok = add_lib_to_erlang_path(Lib),
- ok = filelib:ensure_dir([Out, $/]),
- {ErlangOk, _ErlangBeams} = compile_erlang(ErlangModules, Out),
- {ElixirOk, _ElixirBeams} = case ErlangOk of
- true -> compile_elixir(ElixirModules, Out);
- false -> {false, []}
- end,
- case ErlangOk and ElixirOk of
- true -> ok;
- false -> erlang:halt(1)
- end.
-
-compile_erlang(Modules, Out) ->
- Workers = start_compiler_workers(Out),
- ok = producer_loop(Modules, Workers),
- collect_results({true, []}).
-
-collect_results(Acc = {Result, Beams}) ->
- receive
- {compiled, Beam} -> collect_results({Result, [Beam | Beams]});
- failed -> collect_results({false, Beams})
- after 0 -> Acc
- end.
-
-producer_loop([], 0) ->
- ok;
-producer_loop([], Workers) ->
- receive
- {work_please, _} -> producer_loop([], Workers - 1)
- end;
-producer_loop([Module | Modules], Workers) ->
- receive
- {work_please, Worker} ->
- erlang:send(Worker, {module, Module}),
- producer_loop(Modules, Workers)
- end.
-
-start_compiler_workers(Out) ->
- Parent = self(),
- NumSchedulers = erlang:system_info(schedulers),
- SpawnWorker = fun(_) ->
- erlang:spawn_link(fun() -> worker_loop(Parent, Out) end)
- end,
- lists:foreach(SpawnWorker, lists:seq(1, NumSchedulers)),
- NumSchedulers.
-
-worker_loop(Parent, Out) ->
- Options = [report_errors, report_warnings, debug_info, {outdir, Out}],
- erlang:send(Parent, {work_please, self()}),
- receive
- {module, Module} ->
- log({compiling, Module}),
- case compile:file(Module, Options) of
- {ok, ModuleName} ->
- Beam = filename:join(Out, ModuleName) ++ ".beam",
- Message = {compiled, Beam},
- log(Message),
- erlang:send(Parent, Message);
- error ->
- log({failed, Module}),
- erlang:send(Parent, failed)
- end,
- worker_loop(Parent, Out)
- end.
-
-compile_elixir(Modules, Out) ->
- Error = [
- "The program elixir was not found. Is it installed?",
- $\n,
- "Documentation for installing Elixir can be viewed here:",
- $\n,
- "https://elixir-lang.org/install.html"
- ],
- case Modules of
- [] -> {true, []};
- _ ->
- log({starting, "compiler.app"}),
- ok = application:start(compiler),
- log({starting, "elixir.app"}),
- case application:start(elixir) of
- ok -> do_compile_elixir(Modules, Out);
- _ ->
- io:put_chars(standard_error, [Error, $\n]),
- {false, []}
- end
- end.
-
-do_compile_elixir(Modules, Out) ->
- ModuleBins = lists:map(fun(Module) ->
- log({compiling, Module}),
- list_to_binary(Module)
- end, Modules),
- OutBin = list_to_binary(Out),
- Options = [{dest, OutBin}],
- % Silence "redefining module" warnings.
- % Compiled modules in the build directory are added to the code path.
- % These warnings result from recompiling loaded modules.
- % TODO: This line can likely be removed if/when the build directory is cleaned before every compilation.
- 'Elixir.Code':compiler_options([{ignore_module_conflict, true}]),
- case 'Elixir.Kernel.ParallelCompiler':compile_to_path(ModuleBins, OutBin, Options) of
- {ok, ModuleAtoms, _} ->
- ToBeam = fun(ModuleAtom) ->
- Beam = filename:join(Out, atom_to_list(ModuleAtom)) ++ ".beam",
- log({compiled, Beam}),
- Beam
- end,
- {true, lists:map(ToBeam, ModuleAtoms)};
- {error, Errors, _} ->
- % Log all filenames associated with modules that failed to compile.
- % Note: The compiler prints compilation errors upon encountering them.
- ErrorFiles = lists:usort([File || {File, _, _} <- Errors]),
- Log = fun(File) ->
- log({failed, binary_to_list(File)})
- end,
- lists:foreach(Log, ErrorFiles),
- {false, []};
- _ -> {false, []}
- end.
-
-add_lib_to_erlang_path(Lib) ->
- code:add_paths(filelib:wildcard([Lib, "/*/ebin"])).
-
-parse(Args) ->
- parse(Args, #arguments{}).
-
-parse([], Arguments) ->
- Arguments;
-parse(["--lib", Lib | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{lib = Lib});
-parse(["--out", Out | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{out = Out});
-parse([Module | Rest], Arguments = #arguments{modules = Modules}) ->
- parse(Rest, Arguments#arguments{modules = [Module | Modules]}).
-
-configure_logging() ->
- Enabled = os:getenv("GLEAM_LOG") /= false,
- persistent_term:put(gleam_logging_enabled, Enabled).
-
-log(Term) ->
- case persistent_term:get(gleam_logging_enabled) of
- true -> erlang:display(Term), ok;
- false -> ok
- end.
diff --git a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http.cache b/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http.cache
deleted file mode 100644
index 0b8931e..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http.cache_meta b/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http.cache_meta
deleted file mode 100644
index dc85da7..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http.erl b/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http.erl
deleted file mode 100644
index 91ee6e8..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http.erl
+++ /dev/null
@@ -1,626 +0,0 @@
--module(gleam@http).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([parse_method/1, method_to_string/1, scheme_to_string/1, scheme_from_string/1, parse_content_disposition/1, parse_multipart_body/2, method_from_dynamic/1, parse_multipart_headers/2]).
--export_type([method/0, scheme/0, multipart_headers/0, multipart_body/0, content_disposition/0]).
-
--type method() :: get |
- post |
- head |
- put |
- delete |
- trace |
- connect |
- options |
- patch |
- {other, binary()}.
-
--type scheme() :: http | https.
-
--type multipart_headers() :: {multipart_headers,
- list({binary(), binary()}),
- bitstring()} |
- {more_required_for_headers,
- fun((bitstring()) -> {ok, multipart_headers()} | {error, nil})}.
-
--type multipart_body() :: {multipart_body, bitstring(), boolean(), bitstring()} |
- {more_required_for_body,
- bitstring(),
- fun((bitstring()) -> {ok, multipart_body()} | {error, nil})}.
-
--type content_disposition() :: {content_disposition,
- binary(),
- list({binary(), binary()})}.
-
--spec parse_method(binary()) -> {ok, method()} | {error, nil}.
-parse_method(S) ->
- case gleam@string:lowercase(S) of
- <<"connect"/utf8>> ->
- {ok, connect};
-
- <<"delete"/utf8>> ->
- {ok, delete};
-
- <<"get"/utf8>> ->
- {ok, get};
-
- <<"head"/utf8>> ->
- {ok, head};
-
- <<"options"/utf8>> ->
- {ok, options};
-
- <<"patch"/utf8>> ->
- {ok, patch};
-
- <<"post"/utf8>> ->
- {ok, post};
-
- <<"put"/utf8>> ->
- {ok, put};
-
- <<"trace"/utf8>> ->
- {ok, trace};
-
- _ ->
- {error, nil}
- end.
-
--spec method_to_string(method()) -> binary().
-method_to_string(Method) ->
- case Method of
- connect ->
- <<"connect"/utf8>>;
-
- delete ->
- <<"delete"/utf8>>;
-
- get ->
- <<"get"/utf8>>;
-
- head ->
- <<"head"/utf8>>;
-
- options ->
- <<"options"/utf8>>;
-
- patch ->
- <<"patch"/utf8>>;
-
- post ->
- <<"post"/utf8>>;
-
- put ->
- <<"put"/utf8>>;
-
- trace ->
- <<"trace"/utf8>>;
-
- {other, S} ->
- S
- end.
-
--spec scheme_to_string(scheme()) -> binary().
-scheme_to_string(Scheme) ->
- case Scheme of
- http ->
- <<"http"/utf8>>;
-
- https ->
- <<"https"/utf8>>
- end.
-
--spec scheme_from_string(binary()) -> {ok, scheme()} | {error, nil}.
-scheme_from_string(Scheme) ->
- case gleam@string:lowercase(Scheme) of
- <<"http"/utf8>> ->
- {ok, http};
-
- <<"https"/utf8>> ->
- {ok, https};
-
- _ ->
- {error, nil}
- end.
-
--spec skip_whitespace(bitstring()) -> bitstring().
-skip_whitespace(Data) ->
- case Data of
- <<32, Data@1/binary>> ->
- skip_whitespace(Data@1);
-
- <<9, Data@1/binary>> ->
- skip_whitespace(Data@1);
-
- _ ->
- Data
- end.
-
--spec more_please_headers(
- fun((bitstring()) -> {ok, multipart_headers()} | {error, nil}),
- bitstring()
-) -> {ok, multipart_headers()} | {error, nil}.
-more_please_headers(Continuation, Existing) ->
- {ok,
- {more_required_for_headers,
- fun(More) ->
- gleam@bool:guard(
- More =:= <<>>,
- {error, nil},
- fun() ->
- Continuation(<<Existing/bitstring, More/bitstring>>)
- end
- )
- end}}.
-
--spec parse_rfc_2045_parameter_quoted_value(binary(), binary(), binary()) -> {ok,
- {{binary(), binary()}, binary()}} |
- {error, nil}.
-parse_rfc_2045_parameter_quoted_value(Header, Name, Value) ->
- case gleam@string:pop_grapheme(Header) of
- {error, nil} ->
- {error, nil};
-
- {ok, {<<"\""/utf8>>, Rest}} ->
- {ok, {{Name, Value}, Rest}};
-
- {ok, {<<"\\"/utf8>>, Rest@1}} ->
- gleam@result:'try'(
- gleam@string:pop_grapheme(Rest@1),
- fun(_use0) ->
- {Grapheme, Rest@2} = _use0,
- parse_rfc_2045_parameter_quoted_value(
- Rest@2,
- Name,
- <<Value/binary, Grapheme/binary>>
- )
- end
- );
-
- {ok, {Grapheme@1, Rest@3}} ->
- parse_rfc_2045_parameter_quoted_value(
- Rest@3,
- Name,
- <<Value/binary, Grapheme@1/binary>>
- )
- end.
-
--spec parse_rfc_2045_parameter_unquoted_value(binary(), binary(), binary()) -> {{binary(),
- binary()},
- binary()}.
-parse_rfc_2045_parameter_unquoted_value(Header, Name, Value) ->
- case gleam@string:pop_grapheme(Header) of
- {error, nil} ->
- {{Name, Value}, Header};
-
- {ok, {<<";"/utf8>>, Rest}} ->
- {{Name, Value}, Rest};
-
- {ok, {<<" "/utf8>>, Rest}} ->
- {{Name, Value}, Rest};
-
- {ok, {<<"\t"/utf8>>, Rest}} ->
- {{Name, Value}, Rest};
-
- {ok, {Grapheme, Rest@1}} ->
- parse_rfc_2045_parameter_unquoted_value(
- Rest@1,
- Name,
- <<Value/binary, Grapheme/binary>>
- )
- end.
-
--spec parse_rfc_2045_parameter_value(binary(), binary()) -> {ok,
- {{binary(), binary()}, binary()}} |
- {error, nil}.
-parse_rfc_2045_parameter_value(Header, Name) ->
- case gleam@string:pop_grapheme(Header) of
- {error, nil} ->
- {error, nil};
-
- {ok, {<<"\""/utf8>>, Rest}} ->
- parse_rfc_2045_parameter_quoted_value(Rest, Name, <<""/utf8>>);
-
- {ok, {Grapheme, Rest@1}} ->
- {ok,
- parse_rfc_2045_parameter_unquoted_value(Rest@1, Name, Grapheme)}
- end.
-
--spec parse_rfc_2045_parameter(binary(), binary()) -> {ok,
- {{binary(), binary()}, binary()}} |
- {error, nil}.
-parse_rfc_2045_parameter(Header, Name) ->
- gleam@result:'try'(
- gleam@string:pop_grapheme(Header),
- fun(_use0) ->
- {Grapheme, Rest} = _use0,
- case Grapheme of
- <<"="/utf8>> ->
- parse_rfc_2045_parameter_value(Rest, Name);
-
- _ ->
- parse_rfc_2045_parameter(
- Rest,
- <<Name/binary,
- (gleam@string:lowercase(Grapheme))/binary>>
- )
- end
- end
- ).
-
--spec parse_rfc_2045_parameters(binary(), list({binary(), binary()})) -> {ok,
- list({binary(), binary()})} |
- {error, nil}.
-parse_rfc_2045_parameters(Header, Parameters) ->
- case gleam@string:pop_grapheme(Header) of
- {error, nil} ->
- {ok, gleam@list:reverse(Parameters)};
-
- {ok, {<<";"/utf8>>, Rest}} ->
- parse_rfc_2045_parameters(Rest, Parameters);
-
- {ok, {<<" "/utf8>>, Rest}} ->
- parse_rfc_2045_parameters(Rest, Parameters);
-
- {ok, {<<"\t"/utf8>>, Rest}} ->
- parse_rfc_2045_parameters(Rest, Parameters);
-
- {ok, {Grapheme, Rest@1}} ->
- Acc = gleam@string:lowercase(Grapheme),
- gleam@result:'try'(
- parse_rfc_2045_parameter(Rest@1, Acc),
- fun(_use0) ->
- {Parameter, Rest@2} = _use0,
- parse_rfc_2045_parameters(Rest@2, [Parameter | Parameters])
- end
- )
- end.
-
--spec parse_content_disposition_type(binary(), binary()) -> {ok,
- content_disposition()} |
- {error, nil}.
-parse_content_disposition_type(Header, Name) ->
- case gleam@string:pop_grapheme(Header) of
- {error, nil} ->
- {ok, {content_disposition, Name, []}};
-
- {ok, {<<" "/utf8>>, Rest}} ->
- Result = parse_rfc_2045_parameters(Rest, []),
- gleam@result:map(
- Result,
- fun(Parameters) -> {content_disposition, Name, Parameters} end
- );
-
- {ok, {<<"\t"/utf8>>, Rest}} ->
- Result = parse_rfc_2045_parameters(Rest, []),
- gleam@result:map(
- Result,
- fun(Parameters) -> {content_disposition, Name, Parameters} end
- );
-
- {ok, {<<";"/utf8>>, Rest}} ->
- Result = parse_rfc_2045_parameters(Rest, []),
- gleam@result:map(
- Result,
- fun(Parameters) -> {content_disposition, Name, Parameters} end
- );
-
- {ok, {Grapheme, Rest@1}} ->
- parse_content_disposition_type(
- Rest@1,
- <<Name/binary, (gleam@string:lowercase(Grapheme))/binary>>
- )
- end.
-
--spec parse_content_disposition(binary()) -> {ok, content_disposition()} |
- {error, nil}.
-parse_content_disposition(Header) ->
- parse_content_disposition_type(Header, <<""/utf8>>).
-
--spec more_please_body(
- fun((bitstring()) -> {ok, multipart_body()} | {error, nil}),
- bitstring(),
- bitstring()
-) -> {ok, multipart_body()} | {error, nil}.
-more_please_body(Continuation, Chunk, Existing) ->
- _pipe = fun(More) ->
- gleam@bool:guard(
- More =:= <<>>,
- {error, nil},
- fun() -> Continuation(<<Existing/bitstring, More/bitstring>>) end
- )
- end,
- _pipe@1 = {more_required_for_body, Chunk, _pipe},
- {ok, _pipe@1}.
-
--spec parse_body_loop(bitstring(), bitstring(), bitstring()) -> {ok,
- multipart_body()} |
- {error, nil}.
-parse_body_loop(Data, Boundary, Body) ->
- Dsize = erlang:byte_size(Data),
- Bsize = erlang:byte_size(Boundary),
- Required = 6 + Bsize,
- case Data of
- _ when Dsize < Required ->
- more_please_body(
- fun(_capture) -> parse_body_loop(_capture, Boundary, <<>>) end,
- Body,
- Data
- );
-
- <<13, 10, Data@1/binary>> ->
- Desired = <<45, 45, Boundary/bitstring>>,
- Size = erlang:byte_size(Desired),
- Dsize@1 = erlang:byte_size(Data@1),
- Prefix = gleam_stdlib:bit_array_slice(Data@1, 0, Size),
- Rest = gleam_stdlib:bit_array_slice(Data@1, Size, Dsize@1 - Size),
- case {Prefix =:= {ok, Desired}, Rest} of
- {true, {ok, <<13, 10, _/binary>>}} ->
- {ok, {multipart_body, Body, false, Data@1}};
-
- {true, {ok, <<45, 45, Data@2/binary>>}} ->
- {ok, {multipart_body, Body, true, Data@2}};
-
- {false, _} ->
- parse_body_loop(
- Data@1,
- Boundary,
- <<Body/bitstring, 13, 10>>
- );
-
- {_, _} ->
- {error, nil}
- end;
-
- <<Char, Data@3/binary>> ->
- parse_body_loop(Data@3, Boundary, <<Body/bitstring, Char>>)
- end.
-
--spec parse_body_with_bit_array(bitstring(), bitstring()) -> {ok,
- multipart_body()} |
- {error, nil}.
-parse_body_with_bit_array(Data, Boundary) ->
- Bsize = erlang:byte_size(Boundary),
- Prefix = gleam_stdlib:bit_array_slice(Data, 0, 2 + Bsize),
- case Prefix =:= {ok, <<45, 45, Boundary/bitstring>>} of
- true ->
- {ok, {multipart_body, <<>>, false, Data}};
-
- false ->
- parse_body_loop(Data, Boundary, <<>>)
- end.
-
--spec parse_multipart_body(bitstring(), binary()) -> {ok, multipart_body()} |
- {error, nil}.
-parse_multipart_body(Data, Boundary) ->
- _pipe = Boundary,
- _pipe@1 = gleam_stdlib:identity(_pipe),
- parse_body_with_bit_array(Data, _pipe@1).
-
--spec method_from_dynamic(gleam@dynamic:dynamic_()) -> {ok, method()} |
- {error, list(gleam@dynamic:decode_error())}.
-method_from_dynamic(Value) ->
- case gleam_http_native:decode_method(Value) of
- {ok, Method} ->
- {ok, Method};
-
- {error, _} ->
- {error,
- [{decode_error,
- <<"HTTP method"/utf8>>,
- gleam@dynamic:classify(Value),
- []}]}
- end.
-
--spec parse_header_value(
- bitstring(),
- list({binary(), binary()}),
- bitstring(),
- bitstring()
-) -> {ok, multipart_headers()} | {error, nil}.
-parse_header_value(Data, Headers, Name, Value) ->
- Size = erlang:byte_size(Data),
- case Data of
- _ when Size < 4 ->
- _pipe@2 = fun(Data@1) -> _pipe = Data@1,
- _pipe@1 = skip_whitespace(_pipe),
- parse_header_value(_pipe@1, Headers, Name, Value) end,
- more_please_headers(_pipe@2, Data);
-
- <<13, 10, 13, 10, Data@2/binary>> ->
- gleam@result:'try'(
- gleam@bit_array:to_string(Name),
- fun(Name@1) ->
- gleam@result:map(
- gleam@bit_array:to_string(Value),
- fun(Value@1) ->
- Headers@1 = gleam@list:reverse(
- [{gleam@string:lowercase(Name@1), Value@1} |
- Headers]
- ),
- {multipart_headers, Headers@1, Data@2}
- end
- )
- end
- );
-
- <<13, 10, 32, Data@3/binary>> ->
- parse_header_value(Data@3, Headers, Name, Value);
-
- <<13, 10, 9, Data@3/binary>> ->
- parse_header_value(Data@3, Headers, Name, Value);
-
- <<13, 10, Data@4/binary>> ->
- gleam@result:'try'(
- gleam@bit_array:to_string(Name),
- fun(Name@2) ->
- gleam@result:'try'(
- gleam@bit_array:to_string(Value),
- fun(Value@2) ->
- Headers@2 = [{gleam@string:lowercase(Name@2),
- Value@2} |
- Headers],
- parse_header_name(Data@4, Headers@2, <<>>)
- end
- )
- end
- );
-
- <<Char, Rest/binary>> ->
- Value@3 = <<Value/bitstring, Char>>,
- parse_header_value(Rest, Headers, Name, Value@3);
-
- _ ->
- {error, nil}
- end.
-
--spec parse_header_name(bitstring(), list({binary(), binary()}), bitstring()) -> {ok,
- multipart_headers()} |
- {error, nil}.
-parse_header_name(Data, Headers, Name) ->
- case skip_whitespace(Data) of
- <<58, Data@1/binary>> ->
- _pipe = Data@1,
- _pipe@1 = skip_whitespace(_pipe),
- parse_header_value(_pipe@1, Headers, Name, <<>>);
-
- <<Char, Data@2/binary>> ->
- parse_header_name(Data@2, Headers, <<Name/bitstring, Char>>);
-
- <<>> ->
- more_please_headers(
- fun(_capture) -> parse_header_name(_capture, Headers, Name) end,
- Data
- )
- end.
-
--spec do_parse_headers(bitstring()) -> {ok, multipart_headers()} | {error, nil}.
-do_parse_headers(Data) ->
- case Data of
- <<13, 10, 13, 10, Data@1/binary>> ->
- {ok, {multipart_headers, [], Data@1}};
-
- <<13, 10, Data@2/binary>> ->
- parse_header_name(Data@2, [], <<>>);
-
- <<13>> ->
- more_please_headers(fun do_parse_headers/1, Data);
-
- <<>> ->
- more_please_headers(fun do_parse_headers/1, Data);
-
- _ ->
- {error, nil}
- end.
-
--spec parse_headers_after_prelude(bitstring(), bitstring()) -> {ok,
- multipart_headers()} |
- {error, nil}.
-parse_headers_after_prelude(Data, Boundary) ->
- Dsize = erlang:byte_size(Data),
- Bsize = erlang:byte_size(Boundary),
- Required_size = Bsize + 4,
- gleam@bool:guard(
- Dsize < Required_size,
- more_please_headers(
- fun(_capture) -> parse_headers_after_prelude(_capture, Boundary) end,
- Data
- ),
- fun() ->
- gleam@result:'try'(
- gleam_stdlib:bit_array_slice(Data, 0, Required_size - 2),
- fun(Prefix) ->
- gleam@result:'try'(
- gleam_stdlib:bit_array_slice(Data, 2 + Bsize, 2),
- fun(Second) ->
- Desired = <<45, 45, Boundary/bitstring>>,
- gleam@bool:guard(
- Prefix /= Desired,
- {error, nil},
- fun() -> case Second =:= <<45, 45>> of
- true ->
- Rest_size = Dsize - Required_size,
- gleam@result:map(
- gleam_stdlib:bit_array_slice(
- Data,
- Required_size,
- Rest_size
- ),
- fun(Data@1) ->
- {multipart_headers,
- [],
- Data@1}
- end
- );
-
- false ->
- Start = Required_size - 2,
- Rest_size@1 = (Dsize - Required_size)
- + 2,
- gleam@result:'try'(
- gleam_stdlib:bit_array_slice(
- Data,
- Start,
- Rest_size@1
- ),
- fun(Data@2) ->
- do_parse_headers(Data@2)
- end
- )
- end end
- )
- end
- )
- end
- )
- end
- ).
-
--spec skip_preamble(bitstring(), bitstring()) -> {ok, multipart_headers()} |
- {error, nil}.
-skip_preamble(Data, Boundary) ->
- Data_size = erlang:byte_size(Data),
- Boundary_size = erlang:byte_size(Boundary),
- Required = Boundary_size + 4,
- case Data of
- _ when Data_size < Required ->
- more_please_headers(
- fun(_capture) -> skip_preamble(_capture, Boundary) end,
- Data
- );
-
- <<13, 10, 45, 45, Data@1/binary>> ->
- case gleam_stdlib:bit_array_slice(Data@1, 0, Boundary_size) of
- {ok, Prefix} when Prefix =:= Boundary ->
- Start = Boundary_size,
- Length = erlang:byte_size(Data@1) - Boundary_size,
- gleam@result:'try'(
- gleam_stdlib:bit_array_slice(Data@1, Start, Length),
- fun(Rest) -> do_parse_headers(Rest) end
- );
-
- {ok, _} ->
- skip_preamble(Data@1, Boundary);
-
- {error, _} ->
- {error, nil}
- end;
-
- <<_, Data@2/binary>> ->
- skip_preamble(Data@2, Boundary)
- end.
-
--spec parse_multipart_headers(bitstring(), binary()) -> {ok,
- multipart_headers()} |
- {error, nil}.
-parse_multipart_headers(Data, Boundary) ->
- Boundary@1 = gleam_stdlib:identity(Boundary),
- Prefix = <<45, 45, Boundary@1/bitstring>>,
- case gleam_stdlib:bit_array_slice(Data, 0, erlang:byte_size(Prefix)) =:= {ok,
- Prefix} of
- true ->
- parse_headers_after_prelude(Data, Boundary@1);
-
- false ->
- skip_preamble(Data, Boundary@1)
- end.
diff --git a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@cookie.cache b/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@cookie.cache
deleted file mode 100644
index 173ac86..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@cookie.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@cookie.cache_meta b/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@cookie.cache_meta
deleted file mode 100644
index 1f65dce..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@cookie.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@cookie.erl b/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@cookie.erl
deleted file mode 100644
index 9d6d13e..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@cookie.erl
+++ /dev/null
@@ -1,153 +0,0 @@
--module(gleam@http@cookie).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([defaults/1, set_header/3, parse/1]).
--export_type([same_site_policy/0, attributes/0]).
-
--type same_site_policy() :: lax | strict | none.
-
--type attributes() :: {attributes,
- gleam@option:option(integer()),
- gleam@option:option(binary()),
- gleam@option:option(binary()),
- boolean(),
- boolean(),
- gleam@option:option(same_site_policy())}.
-
--spec same_site_to_string(same_site_policy()) -> binary().
-same_site_to_string(Policy) ->
- case Policy of
- lax ->
- <<"Lax"/utf8>>;
-
- strict ->
- <<"Strict"/utf8>>;
-
- none ->
- <<"None"/utf8>>
- end.
-
--spec defaults(gleam@http:scheme()) -> attributes().
-defaults(Scheme) ->
- {attributes,
- none,
- none,
- {some, <<"/"/utf8>>},
- Scheme =:= https,
- true,
- {some, lax}}.
-
--spec cookie_attributes_to_list(attributes()) -> list(list(binary())).
-cookie_attributes_to_list(Attributes) ->
- {attributes, Max_age, Domain, Path, Secure, Http_only, Same_site} = Attributes,
- _pipe = [case Max_age of
- {some, 0} ->
- {some, [<<"Expires=Thu, 01 Jan 1970 00:00:00 GMT"/utf8>>]};
-
- _ ->
- none
- end, gleam@option:map(
- Max_age,
- fun(Max_age@1) ->
- [<<"Max-Age="/utf8>>, gleam@int:to_string(Max_age@1)]
- end
- ), gleam@option:map(
- Domain,
- fun(Domain@1) -> [<<"Domain="/utf8>>, Domain@1] end
- ), gleam@option:map(Path, fun(Path@1) -> [<<"Path="/utf8>>, Path@1] end), case Secure of
- true ->
- {some, [<<"Secure"/utf8>>]};
-
- false ->
- none
- end, case Http_only of
- true ->
- {some, [<<"HttpOnly"/utf8>>]};
-
- false ->
- none
- end, gleam@option:map(
- Same_site,
- fun(Same_site@1) ->
- [<<"SameSite="/utf8>>, same_site_to_string(Same_site@1)]
- end
- )],
- gleam@list:filter_map(
- _pipe,
- fun(_capture) -> gleam@option:to_result(_capture, nil) end
- ).
-
--spec set_header(binary(), binary(), attributes()) -> binary().
-set_header(Name, Value, Attributes) ->
- _pipe = [[Name, <<"="/utf8>>, Value] |
- cookie_attributes_to_list(Attributes)],
- _pipe@1 = gleam@list:map(
- _pipe,
- fun(_capture) -> gleam@string:join(_capture, <<""/utf8>>) end
- ),
- gleam@string:join(_pipe@1, <<"; "/utf8>>).
-
--spec check_token(binary()) -> {ok, nil} | {error, nil}.
-check_token(Token) ->
- case gleam@string:pop_grapheme(Token) of
- {error, nil} ->
- {ok, nil};
-
- {ok, {<<" "/utf8>>, _}} ->
- {error, nil};
-
- {ok, {<<"\t"/utf8>>, _}} ->
- {error, nil};
-
- {ok, {<<"\r"/utf8>>, _}} ->
- {error, nil};
-
- {ok, {<<"\n"/utf8>>, _}} ->
- {error, nil};
-
- {ok, {<<"\f"/utf8>>, _}} ->
- {error, nil};
-
- {ok, {_, Rest}} ->
- check_token(Rest)
- end.
-
--spec parse(binary()) -> list({binary(), binary()}).
-parse(Cookie_string) ->
- _assert_subject = gleam@regex:from_string(<<"[,;]"/utf8>>),
- {ok, Re} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam/http/cookie"/utf8>>,
- function => <<"parse"/utf8>>,
- line => 101})
- end,
- _pipe = gleam@regex:split(Re, Cookie_string),
- gleam@list:filter_map(
- _pipe,
- fun(Pair) ->
- case gleam@string:split_once(gleam@string:trim(Pair), <<"="/utf8>>) of
- {ok, {<<""/utf8>>, _}} ->
- {error, nil};
-
- {ok, {Key, Value}} ->
- Key@1 = gleam@string:trim(Key),
- Value@1 = gleam@string:trim(Value),
- gleam@result:then(
- check_token(Key@1),
- fun(_) ->
- gleam@result:then(
- check_token(Value@1),
- fun(_) -> {ok, {Key@1, Value@1}} end
- )
- end
- );
-
- {error, nil} ->
- {error, nil}
- end
- end
- ).
diff --git a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@request.cache b/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@request.cache
deleted file mode 100644
index cf9bcd7..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@request.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@request.cache_meta b/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@request.cache_meta
deleted file mode 100644
index 2108b82..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@request.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@request.erl b/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@request.erl
deleted file mode 100644
index e41d548..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@request.erl
+++ /dev/null
@@ -1,202 +0,0 @@
--module(gleam@http@request).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([to_uri/1, from_uri/1, get_header/2, set_header/3, prepend_header/3, set_body/2, map/2, path_segments/1, get_query/1, set_query/2, set_method/2, new/0, to/1, set_scheme/2, set_host/2, set_port/2, set_path/2, set_cookie/3, get_cookies/1]).
--export_type([request/1]).
-
--type request(IAV) :: {request,
- gleam@http:method(),
- list({binary(), binary()}),
- IAV,
- gleam@http:scheme(),
- binary(),
- gleam@option:option(integer()),
- binary(),
- gleam@option:option(binary())}.
-
--spec to_uri(request(any())) -> gleam@uri:uri().
-to_uri(Request) ->
- {uri,
- {some, gleam@http:scheme_to_string(erlang:element(5, Request))},
- none,
- {some, erlang:element(6, Request)},
- erlang:element(7, Request),
- erlang:element(8, Request),
- erlang:element(9, Request),
- none}.
-
--spec from_uri(gleam@uri:uri()) -> {ok, request(binary())} | {error, nil}.
-from_uri(Uri) ->
- gleam@result:then(
- begin
- _pipe = erlang:element(2, Uri),
- _pipe@1 = gleam@option:unwrap(_pipe, <<""/utf8>>),
- gleam@http:scheme_from_string(_pipe@1)
- end,
- fun(Scheme) ->
- gleam@result:then(
- begin
- _pipe@2 = erlang:element(4, Uri),
- gleam@option:to_result(_pipe@2, nil)
- end,
- fun(Host) ->
- Req = {request,
- get,
- [],
- <<""/utf8>>,
- Scheme,
- Host,
- erlang:element(5, Uri),
- erlang:element(6, Uri),
- erlang:element(7, Uri)},
- {ok, Req}
- end
- )
- end
- ).
-
--spec get_header(request(any()), binary()) -> {ok, binary()} | {error, nil}.
-get_header(Request, Key) ->
- gleam@list:key_find(erlang:element(3, Request), gleam@string:lowercase(Key)).
-
--spec set_header(request(IBF), binary(), binary()) -> request(IBF).
-set_header(Request, Key, Value) ->
- Headers = gleam@list:key_set(
- erlang:element(3, Request),
- gleam@string:lowercase(Key),
- Value
- ),
- erlang:setelement(3, Request, Headers).
-
--spec prepend_header(request(IBI), binary(), binary()) -> request(IBI).
-prepend_header(Request, Key, Value) ->
- Headers = [{gleam@string:lowercase(Key), Value} |
- erlang:element(3, Request)],
- erlang:setelement(3, Request, Headers).
-
--spec set_body(request(any()), IBN) -> request(IBN).
-set_body(Req, Body) ->
- {request, Method, Headers, _, Scheme, Host, Port, Path, Query} = Req,
- {request, Method, Headers, Body, Scheme, Host, Port, Path, Query}.
-
--spec map(request(IBP), fun((IBP) -> IBR)) -> request(IBR).
-map(Request, Transform) ->
- _pipe = erlang:element(4, Request),
- _pipe@1 = Transform(_pipe),
- set_body(Request, _pipe@1).
-
--spec path_segments(request(any())) -> list(binary()).
-path_segments(Request) ->
- _pipe = erlang:element(8, Request),
- gleam@uri:path_segments(_pipe).
-
--spec get_query(request(any())) -> {ok, list({binary(), binary()})} |
- {error, nil}.
-get_query(Request) ->
- case erlang:element(9, Request) of
- {some, Query_string} ->
- gleam@uri:parse_query(Query_string);
-
- none ->
- {ok, []}
- end.
-
--spec set_query(request(ICB), list({binary(), binary()})) -> request(ICB).
-set_query(Req, Query) ->
- Pair = fun(T) ->
- gleam@string_builder:from_strings(
- [erlang:element(1, T), <<"="/utf8>>, erlang:element(2, T)]
- )
- end,
- Query@1 = begin
- _pipe = Query,
- _pipe@1 = gleam@list:map(_pipe, Pair),
- _pipe@2 = gleam@list:intersperse(
- _pipe@1,
- gleam@string_builder:from_string(<<"&"/utf8>>)
- ),
- _pipe@3 = gleam@string_builder:concat(_pipe@2),
- _pipe@4 = gleam@string_builder:to_string(_pipe@3),
- {some, _pipe@4}
- end,
- erlang:setelement(9, Req, Query@1).
-
--spec set_method(request(ICF), gleam@http:method()) -> request(ICF).
-set_method(Req, Method) ->
- erlang:setelement(2, Req, Method).
-
--spec new() -> request(binary()).
-new() ->
- {request,
- get,
- [],
- <<""/utf8>>,
- https,
- <<"localhost"/utf8>>,
- none,
- <<""/utf8>>,
- none}.
-
--spec to(binary()) -> {ok, request(binary())} | {error, nil}.
-to(Url) ->
- _pipe = Url,
- _pipe@1 = gleam@uri:parse(_pipe),
- gleam@result:then(_pipe@1, fun from_uri/1).
-
--spec set_scheme(request(ICM), gleam@http:scheme()) -> request(ICM).
-set_scheme(Req, Scheme) ->
- erlang:setelement(5, Req, Scheme).
-
--spec set_host(request(ICP), binary()) -> request(ICP).
-set_host(Req, Host) ->
- erlang:setelement(6, Req, Host).
-
--spec set_port(request(ICS), integer()) -> request(ICS).
-set_port(Req, Port) ->
- erlang:setelement(7, Req, {some, Port}).
-
--spec set_path(request(ICV), binary()) -> request(ICV).
-set_path(Req, Path) ->
- erlang:setelement(8, Req, Path).
-
--spec set_cookie(request(ICY), binary(), binary()) -> request(ICY).
-set_cookie(Req, Name, Value) ->
- New_cookie_string = gleam@string:join([Name, Value], <<"="/utf8>>),
- {Cookies_string@2, Headers@1} = case gleam@list:key_pop(
- erlang:element(3, Req),
- <<"cookie"/utf8>>
- ) of
- {ok, {Cookies_string, Headers}} ->
- Cookies_string@1 = gleam@string:join(
- [Cookies_string, New_cookie_string],
- <<"; "/utf8>>
- ),
- {Cookies_string@1, Headers};
-
- {error, nil} ->
- {New_cookie_string, erlang:element(3, Req)}
- end,
- erlang:setelement(
- 3,
- Req,
- [{<<"cookie"/utf8>>, Cookies_string@2} | Headers@1]
- ).
-
--spec get_cookies(request(any())) -> list({binary(), binary()}).
-get_cookies(Req) ->
- {request, _, Headers, _, _, _, _, _, _} = Req,
- _pipe = Headers,
- _pipe@1 = gleam@list:filter_map(
- _pipe,
- fun(Header) ->
- {Name, Value} = Header,
- case Name of
- <<"cookie"/utf8>> ->
- {ok, gleam@http@cookie:parse(Value)};
-
- _ ->
- {error, nil}
- end
- end
- ),
- gleam@list:flatten(_pipe@1).
diff --git a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@response.cache b/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@response.cache
deleted file mode 100644
index 5656963..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@response.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@response.cache_meta b/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@response.cache_meta
deleted file mode 100644
index 1f05041..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@response.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@response.erl b/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@response.erl
deleted file mode 100644
index 300726a..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@response.erl
+++ /dev/null
@@ -1,97 +0,0 @@
--module(gleam@http@response).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([new/1, get_header/2, set_header/3, prepend_header/3, set_body/2, try_map/2, map/2, redirect/1, get_cookies/1, set_cookie/4, expire_cookie/3]).
--export_type([response/1]).
-
--type response(HXJ) :: {response, integer(), list({binary(), binary()}), HXJ}.
-
--spec new(integer()) -> response(binary()).
-new(Status) ->
- {response, Status, [], <<""/utf8>>}.
-
--spec get_header(response(any()), binary()) -> {ok, binary()} | {error, nil}.
-get_header(Response, Key) ->
- gleam@list:key_find(
- erlang:element(3, Response),
- gleam@string:lowercase(Key)
- ).
-
--spec set_header(response(HXY), binary(), binary()) -> response(HXY).
-set_header(Response, Key, Value) ->
- Headers = gleam@list:key_set(
- erlang:element(3, Response),
- gleam@string:lowercase(Key),
- Value
- ),
- erlang:setelement(3, Response, Headers).
-
--spec prepend_header(response(HYB), binary(), binary()) -> response(HYB).
-prepend_header(Response, Key, Value) ->
- Headers = [{gleam@string:lowercase(Key), Value} |
- erlang:element(3, Response)],
- erlang:setelement(3, Response, Headers).
-
--spec set_body(response(any()), HYG) -> response(HYG).
-set_body(Response, Body) ->
- {response, Status, Headers, _} = Response,
- {response, Status, Headers, Body}.
-
--spec try_map(response(HXK), fun((HXK) -> {ok, HXM} | {error, HXN})) -> {ok,
- response(HXM)} |
- {error, HXN}.
-try_map(Response, Transform) ->
- gleam@result:then(
- Transform(erlang:element(4, Response)),
- fun(Body) -> {ok, set_body(Response, Body)} end
- ).
-
--spec map(response(HYI), fun((HYI) -> HYK)) -> response(HYK).
-map(Response, Transform) ->
- _pipe = erlang:element(4, Response),
- _pipe@1 = Transform(_pipe),
- set_body(Response, _pipe@1).
-
--spec redirect(binary()) -> response(binary()).
-redirect(Uri) ->
- {response,
- 303,
- [{<<"location"/utf8>>, Uri}],
- gleam@string:append(<<"You are being redirected to "/utf8>>, Uri)}.
-
--spec get_cookies(response(any())) -> list({binary(), binary()}).
-get_cookies(Resp) ->
- {response, _, Headers, _} = Resp,
- _pipe = Headers,
- _pipe@1 = gleam@list:filter_map(
- _pipe,
- fun(Header) ->
- {Name, Value} = Header,
- case Name of
- <<"set-cookie"/utf8>> ->
- {ok, gleam@http@cookie:parse(Value)};
-
- _ ->
- {error, nil}
- end
- end
- ),
- gleam@list:flatten(_pipe@1).
-
--spec set_cookie(
- response(HYP),
- binary(),
- binary(),
- gleam@http@cookie:attributes()
-) -> response(HYP).
-set_cookie(Response, Name, Value, Attributes) ->
- prepend_header(
- Response,
- <<"set-cookie"/utf8>>,
- gleam@http@cookie:set_header(Name, Value, Attributes)
- ).
-
--spec expire_cookie(response(HYS), binary(), gleam@http@cookie:attributes()) -> response(HYS).
-expire_cookie(Response, Name, Attributes) ->
- Attrs = erlang:setelement(2, Attributes, {some, 0}),
- set_cookie(Response, Name, <<""/utf8>>, Attrs).
diff --git a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@service.cache b/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@service.cache
deleted file mode 100644
index 2bdc561..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@service.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@service.cache_meta b/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@service.cache_meta
deleted file mode 100644
index c0222d6..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@service.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@service.erl b/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@service.erl
deleted file mode 100644
index 7aa0ed5..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam@http@service.erl
+++ /dev/null
@@ -1,82 +0,0 @@
--module(gleam@http@service).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([map_response_body/2, prepend_response_header/3, method_override/1]).
-
--spec map_response_body(
- fun((gleam@http@request:request(IIL)) -> gleam@http@response:response(IIM)),
- fun((IIM) -> IIP)
-) -> fun((gleam@http@request:request(IIL)) -> gleam@http@response:response(IIP)).
-map_response_body(Service, Mapper) ->
- fun(Req) -> _pipe = Req,
- _pipe@1 = Service(_pipe),
- gleam@http@response:map(_pipe@1, Mapper) end.
-
--spec prepend_response_header(
- fun((gleam@http@request:request(IIS)) -> gleam@http@response:response(IIT)),
- binary(),
- binary()
-) -> fun((gleam@http@request:request(IIS)) -> gleam@http@response:response(IIT)).
-prepend_response_header(Service, Key, Value) ->
- fun(Req) -> _pipe = Req,
- _pipe@1 = Service(_pipe),
- gleam@http@response:prepend_header(_pipe@1, Key, Value) end.
-
--spec ensure_post(gleam@http@request:request(IIY)) -> {ok,
- gleam@http@request:request(IIY)} |
- {error, nil}.
-ensure_post(Req) ->
- case erlang:element(2, Req) of
- post ->
- {ok, Req};
-
- _ ->
- {error, nil}
- end.
-
--spec get_override_method(gleam@http@request:request(any())) -> {ok,
- gleam@http:method()} |
- {error, nil}.
-get_override_method(Request) ->
- gleam@result:then(
- gleam@http@request:get_query(Request),
- fun(Query_params) ->
- gleam@result:then(
- gleam@list:key_find(Query_params, <<"_method"/utf8>>),
- fun(Method) ->
- gleam@result:then(
- gleam@http:parse_method(Method),
- fun(Method@1) -> case Method@1 of
- put ->
- {ok, Method@1};
-
- patch ->
- {ok, Method@1};
-
- delete ->
- {ok, Method@1};
-
- _ ->
- {error, nil}
- end end
- )
- end
- )
- end
- ).
-
--spec method_override(
- fun((gleam@http@request:request(IJF)) -> gleam@http@response:response(IJG))
-) -> fun((gleam@http@request:request(IJF)) -> gleam@http@response:response(IJG)).
-method_override(Service) ->
- fun(Request) -> _pipe = Request,
- _pipe@1 = ensure_post(_pipe),
- _pipe@2 = gleam@result:then(_pipe@1, fun get_override_method/1),
- _pipe@3 = gleam@result:map(
- _pipe@2,
- fun(_capture) ->
- gleam@http@request:set_method(Request, _capture)
- end
- ),
- _pipe@4 = gleam@result:unwrap(_pipe@3, Request),
- Service(_pipe@4) end.
diff --git a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam_http_native.erl b/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam_http_native.erl
deleted file mode 100644
index bb499bb..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam_http_native.erl
+++ /dev/null
@@ -1,88 +0,0 @@
--module(gleam_http_native).
--export([decode_method/1]).
-
-decode_method(Term) ->
- case Term of
- "connect" -> {ok, connect};
- "delete" -> {ok, delete};
- "get" -> {ok, get};
- "head" -> {ok, head};
- "options" -> {ok, options};
- "patch" -> {ok, patch};
- "post" -> {ok, post};
- "put" -> {ok, put};
- "trace" -> {ok, trace};
- "CONNECT" -> {ok, connect};
- "DELETE" -> {ok, delete};
- "GET" -> {ok, get};
- "HEAD" -> {ok, head};
- "OPTIONS" -> {ok, options};
- "PATCH" -> {ok, patch};
- "POST" -> {ok, post};
- "PUT" -> {ok, put};
- "TRACE" -> {ok, trace};
- "Connect" -> {ok, connect};
- "Delete" -> {ok, delete};
- "Get" -> {ok, get};
- "Head" -> {ok, head};
- "Options" -> {ok, options};
- "Patch" -> {ok, patch};
- "Post" -> {ok, post};
- "Put" -> {ok, put};
- "Trace" -> {ok, trace};
- 'connect' -> {ok, connect};
- 'delete' -> {ok, delete};
- 'get' -> {ok, get};
- 'head' -> {ok, head};
- 'options' -> {ok, options};
- 'patch' -> {ok, patch};
- 'post' -> {ok, post};
- 'put' -> {ok, put};
- 'trace' -> {ok, trace};
- 'CONNECT' -> {ok, connect};
- 'DELETE' -> {ok, delete};
- 'GET' -> {ok, get};
- 'HEAD' -> {ok, head};
- 'OPTIONS' -> {ok, options};
- 'PATCH' -> {ok, patch};
- 'POST' -> {ok, post};
- 'PUT' -> {ok, put};
- 'TRACE' -> {ok, trace};
- 'Connect' -> {ok, connect};
- 'Delete' -> {ok, delete};
- 'Get' -> {ok, get};
- 'Head' -> {ok, head};
- 'Options' -> {ok, options};
- 'Patch' -> {ok, patch};
- 'Post' -> {ok, post};
- 'Put' -> {ok, put};
- 'Trace' -> {ok, trace};
- <<"connect">> -> {ok, connect};
- <<"delete">> -> {ok, delete};
- <<"get">> -> {ok, get};
- <<"head">> -> {ok, head};
- <<"options">> -> {ok, options};
- <<"patch">> -> {ok, patch};
- <<"post">> -> {ok, post};
- <<"put">> -> {ok, put};
- <<"trace">> -> {ok, trace};
- <<"CONNECT">> -> {ok, connect};
- <<"DELETE">> -> {ok, delete};
- <<"GET">> -> {ok, get};
- <<"HEAD">> -> {ok, head};
- <<"OPTIONS">> -> {ok, options};
- <<"PATCH">> -> {ok, patch};
- <<"POST">> -> {ok, post};
- <<"PUT">> -> {ok, put};
- <<"TRACE">> -> {ok, trace};
- <<"Connect">> -> {ok, connect};
- <<"Delete">> -> {ok, delete};
- <<"Get">> -> {ok, get};
- <<"Head">> -> {ok, head};
- <<"Options">> -> {ok, options};
- <<"Patch">> -> {ok, patch};
- <<"Post">> -> {ok, post};
- <<"Put">> -> {ok, put};
- <<"Trace">> -> {ok, trace};
- _ -> {error, nil}
- end.
diff --git a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam_http_native.mjs b/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam_http_native.mjs
deleted file mode 100644
index c871a8b..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/_gleam_artefacts/gleam_http_native.mjs
+++ /dev/null
@@ -1,38 +0,0 @@
-import { Ok, Error } from "./gleam.mjs";
-import {
- Get,
- Post,
- Head,
- Put,
- Delete,
- Trace,
- Connect,
- Options,
- Patch,
-} from "./gleam/http.mjs";
-
-export function decode_method(value) {
- try {
- switch (value.toLowerCase()) {
- case "get":
- return new Ok(new Get());
- case "post":
- return new Ok(new Post());
- case "head":
- return new Ok(new Head());
- case "put":
- return new Ok(new Put());
- case "delete":
- return new Ok(new Delete());
- case "trace":
- return new Ok(new Trace());
- case "connect":
- return new Ok(new Connect());
- case "options":
- return new Ok(new Options());
- case "patch":
- return new Ok(new Patch());
- }
- } catch {}
- return new Error(undefined);
-}
diff --git a/aoc2023/build/dev/erlang/gleam_http/ebin/gleam@http.beam b/aoc2023/build/dev/erlang/gleam_http/ebin/gleam@http.beam
deleted file mode 100644
index 39142e6..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/ebin/gleam@http.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_http/ebin/gleam@http@cookie.beam b/aoc2023/build/dev/erlang/gleam_http/ebin/gleam@http@cookie.beam
deleted file mode 100644
index 905fe68..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/ebin/gleam@http@cookie.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_http/ebin/gleam@http@request.beam b/aoc2023/build/dev/erlang/gleam_http/ebin/gleam@http@request.beam
deleted file mode 100644
index f499969..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/ebin/gleam@http@request.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_http/ebin/gleam@http@response.beam b/aoc2023/build/dev/erlang/gleam_http/ebin/gleam@http@response.beam
deleted file mode 100644
index 1554f40..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/ebin/gleam@http@response.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_http/ebin/gleam@http@service.beam b/aoc2023/build/dev/erlang/gleam_http/ebin/gleam@http@service.beam
deleted file mode 100644
index aa271f1..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/ebin/gleam@http@service.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_http/ebin/gleam_http.app b/aoc2023/build/dev/erlang/gleam_http/ebin/gleam_http.app
deleted file mode 100644
index 5f55c6f..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/ebin/gleam_http.app
+++ /dev/null
@@ -1,7 +0,0 @@
-{application, gleam_http, [
- {vsn, "3.5.2"},
- {applications, [gleam_stdlib]},
- {description, "Types and functions for Gleam HTTP clients and servers"},
- {modules, []},
- {registered, []}
-]}.
diff --git a/aoc2023/build/dev/erlang/gleam_http/ebin/gleam_http_native.beam b/aoc2023/build/dev/erlang/gleam_http/ebin/gleam_http_native.beam
deleted file mode 100644
index 0b5e282..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/ebin/gleam_http_native.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_http/include/gleam@http@cookie_Attributes.hrl b/aoc2023/build/dev/erlang/gleam_http/include/gleam@http@cookie_Attributes.hrl
deleted file mode 100644
index 78a7d02..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/include/gleam@http@cookie_Attributes.hrl
+++ /dev/null
@@ -1,8 +0,0 @@
--record(attributes, {
- max_age :: gleam@option:option(integer()),
- domain :: gleam@option:option(binary()),
- path :: gleam@option:option(binary()),
- secure :: boolean(),
- http_only :: boolean(),
- same_site :: gleam@option:option(gleam@http@cookie:same_site_policy())
-}).
diff --git a/aoc2023/build/dev/erlang/gleam_http/include/gleam@http@request_Request.hrl b/aoc2023/build/dev/erlang/gleam_http/include/gleam@http@request_Request.hrl
deleted file mode 100644
index c8bbae6..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/include/gleam@http@request_Request.hrl
+++ /dev/null
@@ -1,10 +0,0 @@
--record(request, {
- method :: gleam@http:method(),
- headers :: list({binary(), binary()}),
- body :: any(),
- scheme :: gleam@http:scheme(),
- host :: binary(),
- port :: gleam@option:option(integer()),
- path :: binary(),
- 'query' :: gleam@option:option(binary())
-}).
diff --git a/aoc2023/build/dev/erlang/gleam_http/include/gleam@http@response_Response.hrl b/aoc2023/build/dev/erlang/gleam_http/include/gleam@http@response_Response.hrl
deleted file mode 100644
index ba6f077..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/include/gleam@http@response_Response.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(response, {
- status :: integer(),
- headers :: list({binary(), binary()}),
- body :: any()
-}).
diff --git a/aoc2023/build/dev/erlang/gleam_http/include/gleam@http_MoreRequiredForBody.hrl b/aoc2023/build/dev/erlang/gleam_http/include/gleam@http_MoreRequiredForBody.hrl
deleted file mode 100644
index abd56dd..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/include/gleam@http_MoreRequiredForBody.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(more_required_for_body, {
- chunk :: bitstring(),
- continuation :: fun((bitstring()) -> {ok, gleam@http:multipart_body()} |
- {error, nil})
-}).
diff --git a/aoc2023/build/dev/erlang/gleam_http/include/gleam@http_MoreRequiredForHeaders.hrl b/aoc2023/build/dev/erlang/gleam_http/include/gleam@http_MoreRequiredForHeaders.hrl
deleted file mode 100644
index 43729c1..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/include/gleam@http_MoreRequiredForHeaders.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(more_required_for_headers, {
- continuation :: fun((bitstring()) -> {ok, gleam@http:multipart_headers()} |
- {error, nil})
-}).
diff --git a/aoc2023/build/dev/erlang/gleam_http/include/gleam@http_MultipartBody.hrl b/aoc2023/build/dev/erlang/gleam_http/include/gleam@http_MultipartBody.hrl
deleted file mode 100644
index 4521591..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/include/gleam@http_MultipartBody.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(multipart_body, {
- chunk :: bitstring(),
- done :: boolean(),
- remaining :: bitstring()
-}).
diff --git a/aoc2023/build/dev/erlang/gleam_http/include/gleam@http_MultipartHeaders.hrl b/aoc2023/build/dev/erlang/gleam_http/include/gleam@http_MultipartHeaders.hrl
deleted file mode 100644
index d9fca5c..0000000
--- a/aoc2023/build/dev/erlang/gleam_http/include/gleam@http_MultipartHeaders.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(multipart_headers, {
- headers :: list({binary(), binary()}),
- remaining :: bitstring()
-}).
diff --git a/aoc2023/build/dev/erlang/gleam_httpc/_gleam_artefacts/gleam@@compile.erl b/aoc2023/build/dev/erlang/gleam_httpc/_gleam_artefacts/gleam@@compile.erl
deleted file mode 100644
index 543db88..0000000
--- a/aoc2023/build/dev/erlang/gleam_httpc/_gleam_artefacts/gleam@@compile.erl
+++ /dev/null
@@ -1,157 +0,0 @@
-#!/usr/bin/env escript
-
-% TODO: Don't concurrently print warnings and errors
-% TODO: Some tests
-
--record(arguments, {lib = "./", out = "./", modules = []}).
-
-main(Args) ->
- #arguments{out = Out, lib = Lib, modules = Modules} = parse(Args),
- IsElixirModule = fun(Module) ->
- filename:extension(Module) =:= ".ex"
- end,
- {ElixirModules, ErlangModules} = lists:partition(IsElixirModule, Modules),
- ok = configure_logging(),
- ok = add_lib_to_erlang_path(Lib),
- ok = filelib:ensure_dir([Out, $/]),
- {ErlangOk, _ErlangBeams} = compile_erlang(ErlangModules, Out),
- {ElixirOk, _ElixirBeams} = case ErlangOk of
- true -> compile_elixir(ElixirModules, Out);
- false -> {false, []}
- end,
- case ErlangOk and ElixirOk of
- true -> ok;
- false -> erlang:halt(1)
- end.
-
-compile_erlang(Modules, Out) ->
- Workers = start_compiler_workers(Out),
- ok = producer_loop(Modules, Workers),
- collect_results({true, []}).
-
-collect_results(Acc = {Result, Beams}) ->
- receive
- {compiled, Beam} -> collect_results({Result, [Beam | Beams]});
- failed -> collect_results({false, Beams})
- after 0 -> Acc
- end.
-
-producer_loop([], 0) ->
- ok;
-producer_loop([], Workers) ->
- receive
- {work_please, _} -> producer_loop([], Workers - 1)
- end;
-producer_loop([Module | Modules], Workers) ->
- receive
- {work_please, Worker} ->
- erlang:send(Worker, {module, Module}),
- producer_loop(Modules, Workers)
- end.
-
-start_compiler_workers(Out) ->
- Parent = self(),
- NumSchedulers = erlang:system_info(schedulers),
- SpawnWorker = fun(_) ->
- erlang:spawn_link(fun() -> worker_loop(Parent, Out) end)
- end,
- lists:foreach(SpawnWorker, lists:seq(1, NumSchedulers)),
- NumSchedulers.
-
-worker_loop(Parent, Out) ->
- Options = [report_errors, report_warnings, debug_info, {outdir, Out}],
- erlang:send(Parent, {work_please, self()}),
- receive
- {module, Module} ->
- log({compiling, Module}),
- case compile:file(Module, Options) of
- {ok, ModuleName} ->
- Beam = filename:join(Out, ModuleName) ++ ".beam",
- Message = {compiled, Beam},
- log(Message),
- erlang:send(Parent, Message);
- error ->
- log({failed, Module}),
- erlang:send(Parent, failed)
- end,
- worker_loop(Parent, Out)
- end.
-
-compile_elixir(Modules, Out) ->
- Error = [
- "The program elixir was not found. Is it installed?",
- $\n,
- "Documentation for installing Elixir can be viewed here:",
- $\n,
- "https://elixir-lang.org/install.html"
- ],
- case Modules of
- [] -> {true, []};
- _ ->
- log({starting, "compiler.app"}),
- ok = application:start(compiler),
- log({starting, "elixir.app"}),
- case application:start(elixir) of
- ok -> do_compile_elixir(Modules, Out);
- _ ->
- io:put_chars(standard_error, [Error, $\n]),
- {false, []}
- end
- end.
-
-do_compile_elixir(Modules, Out) ->
- ModuleBins = lists:map(fun(Module) ->
- log({compiling, Module}),
- list_to_binary(Module)
- end, Modules),
- OutBin = list_to_binary(Out),
- Options = [{dest, OutBin}],
- % Silence "redefining module" warnings.
- % Compiled modules in the build directory are added to the code path.
- % These warnings result from recompiling loaded modules.
- % TODO: This line can likely be removed if/when the build directory is cleaned before every compilation.
- 'Elixir.Code':compiler_options([{ignore_module_conflict, true}]),
- case 'Elixir.Kernel.ParallelCompiler':compile_to_path(ModuleBins, OutBin, Options) of
- {ok, ModuleAtoms, _} ->
- ToBeam = fun(ModuleAtom) ->
- Beam = filename:join(Out, atom_to_list(ModuleAtom)) ++ ".beam",
- log({compiled, Beam}),
- Beam
- end,
- {true, lists:map(ToBeam, ModuleAtoms)};
- {error, Errors, _} ->
- % Log all filenames associated with modules that failed to compile.
- % Note: The compiler prints compilation errors upon encountering them.
- ErrorFiles = lists:usort([File || {File, _, _} <- Errors]),
- Log = fun(File) ->
- log({failed, binary_to_list(File)})
- end,
- lists:foreach(Log, ErrorFiles),
- {false, []};
- _ -> {false, []}
- end.
-
-add_lib_to_erlang_path(Lib) ->
- code:add_paths(filelib:wildcard([Lib, "/*/ebin"])).
-
-parse(Args) ->
- parse(Args, #arguments{}).
-
-parse([], Arguments) ->
- Arguments;
-parse(["--lib", Lib | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{lib = Lib});
-parse(["--out", Out | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{out = Out});
-parse([Module | Rest], Arguments = #arguments{modules = Modules}) ->
- parse(Rest, Arguments#arguments{modules = [Module | Modules]}).
-
-configure_logging() ->
- Enabled = os:getenv("GLEAM_LOG") /= false,
- persistent_term:put(gleam_logging_enabled, Enabled).
-
-log(Term) ->
- case persistent_term:get(gleam_logging_enabled) of
- true -> erlang:display(Term), ok;
- false -> ok
- end.
diff --git a/aoc2023/build/dev/erlang/gleam_httpc/_gleam_artefacts/gleam@httpc.cache b/aoc2023/build/dev/erlang/gleam_httpc/_gleam_artefacts/gleam@httpc.cache
deleted file mode 100644
index 59082af..0000000
--- a/aoc2023/build/dev/erlang/gleam_httpc/_gleam_artefacts/gleam@httpc.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_httpc/_gleam_artefacts/gleam@httpc.cache_meta b/aoc2023/build/dev/erlang/gleam_httpc/_gleam_artefacts/gleam@httpc.cache_meta
deleted file mode 100644
index a340156..0000000
--- a/aoc2023/build/dev/erlang/gleam_httpc/_gleam_artefacts/gleam@httpc.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_httpc/_gleam_artefacts/gleam@httpc.erl b/aoc2023/build/dev/erlang/gleam_httpc/_gleam_artefacts/gleam@httpc.erl
deleted file mode 100644
index 1d634df..0000000
--- a/aoc2023/build/dev/erlang/gleam_httpc/_gleam_artefacts/gleam@httpc.erl
+++ /dev/null
@@ -1,118 +0,0 @@
--module(gleam@httpc).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([send_bits/1, send/1]).
--export_type([charlist/0, erl_http_option/0, body_format/0, erl_option/0]).
-
--type charlist() :: any().
-
--type erl_http_option() :: any().
-
--type body_format() :: binary.
-
--type erl_option() :: {body_format, body_format()}.
-
--spec charlist_header({binary(), binary()}) -> {charlist(), charlist()}.
-charlist_header(Header) ->
- {K, V} = Header,
- {erlang:binary_to_list(K), erlang:binary_to_list(V)}.
-
--spec string_header({charlist(), charlist()}) -> {binary(), binary()}.
-string_header(Header) ->
- {K, V} = Header,
- {erlang:list_to_binary(K), erlang:list_to_binary(V)}.
-
--spec send_bits(gleam@http@request:request(bitstring())) -> {ok,
- gleam@http@response:response(bitstring())} |
- {error, gleam@dynamic:dynamic_()}.
-send_bits(Req) ->
- Erl_url = begin
- _pipe = Req,
- _pipe@1 = gleam@http@request:to_uri(_pipe),
- _pipe@2 = gleam@uri:to_string(_pipe@1),
- erlang:binary_to_list(_pipe@2)
- end,
- Erl_headers = gleam@list:map(erlang:element(3, Req), fun charlist_header/1),
- Erl_http_options = [],
- Erl_options = [{body_format, binary}],
- gleam@result:then(case erlang:element(2, Req) of
- options ->
- Erl_req = {Erl_url, Erl_headers},
- httpc:request(
- erlang:element(2, Req),
- Erl_req,
- Erl_http_options,
- Erl_options
- );
-
- head ->
- Erl_req = {Erl_url, Erl_headers},
- httpc:request(
- erlang:element(2, Req),
- Erl_req,
- Erl_http_options,
- Erl_options
- );
-
- get ->
- Erl_req = {Erl_url, Erl_headers},
- httpc:request(
- erlang:element(2, Req),
- Erl_req,
- Erl_http_options,
- Erl_options
- );
-
- _ ->
- Erl_content_type = begin
- _pipe@3 = Req,
- _pipe@4 = gleam@http@request:get_header(
- _pipe@3,
- <<"content-type"/utf8>>
- ),
- _pipe@5 = gleam@result:unwrap(
- _pipe@4,
- <<"application/octet-stream"/utf8>>
- ),
- erlang:binary_to_list(_pipe@5)
- end,
- Erl_req@1 = {Erl_url,
- Erl_headers,
- Erl_content_type,
- erlang:element(4, Req)},
- httpc:request(
- erlang:element(2, Req),
- Erl_req@1,
- Erl_http_options,
- Erl_options
- )
- end, fun(Response) ->
- {{_, Status, _}, Headers, Resp_body} = Response,
- {ok,
- {response,
- Status,
- gleam@list:map(Headers, fun string_header/1),
- Resp_body}}
- end).
-
--spec send(gleam@http@request:request(binary())) -> {ok,
- gleam@http@response:response(binary())} |
- {error, gleam@dynamic:dynamic_()}.
-send(Req) ->
- gleam@result:then(
- begin
- _pipe = Req,
- _pipe@1 = gleam@http@request:map(_pipe, fun gleam_stdlib:identity/1),
- send_bits(_pipe@1)
- end,
- fun(Resp) -> case gleam@bit_array:to_string(erlang:element(4, Resp)) of
- {ok, Body} ->
- {ok, gleam@http@response:set_body(Resp, Body)};
-
- {error, _} ->
- {error,
- gleam@dynamic:from(
- <<"Response body was not valid UTF-8"/utf8>>
- )}
- end end
- ).
diff --git a/aoc2023/build/dev/erlang/gleam_httpc/ebin/gleam@httpc.beam b/aoc2023/build/dev/erlang/gleam_httpc/ebin/gleam@httpc.beam
deleted file mode 100644
index 1edf411..0000000
--- a/aoc2023/build/dev/erlang/gleam_httpc/ebin/gleam@httpc.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_httpc/ebin/gleam_httpc.app b/aoc2023/build/dev/erlang/gleam_httpc/ebin/gleam_httpc.app
deleted file mode 100644
index c99b5ea..0000000
--- a/aoc2023/build/dev/erlang/gleam_httpc/ebin/gleam_httpc.app
+++ /dev/null
@@ -1,10 +0,0 @@
-{application, gleam_httpc, [
- {vsn, "2.1.1"},
- {applications, [gleam_http,
- gleam_stdlib,
- inets,
- ssl]},
- {description, "Gleam bindings to Erlang's built in HTTP client, httpc"},
- {modules, []},
- {registered, []}
-]}.
diff --git a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@@compile.erl b/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@@compile.erl
deleted file mode 100644
index 543db88..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@@compile.erl
+++ /dev/null
@@ -1,157 +0,0 @@
-#!/usr/bin/env escript
-
-% TODO: Don't concurrently print warnings and errors
-% TODO: Some tests
-
--record(arguments, {lib = "./", out = "./", modules = []}).
-
-main(Args) ->
- #arguments{out = Out, lib = Lib, modules = Modules} = parse(Args),
- IsElixirModule = fun(Module) ->
- filename:extension(Module) =:= ".ex"
- end,
- {ElixirModules, ErlangModules} = lists:partition(IsElixirModule, Modules),
- ok = configure_logging(),
- ok = add_lib_to_erlang_path(Lib),
- ok = filelib:ensure_dir([Out, $/]),
- {ErlangOk, _ErlangBeams} = compile_erlang(ErlangModules, Out),
- {ElixirOk, _ElixirBeams} = case ErlangOk of
- true -> compile_elixir(ElixirModules, Out);
- false -> {false, []}
- end,
- case ErlangOk and ElixirOk of
- true -> ok;
- false -> erlang:halt(1)
- end.
-
-compile_erlang(Modules, Out) ->
- Workers = start_compiler_workers(Out),
- ok = producer_loop(Modules, Workers),
- collect_results({true, []}).
-
-collect_results(Acc = {Result, Beams}) ->
- receive
- {compiled, Beam} -> collect_results({Result, [Beam | Beams]});
- failed -> collect_results({false, Beams})
- after 0 -> Acc
- end.
-
-producer_loop([], 0) ->
- ok;
-producer_loop([], Workers) ->
- receive
- {work_please, _} -> producer_loop([], Workers - 1)
- end;
-producer_loop([Module | Modules], Workers) ->
- receive
- {work_please, Worker} ->
- erlang:send(Worker, {module, Module}),
- producer_loop(Modules, Workers)
- end.
-
-start_compiler_workers(Out) ->
- Parent = self(),
- NumSchedulers = erlang:system_info(schedulers),
- SpawnWorker = fun(_) ->
- erlang:spawn_link(fun() -> worker_loop(Parent, Out) end)
- end,
- lists:foreach(SpawnWorker, lists:seq(1, NumSchedulers)),
- NumSchedulers.
-
-worker_loop(Parent, Out) ->
- Options = [report_errors, report_warnings, debug_info, {outdir, Out}],
- erlang:send(Parent, {work_please, self()}),
- receive
- {module, Module} ->
- log({compiling, Module}),
- case compile:file(Module, Options) of
- {ok, ModuleName} ->
- Beam = filename:join(Out, ModuleName) ++ ".beam",
- Message = {compiled, Beam},
- log(Message),
- erlang:send(Parent, Message);
- error ->
- log({failed, Module}),
- erlang:send(Parent, failed)
- end,
- worker_loop(Parent, Out)
- end.
-
-compile_elixir(Modules, Out) ->
- Error = [
- "The program elixir was not found. Is it installed?",
- $\n,
- "Documentation for installing Elixir can be viewed here:",
- $\n,
- "https://elixir-lang.org/install.html"
- ],
- case Modules of
- [] -> {true, []};
- _ ->
- log({starting, "compiler.app"}),
- ok = application:start(compiler),
- log({starting, "elixir.app"}),
- case application:start(elixir) of
- ok -> do_compile_elixir(Modules, Out);
- _ ->
- io:put_chars(standard_error, [Error, $\n]),
- {false, []}
- end
- end.
-
-do_compile_elixir(Modules, Out) ->
- ModuleBins = lists:map(fun(Module) ->
- log({compiling, Module}),
- list_to_binary(Module)
- end, Modules),
- OutBin = list_to_binary(Out),
- Options = [{dest, OutBin}],
- % Silence "redefining module" warnings.
- % Compiled modules in the build directory are added to the code path.
- % These warnings result from recompiling loaded modules.
- % TODO: This line can likely be removed if/when the build directory is cleaned before every compilation.
- 'Elixir.Code':compiler_options([{ignore_module_conflict, true}]),
- case 'Elixir.Kernel.ParallelCompiler':compile_to_path(ModuleBins, OutBin, Options) of
- {ok, ModuleAtoms, _} ->
- ToBeam = fun(ModuleAtom) ->
- Beam = filename:join(Out, atom_to_list(ModuleAtom)) ++ ".beam",
- log({compiled, Beam}),
- Beam
- end,
- {true, lists:map(ToBeam, ModuleAtoms)};
- {error, Errors, _} ->
- % Log all filenames associated with modules that failed to compile.
- % Note: The compiler prints compilation errors upon encountering them.
- ErrorFiles = lists:usort([File || {File, _, _} <- Errors]),
- Log = fun(File) ->
- log({failed, binary_to_list(File)})
- end,
- lists:foreach(Log, ErrorFiles),
- {false, []};
- _ -> {false, []}
- end.
-
-add_lib_to_erlang_path(Lib) ->
- code:add_paths(filelib:wildcard([Lib, "/*/ebin"])).
-
-parse(Args) ->
- parse(Args, #arguments{}).
-
-parse([], Arguments) ->
- Arguments;
-parse(["--lib", Lib | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{lib = Lib});
-parse(["--out", Out | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{out = Out});
-parse([Module | Rest], Arguments = #arguments{modules = Modules}) ->
- parse(Rest, Arguments#arguments{modules = [Module | Modules]}).
-
-configure_logging() ->
- Enabled = os:getenv("GLEAM_LOG") /= false,
- persistent_term:put(gleam_logging_enabled, Enabled).
-
-log(Term) ->
- case persistent_term:get(gleam_logging_enabled) of
- true -> erlang:display(Term), ok;
- false -> ok
- end.
diff --git a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@actor.cache b/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@actor.cache
deleted file mode 100644
index 5aa9880..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@actor.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@actor.cache_meta b/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@actor.cache_meta
deleted file mode 100644
index d5f2a3e..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@actor.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@actor.erl b/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@actor.erl
deleted file mode 100644
index 9b215cb..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@actor.erl
+++ /dev/null
@@ -1,273 +0,0 @@
--module(gleam@otp@actor).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([continue/1, with_selector/2, to_erlang_start_result/1, start_spec/1, start/2, send/2, call/3]).
--export_type([message/1, next/2, init_result/2, self/2, spec/2, start_error/0, start_init_message/1]).
-
--type message(LTB) :: {message, LTB} |
- {system, gleam@otp@system:system_message()} |
- {unexpected, gleam@dynamic:dynamic_()}.
-
--type next(LTC, LTD) :: {continue,
- LTD,
- gleam@option:option(gleam@erlang@process:selector(LTC))} |
- {stop, gleam@erlang@process:exit_reason()}.
-
--type init_result(LTE, LTF) :: {ready, LTE, gleam@erlang@process:selector(LTF)} |
- {failed, binary()}.
-
--type self(LTG, LTH) :: {self,
- gleam@otp@system:mode(),
- gleam@erlang@process:pid_(),
- LTG,
- gleam@erlang@process:subject(LTH),
- gleam@erlang@process:selector(message(LTH)),
- gleam@otp@system:debug_state(),
- fun((LTH, LTG) -> next(LTH, LTG))}.
-
--type spec(LTI, LTJ) :: {spec,
- fun(() -> init_result(LTI, LTJ)),
- integer(),
- fun((LTJ, LTI) -> next(LTJ, LTI))}.
-
--type start_error() :: init_timeout |
- {init_failed, gleam@erlang@process:exit_reason()} |
- {init_crashed, gleam@dynamic:dynamic_()}.
-
--type start_init_message(LTK) :: {ack,
- {ok, gleam@erlang@process:subject(LTK)} |
- {error, gleam@erlang@process:exit_reason()}} |
- {mon, gleam@erlang@process:process_down()}.
-
--spec continue(LTR) -> next(any(), LTR).
-continue(State) ->
- {continue, State, none}.
-
--spec with_selector(next(LTV, LTW), gleam@erlang@process:selector(LTV)) -> next(LTV, LTW).
-with_selector(Value, Selector) ->
- case Value of
- {continue, State, _} ->
- {continue, State, {some, Selector}};
-
- _ ->
- Value
- end.
-
--spec exit_process(gleam@erlang@process:exit_reason()) -> gleam@erlang@process:exit_reason().
-exit_process(Reason) ->
- Reason.
-
--spec selecting_system_messages(gleam@erlang@process:selector(message(LUH))) -> gleam@erlang@process:selector(message(LUH)).
-selecting_system_messages(Selector) ->
- _pipe = Selector,
- gleam@erlang@process:selecting_record3(
- _pipe,
- erlang:binary_to_atom(<<"system"/utf8>>),
- fun gleam_otp_external:convert_system_message/2
- ).
-
--spec receive_message(self(any(), LUD)) -> message(LUD).
-receive_message(Self) ->
- Selector = case erlang:element(2, Self) of
- suspended ->
- _pipe = gleam_erlang_ffi:new_selector(),
- selecting_system_messages(_pipe);
-
- running ->
- _pipe@1 = gleam_erlang_ffi:new_selector(),
- _pipe@2 = gleam@erlang@process:selecting_anything(
- _pipe@1,
- fun(Field@0) -> {unexpected, Field@0} end
- ),
- _pipe@3 = gleam_erlang_ffi:merge_selector(
- _pipe@2,
- erlang:element(6, Self)
- ),
- selecting_system_messages(_pipe@3)
- end,
- gleam_erlang_ffi:select(Selector).
-
--spec process_status_info(self(any(), any())) -> gleam@otp@system:status_info().
-process_status_info(Self) ->
- {status_info,
- erlang:binary_to_atom(<<"gleam@otp@actor"/utf8>>),
- erlang:element(3, Self),
- erlang:element(2, Self),
- erlang:element(7, Self),
- gleam@dynamic:from(erlang:element(4, Self))}.
-
--spec init_selector(
- gleam@erlang@process:subject(LYW),
- gleam@erlang@process:selector(LYW)
-) -> gleam@erlang@process:selector(message(LYW)).
-init_selector(Subject, Selector) ->
- _pipe = gleam_erlang_ffi:new_selector(),
- _pipe@1 = gleam@erlang@process:selecting(
- _pipe,
- Subject,
- fun(Field@0) -> {message, Field@0} end
- ),
- gleam_erlang_ffi:merge_selector(
- _pipe@1,
- gleam_erlang_ffi:map_selector(
- Selector,
- fun(Field@0) -> {message, Field@0} end
- )
- ).
-
--spec loop(self(any(), any())) -> gleam@erlang@process:exit_reason().
-loop(Self) ->
- case receive_message(Self) of
- {system, System} ->
- case System of
- {get_state, Callback} ->
- Callback(gleam@dynamic:from(erlang:element(4, Self))),
- loop(Self);
-
- {resume, Callback@1} ->
- Callback@1(),
- loop(erlang:setelement(2, Self, running));
-
- {suspend, Callback@2} ->
- Callback@2(),
- loop(erlang:setelement(2, Self, suspended));
-
- {get_status, Callback@3} ->
- Callback@3(process_status_info(Self)),
- loop(Self)
- end;
-
- {unexpected, Message} ->
- logger:warning(
- unicode:characters_to_list(
- <<"Actor discarding unexpected message: ~s"/utf8>>
- ),
- [unicode:characters_to_list(gleam@string:inspect(Message))]
- ),
- loop(Self);
-
- {message, Msg} ->
- case (erlang:element(8, Self))(Msg, erlang:element(4, Self)) of
- {stop, Reason} ->
- exit_process(Reason);
-
- {continue, State, New_selector} ->
- Selector = begin
- _pipe = New_selector,
- _pipe@1 = gleam@option:map(
- _pipe,
- fun(_capture) ->
- init_selector(erlang:element(5, Self), _capture)
- end
- ),
- gleam@option:unwrap(_pipe@1, erlang:element(6, Self))
- end,
- loop(
- erlang:setelement(
- 6,
- erlang:setelement(4, Self, State),
- Selector
- )
- )
- end
- end.
-
--spec initialise_actor(
- spec(any(), LUY),
- gleam@erlang@process:subject({ok, gleam@erlang@process:subject(LUY)} |
- {error, gleam@erlang@process:exit_reason()})
-) -> gleam@erlang@process:exit_reason().
-initialise_actor(Spec, Ack) ->
- Subject = gleam@erlang@process:new_subject(),
- case (erlang:element(2, Spec))() of
- {ready, State, Selector} ->
- Selector@1 = init_selector(Subject, Selector),
- gleam@erlang@process:send(Ack, {ok, Subject}),
- Self = {self,
- running,
- gleam@erlang@process:subject_owner(Ack),
- State,
- Subject,
- Selector@1,
- sys:debug_options([]),
- erlang:element(4, Spec)},
- loop(Self);
-
- {failed, Reason} ->
- gleam@erlang@process:send(Ack, {error, {abnormal, Reason}}),
- exit_process({abnormal, Reason})
- end.
-
--spec to_erlang_start_result(
- {ok, gleam@erlang@process:subject(any())} | {error, start_error()}
-) -> {ok, gleam@erlang@process:pid_()} | {error, gleam@dynamic:dynamic_()}.
-to_erlang_start_result(Res) ->
- case Res of
- {ok, X} ->
- {ok, gleam@erlang@process:subject_owner(X)};
-
- {error, X@1} ->
- {error, gleam@dynamic:from(X@1)}
- end.
-
--spec start_spec(spec(any(), LVM)) -> {ok, gleam@erlang@process:subject(LVM)} |
- {error, start_error()}.
-start_spec(Spec) ->
- Ack_subject = gleam@erlang@process:new_subject(),
- Child = gleam@erlang@process:start(
- fun() -> initialise_actor(Spec, Ack_subject) end,
- true
- ),
- Monitor = gleam@erlang@process:monitor_process(Child),
- Selector = begin
- _pipe = gleam_erlang_ffi:new_selector(),
- _pipe@1 = gleam@erlang@process:selecting(
- _pipe,
- Ack_subject,
- fun(Field@0) -> {ack, Field@0} end
- ),
- gleam@erlang@process:selecting_process_down(
- _pipe@1,
- Monitor,
- fun(Field@0) -> {mon, Field@0} end
- )
- end,
- Result = case gleam_erlang_ffi:select(Selector, erlang:element(3, Spec)) of
- {ok, {ack, {ok, Channel}}} ->
- {ok, Channel};
-
- {ok, {ack, {error, Reason}}} ->
- {error, {init_failed, Reason}};
-
- {ok, {mon, Down}} ->
- {error, {init_crashed, erlang:element(3, Down)}};
-
- {error, nil} ->
- gleam@erlang@process:kill(Child),
- {error, init_timeout}
- end,
- gleam_erlang_ffi:demonitor(Monitor),
- Result.
-
--spec start(LVS, fun((LVT, LVS) -> next(LVT, LVS))) -> {ok,
- gleam@erlang@process:subject(LVT)} |
- {error, start_error()}.
-start(State, Loop) ->
- start_spec(
- {spec,
- fun() -> {ready, State, gleam_erlang_ffi:new_selector()} end,
- 5000,
- Loop}
- ).
-
--spec send(gleam@erlang@process:subject(LVZ), LVZ) -> nil.
-send(Subject, Msg) ->
- gleam@erlang@process:send(Subject, Msg).
-
--spec call(
- gleam@erlang@process:subject(LWB),
- fun((gleam@erlang@process:subject(LWD)) -> LWB),
- integer()
-) -> LWD.
-call(Selector, Make_message, Timeout) ->
- gleam@erlang@process:call(Selector, Make_message, Timeout).
diff --git a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@intensity_tracker.cache b/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@intensity_tracker.cache
deleted file mode 100644
index 2970843..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@intensity_tracker.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@intensity_tracker.cache_meta b/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@intensity_tracker.cache_meta
deleted file mode 100644
index 1997b5a..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@intensity_tracker.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@intensity_tracker.erl b/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@intensity_tracker.erl
deleted file mode 100644
index 8792f14..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@intensity_tracker.erl
+++ /dev/null
@@ -1,53 +0,0 @@
--module(gleam@otp@intensity_tracker).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([new/2, trim_window/3, add_event/1]).
--export_type([intensity_tracker/0, too_intense/0]).
-
--opaque intensity_tracker() :: {intensity_tracker,
- integer(),
- integer(),
- list(integer())}.
-
--type too_intense() :: too_intense.
-
--spec new(integer(), integer()) -> intensity_tracker().
-new(Limit, Period) ->
- {intensity_tracker, Limit, Period, []}.
-
--spec now_seconds() -> integer().
-now_seconds() ->
- erlang:monotonic_time(1).
-
--spec trim_window(list(integer()), integer(), integer()) -> list(integer()).
-trim_window(Events, Now, Period) ->
- case Events of
- [] ->
- [];
-
- [Event | Events@1] ->
- case Now >= (Event + Period) of
- true ->
- [Event | trim_window(Events@1, Now, Period)];
-
- false ->
- []
- end
- end.
-
--spec add_event(intensity_tracker()) -> {ok, intensity_tracker()} |
- {error, too_intense()}.
-add_event(Tracker) ->
- Now = now_seconds(),
- Events = trim_window(
- [Now | erlang:element(4, Tracker)],
- Now,
- erlang:element(3, Tracker)
- ),
- case gleam@list:length(Events) >= erlang:element(2, Tracker) of
- true ->
- {error, too_intense};
-
- false ->
- {ok, erlang:setelement(4, Tracker, Events)}
- end.
diff --git a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@port.cache b/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@port.cache
deleted file mode 100644
index e911262..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@port.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@port.cache_meta b/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@port.cache_meta
deleted file mode 100644
index 5f1cb59..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@port.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@port.erl b/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@port.erl
deleted file mode 100644
index b205739..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@port.erl
+++ /dev/null
@@ -1,8 +0,0 @@
--module(gleam@otp@port).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export_type([port_/0]).
-
--type port_() :: any().
-
-
diff --git a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@supervisor.cache b/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@supervisor.cache
deleted file mode 100644
index e3cbbc7..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@supervisor.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@supervisor.cache_meta b/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@supervisor.cache_meta
deleted file mode 100644
index f6f257e..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@supervisor.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@supervisor.erl b/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@supervisor.erl
deleted file mode 100644
index 75e6c9f..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@supervisor.erl
+++ /dev/null
@@ -1,322 +0,0 @@
--module(gleam@otp@supervisor).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([add/2, supervisor/1, worker/1, returning/2, start_spec/1, start/1, application_stopped/0, to_erlang_start_result/1]).
--export_type([spec/2, children/1, child_spec/3, child_start_error/0, message/0, instruction/0, state/1, starter/1, child/1, handle_exit_error/0, application_start_mode/0, application_stop/0]).
-
--type spec(MID, MIE) :: {spec,
- MID,
- integer(),
- integer(),
- fun((children(MID)) -> children(MIE))}.
-
--opaque children(MIF) :: {ready, starter(MIF)} | {failed, child_start_error()}.
-
--opaque child_spec(MIG, MIH, MII) :: {child_spec,
- fun((MIH) -> {ok, gleam@erlang@process:subject(MIG)} |
- {error, gleam@otp@actor:start_error()}),
- fun((MIH, gleam@erlang@process:subject(MIG)) -> MII)}.
-
--type child_start_error() :: {child_start_error,
- gleam@option:option(gleam@erlang@process:pid_()),
- gleam@otp@actor:start_error()}.
-
--opaque message() :: {exit, gleam@erlang@process:exit_message()} |
- {retry_restart, gleam@erlang@process:pid_()}.
-
--type instruction() :: start_all | {start_from, gleam@erlang@process:pid_()}.
-
--type state(MIJ) :: {state,
- gleam@otp@intensity_tracker:intensity_tracker(),
- starter(MIJ),
- gleam@erlang@process:subject(gleam@erlang@process:pid_())}.
-
--type starter(MIK) :: {starter,
- MIK,
- gleam@option:option(fun((instruction()) -> {ok,
- {starter(MIK), instruction()}} |
- {error, child_start_error()}))}.
-
--type child(MIL) :: {child, gleam@erlang@process:pid_(), MIL}.
-
--type handle_exit_error() :: {restart_failed,
- gleam@erlang@process:pid_(),
- gleam@otp@intensity_tracker:intensity_tracker()} |
- too_many_restarts.
-
--type application_start_mode() :: normal |
- {takeover, gleam@erlang@node:node_()} |
- {failover, gleam@erlang@node:node_()}.
-
--type application_stop() :: any().
-
--spec start_child(child_spec(any(), MIP, MIQ), MIP) -> {ok, child(MIQ)} |
- {error, child_start_error()}.
-start_child(Child_spec, Argument) ->
- gleam@result:then(
- begin
- _pipe = (erlang:element(2, Child_spec))(Argument),
- gleam@result:map_error(
- _pipe,
- fun(_capture) -> {child_start_error, none, _capture} end
- )
- end,
- fun(Subject) ->
- {ok,
- {child,
- gleam@erlang@process:subject_owner(Subject),
- (erlang:element(3, Child_spec))(Argument, Subject)}}
- end
- ).
-
--spec shutdown_child(
- gleam@erlang@process:pid_(),
- child_spec(any(), any(), any())
-) -> nil.
-shutdown_child(Pid, _) ->
- gleam@erlang@process:send_exit(Pid).
-
--spec perform_instruction_for_child(
- MJD,
- instruction(),
- child_spec(any(), MJD, MJF),
- child(MJF)
-) -> {ok, {child(MJF), instruction()}} | {error, child_start_error()}.
-perform_instruction_for_child(Argument, Instruction, Child_spec, Child) ->
- Current = erlang:element(2, Child),
- case Instruction of
- {start_from, Target} when Target =/= Current ->
- {ok, {Child, Instruction}};
-
- _ ->
- shutdown_child(Current, Child_spec),
- gleam@result:then(
- start_child(Child_spec, Argument),
- fun(Child@1) -> {ok, {Child@1, start_all}} end
- )
- end.
-
--spec add_child_to_starter(
- starter(MJN),
- child_spec(any(), MJN, MJQ),
- child(MJQ)
-) -> starter(MJQ).
-add_child_to_starter(Starter, Child_spec, Child) ->
- Starter@3 = fun(Instruction) ->
- gleam@result:then(case erlang:element(3, Starter) of
- {some, Start} ->
- Start(Instruction);
-
- none ->
- {ok, {Starter, Instruction}}
- end, fun(_use0) ->
- {Starter@1, Instruction@1} = _use0,
- gleam@result:then(
- perform_instruction_for_child(
- erlang:element(2, Starter@1),
- Instruction@1,
- Child_spec,
- Child
- ),
- fun(_use0@1) ->
- {Child@1, Instruction@2} = _use0@1,
- Starter@2 = add_child_to_starter(
- Starter@1,
- Child_spec,
- Child@1
- ),
- {ok, {Starter@2, Instruction@2}}
- end
- )
- end)
- end,
- {starter, erlang:element(3, Child), {some, Starter@3}}.
-
--spec start_and_add_child(starter(MJW), child_spec(any(), MJW, MJZ)) -> children(MJZ).
-start_and_add_child(State, Child_spec) ->
- case start_child(Child_spec, erlang:element(2, State)) of
- {ok, Child} ->
- {ready, add_child_to_starter(State, Child_spec, Child)};
-
- {error, Reason} ->
- {failed, Reason}
- end.
-
--spec add(children(MKE), child_spec(any(), MKE, MKH)) -> children(MKH).
-add(Children, Child_spec) ->
- case Children of
- {failed, Fail} ->
- {failed, Fail};
-
- {ready, State} ->
- start_and_add_child(State, Child_spec)
- end.
-
--spec supervisor(
- fun((MKM) -> {ok, gleam@erlang@process:subject(MKN)} |
- {error, gleam@otp@actor:start_error()})
-) -> child_spec(MKN, MKM, MKM).
-supervisor(Start) ->
- {child_spec, Start, fun(Argument, _) -> Argument end}.
-
--spec worker(
- fun((MKU) -> {ok, gleam@erlang@process:subject(MKV)} |
- {error, gleam@otp@actor:start_error()})
-) -> child_spec(MKV, MKU, MKU).
-worker(Start) ->
- {child_spec, Start, fun(Argument, _) -> Argument end}.
-
--spec returning(
- child_spec(MLC, MLD, any()),
- fun((MLD, gleam@erlang@process:subject(MLC)) -> MLJ)
-) -> child_spec(MLC, MLD, MLJ).
-returning(Child, Updater) ->
- {child_spec, erlang:element(2, Child), Updater}.
-
--spec init(spec(any(), MLO)) -> gleam@otp@actor:init_result(state(MLO), message()).
-init(Spec) ->
- Retry = gleam@erlang@process:new_subject(),
- gleam_erlang_ffi:trap_exits(true),
- Selector = begin
- _pipe = gleam_erlang_ffi:new_selector(),
- _pipe@1 = gleam@erlang@process:selecting(
- _pipe,
- Retry,
- fun(Field@0) -> {retry_restart, Field@0} end
- ),
- gleam@erlang@process:selecting_trapped_exits(
- _pipe@1,
- fun(Field@0) -> {exit, Field@0} end
- )
- end,
- Result = begin
- _pipe@2 = {starter, erlang:element(2, Spec), none},
- _pipe@3 = {ready, _pipe@2},
- (erlang:element(5, Spec))(_pipe@3)
- end,
- case Result of
- {ready, Starter} ->
- Restarts = gleam@otp@intensity_tracker:new(
- erlang:element(3, Spec),
- erlang:element(4, Spec)
- ),
- State = {state, Restarts, Starter, Retry},
- {ready, State, Selector};
-
- {failed, Error} ->
- {failed, case erlang:element(3, Error) of
- init_timeout ->
- <<"Child initialisation timed out"/utf8>>;
-
- {init_crashed, Reason} ->
- gleam@string:append(
- <<"Child crashed during initialisation: "/utf8>>,
- gleam@string:inspect(Reason)
- );
-
- {init_failed, Reason@1} ->
- gleam@string:append(
- <<"Child failed to start during initialisation: "/utf8>>,
- gleam@string:inspect(Reason@1)
- )
- end}
- end.
-
--spec handle_exit(gleam@erlang@process:pid_(), state(MLU)) -> gleam@otp@actor:next(message(), state(MLU)).
-handle_exit(Pid, State) ->
- Outcome = begin
- _assert_subject = erlang:element(3, erlang:element(3, State)),
- {some, Start} = case _assert_subject of
- {some, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam/otp/supervisor"/utf8>>,
- function => <<"handle_exit"/utf8>>,
- line => 293})
- end,
- gleam@result:then(
- begin
- _pipe = erlang:element(2, State),
- _pipe@1 = gleam@otp@intensity_tracker:add_event(_pipe),
- gleam@result:map_error(_pipe@1, fun(_) -> too_many_restarts end)
- end,
- fun(Restarts) ->
- gleam@result:then(
- begin
- _pipe@2 = Start({start_from, Pid}),
- gleam@result:map_error(
- _pipe@2,
- fun(E) ->
- {restart_failed,
- gleam@option:unwrap(
- erlang:element(2, E),
- Pid
- ),
- Restarts}
- end
- )
- end,
- fun(_use0) ->
- {Starter, _} = _use0,
- {ok,
- erlang:setelement(
- 2,
- erlang:setelement(3, State, Starter),
- Restarts
- )}
- end
- )
- end
- )
- end,
- case Outcome of
- {ok, State@1} ->
- gleam@otp@actor:continue(State@1);
-
- {error, {restart_failed, Failed_child, Restarts@1}} ->
- gleam@erlang@process:send(erlang:element(4, State), Failed_child),
- State@2 = erlang:setelement(2, State, Restarts@1),
- gleam@otp@actor:continue(State@2);
-
- {error, too_many_restarts} ->
- {stop,
- {abnormal,
- <<"Child processes restarted too many times within allowed period"/utf8>>}}
- end.
-
--spec loop(message(), state(MLZ)) -> gleam@otp@actor:next(message(), state(MLZ)).
-loop(Message, State) ->
- case Message of
- {exit, Exit_message} ->
- handle_exit(erlang:element(2, Exit_message), State);
-
- {retry_restart, Pid} ->
- handle_exit(Pid, State)
- end.
-
--spec start_spec(spec(any(), any())) -> {ok,
- gleam@erlang@process:subject(message())} |
- {error, gleam@otp@actor:start_error()}.
-start_spec(Spec) ->
- gleam@otp@actor:start_spec(
- {spec, fun() -> init(Spec) end, 60000, fun loop/2}
- ).
-
--spec start(fun((children(nil)) -> children(any()))) -> {ok,
- gleam@erlang@process:subject(message())} |
- {error, gleam@otp@actor:start_error()}.
-start(Init) ->
- start_spec({spec, nil, 1, 5, Init}).
-
--spec application_stopped() -> application_stop().
-application_stopped() ->
- gleam_otp_external:application_stopped().
-
--spec to_erlang_start_result(
- {ok, gleam@erlang@process:subject(any())} |
- {error, gleam@otp@actor:start_error()}
-) -> {ok, gleam@erlang@process:pid_()} | {error, gleam@dynamic:dynamic_()}.
-to_erlang_start_result(Res) ->
- gleam@otp@actor:to_erlang_start_result(Res).
diff --git a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@system.cache b/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@system.cache
deleted file mode 100644
index 1ecd94e..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@system.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@system.cache_meta b/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@system.cache_meta
deleted file mode 100644
index 9f64041..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@system.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@system.erl b/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@system.erl
deleted file mode 100644
index 622e5ea..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@system.erl
+++ /dev/null
@@ -1,43 +0,0 @@
--module(gleam@otp@system).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([debug_state/1, get_state/1, suspend/1, resume/1]).
--export_type([mode/0, debug_option/0, debug_state/0, status_info/0, system_message/0, do_not_leak/0]).
-
--type mode() :: running | suspended.
-
--type debug_option() :: no_debug.
-
--type debug_state() :: any().
-
--type status_info() :: {status_info,
- gleam@erlang@atom:atom_(),
- gleam@erlang@process:pid_(),
- mode(),
- debug_state(),
- gleam@dynamic:dynamic_()}.
-
--type system_message() :: {resume, fun(() -> nil)} |
- {suspend, fun(() -> nil)} |
- {get_state, fun((gleam@dynamic:dynamic_()) -> nil)} |
- {get_status, fun((status_info()) -> nil)}.
-
--type do_not_leak() :: any().
-
--spec debug_state(list(debug_option())) -> debug_state().
-debug_state(A) ->
- sys:debug_options(A).
-
--spec get_state(gleam@erlang@process:pid_()) -> gleam@dynamic:dynamic_().
-get_state(From) ->
- sys:get_state(From).
-
--spec suspend(gleam@erlang@process:pid_()) -> nil.
-suspend(Pid) ->
- sys:suspend(Pid),
- nil.
-
--spec resume(gleam@erlang@process:pid_()) -> nil.
-resume(Pid) ->
- sys:resume(Pid),
- nil.
diff --git a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@task.cache b/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@task.cache
deleted file mode 100644
index 3360869..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@task.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@task.cache_meta b/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@task.cache_meta
deleted file mode 100644
index e4f89cf..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@task.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@task.erl b/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@task.erl
deleted file mode 100644
index ae4037d..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam@otp@task.erl
+++ /dev/null
@@ -1,111 +0,0 @@
--module(gleam@otp@task).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([async/1, try_await/2, await/2, try_await_forever/1, await_forever/1]).
--export_type([task/1, await_error/0, message/1]).
-
--opaque task(MEB) :: {task,
- gleam@erlang@process:pid_(),
- gleam@erlang@process:pid_(),
- gleam@erlang@process:process_monitor(),
- gleam@erlang@process:selector(message(MEB))}.
-
--type await_error() :: timeout | {exit, gleam@dynamic:dynamic_()}.
-
--type message(MEC) :: {from_monitor, gleam@erlang@process:process_down()} |
- {from_subject, MEC}.
-
--spec async(fun(() -> MED)) -> task(MED).
-async(Work) ->
- Owner = erlang:self(),
- Subject = gleam@erlang@process:new_subject(),
- Pid = gleam@erlang@process:start(
- fun() -> gleam@erlang@process:send(Subject, Work()) end,
- true
- ),
- Monitor = gleam@erlang@process:monitor_process(Pid),
- Selector = begin
- _pipe = gleam_erlang_ffi:new_selector(),
- _pipe@1 = gleam@erlang@process:selecting_process_down(
- _pipe,
- Monitor,
- fun(Field@0) -> {from_monitor, Field@0} end
- ),
- gleam@erlang@process:selecting(
- _pipe@1,
- Subject,
- fun(Field@0) -> {from_subject, Field@0} end
- )
- end,
- {task, Owner, Pid, Monitor, Selector}.
-
--spec assert_owner(task(any())) -> nil.
-assert_owner(Task) ->
- Self = erlang:self(),
- case erlang:element(2, Task) =:= Self of
- true ->
- nil;
-
- false ->
- gleam@erlang@process:send_abnormal_exit(
- Self,
- <<"awaited on a task that does not belong to this process"/utf8>>
- )
- end.
-
--spec try_await(task(MEH), integer()) -> {ok, MEH} | {error, await_error()}.
-try_await(Task, Timeout) ->
- assert_owner(Task),
- case gleam_erlang_ffi:select(erlang:element(5, Task), Timeout) of
- {ok, {from_subject, X}} ->
- gleam_erlang_ffi:demonitor(erlang:element(4, Task)),
- {ok, X};
-
- {ok, {from_monitor, {process_down, _, Reason}}} ->
- {error, {exit, Reason}};
-
- {error, nil} ->
- {error, timeout}
- end.
-
--spec await(task(MEL), integer()) -> MEL.
-await(Task, Timeout) ->
- _assert_subject = try_await(Task, Timeout),
- {ok, Value} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam/otp/task"/utf8>>,
- function => <<"await"/utf8>>,
- line => 117})
- end,
- Value.
-
--spec try_await_forever(task(MEN)) -> {ok, MEN} | {error, await_error()}.
-try_await_forever(Task) ->
- assert_owner(Task),
- case gleam_erlang_ffi:select(erlang:element(5, Task)) of
- {from_subject, X} ->
- gleam_erlang_ffi:demonitor(erlang:element(4, Task)),
- {ok, X};
-
- {from_monitor, {process_down, _, Reason}} ->
- {error, {exit, Reason}}
- end.
-
--spec await_forever(task(MER)) -> MER.
-await_forever(Task) ->
- _assert_subject = try_await_forever(Task),
- {ok, Value} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam/otp/task"/utf8>>,
- function => <<"await_forever"/utf8>>,
- line => 149})
- end,
- Value.
diff --git a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam_otp.cache b/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam_otp.cache
deleted file mode 100644
index 601b922..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam_otp.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam_otp.cache_meta b/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam_otp.cache_meta
deleted file mode 100644
index 6b7a3a8..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam_otp.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam_otp.erl b/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam_otp.erl
deleted file mode 100644
index 9381ad2..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam_otp.erl
+++ /dev/null
@@ -1,28 +0,0 @@
--module(gleam_otp).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([main/0]).
-
--spec spawn_task(integer()) -> gleam@otp@task:task(nil).
-spawn_task(I) ->
- gleam@otp@task:async(fun() -> case (I rem 500) =:= 0 of
- true ->
- gleam@io:println(
- <<"Hello from "/utf8, (gleam@int:to_string(I))/binary>>
- );
-
- false ->
- nil
- end end).
-
--spec main() -> integer().
-main() ->
- gleam@io:debug(
- gleam_otp_test_external:get_message_queue_length(erlang:self())
- ),
- _pipe = gleam@list:range(0, 1000000),
- _pipe@1 = gleam@list:map(_pipe, fun spawn_task/1),
- gleam@list:each(_pipe@1, fun gleam@otp@task:await_forever/1),
- gleam@io:debug(
- gleam_otp_test_external:get_message_queue_length(erlang:self())
- ).
diff --git a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam_otp_external.erl b/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam_otp_external.erl
deleted file mode 100644
index 8910a67..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/_gleam_artefacts/gleam_otp_external.erl
+++ /dev/null
@@ -1,43 +0,0 @@
--module(gleam_otp_external).
-
--export([application_stopped/0, convert_system_message/2]).
-
-% TODO: support other system messages
-% {replace_state, StateFn}
-% {change_code, Mod, Vsn, Extra}
-% {terminate, Reason}
-% {debug, {log, Flag}}
-% {debug, {trace, Flag}}
-% {debug, {log_to_file, FileName}}
-% {debug, {statistics, Flag}}
-% {debug, no_debug}
-% {debug, {install, {Func, FuncState}}}
-% {debug, {install, {FuncId, Func, FuncState}}}
-% {debug, {remove, FuncOrId}}
-% GetStatus(Subject(StatusInfo))
-convert_system_message({From, Ref}, Request) when is_pid(From) ->
- Reply = fun(Msg) ->
- erlang:send(From, {Ref, Msg}),
- nil
- end,
- System = fun(Callback) ->
- {system, {Request, Callback}}
- end,
- case Request of
- get_status -> System(fun(Status) -> Reply(process_status(Status)) end);
- get_state -> System(Reply);
- suspend -> System(fun() -> Reply(ok) end);
- resume -> System(fun() -> Reply(ok) end);
- Other -> {unexpeceted, Other}
- end.
-
-process_status({status_info, Module, Parent, Mode, DebugState, State}) ->
- Data = [
- get(), Mode, Parent, DebugState,
- [{header, "Status for Gleam process " ++ pid_to_list(self())},
- {data, [{'Status', Mode}, {'Parent', Parent}, {'State', State}]}]
- ],
- {status, self(), {module, Module}, Data}.
-
-application_stopped() ->
- ok.
diff --git a/aoc2023/build/dev/erlang/gleam_otp/ebin/gleam@otp@actor.beam b/aoc2023/build/dev/erlang/gleam_otp/ebin/gleam@otp@actor.beam
deleted file mode 100644
index 1a777b4..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/ebin/gleam@otp@actor.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_otp/ebin/gleam@otp@intensity_tracker.beam b/aoc2023/build/dev/erlang/gleam_otp/ebin/gleam@otp@intensity_tracker.beam
deleted file mode 100644
index 5a126b5..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/ebin/gleam@otp@intensity_tracker.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_otp/ebin/gleam@otp@port.beam b/aoc2023/build/dev/erlang/gleam_otp/ebin/gleam@otp@port.beam
deleted file mode 100644
index 8b72b7d..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/ebin/gleam@otp@port.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_otp/ebin/gleam@otp@supervisor.beam b/aoc2023/build/dev/erlang/gleam_otp/ebin/gleam@otp@supervisor.beam
deleted file mode 100644
index 72f4b32..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/ebin/gleam@otp@supervisor.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_otp/ebin/gleam@otp@system.beam b/aoc2023/build/dev/erlang/gleam_otp/ebin/gleam@otp@system.beam
deleted file mode 100644
index 3aefd21..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/ebin/gleam@otp@system.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_otp/ebin/gleam@otp@task.beam b/aoc2023/build/dev/erlang/gleam_otp/ebin/gleam@otp@task.beam
deleted file mode 100644
index c21bc3b..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/ebin/gleam@otp@task.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_otp/ebin/gleam_otp.app b/aoc2023/build/dev/erlang/gleam_otp/ebin/gleam_otp.app
deleted file mode 100644
index 21dd444..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/ebin/gleam_otp.app
+++ /dev/null
@@ -1,8 +0,0 @@
-{application, gleam_otp, [
- {vsn, "0.8.0"},
- {applications, [gleam_erlang,
- gleam_stdlib]},
- {description, "Fault tolerant multicore Gleam programs with OTP"},
- {modules, []},
- {registered, []}
-]}.
diff --git a/aoc2023/build/dev/erlang/gleam_otp/ebin/gleam_otp.beam b/aoc2023/build/dev/erlang/gleam_otp/ebin/gleam_otp.beam
deleted file mode 100644
index 0a25445..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/ebin/gleam_otp.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_otp/ebin/gleam_otp_external.beam b/aoc2023/build/dev/erlang/gleam_otp/ebin/gleam_otp_external.beam
deleted file mode 100644
index f77f93b..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/ebin/gleam_otp_external.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@actor_Continue.hrl b/aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@actor_Continue.hrl
deleted file mode 100644
index 85677d1..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@actor_Continue.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(continue, {
- state :: any(),
- selector :: gleam@option:option(gleam@erlang@process:selector(any()))
-}).
diff --git a/aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@actor_Ready.hrl b/aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@actor_Ready.hrl
deleted file mode 100644
index 75faa95..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@actor_Ready.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(ready, {state :: any(), selector :: gleam@erlang@process:selector(any())}).
diff --git a/aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@actor_Spec.hrl b/aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@actor_Spec.hrl
deleted file mode 100644
index 5287439..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@actor_Spec.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(spec, {
- init :: fun(() -> gleam@otp@actor:init_result(any(), any())),
- init_timeout :: integer(),
- loop :: fun((any(), any()) -> gleam@otp@actor:next(any(), any()))
-}).
diff --git a/aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@intensity_tracker_IntensityTracker.hrl b/aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@intensity_tracker_IntensityTracker.hrl
deleted file mode 100644
index 3ed0b01..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@intensity_tracker_IntensityTracker.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(intensity_tracker, {
- limit :: integer(),
- period :: integer(),
- events :: list(integer())
-}).
diff --git a/aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@supervisor_ChildSpec.hrl b/aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@supervisor_ChildSpec.hrl
deleted file mode 100644
index 7afd07f..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@supervisor_ChildSpec.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(child_spec, {
- start :: fun((any()) -> {ok, gleam@erlang@process:subject(any())} |
- {error, gleam@otp@actor:start_error()}),
- returning :: fun((any(), gleam@erlang@process:subject(any())) -> any())
-}).
diff --git a/aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@supervisor_Spec.hrl b/aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@supervisor_Spec.hrl
deleted file mode 100644
index b10bd9f..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@supervisor_Spec.hrl
+++ /dev/null
@@ -1,6 +0,0 @@
--record(spec, {
- argument :: any(),
- max_frequency :: integer(),
- frequency_period :: integer(),
- init :: fun((gleam@otp@supervisor:children(any())) -> gleam@otp@supervisor:children(any()))
-}).
diff --git a/aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@system_StatusInfo.hrl b/aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@system_StatusInfo.hrl
deleted file mode 100644
index 99ab4cb..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@system_StatusInfo.hrl
+++ /dev/null
@@ -1,7 +0,0 @@
--record(status_info, {
- module :: gleam@erlang@atom:atom_(),
- parent :: gleam@erlang@process:pid_(),
- mode :: gleam@otp@system:mode(),
- debug_state :: gleam@otp@system:debug_state(),
- state :: gleam@dynamic:dynamic_()
-}).
diff --git a/aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@task_Exit.hrl b/aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@task_Exit.hrl
deleted file mode 100644
index 7c83874..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@task_Exit.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(exit, {reason :: gleam@dynamic:dynamic_()}).
diff --git a/aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@task_Task.hrl b/aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@task_Task.hrl
deleted file mode 100644
index 959bea8..0000000
--- a/aoc2023/build/dev/erlang/gleam_otp/include/gleam@otp@task_Task.hrl
+++ /dev/null
@@ -1,6 +0,0 @@
--record(task, {
- owner :: gleam@erlang@process:pid_(),
- pid :: gleam@erlang@process:pid_(),
- monitor :: gleam@erlang@process:process_monitor(),
- selector :: gleam@erlang@process:selector(gleam@otp@task:message(any()))
-}).
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/dict.mjs b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/dict.mjs
deleted file mode 100644
index a8309e0..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/dict.mjs
+++ /dev/null
@@ -1,957 +0,0 @@
-/**
- * This file uses jsdoc to annotate types.
- * These types can be checked using the typescript compiler with "checkjs" option.
- */
-
-import { isEqual } from "./gleam.mjs";
-
-const referenceMap = new WeakMap();
-const tempDataView = new DataView(new ArrayBuffer(8));
-let referenceUID = 0;
-/**
- * hash the object by reference using a weak map and incrementing uid
- * @param {any} o
- * @returns {number}
- */
-function hashByReference(o) {
- const known = referenceMap.get(o);
- if (known !== undefined) {
- return known;
- }
- const hash = referenceUID++;
- if (referenceUID === 0x7fffffff) {
- referenceUID = 0;
- }
- referenceMap.set(o, hash);
- return hash;
-}
-/**
- * merge two hashes in an order sensitive way
- * @param {number} a
- * @param {number} b
- * @returns {number}
- */
-function hashMerge(a, b) {
- return (a ^ (b + 0x9e3779b9 + (a << 6) + (a >> 2))) | 0;
-}
-/**
- * standard string hash popularised by java
- * @param {string} s
- * @returns {number}
- */
-function hashString(s) {
- let hash = 0;
- const len = s.length;
- for (let i = 0; i < len; i++) {
- hash = (Math.imul(31, hash) + s.charCodeAt(i)) | 0;
- }
- return hash;
-}
-/**
- * hash a number by converting to two integers and do some jumbling
- * @param {number} n
- * @returns {number}
- */
-function hashNumber(n) {
- tempDataView.setFloat64(0, n);
- const i = tempDataView.getInt32(0);
- const j = tempDataView.getInt32(4);
- return Math.imul(0x45d9f3b, (i >> 16) ^ i) ^ j;
-}
-/**
- * hash a BigInt by converting it to a string and hashing that
- * @param {BigInt} n
- * @returns {number}
- */
-function hashBigInt(n) {
- return hashString(n.toString());
-}
-/**
- * hash any js object
- * @param {any} o
- * @returns {number}
- */
-function hashObject(o) {
- const proto = Object.getPrototypeOf(o);
- if (proto !== null && typeof proto.hashCode === "function") {
- try {
- const code = o.hashCode(o);
- if (typeof code === "number") {
- return code;
- }
- } catch {}
- }
- if (o instanceof Promise || o instanceof WeakSet || o instanceof WeakMap) {
- return hashByReference(o);
- }
- if (o instanceof Date) {
- return hashNumber(o.getTime());
- }
- let h = 0;
- if (o instanceof ArrayBuffer) {
- o = new Uint8Array(o);
- }
- if (Array.isArray(o) || o instanceof Uint8Array) {
- for (let i = 0; i < o.length; i++) {
- h = (Math.imul(31, h) + getHash(o[i])) | 0;
- }
- } else if (o instanceof Set) {
- o.forEach((v) => {
- h = (h + getHash(v)) | 0;
- });
- } else if (o instanceof Map) {
- o.forEach((v, k) => {
- h = (h + hashMerge(getHash(v), getHash(k))) | 0;
- });
- } else {
- const keys = Object.keys(o);
- for (let i = 0; i < keys.length; i++) {
- const k = keys[i];
- const v = o[k];
- h = (h + hashMerge(getHash(v), hashString(k))) | 0;
- }
- }
- return h;
-}
-/**
- * hash any js value
- * @param {any} u
- * @returns {number}
- */
-export function getHash(u) {
- if (u === null) return 0x42108422;
- if (u === undefined) return 0x42108423;
- if (u === true) return 0x42108421;
- if (u === false) return 0x42108420;
- switch (typeof u) {
- case "number":
- return hashNumber(u);
- case "string":
- return hashString(u);
- case "bigint":
- return hashBigInt(u);
- case "object":
- return hashObject(u);
- case "symbol":
- return hashByReference(u);
- case "function":
- return hashByReference(u);
- default:
- return 0; // should be unreachable
- }
-}
-/**
- * @template K,V
- * @typedef {ArrayNode<K,V> | IndexNode<K,V> | CollisionNode<K,V>} Node
- */
-/**
- * @template K,V
- * @typedef {{ type: typeof ENTRY, k: K, v: V }} Entry
- */
-/**
- * @template K,V
- * @typedef {{ type: typeof ARRAY_NODE, size: number, array: (undefined | Entry<K,V> | Node<K,V>)[] }} ArrayNode
- */
-/**
- * @template K,V
- * @typedef {{ type: typeof INDEX_NODE, bitmap: number, array: (Entry<K,V> | Node<K,V>)[] }} IndexNode
- */
-/**
- * @template K,V
- * @typedef {{ type: typeof COLLISION_NODE, hash: number, array: Entry<K, V>[] }} CollisionNode
- */
-/**
- * @typedef {{ val: boolean }} Flag
- */
-const SHIFT = 5; // number of bits you need to shift by to get the next bucket
-const BUCKET_SIZE = Math.pow(2, SHIFT);
-const MASK = BUCKET_SIZE - 1; // used to zero out all bits not in the bucket
-const MAX_INDEX_NODE = BUCKET_SIZE / 2; // when does index node grow into array node
-const MIN_ARRAY_NODE = BUCKET_SIZE / 4; // when does array node shrink to index node
-const ENTRY = 0;
-const ARRAY_NODE = 1;
-const INDEX_NODE = 2;
-const COLLISION_NODE = 3;
-/** @type {IndexNode<any,any>} */
-const EMPTY = {
- type: INDEX_NODE,
- bitmap: 0,
- array: [],
-};
-/**
- * Mask the hash to get only the bucket corresponding to shift
- * @param {number} hash
- * @param {number} shift
- * @returns {number}
- */
-function mask(hash, shift) {
- return (hash >>> shift) & MASK;
-}
-/**
- * Set only the Nth bit where N is the masked hash
- * @param {number} hash
- * @param {number} shift
- * @returns {number}
- */
-function bitpos(hash, shift) {
- return 1 << mask(hash, shift);
-}
-/**
- * Count the number of 1 bits in a number
- * @param {number} x
- * @returns {number}
- */
-function bitcount(x) {
- x -= (x >> 1) & 0x55555555;
- x = (x & 0x33333333) + ((x >> 2) & 0x33333333);
- x = (x + (x >> 4)) & 0x0f0f0f0f;
- x += x >> 8;
- x += x >> 16;
- return x & 0x7f;
-}
-/**
- * Calculate the array index of an item in a bitmap index node
- * @param {number} bitmap
- * @param {number} bit
- * @returns {number}
- */
-function index(bitmap, bit) {
- return bitcount(bitmap & (bit - 1));
-}
-/**
- * Efficiently copy an array and set one value at an index
- * @template T
- * @param {T[]} arr
- * @param {number} at
- * @param {T} val
- * @returns {T[]}
- */
-function cloneAndSet(arr, at, val) {
- const len = arr.length;
- const out = new Array(len);
- for (let i = 0; i < len; ++i) {
- out[i] = arr[i];
- }
- out[at] = val;
- return out;
-}
-/**
- * Efficiently copy an array and insert one value at an index
- * @template T
- * @param {T[]} arr
- * @param {number} at
- * @param {T} val
- * @returns {T[]}
- */
-function spliceIn(arr, at, val) {
- const len = arr.length;
- const out = new Array(len + 1);
- let i = 0;
- let g = 0;
- while (i < at) {
- out[g++] = arr[i++];
- }
- out[g++] = val;
- while (i < len) {
- out[g++] = arr[i++];
- }
- return out;
-}
-/**
- * Efficiently copy an array and remove one value at an index
- * @template T
- * @param {T[]} arr
- * @param {number} at
- * @returns {T[]}
- */
-function spliceOut(arr, at) {
- const len = arr.length;
- const out = new Array(len - 1);
- let i = 0;
- let g = 0;
- while (i < at) {
- out[g++] = arr[i++];
- }
- ++i;
- while (i < len) {
- out[g++] = arr[i++];
- }
- return out;
-}
-/**
- * Create a new node containing two entries
- * @template K,V
- * @param {number} shift
- * @param {K} key1
- * @param {V} val1
- * @param {number} key2hash
- * @param {K} key2
- * @param {V} val2
- * @returns {Node<K,V>}
- */
-function createNode(shift, key1, val1, key2hash, key2, val2) {
- const key1hash = getHash(key1);
- if (key1hash === key2hash) {
- return {
- type: COLLISION_NODE,
- hash: key1hash,
- array: [
- { type: ENTRY, k: key1, v: val1 },
- { type: ENTRY, k: key2, v: val2 },
- ],
- };
- }
- const addedLeaf = { val: false };
- return assoc(
- assocIndex(EMPTY, shift, key1hash, key1, val1, addedLeaf),
- shift,
- key2hash,
- key2,
- val2,
- addedLeaf
- );
-}
-/**
- * @template T,K,V
- * @callback AssocFunction
- * @param {T} root
- * @param {number} shift
- * @param {number} hash
- * @param {K} key
- * @param {V} val
- * @param {Flag} addedLeaf
- * @returns {Node<K,V>}
- */
-/**
- * Associate a node with a new entry, creating a new node
- * @template T,K,V
- * @type {AssocFunction<Node<K,V>,K,V>}
- */
-function assoc(root, shift, hash, key, val, addedLeaf) {
- switch (root.type) {
- case ARRAY_NODE:
- return assocArray(root, shift, hash, key, val, addedLeaf);
- case INDEX_NODE:
- return assocIndex(root, shift, hash, key, val, addedLeaf);
- case COLLISION_NODE:
- return assocCollision(root, shift, hash, key, val, addedLeaf);
- }
-}
-/**
- * @template T,K,V
- * @type {AssocFunction<ArrayNode<K,V>,K,V>}
- */
-function assocArray(root, shift, hash, key, val, addedLeaf) {
- const idx = mask(hash, shift);
- const node = root.array[idx];
- // if the corresponding index is empty set the index to a newly created node
- if (node === undefined) {
- addedLeaf.val = true;
- return {
- type: ARRAY_NODE,
- size: root.size + 1,
- array: cloneAndSet(root.array, idx, { type: ENTRY, k: key, v: val }),
- };
- }
- if (node.type === ENTRY) {
- // if keys are equal replace the entry
- if (isEqual(key, node.k)) {
- if (val === node.v) {
- return root;
- }
- return {
- type: ARRAY_NODE,
- size: root.size,
- array: cloneAndSet(root.array, idx, {
- type: ENTRY,
- k: key,
- v: val,
- }),
- };
- }
- // otherwise upgrade the entry to a node and insert
- addedLeaf.val = true;
- return {
- type: ARRAY_NODE,
- size: root.size,
- array: cloneAndSet(
- root.array,
- idx,
- createNode(shift + SHIFT, node.k, node.v, hash, key, val)
- ),
- };
- }
- // otherwise call assoc on the child node
- const n = assoc(node, shift + SHIFT, hash, key, val, addedLeaf);
- // if the child node hasn't changed just return the old root
- if (n === node) {
- return root;
- }
- // otherwise set the index to the new node
- return {
- type: ARRAY_NODE,
- size: root.size,
- array: cloneAndSet(root.array, idx, n),
- };
-}
-/**
- * @template T,K,V
- * @type {AssocFunction<IndexNode<K,V>,K,V>}
- */
-function assocIndex(root, shift, hash, key, val, addedLeaf) {
- const bit = bitpos(hash, shift);
- const idx = index(root.bitmap, bit);
- // if there is already a item at this hash index..
- if ((root.bitmap & bit) !== 0) {
- // if there is a node at the index (not an entry), call assoc on the child node
- const node = root.array[idx];
- if (node.type !== ENTRY) {
- const n = assoc(node, shift + SHIFT, hash, key, val, addedLeaf);
- if (n === node) {
- return root;
- }
- return {
- type: INDEX_NODE,
- bitmap: root.bitmap,
- array: cloneAndSet(root.array, idx, n),
- };
- }
- // otherwise there is an entry at the index
- // if the keys are equal replace the entry with the updated value
- const nodeKey = node.k;
- if (isEqual(key, nodeKey)) {
- if (val === node.v) {
- return root;
- }
- return {
- type: INDEX_NODE,
- bitmap: root.bitmap,
- array: cloneAndSet(root.array, idx, {
- type: ENTRY,
- k: key,
- v: val,
- }),
- };
- }
- // if the keys are not equal, replace the entry with a new child node
- addedLeaf.val = true;
- return {
- type: INDEX_NODE,
- bitmap: root.bitmap,
- array: cloneAndSet(
- root.array,
- idx,
- createNode(shift + SHIFT, nodeKey, node.v, hash, key, val)
- ),
- };
- } else {
- // else there is currently no item at the hash index
- const n = root.array.length;
- // if the number of nodes is at the maximum, expand this node into an array node
- if (n >= MAX_INDEX_NODE) {
- // create a 32 length array for the new array node (one for each bit in the hash)
- const nodes = new Array(32);
- // create and insert a node for the new entry
- const jdx = mask(hash, shift);
- nodes[jdx] = assocIndex(EMPTY, shift + SHIFT, hash, key, val, addedLeaf);
- let j = 0;
- let bitmap = root.bitmap;
- // place each item in the index node into the correct spot in the array node
- // loop through all 32 bits / array positions
- for (let i = 0; i < 32; i++) {
- if ((bitmap & 1) !== 0) {
- const node = root.array[j++];
- nodes[i] = node;
- }
- // shift the bitmap to process the next bit
- bitmap = bitmap >>> 1;
- }
- return {
- type: ARRAY_NODE,
- size: n + 1,
- array: nodes,
- };
- } else {
- // else there is still space in this index node
- // simply insert a new entry at the hash index
- const newArray = spliceIn(root.array, idx, {
- type: ENTRY,
- k: key,
- v: val,
- });
- addedLeaf.val = true;
- return {
- type: INDEX_NODE,
- bitmap: root.bitmap | bit,
- array: newArray,
- };
- }
- }
-}
-/**
- * @template T,K,V
- * @type {AssocFunction<CollisionNode<K,V>,K,V>}
- */
-function assocCollision(root, shift, hash, key, val, addedLeaf) {
- // if there is a hash collision
- if (hash === root.hash) {
- const idx = collisionIndexOf(root, key);
- // if this key already exists replace the entry with the new value
- if (idx !== -1) {
- const entry = root.array[idx];
- if (entry.v === val) {
- return root;
- }
- return {
- type: COLLISION_NODE,
- hash: hash,
- array: cloneAndSet(root.array, idx, { type: ENTRY, k: key, v: val }),
- };
- }
- // otherwise insert the entry at the end of the array
- const size = root.array.length;
- addedLeaf.val = true;
- return {
- type: COLLISION_NODE,
- hash: hash,
- array: cloneAndSet(root.array, size, { type: ENTRY, k: key, v: val }),
- };
- }
- // if there is no hash collision, upgrade to an index node
- return assoc(
- {
- type: INDEX_NODE,
- bitmap: bitpos(root.hash, shift),
- array: [root],
- },
- shift,
- hash,
- key,
- val,
- addedLeaf
- );
-}
-/**
- * Find the index of a key in the collision node's array
- * @template K,V
- * @param {CollisionNode<K,V>} root
- * @param {K} key
- * @returns {number}
- */
-function collisionIndexOf(root, key) {
- const size = root.array.length;
- for (let i = 0; i < size; i++) {
- if (isEqual(key, root.array[i].k)) {
- return i;
- }
- }
- return -1;
-}
-/**
- * @template T,K,V
- * @callback FindFunction
- * @param {T} root
- * @param {number} shift
- * @param {number} hash
- * @param {K} key
- * @returns {undefined | Entry<K,V>}
- */
-/**
- * Return the found entry or undefined if not present in the root
- * @template K,V
- * @type {FindFunction<Node<K,V>,K,V>}
- */
-function find(root, shift, hash, key) {
- switch (root.type) {
- case ARRAY_NODE:
- return findArray(root, shift, hash, key);
- case INDEX_NODE:
- return findIndex(root, shift, hash, key);
- case COLLISION_NODE:
- return findCollision(root, key);
- }
-}
-/**
- * @template K,V
- * @type {FindFunction<ArrayNode<K,V>,K,V>}
- */
-function findArray(root, shift, hash, key) {
- const idx = mask(hash, shift);
- const node = root.array[idx];
- if (node === undefined) {
- return undefined;
- }
- if (node.type !== ENTRY) {
- return find(node, shift + SHIFT, hash, key);
- }
- if (isEqual(key, node.k)) {
- return node;
- }
- return undefined;
-}
-/**
- * @template K,V
- * @type {FindFunction<IndexNode<K,V>,K,V>}
- */
-function findIndex(root, shift, hash, key) {
- const bit = bitpos(hash, shift);
- if ((root.bitmap & bit) === 0) {
- return undefined;
- }
- const idx = index(root.bitmap, bit);
- const node = root.array[idx];
- if (node.type !== ENTRY) {
- return find(node, shift + SHIFT, hash, key);
- }
- if (isEqual(key, node.k)) {
- return node;
- }
- return undefined;
-}
-/**
- * @template K,V
- * @param {CollisionNode<K,V>} root
- * @param {K} key
- * @returns {undefined | Entry<K,V>}
- */
-function findCollision(root, key) {
- const idx = collisionIndexOf(root, key);
- if (idx < 0) {
- return undefined;
- }
- return root.array[idx];
-}
-/**
- * @template T,K,V
- * @callback WithoutFunction
- * @param {T} root
- * @param {number} shift
- * @param {number} hash
- * @param {K} key
- * @returns {undefined | Node<K,V>}
- */
-/**
- * Remove an entry from the root, returning the updated root.
- * Returns undefined if the node should be removed from the parent.
- * @template K,V
- * @type {WithoutFunction<Node<K,V>,K,V>}
- * */
-function without(root, shift, hash, key) {
- switch (root.type) {
- case ARRAY_NODE:
- return withoutArray(root, shift, hash, key);
- case INDEX_NODE:
- return withoutIndex(root, shift, hash, key);
- case COLLISION_NODE:
- return withoutCollision(root, key);
- }
-}
-/**
- * @template K,V
- * @type {WithoutFunction<ArrayNode<K,V>,K,V>}
- */
-function withoutArray(root, shift, hash, key) {
- const idx = mask(hash, shift);
- const node = root.array[idx];
- if (node === undefined) {
- return root; // already empty
- }
- let n = undefined;
- // if node is an entry and the keys are not equal there is nothing to remove
- // if node is not an entry do a recursive call
- if (node.type === ENTRY) {
- if (!isEqual(node.k, key)) {
- return root; // no changes
- }
- } else {
- n = without(node, shift + SHIFT, hash, key);
- if (n === node) {
- return root; // no changes
- }
- }
- // if the recursive call returned undefined the node should be removed
- if (n === undefined) {
- // if the number of child nodes is at the minimum, pack into an index node
- if (root.size <= MIN_ARRAY_NODE) {
- const arr = root.array;
- const out = new Array(root.size - 1);
- let i = 0;
- let j = 0;
- let bitmap = 0;
- while (i < idx) {
- const nv = arr[i];
- if (nv !== undefined) {
- out[j] = nv;
- bitmap |= 1 << i;
- ++j;
- }
- ++i;
- }
- ++i; // skip copying the removed node
- while (i < arr.length) {
- const nv = arr[i];
- if (nv !== undefined) {
- out[j] = nv;
- bitmap |= 1 << i;
- ++j;
- }
- ++i;
- }
- return {
- type: INDEX_NODE,
- bitmap: bitmap,
- array: out,
- };
- }
- return {
- type: ARRAY_NODE,
- size: root.size - 1,
- array: cloneAndSet(root.array, idx, n),
- };
- }
- return {
- type: ARRAY_NODE,
- size: root.size,
- array: cloneAndSet(root.array, idx, n),
- };
-}
-/**
- * @template K,V
- * @type {WithoutFunction<IndexNode<K,V>,K,V>}
- */
-function withoutIndex(root, shift, hash, key) {
- const bit = bitpos(hash, shift);
- if ((root.bitmap & bit) === 0) {
- return root; // already empty
- }
- const idx = index(root.bitmap, bit);
- const node = root.array[idx];
- // if the item is not an entry
- if (node.type !== ENTRY) {
- const n = without(node, shift + SHIFT, hash, key);
- if (n === node) {
- return root; // no changes
- }
- // if not undefined, the child node still has items, so update it
- if (n !== undefined) {
- return {
- type: INDEX_NODE,
- bitmap: root.bitmap,
- array: cloneAndSet(root.array, idx, n),
- };
- }
- // otherwise the child node should be removed
- // if it was the only child node, remove this node from the parent
- if (root.bitmap === bit) {
- return undefined;
- }
- // otherwise just remove the child node
- return {
- type: INDEX_NODE,
- bitmap: root.bitmap ^ bit,
- array: spliceOut(root.array, idx),
- };
- }
- // otherwise the item is an entry, remove it if the key matches
- if (isEqual(key, node.k)) {
- if (root.bitmap === bit) {
- return undefined;
- }
- return {
- type: INDEX_NODE,
- bitmap: root.bitmap ^ bit,
- array: spliceOut(root.array, idx),
- };
- }
- return root;
-}
-/**
- * @template K,V
- * @param {CollisionNode<K,V>} root
- * @param {K} key
- * @returns {undefined | Node<K,V>}
- */
-function withoutCollision(root, key) {
- const idx = collisionIndexOf(root, key);
- // if the key not found, no changes
- if (idx < 0) {
- return root;
- }
- // otherwise the entry was found, remove it
- // if it was the only entry in this node, remove the whole node
- if (root.array.length === 1) {
- return undefined;
- }
- // otherwise just remove the entry
- return {
- type: COLLISION_NODE,
- hash: root.hash,
- array: spliceOut(root.array, idx),
- };
-}
-/**
- * @template K,V
- * @param {undefined | Node<K,V>} root
- * @param {(value:V,key:K)=>void} fn
- * @returns {void}
- */
-function forEach(root, fn) {
- if (root === undefined) {
- return;
- }
- const items = root.array;
- const size = items.length;
- for (let i = 0; i < size; i++) {
- const item = items[i];
- if (item === undefined) {
- continue;
- }
- if (item.type === ENTRY) {
- fn(item.v, item.k);
- continue;
- }
- forEach(item, fn);
- }
-}
-/**
- * Extra wrapper to keep track of Dict size and clean up the API
- * @template K,V
- */
-export default class Dict {
- /**
- * @template V
- * @param {Record<string,V>} o
- * @returns {Dict<string,V>}
- */
- static fromObject(o) {
- const keys = Object.keys(o);
- /** @type Dict<string,V> */
- let m = Dict.new();
- for (let i = 0; i < keys.length; i++) {
- const k = keys[i];
- m = m.set(k, o[k]);
- }
- return m;
- }
- /**
- * @template K,V
- * @param {Map<K,V>} o
- * @returns {Dict<K,V>}
- */
- static fromMap(o) {
- /** @type Dict<K,V> */
- let m = Dict.new();
- o.forEach((v, k) => {
- m = m.set(k, v);
- });
- return m;
- }
- static new() {
- return new Dict(undefined, 0);
- }
- /**
- * @param {undefined | Node<K,V>} root
- * @param {number} size
- */
- constructor(root, size) {
- this.root = root;
- this.size = size;
- }
- /**
- * @template NotFound
- * @param {K} key
- * @param {NotFound} notFound
- * @returns {NotFound | V}
- */
- get(key, notFound) {
- if (this.root === undefined) {
- return notFound;
- }
- const found = find(this.root, 0, getHash(key), key);
- if (found === undefined) {
- return notFound;
- }
- return found.v;
- }
- /**
- * @param {K} key
- * @param {V} val
- * @returns {Dict<K,V>}
- */
- set(key, val) {
- const addedLeaf = { val: false };
- const root = this.root === undefined ? EMPTY : this.root;
- const newRoot = assoc(root, 0, getHash(key), key, val, addedLeaf);
- if (newRoot === this.root) {
- return this;
- }
- return new Dict(newRoot, addedLeaf.val ? this.size + 1 : this.size);
- }
- /**
- * @param {K} key
- * @returns {Dict<K,V>}
- */
- delete(key) {
- if (this.root === undefined) {
- return this;
- }
- const newRoot = without(this.root, 0, getHash(key), key);
- if (newRoot === this.root) {
- return this;
- }
- if (newRoot === undefined) {
- return Dict.new();
- }
- return new Dict(newRoot, this.size - 1);
- }
- /**
- * @param {K} key
- * @returns {boolean}
- */
- has(key) {
- if (this.root === undefined) {
- return false;
- }
- return find(this.root, 0, getHash(key), key) !== undefined;
- }
- /**
- * @returns {[K,V][]}
- */
- entries() {
- if (this.root === undefined) {
- return [];
- }
- /** @type [K,V][] */
- const result = [];
- this.forEach((v, k) => result.push([k, v]));
- return result;
- }
- /**
- *
- * @param {(val:V,key:K)=>void} fn
- */
- forEach(fn) {
- forEach(this.root, fn);
- }
- hashCode() {
- let h = 0;
- this.forEach((v, k) => {
- h = (h + hashMerge(getHash(v), getHash(k))) | 0;
- });
- return h;
- }
- /**
- * @param {unknown} o
- * @returns {boolean}
- */
- equals(o) {
- if (!(o instanceof Dict) || this.size !== o.size) {
- return false;
- }
- let equal = true;
- this.forEach((v, k) => {
- equal = equal && isEqual(o.get(k, !v), v);
- });
- return equal;
- }
-}
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@@compile.erl b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@@compile.erl
deleted file mode 100644
index 543db88..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@@compile.erl
+++ /dev/null
@@ -1,157 +0,0 @@
-#!/usr/bin/env escript
-
-% TODO: Don't concurrently print warnings and errors
-% TODO: Some tests
-
--record(arguments, {lib = "./", out = "./", modules = []}).
-
-main(Args) ->
- #arguments{out = Out, lib = Lib, modules = Modules} = parse(Args),
- IsElixirModule = fun(Module) ->
- filename:extension(Module) =:= ".ex"
- end,
- {ElixirModules, ErlangModules} = lists:partition(IsElixirModule, Modules),
- ok = configure_logging(),
- ok = add_lib_to_erlang_path(Lib),
- ok = filelib:ensure_dir([Out, $/]),
- {ErlangOk, _ErlangBeams} = compile_erlang(ErlangModules, Out),
- {ElixirOk, _ElixirBeams} = case ErlangOk of
- true -> compile_elixir(ElixirModules, Out);
- false -> {false, []}
- end,
- case ErlangOk and ElixirOk of
- true -> ok;
- false -> erlang:halt(1)
- end.
-
-compile_erlang(Modules, Out) ->
- Workers = start_compiler_workers(Out),
- ok = producer_loop(Modules, Workers),
- collect_results({true, []}).
-
-collect_results(Acc = {Result, Beams}) ->
- receive
- {compiled, Beam} -> collect_results({Result, [Beam | Beams]});
- failed -> collect_results({false, Beams})
- after 0 -> Acc
- end.
-
-producer_loop([], 0) ->
- ok;
-producer_loop([], Workers) ->
- receive
- {work_please, _} -> producer_loop([], Workers - 1)
- end;
-producer_loop([Module | Modules], Workers) ->
- receive
- {work_please, Worker} ->
- erlang:send(Worker, {module, Module}),
- producer_loop(Modules, Workers)
- end.
-
-start_compiler_workers(Out) ->
- Parent = self(),
- NumSchedulers = erlang:system_info(schedulers),
- SpawnWorker = fun(_) ->
- erlang:spawn_link(fun() -> worker_loop(Parent, Out) end)
- end,
- lists:foreach(SpawnWorker, lists:seq(1, NumSchedulers)),
- NumSchedulers.
-
-worker_loop(Parent, Out) ->
- Options = [report_errors, report_warnings, debug_info, {outdir, Out}],
- erlang:send(Parent, {work_please, self()}),
- receive
- {module, Module} ->
- log({compiling, Module}),
- case compile:file(Module, Options) of
- {ok, ModuleName} ->
- Beam = filename:join(Out, ModuleName) ++ ".beam",
- Message = {compiled, Beam},
- log(Message),
- erlang:send(Parent, Message);
- error ->
- log({failed, Module}),
- erlang:send(Parent, failed)
- end,
- worker_loop(Parent, Out)
- end.
-
-compile_elixir(Modules, Out) ->
- Error = [
- "The program elixir was not found. Is it installed?",
- $\n,
- "Documentation for installing Elixir can be viewed here:",
- $\n,
- "https://elixir-lang.org/install.html"
- ],
- case Modules of
- [] -> {true, []};
- _ ->
- log({starting, "compiler.app"}),
- ok = application:start(compiler),
- log({starting, "elixir.app"}),
- case application:start(elixir) of
- ok -> do_compile_elixir(Modules, Out);
- _ ->
- io:put_chars(standard_error, [Error, $\n]),
- {false, []}
- end
- end.
-
-do_compile_elixir(Modules, Out) ->
- ModuleBins = lists:map(fun(Module) ->
- log({compiling, Module}),
- list_to_binary(Module)
- end, Modules),
- OutBin = list_to_binary(Out),
- Options = [{dest, OutBin}],
- % Silence "redefining module" warnings.
- % Compiled modules in the build directory are added to the code path.
- % These warnings result from recompiling loaded modules.
- % TODO: This line can likely be removed if/when the build directory is cleaned before every compilation.
- 'Elixir.Code':compiler_options([{ignore_module_conflict, true}]),
- case 'Elixir.Kernel.ParallelCompiler':compile_to_path(ModuleBins, OutBin, Options) of
- {ok, ModuleAtoms, _} ->
- ToBeam = fun(ModuleAtom) ->
- Beam = filename:join(Out, atom_to_list(ModuleAtom)) ++ ".beam",
- log({compiled, Beam}),
- Beam
- end,
- {true, lists:map(ToBeam, ModuleAtoms)};
- {error, Errors, _} ->
- % Log all filenames associated with modules that failed to compile.
- % Note: The compiler prints compilation errors upon encountering them.
- ErrorFiles = lists:usort([File || {File, _, _} <- Errors]),
- Log = fun(File) ->
- log({failed, binary_to_list(File)})
- end,
- lists:foreach(Log, ErrorFiles),
- {false, []};
- _ -> {false, []}
- end.
-
-add_lib_to_erlang_path(Lib) ->
- code:add_paths(filelib:wildcard([Lib, "/*/ebin"])).
-
-parse(Args) ->
- parse(Args, #arguments{}).
-
-parse([], Arguments) ->
- Arguments;
-parse(["--lib", Lib | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{lib = Lib});
-parse(["--out", Out | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{out = Out});
-parse([Module | Rest], Arguments = #arguments{modules = Modules}) ->
- parse(Rest, Arguments#arguments{modules = [Module | Modules]}).
-
-configure_logging() ->
- Enabled = os:getenv("GLEAM_LOG") /= false,
- persistent_term:put(gleam_logging_enabled, Enabled).
-
-log(Term) ->
- case persistent_term:get(gleam_logging_enabled) of
- true -> erlang:display(Term), ok;
- false -> ok
- end.
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@base.cache b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@base.cache
deleted file mode 100644
index 1a9b6c1..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@base.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@base.cache_meta b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@base.cache_meta
deleted file mode 100644
index a935fcc..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@base.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@base.erl b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@base.erl
deleted file mode 100644
index 65bc3f6..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@base.erl
+++ /dev/null
@@ -1,20 +0,0 @@
--module(gleam@base).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([encode64/2, decode64/1, url_encode64/2, url_decode64/1]).
-
--spec encode64(bitstring(), boolean()) -> binary().
-encode64(Input, Padding) ->
- gleam@bit_array:base64_encode(Input, Padding).
-
--spec decode64(binary()) -> {ok, bitstring()} | {error, nil}.
-decode64(Encoded) ->
- gleam@bit_array:base64_decode(Encoded).
-
--spec url_encode64(bitstring(), boolean()) -> binary().
-url_encode64(Input, Padding) ->
- gleam@bit_array:base64_url_encode(Input, Padding).
-
--spec url_decode64(binary()) -> {ok, bitstring()} | {error, nil}.
-url_decode64(Encoded) ->
- gleam@bit_array:base64_url_decode(Encoded).
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_array.cache b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_array.cache
deleted file mode 100644
index 3b197e5..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_array.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_array.cache_meta b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_array.cache_meta
deleted file mode 100644
index bfd3dd8..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_array.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_array.erl b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_array.erl
deleted file mode 100644
index ba18dfa..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_array.erl
+++ /dev/null
@@ -1,102 +0,0 @@
--module(gleam@bit_array).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([from_string/1, byte_size/1, slice/3, is_utf8/1, to_string/1, concat/1, append/2, base64_encode/2, base64_decode/1, base64_url_encode/2, base64_url_decode/1, base16_encode/1, base16_decode/1]).
-
--spec from_string(binary()) -> bitstring().
-from_string(X) ->
- gleam_stdlib:identity(X).
-
--spec byte_size(bitstring()) -> integer().
-byte_size(X) ->
- erlang:byte_size(X).
-
--spec slice(bitstring(), integer(), integer()) -> {ok, bitstring()} |
- {error, nil}.
-slice(String, Position, Length) ->
- gleam_stdlib:bit_array_slice(String, Position, Length).
-
--spec do_is_utf8(bitstring()) -> boolean().
-do_is_utf8(Bits) ->
- case Bits of
- <<>> ->
- true;
-
- <<_/utf8, Rest/binary>> ->
- do_is_utf8(Rest);
-
- _ ->
- false
- end.
-
--spec is_utf8(bitstring()) -> boolean().
-is_utf8(Bits) ->
- do_is_utf8(Bits).
-
--spec do_to_string(bitstring()) -> {ok, binary()} | {error, nil}.
-do_to_string(Bits) ->
- case is_utf8(Bits) of
- true ->
- {ok, gleam_stdlib:identity(Bits)};
-
- false ->
- {error, nil}
- end.
-
--spec to_string(bitstring()) -> {ok, binary()} | {error, nil}.
-to_string(Bits) ->
- do_to_string(Bits).
-
--spec concat(list(bitstring())) -> bitstring().
-concat(Bit_arrays) ->
- gleam_stdlib:bit_array_concat(Bit_arrays).
-
--spec append(bitstring(), bitstring()) -> bitstring().
-append(First, Second) ->
- gleam_stdlib:bit_array_concat([First, Second]).
-
--spec base64_encode(bitstring(), boolean()) -> binary().
-base64_encode(Input, Padding) ->
- Encoded = base64:encode(Input),
- case Padding of
- true ->
- Encoded;
-
- false ->
- gleam@string:replace(Encoded, <<"="/utf8>>, <<""/utf8>>)
- end.
-
--spec base64_decode(binary()) -> {ok, bitstring()} | {error, nil}.
-base64_decode(Encoded) ->
- Padded = case erlang:byte_size(gleam_stdlib:identity(Encoded)) rem 4 of
- 0 ->
- Encoded;
-
- N ->
- gleam@string:append(
- Encoded,
- gleam@string:repeat(<<"="/utf8>>, 4 - N)
- )
- end,
- gleam_stdlib:base_decode64(Padded).
-
--spec base64_url_encode(bitstring(), boolean()) -> binary().
-base64_url_encode(Input, Padding) ->
- _pipe = base64_encode(Input, Padding),
- _pipe@1 = gleam@string:replace(_pipe, <<"+"/utf8>>, <<"-"/utf8>>),
- gleam@string:replace(_pipe@1, <<"/"/utf8>>, <<"_"/utf8>>).
-
--spec base64_url_decode(binary()) -> {ok, bitstring()} | {error, nil}.
-base64_url_decode(Encoded) ->
- _pipe = Encoded,
- _pipe@1 = gleam@string:replace(_pipe, <<"-"/utf8>>, <<"+"/utf8>>),
- _pipe@2 = gleam@string:replace(_pipe@1, <<"_"/utf8>>, <<"/"/utf8>>),
- base64_decode(_pipe@2).
-
--spec base16_encode(bitstring()) -> binary().
-base16_encode(Input) ->
- binary:encode_hex(Input).
-
--spec base16_decode(binary()) -> {ok, bitstring()} | {error, nil}.
-base16_decode(Input) ->
- gleam_stdlib:base16_decode(Input).
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_builder.cache b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_builder.cache
deleted file mode 100644
index d992172..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_builder.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_builder.cache_meta b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_builder.cache_meta
deleted file mode 100644
index bc4a1a5..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_builder.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_builder.erl b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_builder.erl
deleted file mode 100644
index 284c6d4..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_builder.erl
+++ /dev/null
@@ -1,66 +0,0 @@
--module(gleam@bit_builder).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([new/0, prepend/2, append/2, prepend_builder/2, append_builder/2, prepend_string/2, append_string/2, concat/1, concat_bit_strings/1, from_string/1, from_string_builder/1, from_bit_string/1, to_bit_string/1, byte_size/1]).
-
--spec new() -> gleam@bytes_builder:bytes_builder().
-new() ->
- gleam@bytes_builder:new().
-
--spec prepend(gleam@bytes_builder:bytes_builder(), bitstring()) -> gleam@bytes_builder:bytes_builder().
-prepend(To, Prefix) ->
- gleam@bytes_builder:prepend(To, Prefix).
-
--spec append(gleam@bytes_builder:bytes_builder(), bitstring()) -> gleam@bytes_builder:bytes_builder().
-append(To, Suffix) ->
- gleam@bytes_builder:append(To, Suffix).
-
--spec prepend_builder(
- gleam@bytes_builder:bytes_builder(),
- gleam@bytes_builder:bytes_builder()
-) -> gleam@bytes_builder:bytes_builder().
-prepend_builder(To, Prefix) ->
- gleam@bytes_builder:prepend_builder(To, Prefix).
-
--spec append_builder(
- gleam@bytes_builder:bytes_builder(),
- gleam@bytes_builder:bytes_builder()
-) -> gleam@bytes_builder:bytes_builder().
-append_builder(First, Second) ->
- gleam_stdlib:iodata_append(First, Second).
-
--spec prepend_string(gleam@bytes_builder:bytes_builder(), binary()) -> gleam@bytes_builder:bytes_builder().
-prepend_string(To, Prefix) ->
- gleam@bytes_builder:prepend_string(To, Prefix).
-
--spec append_string(gleam@bytes_builder:bytes_builder(), binary()) -> gleam@bytes_builder:bytes_builder().
-append_string(To, Suffix) ->
- gleam@bytes_builder:append_string(To, Suffix).
-
--spec concat(list(gleam@bytes_builder:bytes_builder())) -> gleam@bytes_builder:bytes_builder().
-concat(Builders) ->
- gleam_stdlib:identity(Builders).
-
--spec concat_bit_strings(list(bitstring())) -> gleam@bytes_builder:bytes_builder().
-concat_bit_strings(Bits) ->
- gleam_stdlib:identity(Bits).
-
--spec from_string(binary()) -> gleam@bytes_builder:bytes_builder().
-from_string(String) ->
- gleam_stdlib:wrap_list(String).
-
--spec from_string_builder(gleam@string_builder:string_builder()) -> gleam@bytes_builder:bytes_builder().
-from_string_builder(Builder) ->
- gleam_stdlib:wrap_list(Builder).
-
--spec from_bit_string(bitstring()) -> gleam@bytes_builder:bytes_builder().
-from_bit_string(Bits) ->
- gleam_stdlib:wrap_list(Bits).
-
--spec to_bit_string(gleam@bytes_builder:bytes_builder()) -> bitstring().
-to_bit_string(Builder) ->
- erlang:list_to_bitstring(Builder).
-
--spec byte_size(gleam@bytes_builder:bytes_builder()) -> integer().
-byte_size(Builder) ->
- erlang:iolist_size(Builder).
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_string.cache b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_string.cache
deleted file mode 100644
index 60cf27e..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_string.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_string.cache_meta b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_string.cache_meta
deleted file mode 100644
index f9f229f..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_string.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_string.erl b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_string.erl
deleted file mode 100644
index 7dabaa3..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_string.erl
+++ /dev/null
@@ -1,33 +0,0 @@
--module(gleam@bit_string).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([from_string/1, byte_size/1, append/2, slice/3, is_utf8/1, to_string/1, concat/1]).
-
--spec from_string(binary()) -> bitstring().
-from_string(X) ->
- gleam_stdlib:identity(X).
-
--spec byte_size(bitstring()) -> integer().
-byte_size(X) ->
- erlang:byte_size(X).
-
--spec append(bitstring(), bitstring()) -> bitstring().
-append(First, Second) ->
- gleam@bit_array:append(First, Second).
-
--spec slice(bitstring(), integer(), integer()) -> {ok, bitstring()} |
- {error, nil}.
-slice(String, Position, Length) ->
- gleam_stdlib:bit_array_slice(String, Position, Length).
-
--spec is_utf8(bitstring()) -> boolean().
-is_utf8(Bits) ->
- gleam@bit_array:is_utf8(Bits).
-
--spec to_string(bitstring()) -> {ok, binary()} | {error, nil}.
-to_string(Bits) ->
- gleam@bit_array:to_string(Bits).
-
--spec concat(list(bitstring())) -> bitstring().
-concat(Bit_strings) ->
- gleam_stdlib:bit_array_concat(Bit_strings).
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bool.cache b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bool.cache
deleted file mode 100644
index 10a98f8..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bool.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bool.cache_meta b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bool.cache_meta
deleted file mode 100644
index 33ef24c..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bool.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bool.erl b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bool.erl
deleted file mode 100644
index 57078cb..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bool.erl
+++ /dev/null
@@ -1,162 +0,0 @@
--module(gleam@bool).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export(['and'/2, 'or'/2, negate/1, nor/2, nand/2, exclusive_or/2, exclusive_nor/2, compare/2, max/2, min/2, to_int/1, to_string/1, guard/3, lazy_guard/3]).
-
--spec 'and'(boolean(), boolean()) -> boolean().
-'and'(A, B) ->
- A andalso B.
-
--spec 'or'(boolean(), boolean()) -> boolean().
-'or'(A, B) ->
- A orelse B.
-
--spec negate(boolean()) -> boolean().
-negate(Bool) ->
- case Bool of
- true ->
- false;
-
- false ->
- true
- end.
-
--spec nor(boolean(), boolean()) -> boolean().
-nor(A, B) ->
- case {A, B} of
- {false, false} ->
- true;
-
- {false, true} ->
- false;
-
- {true, false} ->
- false;
-
- {true, true} ->
- false
- end.
-
--spec nand(boolean(), boolean()) -> boolean().
-nand(A, B) ->
- case {A, B} of
- {false, false} ->
- true;
-
- {false, true} ->
- true;
-
- {true, false} ->
- true;
-
- {true, true} ->
- false
- end.
-
--spec exclusive_or(boolean(), boolean()) -> boolean().
-exclusive_or(A, B) ->
- case {A, B} of
- {false, false} ->
- false;
-
- {false, true} ->
- true;
-
- {true, false} ->
- true;
-
- {true, true} ->
- false
- end.
-
--spec exclusive_nor(boolean(), boolean()) -> boolean().
-exclusive_nor(A, B) ->
- case {A, B} of
- {false, false} ->
- true;
-
- {false, true} ->
- false;
-
- {true, false} ->
- false;
-
- {true, true} ->
- true
- end.
-
--spec compare(boolean(), boolean()) -> gleam@order:order().
-compare(A, B) ->
- case {A, B} of
- {true, true} ->
- eq;
-
- {true, false} ->
- gt;
-
- {false, false} ->
- eq;
-
- {false, true} ->
- lt
- end.
-
--spec max(boolean(), boolean()) -> boolean().
-max(A, B) ->
- case A of
- true ->
- true;
-
- false ->
- B
- end.
-
--spec min(boolean(), boolean()) -> boolean().
-min(A, B) ->
- case A of
- false ->
- false;
-
- true ->
- B
- end.
-
--spec to_int(boolean()) -> integer().
-to_int(Bool) ->
- case Bool of
- false ->
- 0;
-
- true ->
- 1
- end.
-
--spec to_string(boolean()) -> binary().
-to_string(Bool) ->
- case Bool of
- false ->
- <<"False"/utf8>>;
-
- true ->
- <<"True"/utf8>>
- end.
-
--spec guard(boolean(), EVP, fun(() -> EVP)) -> EVP.
-guard(Requirement, Consequence, Alternative) ->
- case Requirement of
- true ->
- Consequence;
-
- false ->
- Alternative()
- end.
-
--spec lazy_guard(boolean(), fun(() -> EVQ), fun(() -> EVQ)) -> EVQ.
-lazy_guard(Requirement, Consequence, Alternative) ->
- case Requirement of
- true ->
- Consequence();
-
- false ->
- Alternative()
- end.
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bytes_builder.cache b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bytes_builder.cache
deleted file mode 100644
index 8962cfc..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bytes_builder.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bytes_builder.cache_meta b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bytes_builder.cache_meta
deleted file mode 100644
index 7b614aa..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bytes_builder.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bytes_builder.erl b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bytes_builder.erl
deleted file mode 100644
index 2f6dd93..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@bytes_builder.erl
+++ /dev/null
@@ -1,87 +0,0 @@
--module(gleam@bytes_builder).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([append_builder/2, prepend_builder/2, concat/1, new/0, from_string/1, prepend_string/2, append_string/2, from_string_builder/1, from_bit_array/1, prepend/2, append/2, concat_bit_arrays/1, to_bit_array/1, byte_size/1]).
--export_type([bytes_builder/0]).
-
--opaque bytes_builder() :: {bytes, bitstring()} |
- {text, gleam@string_builder:string_builder()} |
- {many, list(bytes_builder())}.
-
--spec append_builder(bytes_builder(), bytes_builder()) -> bytes_builder().
-append_builder(First, Second) ->
- gleam_stdlib:iodata_append(First, Second).
-
--spec prepend_builder(bytes_builder(), bytes_builder()) -> bytes_builder().
-prepend_builder(Second, First) ->
- gleam_stdlib:iodata_append(First, Second).
-
--spec concat(list(bytes_builder())) -> bytes_builder().
-concat(Builders) ->
- gleam_stdlib:identity(Builders).
-
--spec new() -> bytes_builder().
-new() ->
- gleam_stdlib:identity([]).
-
--spec from_string(binary()) -> bytes_builder().
-from_string(String) ->
- gleam_stdlib:wrap_list(String).
-
--spec prepend_string(bytes_builder(), binary()) -> bytes_builder().
-prepend_string(Second, First) ->
- gleam_stdlib:iodata_append(gleam_stdlib:wrap_list(First), Second).
-
--spec append_string(bytes_builder(), binary()) -> bytes_builder().
-append_string(First, Second) ->
- gleam_stdlib:iodata_append(First, gleam_stdlib:wrap_list(Second)).
-
--spec from_string_builder(gleam@string_builder:string_builder()) -> bytes_builder().
-from_string_builder(Builder) ->
- gleam_stdlib:wrap_list(Builder).
-
--spec from_bit_array(bitstring()) -> bytes_builder().
-from_bit_array(Bits) ->
- gleam_stdlib:wrap_list(Bits).
-
--spec prepend(bytes_builder(), bitstring()) -> bytes_builder().
-prepend(Second, First) ->
- gleam_stdlib:iodata_append(gleam_stdlib:wrap_list(First), Second).
-
--spec append(bytes_builder(), bitstring()) -> bytes_builder().
-append(First, Second) ->
- gleam_stdlib:iodata_append(First, gleam_stdlib:wrap_list(Second)).
-
--spec concat_bit_arrays(list(bitstring())) -> bytes_builder().
-concat_bit_arrays(Bits) ->
- gleam_stdlib:identity(Bits).
-
--spec to_list(list(list(bytes_builder())), list(bitstring())) -> list(bitstring()).
-to_list(Stack, Acc) ->
- case Stack of
- [] ->
- Acc;
-
- [[] | Remaining_stack] ->
- to_list(Remaining_stack, Acc);
-
- [[{bytes, Bits} | Rest] | Remaining_stack@1] ->
- to_list([Rest | Remaining_stack@1], [Bits | Acc]);
-
- [[{text, Builder} | Rest@1] | Remaining_stack@2] ->
- Bits@1 = gleam_stdlib:identity(
- gleam@string_builder:to_string(Builder)
- ),
- to_list([Rest@1 | Remaining_stack@2], [Bits@1 | Acc]);
-
- [[{many, Builders} | Rest@2] | Remaining_stack@3] ->
- to_list([Builders, Rest@2 | Remaining_stack@3], Acc)
- end.
-
--spec to_bit_array(bytes_builder()) -> bitstring().
-to_bit_array(Builder) ->
- erlang:list_to_bitstring(Builder).
-
--spec byte_size(bytes_builder()) -> integer().
-byte_size(Builder) ->
- erlang:iolist_size(Builder).
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@dict.cache b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@dict.cache
deleted file mode 100644
index acf4017..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@dict.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@dict.cache_meta b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@dict.cache_meta
deleted file mode 100644
index 4410520..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@dict.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@dict.erl b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@dict.erl
deleted file mode 100644
index 44b89ea..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@dict.erl
+++ /dev/null
@@ -1,97 +0,0 @@
--module(gleam@dict).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([size/1, to_list/1, from_list/1, has_key/2, new/0, get/2, insert/3, map_values/2, keys/1, values/1, filter/2, take/2, merge/2, delete/2, drop/2, update/3, fold/3]).
--export_type([dict/2]).
-
--type dict(KS, KT) :: any() | {gleam_phantom, KS, KT}.
-
--spec size(dict(any(), any())) -> integer().
-size(Dict) ->
- maps:size(Dict).
-
--spec to_list(dict(LC, LD)) -> list({LC, LD}).
-to_list(Dict) ->
- maps:to_list(Dict).
-
--spec from_list(list({LM, LN})) -> dict(LM, LN).
-from_list(List) ->
- maps:from_list(List).
-
--spec has_key(dict(LW, any()), LW) -> boolean().
-has_key(Dict, Key) ->
- maps:is_key(Key, Dict).
-
--spec new() -> dict(any(), any()).
-new() ->
- maps:new().
-
--spec get(dict(MM, MN), MM) -> {ok, MN} | {error, nil}.
-get(From, Get) ->
- gleam_stdlib:map_get(From, Get).
-
--spec insert(dict(MY, MZ), MY, MZ) -> dict(MY, MZ).
-insert(Dict, Key, Value) ->
- maps:put(Key, Value, Dict).
-
--spec map_values(dict(NK, NL), fun((NK, NL) -> NO)) -> dict(NK, NO).
-map_values(Dict, Fun) ->
- maps:map(Fun, Dict).
-
--spec keys(dict(NY, any())) -> list(NY).
-keys(Dict) ->
- maps:keys(Dict).
-
--spec values(dict(any(), OJ)) -> list(OJ).
-values(Dict) ->
- maps:values(Dict).
-
--spec filter(dict(OS, OT), fun((OS, OT) -> boolean())) -> dict(OS, OT).
-filter(Dict, Predicate) ->
- maps:filter(Predicate, Dict).
-
--spec take(dict(PE, PF), list(PE)) -> dict(PE, PF).
-take(Dict, Desired_keys) ->
- maps:with(Desired_keys, Dict).
-
--spec merge(dict(PS, PT), dict(PS, PT)) -> dict(PS, PT).
-merge(Dict, New_entries) ->
- maps:merge(Dict, New_entries).
-
--spec delete(dict(QI, QJ), QI) -> dict(QI, QJ).
-delete(Dict, Key) ->
- maps:remove(Key, Dict).
-
--spec drop(dict(QU, QV), list(QU)) -> dict(QU, QV).
-drop(Dict, Disallowed_keys) ->
- case Disallowed_keys of
- [] ->
- Dict;
-
- [X | Xs] ->
- drop(delete(Dict, X), Xs)
- end.
-
--spec update(dict(RB, RC), RB, fun((gleam@option:option(RC)) -> RC)) -> dict(RB, RC).
-update(Dict, Key, Fun) ->
- _pipe = Dict,
- _pipe@1 = get(_pipe, Key),
- _pipe@2 = gleam@option:from_result(_pipe@1),
- _pipe@3 = Fun(_pipe@2),
- insert(Dict, Key, _pipe@3).
-
--spec do_fold(list({RI, RJ}), RL, fun((RL, RI, RJ) -> RL)) -> RL.
-do_fold(List, Initial, Fun) ->
- case List of
- [] ->
- Initial;
-
- [{K, V} | Rest] ->
- do_fold(Rest, Fun(Initial, K, V), Fun)
- end.
-
--spec fold(dict(RM, RN), RQ, fun((RQ, RM, RN) -> RQ)) -> RQ.
-fold(Dict, Initial, Fun) ->
- _pipe = Dict,
- _pipe@1 = to_list(_pipe),
- do_fold(_pipe@1, Initial, Fun).
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@dynamic.cache b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@dynamic.cache
deleted file mode 100644
index f10ed2a..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@dynamic.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@dynamic.cache_meta b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@dynamic.cache_meta
deleted file mode 100644
index 9ae5074..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@dynamic.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@dynamic.erl b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@dynamic.erl
deleted file mode 100644
index 2c6016f..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@dynamic.erl
+++ /dev/null
@@ -1,808 +0,0 @@
--module(gleam@dynamic).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([from/1, unsafe_coerce/1, dynamic/1, bit_array/1, bit_string/1, classify/1, int/1, float/1, bool/1, shallow_list/1, optional/1, any/1, decode1/2, result/2, list/1, string/1, field/2, optional_field/2, element/2, tuple2/2, tuple3/3, tuple4/4, tuple5/5, tuple6/6, dict/2, map/2, decode2/3, decode3/4, decode4/5, decode5/6, decode6/7, decode7/8, decode8/9, decode9/10]).
--export_type([dynamic_/0, decode_error/0, unknown_tuple/0]).
-
--type dynamic_() :: any().
-
--type decode_error() :: {decode_error, binary(), binary(), list(binary())}.
-
--type unknown_tuple() :: any().
-
--spec from(any()) -> dynamic_().
-from(A) ->
- gleam_stdlib:identity(A).
-
--spec unsafe_coerce(dynamic_()) -> any().
-unsafe_coerce(A) ->
- gleam_stdlib:identity(A).
-
--spec dynamic(dynamic_()) -> {ok, dynamic_()} | {error, list(decode_error())}.
-dynamic(Value) ->
- {ok, Value}.
-
--spec bit_array(dynamic_()) -> {ok, bitstring()} | {error, list(decode_error())}.
-bit_array(Data) ->
- gleam_stdlib:decode_bit_array(Data).
-
--spec bit_string(dynamic_()) -> {ok, bitstring()} |
- {error, list(decode_error())}.
-bit_string(Data) ->
- bit_array(Data).
-
--spec put_expected(decode_error(), binary()) -> decode_error().
-put_expected(Error, Expected) ->
- erlang:setelement(2, Error, Expected).
-
--spec classify(dynamic_()) -> binary().
-classify(Data) ->
- gleam_stdlib:classify_dynamic(Data).
-
--spec int(dynamic_()) -> {ok, integer()} | {error, list(decode_error())}.
-int(Data) ->
- gleam_stdlib:decode_int(Data).
-
--spec float(dynamic_()) -> {ok, float()} | {error, list(decode_error())}.
-float(Data) ->
- gleam_stdlib:decode_float(Data).
-
--spec bool(dynamic_()) -> {ok, boolean()} | {error, list(decode_error())}.
-bool(Data) ->
- gleam_stdlib:decode_bool(Data).
-
--spec shallow_list(dynamic_()) -> {ok, list(dynamic_())} |
- {error, list(decode_error())}.
-shallow_list(Value) ->
- gleam_stdlib:decode_list(Value).
-
--spec optional(fun((dynamic_()) -> {ok, DGM} | {error, list(decode_error())})) -> fun((dynamic_()) -> {ok,
- gleam@option:option(DGM)} |
- {error, list(decode_error())}).
-optional(Decode) ->
- fun(Value) -> gleam_stdlib:decode_option(Value, Decode) end.
-
--spec at_least_decode_tuple_error(integer(), dynamic_()) -> {ok, any()} |
- {error, list(decode_error())}.
-at_least_decode_tuple_error(Size, Data) ->
- S = case Size of
- 1 ->
- <<""/utf8>>;
-
- _ ->
- <<"s"/utf8>>
- end,
- Error = begin
- _pipe = [<<"Tuple of at least "/utf8>>,
- gleam@int:to_string(Size),
- <<" element"/utf8>>,
- S],
- _pipe@1 = gleam@string_builder:from_strings(_pipe),
- _pipe@2 = gleam@string_builder:to_string(_pipe@1),
- {decode_error, _pipe@2, classify(Data), []}
- end,
- {error, [Error]}.
-
--spec any(list(fun((dynamic_()) -> {ok, DKT} | {error, list(decode_error())}))) -> fun((dynamic_()) -> {ok,
- DKT} |
- {error, list(decode_error())}).
-any(Decoders) ->
- fun(Data) -> case Decoders of
- [] ->
- {error,
- [{decode_error, <<"another type"/utf8>>, classify(Data), []}]};
-
- [Decoder | Decoders@1] ->
- case Decoder(Data) of
- {ok, Decoded} ->
- {ok, Decoded};
-
- {error, _} ->
- (any(Decoders@1))(Data)
- end
- end end.
-
--spec all_errors({ok, any()} | {error, list(decode_error())}) -> list(decode_error()).
-all_errors(Result) ->
- case Result of
- {ok, _} ->
- [];
-
- {error, Errors} ->
- Errors
- end.
-
--spec decode1(
- fun((DKX) -> DKY),
- fun((dynamic_()) -> {ok, DKX} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, DKY} | {error, list(decode_error())}).
-decode1(Constructor, T1) ->
- fun(Value) -> case T1(Value) of
- {ok, A} ->
- {ok, Constructor(A)};
-
- A@1 ->
- {error, all_errors(A@1)}
- end end.
-
--spec push_path(decode_error(), any()) -> decode_error().
-push_path(Error, Name) ->
- Name@1 = from(Name),
- Decoder = any(
- [fun string/1,
- fun(X) -> gleam@result:map(int(X), fun gleam@int:to_string/1) end]
- ),
- Name@3 = case Decoder(Name@1) of
- {ok, Name@2} ->
- Name@2;
-
- {error, _} ->
- _pipe = [<<"<"/utf8>>, classify(Name@1), <<">"/utf8>>],
- _pipe@1 = gleam@string_builder:from_strings(_pipe),
- gleam@string_builder:to_string(_pipe@1)
- end,
- erlang:setelement(4, Error, [Name@3 | erlang:element(4, Error)]).
-
--spec result(
- fun((dynamic_()) -> {ok, DGA} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DGC} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, {ok, DGA} | {error, DGC}} |
- {error, list(decode_error())}).
-result(Decode_ok, Decode_error) ->
- fun(Value) ->
- gleam@result:'try'(
- gleam_stdlib:decode_result(Value),
- fun(Inner_result) -> case Inner_result of
- {ok, Raw} ->
- gleam@result:'try'(
- begin
- _pipe = Decode_ok(Raw),
- map_errors(
- _pipe,
- fun(_capture) ->
- push_path(_capture, <<"ok"/utf8>>)
- end
- )
- end,
- fun(Value@1) -> {ok, {ok, Value@1}} end
- );
-
- {error, Raw@1} ->
- gleam@result:'try'(
- begin
- _pipe@1 = Decode_error(Raw@1),
- map_errors(
- _pipe@1,
- fun(_capture@1) ->
- push_path(_capture@1, <<"error"/utf8>>)
- end
- )
- end,
- fun(Value@2) -> {ok, {error, Value@2}} end
- )
- end end
- )
- end.
-
--spec list(fun((dynamic_()) -> {ok, DGH} | {error, list(decode_error())})) -> fun((dynamic_()) -> {ok,
- list(DGH)} |
- {error, list(decode_error())}).
-list(Decoder_type) ->
- fun(Dynamic) ->
- gleam@result:'try'(shallow_list(Dynamic), fun(List) -> _pipe = List,
- _pipe@1 = gleam@list:try_map(_pipe, Decoder_type),
- map_errors(
- _pipe@1,
- fun(_capture) -> push_path(_capture, <<"*"/utf8>>) end
- ) end)
- end.
-
--spec map_errors(
- {ok, DEV} | {error, list(decode_error())},
- fun((decode_error()) -> decode_error())
-) -> {ok, DEV} | {error, list(decode_error())}.
-map_errors(Result, F) ->
- gleam@result:map_error(
- Result,
- fun(_capture) -> gleam@list:map(_capture, F) end
- ).
-
--spec decode_string(dynamic_()) -> {ok, binary()} |
- {error, list(decode_error())}.
-decode_string(Data) ->
- _pipe = bit_array(Data),
- _pipe@1 = map_errors(
- _pipe,
- fun(_capture) -> put_expected(_capture, <<"String"/utf8>>) end
- ),
- gleam@result:'try'(
- _pipe@1,
- fun(Raw) -> case gleam@bit_array:to_string(Raw) of
- {ok, String} ->
- {ok, String};
-
- {error, nil} ->
- {error,
- [{decode_error,
- <<"String"/utf8>>,
- <<"BitArray"/utf8>>,
- []}]}
- end end
- ).
-
--spec string(dynamic_()) -> {ok, binary()} | {error, list(decode_error())}.
-string(Data) ->
- decode_string(Data).
-
--spec field(
- any(),
- fun((dynamic_()) -> {ok, DGW} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, DGW} | {error, list(decode_error())}).
-field(Name, Inner_type) ->
- fun(Value) ->
- Missing_field_error = {decode_error,
- <<"field"/utf8>>,
- <<"nothing"/utf8>>,
- []},
- gleam@result:'try'(
- gleam_stdlib:decode_field(Value, Name),
- fun(Maybe_inner) -> _pipe = Maybe_inner,
- _pipe@1 = gleam@option:to_result(_pipe, [Missing_field_error]),
- _pipe@2 = gleam@result:'try'(_pipe@1, Inner_type),
- map_errors(
- _pipe@2,
- fun(_capture) -> push_path(_capture, Name) end
- ) end
- )
- end.
-
--spec optional_field(
- any(),
- fun((dynamic_()) -> {ok, DHA} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, gleam@option:option(DHA)} |
- {error, list(decode_error())}).
-optional_field(Name, Inner_type) ->
- fun(Value) ->
- gleam@result:'try'(
- gleam_stdlib:decode_field(Value, Name),
- fun(Maybe_inner) -> case Maybe_inner of
- none ->
- {ok, none};
-
- {some, Dynamic_inner} ->
- _pipe = Dynamic_inner,
- _pipe@1 = gleam_stdlib:decode_option(_pipe, Inner_type),
- map_errors(
- _pipe@1,
- fun(_capture) -> push_path(_capture, Name) end
- )
- end end
- )
- end.
-
--spec element(
- integer(),
- fun((dynamic_()) -> {ok, DHI} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, DHI} | {error, list(decode_error())}).
-element(Index, Inner_type) ->
- fun(Data) ->
- gleam@result:'try'(
- gleam_stdlib:decode_tuple(Data),
- fun(Tuple) ->
- Size = gleam_stdlib:size_of_tuple(Tuple),
- gleam@result:'try'(case Index >= 0 of
- true ->
- case Index < Size of
- true ->
- gleam_stdlib:tuple_get(Tuple, Index);
-
- false ->
- at_least_decode_tuple_error(Index + 1, Data)
- end;
-
- false ->
- case gleam@int:absolute_value(Index) =< Size of
- true ->
- gleam_stdlib:tuple_get(Tuple, Size + Index);
-
- false ->
- at_least_decode_tuple_error(
- gleam@int:absolute_value(Index),
- Data
- )
- end
- end, fun(Data@1) -> _pipe = Inner_type(Data@1),
- map_errors(
- _pipe,
- fun(_capture) -> push_path(_capture, Index) end
- ) end)
- end
- )
- end.
-
--spec tuple_errors({ok, any()} | {error, list(decode_error())}, binary()) -> list(decode_error()).
-tuple_errors(Result, Name) ->
- case Result of
- {ok, _} ->
- [];
-
- {error, Errors} ->
- gleam@list:map(
- Errors,
- fun(_capture) -> push_path(_capture, Name) end
- )
- end.
-
--spec tuple2(
- fun((dynamic_()) -> {ok, DII} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DIK} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, {DII, DIK}} | {error, list(decode_error())}).
-tuple2(Decode1, Decode2) ->
- fun(Value) ->
- gleam@result:'try'(
- gleam_stdlib:decode_tuple2(Value),
- fun(_use0) ->
- {A, B} = _use0,
- case {Decode1(A), Decode2(B)} of
- {{ok, A@1}, {ok, B@1}} ->
- {ok, {A@1, B@1}};
-
- {A@2, B@2} ->
- _pipe = tuple_errors(A@2, <<"0"/utf8>>),
- _pipe@1 = gleam@list:append(
- _pipe,
- tuple_errors(B@2, <<"1"/utf8>>)
- ),
- {error, _pipe@1}
- end
- end
- )
- end.
-
--spec tuple3(
- fun((dynamic_()) -> {ok, DIN} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DIP} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DIR} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, {DIN, DIP, DIR}} | {error, list(decode_error())}).
-tuple3(Decode1, Decode2, Decode3) ->
- fun(Value) ->
- gleam@result:'try'(
- gleam_stdlib:decode_tuple3(Value),
- fun(_use0) ->
- {A, B, C} = _use0,
- case {Decode1(A), Decode2(B), Decode3(C)} of
- {{ok, A@1}, {ok, B@1}, {ok, C@1}} ->
- {ok, {A@1, B@1, C@1}};
-
- {A@2, B@2, C@2} ->
- _pipe = tuple_errors(A@2, <<"0"/utf8>>),
- _pipe@1 = gleam@list:append(
- _pipe,
- tuple_errors(B@2, <<"1"/utf8>>)
- ),
- _pipe@2 = gleam@list:append(
- _pipe@1,
- tuple_errors(C@2, <<"2"/utf8>>)
- ),
- {error, _pipe@2}
- end
- end
- )
- end.
-
--spec tuple4(
- fun((dynamic_()) -> {ok, DIU} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DIW} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DIY} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DJA} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, {DIU, DIW, DIY, DJA}} |
- {error, list(decode_error())}).
-tuple4(Decode1, Decode2, Decode3, Decode4) ->
- fun(Value) ->
- gleam@result:'try'(
- gleam_stdlib:decode_tuple4(Value),
- fun(_use0) ->
- {A, B, C, D} = _use0,
- case {Decode1(A), Decode2(B), Decode3(C), Decode4(D)} of
- {{ok, A@1}, {ok, B@1}, {ok, C@1}, {ok, D@1}} ->
- {ok, {A@1, B@1, C@1, D@1}};
-
- {A@2, B@2, C@2, D@2} ->
- _pipe = tuple_errors(A@2, <<"0"/utf8>>),
- _pipe@1 = gleam@list:append(
- _pipe,
- tuple_errors(B@2, <<"1"/utf8>>)
- ),
- _pipe@2 = gleam@list:append(
- _pipe@1,
- tuple_errors(C@2, <<"2"/utf8>>)
- ),
- _pipe@3 = gleam@list:append(
- _pipe@2,
- tuple_errors(D@2, <<"3"/utf8>>)
- ),
- {error, _pipe@3}
- end
- end
- )
- end.
-
--spec tuple5(
- fun((dynamic_()) -> {ok, DJD} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DJF} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DJH} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DJJ} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DJL} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, {DJD, DJF, DJH, DJJ, DJL}} |
- {error, list(decode_error())}).
-tuple5(Decode1, Decode2, Decode3, Decode4, Decode5) ->
- fun(Value) ->
- gleam@result:'try'(
- gleam_stdlib:decode_tuple5(Value),
- fun(_use0) ->
- {A, B, C, D, E} = _use0,
- case {Decode1(A),
- Decode2(B),
- Decode3(C),
- Decode4(D),
- Decode5(E)} of
- {{ok, A@1}, {ok, B@1}, {ok, C@1}, {ok, D@1}, {ok, E@1}} ->
- {ok, {A@1, B@1, C@1, D@1, E@1}};
-
- {A@2, B@2, C@2, D@2, E@2} ->
- _pipe = tuple_errors(A@2, <<"0"/utf8>>),
- _pipe@1 = gleam@list:append(
- _pipe,
- tuple_errors(B@2, <<"1"/utf8>>)
- ),
- _pipe@2 = gleam@list:append(
- _pipe@1,
- tuple_errors(C@2, <<"2"/utf8>>)
- ),
- _pipe@3 = gleam@list:append(
- _pipe@2,
- tuple_errors(D@2, <<"3"/utf8>>)
- ),
- _pipe@4 = gleam@list:append(
- _pipe@3,
- tuple_errors(E@2, <<"4"/utf8>>)
- ),
- {error, _pipe@4}
- end
- end
- )
- end.
-
--spec tuple6(
- fun((dynamic_()) -> {ok, DJO} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DJQ} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DJS} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DJU} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DJW} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DJY} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, {DJO, DJQ, DJS, DJU, DJW, DJY}} |
- {error, list(decode_error())}).
-tuple6(Decode1, Decode2, Decode3, Decode4, Decode5, Decode6) ->
- fun(Value) ->
- gleam@result:'try'(
- gleam_stdlib:decode_tuple6(Value),
- fun(_use0) ->
- {A, B, C, D, E, F} = _use0,
- case {Decode1(A),
- Decode2(B),
- Decode3(C),
- Decode4(D),
- Decode5(E),
- Decode6(F)} of
- {{ok, A@1},
- {ok, B@1},
- {ok, C@1},
- {ok, D@1},
- {ok, E@1},
- {ok, F@1}} ->
- {ok, {A@1, B@1, C@1, D@1, E@1, F@1}};
-
- {A@2, B@2, C@2, D@2, E@2, F@2} ->
- _pipe = tuple_errors(A@2, <<"0"/utf8>>),
- _pipe@1 = gleam@list:append(
- _pipe,
- tuple_errors(B@2, <<"1"/utf8>>)
- ),
- _pipe@2 = gleam@list:append(
- _pipe@1,
- tuple_errors(C@2, <<"2"/utf8>>)
- ),
- _pipe@3 = gleam@list:append(
- _pipe@2,
- tuple_errors(D@2, <<"3"/utf8>>)
- ),
- _pipe@4 = gleam@list:append(
- _pipe@3,
- tuple_errors(E@2, <<"4"/utf8>>)
- ),
- _pipe@5 = gleam@list:append(
- _pipe@4,
- tuple_errors(F@2, <<"5"/utf8>>)
- ),
- {error, _pipe@5}
- end
- end
- )
- end.
-
--spec dict(
- fun((dynamic_()) -> {ok, DKB} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DKD} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, gleam@dict:dict(DKB, DKD)} |
- {error, list(decode_error())}).
-dict(Key_type, Value_type) ->
- fun(Value) ->
- gleam@result:'try'(
- gleam_stdlib:decode_map(Value),
- fun(Map) ->
- gleam@result:'try'(
- begin
- _pipe = Map,
- _pipe@1 = gleam@dict:to_list(_pipe),
- gleam@list:try_map(
- _pipe@1,
- fun(Pair) ->
- {K, V} = Pair,
- gleam@result:'try'(
- begin
- _pipe@2 = Key_type(K),
- map_errors(
- _pipe@2,
- fun(_capture) ->
- push_path(
- _capture,
- <<"keys"/utf8>>
- )
- end
- )
- end,
- fun(K@1) ->
- gleam@result:'try'(
- begin
- _pipe@3 = Value_type(V),
- map_errors(
- _pipe@3,
- fun(_capture@1) ->
- push_path(
- _capture@1,
- <<"values"/utf8>>
- )
- end
- )
- end,
- fun(V@1) -> {ok, {K@1, V@1}} end
- )
- end
- )
- end
- )
- end,
- fun(Pairs) -> {ok, gleam@dict:from_list(Pairs)} end
- )
- end
- )
- end.
-
--spec map(
- fun((dynamic_()) -> {ok, DKI} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DKK} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, gleam@dict:dict(DKI, DKK)} |
- {error, list(decode_error())}).
-map(Key_type, Value_type) ->
- dict(Key_type, Value_type).
-
--spec decode2(
- fun((DLB, DLC) -> DLD),
- fun((dynamic_()) -> {ok, DLB} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DLC} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, DLD} | {error, list(decode_error())}).
-decode2(Constructor, T1, T2) ->
- fun(Value) -> case {T1(Value), T2(Value)} of
- {{ok, A}, {ok, B}} ->
- {ok, Constructor(A, B)};
-
- {A@1, B@1} ->
- {error, gleam@list:concat([all_errors(A@1), all_errors(B@1)])}
- end end.
-
--spec decode3(
- fun((DLH, DLI, DLJ) -> DLK),
- fun((dynamic_()) -> {ok, DLH} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DLI} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DLJ} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, DLK} | {error, list(decode_error())}).
-decode3(Constructor, T1, T2, T3) ->
- fun(Value) -> case {T1(Value), T2(Value), T3(Value)} of
- {{ok, A}, {ok, B}, {ok, C}} ->
- {ok, Constructor(A, B, C)};
-
- {A@1, B@1, C@1} ->
- {error,
- gleam@list:concat(
- [all_errors(A@1), all_errors(B@1), all_errors(C@1)]
- )}
- end end.
-
--spec decode4(
- fun((DLP, DLQ, DLR, DLS) -> DLT),
- fun((dynamic_()) -> {ok, DLP} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DLQ} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DLR} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DLS} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, DLT} | {error, list(decode_error())}).
-decode4(Constructor, T1, T2, T3, T4) ->
- fun(X) -> case {T1(X), T2(X), T3(X), T4(X)} of
- {{ok, A}, {ok, B}, {ok, C}, {ok, D}} ->
- {ok, Constructor(A, B, C, D)};
-
- {A@1, B@1, C@1, D@1} ->
- {error,
- gleam@list:concat(
- [all_errors(A@1),
- all_errors(B@1),
- all_errors(C@1),
- all_errors(D@1)]
- )}
- end end.
-
--spec decode5(
- fun((DLZ, DMA, DMB, DMC, DMD) -> DME),
- fun((dynamic_()) -> {ok, DLZ} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DMA} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DMB} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DMC} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DMD} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, DME} | {error, list(decode_error())}).
-decode5(Constructor, T1, T2, T3, T4, T5) ->
- fun(X) -> case {T1(X), T2(X), T3(X), T4(X), T5(X)} of
- {{ok, A}, {ok, B}, {ok, C}, {ok, D}, {ok, E}} ->
- {ok, Constructor(A, B, C, D, E)};
-
- {A@1, B@1, C@1, D@1, E@1} ->
- {error,
- gleam@list:concat(
- [all_errors(A@1),
- all_errors(B@1),
- all_errors(C@1),
- all_errors(D@1),
- all_errors(E@1)]
- )}
- end end.
-
--spec decode6(
- fun((DML, DMM, DMN, DMO, DMP, DMQ) -> DMR),
- fun((dynamic_()) -> {ok, DML} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DMM} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DMN} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DMO} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DMP} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DMQ} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, DMR} | {error, list(decode_error())}).
-decode6(Constructor, T1, T2, T3, T4, T5, T6) ->
- fun(X) -> case {T1(X), T2(X), T3(X), T4(X), T5(X), T6(X)} of
- {{ok, A}, {ok, B}, {ok, C}, {ok, D}, {ok, E}, {ok, F}} ->
- {ok, Constructor(A, B, C, D, E, F)};
-
- {A@1, B@1, C@1, D@1, E@1, F@1} ->
- {error,
- gleam@list:concat(
- [all_errors(A@1),
- all_errors(B@1),
- all_errors(C@1),
- all_errors(D@1),
- all_errors(E@1),
- all_errors(F@1)]
- )}
- end end.
-
--spec decode7(
- fun((DMZ, DNA, DNB, DNC, DND, DNE, DNF) -> DNG),
- fun((dynamic_()) -> {ok, DMZ} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DNA} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DNB} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DNC} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DND} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DNE} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DNF} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, DNG} | {error, list(decode_error())}).
-decode7(Constructor, T1, T2, T3, T4, T5, T6, T7) ->
- fun(X) -> case {T1(X), T2(X), T3(X), T4(X), T5(X), T6(X), T7(X)} of
- {{ok, A}, {ok, B}, {ok, C}, {ok, D}, {ok, E}, {ok, F}, {ok, G}} ->
- {ok, Constructor(A, B, C, D, E, F, G)};
-
- {A@1, B@1, C@1, D@1, E@1, F@1, G@1} ->
- {error,
- gleam@list:concat(
- [all_errors(A@1),
- all_errors(B@1),
- all_errors(C@1),
- all_errors(D@1),
- all_errors(E@1),
- all_errors(F@1),
- all_errors(G@1)]
- )}
- end end.
-
--spec decode8(
- fun((DNP, DNQ, DNR, DNS, DNT, DNU, DNV, DNW) -> DNX),
- fun((dynamic_()) -> {ok, DNP} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DNQ} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DNR} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DNS} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DNT} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DNU} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DNV} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DNW} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, DNX} | {error, list(decode_error())}).
-decode8(Constructor, T1, T2, T3, T4, T5, T6, T7, T8) ->
- fun(X) -> case {T1(X), T2(X), T3(X), T4(X), T5(X), T6(X), T7(X), T8(X)} of
- {{ok, A},
- {ok, B},
- {ok, C},
- {ok, D},
- {ok, E},
- {ok, F},
- {ok, G},
- {ok, H}} ->
- {ok, Constructor(A, B, C, D, E, F, G, H)};
-
- {A@1, B@1, C@1, D@1, E@1, F@1, G@1, H@1} ->
- {error,
- gleam@list:concat(
- [all_errors(A@1),
- all_errors(B@1),
- all_errors(C@1),
- all_errors(D@1),
- all_errors(E@1),
- all_errors(F@1),
- all_errors(G@1),
- all_errors(H@1)]
- )}
- end end.
-
--spec decode9(
- fun((DOH, DOI, DOJ, DOK, DOL, DOM, DON, DOO, DOP) -> DOQ),
- fun((dynamic_()) -> {ok, DOH} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DOI} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DOJ} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DOK} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DOL} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DOM} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DON} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DOO} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DOP} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, DOQ} | {error, list(decode_error())}).
-decode9(Constructor, T1, T2, T3, T4, T5, T6, T7, T8, T9) ->
- fun(X) ->
- case {T1(X), T2(X), T3(X), T4(X), T5(X), T6(X), T7(X), T8(X), T9(X)} of
- {{ok, A},
- {ok, B},
- {ok, C},
- {ok, D},
- {ok, E},
- {ok, F},
- {ok, G},
- {ok, H},
- {ok, I}} ->
- {ok, Constructor(A, B, C, D, E, F, G, H, I)};
-
- {A@1, B@1, C@1, D@1, E@1, F@1, G@1, H@1, I@1} ->
- {error,
- gleam@list:concat(
- [all_errors(A@1),
- all_errors(B@1),
- all_errors(C@1),
- all_errors(D@1),
- all_errors(E@1),
- all_errors(F@1),
- all_errors(G@1),
- all_errors(H@1),
- all_errors(I@1)]
- )}
- end
- end.
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@float.cache b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@float.cache
deleted file mode 100644
index 677362b..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@float.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@float.cache_meta b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@float.cache_meta
deleted file mode 100644
index f10b39f..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@float.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@float.erl b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@float.erl
deleted file mode 100644
index 33b3d4a..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@float.erl
+++ /dev/null
@@ -1,181 +0,0 @@
--module(gleam@float).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([parse/1, to_string/1, compare/2, min/2, max/2, clamp/3, ceiling/1, floor/1, round/1, truncate/1, absolute_value/1, loosely_compare/3, loosely_equals/3, power/2, square_root/1, negate/1, sum/1, product/1, random/2, divide/2, add/2, multiply/2, subtract/2]).
-
--spec parse(binary()) -> {ok, float()} | {error, nil}.
-parse(String) ->
- gleam_stdlib:parse_float(String).
-
--spec to_string(float()) -> binary().
-to_string(X) ->
- gleam_stdlib:float_to_string(X).
-
--spec compare(float(), float()) -> gleam@order:order().
-compare(A, B) ->
- case A =:= B of
- true ->
- eq;
-
- false ->
- case A < B of
- true ->
- lt;
-
- false ->
- gt
- end
- end.
-
--spec min(float(), float()) -> float().
-min(A, B) ->
- case A < B of
- true ->
- A;
-
- false ->
- B
- end.
-
--spec max(float(), float()) -> float().
-max(A, B) ->
- case A > B of
- true ->
- A;
-
- false ->
- B
- end.
-
--spec clamp(float(), float(), float()) -> float().
-clamp(X, Min_bound, Max_bound) ->
- _pipe = X,
- _pipe@1 = min(_pipe, Max_bound),
- max(_pipe@1, Min_bound).
-
--spec ceiling(float()) -> float().
-ceiling(X) ->
- math:ceil(X).
-
--spec floor(float()) -> float().
-floor(X) ->
- math:floor(X).
-
--spec round(float()) -> integer().
-round(X) ->
- erlang:round(X).
-
--spec truncate(float()) -> integer().
-truncate(X) ->
- erlang:trunc(X).
-
--spec absolute_value(float()) -> float().
-absolute_value(X) ->
- case X >= +0.0 of
- true ->
- X;
-
- _ ->
- +0.0 - X
- end.
-
--spec loosely_compare(float(), float(), float()) -> gleam@order:order().
-loosely_compare(A, B, Tolerance) ->
- Difference = absolute_value(A - B),
- case Difference =< Tolerance of
- true ->
- eq;
-
- false ->
- compare(A, B)
- end.
-
--spec loosely_equals(float(), float(), float()) -> boolean().
-loosely_equals(A, B, Tolerance) ->
- Difference = absolute_value(A - B),
- Difference =< Tolerance.
-
--spec power(float(), float()) -> {ok, float()} | {error, nil}.
-power(Base, Exponent) ->
- Fractional = (ceiling(Exponent) - Exponent) > +0.0,
- case ((Base < +0.0) andalso Fractional) orelse ((Base =:= +0.0) andalso (Exponent
- < +0.0)) of
- true ->
- {error, nil};
-
- false ->
- {ok, math:pow(Base, Exponent)}
- end.
-
--spec square_root(float()) -> {ok, float()} | {error, nil}.
-square_root(X) ->
- power(X, 0.5).
-
--spec negate(float()) -> float().
-negate(X) ->
- -1.0 * X.
-
--spec do_sum(list(float()), float()) -> float().
-do_sum(Numbers, Initial) ->
- case Numbers of
- [] ->
- Initial;
-
- [X | Rest] ->
- do_sum(Rest, X + Initial)
- end.
-
--spec sum(list(float())) -> float().
-sum(Numbers) ->
- _pipe = Numbers,
- do_sum(_pipe, +0.0).
-
--spec do_product(list(float()), float()) -> float().
-do_product(Numbers, Initial) ->
- case Numbers of
- [] ->
- Initial;
-
- [X | Rest] ->
- do_product(Rest, X * Initial)
- end.
-
--spec product(list(float())) -> float().
-product(Numbers) ->
- case Numbers of
- [] ->
- 1.0;
-
- _ ->
- do_product(Numbers, 1.0)
- end.
-
--spec random(float(), float()) -> float().
-random(Min, Max) ->
- (rand:uniform() * (Max - Min)) + Min.
-
--spec divide(float(), float()) -> {ok, float()} | {error, nil}.
-divide(A, B) ->
- case B of
- +0.0 ->
- {error, nil};
-
- B@1 ->
- {ok, case B@1 of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator -> A / Gleam@denominator
- end}
- end.
-
--spec add(float(), float()) -> float().
-add(A, B) ->
- A + B.
-
--spec multiply(float(), float()) -> float().
-multiply(A, B) ->
- A * B.
-
--spec subtract(float(), float()) -> float().
-subtract(A, B) ->
- A - B.
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@function.cache b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@function.cache
deleted file mode 100644
index 2f3e554..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@function.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@function.cache_meta b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@function.cache_meta
deleted file mode 100644
index ffb4624..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@function.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@function.erl b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@function.erl
deleted file mode 100644
index 75f142f..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@function.erl
+++ /dev/null
@@ -1,67 +0,0 @@
--module(gleam@function).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([compose/2, curry2/1, curry3/1, curry4/1, curry5/1, curry6/1, flip/1, identity/1, constant/1, tap/2, apply1/2, apply2/3, apply3/4]).
-
--spec compose(fun((ENH) -> ENI), fun((ENI) -> ENJ)) -> fun((ENH) -> ENJ).
-compose(Fun1, Fun2) ->
- fun(A) -> Fun2(Fun1(A)) end.
-
--spec curry2(fun((ENK, ENL) -> ENM)) -> fun((ENK) -> fun((ENL) -> ENM)).
-curry2(Fun) ->
- fun(A) -> fun(B) -> Fun(A, B) end end.
-
--spec curry3(fun((ENO, ENP, ENQ) -> ENR)) -> fun((ENO) -> fun((ENP) -> fun((ENQ) -> ENR))).
-curry3(Fun) ->
- fun(A) -> fun(B) -> fun(C) -> Fun(A, B, C) end end end.
-
--spec curry4(fun((ENT, ENU, ENV, ENW) -> ENX)) -> fun((ENT) -> fun((ENU) -> fun((ENV) -> fun((ENW) -> ENX)))).
-curry4(Fun) ->
- fun(A) -> fun(B) -> fun(C) -> fun(D) -> Fun(A, B, C, D) end end end end.
-
--spec curry5(fun((ENZ, EOA, EOB, EOC, EOD) -> EOE)) -> fun((ENZ) -> fun((EOA) -> fun((EOB) -> fun((EOC) -> fun((EOD) -> EOE))))).
-curry5(Fun) ->
- fun(A) ->
- fun(B) ->
- fun(C) -> fun(D) -> fun(E) -> Fun(A, B, C, D, E) end end end
- end
- end.
-
--spec curry6(fun((EOG, EOH, EOI, EOJ, EOK, EOL) -> EOM)) -> fun((EOG) -> fun((EOH) -> fun((EOI) -> fun((EOJ) -> fun((EOK) -> fun((EOL) -> EOM)))))).
-curry6(Fun) ->
- fun(A) ->
- fun(B) ->
- fun(C) ->
- fun(D) -> fun(E) -> fun(F) -> Fun(A, B, C, D, E, F) end end end
- end
- end
- end.
-
--spec flip(fun((EOO, EOP) -> EOQ)) -> fun((EOP, EOO) -> EOQ).
-flip(Fun) ->
- fun(B, A) -> Fun(A, B) end.
-
--spec identity(EOR) -> EOR.
-identity(X) ->
- X.
-
--spec constant(EOS) -> fun((any()) -> EOS).
-constant(Value) ->
- fun(_) -> Value end.
-
--spec tap(EOU, fun((EOU) -> any())) -> EOU.
-tap(Arg, Effect) ->
- Effect(Arg),
- Arg.
-
--spec apply1(fun((EOW) -> EOX), EOW) -> EOX.
-apply1(Fun, Arg1) ->
- Fun(Arg1).
-
--spec apply2(fun((EOY, EOZ) -> EPA), EOY, EOZ) -> EPA.
-apply2(Fun, Arg1, Arg2) ->
- Fun(Arg1, Arg2).
-
--spec apply3(fun((EPB, EPC, EPD) -> EPE), EPB, EPC, EPD) -> EPE.
-apply3(Fun, Arg1, Arg2, Arg3) ->
- Fun(Arg1, Arg2, Arg3).
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@int.cache b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@int.cache
deleted file mode 100644
index 62076d5..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@int.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@int.cache_meta b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@int.cache_meta
deleted file mode 100644
index 2d987e1..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@int.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@int.erl b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@int.erl
deleted file mode 100644
index 2a5dd2c..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@int.erl
+++ /dev/null
@@ -1,332 +0,0 @@
--module(gleam@int).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([absolute_value/1, parse/1, base_parse/2, to_string/1, to_base_string/2, to_base2/1, to_base8/1, to_base16/1, to_base36/1, to_float/1, power/2, square_root/1, compare/2, min/2, max/2, clamp/3, is_even/1, is_odd/1, negate/1, sum/1, product/1, digits/2, undigits/2, random/2, divide/2, remainder/2, modulo/2, floor_divide/2, add/2, multiply/2, subtract/2, bitwise_and/2, bitwise_not/1, bitwise_or/2, bitwise_exclusive_or/2, bitwise_shift_left/2, bitwise_shift_right/2]).
--export_type([invalid_base/0]).
-
--type invalid_base() :: invalid_base.
-
--spec absolute_value(integer()) -> integer().
-absolute_value(X) ->
- case X >= 0 of
- true ->
- X;
-
- false ->
- X * -1
- end.
-
--spec parse(binary()) -> {ok, integer()} | {error, nil}.
-parse(String) ->
- gleam_stdlib:parse_int(String).
-
--spec base_parse(binary(), integer()) -> {ok, integer()} | {error, nil}.
-base_parse(String, Base) ->
- case (Base >= 2) andalso (Base =< 36) of
- true ->
- gleam_stdlib:int_from_base_string(String, Base);
-
- false ->
- {error, nil}
- end.
-
--spec to_string(integer()) -> binary().
-to_string(X) ->
- erlang:integer_to_binary(X).
-
--spec to_base_string(integer(), integer()) -> {ok, binary()} |
- {error, invalid_base()}.
-to_base_string(X, Base) ->
- case (Base >= 2) andalso (Base =< 36) of
- true ->
- {ok, erlang:integer_to_binary(X, Base)};
-
- false ->
- {error, invalid_base}
- end.
-
--spec to_base2(integer()) -> binary().
-to_base2(X) ->
- erlang:integer_to_binary(X, 2).
-
--spec to_base8(integer()) -> binary().
-to_base8(X) ->
- erlang:integer_to_binary(X, 8).
-
--spec to_base16(integer()) -> binary().
-to_base16(X) ->
- erlang:integer_to_binary(X, 16).
-
--spec to_base36(integer()) -> binary().
-to_base36(X) ->
- erlang:integer_to_binary(X, 36).
-
--spec to_float(integer()) -> float().
-to_float(X) ->
- erlang:float(X).
-
--spec power(integer(), float()) -> {ok, float()} | {error, nil}.
-power(Base, Exponent) ->
- _pipe = Base,
- _pipe@1 = to_float(_pipe),
- gleam@float:power(_pipe@1, Exponent).
-
--spec square_root(integer()) -> {ok, float()} | {error, nil}.
-square_root(X) ->
- _pipe = X,
- _pipe@1 = to_float(_pipe),
- gleam@float:square_root(_pipe@1).
-
--spec compare(integer(), integer()) -> gleam@order:order().
-compare(A, B) ->
- case A =:= B of
- true ->
- eq;
-
- false ->
- case A < B of
- true ->
- lt;
-
- false ->
- gt
- end
- end.
-
--spec min(integer(), integer()) -> integer().
-min(A, B) ->
- case A < B of
- true ->
- A;
-
- false ->
- B
- end.
-
--spec max(integer(), integer()) -> integer().
-max(A, B) ->
- case A > B of
- true ->
- A;
-
- false ->
- B
- end.
-
--spec clamp(integer(), integer(), integer()) -> integer().
-clamp(X, Min_bound, Max_bound) ->
- _pipe = X,
- _pipe@1 = min(_pipe, Max_bound),
- max(_pipe@1, Min_bound).
-
--spec is_even(integer()) -> boolean().
-is_even(X) ->
- (X rem 2) =:= 0.
-
--spec is_odd(integer()) -> boolean().
-is_odd(X) ->
- (X rem 2) /= 0.
-
--spec negate(integer()) -> integer().
-negate(X) ->
- -1 * X.
-
--spec do_sum(list(integer()), integer()) -> integer().
-do_sum(Numbers, Initial) ->
- case Numbers of
- [] ->
- Initial;
-
- [X | Rest] ->
- do_sum(Rest, X + Initial)
- end.
-
--spec sum(list(integer())) -> integer().
-sum(Numbers) ->
- _pipe = Numbers,
- do_sum(_pipe, 0).
-
--spec do_product(list(integer()), integer()) -> integer().
-do_product(Numbers, Initial) ->
- case Numbers of
- [] ->
- Initial;
-
- [X | Rest] ->
- do_product(Rest, X * Initial)
- end.
-
--spec product(list(integer())) -> integer().
-product(Numbers) ->
- case Numbers of
- [] ->
- 1;
-
- _ ->
- do_product(Numbers, 1)
- end.
-
--spec do_digits(integer(), integer(), list(integer())) -> list(integer()).
-do_digits(X, Base, Acc) ->
- case absolute_value(X) < Base of
- true ->
- [X | Acc];
-
- false ->
- do_digits(case Base of
- 0 -> 0;
- Gleam@denominator -> X div Gleam@denominator
- end, Base, [case Base of
- 0 -> 0;
- Gleam@denominator@1 -> X rem Gleam@denominator@1
- end | Acc])
- end.
-
--spec digits(integer(), integer()) -> {ok, list(integer())} |
- {error, invalid_base()}.
-digits(X, Base) ->
- case Base < 2 of
- true ->
- {error, invalid_base};
-
- false ->
- {ok, do_digits(X, Base, [])}
- end.
-
--spec do_undigits(list(integer()), integer(), integer()) -> {ok, integer()} |
- {error, invalid_base()}.
-do_undigits(Numbers, Base, Acc) ->
- case Numbers of
- [] ->
- {ok, Acc};
-
- [Digit | _] when Digit >= Base ->
- {error, invalid_base};
-
- [Digit@1 | Rest] ->
- do_undigits(Rest, Base, (Acc * Base) + Digit@1)
- end.
-
--spec undigits(list(integer()), integer()) -> {ok, integer()} |
- {error, invalid_base()}.
-undigits(Numbers, Base) ->
- case Base < 2 of
- true ->
- {error, invalid_base};
-
- false ->
- do_undigits(Numbers, Base, 0)
- end.
-
--spec random(integer(), integer()) -> integer().
-random(Min, Max) ->
- _pipe = gleam@float:random(to_float(Min), to_float(Max)),
- _pipe@1 = gleam@float:floor(_pipe),
- gleam@float:round(_pipe@1).
-
--spec divide(integer(), integer()) -> {ok, integer()} | {error, nil}.
-divide(Dividend, Divisor) ->
- case Divisor of
- 0 ->
- {error, nil};
-
- Divisor@1 ->
- {ok, case Divisor@1 of
- 0 -> 0;
- Gleam@denominator -> Dividend div Gleam@denominator
- end}
- end.
-
--spec remainder(integer(), integer()) -> {ok, integer()} | {error, nil}.
-remainder(Dividend, Divisor) ->
- case Divisor of
- 0 ->
- {error, nil};
-
- Divisor@1 ->
- {ok, case Divisor@1 of
- 0 -> 0;
- Gleam@denominator -> Dividend rem Gleam@denominator
- end}
- end.
-
--spec modulo(integer(), integer()) -> {ok, integer()} | {error, nil}.
-modulo(Dividend, Divisor) ->
- case Divisor of
- 0 ->
- {error, nil};
-
- _ ->
- Remainder = case Divisor of
- 0 -> 0;
- Gleam@denominator -> Dividend rem Gleam@denominator
- end,
- case (Remainder * Divisor) < 0 of
- true ->
- {ok, Remainder + Divisor};
-
- false ->
- {ok, Remainder}
- end
- end.
-
--spec floor_divide(integer(), integer()) -> {ok, integer()} | {error, nil}.
-floor_divide(Dividend, Divisor) ->
- case Divisor of
- 0 ->
- {error, nil};
-
- Divisor@1 ->
- case ((Dividend * Divisor@1) < 0) andalso ((case Divisor@1 of
- 0 -> 0;
- Gleam@denominator -> Dividend rem Gleam@denominator
- end) /= 0) of
- true ->
- {ok, (case Divisor@1 of
- 0 -> 0;
- Gleam@denominator@1 -> Dividend div Gleam@denominator@1
- end) - 1};
-
- false ->
- {ok, case Divisor@1 of
- 0 -> 0;
- Gleam@denominator@2 -> Dividend div Gleam@denominator@2
- end}
- end
- end.
-
--spec add(integer(), integer()) -> integer().
-add(A, B) ->
- A + B.
-
--spec multiply(integer(), integer()) -> integer().
-multiply(A, B) ->
- A * B.
-
--spec subtract(integer(), integer()) -> integer().
-subtract(A, B) ->
- A - B.
-
--spec bitwise_and(integer(), integer()) -> integer().
-bitwise_and(X, Y) ->
- erlang:'band'(X, Y).
-
--spec bitwise_not(integer()) -> integer().
-bitwise_not(X) ->
- erlang:'bnot'(X).
-
--spec bitwise_or(integer(), integer()) -> integer().
-bitwise_or(X, Y) ->
- erlang:'bor'(X, Y).
-
--spec bitwise_exclusive_or(integer(), integer()) -> integer().
-bitwise_exclusive_or(X, Y) ->
- erlang:'bxor'(X, Y).
-
--spec bitwise_shift_left(integer(), integer()) -> integer().
-bitwise_shift_left(X, Y) ->
- erlang:'bsl'(X, Y).
-
--spec bitwise_shift_right(integer(), integer()) -> integer().
-bitwise_shift_right(X, Y) ->
- erlang:'bsr'(X, Y).
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@io.cache b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@io.cache
deleted file mode 100644
index ddf78ca..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@io.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@io.cache_meta b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@io.cache_meta
deleted file mode 100644
index 06ce652..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@io.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@io.erl b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@io.erl
deleted file mode 100644
index 3ab9c35..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@io.erl
+++ /dev/null
@@ -1,27 +0,0 @@
--module(gleam@io).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([print/1, print_error/1, println/1, println_error/1, debug/1]).
-
--spec print(binary()) -> nil.
-print(String) ->
- gleam_stdlib:print(String).
-
--spec print_error(binary()) -> nil.
-print_error(String) ->
- gleam_stdlib:print_error(String).
-
--spec println(binary()) -> nil.
-println(String) ->
- gleam_stdlib:println(String).
-
--spec println_error(binary()) -> nil.
-println_error(String) ->
- gleam_stdlib:println_error(String).
-
--spec debug(FHE) -> FHE.
-debug(Term) ->
- _pipe = Term,
- _pipe@1 = gleam@string:inspect(_pipe),
- gleam_stdlib:println_error(_pipe@1),
- Term.
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@iterator.cache b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@iterator.cache
deleted file mode 100644
index 2582f43..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@iterator.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@iterator.cache_meta b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@iterator.cache_meta
deleted file mode 100644
index 2dcb80d..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@iterator.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@iterator.erl b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@iterator.erl
deleted file mode 100644
index c7a4b31..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@iterator.erl
+++ /dev/null
@@ -1,744 +0,0 @@
--module(gleam@iterator).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([unfold/2, repeatedly/1, repeat/1, from_list/1, transform/3, fold/3, run/1, to_list/1, step/1, take/2, drop/2, map/2, map2/3, append/2, flatten/1, concat/1, flat_map/2, filter/2, cycle/1, find/2, index/1, iterate/2, take_while/2, drop_while/2, scan/3, zip/2, chunk/2, sized_chunk/2, intersperse/2, any/2, all/2, group/2, reduce/2, last/1, empty/0, once/1, range/2, single/1, interleave/2, fold_until/3, try_fold/3, first/1, at/2, length/1, each/2, yield/2]).
--export_type([action/1, iterator/1, step/2, chunk/2, sized_chunk/1]).
-
--type action(BUS) :: stop | {continue, BUS, fun(() -> action(BUS))}.
-
--opaque iterator(BUT) :: {iterator, fun(() -> action(BUT))}.
-
--type step(BUU, BUV) :: {next, BUU, BUV} | done.
-
--type chunk(BUW, BUX) :: {another_by,
- list(BUW),
- BUX,
- BUW,
- fun(() -> action(BUW))} |
- {last_by, list(BUW)}.
-
--type sized_chunk(BUY) :: {another, list(BUY), fun(() -> action(BUY))} |
- {last, list(BUY)} |
- no_more.
-
--spec stop() -> action(any()).
-stop() ->
- stop.
-
--spec do_unfold(BVB, fun((BVB) -> step(BVC, BVB))) -> fun(() -> action(BVC)).
-do_unfold(Initial, F) ->
- fun() -> case F(Initial) of
- {next, X, Acc} ->
- {continue, X, do_unfold(Acc, F)};
-
- done ->
- stop
- end end.
-
--spec unfold(BVG, fun((BVG) -> step(BVH, BVG))) -> iterator(BVH).
-unfold(Initial, F) ->
- _pipe = Initial,
- _pipe@1 = do_unfold(_pipe, F),
- {iterator, _pipe@1}.
-
--spec repeatedly(fun(() -> BVL)) -> iterator(BVL).
-repeatedly(F) ->
- unfold(nil, fun(_) -> {next, F(), nil} end).
-
--spec repeat(BVN) -> iterator(BVN).
-repeat(X) ->
- repeatedly(fun() -> X end).
-
--spec from_list(list(BVP)) -> iterator(BVP).
-from_list(List) ->
- Yield = fun(Acc) -> case Acc of
- [] ->
- done;
-
- [Head | Tail] ->
- {next, Head, Tail}
- end end,
- unfold(List, Yield).
-
--spec do_transform(
- fun(() -> action(BVS)),
- BVU,
- fun((BVU, BVS) -> step(BVV, BVU))
-) -> fun(() -> action(BVV)).
-do_transform(Continuation, State, F) ->
- fun() -> case Continuation() of
- stop ->
- stop;
-
- {continue, El, Next} ->
- case F(State, El) of
- done ->
- stop;
-
- {next, Yield, Next_state} ->
- {continue, Yield, do_transform(Next, Next_state, F)}
- end
- end end.
-
--spec transform(iterator(BVZ), BWB, fun((BWB, BVZ) -> step(BWC, BWB))) -> iterator(BWC).
-transform(Iterator, Initial, F) ->
- _pipe = do_transform(erlang:element(2, Iterator), Initial, F),
- {iterator, _pipe}.
-
--spec do_fold(fun(() -> action(BWG)), fun((BWI, BWG) -> BWI), BWI) -> BWI.
-do_fold(Continuation, F, Accumulator) ->
- case Continuation() of
- {continue, Elem, Next} ->
- do_fold(Next, F, F(Accumulator, Elem));
-
- stop ->
- Accumulator
- end.
-
--spec fold(iterator(BWJ), BWL, fun((BWL, BWJ) -> BWL)) -> BWL.
-fold(Iterator, Initial, F) ->
- _pipe = erlang:element(2, Iterator),
- do_fold(_pipe, F, Initial).
-
--spec run(iterator(any())) -> nil.
-run(Iterator) ->
- fold(Iterator, nil, fun(_, _) -> nil end).
-
--spec to_list(iterator(BWO)) -> list(BWO).
-to_list(Iterator) ->
- _pipe = Iterator,
- _pipe@1 = fold(_pipe, [], fun(Acc, E) -> [E | Acc] end),
- gleam@list:reverse(_pipe@1).
-
--spec step(iterator(BWR)) -> step(BWR, iterator(BWR)).
-step(Iterator) ->
- case (erlang:element(2, Iterator))() of
- stop ->
- done;
-
- {continue, E, A} ->
- {next, E, {iterator, A}}
- end.
-
--spec do_take(fun(() -> action(BWW)), integer()) -> fun(() -> action(BWW)).
-do_take(Continuation, Desired) ->
- fun() -> case Desired > 0 of
- false ->
- stop;
-
- true ->
- case Continuation() of
- stop ->
- stop;
-
- {continue, E, Next} ->
- {continue, E, do_take(Next, Desired - 1)}
- end
- end end.
-
--spec take(iterator(BWZ), integer()) -> iterator(BWZ).
-take(Iterator, Desired) ->
- _pipe = erlang:element(2, Iterator),
- _pipe@1 = do_take(_pipe, Desired),
- {iterator, _pipe@1}.
-
--spec do_drop(fun(() -> action(BXC)), integer()) -> action(BXC).
-do_drop(Continuation, Desired) ->
- case Continuation() of
- stop ->
- stop;
-
- {continue, E, Next} ->
- case Desired > 0 of
- true ->
- do_drop(Next, Desired - 1);
-
- false ->
- {continue, E, Next}
- end
- end.
-
--spec drop(iterator(BXF), integer()) -> iterator(BXF).
-drop(Iterator, Desired) ->
- _pipe = fun() -> do_drop(erlang:element(2, Iterator), Desired) end,
- {iterator, _pipe}.
-
--spec do_map(fun(() -> action(BXI)), fun((BXI) -> BXK)) -> fun(() -> action(BXK)).
-do_map(Continuation, F) ->
- fun() -> case Continuation() of
- stop ->
- stop;
-
- {continue, E, Continuation@1} ->
- {continue, F(E), do_map(Continuation@1, F)}
- end end.
-
--spec map(iterator(BXM), fun((BXM) -> BXO)) -> iterator(BXO).
-map(Iterator, F) ->
- _pipe = erlang:element(2, Iterator),
- _pipe@1 = do_map(_pipe, F),
- {iterator, _pipe@1}.
-
--spec do_map2(
- fun(() -> action(BXQ)),
- fun(() -> action(BXS)),
- fun((BXQ, BXS) -> BXU)
-) -> fun(() -> action(BXU)).
-do_map2(Continuation1, Continuation2, Fun) ->
- fun() -> case Continuation1() of
- stop ->
- stop;
-
- {continue, A, Next_a} ->
- case Continuation2() of
- stop ->
- stop;
-
- {continue, B, Next_b} ->
- {continue, Fun(A, B), do_map2(Next_a, Next_b, Fun)}
- end
- end end.
-
--spec map2(iterator(BXW), iterator(BXY), fun((BXW, BXY) -> BYA)) -> iterator(BYA).
-map2(Iterator1, Iterator2, Fun) ->
- _pipe = do_map2(
- erlang:element(2, Iterator1),
- erlang:element(2, Iterator2),
- Fun
- ),
- {iterator, _pipe}.
-
--spec do_append(fun(() -> action(BYC)), fun(() -> action(BYC))) -> action(BYC).
-do_append(First, Second) ->
- case First() of
- {continue, E, First@1} ->
- {continue, E, fun() -> do_append(First@1, Second) end};
-
- stop ->
- Second()
- end.
-
--spec append(iterator(BYG), iterator(BYG)) -> iterator(BYG).
-append(First, Second) ->
- _pipe = fun() ->
- do_append(erlang:element(2, First), erlang:element(2, Second))
- end,
- {iterator, _pipe}.
-
--spec do_flatten(fun(() -> action(iterator(BYK)))) -> action(BYK).
-do_flatten(Flattened) ->
- case Flattened() of
- stop ->
- stop;
-
- {continue, It, Next_iterator} ->
- do_append(
- erlang:element(2, It),
- fun() -> do_flatten(Next_iterator) end
- )
- end.
-
--spec flatten(iterator(iterator(BYO))) -> iterator(BYO).
-flatten(Iterator) ->
- _pipe = fun() -> do_flatten(erlang:element(2, Iterator)) end,
- {iterator, _pipe}.
-
--spec concat(list(iterator(BYS))) -> iterator(BYS).
-concat(Iterators) ->
- flatten(from_list(Iterators)).
-
--spec flat_map(iterator(BYW), fun((BYW) -> iterator(BYY))) -> iterator(BYY).
-flat_map(Iterator, F) ->
- _pipe = Iterator,
- _pipe@1 = map(_pipe, F),
- flatten(_pipe@1).
-
--spec do_filter(fun(() -> action(BZB)), fun((BZB) -> boolean())) -> action(BZB).
-do_filter(Continuation, Predicate) ->
- case Continuation() of
- stop ->
- stop;
-
- {continue, E, Iterator} ->
- case Predicate(E) of
- true ->
- {continue, E, fun() -> do_filter(Iterator, Predicate) end};
-
- false ->
- do_filter(Iterator, Predicate)
- end
- end.
-
--spec filter(iterator(BZE), fun((BZE) -> boolean())) -> iterator(BZE).
-filter(Iterator, Predicate) ->
- _pipe = fun() -> do_filter(erlang:element(2, Iterator), Predicate) end,
- {iterator, _pipe}.
-
--spec cycle(iterator(BZH)) -> iterator(BZH).
-cycle(Iterator) ->
- _pipe = repeat(Iterator),
- flatten(_pipe).
-
--spec do_find(fun(() -> action(BZL)), fun((BZL) -> boolean())) -> {ok, BZL} |
- {error, nil}.
-do_find(Continuation, F) ->
- case Continuation() of
- stop ->
- {error, nil};
-
- {continue, E, Next} ->
- case F(E) of
- true ->
- {ok, E};
-
- false ->
- do_find(Next, F)
- end
- end.
-
--spec find(iterator(BZP), fun((BZP) -> boolean())) -> {ok, BZP} | {error, nil}.
-find(Haystack, Is_desired) ->
- _pipe = erlang:element(2, Haystack),
- do_find(_pipe, Is_desired).
-
--spec do_index(fun(() -> action(BZT)), integer()) -> fun(() -> action({integer(),
- BZT})).
-do_index(Continuation, Next) ->
- fun() -> case Continuation() of
- stop ->
- stop;
-
- {continue, E, Continuation@1} ->
- {continue, {Next, E}, do_index(Continuation@1, Next + 1)}
- end end.
-
--spec index(iterator(BZW)) -> iterator({integer(), BZW}).
-index(Iterator) ->
- _pipe = erlang:element(2, Iterator),
- _pipe@1 = do_index(_pipe, 0),
- {iterator, _pipe@1}.
-
--spec iterate(BZZ, fun((BZZ) -> BZZ)) -> iterator(BZZ).
-iterate(Initial, F) ->
- unfold(Initial, fun(Element) -> {next, Element, F(Element)} end).
-
--spec do_take_while(fun(() -> action(CAB)), fun((CAB) -> boolean())) -> fun(() -> action(CAB)).
-do_take_while(Continuation, Predicate) ->
- fun() -> case Continuation() of
- stop ->
- stop;
-
- {continue, E, Next} ->
- case Predicate(E) of
- false ->
- stop;
-
- true ->
- {continue, E, do_take_while(Next, Predicate)}
- end
- end end.
-
--spec take_while(iterator(CAE), fun((CAE) -> boolean())) -> iterator(CAE).
-take_while(Iterator, Predicate) ->
- _pipe = erlang:element(2, Iterator),
- _pipe@1 = do_take_while(_pipe, Predicate),
- {iterator, _pipe@1}.
-
--spec do_drop_while(fun(() -> action(CAH)), fun((CAH) -> boolean())) -> action(CAH).
-do_drop_while(Continuation, Predicate) ->
- case Continuation() of
- stop ->
- stop;
-
- {continue, E, Next} ->
- case Predicate(E) of
- false ->
- {continue, E, Next};
-
- true ->
- do_drop_while(Next, Predicate)
- end
- end.
-
--spec drop_while(iterator(CAK), fun((CAK) -> boolean())) -> iterator(CAK).
-drop_while(Iterator, Predicate) ->
- _pipe = fun() -> do_drop_while(erlang:element(2, Iterator), Predicate) end,
- {iterator, _pipe}.
-
--spec do_scan(fun(() -> action(CAN)), fun((CAP, CAN) -> CAP), CAP) -> fun(() -> action(CAP)).
-do_scan(Continuation, F, Accumulator) ->
- fun() -> case Continuation() of
- stop ->
- stop;
-
- {continue, El, Next} ->
- Accumulated = F(Accumulator, El),
- {continue, Accumulated, do_scan(Next, F, Accumulated)}
- end end.
-
--spec scan(iterator(CAR), CAT, fun((CAT, CAR) -> CAT)) -> iterator(CAT).
-scan(Iterator, Initial, F) ->
- _pipe = erlang:element(2, Iterator),
- _pipe@1 = do_scan(_pipe, F, Initial),
- {iterator, _pipe@1}.
-
--spec do_zip(fun(() -> action(CAV)), fun(() -> action(CAX))) -> fun(() -> action({CAV,
- CAX})).
-do_zip(Left, Right) ->
- fun() -> case Left() of
- stop ->
- stop;
-
- {continue, El_left, Next_left} ->
- case Right() of
- stop ->
- stop;
-
- {continue, El_right, Next_right} ->
- {continue,
- {El_left, El_right},
- do_zip(Next_left, Next_right)}
- end
- end end.
-
--spec zip(iterator(CBA), iterator(CBC)) -> iterator({CBA, CBC}).
-zip(Left, Right) ->
- _pipe = do_zip(erlang:element(2, Left), erlang:element(2, Right)),
- {iterator, _pipe}.
-
--spec next_chunk(fun(() -> action(CBF)), fun((CBF) -> CBH), CBH, list(CBF)) -> chunk(CBF, CBH).
-next_chunk(Continuation, F, Previous_key, Current_chunk) ->
- case Continuation() of
- stop ->
- {last_by, gleam@list:reverse(Current_chunk)};
-
- {continue, E, Next} ->
- Key = F(E),
- case Key =:= Previous_key of
- true ->
- next_chunk(Next, F, Key, [E | Current_chunk]);
-
- false ->
- {another_by,
- gleam@list:reverse(Current_chunk),
- Key,
- E,
- Next}
- end
- end.
-
--spec do_chunk(fun(() -> action(CBL)), fun((CBL) -> CBN), CBN, CBL) -> action(list(CBL)).
-do_chunk(Continuation, F, Previous_key, Previous_element) ->
- case next_chunk(Continuation, F, Previous_key, [Previous_element]) of
- {last_by, Chunk} ->
- {continue, Chunk, fun stop/0};
-
- {another_by, Chunk@1, Key, El, Next} ->
- {continue, Chunk@1, fun() -> do_chunk(Next, F, Key, El) end}
- end.
-
--spec chunk(iterator(CBQ), fun((CBQ) -> any())) -> iterator(list(CBQ)).
-chunk(Iterator, F) ->
- _pipe = fun() -> case (erlang:element(2, Iterator))() of
- stop ->
- stop;
-
- {continue, E, Next} ->
- do_chunk(Next, F, F(E), E)
- end end,
- {iterator, _pipe}.
-
--spec next_sized_chunk(fun(() -> action(CBV)), integer(), list(CBV)) -> sized_chunk(CBV).
-next_sized_chunk(Continuation, Left, Current_chunk) ->
- case Continuation() of
- stop ->
- case Current_chunk of
- [] ->
- no_more;
-
- Remaining ->
- {last, gleam@list:reverse(Remaining)}
- end;
-
- {continue, E, Next} ->
- Chunk = [E | Current_chunk],
- case Left > 1 of
- false ->
- {another, gleam@list:reverse(Chunk), Next};
-
- true ->
- next_sized_chunk(Next, Left - 1, Chunk)
- end
- end.
-
--spec do_sized_chunk(fun(() -> action(CBZ)), integer()) -> fun(() -> action(list(CBZ))).
-do_sized_chunk(Continuation, Count) ->
- fun() -> case next_sized_chunk(Continuation, Count, []) of
- no_more ->
- stop;
-
- {last, Chunk} ->
- {continue, Chunk, fun stop/0};
-
- {another, Chunk@1, Next_element} ->
- {continue, Chunk@1, do_sized_chunk(Next_element, Count)}
- end end.
-
--spec sized_chunk(iterator(CCD), integer()) -> iterator(list(CCD)).
-sized_chunk(Iterator, Count) ->
- _pipe = erlang:element(2, Iterator),
- _pipe@1 = do_sized_chunk(_pipe, Count),
- {iterator, _pipe@1}.
-
--spec do_intersperse(fun(() -> action(CCH)), CCH) -> action(CCH).
-do_intersperse(Continuation, Separator) ->
- case Continuation() of
- stop ->
- stop;
-
- {continue, E, Next} ->
- Next_interspersed = fun() -> do_intersperse(Next, Separator) end,
- {continue, Separator, fun() -> {continue, E, Next_interspersed} end}
- end.
-
--spec intersperse(iterator(CCK), CCK) -> iterator(CCK).
-intersperse(Iterator, Elem) ->
- _pipe = fun() -> case (erlang:element(2, Iterator))() of
- stop ->
- stop;
-
- {continue, E, Next} ->
- {continue, E, fun() -> do_intersperse(Next, Elem) end}
- end end,
- {iterator, _pipe}.
-
--spec do_any(fun(() -> action(CCN)), fun((CCN) -> boolean())) -> boolean().
-do_any(Continuation, Predicate) ->
- case Continuation() of
- stop ->
- false;
-
- {continue, E, Next} ->
- case Predicate(E) of
- true ->
- true;
-
- false ->
- do_any(Next, Predicate)
- end
- end.
-
--spec any(iterator(CCP), fun((CCP) -> boolean())) -> boolean().
-any(Iterator, Predicate) ->
- _pipe = erlang:element(2, Iterator),
- do_any(_pipe, Predicate).
-
--spec do_all(fun(() -> action(CCR)), fun((CCR) -> boolean())) -> boolean().
-do_all(Continuation, Predicate) ->
- case Continuation() of
- stop ->
- true;
-
- {continue, E, Next} ->
- case Predicate(E) of
- true ->
- do_all(Next, Predicate);
-
- false ->
- false
- end
- end.
-
--spec all(iterator(CCT), fun((CCT) -> boolean())) -> boolean().
-all(Iterator, Predicate) ->
- _pipe = erlang:element(2, Iterator),
- do_all(_pipe, Predicate).
-
--spec update_group_with(CCV) -> fun((gleam@option:option(list(CCV))) -> list(CCV)).
-update_group_with(El) ->
- fun(Maybe_group) -> case Maybe_group of
- {some, Group} ->
- [El | Group];
-
- none ->
- [El]
- end end.
-
--spec group_updater(fun((CCZ) -> CDA)) -> fun((gleam@dict:dict(CDA, list(CCZ)), CCZ) -> gleam@dict:dict(CDA, list(CCZ))).
-group_updater(F) ->
- fun(Groups, Elem) -> _pipe = Groups,
- gleam@dict:update(_pipe, F(Elem), update_group_with(Elem)) end.
-
--spec group(iterator(CDH), fun((CDH) -> CDJ)) -> gleam@dict:dict(CDJ, list(CDH)).
-group(Iterator, Key) ->
- _pipe = Iterator,
- _pipe@1 = fold(_pipe, gleam@dict:new(), group_updater(Key)),
- gleam@dict:map_values(
- _pipe@1,
- fun(_, Group) -> gleam@list:reverse(Group) end
- ).
-
--spec reduce(iterator(CDN), fun((CDN, CDN) -> CDN)) -> {ok, CDN} | {error, nil}.
-reduce(Iterator, F) ->
- case (erlang:element(2, Iterator))() of
- stop ->
- {error, nil};
-
- {continue, E, Next} ->
- _pipe = do_fold(Next, F, E),
- {ok, _pipe}
- end.
-
--spec last(iterator(CDR)) -> {ok, CDR} | {error, nil}.
-last(Iterator) ->
- _pipe = Iterator,
- reduce(_pipe, fun(_, Elem) -> Elem end).
-
--spec empty() -> iterator(any()).
-empty() ->
- {iterator, fun stop/0}.
-
--spec once(fun(() -> CDX)) -> iterator(CDX).
-once(F) ->
- _pipe = fun() -> {continue, F(), fun stop/0} end,
- {iterator, _pipe}.
-
--spec range(integer(), integer()) -> iterator(integer()).
-range(Start, Stop) ->
- case gleam@int:compare(Start, Stop) of
- eq ->
- once(fun() -> Start end);
-
- gt ->
- unfold(Start, fun(Current) -> case Current < Stop of
- false ->
- {next, Current, Current - 1};
-
- true ->
- done
- end end);
-
- lt ->
- unfold(Start, fun(Current@1) -> case Current@1 > Stop of
- false ->
- {next, Current@1, Current@1 + 1};
-
- true ->
- done
- end end)
- end.
-
--spec single(CDZ) -> iterator(CDZ).
-single(Elem) ->
- once(fun() -> Elem end).
-
--spec do_interleave(fun(() -> action(CEB)), fun(() -> action(CEB))) -> action(CEB).
-do_interleave(Current, Next) ->
- case Current() of
- stop ->
- Next();
-
- {continue, E, Next_other} ->
- {continue, E, fun() -> do_interleave(Next, Next_other) end}
- end.
-
--spec interleave(iterator(CEF), iterator(CEF)) -> iterator(CEF).
-interleave(Left, Right) ->
- _pipe = fun() ->
- do_interleave(erlang:element(2, Left), erlang:element(2, Right))
- end,
- {iterator, _pipe}.
-
--spec do_fold_until(
- fun(() -> action(CEJ)),
- fun((CEL, CEJ) -> gleam@list:continue_or_stop(CEL)),
- CEL
-) -> CEL.
-do_fold_until(Continuation, F, Accumulator) ->
- case Continuation() of
- stop ->
- Accumulator;
-
- {continue, Elem, Next} ->
- case F(Accumulator, Elem) of
- {continue, Accumulator@1} ->
- do_fold_until(Next, F, Accumulator@1);
-
- {stop, Accumulator@2} ->
- Accumulator@2
- end
- end.
-
--spec fold_until(
- iterator(CEN),
- CEP,
- fun((CEP, CEN) -> gleam@list:continue_or_stop(CEP))
-) -> CEP.
-fold_until(Iterator, Initial, F) ->
- _pipe = erlang:element(2, Iterator),
- do_fold_until(_pipe, F, Initial).
-
--spec do_try_fold(
- fun(() -> action(CER)),
- fun((CET, CER) -> {ok, CET} | {error, CEU}),
- CET
-) -> {ok, CET} | {error, CEU}.
-do_try_fold(Continuation, F, Accumulator) ->
- case Continuation() of
- stop ->
- {ok, Accumulator};
-
- {continue, Elem, Next} ->
- gleam@result:'try'(
- F(Accumulator, Elem),
- fun(Accumulator@1) -> do_try_fold(Next, F, Accumulator@1) end
- )
- end.
-
--spec try_fold(iterator(CEZ), CFB, fun((CFB, CEZ) -> {ok, CFB} | {error, CFC})) -> {ok,
- CFB} |
- {error, CFC}.
-try_fold(Iterator, Initial, F) ->
- _pipe = erlang:element(2, Iterator),
- do_try_fold(_pipe, F, Initial).
-
--spec first(iterator(CFH)) -> {ok, CFH} | {error, nil}.
-first(Iterator) ->
- case (erlang:element(2, Iterator))() of
- stop ->
- {error, nil};
-
- {continue, E, _} ->
- {ok, E}
- end.
-
--spec at(iterator(CFL), integer()) -> {ok, CFL} | {error, nil}.
-at(Iterator, Index) ->
- _pipe = Iterator,
- _pipe@1 = drop(_pipe, Index),
- first(_pipe@1).
-
--spec do_length(fun(() -> action(any())), integer()) -> integer().
-do_length(Continuation, Length) ->
- case Continuation() of
- stop ->
- Length;
-
- {continue, _, Next} ->
- do_length(Next, Length + 1)
- end.
-
--spec length(iterator(any())) -> integer().
-length(Iterator) ->
- _pipe = erlang:element(2, Iterator),
- do_length(_pipe, 0).
-
--spec each(iterator(CFT), fun((CFT) -> any())) -> nil.
-each(Iterator, F) ->
- _pipe = Iterator,
- _pipe@1 = map(_pipe, F),
- run(_pipe@1).
-
--spec yield(CFW, fun(() -> iterator(CFW))) -> iterator(CFW).
-yield(Element, Next) ->
- {iterator, fun() -> {continue, Element, erlang:element(2, Next())} end}.
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@list.cache b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@list.cache
deleted file mode 100644
index 394792a..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@list.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@list.cache_meta b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@list.cache_meta
deleted file mode 100644
index 56b294f..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@list.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@list.erl b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@list.erl
deleted file mode 100644
index 6c2e684..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@list.erl
+++ /dev/null
@@ -1,1129 +0,0 @@
--module(gleam@list).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([length/1, reverse/1, is_empty/1, contains/2, first/1, rest/1, filter/2, filter_map/2, map/2, map2/3, index_map/2, try_map/2, drop/2, take/2, new/0, append/2, prepend/2, concat/1, flatten/1, flat_map/2, fold/3, group/2, map_fold/3, fold_right/3, index_fold/3, try_fold/3, fold_until/3, find/2, find_map/2, all/2, any/2, zip/2, strict_zip/2, unzip/1, intersperse/2, at/2, unique/1, sort/2, range/2, repeat/2, split/2, split_while/2, key_find/2, key_filter/2, pop/2, pop_map/2, key_pop/2, key_set/3, each/2, try_each/2, partition/2, permutations/1, window/2, window_by_2/1, drop_while/2, take_while/2, chunk/2, sized_chunk/2, reduce/2, scan/3, last/1, combinations/2, combination_pairs/1, transpose/1, interleave/1, shuffle/1]).
--export_type([length_mismatch/0, continue_or_stop/1]).
-
--type length_mismatch() :: length_mismatch.
-
--type continue_or_stop(UD) :: {continue, UD} | {stop, UD}.
-
--spec length(list(any())) -> integer().
-length(List) ->
- erlang:length(List).
-
--spec reverse(list(UI)) -> list(UI).
-reverse(Xs) ->
- lists:reverse(Xs).
-
--spec is_empty(list(any())) -> boolean().
-is_empty(List) ->
- List =:= [].
-
--spec contains(list(UQ), UQ) -> boolean().
-contains(List, Elem) ->
- case List of
- [] ->
- false;
-
- [First | _] when First =:= Elem ->
- true;
-
- [_ | Rest] ->
- contains(Rest, Elem)
- end.
-
--spec first(list(US)) -> {ok, US} | {error, nil}.
-first(List) ->
- case List of
- [] ->
- {error, nil};
-
- [X | _] ->
- {ok, X}
- end.
-
--spec rest(list(UW)) -> {ok, list(UW)} | {error, nil}.
-rest(List) ->
- case List of
- [] ->
- {error, nil};
-
- [_ | Xs] ->
- {ok, Xs}
- end.
-
--spec update_group(fun((VB) -> VC)) -> fun((gleam@dict:dict(VC, list(VB)), VB) -> gleam@dict:dict(VC, list(VB))).
-update_group(F) ->
- fun(Groups, Elem) -> case gleam@dict:get(Groups, F(Elem)) of
- {ok, Existing} ->
- gleam@dict:insert(Groups, F(Elem), [Elem | Existing]);
-
- {error, _} ->
- gleam@dict:insert(Groups, F(Elem), [Elem])
- end end.
-
--spec do_filter(list(VP), fun((VP) -> boolean()), list(VP)) -> list(VP).
-do_filter(List, Fun, Acc) ->
- case List of
- [] ->
- reverse(Acc);
-
- [X | Xs] ->
- New_acc = case Fun(X) of
- true ->
- [X | Acc];
-
- false ->
- Acc
- end,
- do_filter(Xs, Fun, New_acc)
- end.
-
--spec filter(list(VT), fun((VT) -> boolean())) -> list(VT).
-filter(List, Predicate) ->
- do_filter(List, Predicate, []).
-
--spec do_filter_map(list(VW), fun((VW) -> {ok, VY} | {error, any()}), list(VY)) -> list(VY).
-do_filter_map(List, Fun, Acc) ->
- case List of
- [] ->
- reverse(Acc);
-
- [X | Xs] ->
- New_acc = case Fun(X) of
- {ok, X@1} ->
- [X@1 | Acc];
-
- {error, _} ->
- Acc
- end,
- do_filter_map(Xs, Fun, New_acc)
- end.
-
--spec filter_map(list(WE), fun((WE) -> {ok, WG} | {error, any()})) -> list(WG).
-filter_map(List, Fun) ->
- do_filter_map(List, Fun, []).
-
--spec do_map(list(WL), fun((WL) -> WN), list(WN)) -> list(WN).
-do_map(List, Fun, Acc) ->
- case List of
- [] ->
- reverse(Acc);
-
- [X | Xs] ->
- do_map(Xs, Fun, [Fun(X) | Acc])
- end.
-
--spec map(list(WQ), fun((WQ) -> WS)) -> list(WS).
-map(List, Fun) ->
- do_map(List, Fun, []).
-
--spec do_map2(list(XA), list(XC), fun((XA, XC) -> XE), list(XE)) -> list(XE).
-do_map2(List1, List2, Fun, Acc) ->
- case {List1, List2} of
- {[], _} ->
- reverse(Acc);
-
- {_, []} ->
- reverse(Acc);
-
- {[A | As_], [B | Bs]} ->
- do_map2(As_, Bs, Fun, [Fun(A, B) | Acc])
- end.
-
--spec map2(list(WU), list(WW), fun((WU, WW) -> WY)) -> list(WY).
-map2(List1, List2, Fun) ->
- do_map2(List1, List2, Fun, []).
-
--spec do_index_map(list(XM), fun((integer(), XM) -> XO), integer(), list(XO)) -> list(XO).
-do_index_map(List, Fun, Index, Acc) ->
- case List of
- [] ->
- reverse(Acc);
-
- [X | Xs] ->
- Acc@1 = [Fun(Index, X) | Acc],
- do_index_map(Xs, Fun, Index + 1, Acc@1)
- end.
-
--spec index_map(list(XR), fun((integer(), XR) -> XT)) -> list(XT).
-index_map(List, Fun) ->
- do_index_map(List, Fun, 0, []).
-
--spec do_try_map(list(XV), fun((XV) -> {ok, XX} | {error, XY}), list(XX)) -> {ok,
- list(XX)} |
- {error, XY}.
-do_try_map(List, Fun, Acc) ->
- case List of
- [] ->
- {ok, reverse(Acc)};
-
- [X | Xs] ->
- case Fun(X) of
- {ok, Y} ->
- do_try_map(Xs, Fun, [Y | Acc]);
-
- {error, Error} ->
- {error, Error}
- end
- end.
-
--spec try_map(list(YF), fun((YF) -> {ok, YH} | {error, YI})) -> {ok, list(YH)} |
- {error, YI}.
-try_map(List, Fun) ->
- do_try_map(List, Fun, []).
-
--spec drop(list(YO), integer()) -> list(YO).
-drop(List, N) ->
- case N =< 0 of
- true ->
- List;
-
- false ->
- case List of
- [] ->
- [];
-
- [_ | Xs] ->
- drop(Xs, N - 1)
- end
- end.
-
--spec do_take(list(YR), integer(), list(YR)) -> list(YR).
-do_take(List, N, Acc) ->
- case N =< 0 of
- true ->
- reverse(Acc);
-
- false ->
- case List of
- [] ->
- reverse(Acc);
-
- [X | Xs] ->
- do_take(Xs, N - 1, [X | Acc])
- end
- end.
-
--spec take(list(YV), integer()) -> list(YV).
-take(List, N) ->
- do_take(List, N, []).
-
--spec new() -> list(any()).
-new() ->
- [].
-
--spec append(list(AAA), list(AAA)) -> list(AAA).
-append(First, Second) ->
- lists:append(First, Second).
-
--spec prepend(list(AAI), AAI) -> list(AAI).
-prepend(List, Item) ->
- [Item | List].
-
--spec reverse_and_prepend(list(AAL), list(AAL)) -> list(AAL).
-reverse_and_prepend(Prefix, Suffix) ->
- case Prefix of
- [] ->
- Suffix;
-
- [First | Rest] ->
- reverse_and_prepend(Rest, [First | Suffix])
- end.
-
--spec do_concat(list(list(AAP)), list(AAP)) -> list(AAP).
-do_concat(Lists, Acc) ->
- case Lists of
- [] ->
- reverse(Acc);
-
- [List | Further_lists] ->
- do_concat(Further_lists, reverse_and_prepend(List, Acc))
- end.
-
--spec concat(list(list(AAU))) -> list(AAU).
-concat(Lists) ->
- do_concat(Lists, []).
-
--spec flatten(list(list(AAY))) -> list(AAY).
-flatten(Lists) ->
- do_concat(Lists, []).
-
--spec flat_map(list(ABC), fun((ABC) -> list(ABE))) -> list(ABE).
-flat_map(List, Fun) ->
- _pipe = map(List, Fun),
- concat(_pipe).
-
--spec fold(list(ABH), ABJ, fun((ABJ, ABH) -> ABJ)) -> ABJ.
-fold(List, Initial, Fun) ->
- case List of
- [] ->
- Initial;
-
- [X | Rest] ->
- fold(Rest, Fun(Initial, X), Fun)
- end.
-
--spec group(list(VJ), fun((VJ) -> VL)) -> gleam@dict:dict(VL, list(VJ)).
-group(List, Key) ->
- fold(List, gleam@dict:new(), update_group(Key)).
-
--spec map_fold(list(XH), XJ, fun((XJ, XH) -> {XJ, XK})) -> {XJ, list(XK)}.
-map_fold(List, Acc, Fun) ->
- _pipe = fold(
- List,
- {Acc, []},
- fun(Acc@1, Item) ->
- {Current_acc, Items} = Acc@1,
- {Next_acc, Next_item} = Fun(Current_acc, Item),
- {Next_acc, [Next_item | Items]}
- end
- ),
- gleam@pair:map_second(_pipe, fun reverse/1).
-
--spec fold_right(list(ABK), ABM, fun((ABM, ABK) -> ABM)) -> ABM.
-fold_right(List, Initial, Fun) ->
- case List of
- [] ->
- Initial;
-
- [X | Rest] ->
- Fun(fold_right(Rest, Initial, Fun), X)
- end.
-
--spec do_index_fold(
- list(ABN),
- ABP,
- fun((ABP, ABN, integer()) -> ABP),
- integer()
-) -> ABP.
-do_index_fold(Over, Acc, With, Index) ->
- case Over of
- [] ->
- Acc;
-
- [First | Rest] ->
- do_index_fold(Rest, With(Acc, First, Index), With, Index + 1)
- end.
-
--spec index_fold(list(ABQ), ABS, fun((ABS, ABQ, integer()) -> ABS)) -> ABS.
-index_fold(Over, Initial, Fun) ->
- do_index_fold(Over, Initial, Fun, 0).
-
--spec try_fold(list(ABT), ABV, fun((ABV, ABT) -> {ok, ABV} | {error, ABW})) -> {ok,
- ABV} |
- {error, ABW}.
-try_fold(Collection, Accumulator, Fun) ->
- case Collection of
- [] ->
- {ok, Accumulator};
-
- [First | Rest] ->
- case Fun(Accumulator, First) of
- {ok, Result} ->
- try_fold(Rest, Result, Fun);
-
- {error, _} = Error ->
- Error
- end
- end.
-
--spec fold_until(list(ACB), ACD, fun((ACD, ACB) -> continue_or_stop(ACD))) -> ACD.
-fold_until(Collection, Accumulator, Fun) ->
- case Collection of
- [] ->
- Accumulator;
-
- [First | Rest] ->
- case Fun(Accumulator, First) of
- {continue, Next_accumulator} ->
- fold_until(Rest, Next_accumulator, Fun);
-
- {stop, B} ->
- B
- end
- end.
-
--spec find(list(ACF), fun((ACF) -> boolean())) -> {ok, ACF} | {error, nil}.
-find(Haystack, Is_desired) ->
- case Haystack of
- [] ->
- {error, nil};
-
- [X | Rest] ->
- case Is_desired(X) of
- true ->
- {ok, X};
-
- _ ->
- find(Rest, Is_desired)
- end
- end.
-
--spec find_map(list(ACJ), fun((ACJ) -> {ok, ACL} | {error, any()})) -> {ok, ACL} |
- {error, nil}.
-find_map(Haystack, Fun) ->
- case Haystack of
- [] ->
- {error, nil};
-
- [X | Rest] ->
- case Fun(X) of
- {ok, X@1} ->
- {ok, X@1};
-
- _ ->
- find_map(Rest, Fun)
- end
- end.
-
--spec all(list(ACR), fun((ACR) -> boolean())) -> boolean().
-all(List, Predicate) ->
- case List of
- [] ->
- true;
-
- [First | Rest] ->
- case Predicate(First) of
- true ->
- all(Rest, Predicate);
-
- false ->
- false
- end
- end.
-
--spec any(list(ACT), fun((ACT) -> boolean())) -> boolean().
-any(List, Predicate) ->
- case List of
- [] ->
- false;
-
- [First | Rest] ->
- case Predicate(First) of
- true ->
- true;
-
- false ->
- any(Rest, Predicate)
- end
- end.
-
--spec do_zip(list(ACV), list(ACX), list({ACV, ACX})) -> list({ACV, ACX}).
-do_zip(Xs, Ys, Acc) ->
- case {Xs, Ys} of
- {[X | Xs@1], [Y | Ys@1]} ->
- do_zip(Xs@1, Ys@1, [{X, Y} | Acc]);
-
- {_, _} ->
- reverse(Acc)
- end.
-
--spec zip(list(ADB), list(ADD)) -> list({ADB, ADD}).
-zip(List, Other) ->
- do_zip(List, Other, []).
-
--spec strict_zip(list(ADG), list(ADI)) -> {ok, list({ADG, ADI})} |
- {error, length_mismatch()}.
-strict_zip(List, Other) ->
- case length(List) =:= length(Other) of
- true ->
- {ok, zip(List, Other)};
-
- false ->
- {error, length_mismatch}
- end.
-
--spec do_unzip(list({ATA, ATB}), list(ATA), list(ATB)) -> {list(ATA), list(ATB)}.
-do_unzip(Input, Xs, Ys) ->
- case Input of
- [] ->
- {reverse(Xs), reverse(Ys)};
-
- [{X, Y} | Rest] ->
- do_unzip(Rest, [X | Xs], [Y | Ys])
- end.
-
--spec unzip(list({ADR, ADS})) -> {list(ADR), list(ADS)}.
-unzip(Input) ->
- do_unzip(Input, [], []).
-
--spec do_intersperse(list(ADW), ADW, list(ADW)) -> list(ADW).
-do_intersperse(List, Separator, Acc) ->
- case List of
- [] ->
- reverse(Acc);
-
- [X | Rest] ->
- do_intersperse(Rest, Separator, [X, Separator | Acc])
- end.
-
--spec intersperse(list(AEA), AEA) -> list(AEA).
-intersperse(List, Elem) ->
- case List of
- [] ->
- List;
-
- [_] ->
- List;
-
- [X | Rest] ->
- do_intersperse(Rest, Elem, [X])
- end.
-
--spec at(list(AED), integer()) -> {ok, AED} | {error, nil}.
-at(List, Index) ->
- case Index >= 0 of
- true ->
- _pipe = List,
- _pipe@1 = drop(_pipe, Index),
- first(_pipe@1);
-
- false ->
- {error, nil}
- end.
-
--spec unique(list(AEH)) -> list(AEH).
-unique(List) ->
- case List of
- [] ->
- [];
-
- [X | Rest] ->
- [X | unique(filter(Rest, fun(Y) -> Y /= X end))]
- end.
-
--spec merge_up(
- integer(),
- integer(),
- list(AEK),
- list(AEK),
- list(AEK),
- fun((AEK, AEK) -> gleam@order:order())
-) -> list(AEK).
-merge_up(Na, Nb, A, B, Acc, Compare) ->
- case {Na, Nb, A, B} of
- {0, 0, _, _} ->
- Acc;
-
- {_, 0, [Ax | Ar], _} ->
- merge_up(Na - 1, Nb, Ar, B, [Ax | Acc], Compare);
-
- {0, _, _, [Bx | Br]} ->
- merge_up(Na, Nb - 1, A, Br, [Bx | Acc], Compare);
-
- {_, _, [Ax@1 | Ar@1], [Bx@1 | Br@1]} ->
- case Compare(Ax@1, Bx@1) of
- gt ->
- merge_up(Na, Nb - 1, A, Br@1, [Bx@1 | Acc], Compare);
-
- _ ->
- merge_up(Na - 1, Nb, Ar@1, B, [Ax@1 | Acc], Compare)
- end;
-
- {_, _, _, _} ->
- Acc
- end.
-
--spec merge_down(
- integer(),
- integer(),
- list(AEP),
- list(AEP),
- list(AEP),
- fun((AEP, AEP) -> gleam@order:order())
-) -> list(AEP).
-merge_down(Na, Nb, A, B, Acc, Compare) ->
- case {Na, Nb, A, B} of
- {0, 0, _, _} ->
- Acc;
-
- {_, 0, [Ax | Ar], _} ->
- merge_down(Na - 1, Nb, Ar, B, [Ax | Acc], Compare);
-
- {0, _, _, [Bx | Br]} ->
- merge_down(Na, Nb - 1, A, Br, [Bx | Acc], Compare);
-
- {_, _, [Ax@1 | Ar@1], [Bx@1 | Br@1]} ->
- case Compare(Bx@1, Ax@1) of
- lt ->
- merge_down(Na - 1, Nb, Ar@1, B, [Ax@1 | Acc], Compare);
-
- _ ->
- merge_down(Na, Nb - 1, A, Br@1, [Bx@1 | Acc], Compare)
- end;
-
- {_, _, _, _} ->
- Acc
- end.
-
--spec merge_sort(
- list(AEU),
- integer(),
- fun((AEU, AEU) -> gleam@order:order()),
- boolean()
-) -> list(AEU).
-merge_sort(L, Ln, Compare, Down) ->
- N = Ln div 2,
- A = L,
- B = drop(L, N),
- case Ln < 3 of
- true ->
- case Down of
- true ->
- merge_down(N, Ln - N, A, B, [], Compare);
-
- false ->
- merge_up(N, Ln - N, A, B, [], Compare)
- end;
-
- false ->
- case Down of
- true ->
- merge_down(
- N,
- Ln - N,
- merge_sort(A, N, Compare, false),
- merge_sort(B, Ln - N, Compare, false),
- [],
- Compare
- );
-
- false ->
- merge_up(
- N,
- Ln - N,
- merge_sort(A, N, Compare, true),
- merge_sort(B, Ln - N, Compare, true),
- [],
- Compare
- )
- end
- end.
-
--spec sort(list(AEX), fun((AEX, AEX) -> gleam@order:order())) -> list(AEX).
-sort(List, Compare) ->
- merge_sort(List, length(List), Compare, true).
-
--spec tail_recursive_range(integer(), integer(), list(integer())) -> list(integer()).
-tail_recursive_range(Start, Stop, Acc) ->
- case gleam@int:compare(Start, Stop) of
- eq ->
- [Stop | Acc];
-
- gt ->
- tail_recursive_range(Start, Stop + 1, [Stop | Acc]);
-
- lt ->
- tail_recursive_range(Start, Stop - 1, [Stop | Acc])
- end.
-
--spec range(integer(), integer()) -> list(integer()).
-range(Start, Stop) ->
- tail_recursive_range(Start, Stop, []).
-
--spec do_repeat(AFD, integer(), list(AFD)) -> list(AFD).
-do_repeat(A, Times, Acc) ->
- case Times =< 0 of
- true ->
- Acc;
-
- false ->
- do_repeat(A, Times - 1, [A | Acc])
- end.
-
--spec repeat(AFG, integer()) -> list(AFG).
-repeat(A, Times) ->
- do_repeat(A, Times, []).
-
--spec do_split(list(AFI), integer(), list(AFI)) -> {list(AFI), list(AFI)}.
-do_split(List, N, Taken) ->
- case N =< 0 of
- true ->
- {reverse(Taken), List};
-
- false ->
- case List of
- [] ->
- {reverse(Taken), []};
-
- [X | Xs] ->
- do_split(Xs, N - 1, [X | Taken])
- end
- end.
-
--spec split(list(AFN), integer()) -> {list(AFN), list(AFN)}.
-split(List, Index) ->
- do_split(List, Index, []).
-
--spec do_split_while(list(AFR), fun((AFR) -> boolean()), list(AFR)) -> {list(AFR),
- list(AFR)}.
-do_split_while(List, F, Acc) ->
- case List of
- [] ->
- {reverse(Acc), []};
-
- [X | Xs] ->
- case F(X) of
- false ->
- {reverse(Acc), List};
-
- _ ->
- do_split_while(Xs, F, [X | Acc])
- end
- end.
-
--spec split_while(list(AFW), fun((AFW) -> boolean())) -> {list(AFW), list(AFW)}.
-split_while(List, Predicate) ->
- do_split_while(List, Predicate, []).
-
--spec key_find(list({AGA, AGB}), AGA) -> {ok, AGB} | {error, nil}.
-key_find(Keyword_list, Desired_key) ->
- find_map(
- Keyword_list,
- fun(Keyword) ->
- {Key, Value} = Keyword,
- case Key =:= Desired_key of
- true ->
- {ok, Value};
-
- false ->
- {error, nil}
- end
- end
- ).
-
--spec key_filter(list({AGF, AGG}), AGF) -> list(AGG).
-key_filter(Keyword_list, Desired_key) ->
- filter_map(
- Keyword_list,
- fun(Keyword) ->
- {Key, Value} = Keyword,
- case Key =:= Desired_key of
- true ->
- {ok, Value};
-
- false ->
- {error, nil}
- end
- end
- ).
-
--spec do_pop(list(AWT), fun((AWT) -> boolean()), list(AWT)) -> {ok,
- {AWT, list(AWT)}} |
- {error, nil}.
-do_pop(Haystack, Predicate, Checked) ->
- case Haystack of
- [] ->
- {error, nil};
-
- [X | Rest] ->
- case Predicate(X) of
- true ->
- {ok, {X, append(reverse(Checked), Rest)}};
-
- false ->
- do_pop(Rest, Predicate, [X | Checked])
- end
- end.
-
--spec pop(list(AGN), fun((AGN) -> boolean())) -> {ok, {AGN, list(AGN)}} |
- {error, nil}.
-pop(Haystack, Is_desired) ->
- do_pop(Haystack, Is_desired, []).
-
--spec do_pop_map(list(AXH), fun((AXH) -> {ok, AXU} | {error, any()}), list(AXH)) -> {ok,
- {AXU, list(AXH)}} |
- {error, nil}.
-do_pop_map(Haystack, Mapper, Checked) ->
- case Haystack of
- [] ->
- {error, nil};
-
- [X | Rest] ->
- case Mapper(X) of
- {ok, Y} ->
- {ok, {Y, append(reverse(Checked), Rest)}};
-
- {error, _} ->
- do_pop_map(Rest, Mapper, [X | Checked])
- end
- end.
-
--spec pop_map(list(AGW), fun((AGW) -> {ok, AGY} | {error, any()})) -> {ok,
- {AGY, list(AGW)}} |
- {error, nil}.
-pop_map(Haystack, Is_desired) ->
- do_pop_map(Haystack, Is_desired, []).
-
--spec key_pop(list({AHF, AHG}), AHF) -> {ok, {AHG, list({AHF, AHG})}} |
- {error, nil}.
-key_pop(Haystack, Key) ->
- pop_map(
- Haystack,
- fun(Entry) ->
- {K, V} = Entry,
- case K of
- K@1 when K@1 =:= Key ->
- {ok, V};
-
- _ ->
- {error, nil}
- end
- end
- ).
-
--spec key_set(list({AHL, AHM}), AHL, AHM) -> list({AHL, AHM}).
-key_set(List, Key, Value) ->
- case List of
- [] ->
- [{Key, Value}];
-
- [{K, _} | Rest] when K =:= Key ->
- [{Key, Value} | Rest];
-
- [First | Rest@1] ->
- [First | key_set(Rest@1, Key, Value)]
- end.
-
--spec each(list(AHP), fun((AHP) -> any())) -> nil.
-each(List, F) ->
- case List of
- [] ->
- nil;
-
- [X | Xs] ->
- F(X),
- each(Xs, F)
- end.
-
--spec try_each(list(AHS), fun((AHS) -> {ok, any()} | {error, AHV})) -> {ok, nil} |
- {error, AHV}.
-try_each(List, Fun) ->
- case List of
- [] ->
- {ok, nil};
-
- [X | Xs] ->
- case Fun(X) of
- {ok, _} ->
- try_each(Xs, Fun);
-
- {error, E} ->
- {error, E}
- end
- end.
-
--spec do_partition(list(AZB), fun((AZB) -> boolean()), list(AZB), list(AZB)) -> {list(AZB),
- list(AZB)}.
-do_partition(List, Categorise, Trues, Falses) ->
- case List of
- [] ->
- {reverse(Trues), reverse(Falses)};
-
- [X | Xs] ->
- case Categorise(X) of
- true ->
- do_partition(Xs, Categorise, [X | Trues], Falses);
-
- false ->
- do_partition(Xs, Categorise, Trues, [X | Falses])
- end
- end.
-
--spec partition(list(AIF), fun((AIF) -> boolean())) -> {list(AIF), list(AIF)}.
-partition(List, Categorise) ->
- do_partition(List, Categorise, [], []).
-
--spec permutations(list(AIJ)) -> list(list(AIJ)).
-permutations(L) ->
- case L of
- [] ->
- [[]];
-
- _ ->
- _pipe = L,
- _pipe@5 = index_map(_pipe, fun(I_idx, I) -> _pipe@1 = L,
- _pipe@2 = index_fold(
- _pipe@1,
- [],
- fun(Acc, J, J_idx) -> case I_idx =:= J_idx of
- true ->
- Acc;
-
- false ->
- [J | Acc]
- end end
- ),
- _pipe@3 = reverse(_pipe@2),
- _pipe@4 = permutations(_pipe@3),
- map(_pipe@4, fun(Permutation) -> [I | Permutation] end) end),
- concat(_pipe@5)
- end.
-
--spec do_window(list(list(AIN)), list(AIN), integer()) -> list(list(AIN)).
-do_window(Acc, L, N) ->
- Window = take(L, N),
- case length(Window) =:= N of
- true ->
- do_window([Window | Acc], drop(L, 1), N);
-
- false ->
- Acc
- end.
-
--spec window(list(AIT), integer()) -> list(list(AIT)).
-window(L, N) ->
- _pipe = do_window([], L, N),
- reverse(_pipe).
-
--spec window_by_2(list(AIX)) -> list({AIX, AIX}).
-window_by_2(L) ->
- zip(L, drop(L, 1)).
-
--spec drop_while(list(AJA), fun((AJA) -> boolean())) -> list(AJA).
-drop_while(List, Predicate) ->
- case List of
- [] ->
- [];
-
- [X | Xs] ->
- case Predicate(X) of
- true ->
- drop_while(Xs, Predicate);
-
- false ->
- [X | Xs]
- end
- end.
-
--spec do_take_while(list(AJD), fun((AJD) -> boolean()), list(AJD)) -> list(AJD).
-do_take_while(List, Predicate, Acc) ->
- case List of
- [] ->
- reverse(Acc);
-
- [First | Rest] ->
- case Predicate(First) of
- true ->
- do_take_while(Rest, Predicate, [First | Acc]);
-
- false ->
- reverse(Acc)
- end
- end.
-
--spec take_while(list(AJH), fun((AJH) -> boolean())) -> list(AJH).
-take_while(List, Predicate) ->
- do_take_while(List, Predicate, []).
-
--spec do_chunk(list(AJK), fun((AJK) -> AJM), AJM, list(AJK), list(list(AJK))) -> list(list(AJK)).
-do_chunk(List, F, Previous_key, Current_chunk, Acc) ->
- case List of
- [First | Rest] ->
- Key = F(First),
- case Key =:= Previous_key of
- false ->
- New_acc = [reverse(Current_chunk) | Acc],
- do_chunk(Rest, F, Key, [First], New_acc);
-
- _ ->
- do_chunk(Rest, F, Key, [First | Current_chunk], Acc)
- end;
-
- _ ->
- reverse([reverse(Current_chunk) | Acc])
- end.
-
--spec chunk(list(AJS), fun((AJS) -> any())) -> list(list(AJS)).
-chunk(List, F) ->
- case List of
- [] ->
- [];
-
- [First | Rest] ->
- do_chunk(Rest, F, F(First), [First], [])
- end.
-
--spec do_sized_chunk(
- list(AJX),
- integer(),
- integer(),
- list(AJX),
- list(list(AJX))
-) -> list(list(AJX)).
-do_sized_chunk(List, Count, Left, Current_chunk, Acc) ->
- case List of
- [] ->
- case Current_chunk of
- [] ->
- reverse(Acc);
-
- Remaining ->
- reverse([reverse(Remaining) | Acc])
- end;
-
- [First | Rest] ->
- Chunk = [First | Current_chunk],
- case Left > 1 of
- false ->
- do_sized_chunk(
- Rest,
- Count,
- Count,
- [],
- [reverse(Chunk) | Acc]
- );
-
- true ->
- do_sized_chunk(Rest, Count, Left - 1, Chunk, Acc)
- end
- end.
-
--spec sized_chunk(list(AKE), integer()) -> list(list(AKE)).
-sized_chunk(List, Count) ->
- do_sized_chunk(List, Count, Count, [], []).
-
--spec reduce(list(AKI), fun((AKI, AKI) -> AKI)) -> {ok, AKI} | {error, nil}.
-reduce(List, Fun) ->
- case List of
- [] ->
- {error, nil};
-
- [First | Rest] ->
- {ok, fold(Rest, First, Fun)}
- end.
-
--spec do_scan(list(AKM), AKO, list(AKO), fun((AKO, AKM) -> AKO)) -> list(AKO).
-do_scan(List, Accumulator, Accumulated, Fun) ->
- case List of
- [] ->
- reverse(Accumulated);
-
- [X | Xs] ->
- Next = Fun(Accumulator, X),
- do_scan(Xs, Next, [Next | Accumulated], Fun)
- end.
-
--spec scan(list(AKR), AKT, fun((AKT, AKR) -> AKT)) -> list(AKT).
-scan(List, Initial, Fun) ->
- do_scan(List, Initial, [], Fun).
-
--spec last(list(AKV)) -> {ok, AKV} | {error, nil}.
-last(List) ->
- _pipe = List,
- reduce(_pipe, fun(_, Elem) -> Elem end).
-
--spec combinations(list(AKZ), integer()) -> list(list(AKZ)).
-combinations(Items, N) ->
- case N of
- 0 ->
- [[]];
-
- _ ->
- case Items of
- [] ->
- [];
-
- [X | Xs] ->
- First_combinations = begin
- _pipe = map(
- combinations(Xs, N - 1),
- fun(Com) -> [X | Com] end
- ),
- reverse(_pipe)
- end,
- fold(
- First_combinations,
- combinations(Xs, N),
- fun(Acc, C) -> [C | Acc] end
- )
- end
- end.
-
--spec do_combination_pairs(list(ALD)) -> list(list({ALD, ALD})).
-do_combination_pairs(Items) ->
- case Items of
- [] ->
- [];
-
- [X | Xs] ->
- First_combinations = map(Xs, fun(Other) -> {X, Other} end),
- [First_combinations | do_combination_pairs(Xs)]
- end.
-
--spec combination_pairs(list(ALH)) -> list({ALH, ALH}).
-combination_pairs(Items) ->
- _pipe = do_combination_pairs(Items),
- concat(_pipe).
-
--spec transpose(list(list(ALO))) -> list(list(ALO)).
-transpose(List_of_list) ->
- Take_first = fun(List) -> case List of
- [] ->
- [];
-
- [F] ->
- [F];
-
- [F@1 | _] ->
- [F@1]
- end end,
- case List_of_list of
- [] ->
- [];
-
- [[] | Xss] ->
- transpose(Xss);
-
- Rows ->
- Firsts = begin
- _pipe = Rows,
- _pipe@1 = map(_pipe, Take_first),
- concat(_pipe@1)
- end,
- Rest = transpose(map(Rows, fun(_capture) -> drop(_capture, 1) end)),
- [Firsts | Rest]
- end.
-
--spec interleave(list(list(ALK))) -> list(ALK).
-interleave(List) ->
- _pipe = transpose(List),
- concat(_pipe).
-
--spec do_shuffle_pair_unwrap(list({float(), ALT}), list(ALT)) -> list(ALT).
-do_shuffle_pair_unwrap(List, Acc) ->
- case List of
- [] ->
- Acc;
-
- [Elem_pair | Enumerable] ->
- do_shuffle_pair_unwrap(
- Enumerable,
- [erlang:element(2, Elem_pair) | Acc]
- )
- end.
-
--spec do_shuffle_by_pair_indexes(list({float(), ALX})) -> list({float(), ALX}).
-do_shuffle_by_pair_indexes(List_of_pairs) ->
- sort(
- List_of_pairs,
- fun(A_pair, B_pair) ->
- gleam@float:compare(
- erlang:element(1, A_pair),
- erlang:element(1, B_pair)
- )
- end
- ).
-
--spec shuffle(list(AMA)) -> list(AMA).
-shuffle(List) ->
- _pipe = List,
- _pipe@1 = fold(
- _pipe,
- [],
- fun(Acc, A) -> [{gleam@float:random(+0.0, 1.0), A} | Acc] end
- ),
- _pipe@2 = do_shuffle_by_pair_indexes(_pipe@1),
- do_shuffle_pair_unwrap(_pipe@2, []).
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@map.cache b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@map.cache
deleted file mode 100644
index d0685b3..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@map.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@map.cache_meta b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@map.cache_meta
deleted file mode 100644
index 03b0ec9..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@map.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@map.erl b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@map.erl
deleted file mode 100644
index 4f90bbd..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@map.erl
+++ /dev/null
@@ -1,76 +0,0 @@
--module(gleam@map).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([size/1, to_list/1, from_list/1, has_key/2, new/0, get/2, insert/3, map_values/2, keys/1, values/1, filter/2, take/2, merge/2, delete/2, drop/2, update/3, fold/3]).
-
--spec size(gleam@dict:dict(any(), any())) -> integer().
-size(Map) ->
- gleam@dict:size(Map).
-
--spec to_list(gleam@dict:dict(FDO, FDP)) -> list({FDO, FDP}).
-to_list(Map) ->
- gleam@dict:to_list(Map).
-
--spec from_list(list({FDR, FDS})) -> gleam@dict:dict(FDR, FDS).
-from_list(List) ->
- gleam@dict:from_list(List).
-
--spec has_key(gleam@dict:dict(FDW, any()), FDW) -> boolean().
-has_key(Map, Key) ->
- gleam@dict:has_key(Map, Key).
-
--spec new() -> gleam@dict:dict(any(), any()).
-new() ->
- gleam@dict:new().
-
--spec get(gleam@dict:dict(FDZ, FEA), FDZ) -> {ok, FEA} | {error, nil}.
-get(From, Get) ->
- gleam@dict:get(From, Get).
-
--spec insert(gleam@dict:dict(FEE, FEF), FEE, FEF) -> gleam@dict:dict(FEE, FEF).
-insert(Map, Key, Value) ->
- gleam@dict:insert(Map, Key, Value).
-
--spec map_values(gleam@dict:dict(FEI, FEJ), fun((FEI, FEJ) -> FEK)) -> gleam@dict:dict(FEI, FEK).
-map_values(Map, Fun) ->
- gleam@dict:map_values(Map, Fun).
-
--spec keys(gleam@dict:dict(FEN, any())) -> list(FEN).
-keys(Map) ->
- gleam@dict:keys(Map).
-
--spec values(gleam@dict:dict(any(), FEQ)) -> list(FEQ).
-values(Map) ->
- gleam@dict:values(Map).
-
--spec filter(gleam@dict:dict(FET, FEU), fun((FET, FEU) -> boolean())) -> gleam@dict:dict(FET, FEU).
-filter(Map, Predicate) ->
- gleam@dict:filter(Map, Predicate).
-
--spec take(gleam@dict:dict(FEX, FGR), list(FEX)) -> gleam@dict:dict(FEX, FGR).
-take(Map, Desired_keys) ->
- gleam@dict:take(Map, Desired_keys).
-
--spec merge(gleam@dict:dict(FGS, FGT), gleam@dict:dict(FGS, FGT)) -> gleam@dict:dict(FGS, FGT).
-merge(Map, New_entries) ->
- gleam@dict:merge(Map, New_entries).
-
--spec delete(gleam@dict:dict(FFE, FGV), FFE) -> gleam@dict:dict(FFE, FGV).
-delete(Map, Key) ->
- gleam@dict:delete(Map, Key).
-
--spec drop(gleam@dict:dict(FFH, FGX), list(FFH)) -> gleam@dict:dict(FFH, FGX).
-drop(Map, Disallowed_keys) ->
- gleam@dict:drop(Map, Disallowed_keys).
-
--spec update(
- gleam@dict:dict(FFL, FFM),
- FFL,
- fun((gleam@option:option(FFM)) -> FFM)
-) -> gleam@dict:dict(FFL, FFM).
-update(Map, Key, Fun) ->
- gleam@dict:update(Map, Key, Fun).
-
--spec fold(gleam@dict:dict(FFR, FFS), FFQ, fun((FFQ, FFR, FFS) -> FFQ)) -> FFQ.
-fold(Map, Initial, Fun) ->
- gleam@dict:fold(Map, Initial, Fun).
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@option.cache b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@option.cache
deleted file mode 100644
index b0763c1..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@option.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@option.cache_meta b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@option.cache_meta
deleted file mode 100644
index ff8f8df..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@option.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@option.erl b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@option.erl
deleted file mode 100644
index 5c20713..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@option.erl
+++ /dev/null
@@ -1,147 +0,0 @@
--module(gleam@option).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([all/1, is_some/1, is_none/1, to_result/2, from_result/1, unwrap/2, lazy_unwrap/2, map/2, flatten/1, then/2, 'or'/2, lazy_or/2, values/1]).
--export_type([option/1]).
-
--type option(GB) :: {some, GB} | none.
-
--spec do_all(list(option(GC)), list(GC)) -> option(list(GC)).
-do_all(List, Acc) ->
- case List of
- [] ->
- {some, Acc};
-
- [X | Rest] ->
- Accumulate = fun(Acc@1, Item) -> case {Acc@1, Item} of
- {{some, Values}, {some, Value}} ->
- {some, [Value | Values]};
-
- {_, _} ->
- none
- end end,
- Accumulate(do_all(Rest, Acc), X)
- end.
-
--spec all(list(option(GI))) -> option(list(GI)).
-all(List) ->
- do_all(List, []).
-
--spec is_some(option(any())) -> boolean().
-is_some(Option) ->
- Option /= none.
-
--spec is_none(option(any())) -> boolean().
-is_none(Option) ->
- Option =:= none.
-
--spec to_result(option(GR), GU) -> {ok, GR} | {error, GU}.
-to_result(Option, E) ->
- case Option of
- {some, A} ->
- {ok, A};
-
- _ ->
- {error, E}
- end.
-
--spec from_result({ok, GX} | {error, any()}) -> option(GX).
-from_result(Result) ->
- case Result of
- {ok, A} ->
- {some, A};
-
- _ ->
- none
- end.
-
--spec unwrap(option(HC), HC) -> HC.
-unwrap(Option, Default) ->
- case Option of
- {some, X} ->
- X;
-
- none ->
- Default
- end.
-
--spec lazy_unwrap(option(HE), fun(() -> HE)) -> HE.
-lazy_unwrap(Option, Default) ->
- case Option of
- {some, X} ->
- X;
-
- none ->
- Default()
- end.
-
--spec map(option(HG), fun((HG) -> HI)) -> option(HI).
-map(Option, Fun) ->
- case Option of
- {some, X} ->
- {some, Fun(X)};
-
- none ->
- none
- end.
-
--spec flatten(option(option(HK))) -> option(HK).
-flatten(Option) ->
- case Option of
- {some, X} ->
- X;
-
- none ->
- none
- end.
-
--spec then(option(HO), fun((HO) -> option(HQ))) -> option(HQ).
-then(Option, Fun) ->
- case Option of
- {some, X} ->
- Fun(X);
-
- none ->
- none
- end.
-
--spec 'or'(option(HT), option(HT)) -> option(HT).
-'or'(First, Second) ->
- case First of
- {some, _} ->
- First;
-
- none ->
- Second
- end.
-
--spec lazy_or(option(HX), fun(() -> option(HX))) -> option(HX).
-lazy_or(First, Second) ->
- case First of
- {some, _} ->
- First;
-
- none ->
- Second()
- end.
-
--spec do_values(list(option(IB)), list(IB)) -> list(IB).
-do_values(List, Acc) ->
- case List of
- [] ->
- Acc;
-
- [X | Xs] ->
- Accumulate = fun(Acc@1, Item) -> case Item of
- {some, Value} ->
- [Value | Acc@1];
-
- none ->
- Acc@1
- end end,
- Accumulate(do_values(Xs, Acc), X)
- end.
-
--spec values(list(option(IG))) -> list(IG).
-values(Options) ->
- do_values(Options, []).
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@order.cache b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@order.cache
deleted file mode 100644
index 00f75bc..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@order.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@order.cache_meta b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@order.cache_meta
deleted file mode 100644
index c304185..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@order.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@order.erl b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@order.erl
deleted file mode 100644
index 61649b9..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@order.erl
+++ /dev/null
@@ -1,79 +0,0 @@
--module(gleam@order).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([negate/1, to_int/1, compare/2, max/2, min/2, reverse/1]).
--export_type([order/0]).
-
--type order() :: lt | eq | gt.
-
--spec negate(order()) -> order().
-negate(Order) ->
- case Order of
- lt ->
- gt;
-
- eq ->
- eq;
-
- gt ->
- lt
- end.
-
--spec to_int(order()) -> integer().
-to_int(Order) ->
- case Order of
- lt ->
- -1;
-
- eq ->
- 0;
-
- gt ->
- 1
- end.
-
--spec compare(order(), order()) -> order().
-compare(A, B) ->
- case {A, B} of
- {X, Y} when X =:= Y ->
- eq;
-
- {lt, _} ->
- lt;
-
- {eq, gt} ->
- lt;
-
- {_, _} ->
- gt
- end.
-
--spec max(order(), order()) -> order().
-max(A, B) ->
- case {A, B} of
- {gt, _} ->
- gt;
-
- {eq, lt} ->
- eq;
-
- {_, _} ->
- B
- end.
-
--spec min(order(), order()) -> order().
-min(A, B) ->
- case {A, B} of
- {lt, _} ->
- lt;
-
- {eq, gt} ->
- eq;
-
- {_, _} ->
- B
- end.
-
--spec reverse(fun((I, I) -> order())) -> fun((I, I) -> order()).
-reverse(Orderer) ->
- fun(A, B) -> Orderer(B, A) end.
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@pair.cache b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@pair.cache
deleted file mode 100644
index 5eb2973..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@pair.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@pair.cache_meta b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@pair.cache_meta
deleted file mode 100644
index 8ee3fd8..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@pair.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@pair.erl b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@pair.erl
deleted file mode 100644
index f4eff52..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@pair.erl
+++ /dev/null
@@ -1,33 +0,0 @@
--module(gleam@pair).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([first/1, second/1, swap/1, map_first/2, map_second/2, new/2]).
-
--spec first({FM, any()}) -> FM.
-first(Pair) ->
- {A, _} = Pair,
- A.
-
--spec second({any(), FP}) -> FP.
-second(Pair) ->
- {_, A} = Pair,
- A.
-
--spec swap({FQ, FR}) -> {FR, FQ}.
-swap(Pair) ->
- {A, B} = Pair,
- {B, A}.
-
--spec map_first({FS, FT}, fun((FS) -> FU)) -> {FU, FT}.
-map_first(Pair, Fun) ->
- {A, B} = Pair,
- {Fun(A), B}.
-
--spec map_second({FV, FW}, fun((FW) -> FX)) -> {FV, FX}.
-map_second(Pair, Fun) ->
- {A, B} = Pair,
- {A, Fun(B)}.
-
--spec new(FY, FZ) -> {FY, FZ}.
-new(First, Second) ->
- {First, Second}.
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@queue.cache b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@queue.cache
deleted file mode 100644
index a35d701..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@queue.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@queue.cache_meta b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@queue.cache_meta
deleted file mode 100644
index 26ea872..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@queue.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@queue.erl b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@queue.erl
deleted file mode 100644
index d9ec12a..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@queue.erl
+++ /dev/null
@@ -1,121 +0,0 @@
--module(gleam@queue).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([new/0, from_list/1, to_list/1, is_empty/1, length/1, push_back/2, push_front/2, pop_back/1, pop_front/1, reverse/1, is_logically_equal/3, is_equal/2]).
--export_type([queue/1]).
-
--opaque queue(BFE) :: {queue, list(BFE), list(BFE)}.
-
--spec new() -> queue(any()).
-new() ->
- {queue, [], []}.
-
--spec from_list(list(BFH)) -> queue(BFH).
-from_list(List) ->
- {queue, [], List}.
-
--spec to_list(queue(BFK)) -> list(BFK).
-to_list(Queue) ->
- _pipe = erlang:element(3, Queue),
- gleam@list:append(_pipe, gleam@list:reverse(erlang:element(2, Queue))).
-
--spec is_empty(queue(any())) -> boolean().
-is_empty(Queue) ->
- (erlang:element(2, Queue) =:= []) andalso (erlang:element(3, Queue) =:= []).
-
--spec length(queue(any())) -> integer().
-length(Queue) ->
- gleam@list:length(erlang:element(2, Queue)) + gleam@list:length(
- erlang:element(3, Queue)
- ).
-
--spec push_back(queue(BFR), BFR) -> queue(BFR).
-push_back(Queue, Item) ->
- {queue, [Item | erlang:element(2, Queue)], erlang:element(3, Queue)}.
-
--spec push_front(queue(BFU), BFU) -> queue(BFU).
-push_front(Queue, Item) ->
- {queue, erlang:element(2, Queue), [Item | erlang:element(3, Queue)]}.
-
--spec pop_back(queue(BFX)) -> {ok, {BFX, queue(BFX)}} | {error, nil}.
-pop_back(Queue) ->
- case Queue of
- {queue, [], []} ->
- {error, nil};
-
- {queue, [], Out} ->
- pop_back({queue, gleam@list:reverse(Out), []});
-
- {queue, [First | Rest], Out@1} ->
- Queue@1 = {queue, Rest, Out@1},
- {ok, {First, Queue@1}}
- end.
-
--spec pop_front(queue(BGC)) -> {ok, {BGC, queue(BGC)}} | {error, nil}.
-pop_front(Queue) ->
- case Queue of
- {queue, [], []} ->
- {error, nil};
-
- {queue, In, []} ->
- pop_front({queue, [], gleam@list:reverse(In)});
-
- {queue, In@1, [First | Rest]} ->
- Queue@1 = {queue, In@1, Rest},
- {ok, {First, Queue@1}}
- end.
-
--spec reverse(queue(BGH)) -> queue(BGH).
-reverse(Queue) ->
- {queue, erlang:element(3, Queue), erlang:element(2, Queue)}.
-
--spec check_equal(
- list(BGK),
- list(BGK),
- list(BGK),
- list(BGK),
- fun((BGK, BGK) -> boolean())
-) -> boolean().
-check_equal(Xs, X_tail, Ys, Y_tail, Eq) ->
- case {Xs, X_tail, Ys, Y_tail} of
- {[], [], [], []} ->
- true;
-
- {[X | Xs@1], _, [Y | Ys@1], _} ->
- case Eq(X, Y) of
- false ->
- false;
-
- true ->
- check_equal(Xs@1, X_tail, Ys@1, Y_tail, Eq)
- end;
-
- {[], [_ | _], _, _} ->
- check_equal(gleam@list:reverse(X_tail), [], Ys, Y_tail, Eq);
-
- {_, _, [], [_ | _]} ->
- check_equal(Xs, X_tail, gleam@list:reverse(Y_tail), [], Eq);
-
- {_, _, _, _} ->
- false
- end.
-
--spec is_logically_equal(queue(BGP), queue(BGP), fun((BGP, BGP) -> boolean())) -> boolean().
-is_logically_equal(A, B, Element_is_equal) ->
- check_equal(
- erlang:element(3, A),
- erlang:element(2, A),
- erlang:element(3, B),
- erlang:element(2, B),
- Element_is_equal
- ).
-
--spec is_equal(queue(BGS), queue(BGS)) -> boolean().
-is_equal(A, B) ->
- check_equal(
- erlang:element(3, A),
- erlang:element(2, A),
- erlang:element(3, B),
- erlang:element(2, B),
- fun(A@1, B@1) -> A@1 =:= B@1 end
- ).
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@regex.cache b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@regex.cache
deleted file mode 100644
index de8820b..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@regex.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@regex.cache_meta b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@regex.cache_meta
deleted file mode 100644
index ab416af..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@regex.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@regex.erl b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@regex.erl
deleted file mode 100644
index 2d1c5fc..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@regex.erl
+++ /dev/null
@@ -1,33 +0,0 @@
--module(gleam@regex).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([compile/2, from_string/1, check/2, split/2, scan/2]).
--export_type([regex/0, match/0, compile_error/0, options/0]).
-
--type regex() :: any().
-
--type match() :: {match, binary(), list(gleam@option:option(binary()))}.
-
--type compile_error() :: {compile_error, binary(), integer()}.
-
--type options() :: {options, boolean(), boolean()}.
-
--spec compile(binary(), options()) -> {ok, regex()} | {error, compile_error()}.
-compile(Pattern, Options) ->
- gleam_stdlib:compile_regex(Pattern, Options).
-
--spec from_string(binary()) -> {ok, regex()} | {error, compile_error()}.
-from_string(Pattern) ->
- compile(Pattern, {options, false, false}).
-
--spec check(regex(), binary()) -> boolean().
-check(Regex, Content) ->
- gleam_stdlib:regex_check(Regex, Content).
-
--spec split(regex(), binary()) -> list(binary()).
-split(Regex, String) ->
- gleam_stdlib:regex_split(Regex, String).
-
--spec scan(regex(), binary()) -> list(match()).
-scan(Regex, String) ->
- gleam_stdlib:regex_scan(Regex, String).
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@result.cache b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@result.cache
deleted file mode 100644
index d7f9b5d..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@result.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@result.cache_meta b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@result.cache_meta
deleted file mode 100644
index 732654a..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@result.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@result.erl b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@result.erl
deleted file mode 100644
index e7bdaff..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@result.erl
+++ /dev/null
@@ -1,201 +0,0 @@
--module(gleam@result).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([is_ok/1, is_error/1, map/2, map_error/2, flatten/1, 'try'/2, then/2, unwrap/2, lazy_unwrap/2, unwrap_error/2, unwrap_both/1, nil_error/1, 'or'/2, lazy_or/2, all/1, partition/1, replace/2, replace_error/2, values/1, try_recover/2]).
-
--spec is_ok({ok, any()} | {error, any()}) -> boolean().
-is_ok(Result) ->
- case Result of
- {error, _} ->
- false;
-
- {ok, _} ->
- true
- end.
-
--spec is_error({ok, any()} | {error, any()}) -> boolean().
-is_error(Result) ->
- case Result of
- {ok, _} ->
- false;
-
- {error, _} ->
- true
- end.
-
--spec map({ok, BKA} | {error, BKB}, fun((BKA) -> BKE)) -> {ok, BKE} |
- {error, BKB}.
-map(Result, Fun) ->
- case Result of
- {ok, X} ->
- {ok, Fun(X)};
-
- {error, E} ->
- {error, E}
- end.
-
--spec map_error({ok, BKH} | {error, BKI}, fun((BKI) -> BKL)) -> {ok, BKH} |
- {error, BKL}.
-map_error(Result, Fun) ->
- case Result of
- {ok, X} ->
- {ok, X};
-
- {error, Error} ->
- {error, Fun(Error)}
- end.
-
--spec flatten({ok, {ok, BKO} | {error, BKP}} | {error, BKP}) -> {ok, BKO} |
- {error, BKP}.
-flatten(Result) ->
- case Result of
- {ok, X} ->
- X;
-
- {error, Error} ->
- {error, Error}
- end.
-
--spec 'try'({ok, BKW} | {error, BKX}, fun((BKW) -> {ok, BLA} | {error, BKX})) -> {ok,
- BLA} |
- {error, BKX}.
-'try'(Result, Fun) ->
- case Result of
- {ok, X} ->
- Fun(X);
-
- {error, E} ->
- {error, E}
- end.
-
--spec then({ok, BLF} | {error, BLG}, fun((BLF) -> {ok, BLJ} | {error, BLG})) -> {ok,
- BLJ} |
- {error, BLG}.
-then(Result, Fun) ->
- 'try'(Result, Fun).
-
--spec unwrap({ok, BLO} | {error, any()}, BLO) -> BLO.
-unwrap(Result, Default) ->
- case Result of
- {ok, V} ->
- V;
-
- {error, _} ->
- Default
- end.
-
--spec lazy_unwrap({ok, BLS} | {error, any()}, fun(() -> BLS)) -> BLS.
-lazy_unwrap(Result, Default) ->
- case Result of
- {ok, V} ->
- V;
-
- {error, _} ->
- Default()
- end.
-
--spec unwrap_error({ok, any()} | {error, BLX}, BLX) -> BLX.
-unwrap_error(Result, Default) ->
- case Result of
- {ok, _} ->
- Default;
-
- {error, E} ->
- E
- end.
-
--spec unwrap_both({ok, BMA} | {error, BMA}) -> BMA.
-unwrap_both(Result) ->
- case Result of
- {ok, A} ->
- A;
-
- {error, A@1} ->
- A@1
- end.
-
--spec nil_error({ok, BMD} | {error, any()}) -> {ok, BMD} | {error, nil}.
-nil_error(Result) ->
- map_error(Result, fun(_) -> nil end).
-
--spec 'or'({ok, BMJ} | {error, BMK}, {ok, BMJ} | {error, BMK}) -> {ok, BMJ} |
- {error, BMK}.
-'or'(First, Second) ->
- case First of
- {ok, _} ->
- First;
-
- {error, _} ->
- Second
- end.
-
--spec lazy_or({ok, BMR} | {error, BMS}, fun(() -> {ok, BMR} | {error, BMS})) -> {ok,
- BMR} |
- {error, BMS}.
-lazy_or(First, Second) ->
- case First of
- {ok, _} ->
- First;
-
- {error, _} ->
- Second()
- end.
-
--spec all(list({ok, BMZ} | {error, BNA})) -> {ok, list(BMZ)} | {error, BNA}.
-all(Results) ->
- gleam@list:try_map(Results, fun(X) -> X end).
-
--spec do_partition(list({ok, BNO} | {error, BNP}), list(BNO), list(BNP)) -> {list(BNO),
- list(BNP)}.
-do_partition(Results, Oks, Errors) ->
- case Results of
- [] ->
- {Oks, Errors};
-
- [{ok, A} | Rest] ->
- do_partition(Rest, [A | Oks], Errors);
-
- [{error, E} | Rest@1] ->
- do_partition(Rest@1, Oks, [E | Errors])
- end.
-
--spec partition(list({ok, BNH} | {error, BNI})) -> {list(BNH), list(BNI)}.
-partition(Results) ->
- do_partition(Results, [], []).
-
--spec replace({ok, any()} | {error, BNX}, BOA) -> {ok, BOA} | {error, BNX}.
-replace(Result, Value) ->
- case Result of
- {ok, _} ->
- {ok, Value};
-
- {error, Error} ->
- {error, Error}
- end.
-
--spec replace_error({ok, BOD} | {error, any()}, BOH) -> {ok, BOD} | {error, BOH}.
-replace_error(Result, Error) ->
- case Result of
- {ok, X} ->
- {ok, X};
-
- {error, _} ->
- {error, Error}
- end.
-
--spec values(list({ok, BOK} | {error, any()})) -> list(BOK).
-values(Results) ->
- gleam@list:filter_map(Results, fun(R) -> R end).
-
--spec try_recover(
- {ok, BOQ} | {error, BOR},
- fun((BOR) -> {ok, BOQ} | {error, BOU})
-) -> {ok, BOQ} | {error, BOU}.
-try_recover(Result, Fun) ->
- case Result of
- {ok, Value} ->
- {ok, Value};
-
- {error, Error} ->
- Fun(Error)
- end.
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@set.cache b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@set.cache
deleted file mode 100644
index 43fd2a5..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@set.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@set.cache_meta b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@set.cache_meta
deleted file mode 100644
index ee9607b..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@set.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@set.erl b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@set.erl
deleted file mode 100644
index 2a23b83..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@set.erl
+++ /dev/null
@@ -1,85 +0,0 @@
--module(gleam@set).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([new/0, size/1, insert/2, contains/2, delete/2, to_list/1, from_list/1, fold/3, filter/2, drop/2, take/2, union/2, intersection/2]).
--export_type([set/1]).
-
--opaque set(EYO) :: {set, gleam@dict:dict(EYO, list(nil))}.
-
--spec new() -> set(any()).
-new() ->
- {set, gleam@dict:new()}.
-
--spec size(set(any())) -> integer().
-size(Set) ->
- gleam@dict:size(erlang:element(2, Set)).
-
--spec insert(set(EYU), EYU) -> set(EYU).
-insert(Set, Member) ->
- {set, gleam@dict:insert(erlang:element(2, Set), Member, [])}.
-
--spec contains(set(EYX), EYX) -> boolean().
-contains(Set, Member) ->
- _pipe = erlang:element(2, Set),
- _pipe@1 = gleam@dict:get(_pipe, Member),
- gleam@result:is_ok(_pipe@1).
-
--spec delete(set(EYZ), EYZ) -> set(EYZ).
-delete(Set, Member) ->
- {set, gleam@dict:delete(erlang:element(2, Set), Member)}.
-
--spec to_list(set(EZC)) -> list(EZC).
-to_list(Set) ->
- gleam@dict:keys(erlang:element(2, Set)).
-
--spec from_list(list(EZF)) -> set(EZF).
-from_list(Members) ->
- Map = gleam@list:fold(
- Members,
- gleam@dict:new(),
- fun(M, K) -> gleam@dict:insert(M, K, []) end
- ),
- {set, Map}.
-
--spec fold(set(EZI), EZK, fun((EZK, EZI) -> EZK)) -> EZK.
-fold(Set, Initial, Reducer) ->
- gleam@dict:fold(
- erlang:element(2, Set),
- Initial,
- fun(A, K, _) -> Reducer(A, K) end
- ).
-
--spec filter(set(EZL), fun((EZL) -> boolean())) -> set(EZL).
-filter(Set, Predicate) ->
- {set,
- gleam@dict:filter(erlang:element(2, Set), fun(M, _) -> Predicate(M) end)}.
-
--spec drop(set(EZO), list(EZO)) -> set(EZO).
-drop(Set, Disallowed) ->
- gleam@list:fold(Disallowed, Set, fun delete/2).
-
--spec take(set(EZS), list(EZS)) -> set(EZS).
-take(Set, Desired) ->
- {set, gleam@dict:take(erlang:element(2, Set), Desired)}.
-
--spec order(set(EZW), set(EZW)) -> {set(EZW), set(EZW)}.
-order(First, Second) ->
- case gleam@dict:size(erlang:element(2, First)) > gleam@dict:size(
- erlang:element(2, Second)
- ) of
- true ->
- {First, Second};
-
- false ->
- {Second, First}
- end.
-
--spec union(set(FAB), set(FAB)) -> set(FAB).
-union(First, Second) ->
- {Larger, Smaller} = order(First, Second),
- fold(Smaller, Larger, fun insert/2).
-
--spec intersection(set(FAF), set(FAF)) -> set(FAF).
-intersection(First, Second) ->
- {Larger, Smaller} = order(First, Second),
- take(Larger, to_list(Smaller)).
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@string.cache b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@string.cache
deleted file mode 100644
index d024425..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@string.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@string.cache_meta b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@string.cache_meta
deleted file mode 100644
index 300d752..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@string.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@string.erl b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@string.erl
deleted file mode 100644
index 6cba31d..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@string.erl
+++ /dev/null
@@ -1,352 +0,0 @@
--module(gleam@string).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([is_empty/1, length/1, reverse/1, replace/3, lowercase/1, uppercase/1, compare/2, slice/3, crop/2, drop_left/2, drop_right/2, contains/2, starts_with/2, ends_with/2, split_once/2, append/2, concat/1, repeat/2, join/2, pad_left/3, pad_right/3, trim/1, trim_left/1, trim_right/1, pop_grapheme/1, to_graphemes/1, split/2, to_utf_codepoints/1, from_utf_codepoints/1, utf_codepoint/1, utf_codepoint_to_int/1, to_option/1, first/1, last/1, capitalise/1, inspect/1, byte_size/1]).
--export_type([direction/0]).
-
--type direction() :: leading | trailing | both.
-
--spec is_empty(binary()) -> boolean().
-is_empty(Str) ->
- Str =:= <<""/utf8>>.
-
--spec length(binary()) -> integer().
-length(String) ->
- string:length(String).
-
--spec do_reverse(binary()) -> binary().
-do_reverse(String) ->
- _pipe = String,
- _pipe@1 = gleam@string_builder:from_string(_pipe),
- _pipe@2 = gleam@string_builder:reverse(_pipe@1),
- gleam@string_builder:to_string(_pipe@2).
-
--spec reverse(binary()) -> binary().
-reverse(String) ->
- do_reverse(String).
-
--spec replace(binary(), binary(), binary()) -> binary().
-replace(String, Pattern, Substitute) ->
- _pipe = String,
- _pipe@1 = gleam@string_builder:from_string(_pipe),
- _pipe@2 = gleam@string_builder:replace(_pipe@1, Pattern, Substitute),
- gleam@string_builder:to_string(_pipe@2).
-
--spec lowercase(binary()) -> binary().
-lowercase(String) ->
- string:lowercase(String).
-
--spec uppercase(binary()) -> binary().
-uppercase(String) ->
- string:uppercase(String).
-
--spec compare(binary(), binary()) -> gleam@order:order().
-compare(A, B) ->
- case A =:= B of
- true ->
- eq;
-
- _ ->
- case gleam_stdlib:less_than(A, B) of
- true ->
- lt;
-
- _ ->
- gt
- end
- end.
-
--spec slice(binary(), integer(), integer()) -> binary().
-slice(String, Idx, Len) ->
- case Len < 0 of
- true ->
- <<""/utf8>>;
-
- false ->
- case Idx < 0 of
- true ->
- Translated_idx = length(String) + Idx,
- case Translated_idx < 0 of
- true ->
- <<""/utf8>>;
-
- false ->
- string:slice(String, Translated_idx, Len)
- end;
-
- false ->
- string:slice(String, Idx, Len)
- end
- end.
-
--spec crop(binary(), binary()) -> binary().
-crop(String, Substring) ->
- gleam_stdlib:crop_string(String, Substring).
-
--spec drop_left(binary(), integer()) -> binary().
-drop_left(String, Num_graphemes) ->
- case Num_graphemes < 0 of
- true ->
- String;
-
- false ->
- slice(String, Num_graphemes, length(String) - Num_graphemes)
- end.
-
--spec drop_right(binary(), integer()) -> binary().
-drop_right(String, Num_graphemes) ->
- case Num_graphemes < 0 of
- true ->
- String;
-
- false ->
- slice(String, 0, length(String) - Num_graphemes)
- end.
-
--spec contains(binary(), binary()) -> boolean().
-contains(Haystack, Needle) ->
- gleam_stdlib:contains_string(Haystack, Needle).
-
--spec starts_with(binary(), binary()) -> boolean().
-starts_with(String, Prefix) ->
- gleam_stdlib:string_starts_with(String, Prefix).
-
--spec ends_with(binary(), binary()) -> boolean().
-ends_with(String, Suffix) ->
- gleam_stdlib:string_ends_with(String, Suffix).
-
--spec do_split_once(binary(), binary()) -> {ok, {binary(), binary()}} |
- {error, nil}.
-do_split_once(X, Substring) ->
- case string:split(X, Substring) of
- [First, Rest] ->
- {ok, {First, Rest}};
-
- _ ->
- {error, nil}
- end.
-
--spec split_once(binary(), binary()) -> {ok, {binary(), binary()}} |
- {error, nil}.
-split_once(X, Substring) ->
- do_split_once(X, Substring).
-
--spec append(binary(), binary()) -> binary().
-append(First, Second) ->
- _pipe = First,
- _pipe@1 = gleam@string_builder:from_string(_pipe),
- _pipe@2 = gleam@string_builder:append(_pipe@1, Second),
- gleam@string_builder:to_string(_pipe@2).
-
--spec concat(list(binary())) -> binary().
-concat(Strings) ->
- _pipe = Strings,
- _pipe@1 = gleam@string_builder:from_strings(_pipe),
- gleam@string_builder:to_string(_pipe@1).
-
--spec repeat(binary(), integer()) -> binary().
-repeat(String, Times) ->
- _pipe = gleam@iterator:repeat(String),
- _pipe@1 = gleam@iterator:take(_pipe, Times),
- _pipe@2 = gleam@iterator:to_list(_pipe@1),
- concat(_pipe@2).
-
--spec do_join(list(binary()), binary()) -> binary().
-do_join(Strings, Separator) ->
- _pipe = Strings,
- _pipe@1 = gleam@list:intersperse(_pipe, Separator),
- concat(_pipe@1).
-
--spec join(list(binary()), binary()) -> binary().
-join(Strings, Separator) ->
- do_join(Strings, Separator).
-
--spec padding(integer(), binary()) -> gleam@iterator:iterator(binary()).
-padding(Size, Pad_string) ->
- Pad_length = length(Pad_string),
- Num_pads = case Pad_length of
- 0 -> 0;
- Gleam@denominator -> Size div Gleam@denominator
- end,
- Extra = case Pad_length of
- 0 -> 0;
- Gleam@denominator@1 -> Size rem Gleam@denominator@1
- end,
- _pipe = gleam@iterator:repeat(Pad_string),
- _pipe@1 = gleam@iterator:take(_pipe, Num_pads),
- gleam@iterator:append(
- _pipe@1,
- gleam@iterator:single(slice(Pad_string, 0, Extra))
- ).
-
--spec pad_left(binary(), integer(), binary()) -> binary().
-pad_left(String, Desired_length, Pad_string) ->
- Current_length = length(String),
- To_pad_length = Desired_length - Current_length,
- _pipe = padding(To_pad_length, Pad_string),
- _pipe@1 = gleam@iterator:append(_pipe, gleam@iterator:single(String)),
- _pipe@2 = gleam@iterator:to_list(_pipe@1),
- concat(_pipe@2).
-
--spec pad_right(binary(), integer(), binary()) -> binary().
-pad_right(String, Desired_length, Pad_string) ->
- Current_length = length(String),
- To_pad_length = Desired_length - Current_length,
- _pipe = gleam@iterator:single(String),
- _pipe@1 = gleam@iterator:append(_pipe, padding(To_pad_length, Pad_string)),
- _pipe@2 = gleam@iterator:to_list(_pipe@1),
- concat(_pipe@2).
-
--spec do_trim(binary()) -> binary().
-do_trim(String) ->
- string:trim(String, both).
-
--spec trim(binary()) -> binary().
-trim(String) ->
- do_trim(String).
-
--spec do_trim_left(binary()) -> binary().
-do_trim_left(String) ->
- string:trim(String, leading).
-
--spec trim_left(binary()) -> binary().
-trim_left(String) ->
- do_trim_left(String).
-
--spec do_trim_right(binary()) -> binary().
-do_trim_right(String) ->
- string:trim(String, trailing).
-
--spec trim_right(binary()) -> binary().
-trim_right(String) ->
- do_trim_right(String).
-
--spec pop_grapheme(binary()) -> {ok, {binary(), binary()}} | {error, nil}.
-pop_grapheme(String) ->
- gleam_stdlib:string_pop_grapheme(String).
-
--spec do_to_graphemes(binary(), list(binary())) -> list(binary()).
-do_to_graphemes(String, Acc) ->
- case pop_grapheme(String) of
- {ok, {Grapheme, Rest}} ->
- do_to_graphemes(Rest, [Grapheme | Acc]);
-
- _ ->
- Acc
- end.
-
--spec to_graphemes(binary()) -> list(binary()).
-to_graphemes(String) ->
- _pipe = do_to_graphemes(String, []),
- gleam@list:reverse(_pipe).
-
--spec split(binary(), binary()) -> list(binary()).
-split(X, Substring) ->
- case Substring of
- <<""/utf8>> ->
- to_graphemes(X);
-
- _ ->
- _pipe = X,
- _pipe@1 = gleam@string_builder:from_string(_pipe),
- _pipe@2 = gleam@string_builder:split(_pipe@1, Substring),
- gleam@list:map(_pipe@2, fun gleam@string_builder:to_string/1)
- end.
-
--spec do_to_utf_codepoints_impl(bitstring(), list(integer())) -> list(integer()).
-do_to_utf_codepoints_impl(Bit_array, Acc) ->
- case Bit_array of
- <<First/utf8, Rest/binary>> ->
- do_to_utf_codepoints_impl(Rest, [First | Acc]);
-
- _ ->
- Acc
- end.
-
--spec do_to_utf_codepoints(binary()) -> list(integer()).
-do_to_utf_codepoints(String) ->
- _pipe = do_to_utf_codepoints_impl(<<String/binary>>, []),
- gleam@list:reverse(_pipe).
-
--spec to_utf_codepoints(binary()) -> list(integer()).
-to_utf_codepoints(String) ->
- do_to_utf_codepoints(String).
-
--spec from_utf_codepoints(list(integer())) -> binary().
-from_utf_codepoints(Utf_codepoints) ->
- gleam_stdlib:utf_codepoint_list_to_string(Utf_codepoints).
-
--spec utf_codepoint(integer()) -> {ok, integer()} | {error, nil}.
-utf_codepoint(Value) ->
- case Value of
- I when I > 1114111 ->
- {error, nil};
-
- 65534 ->
- {error, nil};
-
- 65535 ->
- {error, nil};
-
- I@1 when (I@1 >= 55296) andalso (I@1 =< 57343) ->
- {error, nil};
-
- I@2 ->
- {ok, gleam_stdlib:identity(I@2)}
- end.
-
--spec utf_codepoint_to_int(integer()) -> integer().
-utf_codepoint_to_int(Cp) ->
- gleam_stdlib:identity(Cp).
-
--spec to_option(binary()) -> gleam@option:option(binary()).
-to_option(S) ->
- case S of
- <<""/utf8>> ->
- none;
-
- _ ->
- {some, S}
- end.
-
--spec first(binary()) -> {ok, binary()} | {error, nil}.
-first(S) ->
- case pop_grapheme(S) of
- {ok, {First, _}} ->
- {ok, First};
-
- {error, E} ->
- {error, E}
- end.
-
--spec last(binary()) -> {ok, binary()} | {error, nil}.
-last(S) ->
- case pop_grapheme(S) of
- {ok, {First, <<""/utf8>>}} ->
- {ok, First};
-
- {ok, {_, Rest}} ->
- {ok, slice(Rest, -1, 1)};
-
- {error, E} ->
- {error, E}
- end.
-
--spec capitalise(binary()) -> binary().
-capitalise(S) ->
- case pop_grapheme(S) of
- {ok, {First, Rest}} ->
- append(uppercase(First), lowercase(Rest));
-
- _ ->
- <<""/utf8>>
- end.
-
--spec inspect(any()) -> binary().
-inspect(Term) ->
- _pipe = gleam_stdlib:inspect(Term),
- gleam@string_builder:to_string(_pipe).
-
--spec byte_size(binary()) -> integer().
-byte_size(String) ->
- erlang:byte_size(String).
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@string_builder.cache b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@string_builder.cache
deleted file mode 100644
index 0d2c392..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@string_builder.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@string_builder.cache_meta b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@string_builder.cache_meta
deleted file mode 100644
index 2ef42cf..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@string_builder.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@string_builder.erl b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@string_builder.erl
deleted file mode 100644
index 693e840..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@string_builder.erl
+++ /dev/null
@@ -1,91 +0,0 @@
--module(gleam@string_builder).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([prepend_builder/2, append_builder/2, new/0, from_strings/1, concat/1, from_string/1, prepend/2, append/2, to_string/1, byte_size/1, join/2, lowercase/1, uppercase/1, reverse/1, split/2, replace/3, is_equal/2, is_empty/1]).
--export_type([string_builder/0, direction/0]).
-
--type string_builder() :: any().
-
--type direction() :: all.
-
--spec prepend_builder(string_builder(), string_builder()) -> string_builder().
-prepend_builder(Builder, Prefix) ->
- gleam_stdlib:iodata_append(Prefix, Builder).
-
--spec append_builder(string_builder(), string_builder()) -> string_builder().
-append_builder(Builder, Suffix) ->
- gleam_stdlib:iodata_append(Builder, Suffix).
-
--spec new() -> string_builder().
-new() ->
- gleam_stdlib:identity([]).
-
--spec from_strings(list(binary())) -> string_builder().
-from_strings(Strings) ->
- gleam_stdlib:identity(Strings).
-
--spec concat(list(string_builder())) -> string_builder().
-concat(Builders) ->
- gleam_stdlib:identity(Builders).
-
--spec from_string(binary()) -> string_builder().
-from_string(String) ->
- gleam_stdlib:identity(String).
-
--spec prepend(string_builder(), binary()) -> string_builder().
-prepend(Builder, Prefix) ->
- append_builder(from_string(Prefix), Builder).
-
--spec append(string_builder(), binary()) -> string_builder().
-append(Builder, Second) ->
- append_builder(Builder, from_string(Second)).
-
--spec to_string(string_builder()) -> binary().
-to_string(Builder) ->
- unicode:characters_to_binary(Builder).
-
--spec byte_size(string_builder()) -> integer().
-byte_size(Builder) ->
- erlang:iolist_size(Builder).
-
--spec join(list(string_builder()), binary()) -> string_builder().
-join(Builders, Sep) ->
- _pipe = Builders,
- _pipe@1 = gleam@list:intersperse(_pipe, from_string(Sep)),
- concat(_pipe@1).
-
--spec lowercase(string_builder()) -> string_builder().
-lowercase(Builder) ->
- string:lowercase(Builder).
-
--spec uppercase(string_builder()) -> string_builder().
-uppercase(Builder) ->
- string:uppercase(Builder).
-
--spec reverse(string_builder()) -> string_builder().
-reverse(Builder) ->
- string:reverse(Builder).
-
--spec do_split(string_builder(), binary()) -> list(string_builder()).
-do_split(Iodata, Pattern) ->
- string:split(Iodata, Pattern, all).
-
--spec split(string_builder(), binary()) -> list(string_builder()).
-split(Iodata, Pattern) ->
- do_split(Iodata, Pattern).
-
--spec do_replace(string_builder(), binary(), binary()) -> string_builder().
-do_replace(Iodata, Pattern, Substitute) ->
- string:replace(Iodata, Pattern, Substitute, all).
-
--spec replace(string_builder(), binary(), binary()) -> string_builder().
-replace(Builder, Pattern, Substitute) ->
- do_replace(Builder, Pattern, Substitute).
-
--spec is_equal(string_builder(), string_builder()) -> boolean().
-is_equal(A, B) ->
- string:equal(A, B).
-
--spec is_empty(string_builder()) -> boolean().
-is_empty(Builder) ->
- string:is_empty(Builder).
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@uri.cache b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@uri.cache
deleted file mode 100644
index 808bd6c..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@uri.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@uri.cache_meta b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@uri.cache_meta
deleted file mode 100644
index a8195fc..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@uri.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@uri.erl b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@uri.erl
deleted file mode 100644
index e7c2696..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam@uri.erl
+++ /dev/null
@@ -1,252 +0,0 @@
--module(gleam@uri).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([parse/1, parse_query/1, percent_encode/1, query_to_string/1, percent_decode/1, path_segments/1, to_string/1, origin/1, merge/2]).
--export_type([uri/0]).
-
--type uri() :: {uri,
- gleam@option:option(binary()),
- gleam@option:option(binary()),
- gleam@option:option(binary()),
- gleam@option:option(integer()),
- binary(),
- gleam@option:option(binary()),
- gleam@option:option(binary())}.
-
--spec parse(binary()) -> {ok, uri()} | {error, nil}.
-parse(Uri_string) ->
- gleam_stdlib:uri_parse(Uri_string).
-
--spec parse_query(binary()) -> {ok, list({binary(), binary()})} | {error, nil}.
-parse_query(Query) ->
- gleam_stdlib:parse_query(Query).
-
--spec percent_encode(binary()) -> binary().
-percent_encode(Value) ->
- gleam_stdlib:percent_encode(Value).
-
--spec query_pair({binary(), binary()}) -> gleam@string_builder:string_builder().
-query_pair(Pair) ->
- gleam@string_builder:from_strings(
- [percent_encode(erlang:element(1, Pair)),
- <<"="/utf8>>,
- percent_encode(erlang:element(2, Pair))]
- ).
-
--spec query_to_string(list({binary(), binary()})) -> binary().
-query_to_string(Query) ->
- _pipe = Query,
- _pipe@1 = gleam@list:map(_pipe, fun query_pair/1),
- _pipe@2 = gleam@list:intersperse(
- _pipe@1,
- gleam@string_builder:from_string(<<"&"/utf8>>)
- ),
- _pipe@3 = gleam@string_builder:concat(_pipe@2),
- gleam@string_builder:to_string(_pipe@3).
-
--spec percent_decode(binary()) -> {ok, binary()} | {error, nil}.
-percent_decode(Value) ->
- gleam_stdlib:percent_decode(Value).
-
--spec do_remove_dot_segments(list(binary()), list(binary())) -> list(binary()).
-do_remove_dot_segments(Input, Accumulator) ->
- case Input of
- [] ->
- gleam@list:reverse(Accumulator);
-
- [Segment | Rest] ->
- Accumulator@5 = case {Segment, Accumulator} of
- {<<""/utf8>>, Accumulator@1} ->
- Accumulator@1;
-
- {<<"."/utf8>>, Accumulator@2} ->
- Accumulator@2;
-
- {<<".."/utf8>>, []} ->
- [];
-
- {<<".."/utf8>>, [_ | Accumulator@3]} ->
- Accumulator@3;
-
- {Segment@1, Accumulator@4} ->
- [Segment@1 | Accumulator@4]
- end,
- do_remove_dot_segments(Rest, Accumulator@5)
- end.
-
--spec remove_dot_segments(list(binary())) -> list(binary()).
-remove_dot_segments(Input) ->
- do_remove_dot_segments(Input, []).
-
--spec path_segments(binary()) -> list(binary()).
-path_segments(Path) ->
- remove_dot_segments(gleam@string:split(Path, <<"/"/utf8>>)).
-
--spec to_string(uri()) -> binary().
-to_string(Uri) ->
- Parts = case erlang:element(8, Uri) of
- {some, Fragment} ->
- [<<"#"/utf8>>, Fragment];
-
- _ ->
- []
- end,
- Parts@1 = case erlang:element(7, Uri) of
- {some, Query} ->
- [<<"?"/utf8>>, Query | Parts];
-
- _ ->
- Parts
- end,
- Parts@2 = [erlang:element(6, Uri) | Parts@1],
- Parts@3 = case {erlang:element(4, Uri),
- gleam@string:starts_with(erlang:element(6, Uri), <<"/"/utf8>>)} of
- {{some, Host}, false} when Host =/= <<""/utf8>> ->
- [<<"/"/utf8>> | Parts@2];
-
- {_, _} ->
- Parts@2
- end,
- Parts@4 = case {erlang:element(4, Uri), erlang:element(5, Uri)} of
- {{some, _}, {some, Port}} ->
- [<<":"/utf8>>, gleam@int:to_string(Port) | Parts@3];
-
- {_, _} ->
- Parts@3
- end,
- Parts@5 = case {erlang:element(2, Uri),
- erlang:element(3, Uri),
- erlang:element(4, Uri)} of
- {{some, S}, {some, U}, {some, H}} ->
- [S, <<"://"/utf8>>, U, <<"@"/utf8>>, H | Parts@4];
-
- {{some, S@1}, none, {some, H@1}} ->
- [S@1, <<"://"/utf8>>, H@1 | Parts@4];
-
- {{some, S@2}, {some, _}, none} ->
- [S@2, <<":"/utf8>> | Parts@4];
-
- {{some, S@2}, none, none} ->
- [S@2, <<":"/utf8>> | Parts@4];
-
- {none, none, {some, H@2}} ->
- [<<"//"/utf8>>, H@2 | Parts@4];
-
- {_, _, _} ->
- Parts@4
- end,
- gleam@string:concat(Parts@5).
-
--spec origin(uri()) -> {ok, binary()} | {error, nil}.
-origin(Uri) ->
- {uri, Scheme, _, Host, Port, _, _, _} = Uri,
- case Scheme of
- {some, <<"https"/utf8>>} when Port =:= {some, 443} ->
- Origin = {uri, Scheme, none, Host, none, <<""/utf8>>, none, none},
- {ok, to_string(Origin)};
-
- {some, <<"http"/utf8>>} when Port =:= {some, 80} ->
- Origin@1 = {uri, Scheme, none, Host, none, <<""/utf8>>, none, none},
- {ok, to_string(Origin@1)};
-
- {some, S} when (S =:= <<"http"/utf8>>) orelse (S =:= <<"https"/utf8>>) ->
- Origin@2 = {uri, Scheme, none, Host, Port, <<""/utf8>>, none, none},
- {ok, to_string(Origin@2)};
-
- _ ->
- {error, nil}
- end.
-
--spec drop_last(list(ERB)) -> list(ERB).
-drop_last(Elements) ->
- gleam@list:take(Elements, gleam@list:length(Elements) - 1).
-
--spec join_segments(list(binary())) -> binary().
-join_segments(Segments) ->
- gleam@string:join([<<""/utf8>> | Segments], <<"/"/utf8>>).
-
--spec merge(uri(), uri()) -> {ok, uri()} | {error, nil}.
-merge(Base, Relative) ->
- case Base of
- {uri, {some, _}, _, {some, _}, _, _, _, _} ->
- case Relative of
- {uri, _, _, {some, _}, _, _, _, _} ->
- Path = begin
- _pipe = gleam@string:split(
- erlang:element(6, Relative),
- <<"/"/utf8>>
- ),
- _pipe@1 = remove_dot_segments(_pipe),
- join_segments(_pipe@1)
- end,
- Resolved = {uri,
- gleam@option:'or'(
- erlang:element(2, Relative),
- erlang:element(2, Base)
- ),
- none,
- erlang:element(4, Relative),
- gleam@option:'or'(
- erlang:element(5, Relative),
- erlang:element(5, Base)
- ),
- Path,
- erlang:element(7, Relative),
- erlang:element(8, Relative)},
- {ok, Resolved};
-
- _ ->
- {New_path, New_query} = case erlang:element(6, Relative) of
- <<""/utf8>> ->
- {erlang:element(6, Base),
- gleam@option:'or'(
- erlang:element(7, Relative),
- erlang:element(7, Base)
- )};
-
- _ ->
- Path_segments = case gleam@string:starts_with(
- erlang:element(6, Relative),
- <<"/"/utf8>>
- ) of
- true ->
- gleam@string:split(
- erlang:element(6, Relative),
- <<"/"/utf8>>
- );
-
- false ->
- _pipe@2 = gleam@string:split(
- erlang:element(6, Base),
- <<"/"/utf8>>
- ),
- _pipe@3 = drop_last(_pipe@2),
- gleam@list:append(
- _pipe@3,
- gleam@string:split(
- erlang:element(6, Relative),
- <<"/"/utf8>>
- )
- )
- end,
- Path@1 = begin
- _pipe@4 = Path_segments,
- _pipe@5 = remove_dot_segments(_pipe@4),
- join_segments(_pipe@5)
- end,
- {Path@1, erlang:element(7, Relative)}
- end,
- Resolved@1 = {uri,
- erlang:element(2, Base),
- none,
- erlang:element(4, Base),
- erlang:element(5, Base),
- New_path,
- New_query,
- erlang:element(8, Relative)},
- {ok, Resolved@1}
- end;
-
- _ ->
- {error, nil}
- end.
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam_stdlib.erl b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam_stdlib.erl
deleted file mode 100644
index c6ea125..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam_stdlib.erl
+++ /dev/null
@@ -1,529 +0,0 @@
--module(gleam_stdlib).
-
--export([
- map_get/2, iodata_append/2, identity/1, decode_int/1, decode_bool/1,
- decode_float/1, decode_list/1, decode_option/2, decode_field/2, parse_int/1,
- parse_float/1, less_than/2, string_pop_grapheme/1, string_starts_with/2,
- wrap_list/1, string_ends_with/2, string_pad/4, decode_map/1, uri_parse/1,
- bit_array_int_to_u32/1, bit_array_int_from_u32/1, decode_result/1,
- bit_array_slice/3, decode_bit_array/1, compile_regex/2, regex_scan/2,
- percent_encode/1, percent_decode/1, regex_check/2, regex_split/2,
- base_decode64/1, parse_query/1, bit_array_concat/1, size_of_tuple/1,
- decode_tuple/1, decode_tuple2/1, decode_tuple3/1, decode_tuple4/1,
- decode_tuple5/1, decode_tuple6/1, tuple_get/2, classify_dynamic/1, print/1,
- println/1, print_error/1, println_error/1, inspect/1, float_to_string/1,
- int_from_base_string/2, utf_codepoint_list_to_string/1, contains_string/2,
- crop_string/2, base16_decode/1
-]).
-
-%% Taken from OTP's uri_string module
--define(DEC2HEX(X),
- if ((X) >= 0) andalso ((X) =< 9) -> (X) + $0;
- ((X) >= 10) andalso ((X) =< 15) -> (X) + $A - 10
- end).
-
-%% Taken from OTP's uri_string module
--define(HEX2DEC(X),
- if ((X) >= $0) andalso ((X) =< $9) -> (X) - $0;
- ((X) >= $A) andalso ((X) =< $F) -> (X) - $A + 10;
- ((X) >= $a) andalso ((X) =< $f) -> (X) - $a + 10
- end).
-
--define(is_lowercase_char(X), (X > 96 andalso X < 123)).
--define(is_underscore_char(X), (X == 95)).
--define(is_digit_char(X), (X > 47 andalso X < 58)).
-
-uppercase(X) -> X - 32.
-
-map_get(Map, Key) ->
- case maps:find(Key, Map) of
- error -> {error, nil};
- OkFound -> OkFound
- end.
-
-iodata_append(Iodata, String) -> [Iodata, String].
-
-identity(X) -> X.
-
-decode_error_msg(Expected, Data) when is_binary(Expected) ->
- decode_error(Expected, classify_dynamic(Data)).
-decode_error(Expected, Got) when is_binary(Expected) andalso is_binary(Got) ->
- {error, [{decode_error, Expected, Got, []}]}.
-
-classify_dynamic(nil) -> <<"Nil">>;
-classify_dynamic(X) when is_atom(X) -> <<"Atom">>;
-classify_dynamic(X) when is_binary(X) -> <<"String">>;
-classify_dynamic(X) when is_bitstring(X) -> <<"BitArray">>;
-classify_dynamic(X) when is_integer(X) -> <<"Int">>;
-classify_dynamic(X) when is_float(X) -> <<"Float">>;
-classify_dynamic(X) when is_list(X) -> <<"List">>;
-classify_dynamic(X) when is_boolean(X) -> <<"Bool">>;
-classify_dynamic(X) when is_map(X) -> <<"Map">>;
-classify_dynamic(X) when is_tuple(X) ->
- iolist_to_binary(["Tuple of ", integer_to_list(tuple_size(X)), " elements"]);
-classify_dynamic(X) when
- is_function(X, 0) orelse is_function(X, 1) orelse is_function(X, 2) orelse
- is_function(X, 3) orelse is_function(X, 4) orelse is_function(X, 5) orelse
- is_function(X, 6) orelse is_function(X, 7) orelse is_function(X, 8) orelse
- is_function(X, 9) orelse is_function(X, 10) orelse is_function(X, 11) orelse
- is_function(X, 12) -> <<"Function">>;
-classify_dynamic(_) -> <<"Some other type">>.
-
-decode_map(Data) when is_map(Data) -> {ok, Data};
-decode_map(Data) -> decode_error_msg(<<"Map">>, Data).
-
-decode_bit_array(Data) when is_bitstring(Data) -> {ok, Data};
-decode_bit_array(Data) -> decode_error_msg(<<"BitArray">>, Data).
-
-decode_int(Data) when is_integer(Data) -> {ok, Data};
-decode_int(Data) -> decode_error_msg(<<"Int">>, Data).
-
-decode_float(Data) when is_float(Data) -> {ok, Data};
-decode_float(Data) -> decode_error_msg(<<"Float">>, Data).
-
-decode_bool(Data) when is_boolean(Data) -> {ok, Data};
-decode_bool(Data) -> decode_error_msg(<<"Bool">>, Data).
-
-decode_list(Data) when is_list(Data) -> {ok, Data};
-decode_list(Data) -> decode_error_msg(<<"List">>, Data).
-
-decode_field(Data, Key) when is_map(Data) ->
- case Data of
- #{Key := Value} -> {ok, {some, Value}};
- _ ->
- {ok, none}
- end;
-decode_field(Data, _) ->
- decode_error_msg(<<"Map">>, Data).
-
-size_of_tuple(Data) -> tuple_size(Data).
-
-tuple_get(_tup, Index) when Index < 0 -> {error, nil};
-tuple_get(Data, Index) when Index >= tuple_size(Data) -> {error, nil};
-tuple_get(Data, Index) -> {ok, element(Index + 1, Data)}.
-
-decode_tuple(Data) when is_tuple(Data) -> {ok, Data};
-decode_tuple(Data) -> decode_error_msg(<<"Tuple">>, Data).
-
-decode_tuple2({_,_} = A) -> {ok, A};
-decode_tuple2([A,B]) -> {ok, {A,B}};
-decode_tuple2(Data) -> decode_error_msg(<<"Tuple of 2 elements">>, Data).
-
-decode_tuple3({_,_,_} = A) -> {ok, A};
-decode_tuple3([A,B,C]) -> {ok, {A,B,C}};
-decode_tuple3(Data) -> decode_error_msg(<<"Tuple of 3 elements">>, Data).
-
-decode_tuple4({_,_,_,_} = A) -> {ok, A};
-decode_tuple4([A,B,C,D]) -> {ok, {A,B,C,D}};
-decode_tuple4(Data) -> decode_error_msg(<<"Tuple of 4 elements">>, Data).
-
-decode_tuple5({_,_,_,_,_} = A) -> {ok, A};
-decode_tuple5([A,B,C,D,E]) -> {ok, {A,B,C,D,E}};
-decode_tuple5(Data) -> decode_error_msg(<<"Tuple of 5 elements">>, Data).
-
-decode_tuple6({_,_,_,_,_,_} = A) -> {ok, A};
-decode_tuple6([A,B,C,D,E,F]) -> {ok, {A,B,C,D,E,F}};
-decode_tuple6(Data) -> decode_error_msg(<<"Tuple of 6 elements">>, Data).
-
-decode_option(Term, F) ->
- Decode = fun(Inner) ->
- case F(Inner) of
- {ok, Decoded} -> {ok, {some, Decoded}};
- Error -> Error
- end
- end,
- case Term of
- undefined -> {ok, none};
- error -> {ok, none};
- null -> {ok, none};
- none -> {ok, none};
- nil -> {ok, none};
- {some, Inner} -> Decode(Inner);
- _ -> Decode(Term)
- end.
-
-decode_result(Term) ->
- case Term of
- {ok, Inner} -> {ok, {ok, Inner}};
- ok -> {ok, {ok, nil}};
- {error, Inner} -> {ok, {error, Inner}};
- error -> {ok, {error, nil}};
- _ -> decode_error_msg(<<"Result">>, Term)
- end.
-
-int_from_base_string(String, Base) ->
- case catch binary_to_integer(String, Base) of
- Int when is_integer(Int) -> {ok, Int};
- _ -> {error, nil}
- end.
-
-parse_int(String) ->
- case catch binary_to_integer(String) of
- Int when is_integer(Int) -> {ok, Int};
- _ -> {error, nil}
- end.
-
-parse_float(String) ->
- case catch binary_to_float(String) of
- Float when is_float(Float) -> {ok, Float};
- _ -> {error, nil}
- end.
-
-less_than(Lhs, Rhs) ->
- Lhs < Rhs.
-
-string_starts_with(_, <<>>) -> true;
-string_starts_with(String, Prefix) when byte_size(Prefix) > byte_size(String) -> false;
-string_starts_with(String, Prefix) ->
- PrefixSize = byte_size(Prefix),
- Prefix == binary_part(String, 0, PrefixSize).
-
-string_ends_with(_, <<>>) -> true;
-string_ends_with(String, Suffix) when byte_size(Suffix) > byte_size(String) -> false;
-string_ends_with(String, Suffix) ->
- SuffixSize = byte_size(Suffix),
- Suffix == binary_part(String, byte_size(String) - SuffixSize, SuffixSize).
-
-string_pad(String, Length, Dir, PadString) ->
- Chars = string:pad(String, Length, Dir, binary_to_list(PadString)),
- case unicode:characters_to_binary(Chars) of
- Bin when is_binary(Bin) -> Bin;
- Error -> erlang:error({gleam_error, {string_invalid_utf8, Error}})
- end.
-
-string_pop_grapheme(String) ->
- case string:next_grapheme(String) of
- [ Next | Rest ] ->
- {ok, {unicode:characters_to_binary([Next]), unicode:characters_to_binary(Rest)}};
- _ -> {error, nil}
- end.
-
-bit_array_concat(BitArrays) ->
- list_to_bitstring(BitArrays).
-
-bit_array_slice(Bin, Pos, Len) ->
- try {ok, binary:part(Bin, Pos, Len)}
- catch error:badarg -> {error, nil}
- end.
-
-bit_array_int_to_u32(I) when 0 =< I, I < 4294967296 ->
- {ok, <<I:32>>};
-bit_array_int_to_u32(_) ->
- {error, nil}.
-
-bit_array_int_from_u32(<<I:32>>) ->
- {ok, I};
-bit_array_int_from_u32(_) ->
- {error, nil}.
-
-compile_regex(String, Options) ->
- {options, Caseless, Multiline} = Options,
- OptionsList = [
- unicode,
- ucp,
- Caseless andalso caseless,
- Multiline andalso multiline
- ],
- FilteredOptions = [Option || Option <- OptionsList, Option /= false],
- case re:compile(String, FilteredOptions) of
- {ok, MP} -> {ok, MP};
- {error, {Str, Pos}} ->
- {error, {compile_error, unicode:characters_to_binary(Str), Pos}}
- end.
-
-regex_check(Regex, String) ->
- re:run(String, Regex) /= nomatch.
-
-regex_split(Regex, String) ->
- re:split(String, Regex).
-
-regex_submatches(_, {-1, 0}) -> none;
-regex_submatches(String, {Start, Length}) ->
- BinarySlice = binary:part(String, {Start, Length}),
- case string:is_empty(binary_to_list(BinarySlice)) of
- true -> none;
- false -> {some, BinarySlice}
- end.
-
-regex_matches(String, [{Start, Length} | Submatches]) ->
- Submatches1 = lists:map(fun(X) -> regex_submatches(String, X) end, Submatches),
- {match, binary:part(String, Start, Length), Submatches1}.
-
-regex_scan(Regex, String) ->
- case re:run(String, Regex, [global]) of
- {match, Captured} -> lists:map(fun(X) -> regex_matches(String, X) end, Captured);
- nomatch -> []
- end.
-
-base_decode64(S) ->
- try {ok, base64:decode(S)}
- catch error:_ -> {error, nil}
- end.
-
-wrap_list(X) when is_list(X) -> X;
-wrap_list(X) -> [X].
-
-parse_query(Query) ->
- case uri_string:dissect_query(Query) of
- {error, _, _} -> {error, nil};
- Pairs ->
- Pairs1 = lists:map(fun
- ({K, true}) -> {K, <<"">>};
- (Pair) -> Pair
- end, Pairs),
- {ok, Pairs1}
- end.
-
-percent_encode(B) -> percent_encode(B, <<>>).
-percent_encode(<<>>, Acc) ->
- Acc;
-percent_encode(<<H,T/binary>>, Acc) ->
- case percent_ok(H) of
- true ->
- percent_encode(T, <<Acc/binary,H>>);
- false ->
- <<A:4,B:4>> = <<H>>,
- percent_encode(T, <<Acc/binary,$%,(?DEC2HEX(A)),(?DEC2HEX(B))>>)
- end.
-
-percent_decode(Cs) -> percent_decode(Cs, <<>>).
-percent_decode(<<$%, C0, C1, Cs/binary>>, Acc) ->
- case is_hex_digit(C0) andalso is_hex_digit(C1) of
- true ->
- B = ?HEX2DEC(C0)*16+?HEX2DEC(C1),
- percent_decode(Cs, <<Acc/binary, B>>);
- false ->
- {error, nil}
- end;
-percent_decode(<<C,Cs/binary>>, Acc) ->
- percent_decode(Cs, <<Acc/binary, C>>);
-percent_decode(<<>>, Acc) ->
- check_utf8(Acc).
-
-percent_ok($!) -> true;
-percent_ok($$) -> true;
-percent_ok($') -> true;
-percent_ok($() -> true;
-percent_ok($)) -> true;
-percent_ok($*) -> true;
-percent_ok($+) -> true;
-percent_ok($-) -> true;
-percent_ok($.) -> true;
-percent_ok($_) -> true;
-percent_ok($~) -> true;
-percent_ok(C) when $0 =< C, C =< $9 -> true;
-percent_ok(C) when $A =< C, C =< $Z -> true;
-percent_ok(C) when $a =< C, C =< $z -> true;
-percent_ok(_) -> false.
-
-is_hex_digit(C) ->
- ($0 =< C andalso C =< $9) orelse ($a =< C andalso C =< $f) orelse ($A =< C andalso C =< $F).
-
-check_utf8(Cs) ->
- case unicode:characters_to_list(Cs) of
- {incomplete, _, _} -> {error, nil};
- {error, _, _} -> {error, nil};
- _ -> {ok, Cs}
- end.
-
-uri_parse(String) ->
- case uri_string:parse(String) of
- {error, _, _} -> {error, nil};
- Uri ->
- {ok, {uri,
- maps_get_optional(Uri, scheme),
- maps_get_optional(Uri, userinfo),
- maps_get_optional(Uri, host),
- maps_get_optional(Uri, port),
- maps_get_or(Uri, path, <<>>),
- maps_get_optional(Uri, query),
- maps_get_optional(Uri, fragment)
- }}
- end.
-
-maps_get_optional(Map, Key) ->
- try {some, maps:get(Key, Map)}
- catch _:_ -> none
- end.
-
-maps_get_or(Map, Key, Default) ->
- try maps:get(Key, Map)
- catch _:_ -> Default
- end.
-
-print(String) ->
- io:put_chars(String),
- nil.
-
-println(String) ->
- io:put_chars([String, $\n]),
- nil.
-
-print_error(String) ->
- io:put_chars(standard_error, String),
- nil.
-
-println_error(String) ->
- io:put_chars(standard_error, [String, $\n]),
- nil.
-
-inspect(true) ->
- "True";
-inspect(false) ->
- "False";
-inspect(nil) ->
- "Nil";
-inspect(Data) when is_map(Data) ->
- Fields = [
- [<<"#(">>, inspect(Key), <<", ">>, inspect(Value), <<")">>]
- || {Key, Value} <- maps:to_list(Data)
- ],
- ["dict.from_list([", lists:join(", ", Fields), "])"];
-inspect(Atom) when is_atom(Atom) ->
- Binary = erlang:atom_to_binary(Atom),
- case inspect_maybe_gleam_atom(Binary, none, <<>>) of
- {ok, Inspected} -> Inspected;
- {error, _} -> ["atom.create_from_string(\"", Binary, "\")"]
- end;
-inspect(Any) when is_integer(Any) ->
- erlang:integer_to_list(Any);
-inspect(Any) when is_float(Any) ->
- io_lib_format:fwrite_g(Any);
-inspect(Binary) when is_binary(Binary) ->
- case inspect_maybe_utf8_string(Binary, <<>>) of
- {ok, InspectedUtf8String} -> InspectedUtf8String;
- {error, not_a_utf8_string} ->
- Segments = [erlang:integer_to_list(X) || <<X>> <= Binary],
- ["<<", lists:join(", ", Segments), ">>"]
- end;
-inspect(Bits) when is_bitstring(Bits) ->
- inspect_bit_array(Bits);
-inspect(List) when is_list(List) ->
- case inspect_list(List) of
- {proper, Elements} -> ["[", Elements, "]"];
- {improper, Elements} -> ["//erl([", Elements, "])"]
- end;
-inspect(Any) when is_tuple(Any) % Record constructors
- andalso is_atom(element(1, Any))
- andalso element(1, Any) =/= false
- andalso element(1, Any) =/= true
- andalso element(1, Any) =/= nil
-->
- [Atom | ArgsList] = erlang:tuple_to_list(Any),
- Args = lists:join(<<", ">>,
- lists:map(fun inspect/1, ArgsList)
- ),
- [inspect(Atom), "(", Args, ")"];
-inspect(Tuple) when is_tuple(Tuple) ->
- Elements = lists:map(fun inspect/1, erlang:tuple_to_list(Tuple)),
- ["#(", lists:join(", ", Elements), ")"];
-inspect(Any) when is_function(Any) ->
- {arity, Arity} = erlang:fun_info(Any, arity),
- ArgsAsciiCodes = lists:seq($a, $a + Arity - 1),
- Args = lists:join(<<", ">>,
- lists:map(fun(Arg) -> <<Arg>> end, ArgsAsciiCodes)
- ),
- ["//fn(", Args, ") { ... }"];
-inspect(Any) ->
- ["//erl(", io_lib:format("~p", [Any]), ")"].
-
-
-inspect_maybe_gleam_atom(<<>>, none, _) ->
- {error, nil};
-inspect_maybe_gleam_atom(<<First, _Rest/binary>>, none, _) when ?is_digit_char(First) ->
- {error, nil};
-inspect_maybe_gleam_atom(<<"_", _Rest/binary>>, none, _) ->
- {error, nil};
-inspect_maybe_gleam_atom(<<"_">>, _PrevChar, _Acc) ->
- {error, nil};
-inspect_maybe_gleam_atom(<<"_", _Rest/binary>>, $_, _Acc) ->
- {error, nil};
-inspect_maybe_gleam_atom(<<First, _Rest/binary>>, _PrevChar, _Acc)
- when not (?is_lowercase_char(First) orelse ?is_underscore_char(First) orelse ?is_digit_char(First)) ->
- {error, nil};
-inspect_maybe_gleam_atom(<<First, Rest/binary>>, none, Acc) ->
- inspect_maybe_gleam_atom(Rest, First, <<Acc/binary, (uppercase(First))>>);
-inspect_maybe_gleam_atom(<<"_", Rest/binary>>, _PrevChar, Acc) ->
- inspect_maybe_gleam_atom(Rest, $_, Acc);
-inspect_maybe_gleam_atom(<<First, Rest/binary>>, $_, Acc) ->
- inspect_maybe_gleam_atom(Rest, First, <<Acc/binary, (uppercase(First))>>);
-inspect_maybe_gleam_atom(<<First, Rest/binary>>, _PrevChar, Acc) ->
- inspect_maybe_gleam_atom(Rest, First, <<Acc/binary, First>>);
-inspect_maybe_gleam_atom(<<>>, _PrevChar, Acc) ->
- {ok, Acc};
-inspect_maybe_gleam_atom(A, B, C) ->
- erlang:display({A, B, C}),
- throw({gleam_error, A, B, C}).
-
-inspect_list([]) ->
- {proper, []};
-inspect_list([First]) ->
- {proper, [inspect(First)]};
-inspect_list([First | Rest]) when is_list(Rest) ->
- {Kind, Inspected} = inspect_list(Rest),
- {Kind, [inspect(First), <<", ">> | Inspected]};
-inspect_list([First | ImproperTail]) ->
- {improper, [inspect(First), <<" | ">>, inspect(ImproperTail)]}.
-
-inspect_bit_array(Bits) ->
- Text = inspect_bit_array(Bits, <<"<<">>),
- <<Text/binary, ">>">>.
-
-inspect_bit_array(<<>>, Acc) ->
- Acc;
-inspect_bit_array(<<X, Rest/bitstring>>, Acc) ->
- inspect_bit_array(Rest, append_segment(Acc, erlang:integer_to_binary(X)));
-inspect_bit_array(Rest, Acc) ->
- Size = bit_size(Rest),
- <<X:Size>> = Rest,
- X1 = erlang:integer_to_binary(X),
- Size1 = erlang:integer_to_binary(Size),
- Segment = <<X1/binary, ":size(", Size1/binary, ")">>,
- inspect_bit_array(<<>>, append_segment(Acc, Segment)).
-
-append_segment(<<"<<">>, Segment) ->
- <<"<<", Segment/binary>>;
-append_segment(Acc, Segment) ->
- <<Acc/binary, ", ", Segment/binary>>.
-
-
-inspect_maybe_utf8_string(Binary, Acc) ->
- case Binary of
- <<>> -> {ok, <<$", Acc/binary, $">>};
- <<First/utf8, Rest/binary>> ->
- Escaped = case First of
- $" -> <<$\\, $">>;
- $\\ -> <<$\\, $\\>>;
- $\r -> <<$\\, $r>>;
- $\n -> <<$\\, $n>>;
- $\t -> <<$\\, $t>>;
- Other -> <<Other/utf8>>
- end,
- inspect_maybe_utf8_string(Rest, <<Acc/binary, Escaped/binary>>);
- _ -> {error, not_a_utf8_string}
- end.
-
-float_to_string(Float) when is_float(Float) ->
- erlang:iolist_to_binary(io_lib_format:fwrite_g(Float)).
-
-utf_codepoint_list_to_string(List) ->
- case unicode:characters_to_binary(List) of
- {error, _} -> erlang:error({gleam_error, {string_invalid_utf8, List}});
- Binary -> Binary
- end.
-
-crop_string(String, Prefix) ->
- case string:find(String, Prefix) of
- nomatch -> String;
- New -> New
- end.
-
-contains_string(String, Substring) ->
- is_bitstring(string:find(String, Substring)).
-
-base16_decode(String) ->
- try
- {ok, binary:decode_hex(String)}
- catch
- _:_ -> {error, nil}
- end.
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam_stdlib.mjs b/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam_stdlib.mjs
deleted file mode 100644
index a908b23..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/_gleam_artefacts/gleam_stdlib.mjs
+++ /dev/null
@@ -1,875 +0,0 @@
-import {
- BitArray,
- Error,
- List,
- Ok,
- Result,
- UtfCodepoint,
- stringBits,
- toBitArray,
- NonEmpty,
- CustomType,
-} from "./gleam.mjs";
-import {
- CompileError as RegexCompileError,
- Match as RegexMatch,
-} from "./gleam/regex.mjs";
-import { DecodeError } from "./gleam/dynamic.mjs";
-import { Some, None } from "./gleam/option.mjs";
-import Dict from "./dict.mjs";
-
-const Nil = undefined;
-const NOT_FOUND = {};
-
-export function identity(x) {
- return x;
-}
-
-export function parse_int(value) {
- if (/^[-+]?(\d+)$/.test(value)) {
- return new Ok(parseInt(value));
- } else {
- return new Error(Nil);
- }
-}
-
-export function parse_float(value) {
- if (/^[-+]?(\d+)\.(\d+)$/.test(value)) {
- return new Ok(parseFloat(value));
- } else {
- return new Error(Nil);
- }
-}
-
-export function to_string(term) {
- return term.toString();
-}
-
-export function float_to_string(float) {
- const string = float.toString();
- if (string.indexOf(".") >= 0) {
- return string;
- } else {
- return string + ".0";
- }
-}
-
-export function int_to_base_string(int, base) {
- return int.toString(base).toUpperCase();
-}
-
-const int_base_patterns = {
- 2: /[^0-1]/,
- 3: /[^0-2]/,
- 4: /[^0-3]/,
- 5: /[^0-4]/,
- 6: /[^0-5]/,
- 7: /[^0-6]/,
- 8: /[^0-7]/,
- 9: /[^0-8]/,
- 10: /[^0-9]/,
- 11: /[^0-9a]/,
- 12: /[^0-9a-b]/,
- 13: /[^0-9a-c]/,
- 14: /[^0-9a-d]/,
- 15: /[^0-9a-e]/,
- 16: /[^0-9a-f]/,
- 17: /[^0-9a-g]/,
- 18: /[^0-9a-h]/,
- 19: /[^0-9a-i]/,
- 20: /[^0-9a-j]/,
- 21: /[^0-9a-k]/,
- 22: /[^0-9a-l]/,
- 23: /[^0-9a-m]/,
- 24: /[^0-9a-n]/,
- 25: /[^0-9a-o]/,
- 26: /[^0-9a-p]/,
- 27: /[^0-9a-q]/,
- 28: /[^0-9a-r]/,
- 29: /[^0-9a-s]/,
- 30: /[^0-9a-t]/,
- 31: /[^0-9a-u]/,
- 32: /[^0-9a-v]/,
- 33: /[^0-9a-w]/,
- 34: /[^0-9a-x]/,
- 35: /[^0-9a-y]/,
- 36: /[^0-9a-z]/,
-};
-
-export function int_from_base_string(string, base) {
- if (int_base_patterns[base].test(string.replace(/^-/, "").toLowerCase())) {
- return new Error(Nil);
- }
-
- const result = parseInt(string, base);
-
- if (isNaN(result)) {
- return new Error(Nil);
- }
-
- return new Ok(result);
-}
-
-export function string_replace(string, target, substitute) {
- if (typeof string.replaceAll !== "undefined") {
- return string.replaceAll(target, substitute);
- }
- // Fallback for older Node.js versions:
- // 1. <https://stackoverflow.com/a/1144788>
- // 2. <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping>
- // TODO: This fallback could be remove once Node.js 14 is EOL
- // aka <https://nodejs.org/en/about/releases/> on or after 2024-04-30
- return string.replace(
- // $& means the whole matched string
- new RegExp(target.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), "g"),
- substitute
- );
-}
-
-export function string_reverse(string) {
- return [...string].reverse().join("");
-}
-
-export function string_length(string) {
- if (string === "") {
- return 0;
- }
- const iterator = graphemes_iterator(string);
- if (iterator) {
- let i = 0;
- for (const _ of iterator) {
- i++;
- }
- return i;
- } else {
- return string.match(/./gsu).length;
- }
-}
-
-export function graphemes(string) {
- return List.fromArray(
- Array.from(graphemes_iterator(string)).map((item) => item.segment)
- );
-}
-
-function graphemes_iterator(string) {
- if (Intl && Intl.Segmenter) {
- return new Intl.Segmenter().segment(string)[Symbol.iterator]();
- }
-}
-
-export function pop_grapheme(string) {
- let first;
- const iterator = graphemes_iterator(string);
- if (iterator) {
- first = iterator.next().value?.segment;
- } else {
- first = string.match(/./su)?.[0];
- }
- if (first) {
- return new Ok([first, string.slice(first.length)]);
- } else {
- return new Error(Nil);
- }
-}
-
-export function lowercase(string) {
- return string.toLowerCase();
-}
-
-export function uppercase(string) {
- return string.toUpperCase();
-}
-
-export function less_than(a, b) {
- return a < b;
-}
-
-export function add(a, b) {
- return a + b;
-}
-
-export function equal(a, b) {
- return a === b;
-}
-
-export function split(xs, pattern) {
- return List.fromArray(xs.split(pattern));
-}
-
-export function join(xs, separator) {
- const iterator = xs[Symbol.iterator]();
- let result = iterator.next().value || "";
- let current = iterator.next();
- while (!current.done) {
- result = result + separator + current.value;
- current = iterator.next();
- }
- return result;
-}
-
-export function concat(xs) {
- let result = "";
- for (const x of xs) {
- result = result + x;
- }
- return result;
-}
-
-export function length(data) {
- return data.length;
-}
-
-export function crop_string(string, substring) {
- return string.substring(string.indexOf(substring));
-}
-
-export function contains_string(haystack, needle) {
- return haystack.indexOf(needle) >= 0;
-}
-
-export function starts_with(haystack, needle) {
- return haystack.startsWith(needle);
-}
-
-export function ends_with(haystack, needle) {
- return haystack.endsWith(needle);
-}
-
-export function split_once(haystack, needle) {
- const index = haystack.indexOf(needle);
- if (index >= 0) {
- const before = haystack.slice(0, index);
- const after = haystack.slice(index + needle.length);
- return new Ok([before, after]);
- } else {
- return new Error(Nil);
- }
-}
-
-export function trim(string) {
- return string.trim();
-}
-
-export function trim_left(string) {
- return string.trimLeft();
-}
-
-export function trim_right(string) {
- return string.trimRight();
-}
-
-export function bit_array_from_string(string) {
- return toBitArray([stringBits(string)]);
-}
-
-export function bit_array_concat(bit_arrays) {
- return toBitArray(bit_arrays.toArray().map((b) => b.buffer));
-}
-
-export function console_log(term) {
- console.log(term);
-}
-
-export function console_error(term) {
- console.error(term);
-}
-
-export function crash(message) {
- throw new globalThis.Error(message);
-}
-
-export function bit_array_to_string(bit_array) {
- try {
- const decoder = new TextDecoder("utf-8", { fatal: true });
- return new Ok(decoder.decode(bit_array.buffer));
- } catch (_error) {
- return new Error(Nil);
- }
-}
-
-export function print(string) {
- if (typeof process === "object") {
- process.stdout.write(string); // We can write without a trailing newline
- } else if (typeof Deno === "object") {
- Deno.stdout.writeSync(new TextEncoder().encode(string)); // We can write without a trailing newline
- } else {
- console.log(string); // We're in a browser. Newlines are mandated
- }
-}
-
-export function print_error(string) {
- if (typeof process === "object" && process.stderr?.write) {
- process.stderr.write(string); // We can write without a trailing newline
- } else if (typeof Deno === "object") {
- Deno.stderr.writeSync(new TextEncoder().encode(string)); // We can write without a trailing newline
- } else {
- console.error(string); // We're in a browser. Newlines are mandated
- }
-}
-
-export function print_debug(string) {
- if (typeof process === "object" && process.stderr?.write) {
- process.stderr.write(string + "\n"); // If we're in Node.js, use `stderr`
- } else if (typeof Deno === "object") {
- Deno.stderr.writeSync(new TextEncoder().encode(string + "\n")); // If we're in Deno, use `stderr`
- } else {
- console.log(string); // Otherwise, use `console.log` (so that it doesn't look like an error)
- }
-}
-
-export function ceiling(float) {
- return Math.ceil(float);
-}
-
-export function floor(float) {
- return Math.floor(float);
-}
-
-export function round(float) {
- return Math.round(float);
-}
-
-export function truncate(float) {
- return Math.trunc(float);
-}
-
-export function power(base, exponent) {
- // It is checked in Gleam that:
- // - The base is non-negative and that the exponent is not fractional.
- // - The base is non-zero and the exponent is non-negative (otherwise
- // the result will essentially be division by zero).
- // It can thus be assumed that valid input is passed to the Math.pow
- // function and a NaN or Infinity value will not be produced.
- return Math.pow(base, exponent);
-}
-
-export function random_uniform() {
- const random_uniform_result = Math.random();
- // With round-to-nearest-even behavior, the ranges claimed for the functions below
- // (excluding the one for Math.random() itself) aren't exact.
- // If extremely large bounds are chosen (2^53 or higher),
- // it's possible in extremely rare cases to calculate the usually-excluded upper bound.
- // Note that as numbers in JavaScript are IEEE 754 floating point numbers
- // See: <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random>
- // Because of this, we just loop 'until' we get a valid result where 0.0 <= x < 1.0:
- if (random_uniform_result === 1.0) {
- return random_uniform();
- }
- return random_uniform_result;
-}
-
-export function bit_array_slice(bits, position, length) {
- const start = Math.min(position, position + length);
- const end = Math.max(position, position + length);
- if (start < 0 || end > bits.length) return new Error(Nil);
- const buffer = new Uint8Array(bits.buffer.buffer, start, Math.abs(length));
- return new Ok(new BitArray(buffer));
-}
-
-export function codepoint(int) {
- return new UtfCodepoint(int);
-}
-
-export function string_to_codepoint_integer_list(string) {
- return List.fromArray(Array.from(string).map((item) => item.codePointAt(0)));
-}
-
-export function utf_codepoint_list_to_string(utf_codepoint_integer_list) {
- return utf_codepoint_integer_list
- .toArray()
- .map((x) => String.fromCodePoint(x.value))
- .join("");
-}
-
-export function utf_codepoint_to_int(utf_codepoint) {
- return utf_codepoint.value;
-}
-
-export function regex_check(regex, string) {
- regex.lastIndex = 0;
- return regex.test(string);
-}
-
-export function compile_regex(pattern, options) {
- try {
- let flags = "gu";
- if (options.case_insensitive) flags += "i";
- if (options.multi_line) flags += "m";
- return new Ok(new RegExp(pattern, flags));
- } catch (error) {
- const number = (error.columnNumber || 0) | 0;
- return new Error(new RegexCompileError(error.message, number));
- }
-}
-
-export function regex_scan(regex, string) {
- const matches = Array.from(string.matchAll(regex)).map((match) => {
- const content = match[0];
- const submatches = [];
- for (let n = match.length - 1; n > 0; n--) {
- if (match[n]) {
- submatches[n - 1] = new Some(match[n]);
- continue;
- }
- if (submatches.length > 0) {
- submatches[n - 1] = new None();
- }
- }
- return new RegexMatch(content, List.fromArray(submatches));
- });
- return List.fromArray(matches);
-}
-
-export function new_map() {
- return Dict.new();
-}
-
-export function map_size(map) {
- return map.size;
-}
-
-export function map_to_list(map) {
- return List.fromArray(map.entries());
-}
-
-export function map_remove(key, map) {
- return map.delete(key);
-}
-
-export function map_get(map, key) {
- const value = map.get(key, NOT_FOUND);
- if (value === NOT_FOUND) {
- return new Error(Nil);
- }
- return new Ok(value);
-}
-
-export function map_insert(key, value, map) {
- return map.set(key, value);
-}
-
-function unsafe_percent_decode(string) {
- return decodeURIComponent((string || "").replace("+", " "));
-}
-
-export function percent_decode(string) {
- try {
- return new Ok(unsafe_percent_decode(string));
- } catch (_error) {
- return new Error(Nil);
- }
-}
-
-export function percent_encode(string) {
- return encodeURIComponent(string);
-}
-
-export function parse_query(query) {
- try {
- const pairs = [];
- for (const section of query.split("&")) {
- const [key, value] = section.split("=");
- if (!key) continue;
- pairs.push([unsafe_percent_decode(key), unsafe_percent_decode(value)]);
- }
- return new Ok(List.fromArray(pairs));
- } catch (_error) {
- return new Error(Nil);
- }
-}
-
-// From https://developer.mozilla.org/en-US/docs/Glossary/Base64#Solution_2_%E2%80%93_rewrite_the_DOMs_atob()_and_btoa()_using_JavaScript's_TypedArrays_and_UTF-8
-export function encode64(bit_array) {
- const aBytes = bit_array.buffer;
- let nMod3 = 2;
- let sB64Enc = "";
-
- for (let nLen = aBytes.length, nUint24 = 0, nIdx = 0; nIdx < nLen; nIdx++) {
- nMod3 = nIdx % 3;
- if (nIdx > 0 && ((nIdx * 4) / 3) % 76 === 0) {
- sB64Enc += "\r\n";
- }
- nUint24 |= aBytes[nIdx] << ((16 >>> nMod3) & 24);
- if (nMod3 === 2 || aBytes.length - nIdx === 1) {
- sB64Enc += String.fromCharCode(
- uint6ToB64((nUint24 >>> 18) & 63),
- uint6ToB64((nUint24 >>> 12) & 63),
- uint6ToB64((nUint24 >>> 6) & 63),
- uint6ToB64(nUint24 & 63)
- );
- nUint24 = 0;
- }
- }
-
- return (
- sB64Enc.substr(0, sB64Enc.length - 2 + nMod3) +
- (nMod3 === 2 ? "" : nMod3 === 1 ? "=" : "==")
- );
-}
-
-// From https://developer.mozilla.org/en-US/docs/Glossary/Base64#Solution_2_%E2%80%93_rewrite_the_DOMs_atob()_and_btoa()_using_JavaScript's_TypedArrays_and_UTF-8
-function uint6ToB64(nUint6) {
- return nUint6 < 26
- ? nUint6 + 65
- : nUint6 < 52
- ? nUint6 + 71
- : nUint6 < 62
- ? nUint6 - 4
- : nUint6 === 62
- ? 43
- : nUint6 === 63
- ? 47
- : 65;
-}
-
-// From https://developer.mozilla.org/en-US/docs/Glossary/Base64#Solution_2_%E2%80%93_rewrite_the_DOMs_atob()_and_btoa()_using_JavaScript's_TypedArrays_and_UTF-8
-function b64ToUint6(nChr) {
- return nChr > 64 && nChr < 91
- ? nChr - 65
- : nChr > 96 && nChr < 123
- ? nChr - 71
- : nChr > 47 && nChr < 58
- ? nChr + 4
- : nChr === 43
- ? 62
- : nChr === 47
- ? 63
- : 0;
-}
-
-// From https://developer.mozilla.org/en-US/docs/Glossary/Base64#Solution_2_%E2%80%93_rewrite_the_DOMs_atob()_and_btoa()_using_JavaScript's_TypedArrays_and_UTF-8
-export function decode64(sBase64) {
- if (sBase64.match(/[^A-Za-z0-9\+\/=]/g)) return new Error(Nil);
- const sB64Enc = sBase64.replace(/=/g, "");
- const nInLen = sB64Enc.length;
- const nOutLen = (nInLen * 3 + 1) >> 2;
- const taBytes = new Uint8Array(nOutLen);
-
- for (
- let nMod3, nMod4, nUint24 = 0, nOutIdx = 0, nInIdx = 0;
- nInIdx < nInLen;
- nInIdx++
- ) {
- nMod4 = nInIdx & 3;
- nUint24 |= b64ToUint6(sB64Enc.charCodeAt(nInIdx)) << (6 * (3 - nMod4));
- if (nMod4 === 3 || nInLen - nInIdx === 1) {
- for (nMod3 = 0; nMod3 < 3 && nOutIdx < nOutLen; nMod3++, nOutIdx++) {
- taBytes[nOutIdx] = (nUint24 >>> ((16 >>> nMod3) & 24)) & 255;
- }
- nUint24 = 0;
- }
- }
-
- return new Ok(new BitArray(taBytes));
-}
-
-export function classify_dynamic(data) {
- if (typeof data === "string") {
- return "String";
- } else if (data instanceof Result) {
- return "Result";
- } else if (data instanceof List) {
- return "List";
- } else if (data instanceof BitArray) {
- return "BitArray";
- } else if (data instanceof Dict) {
- return "Map";
- } else if (Number.isInteger(data)) {
- return "Int";
- } else if (Array.isArray(data)) {
- return `Tuple of ${data.length} elements`;
- } else if (typeof data === "number") {
- return "Float";
- } else if (data === null) {
- return "Null";
- } else if (data === undefined) {
- return "Nil";
- } else {
- const type = typeof data;
- return type.charAt(0).toUpperCase() + type.slice(1);
- }
-}
-
-function decoder_error(expected, got) {
- return decoder_error_no_classify(expected, classify_dynamic(got));
-}
-
-function decoder_error_no_classify(expected, got) {
- return new Error(
- List.fromArray([new DecodeError(expected, got, List.fromArray([]))])
- );
-}
-
-export function decode_string(data) {
- return typeof data === "string"
- ? new Ok(data)
- : decoder_error("String", data);
-}
-
-export function decode_int(data) {
- return Number.isInteger(data) ? new Ok(data) : decoder_error("Int", data);
-}
-
-export function decode_float(data) {
- return typeof data === "number" ? new Ok(data) : decoder_error("Float", data);
-}
-
-export function decode_bool(data) {
- return typeof data === "boolean" ? new Ok(data) : decoder_error("Bool", data);
-}
-
-export function decode_bit_array(data) {
- if (data instanceof BitArray) {
- return new Ok(data);
- }
- if (data instanceof Uint8Array) {
- return new Ok(new BitArray(data));
- }
- return decoder_error("BitArray", data);
-}
-
-export function decode_tuple(data) {
- return Array.isArray(data) ? new Ok(data) : decoder_error("Tuple", data);
-}
-
-export function decode_tuple2(data) {
- return decode_tupleN(data, 2);
-}
-
-export function decode_tuple3(data) {
- return decode_tupleN(data, 3);
-}
-
-export function decode_tuple4(data) {
- return decode_tupleN(data, 4);
-}
-
-export function decode_tuple5(data) {
- return decode_tupleN(data, 5);
-}
-
-export function decode_tuple6(data) {
- return decode_tupleN(data, 6);
-}
-
-function decode_tupleN(data, n) {
- if (Array.isArray(data) && data.length == n) {
- return new Ok(data);
- }
-
- const list = decode_exact_length_list(data, n);
- if (list) return new Ok(list);
-
- return decoder_error(`Tuple of ${n} elements`, data);
-}
-
-function decode_exact_length_list(data, n) {
- if (!(data instanceof List)) return;
-
- const elements = [];
- let current = data;
-
- for (let i = 0; i < n; i++) {
- if (!(current instanceof NonEmpty)) break;
- elements.push(current.head);
- current = current.tail;
- }
-
- if (elements.length === n && !(current instanceof NonEmpty)) return elements;
-}
-
-export function tuple_get(data, index) {
- return index >= 0 && data.length > index
- ? new Ok(data[index])
- : new Error(Nil);
-}
-
-export function decode_list(data) {
- if (Array.isArray(data)) {
- return new Ok(List.fromArray(data));
- }
- return data instanceof List ? new Ok(data) : decoder_error("List", data);
-}
-
-export function decode_result(data) {
- return data instanceof Result ? new Ok(data) : decoder_error("Result", data);
-}
-
-export function decode_map(data) {
- if (data instanceof Dict) {
- return new Ok(Dict.fromMap(data));
- }
- if (data == null) {
- return decoder_error("Map", data);
- }
- if (typeof data !== "object") {
- return decoder_error("Map", data);
- }
- const proto = Object.getPrototypeOf(data);
- if (proto === Object.prototype || proto === null) {
- return new Ok(Dict.fromObject(data));
- }
- return decoder_error("Map", data);
-}
-
-export function decode_option(data, decoder) {
- if (data === null || data === undefined || data instanceof None)
- return new Ok(new None());
- if (data instanceof Some) data = data[0];
- const result = decoder(data);
- if (result.isOk()) {
- return new Ok(new Some(result[0]));
- } else {
- return result;
- }
-}
-
-export function decode_field(value, name) {
- const not_a_map_error = () => decoder_error("Map", value);
-
- if (
- value instanceof Dict ||
- value instanceof WeakMap ||
- value instanceof Map
- ) {
- const entry = map_get(value, name);
- return new Ok(entry.isOk() ? new Some(entry[0]) : new None());
- } else if (Object.getPrototypeOf(value) == Object.prototype) {
- return try_get_field(value, name, () => new Ok(new None()));
- } else {
- return try_get_field(value, name, not_a_map_error);
- }
-}
-
-function try_get_field(value, field, or_else) {
- try {
- return field in value ? new Ok(new Some(value[field])) : or_else();
- } catch {
- return or_else();
- }
-}
-
-export function byte_size(string) {
- return new TextEncoder().encode(string).length;
-}
-
-// In Javascript bitwise operations convert numbers to a sequence of 32 bits
-// while Erlang uses arbitrary precision.
-// To get around this problem and get consistent results use BigInt and then
-// downcast the value back to a Number value.
-
-export function bitwise_and(x, y) {
- return Number(BigInt(x) & BigInt(y));
-}
-
-export function bitwise_not(x) {
- return Number(~BigInt(x));
-}
-
-export function bitwise_or(x, y) {
- return Number(BigInt(x) | BigInt(y));
-}
-
-export function bitwise_exclusive_or(x, y) {
- return Number(BigInt(x) ^ BigInt(y));
-}
-
-export function bitwise_shift_left(x, y) {
- return Number(BigInt(x) << BigInt(y));
-}
-
-export function bitwise_shift_right(x, y) {
- return Number(BigInt(x) >> BigInt(y));
-}
-
-export function inspect(v) {
- const t = typeof v;
- if (v === true) return "True";
- if (v === false) return "False";
- if (v === null) return "//js(null)";
- if (v === undefined) return "Nil";
- if (t === "string") return JSON.stringify(v);
- if (t === "bigint" || t === "number") return v.toString();
- if (Array.isArray(v)) return `#(${v.map(inspect).join(", ")})`;
- if (v instanceof List) return inspectList(v);
- if (v instanceof UtfCodepoint) return inspectUtfCodepoint(v);
- if (v instanceof BitArray) return inspectBitArray(v);
- if (v instanceof CustomType) return inspectCustomType(v);
- if (v instanceof Dict) return inspectDict(v);
- if (v instanceof Set) return `//js(Set(${[...v].map(inspect).join(", ")}))`;
- if (v instanceof RegExp) return `//js(${v})`;
- if (v instanceof Date) return `//js(Date("${v.toISOString()}"))`;
- if (v instanceof Function) {
- const args = [];
- for (const i of Array(v.length).keys())
- args.push(String.fromCharCode(i + 97));
- return `//fn(${args.join(", ")}) { ... }`;
- }
- return inspectObject(v);
-}
-
-function inspectDict(map) {
- let body = "dict.from_list([";
- let first = true;
- map.forEach((value, key) => {
- if (!first) body = body + ", ";
- body = body + "#(" + inspect(key) + ", " + inspect(value) + ")";
- first = false;
- });
- return body + "])";
-}
-
-function inspectObject(v) {
- const name = Object.getPrototypeOf(v)?.constructor?.name || "Object";
- const props = [];
- for (const k of Object.keys(v)) {
- props.push(`${inspect(k)}: ${inspect(v[k])}`);
- }
- const body = props.length ? " " + props.join(", ") + " " : "";
- const head = name === "Object" ? "" : name + " ";
- return `//js(${head}{${body}})`;
-}
-
-function inspectCustomType(record) {
- const props = Object.keys(record)
- .map((label) => {
- const value = inspect(record[label]);
- return isNaN(parseInt(label)) ? `${label}: ${value}` : value;
- })
- .join(", ");
- return props
- ? `${record.constructor.name}(${props})`
- : record.constructor.name;
-}
-
-export function inspectList(list) {
- return `[${list.toArray().map(inspect).join(", ")}]`;
-}
-
-export function inspectBitArray(bits) {
- return `<<${Array.from(bits.buffer).join(", ")}>>`;
-}
-
-export function inspectUtfCodepoint(codepoint) {
- return `//utfcodepoint(${String.fromCodePoint(codepoint.value)})`;
-}
-
-export function base16_encode(bit_array) {
- let result = "";
- for (const byte of bit_array.buffer) {
- result += byte.toString(16).padStart(2, "0").toUpperCase();
- }
- return result;
-}
-
-export function base16_decode(string) {
- const bytes = new Uint8Array(string.length / 2);
- for (let i = 0; i < string.length; i += 2) {
- const a = parseInt(string[i], 16);
- const b = parseInt(string[i + 1], 16);
- if (isNaN(a) || isNaN(b)) return new Error(Nil);
- bytes[i / 2] = a * 16 + b;
- }
- return new Ok(new BitArray(bytes));
-}
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@base.beam b/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@base.beam
deleted file mode 100644
index 66ecfaf..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@base.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@bit_array.beam b/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@bit_array.beam
deleted file mode 100644
index 12fe362..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@bit_array.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@bit_builder.beam b/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@bit_builder.beam
deleted file mode 100644
index ea1ebc6..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@bit_builder.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@bit_string.beam b/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@bit_string.beam
deleted file mode 100644
index b8a7f29..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@bit_string.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@bool.beam b/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@bool.beam
deleted file mode 100644
index 49ceff6..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@bool.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@bytes_builder.beam b/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@bytes_builder.beam
deleted file mode 100644
index 768e658..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@bytes_builder.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@dict.beam b/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@dict.beam
deleted file mode 100644
index 91ac492..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@dict.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@dynamic.beam b/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@dynamic.beam
deleted file mode 100644
index 4945547..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@dynamic.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@float.beam b/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@float.beam
deleted file mode 100644
index b0b6b33..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@float.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@function.beam b/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@function.beam
deleted file mode 100644
index 1a0aca0..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@function.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@int.beam b/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@int.beam
deleted file mode 100644
index a8594f4..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@int.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@io.beam b/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@io.beam
deleted file mode 100644
index fdadf55..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@io.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@iterator.beam b/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@iterator.beam
deleted file mode 100644
index e7997d2..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@iterator.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@list.beam b/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@list.beam
deleted file mode 100644
index 2d8125f..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@list.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@map.beam b/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@map.beam
deleted file mode 100644
index ba9c9e2..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@map.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@option.beam b/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@option.beam
deleted file mode 100644
index ed16040..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@option.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@order.beam b/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@order.beam
deleted file mode 100644
index e5a5990..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@order.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@pair.beam b/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@pair.beam
deleted file mode 100644
index 1db55b8..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@pair.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@queue.beam b/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@queue.beam
deleted file mode 100644
index c4e81fc..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@queue.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@regex.beam b/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@regex.beam
deleted file mode 100644
index d4daa3f..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@regex.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@result.beam b/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@result.beam
deleted file mode 100644
index 13eeb10..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@result.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@set.beam b/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@set.beam
deleted file mode 100644
index ad16119..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@set.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@string.beam b/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@string.beam
deleted file mode 100644
index 6565dd5..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@string.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@string_builder.beam b/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@string_builder.beam
deleted file mode 100644
index f968a74..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@string_builder.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@uri.beam b/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@uri.beam
deleted file mode 100644
index 8c0d9ec..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam@uri.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam_stdlib.app b/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam_stdlib.app
deleted file mode 100644
index 8231979..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam_stdlib.app
+++ /dev/null
@@ -1,7 +0,0 @@
-{application, gleam_stdlib, [
- {vsn, "0.33.0"},
- {applications, []},
- {description, "A standard library for the Gleam programming language"},
- {modules, []},
- {registered, []}
-]}.
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam_stdlib.beam b/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam_stdlib.beam
deleted file mode 100644
index 4215626..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/ebin/gleam_stdlib.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@dynamic_DecodeError.hrl b/aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@dynamic_DecodeError.hrl
deleted file mode 100644
index b1135f2..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@dynamic_DecodeError.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(decode_error, {
- expected :: binary(),
- found :: binary(),
- path :: list(binary())
-}).
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@iterator_Iterator.hrl b/aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@iterator_Iterator.hrl
deleted file mode 100644
index b0d08dc..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@iterator_Iterator.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(iterator, {continuation :: fun(() -> gleam@iterator:action(any()))}).
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@iterator_Next.hrl b/aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@iterator_Next.hrl
deleted file mode 100644
index 1f61922..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@iterator_Next.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(next, {element :: any(), accumulator :: any()}).
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@queue_Queue.hrl b/aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@queue_Queue.hrl
deleted file mode 100644
index 88ac25e..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@queue_Queue.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(queue, {in :: list(any()), out :: list(any())}).
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@regex_CompileError.hrl b/aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@regex_CompileError.hrl
deleted file mode 100644
index ad5511e..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@regex_CompileError.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(compile_error, {error :: binary(), byte_index :: integer()}).
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@regex_Match.hrl b/aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@regex_Match.hrl
deleted file mode 100644
index 4216619..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@regex_Match.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(match, {
- content :: binary(),
- submatches :: list(gleam@option:option(binary()))
-}).
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@regex_Options.hrl b/aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@regex_Options.hrl
deleted file mode 100644
index 0074603..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@regex_Options.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(options, {case_insensitive :: boolean(), multi_line :: boolean()}).
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@set_Set.hrl b/aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@set_Set.hrl
deleted file mode 100644
index 6e1e226..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@set_Set.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(set, {map :: gleam@dict:dict(any(), list(nil))}).
diff --git a/aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@uri_Uri.hrl b/aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@uri_Uri.hrl
deleted file mode 100644
index 50150f4..0000000
--- a/aoc2023/build/dev/erlang/gleam_stdlib/include/gleam@uri_Uri.hrl
+++ /dev/null
@@ -1,9 +0,0 @@
--record(uri, {
- scheme :: gleam@option:option(binary()),
- userinfo :: gleam@option:option(binary()),
- host :: gleam@option:option(binary()),
- port :: gleam@option:option(integer()),
- path :: binary(),
- 'query' :: gleam@option:option(binary()),
- fragment :: gleam@option:option(binary())
-}).
diff --git a/aoc2023/build/dev/erlang/gleam_version b/aoc2023/build/dev/erlang/gleam_version
deleted file mode 100644
index 048acbd..0000000
--- a/aoc2023/build/dev/erlang/gleam_version
+++ /dev/null
@@ -1 +0,0 @@
-0.33.0-rc2 \ No newline at end of file
diff --git a/aoc2023/build/dev/erlang/glint/_gleam_artefacts/gleam@@compile.erl b/aoc2023/build/dev/erlang/glint/_gleam_artefacts/gleam@@compile.erl
deleted file mode 100644
index 543db88..0000000
--- a/aoc2023/build/dev/erlang/glint/_gleam_artefacts/gleam@@compile.erl
+++ /dev/null
@@ -1,157 +0,0 @@
-#!/usr/bin/env escript
-
-% TODO: Don't concurrently print warnings and errors
-% TODO: Some tests
-
--record(arguments, {lib = "./", out = "./", modules = []}).
-
-main(Args) ->
- #arguments{out = Out, lib = Lib, modules = Modules} = parse(Args),
- IsElixirModule = fun(Module) ->
- filename:extension(Module) =:= ".ex"
- end,
- {ElixirModules, ErlangModules} = lists:partition(IsElixirModule, Modules),
- ok = configure_logging(),
- ok = add_lib_to_erlang_path(Lib),
- ok = filelib:ensure_dir([Out, $/]),
- {ErlangOk, _ErlangBeams} = compile_erlang(ErlangModules, Out),
- {ElixirOk, _ElixirBeams} = case ErlangOk of
- true -> compile_elixir(ElixirModules, Out);
- false -> {false, []}
- end,
- case ErlangOk and ElixirOk of
- true -> ok;
- false -> erlang:halt(1)
- end.
-
-compile_erlang(Modules, Out) ->
- Workers = start_compiler_workers(Out),
- ok = producer_loop(Modules, Workers),
- collect_results({true, []}).
-
-collect_results(Acc = {Result, Beams}) ->
- receive
- {compiled, Beam} -> collect_results({Result, [Beam | Beams]});
- failed -> collect_results({false, Beams})
- after 0 -> Acc
- end.
-
-producer_loop([], 0) ->
- ok;
-producer_loop([], Workers) ->
- receive
- {work_please, _} -> producer_loop([], Workers - 1)
- end;
-producer_loop([Module | Modules], Workers) ->
- receive
- {work_please, Worker} ->
- erlang:send(Worker, {module, Module}),
- producer_loop(Modules, Workers)
- end.
-
-start_compiler_workers(Out) ->
- Parent = self(),
- NumSchedulers = erlang:system_info(schedulers),
- SpawnWorker = fun(_) ->
- erlang:spawn_link(fun() -> worker_loop(Parent, Out) end)
- end,
- lists:foreach(SpawnWorker, lists:seq(1, NumSchedulers)),
- NumSchedulers.
-
-worker_loop(Parent, Out) ->
- Options = [report_errors, report_warnings, debug_info, {outdir, Out}],
- erlang:send(Parent, {work_please, self()}),
- receive
- {module, Module} ->
- log({compiling, Module}),
- case compile:file(Module, Options) of
- {ok, ModuleName} ->
- Beam = filename:join(Out, ModuleName) ++ ".beam",
- Message = {compiled, Beam},
- log(Message),
- erlang:send(Parent, Message);
- error ->
- log({failed, Module}),
- erlang:send(Parent, failed)
- end,
- worker_loop(Parent, Out)
- end.
-
-compile_elixir(Modules, Out) ->
- Error = [
- "The program elixir was not found. Is it installed?",
- $\n,
- "Documentation for installing Elixir can be viewed here:",
- $\n,
- "https://elixir-lang.org/install.html"
- ],
- case Modules of
- [] -> {true, []};
- _ ->
- log({starting, "compiler.app"}),
- ok = application:start(compiler),
- log({starting, "elixir.app"}),
- case application:start(elixir) of
- ok -> do_compile_elixir(Modules, Out);
- _ ->
- io:put_chars(standard_error, [Error, $\n]),
- {false, []}
- end
- end.
-
-do_compile_elixir(Modules, Out) ->
- ModuleBins = lists:map(fun(Module) ->
- log({compiling, Module}),
- list_to_binary(Module)
- end, Modules),
- OutBin = list_to_binary(Out),
- Options = [{dest, OutBin}],
- % Silence "redefining module" warnings.
- % Compiled modules in the build directory are added to the code path.
- % These warnings result from recompiling loaded modules.
- % TODO: This line can likely be removed if/when the build directory is cleaned before every compilation.
- 'Elixir.Code':compiler_options([{ignore_module_conflict, true}]),
- case 'Elixir.Kernel.ParallelCompiler':compile_to_path(ModuleBins, OutBin, Options) of
- {ok, ModuleAtoms, _} ->
- ToBeam = fun(ModuleAtom) ->
- Beam = filename:join(Out, atom_to_list(ModuleAtom)) ++ ".beam",
- log({compiled, Beam}),
- Beam
- end,
- {true, lists:map(ToBeam, ModuleAtoms)};
- {error, Errors, _} ->
- % Log all filenames associated with modules that failed to compile.
- % Note: The compiler prints compilation errors upon encountering them.
- ErrorFiles = lists:usort([File || {File, _, _} <- Errors]),
- Log = fun(File) ->
- log({failed, binary_to_list(File)})
- end,
- lists:foreach(Log, ErrorFiles),
- {false, []};
- _ -> {false, []}
- end.
-
-add_lib_to_erlang_path(Lib) ->
- code:add_paths(filelib:wildcard([Lib, "/*/ebin"])).
-
-parse(Args) ->
- parse(Args, #arguments{}).
-
-parse([], Arguments) ->
- Arguments;
-parse(["--lib", Lib | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{lib = Lib});
-parse(["--out", Out | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{out = Out});
-parse([Module | Rest], Arguments = #arguments{modules = Modules}) ->
- parse(Rest, Arguments#arguments{modules = [Module | Modules]}).
-
-configure_logging() ->
- Enabled = os:getenv("GLEAM_LOG") /= false,
- persistent_term:put(gleam_logging_enabled, Enabled).
-
-log(Term) ->
- case persistent_term:get(gleam_logging_enabled) of
- true -> erlang:display(Term), ok;
- false -> ok
- end.
diff --git a/aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint.cache b/aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint.cache
deleted file mode 100644
index d1a66cb..0000000
--- a/aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint.cache_meta b/aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint.cache_meta
deleted file mode 100644
index 23d66d7..0000000
--- a/aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint.erl b/aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint.erl
deleted file mode 100644
index 13ae369..0000000
--- a/aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint.erl
+++ /dev/null
@@ -1,513 +0,0 @@
--module(glint).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([with_config/2, with_pretty_help/2, without_pretty_help/1, with_name/2, new/0, command/1, description/2, flag/3, flag_tuple/2, flags/2, global_flag/3, global_flag_tuple/2, global_flags/2, default_pretty_help/0, add/3, help_flag/0, execute/2, run_and_handle/3, run/2, add_command_from_stub/2]).
--export_type([config/0, pretty_help/0, glint/1, command/1, command_input/0, command_node/1, out/1, stub/1]).
-
--type config() :: {config,
- gleam@option:option(pretty_help()),
- gleam@option:option(binary())}.
-
--type pretty_help() :: {pretty_help,
- gleam_community@colour:colour(),
- gleam_community@colour:colour(),
- gleam_community@colour:colour()}.
-
--opaque glint(JFP) :: {glint,
- config(),
- command_node(JFP),
- gleam@dict:dict(binary(), glint@flag:flag())}.
-
--opaque command(JFQ) :: {command,
- fun((command_input()) -> JFQ),
- gleam@dict:dict(binary(), glint@flag:flag()),
- binary()}.
-
--type command_input() :: {command_input,
- list(binary()),
- gleam@dict:dict(binary(), glint@flag:flag())}.
-
--type command_node(JFR) :: {command_node,
- gleam@option:option(command(JFR)),
- gleam@dict:dict(binary(), command_node(JFR))}.
-
--type out(JFS) :: {out, JFS} | {help, binary()}.
-
--type stub(JFT) :: {stub,
- list(binary()),
- fun((command_input()) -> JFT),
- list({binary(), glint@flag:flag()}),
- binary()}.
-
--spec with_config(glint(JFY), config()) -> glint(JFY).
-with_config(Glint, Config) ->
- erlang:setelement(2, Glint, Config).
-
--spec with_pretty_help(glint(JGB), pretty_help()) -> glint(JGB).
-with_pretty_help(Glint, Pretty) ->
- _pipe = erlang:setelement(2, erlang:element(2, Glint), {some, Pretty}),
- with_config(Glint, _pipe).
-
--spec without_pretty_help(glint(JGE)) -> glint(JGE).
-without_pretty_help(Glint) ->
- _pipe = erlang:setelement(2, erlang:element(2, Glint), none),
- with_config(Glint, _pipe).
-
--spec with_name(glint(JGH), binary()) -> glint(JGH).
-with_name(Glint, Name) ->
- _pipe = erlang:setelement(3, erlang:element(2, Glint), {some, Name}),
- with_config(Glint, _pipe).
-
--spec empty_command() -> command_node(any()).
-empty_command() ->
- {command_node, none, gleam@map:new()}.
-
--spec new() -> glint(any()).
-new() ->
- {glint, {config, none, none}, empty_command(), gleam@map:new()}.
-
--spec do_add(command_node(JGR), list(binary()), command(JGR)) -> command_node(JGR).
-do_add(Root, Path, Contents) ->
- case Path of
- [] ->
- erlang:setelement(2, Root, {some, Contents});
-
- [X | Xs] ->
- erlang:setelement(
- 3,
- Root,
- (gleam@map:update(
- erlang:element(3, Root),
- X,
- fun(Node) -> _pipe = Node,
- _pipe@1 = gleam@option:lazy_unwrap(
- _pipe,
- fun empty_command/0
- ),
- do_add(_pipe@1, Xs, Contents) end
- ))
- )
- end.
-
--spec command(fun((command_input()) -> JHA)) -> command(JHA).
-command(Runner) ->
- {command, Runner, gleam@map:new(), <<""/utf8>>}.
-
--spec description(command(JHD), binary()) -> command(JHD).
-description(Cmd, Description) ->
- erlang:setelement(4, Cmd, Description).
-
--spec flag(command(JHG), binary(), glint@flag:flag_builder(any())) -> command(JHG).
-flag(Cmd, Key, Flag) ->
- erlang:setelement(
- 3,
- Cmd,
- gleam@map:insert(erlang:element(3, Cmd), Key, glint@flag:build(Flag))
- ).
-
--spec flag_tuple(command(JHL), {binary(), glint@flag:flag_builder(any())}) -> command(JHL).
-flag_tuple(Cmd, Tup) ->
- flag(Cmd, erlang:element(1, Tup), erlang:element(2, Tup)).
-
--spec flags(command(JHQ), list({binary(), glint@flag:flag()})) -> command(JHQ).
-flags(Cmd, Flags) ->
- gleam@list:fold(
- Flags,
- Cmd,
- fun(Cmd@1, _use1) ->
- {Key, Flag} = _use1,
- erlang:setelement(
- 3,
- Cmd@1,
- gleam@map:insert(erlang:element(3, Cmd@1), Key, Flag)
- )
- end
- ).
-
--spec global_flag(glint(JHU), binary(), glint@flag:flag_builder(any())) -> glint(JHU).
-global_flag(Glint, Key, Flag) ->
- erlang:setelement(
- 4,
- Glint,
- gleam@map:insert(erlang:element(4, Glint), Key, glint@flag:build(Flag))
- ).
-
--spec global_flag_tuple(glint(JHZ), {binary(), glint@flag:flag_builder(any())}) -> glint(JHZ).
-global_flag_tuple(Glint, Tup) ->
- global_flag(Glint, erlang:element(1, Tup), erlang:element(2, Tup)).
-
--spec global_flags(glint(JIE), list({binary(), glint@flag:flag()})) -> glint(JIE).
-global_flags(Glint, Flags) ->
- erlang:setelement(
- 4,
- Glint,
- (gleam@list:fold(
- Flags,
- erlang:element(4, Glint),
- fun(Acc, Tup) ->
- gleam@map:insert(
- Acc,
- erlang:element(1, Tup),
- erlang:element(2, Tup)
- )
- end
- ))
- ).
-
--spec execute_root(
- command_node(JIS),
- gleam@dict:dict(binary(), glint@flag:flag()),
- list(binary()),
- list(binary())
-) -> {ok, out(JIS)} | {error, snag:snag()}.
-execute_root(Cmd, Global_flags, Args, Flag_inputs) ->
- _pipe@3 = case erlang:element(2, Cmd) of
- {some, Contents} ->
- gleam@result:'try'(
- gleam@list:try_fold(
- Flag_inputs,
- gleam@map:merge(Global_flags, erlang:element(3, Contents)),
- fun glint@flag:update_flags/2
- ),
- fun(New_flags) -> _pipe = {command_input, Args, New_flags},
- _pipe@1 = (erlang:element(2, Contents))(_pipe),
- _pipe@2 = {out, _pipe@1},
- {ok, _pipe@2} end
- );
-
- none ->
- snag:error(<<"command not found"/utf8>>)
- end,
- snag:context(_pipe@3, <<"failed to run command"/utf8>>).
-
--spec default_pretty_help() -> pretty_help().
-default_pretty_help() ->
- _assert_subject = gleam_community@colour:from_rgb255(182, 255, 234),
- {ok, Usage_colour} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"glint"/utf8>>,
- function => <<"default_pretty_help"/utf8>>,
- line => 404})
- end,
- _assert_subject@1 = gleam_community@colour:from_rgb255(255, 175, 243),
- {ok, Flags_colour} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"glint"/utf8>>,
- function => <<"default_pretty_help"/utf8>>,
- line => 405})
- end,
- _assert_subject@2 = gleam_community@colour:from_rgb255(252, 226, 174),
- {ok, Subcommands_colour} = case _assert_subject@2 of
- {ok, _} -> _assert_subject@2;
- _assert_fail@2 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@2,
- module => <<"glint"/utf8>>,
- function => <<"default_pretty_help"/utf8>>,
- line => 406})
- end,
- {pretty_help, Usage_colour, Flags_colour, Subcommands_colour}.
-
--spec is_not_empty(binary()) -> boolean().
-is_not_empty(S) ->
- S /= <<""/utf8>>.
-
--spec sanitize_path(list(binary())) -> list(binary()).
-sanitize_path(Path) ->
- _pipe = Path,
- _pipe@1 = gleam@list:map(_pipe, fun gleam@string:trim/1),
- gleam@list:filter(_pipe@1, fun is_not_empty/1).
-
--spec add(glint(JGM), list(binary()), command(JGM)) -> glint(JGM).
-add(Glint, Path, Contents) ->
- erlang:setelement(
- 3,
- Glint,
- begin
- _pipe = Path,
- _pipe@1 = sanitize_path(_pipe),
- do_add(erlang:element(3, Glint), _pipe@1, Contents)
- end
- ).
-
--spec help_flag() -> binary().
-help_flag() ->
- <<(<<"--"/utf8>>)/binary, "help"/utf8>>.
-
--spec wrap_with_space(binary()) -> binary().
-wrap_with_space(S) ->
- case S of
- <<""/utf8>> ->
- <<" "/utf8>>;
-
- _ ->
- <<<<" "/utf8, S/binary>>/binary, " "/utf8>>
- end.
-
--spec subcommand_help(binary(), command_node(any())) -> binary().
-subcommand_help(Name, Cmd) ->
- case erlang:element(2, Cmd) of
- none ->
- Name;
-
- {some, Contents} ->
- <<<<Name/binary, "\t\t"/utf8>>/binary,
- (erlang:element(4, Contents))/binary>>
- end.
-
--spec subcommands_help(gleam@dict:dict(binary(), command_node(any()))) -> binary().
-subcommands_help(Cmds) ->
- _pipe = Cmds,
- _pipe@1 = gleam@map:map_values(_pipe, fun subcommand_help/2),
- _pipe@2 = gleam@map:values(_pipe@1),
- _pipe@3 = gleam@list:sort(_pipe@2, fun gleam@string:compare/2),
- gleam@string:join(_pipe@3, <<"\n\t"/utf8>>).
-
--spec heading_style(binary(), gleam_community@colour:colour()) -> binary().
-heading_style(Heading, Colour) ->
- _pipe = Heading,
- _pipe@1 = gleam_community@ansi:bold(_pipe),
- _pipe@2 = gleam_community@ansi:underline(_pipe@1),
- _pipe@3 = gleam_community@ansi:italic(_pipe@2),
- _pipe@4 = gleam_community@ansi:hex(
- _pipe@3,
- gleam_community@colour:to_rgb_hex(Colour)
- ),
- gleam_community@ansi:reset(_pipe@4).
-
--spec usage_help(
- binary(),
- gleam@dict:dict(binary(), glint@flag:flag()),
- config()
-) -> binary().
-usage_help(Cmd_name, Flags, Config) ->
- App_name = gleam@option:unwrap(
- erlang:element(3, Config),
- <<"gleam run"/utf8>>
- ),
- Flags@1 = begin
- _pipe = Flags,
- _pipe@1 = gleam@map:to_list(_pipe),
- _pipe@2 = gleam@list:map(_pipe@1, fun glint@flag:flag_type_help/1),
- gleam@list:sort(_pipe@2, fun gleam@string:compare/2)
- end,
- Flag_sb = case Flags@1 of
- [] ->
- gleam@string_builder:new();
-
- _ ->
- _pipe@3 = Flags@1,
- _pipe@4 = gleam@list:intersperse(_pipe@3, <<" "/utf8>>),
- _pipe@5 = gleam@string_builder:from_strings(_pipe@4),
- _pipe@6 = gleam@string_builder:prepend(_pipe@5, <<" [ "/utf8>>),
- gleam@string_builder:append(_pipe@6, <<" ]"/utf8>>)
- end,
- _pipe@7 = [App_name, wrap_with_space(Cmd_name), <<"[ ARGS ]"/utf8>>],
- _pipe@8 = gleam@string_builder:from_strings(_pipe@7),
- _pipe@9 = gleam@string_builder:append_builder(_pipe@8, Flag_sb),
- _pipe@12 = gleam@string_builder:prepend(
- _pipe@9,
- <<(begin
- _pipe@10 = erlang:element(2, Config),
- _pipe@11 = gleam@option:map(
- _pipe@10,
- fun(Styling) ->
- heading_style(
- <<"USAGE:"/utf8>>,
- erlang:element(2, Styling)
- )
- end
- ),
- gleam@option:unwrap(_pipe@11, <<"USAGE:"/utf8>>)
- end)/binary,
- "\n\t"/utf8>>
- ),
- gleam@string_builder:to_string(_pipe@12).
-
--spec cmd_help(
- list(binary()),
- command_node(any()),
- config(),
- gleam@dict:dict(binary(), glint@flag:flag())
-) -> binary().
-cmd_help(Path, Cmd, Config, Global_flags) ->
- Name = begin
- _pipe = Path,
- _pipe@1 = gleam@list:reverse(_pipe),
- gleam@string:join(_pipe@1, <<" "/utf8>>)
- end,
- Flags = begin
- _pipe@2 = gleam@option:map(
- erlang:element(2, Cmd),
- fun(Contents) -> erlang:element(3, Contents) end
- ),
- _pipe@3 = gleam@option:lazy_unwrap(_pipe@2, fun gleam@map:new/0),
- gleam@map:merge(Global_flags, _pipe@3)
- end,
- Flags_help_body = <<<<(begin
- _pipe@4 = erlang:element(2, Config),
- _pipe@5 = gleam@option:map(
- _pipe@4,
- fun(P) ->
- heading_style(<<"FLAGS:"/utf8>>, erlang:element(3, P))
- end
- ),
- gleam@option:unwrap(_pipe@5, <<"FLAGS:"/utf8>>)
- end)/binary,
- "\n\t"/utf8>>/binary,
- (gleam@string:join(
- gleam@list:sort(
- [<<"--help\t\t\tPrint help information"/utf8>> |
- glint@flag:flags_help(Flags)],
- fun gleam@string:compare/2
- ),
- <<"\n\t"/utf8>>
- ))/binary>>,
- Usage = usage_help(Name, Flags, Config),
- Description = begin
- _pipe@6 = erlang:element(2, Cmd),
- _pipe@7 = gleam@option:map(
- _pipe@6,
- fun(Contents@1) -> erlang:element(4, Contents@1) end
- ),
- gleam@option:unwrap(_pipe@7, <<""/utf8>>)
- end,
- Header_items = begin
- _pipe@8 = [Name, Description],
- _pipe@9 = gleam@list:filter(_pipe@8, fun is_not_empty/1),
- gleam@string:join(_pipe@9, <<"\n"/utf8>>)
- end,
- Subcommands = case subcommands_help(erlang:element(3, Cmd)) of
- <<""/utf8>> ->
- <<""/utf8>>;
-
- Subcommands_help_body ->
- <<<<(begin
- _pipe@10 = erlang:element(2, Config),
- _pipe@11 = gleam@option:map(
- _pipe@10,
- fun(P@1) ->
- heading_style(
- <<"SUBCOMMANDS:"/utf8>>,
- erlang:element(4, P@1)
- )
- end
- ),
- gleam@option:unwrap(_pipe@11, <<"SUBCOMMANDS:"/utf8>>)
- end)/binary,
- "\n\t"/utf8>>/binary,
- Subcommands_help_body/binary>>
- end,
- _pipe@12 = [Header_items, Usage, Flags_help_body, Subcommands],
- _pipe@13 = gleam@list:filter(_pipe@12, fun is_not_empty/1),
- gleam@string:join(_pipe@13, <<"\n\n"/utf8>>).
-
--spec do_execute(
- command_node(JIM),
- config(),
- gleam@dict:dict(binary(), glint@flag:flag()),
- list(binary()),
- list(binary()),
- boolean(),
- list(binary())
-) -> {ok, out(JIM)} | {error, snag:snag()}.
-do_execute(Cmd, Config, Global_flags, Args, Flags, Help, Command_path) ->
- case Args of
- [] when Help ->
- _pipe = Command_path,
- _pipe@1 = cmd_help(_pipe, Cmd, Config, Global_flags),
- _pipe@2 = {help, _pipe@1},
- {ok, _pipe@2};
-
- [] ->
- execute_root(Cmd, Global_flags, [], Flags);
-
- [Arg | Rest] ->
- case gleam@map:get(erlang:element(3, Cmd), Arg) of
- {ok, Cmd@1} ->
- do_execute(
- Cmd@1,
- Config,
- Global_flags,
- Rest,
- Flags,
- Help,
- [Arg | Command_path]
- );
-
- _ when Help ->
- _pipe@3 = Command_path,
- _pipe@4 = cmd_help(_pipe@3, Cmd, Config, Global_flags),
- _pipe@5 = {help, _pipe@4},
- {ok, _pipe@5};
-
- _ ->
- execute_root(Cmd, Global_flags, Args, Flags)
- end
- end.
-
--spec execute(glint(JII), list(binary())) -> {ok, out(JII)} |
- {error, snag:snag()}.
-execute(Glint, Args) ->
- Help_flag = help_flag(),
- {Help, Args@2} = case gleam@list:pop(Args, fun(S) -> S =:= Help_flag end) of
- {ok, {_, Args@1}} ->
- {true, Args@1};
-
- _ ->
- {false, Args}
- end,
- {Flags, Args@3} = gleam@list:partition(
- Args@2,
- fun(_capture) -> gleam@string:starts_with(_capture, <<"--"/utf8>>) end
- ),
- do_execute(
- erlang:element(3, Glint),
- erlang:element(2, Glint),
- erlang:element(4, Glint),
- Args@3,
- Flags,
- Help,
- []
- ).
-
--spec run_and_handle(glint(JJA), list(binary()), fun((JJA) -> any())) -> nil.
-run_and_handle(Glint, Args, Handle) ->
- case execute(Glint, Args) of
- {error, Err} ->
- _pipe = Err,
- _pipe@1 = snag:pretty_print(_pipe),
- gleam@io:println(_pipe@1);
-
- {ok, {help, Help}} ->
- gleam@io:println(Help);
-
- {ok, {out, Out}} ->
- Handle(Out),
- nil
- end.
-
--spec run(glint(any()), list(binary())) -> nil.
-run(Glint, Args) ->
- run_and_handle(Glint, Args, gleam@function:constant(nil)).
-
--spec add_command_from_stub(glint(JJN), stub(JJN)) -> glint(JJN).
-add_command_from_stub(Glint, Stub) ->
- add(
- Glint,
- erlang:element(2, Stub),
- begin
- _pipe = command(erlang:element(3, Stub)),
- _pipe@1 = flags(_pipe, erlang:element(4, Stub)),
- description(_pipe@1, erlang:element(5, Stub))
- end
- ).
diff --git a/aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint@flag.cache b/aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint@flag.cache
deleted file mode 100644
index 90aed37..0000000
--- a/aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint@flag.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint@flag.cache_meta b/aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint@flag.cache_meta
deleted file mode 100644
index be367e3..0000000
--- a/aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint@flag.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint@flag.erl b/aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint@flag.erl
deleted file mode 100644
index 634b37b..0000000
--- a/aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint@flag.erl
+++ /dev/null
@@ -1,523 +0,0 @@
--module(glint@flag).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([string/0, string_list/0, build/1, constraint/2, description/2, default/2, build_map/1, int/0, int_list/0, float/0, float_list/0, bool/0, flag_type_help/1, flags_help/1, update_flags/2, get_int_value/1, get_int/2, get_ints_value/1, get_ints/2, get_bool_value/1, get_bool/2, get_string_value/1, get_string/2, get_strings_value/1, get_strings/2, get_float_value/1, get_float/2, get_floats_value/1, get_floats/2]).
--export_type([value/0, flag_builder/1, internal/1, flag/0]).
-
--type value() :: {b, internal(boolean())} |
- {i, internal(integer())} |
- {li, internal(list(integer()))} |
- {f, internal(float())} |
- {lf, internal(list(float()))} |
- {s, internal(binary())} |
- {ls, internal(list(binary()))}.
-
--opaque flag_builder(IRX) :: {flag_builder,
- binary(),
- fun((binary()) -> {ok, IRX} | {error, snag:snag()}),
- fun((internal(IRX)) -> value()),
- gleam@option:option(IRX)}.
-
--opaque internal(IRY) :: {internal,
- gleam@option:option(IRY),
- fun((binary()) -> {ok, IRY} | {error, snag:snag()})}.
-
--type flag() :: {flag, value(), binary()}.
-
--spec new(
- fun((internal(ISP)) -> value()),
- fun((binary()) -> {ok, ISP} | {error, snag:snag()})
-) -> flag_builder(ISP).
-new(Valuer, P) ->
- {flag_builder, <<""/utf8>>, P, Valuer, none}.
-
--spec string() -> flag_builder(binary()).
-string() ->
- new(fun(Field@0) -> {s, Field@0} end, fun(S) -> {ok, S} end).
-
--spec string_list() -> flag_builder(list(binary())).
-string_list() ->
- new(fun(Field@0) -> {ls, Field@0} end, fun(Input) -> _pipe = Input,
- _pipe@1 = gleam@string:split(_pipe, <<","/utf8>>),
- {ok, _pipe@1} end).
-
--spec build(flag_builder(any())) -> flag().
-build(Fb) ->
- {flag,
- (erlang:element(4, Fb))(
- {internal, erlang:element(5, Fb), erlang:element(3, Fb)}
- ),
- erlang:element(2, Fb)}.
-
--spec attempt(
- {ok, ITG} | {error, ITH},
- fun((ITG) -> {ok, any()} | {error, ITH})
-) -> {ok, ITG} | {error, ITH}.
-attempt(Val, F) ->
- gleam@result:'try'(Val, fun(A) -> gleam@result:replace(F(A), A) end).
-
--spec wrap_with_constraint(
- fun((binary()) -> {ok, ITA} | {error, snag:snag()}),
- fun((ITA) -> {ok, nil} | {error, snag:snag()})
-) -> fun((binary()) -> {ok, ITA} | {error, snag:snag()}).
-wrap_with_constraint(P, Constraint) ->
- fun(Input) -> attempt(P(Input), Constraint) end.
-
--spec constraint(
- flag_builder(ISW),
- fun((ISW) -> {ok, nil} | {error, snag:snag()})
-) -> flag_builder(ISW).
-constraint(Builder, Constraint) ->
- erlang:setelement(
- 3,
- Builder,
- wrap_with_constraint(erlang:element(3, Builder), Constraint)
- ).
-
--spec description(flag_builder(ITP), binary()) -> flag_builder(ITP).
-description(Builder, Description) ->
- erlang:setelement(2, Builder, Description).
-
--spec default(flag_builder(ITS), ITS) -> flag_builder(ITS).
-default(Builder, Default) ->
- erlang:setelement(5, Builder, {some, Default}).
-
--spec build_map(list({binary(), flag()})) -> gleam@dict:dict(binary(), flag()).
-build_map(Flags) ->
- gleam@map:from_list(Flags).
-
--spec access_type_error(binary()) -> {ok, any()} | {error, snag:snag()}.
-access_type_error(Flag_type) ->
- snag:error(<<"cannot access flag as "/utf8, Flag_type/binary>>).
-
--spec flag_not_provided_error() -> {ok, any()} | {error, snag:snag()}.
-flag_not_provided_error() ->
- snag:error(<<"no value provided"/utf8>>).
-
--spec construct_value(binary(), internal(IUC), fun((internal(IUC)) -> value())) -> {ok,
- value()} |
- {error, snag:snag()}.
-construct_value(Input, Internal, Constructor) ->
- gleam@result:map(
- (erlang:element(3, Internal))(Input),
- fun(Val) -> Constructor(erlang:setelement(2, Internal, {some, Val})) end
- ).
-
--spec compute_flag(binary(), value()) -> {ok, value()} | {error, snag:snag()}.
-compute_flag(Input, Current) ->
- _pipe = Input,
- _pipe@1 = case Current of
- {i, Internal} ->
- fun(_capture) ->
- construct_value(
- _capture,
- Internal,
- fun(Field@0) -> {i, Field@0} end
- )
- end;
-
- {li, Internal@1} ->
- fun(_capture@1) ->
- construct_value(
- _capture@1,
- Internal@1,
- fun(Field@0) -> {li, Field@0} end
- )
- end;
-
- {f, Internal@2} ->
- fun(_capture@2) ->
- construct_value(
- _capture@2,
- Internal@2,
- fun(Field@0) -> {f, Field@0} end
- )
- end;
-
- {lf, Internal@3} ->
- fun(_capture@3) ->
- construct_value(
- _capture@3,
- Internal@3,
- fun(Field@0) -> {lf, Field@0} end
- )
- end;
-
- {s, Internal@4} ->
- fun(_capture@4) ->
- construct_value(
- _capture@4,
- Internal@4,
- fun(Field@0) -> {s, Field@0} end
- )
- end;
-
- {ls, Internal@5} ->
- fun(_capture@5) ->
- construct_value(
- _capture@5,
- Internal@5,
- fun(Field@0) -> {ls, Field@0} end
- )
- end;
-
- {b, Internal@6} ->
- fun(_capture@6) ->
- construct_value(
- _capture@6,
- Internal@6,
- fun(Field@0) -> {b, Field@0} end
- )
- end
- end(_pipe),
- snag:context(_pipe@1, <<"failed to compute value for flag"/utf8>>).
-
--spec layer_invalid_flag(snag:snag(), binary()) -> snag:snag().
-layer_invalid_flag(Err, Flag) ->
- snag:layer(Err, <<<<"invalid flag '"/utf8, Flag/binary>>/binary, "'"/utf8>>).
-
--spec no_value_flag_err(binary()) -> snag:snag().
-no_value_flag_err(Flag_input) ->
- _pipe = (<<<<"flag '"/utf8, Flag_input/binary>>/binary,
- "' has no assigned value"/utf8>>),
- _pipe@1 = snag:new(_pipe),
- layer_invalid_flag(_pipe@1, Flag_input).
-
--spec undefined_flag_err(binary()) -> snag:snag().
-undefined_flag_err(Key) ->
- _pipe = <<"flag provided but not defined"/utf8>>,
- _pipe@1 = snag:new(_pipe),
- layer_invalid_flag(_pipe@1, Key).
-
--spec cannot_parse(binary(), binary()) -> snag:snag().
-cannot_parse(Value, Kind) ->
- _pipe = (<<<<<<"cannot parse value '"/utf8, Value/binary>>/binary,
- "' as "/utf8>>/binary,
- Kind/binary>>),
- snag:new(_pipe).
-
--spec int() -> flag_builder(integer()).
-int() ->
- new(fun(Field@0) -> {i, Field@0} end, fun(Input) -> _pipe = Input,
- _pipe@1 = gleam@int:parse(_pipe),
- gleam@result:replace_error(
- _pipe@1,
- cannot_parse(Input, <<"int"/utf8>>)
- ) end).
-
--spec int_list() -> flag_builder(list(integer())).
-int_list() ->
- new(fun(Field@0) -> {li, Field@0} end, fun(Input) -> _pipe = Input,
- _pipe@1 = gleam@string:split(_pipe, <<","/utf8>>),
- _pipe@2 = gleam@list:try_map(_pipe@1, fun gleam@int:parse/1),
- gleam@result:replace_error(
- _pipe@2,
- cannot_parse(Input, <<"int list"/utf8>>)
- ) end).
-
--spec float() -> flag_builder(float()).
-float() ->
- new(fun(Field@0) -> {f, Field@0} end, fun(Input) -> _pipe = Input,
- _pipe@1 = gleam@float:parse(_pipe),
- gleam@result:replace_error(
- _pipe@1,
- cannot_parse(Input, <<"float"/utf8>>)
- ) end).
-
--spec float_list() -> flag_builder(list(float())).
-float_list() ->
- new(fun(Field@0) -> {lf, Field@0} end, fun(Input) -> _pipe = Input,
- _pipe@1 = gleam@string:split(_pipe, <<","/utf8>>),
- _pipe@2 = gleam@list:try_map(_pipe@1, fun gleam@float:parse/1),
- gleam@result:replace_error(
- _pipe@2,
- cannot_parse(Input, <<"float list"/utf8>>)
- ) end).
-
--spec bool() -> flag_builder(boolean()).
-bool() ->
- new(
- fun(Field@0) -> {b, Field@0} end,
- fun(Input) -> case gleam@string:lowercase(Input) of
- <<"true"/utf8>> ->
- {ok, true};
-
- <<"t"/utf8>> ->
- {ok, true};
-
- <<"false"/utf8>> ->
- {ok, false};
-
- <<"f"/utf8>> ->
- {ok, false};
-
- _ ->
- {error, cannot_parse(Input, <<"bool"/utf8>>)}
- end end
- ).
-
--spec flag_type_help({binary(), flag()}) -> binary().
-flag_type_help(Flag) ->
- {Name, Contents} = Flag,
- Kind = case erlang:element(2, Contents) of
- {i, _} ->
- <<"INT"/utf8>>;
-
- {b, _} ->
- <<"BOOL"/utf8>>;
-
- {f, _} ->
- <<"FLOAT"/utf8>>;
-
- {lf, _} ->
- <<"FLOAT_LIST"/utf8>>;
-
- {li, _} ->
- <<"INT_LIST"/utf8>>;
-
- {ls, _} ->
- <<"STRING_LIST"/utf8>>;
-
- {s, _} ->
- <<"STRING"/utf8>>
- end,
- <<<<<<<<<<"--"/utf8, Name/binary>>/binary, "="/utf8>>/binary, "<"/utf8>>/binary,
- Kind/binary>>/binary,
- ">"/utf8>>.
-
--spec flag_help({binary(), flag()}) -> binary().
-flag_help(Flag) ->
- <<<<(flag_type_help(Flag))/binary, "\t\t"/utf8>>/binary,
- (erlang:element(3, (erlang:element(2, Flag))))/binary>>.
-
--spec flags_help(gleam@dict:dict(binary(), flag())) -> list(binary()).
-flags_help(Flags) ->
- _pipe = Flags,
- _pipe@1 = gleam@map:to_list(_pipe),
- gleam@list:map(_pipe@1, fun flag_help/1).
-
--spec access(gleam@dict:dict(binary(), flag()), binary()) -> {ok, flag()} |
- {error, snag:snag()}.
-access(Flags, Name) ->
- _pipe = gleam@map:get(Flags, Name),
- gleam@result:replace_error(_pipe, undefined_flag_err(Name)).
-
--spec update_flag_value(gleam@dict:dict(binary(), flag()), {binary(), binary()}) -> {ok,
- gleam@dict:dict(binary(), flag())} |
- {error, snag:snag()}.
-update_flag_value(Flags, Data) ->
- {Key, Input} = Data,
- gleam@result:'try'(
- access(Flags, Key),
- fun(Contents) ->
- gleam@result:map(
- begin
- _pipe = compute_flag(Input, erlang:element(2, Contents)),
- gleam@result:map_error(
- _pipe,
- fun(_capture) -> layer_invalid_flag(_capture, Key) end
- )
- end,
- fun(Value) ->
- gleam@map:insert(
- Flags,
- Key,
- erlang:setelement(2, Contents, Value)
- )
- end
- )
- end
- ).
-
--spec attempt_toggle_flag(gleam@dict:dict(binary(), flag()), binary()) -> {ok,
- gleam@dict:dict(binary(), flag())} |
- {error, snag:snag()}.
-attempt_toggle_flag(Flags, Key) ->
- gleam@result:'try'(
- access(Flags, Key),
- fun(Contents) -> case erlang:element(2, Contents) of
- {b, {internal, none, _} = Internal} ->
- _pipe = erlang:setelement(2, Internal, {some, true}),
- _pipe@1 = {b, _pipe},
- _pipe@2 = (fun(Val) ->
- erlang:setelement(2, Contents, Val)
- end)(_pipe@1),
- _pipe@3 = gleam@map:insert(Flags, Key, _pipe@2),
- {ok, _pipe@3};
-
- {b, {internal, {some, Val@1}, _} = Internal@1} ->
- _pipe@4 = erlang:setelement(
- 2,
- Internal@1,
- {some, not Val@1}
- ),
- _pipe@5 = {b, _pipe@4},
- _pipe@6 = (fun(Val@2) ->
- erlang:setelement(2, Contents, Val@2)
- end)(_pipe@5),
- _pipe@7 = gleam@map:insert(Flags, Key, _pipe@6),
- {ok, _pipe@7};
-
- _ ->
- {error, no_value_flag_err(Key)}
- end end
- ).
-
--spec update_flags(gleam@dict:dict(binary(), flag()), binary()) -> {ok,
- gleam@dict:dict(binary(), flag())} |
- {error, snag:snag()}.
-update_flags(Flags, Flag_input) ->
- Flag_input@1 = gleam@string:drop_left(
- Flag_input,
- gleam@string:length(<<"--"/utf8>>)
- ),
- case gleam@string:split_once(Flag_input@1, <<"="/utf8>>) of
- {ok, Data} ->
- update_flag_value(Flags, Data);
-
- {error, _} ->
- attempt_toggle_flag(Flags, Flag_input@1)
- end.
-
--spec get_value(
- gleam@dict:dict(binary(), flag()),
- binary(),
- fun((flag()) -> {ok, IUK} | {error, snag:snag()})
-) -> {ok, IUK} | {error, snag:snag()}.
-get_value(Flags, Key, Kind) ->
- _pipe = access(Flags, Key),
- _pipe@1 = gleam@result:'try'(_pipe, Kind),
- snag:context(
- _pipe@1,
- <<<<"failed to retrieve value for flag '"/utf8, Key/binary>>/binary,
- "'"/utf8>>
- ).
-
--spec get_int_value(flag()) -> {ok, integer()} | {error, snag:snag()}.
-get_int_value(Flag) ->
- case erlang:element(2, Flag) of
- {i, {internal, {some, Val}, _}} ->
- {ok, Val};
-
- {i, {internal, none, _}} ->
- flag_not_provided_error();
-
- _ ->
- access_type_error(<<"int"/utf8>>)
- end.
-
--spec get_int(gleam@dict:dict(binary(), flag()), binary()) -> {ok, integer()} |
- {error, snag:snag()}.
-get_int(Flags, Name) ->
- get_value(Flags, Name, fun get_int_value/1).
-
--spec get_ints_value(flag()) -> {ok, list(integer())} | {error, snag:snag()}.
-get_ints_value(Flag) ->
- case erlang:element(2, Flag) of
- {li, {internal, {some, Val}, _}} ->
- {ok, Val};
-
- {li, {internal, none, _}} ->
- flag_not_provided_error();
-
- _ ->
- access_type_error(<<"int list"/utf8>>)
- end.
-
--spec get_ints(gleam@dict:dict(binary(), flag()), binary()) -> {ok,
- list(integer())} |
- {error, snag:snag()}.
-get_ints(Flags, Name) ->
- get_value(Flags, Name, fun get_ints_value/1).
-
--spec get_bool_value(flag()) -> {ok, boolean()} | {error, snag:snag()}.
-get_bool_value(Flag) ->
- case erlang:element(2, Flag) of
- {b, {internal, {some, Val}, _}} ->
- {ok, Val};
-
- {b, {internal, none, _}} ->
- flag_not_provided_error();
-
- _ ->
- access_type_error(<<"bool"/utf8>>)
- end.
-
--spec get_bool(gleam@dict:dict(binary(), flag()), binary()) -> {ok, boolean()} |
- {error, snag:snag()}.
-get_bool(Flags, Name) ->
- get_value(Flags, Name, fun get_bool_value/1).
-
--spec get_string_value(flag()) -> {ok, binary()} | {error, snag:snag()}.
-get_string_value(Flag) ->
- case erlang:element(2, Flag) of
- {s, {internal, {some, Val}, _}} ->
- {ok, Val};
-
- {s, {internal, none, _}} ->
- flag_not_provided_error();
-
- _ ->
- access_type_error(<<"string"/utf8>>)
- end.
-
--spec get_string(gleam@dict:dict(binary(), flag()), binary()) -> {ok, binary()} |
- {error, snag:snag()}.
-get_string(Flags, Name) ->
- get_value(Flags, Name, fun get_string_value/1).
-
--spec get_strings_value(flag()) -> {ok, list(binary())} | {error, snag:snag()}.
-get_strings_value(Flag) ->
- case erlang:element(2, Flag) of
- {ls, {internal, {some, Val}, _}} ->
- {ok, Val};
-
- {ls, {internal, none, _}} ->
- flag_not_provided_error();
-
- _ ->
- access_type_error(<<"string list"/utf8>>)
- end.
-
--spec get_strings(gleam@dict:dict(binary(), flag()), binary()) -> {ok,
- list(binary())} |
- {error, snag:snag()}.
-get_strings(Flags, Name) ->
- get_value(Flags, Name, fun get_strings_value/1).
-
--spec get_float_value(flag()) -> {ok, float()} | {error, snag:snag()}.
-get_float_value(Flag) ->
- case erlang:element(2, Flag) of
- {f, {internal, {some, Val}, _}} ->
- {ok, Val};
-
- {f, {internal, none, _}} ->
- flag_not_provided_error();
-
- _ ->
- access_type_error(<<"float"/utf8>>)
- end.
-
--spec get_float(gleam@dict:dict(binary(), flag()), binary()) -> {ok, float()} |
- {error, snag:snag()}.
-get_float(Flags, Name) ->
- get_value(Flags, Name, fun get_float_value/1).
-
--spec get_floats_value(flag()) -> {ok, list(float())} | {error, snag:snag()}.
-get_floats_value(Flag) ->
- case erlang:element(2, Flag) of
- {lf, {internal, {some, Val}, _}} ->
- {ok, Val};
-
- {lf, {internal, none, _}} ->
- flag_not_provided_error();
-
- _ ->
- access_type_error(<<"float list"/utf8>>)
- end.
-
--spec get_floats(gleam@dict:dict(binary(), flag()), binary()) -> {ok,
- list(float())} |
- {error, snag:snag()}.
-get_floats(Flags, Name) ->
- get_value(Flags, Name, fun get_floats_value/1).
diff --git a/aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint@flag@constraint.cache b/aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint@flag@constraint.cache
deleted file mode 100644
index 6881dda..0000000
--- a/aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint@flag@constraint.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint@flag@constraint.cache_meta b/aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint@flag@constraint.cache_meta
deleted file mode 100644
index 355567d..0000000
--- a/aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint@flag@constraint.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint@flag@constraint.erl b/aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint@flag@constraint.erl
deleted file mode 100644
index 52eb319..0000000
--- a/aoc2023/build/dev/erlang/glint/_gleam_artefacts/glint@flag@constraint.erl
+++ /dev/null
@@ -1,68 +0,0 @@
--module(glint@flag@constraint).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([one_of/1, none_of/1, each/1]).
-
--spec one_of(list(IQG)) -> fun((IQG) -> {ok, nil} | {error, snag:snag()}).
-one_of(Allowed) ->
- Allowed_set = gleam@set:from_list(Allowed),
- fun(Val) -> case gleam@set:contains(Allowed_set, Val) of
- true ->
- {ok, nil};
-
- false ->
- snag:error(
- <<<<<<"invalid value '"/utf8,
- (gleam@string:inspect(Val))/binary>>/binary,
- "', must be one of: ["/utf8>>/binary,
- ((<<(begin
- _pipe = Allowed,
- _pipe@1 = gleam@list:map(
- _pipe,
- fun(A) ->
- <<<<"'"/utf8,
- (gleam@string:inspect(A))/binary>>/binary,
- "'"/utf8>>
- end
- ),
- gleam@string:join(_pipe@1, <<", "/utf8>>)
- end)/binary,
- "]"/utf8>>))/binary>>
- )
- end end.
-
--spec none_of(list(IQJ)) -> fun((IQJ) -> {ok, nil} | {error, snag:snag()}).
-none_of(Disallowed) ->
- Disallowed_set = gleam@set:from_list(Disallowed),
- fun(Val) -> case gleam@set:contains(Disallowed_set, Val) of
- false ->
- {ok, nil};
-
- true ->
- snag:error(
- <<<<<<"invalid value '"/utf8,
- (gleam@string:inspect(Val))/binary>>/binary,
- "', must not be one of: ["/utf8>>/binary,
- (((<<(begin
- _pipe = Disallowed,
- _pipe@1 = gleam@list:map(
- _pipe,
- fun(A) ->
- <<<<"'"/utf8,
- (gleam@string:inspect(A))/binary>>/binary,
- "'"/utf8>>
- end
- ),
- gleam@string:join(_pipe@1, <<", "/utf8>>)
- end)/binary,
- "]"/utf8>>)))/binary>>
- )
- end end.
-
--spec each(fun((IQM) -> {ok, nil} | {error, snag:snag()})) -> fun((list(IQM)) -> {ok,
- nil} |
- {error, snag:snag()}).
-each(Constraint) ->
- fun(L) -> _pipe = L,
- _pipe@1 = gleam@list:try_map(_pipe, Constraint),
- gleam@result:replace(_pipe@1, nil) end.
diff --git a/aoc2023/build/dev/erlang/glint/ebin/glint.app b/aoc2023/build/dev/erlang/glint/ebin/glint.app
deleted file mode 100644
index 41fba79..0000000
--- a/aoc2023/build/dev/erlang/glint/ebin/glint.app
+++ /dev/null
@@ -1,10 +0,0 @@
-{application, glint, [
- {vsn, "0.13.0"},
- {applications, [gleam_community_ansi,
- gleam_community_colour,
- gleam_stdlib,
- snag]},
- {description, "Gleam command line argument parsing with basic flag support."},
- {modules, []},
- {registered, []}
-]}.
diff --git a/aoc2023/build/dev/erlang/glint/ebin/glint.beam b/aoc2023/build/dev/erlang/glint/ebin/glint.beam
deleted file mode 100644
index 39b9ce7..0000000
--- a/aoc2023/build/dev/erlang/glint/ebin/glint.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/glint/ebin/glint@flag.beam b/aoc2023/build/dev/erlang/glint/ebin/glint@flag.beam
deleted file mode 100644
index 14b7dec..0000000
--- a/aoc2023/build/dev/erlang/glint/ebin/glint@flag.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/glint/ebin/glint@flag@constraint.beam b/aoc2023/build/dev/erlang/glint/ebin/glint@flag@constraint.beam
deleted file mode 100644
index 1d36d10..0000000
--- a/aoc2023/build/dev/erlang/glint/ebin/glint@flag@constraint.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/glint/include/glint@flag_Flag.hrl b/aoc2023/build/dev/erlang/glint/include/glint@flag_Flag.hrl
deleted file mode 100644
index 645cb12..0000000
--- a/aoc2023/build/dev/erlang/glint/include/glint@flag_Flag.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(flag, {value :: glint@flag:value(), description :: binary()}).
diff --git a/aoc2023/build/dev/erlang/glint/include/glint@flag_FlagBuilder.hrl b/aoc2023/build/dev/erlang/glint/include/glint@flag_FlagBuilder.hrl
deleted file mode 100644
index b5e21a2..0000000
--- a/aoc2023/build/dev/erlang/glint/include/glint@flag_FlagBuilder.hrl
+++ /dev/null
@@ -1,6 +0,0 @@
--record(flag_builder, {
- desc :: binary(),
- parser :: fun((binary()) -> {ok, any()} | {error, snag:snag()}),
- value :: fun((glint@flag:internal(any())) -> glint@flag:value()),
- default :: gleam@option:option(any())
-}).
diff --git a/aoc2023/build/dev/erlang/glint/include/glint@flag_Internal.hrl b/aoc2023/build/dev/erlang/glint/include/glint@flag_Internal.hrl
deleted file mode 100644
index 281bbd0..0000000
--- a/aoc2023/build/dev/erlang/glint/include/glint@flag_Internal.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(internal, {
- value :: gleam@option:option(any()),
- parser :: fun((binary()) -> {ok, any()} | {error, snag:snag()})
-}).
diff --git a/aoc2023/build/dev/erlang/glint/include/glint_Command.hrl b/aoc2023/build/dev/erlang/glint/include/glint_Command.hrl
deleted file mode 100644
index 2761365..0000000
--- a/aoc2023/build/dev/erlang/glint/include/glint_Command.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(command, {
- do :: fun((glint:command_input()) -> any()),
- flags :: gleam@dict:dict(binary(), glint@flag:flag()),
- description :: binary()
-}).
diff --git a/aoc2023/build/dev/erlang/glint/include/glint_CommandInput.hrl b/aoc2023/build/dev/erlang/glint/include/glint_CommandInput.hrl
deleted file mode 100644
index e0e1a81..0000000
--- a/aoc2023/build/dev/erlang/glint/include/glint_CommandInput.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(command_input, {
- args :: list(binary()),
- flags :: gleam@dict:dict(binary(), glint@flag:flag())
-}).
diff --git a/aoc2023/build/dev/erlang/glint/include/glint_Config.hrl b/aoc2023/build/dev/erlang/glint/include/glint_Config.hrl
deleted file mode 100644
index 70cf645..0000000
--- a/aoc2023/build/dev/erlang/glint/include/glint_Config.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(config, {
- pretty_help :: gleam@option:option(glint:pretty_help()),
- name :: gleam@option:option(binary())
-}).
diff --git a/aoc2023/build/dev/erlang/glint/include/glint_Glint.hrl b/aoc2023/build/dev/erlang/glint/include/glint_Glint.hrl
deleted file mode 100644
index f14c34c..0000000
--- a/aoc2023/build/dev/erlang/glint/include/glint_Glint.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(glint, {
- config :: glint:config(),
- cmd :: glint:command_node(any()),
- global_flags :: gleam@dict:dict(binary(), glint@flag:flag())
-}).
diff --git a/aoc2023/build/dev/erlang/glint/include/glint_PrettyHelp.hrl b/aoc2023/build/dev/erlang/glint/include/glint_PrettyHelp.hrl
deleted file mode 100644
index 79bd887..0000000
--- a/aoc2023/build/dev/erlang/glint/include/glint_PrettyHelp.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(pretty_help, {
- usage :: gleam_community@colour:colour(),
- flags :: gleam_community@colour:colour(),
- subcommands :: gleam_community@colour:colour()
-}).
diff --git a/aoc2023/build/dev/erlang/glint/include/glint_Stub.hrl b/aoc2023/build/dev/erlang/glint/include/glint_Stub.hrl
deleted file mode 100644
index 5aa5d83..0000000
--- a/aoc2023/build/dev/erlang/glint/include/glint_Stub.hrl
+++ /dev/null
@@ -1,6 +0,0 @@
--record(stub, {
- path :: list(binary()),
- run :: fun((glint:command_input()) -> any()),
- flags :: list({binary(), glint@flag:flag()}),
- description :: binary()
-}).
diff --git a/aoc2023/build/dev/erlang/pqueue/LICENSE b/aoc2023/build/dev/erlang/pqueue/LICENSE
deleted file mode 100644
index 5697803..0000000
--- a/aoc2023/build/dev/erlang/pqueue/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2011-2023 Michael Truog <mjtruog at protonmail dot com>
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the "Software"),
-to deal in the Software without restriction, including without limitation
-the rights to use, copy, modify, merge, publish, distribute, sublicense,
-and/or sell copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
diff --git a/aoc2023/build/dev/erlang/pqueue/README.markdown b/aoc2023/build/dev/erlang/pqueue/README.markdown
deleted file mode 100644
index 77aaf1c..0000000
--- a/aoc2023/build/dev/erlang/pqueue/README.markdown
+++ /dev/null
@@ -1,31 +0,0 @@
-Erlang Priority Queue Implementation
-====================================
-
-The priority queue implementations implement a subset of the stdlib Erlang queue interface as seen in the implementation used by both [Riak and RabbitMQ](https://github.com/basho/riak_core/blob/master/src/riak_core_priority_queue.erl).
-
-The implementations:
-
-* `priority_queue` (fastest for any priorities when only using a single priority at a time)
-* `pqueue` (fastest for 41 priorities, -20 (high) to 20 (low), when using 2 or more priorities at the same time)
-* `pqueue2` (slower heap implementation)
-* `pqueue3` (faster than `pqueue2` and `priority_queue` when using 64 or more priorities at the same time)
-* `pqueue4` (slightly slower than `pqueue` but fastest for allowing 257 priorities, -128 (high) to 128 (low), i.e., fastest when using 42 or more priorities at the same time)
-
-[The latest results are here](http://okeuday.livejournal.com/19539.html), with [the benchmark here](http://github.com/okeuday/erlbench).
-
-Author
-------
-
-Michael Truog (mjtruog at protonmail dot com)
-
-Thanks
-------
-
-* Jesper Louis andersen (PropEr integration and testing)
-* Ulf Wiger (suggestions and insight)
-
-License
--------
-
-MIT License
-
diff --git a/aoc2023/build/dev/erlang/pqueue/_build/prod/lib/.rebar3/rebar_compiler_erl/source.dag b/aoc2023/build/dev/erlang/pqueue/_build/prod/lib/.rebar3/rebar_compiler_erl/source.dag
deleted file mode 100644
index fe3f9f8..0000000
--- a/aoc2023/build/dev/erlang/pqueue/_build/prod/lib/.rebar3/rebar_compiler_erl/source.dag
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/pqueue/doc/edoc-info b/aoc2023/build/dev/erlang/pqueue/doc/edoc-info
deleted file mode 100644
index 5e5a8d3..0000000
--- a/aoc2023/build/dev/erlang/pqueue/doc/edoc-info
+++ /dev/null
@@ -1,3 +0,0 @@
-%% encoding: UTF-8
-{application,pqueue}.
-{modules,[pqueue,pqueue2,pqueue3,pqueue4]}.
diff --git a/aoc2023/build/dev/erlang/pqueue/doc/erlang.png b/aoc2023/build/dev/erlang/pqueue/doc/erlang.png
deleted file mode 100644
index 987a618..0000000
--- a/aoc2023/build/dev/erlang/pqueue/doc/erlang.png
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/pqueue/doc/index.html b/aoc2023/build/dev/erlang/pqueue/doc/index.html
deleted file mode 100644
index d55b5e6..0000000
--- a/aoc2023/build/dev/erlang/pqueue/doc/index.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<title>The pqueue application</title>
-</head>
-<frameset cols="20%,80%">
-<frame src="modules-frame.html" name="modulesFrame" title="">
-
-<frame src="overview-summary.html" name="overviewFrame" title="">
-<noframes>
-<h2>This page uses frames</h2>
-<p>Your browser does not accept frames.
-<br>You should go to the <a href="overview-summary.html">non-frame version</a> instead.
-</p>
-</noframes>
-</frameset>
-</html> \ No newline at end of file
diff --git a/aoc2023/build/dev/erlang/pqueue/doc/modules-frame.html b/aoc2023/build/dev/erlang/pqueue/doc/modules-frame.html
deleted file mode 100644
index 5a87cc4..0000000
--- a/aoc2023/build/dev/erlang/pqueue/doc/modules-frame.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<title>The pqueue application</title>
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
-</head>
-<body bgcolor="white">
-<h2 class="indextitle">Modules</h2>
-<table width="100%" border="0" summary="list of modules">
-<tr><td><a href="pqueue.html" target="overviewFrame" class="module">pqueue</a></td></tr>
-<tr><td><a href="pqueue2.html" target="overviewFrame" class="module">pqueue2</a></td></tr>
-<tr><td><a href="pqueue3.html" target="overviewFrame" class="module">pqueue3</a></td></tr>
-<tr><td><a href="pqueue4.html" target="overviewFrame" class="module">pqueue4</a></td></tr></table>
-</body>
-</html> \ No newline at end of file
diff --git a/aoc2023/build/dev/erlang/pqueue/doc/overview-summary.html b/aoc2023/build/dev/erlang/pqueue/doc/overview-summary.html
deleted file mode 100644
index e2f8906..0000000
--- a/aoc2023/build/dev/erlang/pqueue/doc/overview-summary.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>The pqueue application</title>
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
-</head>
-<body bgcolor="white">
-<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
-<h1>The pqueue application</h1>
-
-<hr>
-<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
-<p><i>Generated by EDoc</i></p>
-</body>
-</html>
diff --git a/aoc2023/build/dev/erlang/pqueue/doc/pqueue.html b/aoc2023/build/dev/erlang/pqueue/doc/pqueue.html
deleted file mode 100644
index 40b05ac..0000000
--- a/aoc2023/build/dev/erlang/pqueue/doc/pqueue.html
+++ /dev/null
@@ -1,166 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Module pqueue</title>
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
-</head>
-<body bgcolor="white">
-<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
-<hr>
-
-<h1>Module pqueue</h1>
-<ul class="index"><li><a href="#description">Description</a></li><li><a href="#types">Data Types</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>
- <h3><a name="Static_Priority_Queue.">Static Priority Queue.</a></h3>
- This priority queue implementation depends on a static number of priorities
- (-20 (high) to 20 (low)) so that tuple access times can be exploited for
- quick in/out priority queue operations.
-<p>Copyright © 2011-2020 Michael Truog</p>
-
-<p><b>Version:</b> 2.0.1 Nov 26 2020 14:55:34
- ------------------------------------------------------------------------</p>
-<p><b>Authors:</b> Michael Truog (<a href="mailto:mjtruog at protonmail dot com"><tt>mjtruog at protonmail dot com</tt></a>).</p>
-
-<h2><a name="description">Description</a></h2>
- <h3><a name="Static_Priority_Queue.">Static Priority Queue.</a></h3>
- This priority queue implementation depends on a static number of priorities
- (-20 (high) to 20 (low)) so that tuple access times can be exploited for
- quick in/out priority queue operations. This implementation was created to
- avoid the slowness within the priority queue used by both RabbitMQ and Riak
- (https://github.com/basho/riak_core/blob/master/src/priority_queue.erl).
-<h2><a name="types">Data Types</a></h2>
-
-<h3 class="typedecl"><a name="type-pqueue">pqueue()</a></h3>
-<p><tt>pqueue() = {integer(), {<a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>}, {<a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>}, {<a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>}, <a href="queue.html#type-queue">queue:queue()</a>, {<a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>}, {<a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>}, {<a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>}} | {empty, {<a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>}, {<a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>}, {<a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>}, <a href="queue.html#type-queue">queue:queue()</a>, {<a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>}, {<a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>}, {<a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>}}</tt></p>
-
-
-<h2><a name="index">Function Index</a></h2>
-<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#in-2">in/2</a></td><td>
- <h4><a name="Append_an_item_to_the_tail_of_the_0_priority_queue.">Append an item to the tail of the 0 priority queue.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#in-3">in/3</a></td><td>
- <h4><a name="Append_an_item_to_the_tail_of_a_specific_priority_queue.">Append an item to the tail of a specific priority queue.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#is_empty-1">is_empty/1</a></td><td>
- <h4><a name="Check_if_the_priority_queue_is_empty.">Check if the priority queue is empty.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#is_queue-1">is_queue/1</a></td><td>
- <h4><a name="Check_if_the_priority_queue_type_is_as_expected.">Check if the priority queue type is as expected.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#join-2">join/2</a></td><td>
- <h4><a name="Join_two_priority_queues.">Join two priority queues.</a></h4>
- O(N).</td></tr>
-<tr><td valign="top"><a href="#len-1">len/1</a></td><td>
- <h4><a name="Determine_the_length_of_a_priority_queue.">Determine the length of a priority queue.</a></h4>
- O(N).</td></tr>
-<tr><td valign="top"><a href="#new-0">new/0</a></td><td>
- <h4><a name="Create_a_new_priority_queue.">Create a new priority queue.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#out-1">out/1</a></td><td>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
- O(1) amortized, O(N) worst case.</td></tr>
-<tr><td valign="top"><a href="#out-2">out/2</a></td><td>
- <h4><a name="Take_an_item_of_a_specific_priority_from_the_head_of_the_queue.">Take an item of a specific priority from the head of the queue.</a></h4>
- O(1) amortized, O(N) worst case.</td></tr>
-<tr><td valign="top"><a href="#pout-1">pout/1</a></td><td>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
- Includes the priority in the return value.</td></tr>
-<tr><td valign="top"><a href="#test-0">test/0</a></td><td>
- <h4><a name="Regression_test.">Regression test.</a></h4>.</td></tr>
-<tr><td valign="top"><a href="#to_list-1">to_list/1</a></td><td>
- <h4><a name="Convert_the_priority_queue_to_a_list.">Convert the priority queue to a list.</a></h4>
- O(N).</td></tr>
-</table>
-
-<h2><a name="functions">Function Details</a></h2>
-
-<h3 class="function"><a name="in-2">in/2</a></h3>
-<div class="spec">
-<p><tt>in(X::term(), Q::<a href="#type-pqueue">pqueue()</a>) -&gt; <a href="#type-pqueue">pqueue()</a></tt><br></p>
-</div><p>
- <h4><a name="Append_an_item_to_the_tail_of_the_0_priority_queue.">Append an item to the tail of the 0 priority queue.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="in-3">in/3</a></h3>
-<div class="spec">
-<p><tt>in(X::term(), P::integer(), Q::<a href="#type-pqueue">pqueue()</a>) -&gt; <a href="#type-pqueue">pqueue()</a></tt><br></p>
-</div><p>
- <h4><a name="Append_an_item_to_the_tail_of_a_specific_priority_queue.">Append an item to the tail of a specific priority queue.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="is_empty-1">is_empty/1</a></h3>
-<div class="spec">
-<p><tt>is_empty(X1::<a href="#type-pqueue">pqueue()</a>) -&gt; true | false</tt><br></p>
-</div><p>
- <h4><a name="Check_if_the_priority_queue_is_empty.">Check if the priority queue is empty.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="is_queue-1">is_queue/1</a></h3>
-<div class="spec">
-<p><tt>is_queue(X1::<a href="#type-pqueue">pqueue()</a>) -&gt; true | false</tt><br></p>
-</div><p>
- <h4><a name="Check_if_the_priority_queue_type_is_as_expected.">Check if the priority queue type is as expected.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="join-2">join/2</a></h3>
-<div class="spec">
-<p><tt>join(X1::<a href="#type-pqueue">pqueue()</a>, X2::<a href="#type-pqueue">pqueue()</a>) -&gt; <a href="#type-pqueue">pqueue()</a></tt><br></p>
-</div><p>
- <h4><a name="Join_two_priority_queues.">Join two priority queues.</a></h4>
- O(N)</p>
-
-<h3 class="function"><a name="len-1">len/1</a></h3>
-<div class="spec">
-<p><tt>len(X1::<a href="#type-pqueue">pqueue()</a>) -&gt; non_neg_integer()</tt><br></p>
-</div><p>
- <h4><a name="Determine_the_length_of_a_priority_queue.">Determine the length of a priority queue.</a></h4>
- O(N)</p>
-
-<h3 class="function"><a name="new-0">new/0</a></h3>
-<div class="spec">
-<p><tt>new() -&gt; <a href="#type-pqueue">pqueue()</a></tt><br></p>
-</div><p>
- <h4><a name="Create_a_new_priority_queue.">Create a new priority queue.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="out-1">out/1</a></h3>
-<div class="spec">
-<p><tt>out(Q::<a href="#type-pqueue">pqueue()</a>) -&gt; {{value, term()}, <a href="#type-pqueue">pqueue()</a>} | {empty, <a href="#type-pqueue">pqueue()</a>}</tt><br></p>
-</div><p>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
- O(1) amortized, O(N) worst case</p>
-
-<h3 class="function"><a name="out-2">out/2</a></h3>
-<div class="spec">
-<p><tt>out(P::integer(), Q::<a href="#type-pqueue">pqueue()</a>) -&gt; {{value, term()}, <a href="#type-pqueue">pqueue()</a>} | {empty, <a href="#type-pqueue">pqueue()</a>}</tt><br></p>
-</div><p>
- <h4><a name="Take_an_item_of_a_specific_priority_from_the_head_of_the_queue.">Take an item of a specific priority from the head of the queue.</a></h4>
- O(1) amortized, O(N) worst case</p>
-
-<h3 class="function"><a name="pout-1">pout/1</a></h3>
-<div class="spec">
-<p><tt>pout(Q::<a href="#type-pqueue">pqueue()</a>) -&gt; {{value, term(), integer()}, <a href="#type-pqueue">pqueue()</a>} | {empty, <a href="#type-pqueue">pqueue()</a>}</tt><br></p>
-</div><p>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
- Includes the priority in the return value.
- O(1) amortized, O(N) worst case</p>
-
-<h3 class="function"><a name="test-0">test/0</a></h3>
-<div class="spec">
-<p><tt>test() -&gt; any()</tt></p>
-</div><p>
- <h4><a name="Regression_test.">Regression test.</a></h4>
-</p>
-
-<h3 class="function"><a name="to_list-1">to_list/1</a></h3>
-<div class="spec">
-<p><tt>to_list(X1::<a href="#type-pqueue">pqueue()</a>) -&gt; [term()]</tt><br></p>
-</div><p>
- <h4><a name="Convert_the_priority_queue_to_a_list.">Convert the priority queue to a list.</a></h4>
- O(N)</p>
-<hr>
-
-<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
-<p><i>Generated by EDoc</i></p>
-</body>
-</html>
diff --git a/aoc2023/build/dev/erlang/pqueue/doc/pqueue2.html b/aoc2023/build/dev/erlang/pqueue/doc/pqueue2.html
deleted file mode 100644
index 2942b84..0000000
--- a/aoc2023/build/dev/erlang/pqueue/doc/pqueue2.html
+++ /dev/null
@@ -1,143 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Module pqueue2</title>
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
-</head>
-<body bgcolor="white">
-<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
-<hr>
-
-<h1>Module pqueue2</h1>
-<ul class="index"><li><a href="#description">Description</a></li><li><a href="#types">Data Types</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>
- <h3><a name="Skew_Heap_Priority_Queue.">Skew Heap Priority Queue.</a></h3>
- Ulf Wiger suggested pursuing a skew heap as an optimal Erlang priority
- queue implementation.
-<p>Copyright © 2011-2020 Michael Truog</p>
-
-<p><b>Version:</b> 2.0.1 Nov 26 2020 14:55:32
- ------------------------------------------------------------------------</p>
-<p><b>Authors:</b> Michael Truog (<a href="mailto:mjtruog at protonmail dot com"><tt>mjtruog at protonmail dot com</tt></a>).</p>
-
-<h2><a name="description">Description</a></h2>
- <h3><a name="Skew_Heap_Priority_Queue.">Skew Heap Priority Queue.</a></h3>
- Ulf Wiger suggested pursuing a skew heap as an optimal Erlang priority
- queue implementation. Unfortunately, testing has shown this solution to
- be more than 2 times slower than pqueue.
-<h2><a name="types">Data Types</a></h2>
-
-<h3 class="typedecl"><a name="type-pqueue2">pqueue2()</a></h3>
-<p><tt>pqueue2() = empty | {integer(), <a href="#type-pqueue2">pqueue2()</a>, <a href="#type-pqueue2">pqueue2()</a>, element, term()} | {integer(), <a href="#type-pqueue2">pqueue2()</a>, <a href="#type-pqueue2">pqueue2()</a>, queue, <a href="queue.html#type-queue">queue:queue()</a>}</tt></p>
-
-
-<h2><a name="index">Function Index</a></h2>
-<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#in-2">in/2</a></td><td>
- <h4><a name="Append_an_item_to_the_tail_of_the_0_priority_queue.">Append an item to the tail of the 0 priority queue.</a></h4>.</td></tr>
-<tr><td valign="top"><a href="#in-3">in/3</a></td><td>
- <h4><a name="Append_an_item_to_the_tail_of_a_specific_priority_queue.">Append an item to the tail of a specific priority queue.</a></h4>.</td></tr>
-<tr><td valign="top"><a href="#is_empty-1">is_empty/1</a></td><td>
- <h4><a name="Check_if_the_priority_queue_is_empty.">Check if the priority queue is empty.</a></h4>.</td></tr>
-<tr><td valign="top"><a href="#is_queue-1">is_queue/1</a></td><td>
- <h4><a name="Check_if_the_priority_queue_type_is_as_expected.">Check if the priority queue type is as expected.</a></h4>.</td></tr>
-<tr><td valign="top"><a href="#len-1">len/1</a></td><td>
- <h4><a name="Determine_the_length_of_a_priority_queue.">Determine the length of a priority queue.</a></h4>.</td></tr>
-<tr><td valign="top"><a href="#new-0">new/0</a></td><td>
- <h4><a name="Create_a_new_priority_queue.">Create a new priority queue.</a></h4>.</td></tr>
-<tr><td valign="top"><a href="#out-1">out/1</a></td><td>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>.</td></tr>
-<tr><td valign="top"><a href="#out-2">out/2</a></td><td>
- <h4><a name="Take_an_item_of_a_specific_priority_from_the_head_of_the_queue.">Take an item of a specific priority from the head of the queue.</a></h4>.</td></tr>
-<tr><td valign="top"><a href="#pout-1">pout/1</a></td><td>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
- Includes the priority in the return value.</td></tr>
-<tr><td valign="top"><a href="#test-0">test/0</a></td><td>
- <h4><a name="Regression_test.">Regression test.</a></h4>.</td></tr>
-<tr><td valign="top"><a href="#to_list-1">to_list/1</a></td><td>
- <h4><a name="Convert_the_priority_queue_to_a_list.">Convert the priority queue to a list.</a></h4>.</td></tr>
-</table>
-
-<h2><a name="functions">Function Details</a></h2>
-
-<h3 class="function"><a name="in-2">in/2</a></h3>
-<div class="spec">
-<p><tt>in(Value::term(), H::<a href="#type-pqueue2">pqueue2()</a>) -&gt; <a href="#type-pqueue2">pqueue2()</a></tt><br></p>
-</div><p>
- <h4><a name="Append_an_item_to_the_tail_of_the_0_priority_queue.">Append an item to the tail of the 0 priority queue.</a></h4>
-</p>
-
-<h3 class="function"><a name="in-3">in/3</a></h3>
-<div class="spec">
-<p><tt>in(Value::term(), P::integer(), H::<a href="#type-pqueue2">pqueue2()</a>) -&gt; <a href="#type-pqueue2">pqueue2()</a></tt><br></p>
-</div><p>
- <h4><a name="Append_an_item_to_the_tail_of_a_specific_priority_queue.">Append an item to the tail of a specific priority queue.</a></h4>
-</p>
-
-<h3 class="function"><a name="is_empty-1">is_empty/1</a></h3>
-<div class="spec">
-<p><tt>is_empty(X1::<a href="#type-pqueue2">pqueue2()</a>) -&gt; true | false</tt><br></p>
-</div><p>
- <h4><a name="Check_if_the_priority_queue_is_empty.">Check if the priority queue is empty.</a></h4>
-</p>
-
-<h3 class="function"><a name="is_queue-1">is_queue/1</a></h3>
-<div class="spec">
-<p><tt>is_queue(X1::<a href="#type-pqueue2">pqueue2()</a>) -&gt; true | false</tt><br></p>
-</div><p>
- <h4><a name="Check_if_the_priority_queue_type_is_as_expected.">Check if the priority queue type is as expected.</a></h4>
-</p>
-
-<h3 class="function"><a name="len-1">len/1</a></h3>
-<div class="spec">
-<p><tt>len(H::<a href="#type-pqueue2">pqueue2()</a>) -&gt; non_neg_integer()</tt><br></p>
-</div><p>
- <h4><a name="Determine_the_length_of_a_priority_queue.">Determine the length of a priority queue.</a></h4>
-</p>
-
-<h3 class="function"><a name="new-0">new/0</a></h3>
-<div class="spec">
-<p><tt>new() -&gt; <a href="#type-pqueue2">pqueue2()</a></tt><br></p>
-</div><p>
- <h4><a name="Create_a_new_priority_queue.">Create a new priority queue.</a></h4>
-</p>
-
-<h3 class="function"><a name="out-1">out/1</a></h3>
-<div class="spec">
-<p><tt>out(X1::<a href="#type-pqueue2">pqueue2()</a>) -&gt; {{value, term()}, <a href="#type-pqueue2">pqueue2()</a>} | {empty, <a href="#type-pqueue2">pqueue2()</a>}</tt><br></p>
-</div><p>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
-</p>
-
-<h3 class="function"><a name="out-2">out/2</a></h3>
-<div class="spec">
-<p><tt>out(P::integer(), H::<a href="#type-pqueue2">pqueue2()</a>) -&gt; {{value, term()}, <a href="#type-pqueue2">pqueue2()</a>} | {empty, <a href="#type-pqueue2">pqueue2()</a>}</tt><br></p>
-</div><p>
- <h4><a name="Take_an_item_of_a_specific_priority_from_the_head_of_the_queue.">Take an item of a specific priority from the head of the queue.</a></h4>
-</p>
-
-<h3 class="function"><a name="pout-1">pout/1</a></h3>
-<div class="spec">
-<p><tt>pout(X1::<a href="#type-pqueue2">pqueue2()</a>) -&gt; {{value, term(), integer()}, <a href="#type-pqueue2">pqueue2()</a>} | {empty, <a href="#type-pqueue2">pqueue2()</a>}</tt><br></p>
-</div><p>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
- Includes the priority in the return value.</p>
-
-<h3 class="function"><a name="test-0">test/0</a></h3>
-<div class="spec">
-<p><tt>test() -&gt; any()</tt></p>
-</div><p>
- <h4><a name="Regression_test.">Regression test.</a></h4>
-</p>
-
-<h3 class="function"><a name="to_list-1">to_list/1</a></h3>
-<div class="spec">
-<p><tt>to_list(H::<a href="#type-pqueue2">pqueue2()</a>) -&gt; [term()]</tt><br></p>
-</div><p>
- <h4><a name="Convert_the_priority_queue_to_a_list.">Convert the priority queue to a list.</a></h4>
-</p>
-<hr>
-
-<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
-<p><i>Generated by EDoc</i></p>
-</body>
-</html>
diff --git a/aoc2023/build/dev/erlang/pqueue/doc/pqueue3.html b/aoc2023/build/dev/erlang/pqueue/doc/pqueue3.html
deleted file mode 100644
index 35f1a7b..0000000
--- a/aoc2023/build/dev/erlang/pqueue/doc/pqueue3.html
+++ /dev/null
@@ -1,162 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Module pqueue3</title>
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
-</head>
-<body bgcolor="white">
-<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
-<hr>
-
-<h1>Module pqueue3</h1>
-<ul class="index"><li><a href="#description">Description</a></li><li><a href="#types">Data Types</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>
- <h3><a name="A_Large_Priority_Queue.">A Large Priority Queue.</a></h3>
- This priority queue implementation depends on layered tuples, so that tuple
- access times can be exploited for quick in/out priority queue operations
- when using 64 or more total priorities.
-<p>Copyright © 2011-2020 Michael Truog</p>
-
-<p><b>Version:</b> 2.0.1 Nov 26 2020 14:55:32
- ------------------------------------------------------------------------</p>
-<p><b>Authors:</b> Michael Truog (<a href="mailto:mjtruog at protonmail dot com"><tt>mjtruog at protonmail dot com</tt></a>).</p>
-
-<h2><a name="description">Description</a></h2>
- <h3><a name="A_Large_Priority_Queue.">A Large Priority Queue.</a></h3>
- This priority queue implementation depends on layered tuples, so that tuple
- access times can be exploited for quick in/out priority queue operations
- when using 64 or more total priorities. This implementation was created
- to avoid the slowness within the priority queue used by
- both RabbitMQ and Riak
- (https://github.com/basho/riak_core/blob/master/src/priority_queue.erl).
-<h2><a name="types">Data Types</a></h2>
-
-<h3 class="typedecl"><a name="type-pqueue3">pqueue3()</a></h3>
-<p><tt>pqueue3() = {integer(), integer(), empty | integer(), tuple()}</tt></p>
-
-
-<h3 class="typedecl"><a name="type-pqueue3_empty">pqueue3_empty()</a></h3>
-<p><tt>pqueue3_empty() = {integer(), integer(), empty, tuple()}</tt></p>
-
-
-<h2><a name="index">Function Index</a></h2>
-<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#in-2">in/2</a></td><td>
- <h4><a name="Append_an_item_to_the_tail_of_the_0_priority_queue.">Append an item to the tail of the 0 priority queue.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#in-3">in/3</a></td><td>
- <h4><a name="Append_an_item_to_the_tail_of_a_specific_priority_queue.">Append an item to the tail of a specific priority queue.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#is_empty-1">is_empty/1</a></td><td>
- <h4><a name="Check_if_the_priority_queue_is_empty.">Check if the priority queue is empty.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#is_queue-1">is_queue/1</a></td><td>
- <h4><a name="Check_if_the_priority_queue_type_is_as_expected.">Check if the priority queue type is as expected.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#len-1">len/1</a></td><td>
- <h4><a name="Determine_the_length_of_a_priority_queue.">Determine the length of a priority queue.</a></h4>
- O(N).</td></tr>
-<tr><td valign="top"><a href="#new-0">new/0</a></td><td>
- <h4><a name="Create_a_new_priority_queue.">Create a new priority queue.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#new-1">new/1</a></td><td>
- <h4><a name="Create_a_new_priority_queue_with_customization_options.">Create a new priority queue with customization options.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#out-1">out/1</a></td><td>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
- O(1) amortized, O(N) worst case.</td></tr>
-<tr><td valign="top"><a href="#out-2">out/2</a></td><td>
- <h4><a name="Take_an_item_of_a_specific_priority_from_the_head_of_the_queue.">Take an item of a specific priority from the head of the queue.</a></h4>
- O(1) amortized, O(N) worst case.</td></tr>
-<tr><td valign="top"><a href="#pout-1">pout/1</a></td><td>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
- Includes the priority in the return value.</td></tr>
-<tr><td valign="top"><a href="#to_list-1">to_list/1</a></td><td>
- <h4><a name="Convert_the_priority_queue_to_a_list.">Convert the priority queue to a list.</a></h4>
- O(N).</td></tr>
-</table>
-
-<h2><a name="functions">Function Details</a></h2>
-
-<h3 class="function"><a name="in-2">in/2</a></h3>
-<div class="spec">
-<p><tt>in(Value::term(), Q::<a href="#type-pqueue3">pqueue3()</a>) -&gt; <a href="#type-pqueue3">pqueue3()</a></tt><br></p>
-</div><p>
- <h4><a name="Append_an_item_to_the_tail_of_the_0_priority_queue.">Append an item to the tail of the 0 priority queue.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="in-3">in/3</a></h3>
-<div class="spec">
-<p><tt>in(Value::term(), P::integer(), X3::<a href="#type-pqueue3">pqueue3()</a>) -&gt; <a href="#type-pqueue3">pqueue3()</a></tt><br></p>
-</div><p>
- <h4><a name="Append_an_item_to_the_tail_of_a_specific_priority_queue.">Append an item to the tail of a specific priority queue.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="is_empty-1">is_empty/1</a></h3>
-<div class="spec">
-<p><tt>is_empty(Q::<a href="#type-pqueue3">pqueue3()</a>) -&gt; true | false</tt><br></p>
-</div><p>
- <h4><a name="Check_if_the_priority_queue_is_empty.">Check if the priority queue is empty.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="is_queue-1">is_queue/1</a></h3>
-<div class="spec">
-<p><tt>is_queue(X1::<a href="#type-pqueue3">pqueue3()</a>) -&gt; true | false</tt><br></p>
-</div><p>
- <h4><a name="Check_if_the_priority_queue_type_is_as_expected.">Check if the priority queue type is as expected.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="len-1">len/1</a></h3>
-<div class="spec">
-<p><tt>len(Q::<a href="#type-pqueue3">pqueue3()</a>) -&gt; non_neg_integer()</tt><br></p>
-</div><p>
- <h4><a name="Determine_the_length_of_a_priority_queue.">Determine the length of a priority queue.</a></h4>
- O(N)</p>
-
-<h3 class="function"><a name="new-0">new/0</a></h3>
-<div class="spec">
-<p><tt>new() -&gt; <a href="#type-pqueue3_empty">pqueue3_empty()</a></tt><br></p>
-</div><p>
- <h4><a name="Create_a_new_priority_queue.">Create a new priority queue.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="new-1">new/1</a></h3>
-<div class="spec">
-<p><tt>new(Options::[{atom(), term()}]) -&gt; <a href="#type-pqueue3">pqueue3()</a></tt><br></p>
-</div><p>
- <h4><a name="Create_a_new_priority_queue_with_customization_options.">Create a new priority queue with customization options.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="out-1">out/1</a></h3>
-<div class="spec">
-<p><tt>out(Q::<a href="#type-pqueue3">pqueue3()</a>) -&gt; {{value, term()}, <a href="#type-pqueue3">pqueue3()</a>} | {empty, <a href="#type-pqueue3">pqueue3()</a>}</tt><br></p>
-</div><p>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
- O(1) amortized, O(N) worst case</p>
-
-<h3 class="function"><a name="out-2">out/2</a></h3>
-<div class="spec">
-<p><tt>out(P::integer(), Q::<a href="#type-pqueue3">pqueue3()</a>) -&gt; {{value, term()}, <a href="#type-pqueue3">pqueue3()</a>} | {empty, <a href="#type-pqueue3">pqueue3()</a>}</tt><br></p>
-</div><p>
- <h4><a name="Take_an_item_of_a_specific_priority_from_the_head_of_the_queue.">Take an item of a specific priority from the head of the queue.</a></h4>
- O(1) amortized, O(N) worst case</p>
-
-<h3 class="function"><a name="pout-1">pout/1</a></h3>
-<div class="spec">
-<p><tt>pout(Q::<a href="#type-pqueue3">pqueue3()</a>) -&gt; {{value, term(), integer()}, <a href="#type-pqueue3">pqueue3()</a>} | {empty, <a href="#type-pqueue3">pqueue3()</a>}</tt><br></p>
-</div><p>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
- Includes the priority in the return value.
- O(1) amortized, O(N) worst case</p>
-
-<h3 class="function"><a name="to_list-1">to_list/1</a></h3>
-<div class="spec">
-<p><tt>to_list(Q::<a href="#type-pqueue3">pqueue3()</a>) -&gt; [term()]</tt><br></p>
-</div><p>
- <h4><a name="Convert_the_priority_queue_to_a_list.">Convert the priority queue to a list.</a></h4>
- O(N)</p>
-<hr>
-
-<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
-<p><i>Generated by EDoc</i></p>
-</body>
-</html>
diff --git a/aoc2023/build/dev/erlang/pqueue/doc/pqueue4.html b/aoc2023/build/dev/erlang/pqueue/doc/pqueue4.html
deleted file mode 100644
index edcdb6e..0000000
--- a/aoc2023/build/dev/erlang/pqueue/doc/pqueue4.html
+++ /dev/null
@@ -1,205 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Module pqueue4</title>
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
-</head>
-<body bgcolor="white">
-<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
-<hr>
-
-<h1>Module pqueue4</h1>
-<ul class="index"><li><a href="#description">Description</a></li><li><a href="#types">Data Types</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>
- <h3><a name="Static_Priority_Queue.">Static Priority Queue.</a></h3>
- This priority queue implementation depends on a static number of priorities
- (-128 (high) to 128 (low)) so that tuple access times can be exploited for
- quick in/out priority queue operations.
-<p>Copyright © 2011-2020 Michael Truog</p>
-
-<p><b>Version:</b> 2.0.1 Nov 26 2020 14:55:34
- ------------------------------------------------------------------------</p>
-<p><b>Authors:</b> Michael Truog (<a href="mailto:mjtruog at protonmail dot com"><tt>mjtruog at protonmail dot com</tt></a>).</p>
-
-<h2><a name="description">Description</a></h2>
- <h3><a name="Static_Priority_Queue.">Static Priority Queue.</a></h3>
- This priority queue implementation depends on a static number of priorities
- (-128 (high) to 128 (low)) so that tuple access times can be exploited for
- quick in/out priority queue operations. This implementation was created to
- avoid the slowness within the priority queue used by both RabbitMQ and Riak
- (https://github.com/basho/riak_core/blob/master/src/priority_queue.erl).
-<h2><a name="types">Data Types</a></h2>
-
-<h3 class="typedecl"><a name="type-pqueue4">pqueue4()</a></h3>
-<p><tt>pqueue4() = <a href="#type-pqueue4">pqueue4</a>(any())</tt></p>
-
-
-<h3 class="typedecl"><a name="type-pqueue4">pqueue4()</a></h3>
-<p><tt>pqueue4(T) = {<a href="#type-priority">priority()</a> | empty, non_neg_integer(), {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, <a href="queue.html#type-queue">queue:queue</a>(T), {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}}</tt></p>
-
-
-<h3 class="typedecl"><a name="type-priority">priority()</a></h3>
-<p><tt>priority() = -128..128</tt></p>
-
-
-<h2><a name="index">Function Index</a></h2>
-<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#filter-2">filter/2</a></td><td>
- <h4><a name="Filter_the_priority_queue.">Filter the priority queue.</a></h4>
- O(N).</td></tr>
-<tr><td valign="top"><a href="#filter-3">filter/3</a></td><td>
- <h4><a name="Filter_a_specific_priority_within_the_priority_queue.">Filter a specific priority within the priority queue.</a></h4>
- O(N).</td></tr>
-<tr><td valign="top"><a href="#in-2">in/2</a></td><td>
- <h4><a name="Append_an_item_to_the_tail_of_the_0_priority_queue.">Append an item to the tail of the 0 priority queue.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#in-3">in/3</a></td><td>
- <h4><a name="Append_an_item_to_the_tail_of_a_specific_priority_queue.">Append an item to the tail of a specific priority queue.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#is_empty-1">is_empty/1</a></td><td>
- <h4><a name="Check_if_the_priority_queue_is_empty.">Check if the priority queue is empty.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#is_queue-1">is_queue/1</a></td><td>
- <h4><a name="Check_if_the_priority_queue_type_is_as_expected.">Check if the priority queue type is as expected.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#len-1">len/1</a></td><td>
- <h4><a name="Determine_the_length_of_a_priority_queue.">Determine the length of a priority queue.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#new-0">new/0</a></td><td>
- <h4><a name="Create_a_new_priority_queue.">Create a new priority queue.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#out-1">out/1</a></td><td>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
- O(1) amortized, O(N) worst case.</td></tr>
-<tr><td valign="top"><a href="#out-2">out/2</a></td><td>
- <h4><a name="Take_an_item_of_a_specific_priority_from_the_head_of_the_queue.">Take an item of a specific priority from the head of the queue.</a></h4>
- O(1) amortized, O(N) worst case.</td></tr>
-<tr><td valign="top"><a href="#pout-1">pout/1</a></td><td>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
- Includes the priority in the return value.</td></tr>
-<tr><td valign="top"><a href="#remove_unique-2">remove_unique/2</a></td><td>
- <h4><a name="Remove_a_unique_value_from_the_priority_queue_with_a_binary_predicate.">Remove a unique value from the priority queue with a binary predicate.</a></h4>
- O(N) but smaller constant than filter/2.</td></tr>
-<tr><td valign="top"><a href="#remove_unique-3">remove_unique/3</a></td><td>
- <h4><a name="Remove_a_unique_value_in_a_specific_priority_within_the_priority_queue_with_a_binary_predicate.">Remove a unique value in a specific priority within the priority queue with a binary predicate.</a></h4>
- O(N) but smaller constant than filter/3.</td></tr>
-<tr><td valign="top"><a href="#to_list-1">to_list/1</a></td><td>
- <h4><a name="Convert_the_priority_queue_to_a_list.">Convert the priority queue to a list.</a></h4>
- O(N).</td></tr>
-<tr><td valign="top"><a href="#to_plist-1">to_plist/1</a></td><td>
- <h4><a name="Convert_the_priority_queue_to_a_list_with_priorities.">Convert the priority queue to a list with priorities.</a></h4>
- O(N).</td></tr>
-</table>
-
-<h2><a name="functions">Function Details</a></h2>
-
-<h3 class="function"><a name="filter-2">filter/2</a></h3>
-<div class="spec">
-<p><tt>filter(F::fun((any()) -&gt; boolean()), Q::<a href="#type-pqueue4">pqueue4()</a>) -&gt; <a href="#type-pqueue4">pqueue4()</a></tt><br></p>
-</div><p>
- <h4><a name="Filter_the_priority_queue.">Filter the priority queue.</a></h4>
- O(N)</p>
-
-<h3 class="function"><a name="filter-3">filter/3</a></h3>
-<div class="spec">
-<p><tt>filter(F::fun((any()) -&gt; boolean()), P::integer(), Q::<a href="#type-pqueue4">pqueue4()</a>) -&gt; <a href="#type-pqueue4">pqueue4()</a></tt><br></p>
-</div><p>
- <h4><a name="Filter_a_specific_priority_within_the_priority_queue.">Filter a specific priority within the priority queue.</a></h4>
- O(N)</p>
-
-<h3 class="function"><a name="in-2">in/2</a></h3>
-<div class="spec">
-<p><tt>in(X::any(), Q::<a href="#type-pqueue4">pqueue4()</a>) -&gt; <a href="#type-pqueue4">pqueue4()</a></tt><br></p>
-</div><p>
- <h4><a name="Append_an_item_to_the_tail_of_the_0_priority_queue.">Append an item to the tail of the 0 priority queue.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="in-3">in/3</a></h3>
-<div class="spec">
-<p><tt>in(X::any(), P::integer(), Q::<a href="#type-pqueue4">pqueue4()</a>) -&gt; <a href="#type-pqueue4">pqueue4()</a></tt><br></p>
-</div><p>
- <h4><a name="Append_an_item_to_the_tail_of_a_specific_priority_queue.">Append an item to the tail of a specific priority queue.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="is_empty-1">is_empty/1</a></h3>
-<div class="spec">
-<p><tt>is_empty(X1::<a href="#type-pqueue4">pqueue4()</a>) -&gt; true | false</tt><br></p>
-</div><p>
- <h4><a name="Check_if_the_priority_queue_is_empty.">Check if the priority queue is empty.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="is_queue-1">is_queue/1</a></h3>
-<div class="spec">
-<p><tt>is_queue(X1::<a href="#type-pqueue4">pqueue4()</a>) -&gt; true | false</tt><br></p>
-</div><p>
- <h4><a name="Check_if_the_priority_queue_type_is_as_expected.">Check if the priority queue type is as expected.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="len-1">len/1</a></h3>
-<div class="spec">
-<p><tt>len(X1::<a href="#type-pqueue4">pqueue4()</a>) -&gt; non_neg_integer()</tt><br></p>
-</div><p>
- <h4><a name="Determine_the_length_of_a_priority_queue.">Determine the length of a priority queue.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="new-0">new/0</a></h3>
-<div class="spec">
-<p><tt>new() -&gt; <a href="#type-pqueue4">pqueue4()</a></tt><br></p>
-</div><p>
- <h4><a name="Create_a_new_priority_queue.">Create a new priority queue.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="out-1">out/1</a></h3>
-<div class="spec">
-<p><tt>out(Q::<a href="#type-pqueue4">pqueue4()</a>) -&gt; {{value, any()}, <a href="#type-pqueue4">pqueue4()</a>} | {empty, <a href="#type-pqueue4">pqueue4()</a>}</tt><br></p>
-</div><p>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
- O(1) amortized, O(N) worst case</p>
-
-<h3 class="function"><a name="out-2">out/2</a></h3>
-<div class="spec">
-<p><tt>out(P::integer(), Q::<a href="#type-pqueue4">pqueue4()</a>) -&gt; {{value, any()}, <a href="#type-pqueue4">pqueue4()</a>} | {empty, <a href="#type-pqueue4">pqueue4()</a>}</tt><br></p>
-</div><p>
- <h4><a name="Take_an_item_of_a_specific_priority_from_the_head_of_the_queue.">Take an item of a specific priority from the head of the queue.</a></h4>
- O(1) amortized, O(N) worst case</p>
-
-<h3 class="function"><a name="pout-1">pout/1</a></h3>
-<div class="spec">
-<p><tt>pout(Q::<a href="#type-pqueue4">pqueue4()</a>) -&gt; {{value, any(), integer()}, <a href="#type-pqueue4">pqueue4()</a>} | {empty, <a href="#type-pqueue4">pqueue4()</a>}</tt><br></p>
-</div><p>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
- Includes the priority in the return value.
- O(1) amortized, O(N) worst case</p>
-
-<h3 class="function"><a name="remove_unique-2">remove_unique/2</a></h3>
-<div class="spec">
-<p><tt>remove_unique(F::fun((any()) -&gt; boolean()), Q::<a href="#type-pqueue4">pqueue4()</a>) -&gt; {boolean(), <a href="#type-pqueue4">pqueue4()</a>}</tt><br></p>
-</div><p>
- <h4><a name="Remove_a_unique_value_from_the_priority_queue_with_a_binary_predicate.">Remove a unique value from the priority queue with a binary predicate.</a></h4>
- O(N) but smaller constant than filter/2</p>
-
-<h3 class="function"><a name="remove_unique-3">remove_unique/3</a></h3>
-<div class="spec">
-<p><tt>remove_unique(F::fun((any()) -&gt; boolean()), P::integer(), Q::<a href="#type-pqueue4">pqueue4()</a>) -&gt; {boolean(), <a href="#type-pqueue4">pqueue4()</a>}</tt><br></p>
-</div><p>
- <h4><a name="Remove_a_unique_value_in_a_specific_priority_within_the_priority_queue_with_a_binary_predicate.">Remove a unique value in a specific priority within the priority queue with a binary predicate.</a></h4>
- O(N) but smaller constant than filter/3</p>
-
-<h3 class="function"><a name="to_list-1">to_list/1</a></h3>
-<div class="spec">
-<p><tt>to_list(Q::<a href="#type-pqueue4">pqueue4()</a>) -&gt; list()</tt><br></p>
-</div><p>
- <h4><a name="Convert_the_priority_queue_to_a_list.">Convert the priority queue to a list.</a></h4>
- O(N)</p>
-
-<h3 class="function"><a name="to_plist-1">to_plist/1</a></h3>
-<div class="spec">
-<p><tt>to_plist(Q::<a href="#type-pqueue4">pqueue4()</a>) -&gt; [{<a href="#type-priority">priority()</a>, list()}]</tt><br></p>
-</div><p>
- <h4><a name="Convert_the_priority_queue_to_a_list_with_priorities.">Convert the priority queue to a list with priorities.</a></h4>
- O(N)</p>
-<hr>
-
-<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
-<p><i>Generated by EDoc</i></p>
-</body>
-</html>
diff --git a/aoc2023/build/dev/erlang/pqueue/doc/stylesheet.css b/aoc2023/build/dev/erlang/pqueue/doc/stylesheet.css
deleted file mode 100644
index ab170c0..0000000
--- a/aoc2023/build/dev/erlang/pqueue/doc/stylesheet.css
+++ /dev/null
@@ -1,55 +0,0 @@
-/* standard EDoc style sheet */
-body {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- margin-left: .25in;
- margin-right: .2in;
- margin-top: 0.2in;
- margin-bottom: 0.2in;
- color: #000000;
- background-color: #ffffff;
-}
-h1,h2 {
- margin-left: -0.2in;
-}
-div.navbar {
- background-color: #add8e6;
- padding: 0.2em;
-}
-h2.indextitle {
- padding: 0.4em;
- background-color: #add8e6;
-}
-h3.function,h3.typedecl {
- background-color: #add8e6;
- padding-left: 1em;
-}
-div.spec {
- margin-left: 2em;
- background-color: #eeeeee;
-}
-a.module {
- text-decoration:none
-}
-a.module:hover {
- background-color: #eeeeee;
-}
-ul.definitions {
- list-style-type: none;
-}
-ul.index {
- list-style-type: none;
- background-color: #eeeeee;
-}
-
-/*
- * Minor style tweaks
- */
-ul {
- list-style-type: square;
-}
-table {
- border-collapse: collapse;
-}
-td {
- padding: 3
-}
diff --git a/aoc2023/build/dev/erlang/pqueue/ebin/pqueue.app b/aoc2023/build/dev/erlang/pqueue/ebin/pqueue.app
deleted file mode 100644
index 974098f..0000000
--- a/aoc2023/build/dev/erlang/pqueue/ebin/pqueue.app
+++ /dev/null
@@ -1,6 +0,0 @@
-{application,pqueue,
- [{description,"Priority Queue Data Structures"},
- {vsn,"2.0.7"},
- {modules,[pqueue,pqueue2,pqueue3,pqueue4]},
- {registered,[]},
- {applications,[stdlib,kernel]}]}.
diff --git a/aoc2023/build/dev/erlang/pqueue/ebin/pqueue.beam b/aoc2023/build/dev/erlang/pqueue/ebin/pqueue.beam
deleted file mode 100644
index bf379ea..0000000
--- a/aoc2023/build/dev/erlang/pqueue/ebin/pqueue.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/pqueue/ebin/pqueue2.beam b/aoc2023/build/dev/erlang/pqueue/ebin/pqueue2.beam
deleted file mode 100644
index 2913682..0000000
--- a/aoc2023/build/dev/erlang/pqueue/ebin/pqueue2.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/pqueue/ebin/pqueue3.beam b/aoc2023/build/dev/erlang/pqueue/ebin/pqueue3.beam
deleted file mode 100644
index 1d55303..0000000
--- a/aoc2023/build/dev/erlang/pqueue/ebin/pqueue3.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/pqueue/ebin/pqueue4.beam b/aoc2023/build/dev/erlang/pqueue/ebin/pqueue4.beam
deleted file mode 100644
index 13f75f5..0000000
--- a/aoc2023/build/dev/erlang/pqueue/ebin/pqueue4.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/pqueue/rebar.config b/aoc2023/build/dev/erlang/pqueue/rebar.config
deleted file mode 100644
index f8022f0..0000000
--- a/aoc2023/build/dev/erlang/pqueue/rebar.config
+++ /dev/null
@@ -1,14 +0,0 @@
-%-*-Mode:erlang;coding:utf-8;tab-width:4;c-basic-offset:4;indent-tabs-mode:()-*-
-% ex: set ft=erlang fenc=utf-8 sts=4 ts=4 sw=4 et nomod:
-
-{erl_opts,
- [{platform_define, "^R16", 'ERLANG_OTP_VERSION_16'},
- {platform_define, "^17\.", 'ERLANG_OTP_VERSION_17'},
- {platform_define, "^18\.", 'ERLANG_OTP_VERSION_18'},
- {platform_define, "^19\.", 'ERLANG_OTP_VERSION_19'},
- {platform_define, "^20\.", 'ERLANG_OTP_VERSION_20'},
- warn_export_vars,
- warn_unused_import,
- %warn_missing_spec,
- warnings_as_errors]}.
-{edoc_opts, [{preprocess, true}]}.
diff --git a/aoc2023/build/dev/erlang/pqueue/src/pqueue.app.src b/aoc2023/build/dev/erlang/pqueue/src/pqueue.app.src
deleted file mode 100644
index b153ad1..0000000
--- a/aoc2023/build/dev/erlang/pqueue/src/pqueue.app.src
+++ /dev/null
@@ -1,10 +0,0 @@
-%-*-Mode:erlang;coding:utf-8;tab-width:4;c-basic-offset:4;indent-tabs-mode:()-*-
-% ex: set ft=erlang fenc=utf-8 sts=4 ts=4 sw=4 et nomod:
-
-{application, pqueue,
- [{description, "Priority Queue Data Structures"},
- {vsn, "2.0.7"},
- {modules, [pqueue, pqueue2, pqueue3, pqueue4]},
- {registered, []},
- {applications, [stdlib, kernel]}]}.
-
diff --git a/aoc2023/build/dev/erlang/pqueue/src/pqueue.erl b/aoc2023/build/dev/erlang/pqueue/src/pqueue.erl
deleted file mode 100644
index 2c57fa2..0000000
--- a/aoc2023/build/dev/erlang/pqueue/src/pqueue.erl
+++ /dev/null
@@ -1,2246 +0,0 @@
-%-*-Mode:erlang;coding:utf-8;tab-width:4;c-basic-offset:4;indent-tabs-mode:()-*-
-% ex: set ft=erlang fenc=utf-8 sts=4 ts=4 sw=4 et nomod:
-%%%
-%%%------------------------------------------------------------------------
-%%% @doc
-%%% ==Static Priority Queue.==
-%%% This priority queue implementation depends on a static number of priorities
-%%% (-20 (high) to 20 (low)) so that tuple access times can be exploited for
-%%% quick in/out priority queue operations. This implementation was created to
-%%% avoid the slowness within the priority queue used by both RabbitMQ and Riak
-%%% (https://github.com/basho/riak_core/blob/master/src/priority_queue.erl).
-%%% @end
-%%%
-%%% MIT License
-%%%
-%%% Copyright (c) 2011-2020 Michael Truog <mjtruog at protonmail dot com>
-%%%
-%%% Permission is hereby granted, free of charge, to any person obtaining a
-%%% copy of this software and associated documentation files (the "Software"),
-%%% to deal in the Software without restriction, including without limitation
-%%% the rights to use, copy, modify, merge, publish, distribute, sublicense,
-%%% and/or sell copies of the Software, and to permit persons to whom the
-%%% Software is furnished to do so, subject to the following conditions:
-%%%
-%%% The above copyright notice and this permission notice shall be included in
-%%% all copies or substantial portions of the Software.
-%%%
-%%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-%%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-%%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-%%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-%%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-%%% FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-%%% DEALINGS IN THE SOFTWARE.
-%%%
-%%% @author Michael Truog <mjtruog at protonmail dot com>
-%%% @copyright 2011-2020 Michael Truog
-%%% @version 2.0.1 {@date} {@time}
-%%%------------------------------------------------------------------------
-
--module(pqueue).
--author('mjtruog at protonmail dot com').
-
-%% external interface
--export([in/2, % O(1)
- in/3, % O(1)
- is_empty/1, % O(1)
- is_queue/1, % O(1)
- join/2, % O(N) typically (?)
- len/1, % O(N)
- new/0, % O(1)
- out/1, % O(1) amortized, O(N) worst case
- out/2, % O(1) amortized, O(N) worst case
- pout/1, % O(1) amortized, O(N) worst case
- to_list/1, % O(N)
- test/0]).
-
-%%%------------------------------------------------------------------------
-%%% External interface functions
-%%%------------------------------------------------------------------------
-
--ifdef(ERLANG_OTP_VERSION_16).
--type pqueue() ::
- {integer(),
- {queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue()},
- queue(),
- {queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue()}} |
- {'empty',
- {queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue()},
- queue(),
- {queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue()}}.
--else.
--type pqueue() ::
- {integer(),
- {queue:queue(), queue:queue(), queue:queue(), queue:queue(),
- queue:queue(), queue:queue(), queue:queue()},
- {queue:queue(), queue:queue(), queue:queue(), queue:queue(),
- queue:queue(), queue:queue(), queue:queue()},
- {queue:queue(), queue:queue(), queue:queue(), queue:queue(),
- queue:queue(), queue:queue()},
- queue:queue(),
- {queue:queue(), queue:queue(), queue:queue(), queue:queue(),
- queue:queue(), queue:queue()},
- {queue:queue(), queue:queue(), queue:queue(), queue:queue(),
- queue:queue(), queue:queue(), queue:queue()},
- {queue:queue(), queue:queue(), queue:queue(), queue:queue(),
- queue:queue(), queue:queue(), queue:queue()}} |
- {'empty',
- {queue:queue(), queue:queue(), queue:queue(), queue:queue(),
- queue:queue(), queue:queue(), queue:queue()},
- {queue:queue(), queue:queue(), queue:queue(), queue:queue(),
- queue:queue(), queue:queue(), queue:queue()},
- {queue:queue(), queue:queue(), queue:queue(), queue:queue(),
- queue:queue(), queue:queue()},
- queue:queue(),
- {queue:queue(), queue:queue(), queue:queue(), queue:queue(),
- queue:queue(), queue:queue()},
- {queue:queue(), queue:queue(), queue:queue(), queue:queue(),
- queue:queue(), queue:queue(), queue:queue()},
- {queue:queue(), queue:queue(), queue:queue(), queue:queue(),
- queue:queue(), queue:queue(), queue:queue()}}.
--endif.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Append an item to the tail of the 0 priority queue.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec in(term(), pqueue()) -> pqueue().
-
-in(X, Q) ->
- in(X, 0, Q).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Append an item to the tail of a specific priority queue.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec in(term(), integer(), pqueue()) -> pqueue().
-
-in(_, P, _)
- when P < -20; P > 20 ->
- erlang:exit(badarg);
-in(X, P, {empty, _, _, _, _, _, _, _} = Q) ->
- in_higher(P, Q, X);
-in(X, P, {Pc, _, _, _, _, _, _, _} = Q)
- when P < Pc ->
- in_higher(P, Q, X);
-in(X, P, Q) ->
- in_lower(P, Q, X).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Check if the priority queue is empty.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec is_empty(pqueue()) -> 'true' | 'false'.
-
-is_empty({empty, _, _, _, _, _, _, _}) ->
- true;
-is_empty({_,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}) ->
- queue:is_empty(Qn20) and queue:is_empty(Qn19) and queue:is_empty(Qn18) and
- queue:is_empty(Qn17) and queue:is_empty(Qn16) and queue:is_empty(Qn15) and
- queue:is_empty(Qn14) and
- queue:is_empty(Qn13) and queue:is_empty(Qn12) and queue:is_empty(Qn11) and
- queue:is_empty(Qn10) and queue:is_empty(Qn9) and queue:is_empty(Qn8) and
- queue:is_empty(Qn7) and
- queue:is_empty(Qn6) and queue:is_empty(Qn5) and queue:is_empty(Qn4) and
- queue:is_empty(Qn3) and queue:is_empty(Qn2) and queue:is_empty(Qn1) and
- queue:is_empty(Q0) and
- queue:is_empty(Qp1) and queue:is_empty(Qp2) and queue:is_empty(Qp3) and
- queue:is_empty(Qp4) and queue:is_empty(Qp5) and queue:is_empty(Qp6) and
- queue:is_empty(Qp7) and queue:is_empty(Qp8) and queue:is_empty(Qp9) and
- queue:is_empty(Qp10) and queue:is_empty(Qp11) and queue:is_empty(Qp12) and
- queue:is_empty(Qp13) and
- queue:is_empty(Qp14) and queue:is_empty(Qp15) and queue:is_empty(Qp16) and
- queue:is_empty(Qp17) and queue:is_empty(Qp18) and queue:is_empty(Qp19) and
- queue:is_empty(Qp20).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Check if the priority queue type is as expected.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec is_queue(pqueue()) -> 'true' | 'false'.
-
-is_queue({Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14})
- when tuple_size(Qsn14) == 7, tuple_size(Qsn7) == 7, tuple_size(Qsn1) == 6,
- tuple_size(Qsp14) == 7, tuple_size(Qsp7) == 7, tuple_size(Qsp1) == 6 ->
- (((Pc =:= empty) or is_integer(Pc)) and queue:is_queue(Q0));
-is_queue(_) ->
- false.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Join two priority queues.===
-%% O(N)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec join(pqueue(), pqueue()) -> pqueue().
-
-join({P1c,
- {Q1_n20, Q1_n19, Q1_n18, Q1_n17, Q1_n16, Q1_n15, Q1_n14},
- {Q1_n13, Q1_n12, Q1_n11, Q1_n10, Q1_n9, Q1_n8, Q1_n7},
- {Q1_n6, Q1_n5, Q1_n4, Q1_n3, Q1_n2, Q1_n1},
- Q1_0,
- {Q1_p1, Q1_p2, Q1_p3, Q1_p4, Q1_p5, Q1_p6},
- {Q1_p7, Q1_p8, Q1_p9, Q1_p10, Q1_p11, Q1_p12, Q1_p13},
- {Q1_p14, Q1_p15, Q1_p16, Q1_p17, Q1_p18, Q1_p19, Q1_p20}},
- {P2c,
- {Q2_n20, Q2_n19, Q2_n18, Q2_n17, Q2_n16, Q2_n15, Q2_n14},
- {Q2_n13, Q2_n12, Q2_n11, Q2_n10, Q2_n9, Q2_n8, Q2_n7},
- {Q2_n6, Q2_n5, Q2_n4, Q2_n3, Q2_n2, Q2_n1},
- Q2_0,
- {Q2_p1, Q2_p2, Q2_p3, Q2_p4, Q2_p5, Q2_p6},
- {Q2_p7, Q2_p8, Q2_p9, Q2_p10, Q2_p11, Q2_p12, Q2_p13},
- {Q2_p14, Q2_p15, Q2_p16, Q2_p17, Q2_p18, Q2_p19, Q2_p20}}) ->
- {erlang:min(P1c, P2c),
- {queue:join(Q1_n20, Q2_n20), queue:join(Q1_n19, Q2_n19),
- queue:join(Q1_n18, Q2_n18), queue:join(Q1_n17, Q2_n17),
- queue:join(Q1_n16, Q2_n16), queue:join(Q1_n15, Q2_n15),
- queue:join(Q1_n14, Q2_n14)},
- {queue:join(Q1_n13, Q2_n13), queue:join(Q1_n12, Q2_n12),
- queue:join(Q1_n11, Q2_n11), queue:join(Q1_n10, Q2_n10),
- queue:join(Q1_n9, Q2_n9), queue:join(Q1_n8, Q2_n8),
- queue:join(Q1_n7, Q2_n7)},
- {queue:join(Q1_n6, Q2_n6), queue:join(Q1_n5, Q2_n5),
- queue:join(Q1_n4, Q2_n4), queue:join(Q1_n3, Q2_n3),
- queue:join(Q1_n2, Q2_n2), queue:join(Q1_n1, Q2_n1)},
- queue:join(Q1_0, Q2_0),
- {queue:join(Q1_p1, Q2_p1), queue:join(Q1_p2, Q2_p2),
- queue:join(Q1_p3, Q2_p3), queue:join(Q1_p4, Q2_p4),
- queue:join(Q1_p5, Q2_p5), queue:join(Q1_p6, Q2_p6)},
- {queue:join(Q1_p7, Q2_p7), queue:join(Q1_p8, Q2_p8),
- queue:join(Q1_p9, Q2_p9), queue:join(Q1_p10, Q2_p10),
- queue:join(Q1_p11, Q2_p11), queue:join(Q1_p12, Q2_p12),
- queue:join(Q1_p13, Q2_p13)},
- {queue:join(Q1_p14, Q2_p14), queue:join(Q1_p15, Q2_p15),
- queue:join(Q1_p16, Q2_p16), queue:join(Q1_p17, Q2_p17),
- queue:join(Q1_p18, Q2_p18), queue:join(Q1_p19, Q2_p19),
- queue:join(Q1_p20, Q2_p20)}}.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Determine the length of a priority queue.===
-%% O(N)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec len(pqueue()) -> non_neg_integer().
-
-len({_,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}) ->
- queue:len(Qn20) + queue:len(Qn19) + queue:len(Qn18) + queue:len(Qn17) +
- queue:len(Qn16) + queue:len(Qn15) + queue:len(Qn14) +
- queue:len(Qn13) + queue:len(Qn12) + queue:len(Qn11) + queue:len(Qn10) +
- queue:len(Qn9) + queue:len(Qn8) + queue:len(Qn7) +
- queue:len(Qn6) + queue:len(Qn5) + queue:len(Qn4) + queue:len(Qn3) +
- queue:len(Qn2) + queue:len(Qn1) +
- queue:len(Q0) +
- queue:len(Qp1) + queue:len(Qp2) + queue:len(Qp3) + queue:len(Qp4) +
- queue:len(Qp5) + queue:len(Qp6) +
- queue:len(Qp7) + queue:len(Qp8) + queue:len(Qp9) + queue:len(Qp10) +
- queue:len(Qp11) + queue:len(Qp12) + queue:len(Qp13) +
- queue:len(Qp14) + queue:len(Qp15) + queue:len(Qp16) + queue:len(Qp17) +
- queue:len(Qp18) + queue:len(Qp19) + queue:len(Qp20).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Create a new priority queue.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec new() -> pqueue().
-
-new() ->
- {empty, % current priority
- erlang:make_tuple(7, queue:new()), % priority [-20..-14]
- erlang:make_tuple(7, queue:new()), % priority [-13.. -7]
- erlang:make_tuple(6, queue:new()), % priority [ -6.. -1]
- queue:new(), % priority 0 (default)
- erlang:make_tuple(6, queue:new()), % priority [ 1.. 6]
- erlang:make_tuple(7, queue:new()), % priority [ 7.. 13]
- erlang:make_tuple(7, queue:new())}. % priority [ 14.. 20]
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Take an item from the head of the priority queue.===
-%% O(1) amortized, O(N) worst case
-%% @end
-%%-------------------------------------------------------------------------
-
--spec out(pqueue()) ->
- {{'value', term()}, pqueue()} | {'empty', pqueue()}.
-
-out({empty, _, _, _, _, _, _, _} = Q) ->
- {empty, Q};
-out({Pc, _, _, _, _, _, _, _} = Q) ->
- out_current(Pc, Q, nopriority).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Take an item of a specific priority from the head of the queue.===
-%% O(1) amortized, O(N) worst case
-%% @end
-%%-------------------------------------------------------------------------
-
--spec out(integer(), pqueue()) ->
- {{'value', term()}, pqueue()} | {'empty', pqueue()}.
-
-out(P, _)
- when P < -20; P > 20 ->
- erlang:exit(badarg);
-out(_, {empty, _, _, _, _, _, _, _} = Q) ->
- {empty, Q};
-out(P, Q) ->
- out_specific(P, Q).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Take an item from the head of the priority queue.===
-%% Includes the priority in the return value.
-%% O(1) amortized, O(N) worst case
-%% @end
-%%-------------------------------------------------------------------------
-
--spec pout(pqueue()) ->
- {{'value', term(), integer()}, pqueue()} | {'empty', pqueue()}.
-
-pout({empty, _, _, _, _, _, _, _} = Q) ->
- {empty, Q};
-pout({Pc, _, _, _, _, _, _, _} = Q) ->
- out_current(Pc, Q, priority).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Convert the priority queue to a list.===
-%% O(N)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec to_list(pqueue()) -> list(term()).
-
-to_list({_,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}) ->
- queue:to_list(Qn20) ++ queue:to_list(Qn19) ++ queue:to_list(Qn18) ++
- queue:to_list(Qn17) ++ queue:to_list(Qn16) ++ queue:to_list(Qn15) ++
- queue:to_list(Qn14) ++
- queue:to_list(Qn13) ++ queue:to_list(Qn12) ++ queue:to_list(Qn11) ++
- queue:to_list(Qn10) ++ queue:to_list(Qn9) ++ queue:to_list(Qn8) ++
- queue:to_list(Qn7) ++
- queue:to_list(Qn6) ++ queue:to_list(Qn5) ++ queue:to_list(Qn4) ++
- queue:to_list(Qn3) ++ queue:to_list(Qn2) ++ queue:to_list(Qn1) ++
- queue:to_list(Q0) ++
- queue:to_list(Qp1) ++ queue:to_list(Qp2) ++ queue:to_list(Qp3) ++
- queue:to_list(Qp4) ++ queue:to_list(Qp5) ++ queue:to_list(Qp6) ++
- queue:to_list(Qp7) ++ queue:to_list(Qp8) ++ queue:to_list(Qp9) ++
- queue:to_list(Qp10) ++ queue:to_list(Qp11) ++ queue:to_list(Qp12) ++
- queue:to_list(Qp13) ++
- queue:to_list(Qp14) ++ queue:to_list(Qp15) ++ queue:to_list(Qp16) ++
- queue:to_list(Qp17) ++ queue:to_list(Qp18) ++ queue:to_list(Qp19) ++
- queue:to_list(Qp20).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Regression test.===
-%% @end
-%%-------------------------------------------------------------------------
-
-test() ->
- Q0 = pqueue:new(),
- true = pqueue:is_queue(Q0),
- Q1 = pqueue:in(20, 20, Q0),
- Q2 = pqueue:in(19, 19, Q1),
- Q3 = pqueue:in(18, 18, Q2),
- Q4 = pqueue:in(17, 17, Q3),
- Q5 = pqueue:in(16, 16, Q4),
- Q6 = pqueue:in(15, 15, Q5),
- Q7 = pqueue:in(14, 14, Q6),
- Q8 = pqueue:in(13, 13, Q7),
- Q9 = pqueue:in(12, 12, Q8),
- Q10 = pqueue:in(11, 11, Q9),
- Q11 = pqueue:in(10, 10, Q10),
- Q12 = pqueue:in(9, 9, Q11),
- Q13 = pqueue:in(8, 8, Q12),
- Q14 = pqueue:in(7, 7, Q13),
- Q15 = pqueue:in(6, 6, Q14),
- Q16 = pqueue:in(5, 5, Q15),
- Q17 = pqueue:in(4, 4, Q16),
- Q18 = pqueue:in(3, 3, Q17),
- Q19 = pqueue:in(2, 2, Q18),
- Q20 = pqueue:in(1, 1, Q19),
- Q21 = pqueue:in(0, 0, Q20),
- Q22 = pqueue:in(-1, -1, Q21),
- Q23 = pqueue:in(-2, -2, Q22),
- Q24 = pqueue:in(-3, -3, Q23),
- Q25 = pqueue:in(-4, -4, Q24),
- Q26 = pqueue:in(-5, -5, Q25),
- Q27 = pqueue:in(-6, -6, Q26),
- Q28 = pqueue:in(-7, -7, Q27),
- Q29 = pqueue:in(-8, -8, Q28),
- Q30 = pqueue:in(-9, -9, Q29),
- Q31 = pqueue:in(-10, -10, Q30),
- Q32 = pqueue:in(-11, -11, Q31),
- Q33 = pqueue:in(-12, -12, Q32),
- Q34 = pqueue:in(-13, -13, Q33),
- Q35 = pqueue:in(-14, -14, Q34),
- Q36 = pqueue:in(-15, -15, Q35),
- Q37 = pqueue:in(-16, -16, Q36),
- Q38 = pqueue:in(-17, -17, Q37),
- Q39 = pqueue:in(-18, -18, Q38),
- Q40 = pqueue:in(-19, -19, Q39),
- Q41 = pqueue:in(-20, -20, Q40),
- Q42 = pqueue:in(-20, -20, Q41),
- Q43 = pqueue:in(-19, -19, Q42),
- Q44 = pqueue:in(-18, -18, Q43),
- Q45 = pqueue:in(-17, -17, Q44),
- Q46 = pqueue:in(-16, -16, Q45),
- Q47 = pqueue:in(-15, -15, Q46),
- Q48 = pqueue:in(-14, -14, Q47),
- Q49 = pqueue:in(-13, -13, Q48),
- Q50 = pqueue:in(-12, -12, Q49),
- Q51 = pqueue:in(-11, -11, Q50),
- Q52 = pqueue:in(-10, -10, Q51),
- Q53 = pqueue:in(-9, -9, Q52),
- Q54 = pqueue:in(-8, -8, Q53),
- Q55 = pqueue:in(-7, -7, Q54),
- Q56 = pqueue:in(-6, -6, Q55),
- Q57 = pqueue:in(-5, -5, Q56),
- Q58 = pqueue:in(-4, -4, Q57),
- Q59 = pqueue:in(-3, -3, Q58),
- Q60 = pqueue:in(-2, -2, Q59),
- Q61 = pqueue:in(-1, -1, Q60),
- Q62 = pqueue:in(0, 0, Q61),
- Q63 = pqueue:in(1, 1, Q62),
- Q64 = pqueue:in(2, 2, Q63),
- Q65 = pqueue:in(3, 3, Q64),
- Q66 = pqueue:in(4, 4, Q65),
- Q67 = pqueue:in(5, 5, Q66),
- Q68 = pqueue:in(6, 6, Q67),
- Q69 = pqueue:in(7, 7, Q68),
- Q70 = pqueue:in(8, 8, Q69),
- Q71 = pqueue:in(9, 9, Q70),
- Q72 = pqueue:in(10, 10, Q71),
- Q73 = pqueue:in(11, 11, Q72),
- Q74 = pqueue:in(12, 12, Q73),
- Q75 = pqueue:in(13, 13, Q74),
- Q76 = pqueue:in(14, 14, Q75),
- Q77 = pqueue:in(15, 15, Q76),
- Q78 = pqueue:in(16, 16, Q77),
- Q79 = pqueue:in(17, 17, Q78),
- Q80 = pqueue:in(18, 18, Q79),
- Q81 = pqueue:in(19, 19, Q80),
- Q82 = pqueue:in(20, 20, Q81),
- true = pqueue:is_queue(Q82),
- 82 = pqueue:len(Q82),
- [-20, -20, -19, -19, -18, -18, -17, -17, -16, -16, -15, -15, -14, -14,
- -13, -13, -12, -12, -11, -11, -10, -10, -9, -9, -8, -8, -7, -7, -6, -6,
- -5, -5, -4, -4, -3, -3, -2, -2, -1, -1, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4,
- 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14,
- 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20] = pqueue:to_list(Q82),
- {{value, -20}, Q83} = pqueue:out(Q82),
- {{value, -20}, Q84} = pqueue:out(Q83),
- {{value, -19}, Q85} = pqueue:out(Q84),
- {{value, -19}, Q86} = pqueue:out(Q85),
- {{value, -18}, Q87} = pqueue:out(Q86),
- {{value, -18}, Q88} = pqueue:out(Q87),
- {{value, 0}, Q89} = pqueue:out(0, Q88),
- {{value, 0}, Q90} = pqueue:out(0, Q89),
- {empty, _} = pqueue:out(0, Q90),
- {{value, -17, -17}, Q91} = pqueue:pout(Q90),
- {{value, -17, -17}, Q92} = pqueue:pout(Q91),
- {{value, -16, -16}, Q93} = pqueue:pout(Q92),
- {{value, -16, -16}, Q94} = pqueue:pout(Q93),
- {{value, -15, -15}, Q95} = pqueue:pout(Q94),
- {{value, -15, -15}, Q96} = pqueue:pout(Q95),
- {{value, -14, -14}, Q97} = pqueue:pout(Q96),
- {{value, -14, -14}, Q98} = pqueue:pout(Q97),
- {{value, -13, -13}, Q99} = pqueue:pout(Q98),
- {{value, -13, -13}, Q100} = pqueue:pout(Q99),
- {{value, -12, -12}, Q101} = pqueue:pout(Q100),
- {{value, -12, -12}, Q102} = pqueue:pout(Q101),
- {{value, -11, -11}, Q103} = pqueue:pout(Q102),
- {{value, -11, -11}, Q104} = pqueue:pout(Q103),
- {{value, -10, -10}, Q105} = pqueue:pout(Q104),
- {{value, -10, -10}, Q106} = pqueue:pout(Q105),
- {{value, -9, -9}, Q107} = pqueue:pout(Q106),
- {{value, -9, -9}, Q108} = pqueue:pout(Q107),
- {{value, -8, -8}, Q109} = pqueue:pout(Q108),
- {{value, -8, -8}, Q110} = pqueue:pout(Q109),
- {{value, -7, -7}, Q111} = pqueue:pout(Q110),
- {{value, -7, -7}, Q112} = pqueue:pout(Q111),
- {{value, -6, -6}, Q113} = pqueue:pout(Q112),
- {{value, -6, -6}, Q114} = pqueue:pout(Q113),
- {{value, -5, -5}, Q115} = pqueue:pout(Q114),
- {{value, -5, -5}, Q116} = pqueue:pout(Q115),
- {{value, -4, -4}, Q117} = pqueue:pout(Q116),
- {{value, -4, -4}, Q118} = pqueue:pout(Q117),
- {{value, -3, -3}, Q119} = pqueue:pout(Q118),
- {{value, -3, -3}, Q120} = pqueue:pout(Q119),
- {{value, -2, -2}, Q121} = pqueue:pout(Q120),
- {{value, -2, -2}, Q122} = pqueue:pout(Q121),
- {{value, -1, -1}, Q123} = pqueue:pout(Q122),
- {{value, -1, -1}, Q124} = pqueue:pout(Q123),
- {{value, 1, 1}, Q125} = pqueue:pout(Q124),
- {{value, 1, 1}, Q126} = pqueue:pout(Q125),
- {{value, 2, 2}, Q127} = pqueue:pout(Q126),
- {{value, 2, 2}, Q128} = pqueue:pout(Q127),
- {{value, 3, 3}, Q129} = pqueue:pout(Q128),
- {{value, 3, 3}, Q130} = pqueue:pout(Q129),
- {{value, 4, 4}, Q131} = pqueue:pout(Q130),
- {{value, 4, 4}, Q132} = pqueue:pout(Q131),
- {{value, 5, 5}, Q133} = pqueue:pout(Q132),
- {{value, 5, 5}, Q134} = pqueue:pout(Q133),
- {{value, 6, 6}, Q135} = pqueue:pout(Q134),
- {{value, 6, 6}, Q136} = pqueue:pout(Q135),
- {{value, 7, 7}, Q137} = pqueue:pout(Q136),
- {{value, 7, 7}, Q138} = pqueue:pout(Q137),
- {{value, 8, 8}, Q139} = pqueue:pout(Q138),
- {{value, 8, 8}, Q140} = pqueue:pout(Q139),
- {{value, 9, 9}, Q141} = pqueue:pout(Q140),
- {{value, 9, 9}, Q142} = pqueue:pout(Q141),
- {{value, 10, 10}, Q143} = pqueue:pout(Q142),
- {{value, 10, 10}, Q144} = pqueue:pout(Q143),
- {{value, 11, 11}, Q145} = pqueue:pout(Q144),
- {{value, 11, 11}, Q146} = pqueue:pout(Q145),
- {{value, 12, 12}, Q147} = pqueue:pout(Q146),
- {{value, 12, 12}, Q148} = pqueue:pout(Q147),
- {{value, 13, 13}, Q149} = pqueue:pout(Q148),
- {{value, 13, 13}, Q150} = pqueue:pout(Q149),
- {{value, 14, 14}, Q151} = pqueue:pout(Q150),
- {{value, 14, 14}, Q152} = pqueue:pout(Q151),
- {{value, 15, 15}, Q153} = pqueue:pout(Q152),
- {{value, 15, 15}, Q154} = pqueue:pout(Q153),
- {{value, 16, 16}, Q155} = pqueue:pout(Q154),
- {{value, 16, 16}, Q156} = pqueue:pout(Q155),
- {{value, 17, 17}, Q157} = pqueue:pout(Q156),
- {{value, 17, 17}, Q158} = pqueue:pout(Q157),
- {{value, 18, 18}, Q159} = pqueue:pout(Q158),
- {{value, 18, 18}, Q160} = pqueue:pout(Q159),
- {{value, 19, 19}, Q161} = pqueue:pout(Q160),
- {{value, 19, 19}, Q162} = pqueue:pout(Q161),
- {{value, 20, 20}, Q163} = pqueue:pout(Q162),
- {{value, 20, 20}, Q164} = pqueue:pout(Q163),
- true = pqueue:is_empty(Q164),
- {empty, Q165} = pqueue:pout(Q164),
- true = pqueue:is_empty(Q165),
- ok.
-
-%%%------------------------------------------------------------------------
-%%% Private functions
-%%%------------------------------------------------------------------------
-
-in_higher(-20, {_,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-20,
- {queue:in(X, Qn20), Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-19, {_,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-19,
- {Qn20, queue:in(X, Qn19), Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-18, {_,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-18,
- {Qn20, Qn19, queue:in(X, Qn18), Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-17, {_,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-17,
- {Qn20, Qn19, Qn18, queue:in(X, Qn17), Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-16, {_,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-16,
- {Qn20, Qn19, Qn18, Qn17, queue:in(X, Qn16), Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-15, {_,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-15,
- {Qn20, Qn19, Qn18, Qn17, Qn16, queue:in(X, Qn15), Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-14, {_,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-14,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, queue:in(X, Qn14)},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-13, {_, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-13, Qsn14,
- {queue:in(X, Qn13), Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-12, {_, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-12, Qsn14,
- {Qn13, queue:in(X, Qn12), Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-11, {_, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-11, Qsn14,
- {Qn13, Qn12, queue:in(X, Qn11), Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-10, {_, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-10, Qsn14,
- {Qn13, Qn12, Qn11, queue:in(X, Qn10), Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-9, {_, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-9, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, queue:in(X, Qn9), Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-8, {_, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-8, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, queue:in(X, Qn8), Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-7, {_, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-7, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, queue:in(X, Qn7)},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-6, {_, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-6, Qsn14, Qsn7,
- {queue:in(X, Qn6), Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-5, {_, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-5, Qsn14, Qsn7,
- {Qn6, queue:in(X, Qn5), Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-4, {_, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-4, Qsn14, Qsn7,
- {Qn6, Qn5, queue:in(X, Qn4), Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-3, {_, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-3, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, queue:in(X, Qn3), Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-2, {_, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-2, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, queue:in(X, Qn2), Qn1},
- Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-1, {_, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-1, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, queue:in(X, Qn1)},
- Q0, Qsp1, Qsp7, Qsp14};
-in_higher(0, {_, Qsn14, Qsn7, Qsn1,
- Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {0, Qsn14, Qsn7, Qsn1,
- queue:in(X, Q0),
- Qsp1, Qsp7, Qsp14};
-in_higher(1, {_, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}, X) ->
- {1, Qsn14, Qsn7, Qsn1, Q0,
- {queue:in(X, Qp1), Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14};
-in_higher(2, {_, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}, X) ->
- {2, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, queue:in(X, Qp2), Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14};
-in_higher(3, {_, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}, X) ->
- {3, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, queue:in(X, Qp3), Qp4, Qp5, Qp6},
- Qsp7, Qsp14};
-in_higher(4, {_, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}, X) ->
- {4, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, queue:in(X, Qp4), Qp5, Qp6},
- Qsp7, Qsp14};
-in_higher(5, {_, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}, X) ->
- {5, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, queue:in(X, Qp5), Qp6},
- Qsp7, Qsp14};
-in_higher(6, {_, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}, X) ->
- {6, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, queue:in(X, Qp6)},
- Qsp7, Qsp14};
-in_higher(7, {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}, X) ->
- {7, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {queue:in(X, Qp7), Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14};
-in_higher(8, {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}, X) ->
- {8, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, queue:in(X, Qp8), Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14};
-in_higher(9, {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}, X) ->
- {9, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, queue:in(X, Qp9), Qp10, Qp11, Qp12, Qp13},
- Qsp14};
-in_higher(10, {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}, X) ->
- {10, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, queue:in(X, Qp10), Qp11, Qp12, Qp13},
- Qsp14};
-in_higher(11, {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}, X) ->
- {11, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, queue:in(X, Qp11), Qp12, Qp13},
- Qsp14};
-in_higher(12, {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}, X) ->
- {12, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, queue:in(X, Qp12), Qp13},
- Qsp14};
-in_higher(13, {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}, X) ->
- {13, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, queue:in(X, Qp13)},
- Qsp14};
-in_higher(14, {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}, X) ->
- {14, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {queue:in(X, Qp14), Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}};
-in_higher(15, {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}, X) ->
- {15, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, queue:in(X, Qp15), Qp16, Qp17, Qp18, Qp19, Qp20}};
-in_higher(16, {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}, X) ->
- {16, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, queue:in(X, Qp16), Qp17, Qp18, Qp19, Qp20}};
-in_higher(17, {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}, X) ->
- {17, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, queue:in(X, Qp17), Qp18, Qp19, Qp20}};
-in_higher(18, {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}, X) ->
- {18, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, queue:in(X, Qp18), Qp19, Qp20}};
-in_higher(19, {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}, X) ->
- {19, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, queue:in(X, Qp19), Qp20}};
-in_higher(20, {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}, X) ->
- {20, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, queue:in(X, Qp20)}}.
-
-in_lower(-20, {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc,
- {queue:in(X, Qn20), Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-19, {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc,
- {Qn20, queue:in(X, Qn19), Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-18, {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc,
- {Qn20, Qn19, queue:in(X, Qn18), Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-17, {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc,
- {Qn20, Qn19, Qn18, queue:in(X, Qn17), Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-16, {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc,
- {Qn20, Qn19, Qn18, Qn17, queue:in(X, Qn16), Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-15, {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, queue:in(X, Qn15), Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-14, {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, queue:in(X, Qn14)},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-13, {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc, Qsn14,
- {queue:in(X, Qn13), Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-12, {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc, Qsn14,
- {Qn13, queue:in(X, Qn12), Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-11, {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc, Qsn14,
- {Qn13, Qn12, queue:in(X, Qn11), Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-10, {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, queue:in(X, Qn10), Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-9, {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, queue:in(X, Qn9), Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-8, {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, queue:in(X, Qn8), Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-7, {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, queue:in(X, Qn7)},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-6, {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc, Qsn14, Qsn7,
- {queue:in(X, Qn6), Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-5, {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc, Qsn14, Qsn7,
- {Qn6, queue:in(X, Qn5), Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-4, {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, queue:in(X, Qn4), Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-3, {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, queue:in(X, Qn3), Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-2, {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, queue:in(X, Qn2), Qn1},
- Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-1, {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, queue:in(X, Qn1)},
- Q0, Qsp1, Qsp7, Qsp14};
-in_lower(0, {Pc, Qsn14, Qsn7, Qsn1,
- Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1,
- queue:in(X, Q0),
- Qsp1, Qsp7, Qsp14};
-in_lower(1, {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {queue:in(X, Qp1), Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14};
-in_lower(2, {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, queue:in(X, Qp2), Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14};
-in_lower(3, {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, queue:in(X, Qp3), Qp4, Qp5, Qp6},
- Qsp7, Qsp14};
-in_lower(4, {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, queue:in(X, Qp4), Qp5, Qp6},
- Qsp7, Qsp14};
-in_lower(5, {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, queue:in(X, Qp5), Qp6},
- Qsp7, Qsp14};
-in_lower(6, {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, queue:in(X, Qp6)},
- Qsp7, Qsp14};
-in_lower(7, {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {queue:in(X, Qp7), Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14};
-in_lower(8, {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, queue:in(X, Qp8), Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14};
-in_lower(9, {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, queue:in(X, Qp9), Qp10, Qp11, Qp12, Qp13},
- Qsp14};
-in_lower(10, {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, queue:in(X, Qp10), Qp11, Qp12, Qp13},
- Qsp14};
-in_lower(11, {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, queue:in(X, Qp11), Qp12, Qp13},
- Qsp14};
-in_lower(12, {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, queue:in(X, Qp12), Qp13},
- Qsp14};
-in_lower(13, {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, queue:in(X, Qp13)},
- Qsp14};
-in_lower(14, {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {queue:in(X, Qp14), Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}};
-in_lower(15, {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, queue:in(X, Qp15), Qp16, Qp17, Qp18, Qp19, Qp20}};
-in_lower(16, {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, queue:in(X, Qp16), Qp17, Qp18, Qp19, Qp20}};
-in_lower(17, {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, queue:in(X, Qp17), Qp18, Qp19, Qp20}};
-in_lower(18, {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, queue:in(X, Qp18), Qp19, Qp20}};
-in_lower(19, {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, queue:in(X, Qp19), Qp20}};
-in_lower(20, {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, queue:in(X, Qp20)}}.
-
-out_current(-20,
- {_, {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn20} = queue:out(Qn20),
- if
- Value =:= empty ->
- out_current(-19, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -20};
- true ->
- Value
- end,
- {NewValue,
- {-20,
- {NewQn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-19,
- {_, {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn19} = queue:out(Qn19),
- if
- Value =:= empty ->
- out_current(-18, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -19};
- true ->
- Value
- end,
- {NewValue,
- {-19,
- {Qn20, NewQn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-18,
- {_, {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn18} = queue:out(Qn18),
- if
- Value =:= empty ->
- out_current(-17, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -18};
- true ->
- Value
- end,
- {NewValue,
- {-18,
- {Qn20, Qn19, NewQn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-17,
- {_, {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn17} = queue:out(Qn17),
- if
- Value =:= empty ->
- out_current(-16, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -17};
- true ->
- Value
- end,
- {NewValue,
- {-17,
- {Qn20, Qn19, Qn18, NewQn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-16,
- {_, {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn16} = queue:out(Qn16),
- if
- Value =:= empty ->
- out_current(-15, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -16};
- true ->
- Value
- end,
- {NewValue,
- {-16,
- {Qn20, Qn19, Qn18, Qn17, NewQn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-15,
- {_, {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn15} = queue:out(Qn15),
- if
- Value =:= empty ->
- out_current(-14, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -15};
- true ->
- Value
- end,
- {NewValue,
- {-15,
- {Qn20, Qn19, Qn18, Qn17, Qn16, NewQn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-14,
- {_, {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn14} = queue:out(Qn14),
- if
- Value =:= empty ->
- out_current(-13, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -14};
- true ->
- Value
- end,
- {NewValue,
- {-14,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, NewQn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-13,
- {_, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn13} = queue:out(Qn13),
- if
- Value =:= empty ->
- out_current(-12, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -13};
- true ->
- Value
- end,
- {NewValue,
- {-13, Qsn14,
- {NewQn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-12,
- {_, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn12} = queue:out(Qn12),
- if
- Value =:= empty ->
- out_current(-11, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -12};
- true ->
- Value
- end,
- {NewValue,
- {-12, Qsn14,
- {Qn13, NewQn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-11,
- {_, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn11} = queue:out(Qn11),
- if
- Value =:= empty ->
- out_current(-10, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -11};
- true ->
- Value
- end,
- {NewValue,
- {-11, Qsn14,
- {Qn13, Qn12, NewQn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-10,
- {_, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn10} = queue:out(Qn10),
- if
- Value =:= empty ->
- out_current(-9, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -10};
- true ->
- Value
- end,
- {NewValue,
- {-10, Qsn14,
- {Qn13, Qn12, Qn11, NewQn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-9,
- {_, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn9} = queue:out(Qn9),
- if
- Value =:= empty ->
- out_current(-8, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -9};
- true ->
- Value
- end,
- {NewValue,
- {-9, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, NewQn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-8,
- {_, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn8} = queue:out(Qn8),
- if
- Value =:= empty ->
- out_current(-7, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -8};
- true ->
- Value
- end,
- {NewValue,
- {-8, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, NewQn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-7,
- {_, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn7} = queue:out(Qn7),
- if
- Value =:= empty ->
- out_current(-6, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -7};
- true ->
- Value
- end,
- {NewValue,
- {-7, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, NewQn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-6,
- {_, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn6} = queue:out(Qn6),
- if
- Value =:= empty ->
- out_current(-5, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -6};
- true ->
- Value
- end,
- {NewValue,
- {-6, Qsn14, Qsn7,
- {NewQn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-5,
- {_, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn5} = queue:out(Qn5),
- if
- Value =:= empty ->
- out_current(-4, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -5};
- true ->
- Value
- end,
- {NewValue,
- {-5, Qsn14, Qsn7,
- {Qn6, NewQn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-4,
- {_, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn4} = queue:out(Qn4),
- if
- Value =:= empty ->
- out_current(-3, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -4};
- true ->
- Value
- end,
- {NewValue,
- {-4, Qsn14, Qsn7,
- {Qn6, Qn5, NewQn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-3,
- {_, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn3} = queue:out(Qn3),
- if
- Value =:= empty ->
- out_current(-2, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -3};
- true ->
- Value
- end,
- {NewValue,
- {-3, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, NewQn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-2,
- {_, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn2} = queue:out(Qn2),
- if
- Value =:= empty ->
- out_current(-1, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -2};
- true ->
- Value
- end,
- {NewValue,
- {-2, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, NewQn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-1,
- {_, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn1} = queue:out(Qn1),
- if
- Value =:= empty ->
- out_current(0, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -1};
- true ->
- Value
- end,
- {NewValue,
- {-1, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, NewQn1},
- Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(0,
- {_, Qsn14, Qsn7, Qsn1,
- Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQ0} = queue:out(Q0),
- if
- Value =:= empty ->
- out_current(1, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 0};
- true ->
- Value
- end,
- {NewValue,
- {0, Qsn14, Qsn7, Qsn1,
- NewQ0,
- Qsp1, Qsp7, Qsp14}}
- end;
-out_current(1,
- {_, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQp1} = queue:out(Qp1),
- if
- Value =:= empty ->
- out_current(2, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 1};
- true ->
- Value
- end,
- {NewValue,
- {1, Qsn14, Qsn7, Qsn1, Q0,
- {NewQp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}}
- end;
-out_current(2,
- {_, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQp2} = queue:out(Qp2),
- if
- Value =:= empty ->
- out_current(3, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 2};
- true ->
- Value
- end,
- {NewValue,
- {2, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, NewQp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}}
- end;
-out_current(3,
- {_, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQp3} = queue:out(Qp3),
- if
- Value =:= empty ->
- out_current(4, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 3};
- true ->
- Value
- end,
- {NewValue,
- {3, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, NewQp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}}
- end;
-out_current(4,
- {_, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQp4} = queue:out(Qp4),
- if
- Value =:= empty ->
- out_current(5, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 4};
- true ->
- Value
- end,
- {NewValue,
- {4, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, NewQp4, Qp5, Qp6},
- Qsp7, Qsp14}}
- end;
-out_current(5,
- {_, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQp5} = queue:out(Qp5),
- if
- Value =:= empty ->
- out_current(6, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 5};
- true ->
- Value
- end,
- {NewValue,
- {5, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, NewQp5, Qp6},
- Qsp7, Qsp14}}
- end;
-out_current(6,
- {_, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQp6} = queue:out(Qp6),
- if
- Value =:= empty ->
- out_current(7, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 6};
- true ->
- Value
- end,
- {NewValue,
- {6, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, NewQp6},
- Qsp7, Qsp14}}
- end;
-out_current(7,
- {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14} = Q, ReturnType) ->
- {Value, NewQp7} = queue:out(Qp7),
- if
- Value =:= empty ->
- out_current(8, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 7};
- true ->
- Value
- end,
- {NewValue,
- {7, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {NewQp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}}
- end;
-out_current(8,
- {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14} = Q, ReturnType) ->
- {Value, NewQp8} = queue:out(Qp8),
- if
- Value =:= empty ->
- out_current(9, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 8};
- true ->
- Value
- end,
- {NewValue,
- {8, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, NewQp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}}
- end;
-out_current(9,
- {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14} = Q, ReturnType) ->
- {Value, NewQp9} = queue:out(Qp9),
- if
- Value =:= empty ->
- out_current(10, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 9};
- true ->
- Value
- end,
- {NewValue,
- {9, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, NewQp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}}
- end;
-out_current(10,
- {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14} = Q, ReturnType) ->
- {Value, NewQp10} = queue:out(Qp10),
- if
- Value =:= empty ->
- out_current(11, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 10};
- true ->
- Value
- end,
- {NewValue,
- {10, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, NewQp10, Qp11, Qp12, Qp13},
- Qsp14}}
- end;
-out_current(11,
- {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14} = Q, ReturnType) ->
- {Value, NewQp11} = queue:out(Qp11),
- if
- Value =:= empty ->
- out_current(12, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 11};
- true ->
- Value
- end,
- {NewValue,
- {11, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, NewQp11, Qp12, Qp13},
- Qsp14}}
- end;
-out_current(12,
- {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14} = Q, ReturnType) ->
- {Value, NewQp12} = queue:out(Qp12),
- if
- Value =:= empty ->
- out_current(13, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 12};
- true ->
- Value
- end,
- {NewValue,
- {12, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, NewQp12, Qp13},
- Qsp14}}
- end;
-out_current(13,
- {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14} = Q, ReturnType) ->
- {Value, NewQp13} = queue:out(Qp13),
- if
- Value =:= empty ->
- out_current(14, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 13};
- true ->
- Value
- end,
- {NewValue,
- {13, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, NewQp13},
- Qsp14}}
- end;
-out_current(14,
- {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}} = Q, ReturnType) ->
- {Value, NewQp14} = queue:out(Qp14),
- if
- Value =:= empty ->
- out_current(15, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 14};
- true ->
- Value
- end,
- {NewValue,
- {14, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {NewQp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}}
- end;
-out_current(15,
- {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}} = Q, ReturnType) ->
- {Value, NewQp15} = queue:out(Qp15),
- if
- Value =:= empty ->
- out_current(16, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 15};
- true ->
- Value
- end,
- {NewValue,
- {15, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, NewQp15, Qp16, Qp17, Qp18, Qp19, Qp20}}}
- end;
-out_current(16,
- {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}} = Q, ReturnType) ->
- {Value, NewQp16} = queue:out(Qp16),
- if
- Value =:= empty ->
- out_current(17, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 16};
- true ->
- Value
- end,
- {NewValue,
- {16, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, NewQp16, Qp17, Qp18, Qp19, Qp20}}}
- end;
-out_current(17,
- {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}} = Q, ReturnType) ->
- {Value, NewQp17} = queue:out(Qp17),
- if
- Value =:= empty ->
- out_current(18, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 17};
- true ->
- Value
- end,
- {NewValue,
- {17, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, NewQp17, Qp18, Qp19, Qp20}}}
- end;
-out_current(18,
- {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}} = Q, ReturnType) ->
- {Value, NewQp18} = queue:out(Qp18),
- if
- Value =:= empty ->
- out_current(19, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 18};
- true ->
- Value
- end,
- {NewValue,
- {18, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, NewQp18, Qp19, Qp20}}}
- end;
-out_current(19,
- {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}} = Q, ReturnType) ->
- {Value, NewQp19} = queue:out(Qp19),
- if
- Value =:= empty ->
- out_current(20, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 19};
- true ->
- Value
- end,
- {NewValue,
- {19, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, NewQp19, Qp20}}}
- end;
-out_current(20,
- {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20} = Qsp14}, ReturnType) ->
- {Value, NewQp20} = queue:out(Qp20),
- if
- Value =:= empty ->
- {empty, {empty, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 20};
- true ->
- Value
- end,
- {NewValue,
- {20, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, NewQp20}}}
- end.
-
-out_specific(-20,
- {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn20} = queue:out(Qn20),
- {Value,
- {Pc,
- {NewQn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-19,
- {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn19} = queue:out(Qn19),
- {Value,
- {Pc,
- {Qn20, NewQn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-18,
- {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn18} = queue:out(Qn18),
- {Value,
- {Pc,
- {Qn20, Qn19, NewQn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-17,
- {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn17} = queue:out(Qn17),
- {Value,
- {Pc,
- {Qn20, Qn19, Qn18, NewQn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-16,
- {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn16} = queue:out(Qn16),
- {Value,
- {Pc,
- {Qn20, Qn19, Qn18, Qn17, NewQn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-15,
- {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn15} = queue:out(Qn15),
- {Value,
- {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, NewQn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-14,
- {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn14} = queue:out(Qn14),
- {Value,
- {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, NewQn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-13,
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn13} = queue:out(Qn13),
- {Value,
- {Pc, Qsn14,
- {NewQn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-12,
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn12} = queue:out(Qn12),
- {Value,
- {Pc, Qsn14,
- {Qn13, NewQn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-11,
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn11} = queue:out(Qn11),
- {Value,
- {Pc, Qsn14,
- {Qn13, Qn12, NewQn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-10,
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn10} = queue:out(Qn10),
- {Value,
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, NewQn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-9,
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn9} = queue:out(Qn9),
- {Value,
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, NewQn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-8,
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn8} = queue:out(Qn8),
- {Value,
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, NewQn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-7,
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn7} = queue:out(Qn7),
- {Value,
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, NewQn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-6,
- {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn6} = queue:out(Qn6),
- {Value,
- {Pc, Qsn14, Qsn7,
- {NewQn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-5,
- {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn5} = queue:out(Qn5),
- {Value,
- {Pc, Qsn14, Qsn7,
- {Qn6, NewQn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-4,
- {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn4} = queue:out(Qn4),
- {Value,
- {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, NewQn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-3,
- {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn3} = queue:out(Qn3),
- {Value,
- {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, NewQn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-2,
- {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn2} = queue:out(Qn2),
- {Value,
- {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, NewQn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-1,
- {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn1} = queue:out(Qn1),
- {Value,
- {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, NewQn1},
- Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(0,
- {Pc, Qsn14, Qsn7, Qsn1,
- Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQ0} = queue:out(Q0),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1,
- NewQ0,
- Qsp1, Qsp7, Qsp14}};
-out_specific(1,
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}) ->
- {Value, NewQp1} = queue:out(Qp1),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {NewQp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}};
-out_specific(2,
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}) ->
- {Value, NewQp2} = queue:out(Qp2),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, NewQp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}};
-out_specific(3,
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}) ->
- {Value, NewQp3} = queue:out(Qp3),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, NewQp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}};
-out_specific(4,
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}) ->
- {Value, NewQp4} = queue:out(Qp4),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, NewQp4, Qp5, Qp6},
- Qsp7, Qsp14}};
-out_specific(5,
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}) ->
- {Value, NewQp5} = queue:out(Qp5),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, NewQp5, Qp6},
- Qsp7, Qsp14}};
-out_specific(6,
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}) ->
- {Value, NewQp6} = queue:out(Qp6),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, NewQp6},
- Qsp7, Qsp14}};
-out_specific(7,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}) ->
- {Value, NewQp7} = queue:out(Qp7),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {NewQp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}};
-out_specific(8,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}) ->
- {Value, NewQp8} = queue:out(Qp8),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, NewQp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}};
-out_specific(9,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}) ->
- {Value, NewQp9} = queue:out(Qp9),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, NewQp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}};
-out_specific(10,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}) ->
- {Value, NewQp10} = queue:out(Qp10),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, NewQp10, Qp11, Qp12, Qp13},
- Qsp14}};
-out_specific(11,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}) ->
- {Value, NewQp11} = queue:out(Qp11),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, NewQp11, Qp12, Qp13},
- Qsp14}};
-out_specific(12,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}) ->
- {Value, NewQp12} = queue:out(Qp12),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, NewQp12, Qp13},
- Qsp14}};
-out_specific(13,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}) ->
- {Value, NewQp13} = queue:out(Qp13),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, NewQp13},
- Qsp14}};
-out_specific(14,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}) ->
- {Value, NewQp14} = queue:out(Qp14),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {NewQp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}};
-out_specific(15,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}) ->
- {Value, NewQp15} = queue:out(Qp15),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, NewQp15, Qp16, Qp17, Qp18, Qp19, Qp20}}};
-out_specific(16,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}) ->
- {Value, NewQp16} = queue:out(Qp16),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, NewQp16, Qp17, Qp18, Qp19, Qp20}}};
-out_specific(17,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}) ->
- {Value, NewQp17} = queue:out(Qp17),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, NewQp17, Qp18, Qp19, Qp20}}};
-out_specific(18,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}) ->
- {Value, NewQp18} = queue:out(Qp18),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, NewQp18, Qp19, Qp20}}};
-out_specific(19,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}) ->
- {Value, NewQp19} = queue:out(Qp19),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, NewQp19, Qp20}}};
-out_specific(20,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}) ->
- {Value, NewQp20} = queue:out(Qp20),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, NewQp20}}}.
-
--ifdef(TEST).
--include_lib("eunit/include/eunit.hrl").
-
--include("pqueue_test.hrl").
-
-module_test_() ->
- {timeout, ?TEST_TIMEOUT, [
- {"internal tests", ?_assertOk(test())}
- ]}.
-
-long_test_() ->
- test_condition([
- {"proper tests", ?_assert(pqueue_proper:qc_pq())}
- ], ?CLOUDI_LONG_TEST_TIMEOUT).
-
--endif.
-
diff --git a/aoc2023/build/dev/erlang/pqueue/src/pqueue2.erl b/aoc2023/build/dev/erlang/pqueue/src/pqueue2.erl
deleted file mode 100644
index bbdeaaf..0000000
--- a/aoc2023/build/dev/erlang/pqueue/src/pqueue2.erl
+++ /dev/null
@@ -1,483 +0,0 @@
-%-*-Mode:erlang;coding:utf-8;tab-width:4;c-basic-offset:4;indent-tabs-mode:()-*-
-% ex: set ft=erlang fenc=utf-8 sts=4 ts=4 sw=4 et nomod:
-%%%
-%%%------------------------------------------------------------------------
-%%% @doc
-%%% ==Skew Heap Priority Queue.==
-%%% Ulf Wiger suggested pursuing a skew heap as an optimal Erlang priority
-%%% queue implementation. Unfortunately, testing has shown this solution to
-%%% be more than 2 times slower than pqueue.
-%%% @end
-%%%
-%%% MIT License
-%%%
-%%% Copyright (c) 2011-2020 Michael Truog <mjtruog at protonmail dot com>
-%%%
-%%% Permission is hereby granted, free of charge, to any person obtaining a
-%%% copy of this software and associated documentation files (the "Software"),
-%%% to deal in the Software without restriction, including without limitation
-%%% the rights to use, copy, modify, merge, publish, distribute, sublicense,
-%%% and/or sell copies of the Software, and to permit persons to whom the
-%%% Software is furnished to do so, subject to the following conditions:
-%%%
-%%% The above copyright notice and this permission notice shall be included in
-%%% all copies or substantial portions of the Software.
-%%%
-%%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-%%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-%%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-%%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-%%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-%%% FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-%%% DEALINGS IN THE SOFTWARE.
-%%%
-%%% @author Michael Truog <mjtruog at protonmail dot com>
-%%% @copyright 2011-2020 Michael Truog
-%%% @version 2.0.1 {@date} {@time}
-%%%------------------------------------------------------------------------
-
--module(pqueue2).
--author('mjtruog at protonmail dot com').
-
-%% external interface
--export([in/2,
- in/3,
- is_empty/1,
- is_queue/1,
- len/1,
- new/0,
- out/1,
- out/2,
- pout/1,
- to_list/1,
- test/0]).
-
-%%%------------------------------------------------------------------------
-%%% External interface functions
-%%%------------------------------------------------------------------------
-
--ifdef(ERLANG_OTP_VERSION_16).
--type pqueue2() ::
- empty |
- {integer(), pqueue2(), pqueue2(), element, term()} |
- {integer(), pqueue2(), pqueue2(), queue, queue()}.
--else.
--type pqueue2() ::
- empty |
- {integer(), pqueue2(), pqueue2(), element, term()} |
- {integer(), pqueue2(), pqueue2(), queue, queue:queue()}.
--endif.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Append an item to the tail of the 0 priority queue.===
-%% @end
-%%-------------------------------------------------------------------------
-
--spec in(term(), pqueue2()) -> pqueue2().
-
-in(Value, H) ->
- in(Value, 0, H).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Append an item to the tail of a specific priority queue.===
-%% @end
-%%-------------------------------------------------------------------------
-
--spec in(term(), integer(), pqueue2()) -> pqueue2().
-
-in(Value, P, H) ->
- merge({P, empty, empty, element, Value}, H).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Check if the priority queue is empty.===
-%% @end
-%%-------------------------------------------------------------------------
-
--spec is_empty(pqueue2()) -> 'true' | 'false'.
-
-is_empty(empty) ->
- true;
-is_empty({_, HL, HR, queue, Queue}) ->
- is_empty(HL) andalso is_empty(HR) andalso queue:is_empty(Queue);
-is_empty(_) ->
- false.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Check if the priority queue type is as expected.===
-%% @end
-%%-------------------------------------------------------------------------
-
--spec is_queue(pqueue2()) -> 'true' | 'false'.
-
-is_queue(empty) ->
- true;
-is_queue({P, _, _, element, _})
- when is_integer(P) ->
- true;
-is_queue({P, _, _, queue, Queue})
- when is_integer(P) ->
- queue:is_queue(Queue);
-is_queue(_) ->
- false.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Determine the length of a priority queue.===
-%% @end
-%%-------------------------------------------------------------------------
-
--spec len(pqueue2()) -> non_neg_integer().
-
-len(H) ->
- len(0, out(H)).
-len(I, {empty, _}) ->
- I;
-len(I, {{value, _}, H}) ->
- len(I + 1, out(H)).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Create a new priority queue.===
-%% @end
-%%-------------------------------------------------------------------------
-
--spec new() -> pqueue2().
-
-new() ->
- empty.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Take an item from the head of the priority queue.===
-%% @end
-%%-------------------------------------------------------------------------
-
--spec out(pqueue2()) ->
- {{'value', term()}, pqueue2()} | {'empty', pqueue2()}.
-
-out(empty) ->
- {empty, empty};
-out({_, HL, HR, element, Value}) ->
- {{value, Value}, merge(HL, HR)};
-out({P, HL, HR, queue, Queue}) ->
- case queue:out(Queue) of
- {{value, _} = Result, NewQueue} ->
- {Result, {P, HL, HR, queue, NewQueue}};
- {empty, _} ->
- out(merge(HL, HR))
- end.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Take an item of a specific priority from the head of the queue.===
-%% @end
-%%-------------------------------------------------------------------------
-
--spec out(integer(), pqueue2()) ->
- {{'value', term()}, pqueue2()} | {'empty', pqueue2()}.
-
-out(_, empty) ->
- {empty, empty};
-out(P, {P1, _, _, _, _} = H) when P < P1 ->
- {empty, H};
-out(P, {P1, HL1, HR1, T, D}) when P > P1 ->
- case out(P, HL1) of
- {{value, _} = Result, HL2} ->
- {Result, {P1, HL2, HR1, T, D}};
- {empty, HL2} ->
- case out(P, HR1) of
- {{value, _} = Result, HR2} ->
- {Result, {P1, HL2, HR2, T, D}};
- {empty, HR2} ->
- {empty, {P1, HL2, HR2, T, D}}
- end
- end;
-out(P, {P, HL, HR, element, Value}) ->
- {{value, Value}, merge(HL, HR)};
-out(P, {P, HL, HR, queue, Queue}) ->
- case queue:out(Queue) of
- {{value, _} = Result, NewQueue} ->
- {Result, {P, HL, HR, queue, NewQueue}};
- {empty, _} ->
- out(P, merge(HL, HR))
- end.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Take an item from the head of the priority queue.===
-%% Includes the priority in the return value.
-%% @end
-%%-------------------------------------------------------------------------
-
--spec pout(pqueue2()) ->
- {{'value', term(), integer()}, pqueue2()} | {'empty', pqueue2()}.
-
-pout(empty) ->
- {empty, empty};
-pout({P, HL, HR, element, Value}) ->
- {{value, Value, P}, merge(HL, HR)};
-pout({P, HL, HR, queue, Queue}) ->
- case queue:out(Queue) of
- {{value, Value}, NewQueue} ->
- {{value, Value, P}, {P, HL, HR, queue, NewQueue}};
- {empty, _} ->
- pout(merge(HL, HR))
- end.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Convert the priority queue to a list.===
-%% @end
-%%-------------------------------------------------------------------------
-
--spec to_list(pqueue2()) -> list(term()).
-
-to_list(H) ->
- to_list([], out(H)).
-to_list(L, {empty, _}) ->
- lists:reverse(L);
-to_list(L, {{value, Value}, H}) ->
- to_list([Value | L], out(H)).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Regression test.===
-%% @end
-%%-------------------------------------------------------------------------
-
-test() ->
- Q0 = pqueue2:new(),
- true = pqueue2:is_queue(Q0),
- Q1 = pqueue2:in(20, 20, Q0),
- Q2 = pqueue2:in(19, 19, Q1),
- Q3 = pqueue2:in(18, 18, Q2),
- Q4 = pqueue2:in(17, 17, Q3),
- Q5 = pqueue2:in(16, 16, Q4),
- Q6 = pqueue2:in(15, 15, Q5),
- Q7 = pqueue2:in(14, 14, Q6),
- Q8 = pqueue2:in(13, 13, Q7),
- Q9 = pqueue2:in(12, 12, Q8),
- Q10 = pqueue2:in(11, 11, Q9),
- Q11 = pqueue2:in(10, 10, Q10),
- Q12 = pqueue2:in(9, 9, Q11),
- Q13 = pqueue2:in(8, 8, Q12),
- Q14 = pqueue2:in(7, 7, Q13),
- Q15 = pqueue2:in(6, 6, Q14),
- Q16 = pqueue2:in(5, 5, Q15),
- Q17 = pqueue2:in(4, 4, Q16),
- Q18 = pqueue2:in(3, 3, Q17),
- Q19 = pqueue2:in(2, 2, Q18),
- Q20 = pqueue2:in(1, 1, Q19),
- Q21 = pqueue2:in(0, 0, Q20),
- Q22 = pqueue2:in(-1, -1, Q21),
- Q23 = pqueue2:in(-2, -2, Q22),
- Q24 = pqueue2:in(-3, -3, Q23),
- Q25 = pqueue2:in(-4, -4, Q24),
- Q26 = pqueue2:in(-5, -5, Q25),
- Q27 = pqueue2:in(-6, -6, Q26),
- Q28 = pqueue2:in(-7, -7, Q27),
- Q29 = pqueue2:in(-8, -8, Q28),
- Q30 = pqueue2:in(-9, -9, Q29),
- Q31 = pqueue2:in(-10, -10, Q30),
- Q32 = pqueue2:in(-11, -11, Q31),
- Q33 = pqueue2:in(-12, -12, Q32),
- Q34 = pqueue2:in(-13, -13, Q33),
- Q35 = pqueue2:in(-14, -14, Q34),
- Q36 = pqueue2:in(-15, -15, Q35),
- Q37 = pqueue2:in(-16, -16, Q36),
- Q38 = pqueue2:in(-17, -17, Q37),
- Q39 = pqueue2:in(-18, -18, Q38),
- Q40 = pqueue2:in(-19, -19, Q39),
- Q41 = pqueue2:in(-20, -20, Q40),
- Q42 = pqueue2:in(-20, -20, Q41),
- Q43 = pqueue2:in(-19, -19, Q42),
- Q44 = pqueue2:in(-18, -18, Q43),
- Q45 = pqueue2:in(-17, -17, Q44),
- Q46 = pqueue2:in(-16, -16, Q45),
- Q47 = pqueue2:in(-15, -15, Q46),
- Q48 = pqueue2:in(-14, -14, Q47),
- Q49 = pqueue2:in(-13, -13, Q48),
- Q50 = pqueue2:in(-12, -12, Q49),
- Q51 = pqueue2:in(-11, -11, Q50),
- Q52 = pqueue2:in(-10, -10, Q51),
- Q53 = pqueue2:in(-9, -9, Q52),
- Q54 = pqueue2:in(-8, -8, Q53),
- Q55 = pqueue2:in(-7, -7, Q54),
- Q56 = pqueue2:in(-6, -6, Q55),
- Q57 = pqueue2:in(-5, -5, Q56),
- Q58 = pqueue2:in(-4, -4, Q57),
- Q59 = pqueue2:in(-3, -3, Q58),
- Q60 = pqueue2:in(-2, -2, Q59),
- Q61 = pqueue2:in(-1, -1, Q60),
- Q62 = pqueue2:in(0, 0, Q61),
- Q63 = pqueue2:in(1, 1, Q62),
- Q64 = pqueue2:in(2, 2, Q63),
- Q65 = pqueue2:in(3, 3, Q64),
- Q66 = pqueue2:in(4, 4, Q65),
- Q67 = pqueue2:in(5, 5, Q66),
- Q68 = pqueue2:in(6, 6, Q67),
- Q69 = pqueue2:in(7, 7, Q68),
- Q70 = pqueue2:in(8, 8, Q69),
- Q71 = pqueue2:in(9, 9, Q70),
- Q72 = pqueue2:in(10, 10, Q71),
- Q73 = pqueue2:in(11, 11, Q72),
- Q74 = pqueue2:in(12, 12, Q73),
- Q75 = pqueue2:in(13, 13, Q74),
- Q76 = pqueue2:in(14, 14, Q75),
- Q77 = pqueue2:in(15, 15, Q76),
- Q78 = pqueue2:in(16, 16, Q77),
- Q79 = pqueue2:in(17, 17, Q78),
- Q80 = pqueue2:in(18, 18, Q79),
- Q81 = pqueue2:in(19, 19, Q80),
- Q82 = pqueue2:in(20, 20, Q81),
- true = pqueue2:is_queue(Q82),
- 82 = pqueue2:len(Q82),
- [-20, -20, -19, -19, -18, -18, -17, -17, -16, -16, -15, -15, -14, -14,
- -13, -13, -12, -12, -11, -11, -10, -10, -9, -9, -8, -8, -7, -7, -6, -6,
- -5, -5, -4, -4, -3, -3, -2, -2, -1, -1, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4,
- 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14,
- 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20] = pqueue2:to_list(Q82),
- {{value, -20}, Q83} = pqueue2:out(Q82),
- {{value, -20}, Q84} = pqueue2:out(Q83),
- {{value, -19}, Q85} = pqueue2:out(Q84),
- {{value, -19}, Q86} = pqueue2:out(Q85),
- {{value, -18}, Q87} = pqueue2:out(Q86),
- {{value, -18}, Q88} = pqueue2:out(Q87),
- {{value, 0}, Q89} = pqueue2:out(0, Q88),
- {{value, 0}, Q90} = pqueue2:out(0, Q89),
- {empty, _} = pqueue2:out(0, Q90),
- {{value, -17, -17}, Q91} = pqueue2:pout(Q90),
- {{value, -17, -17}, Q92} = pqueue2:pout(Q91),
- {{value, -16, -16}, Q93} = pqueue2:pout(Q92),
- {{value, -16, -16}, Q94} = pqueue2:pout(Q93),
- {{value, -15, -15}, Q95} = pqueue2:pout(Q94),
- {{value, -15, -15}, Q96} = pqueue2:pout(Q95),
- {{value, -14, -14}, Q97} = pqueue2:pout(Q96),
- {{value, -14, -14}, Q98} = pqueue2:pout(Q97),
- {{value, -13, -13}, Q99} = pqueue2:pout(Q98),
- {{value, -13, -13}, Q100} = pqueue2:pout(Q99),
- {{value, -12, -12}, Q101} = pqueue2:pout(Q100),
- {{value, -12, -12}, Q102} = pqueue2:pout(Q101),
- {{value, -11, -11}, Q103} = pqueue2:pout(Q102),
- {{value, -11, -11}, Q104} = pqueue2:pout(Q103),
- {{value, -10, -10}, Q105} = pqueue2:pout(Q104),
- {{value, -10, -10}, Q106} = pqueue2:pout(Q105),
- {{value, -9, -9}, Q107} = pqueue2:pout(Q106),
- {{value, -9, -9}, Q108} = pqueue2:pout(Q107),
- {{value, -8, -8}, Q109} = pqueue2:pout(Q108),
- {{value, -8, -8}, Q110} = pqueue2:pout(Q109),
- {{value, -7, -7}, Q111} = pqueue2:pout(Q110),
- {{value, -7, -7}, Q112} = pqueue2:pout(Q111),
- {{value, -6, -6}, Q113} = pqueue2:pout(Q112),
- {{value, -6, -6}, Q114} = pqueue2:pout(Q113),
- {{value, -5, -5}, Q115} = pqueue2:pout(Q114),
- {{value, -5, -5}, Q116} = pqueue2:pout(Q115),
- {{value, -4, -4}, Q117} = pqueue2:pout(Q116),
- {{value, -4, -4}, Q118} = pqueue2:pout(Q117),
- {{value, -3, -3}, Q119} = pqueue2:pout(Q118),
- {{value, -3, -3}, Q120} = pqueue2:pout(Q119),
- {{value, -2, -2}, Q121} = pqueue2:pout(Q120),
- {{value, -2, -2}, Q122} = pqueue2:pout(Q121),
- {{value, -1, -1}, Q123} = pqueue2:pout(Q122),
- {{value, -1, -1}, Q124} = pqueue2:pout(Q123),
- {{value, 1, 1}, Q125} = pqueue2:pout(Q124),
- {{value, 1, 1}, Q126} = pqueue2:pout(Q125),
- {{value, 2, 2}, Q127} = pqueue2:pout(Q126),
- {{value, 2, 2}, Q128} = pqueue2:pout(Q127),
- {{value, 3, 3}, Q129} = pqueue2:pout(Q128),
- {{value, 3, 3}, Q130} = pqueue2:pout(Q129),
- {{value, 4, 4}, Q131} = pqueue2:pout(Q130),
- {{value, 4, 4}, Q132} = pqueue2:pout(Q131),
- {{value, 5, 5}, Q133} = pqueue2:pout(Q132),
- {{value, 5, 5}, Q134} = pqueue2:pout(Q133),
- {{value, 6, 6}, Q135} = pqueue2:pout(Q134),
- {{value, 6, 6}, Q136} = pqueue2:pout(Q135),
- {{value, 7, 7}, Q137} = pqueue2:pout(Q136),
- {{value, 7, 7}, Q138} = pqueue2:pout(Q137),
- {{value, 8, 8}, Q139} = pqueue2:pout(Q138),
- {{value, 8, 8}, Q140} = pqueue2:pout(Q139),
- {{value, 9, 9}, Q141} = pqueue2:pout(Q140),
- {{value, 9, 9}, Q142} = pqueue2:pout(Q141),
- {{value, 10, 10}, Q143} = pqueue2:pout(Q142),
- {{value, 10, 10}, Q144} = pqueue2:pout(Q143),
- {{value, 11, 11}, Q145} = pqueue2:pout(Q144),
- {{value, 11, 11}, Q146} = pqueue2:pout(Q145),
- {{value, 12, 12}, Q147} = pqueue2:pout(Q146),
- {{value, 12, 12}, Q148} = pqueue2:pout(Q147),
- {{value, 13, 13}, Q149} = pqueue2:pout(Q148),
- {{value, 13, 13}, Q150} = pqueue2:pout(Q149),
- {{value, 14, 14}, Q151} = pqueue2:pout(Q150),
- {{value, 14, 14}, Q152} = pqueue2:pout(Q151),
- {{value, 15, 15}, Q153} = pqueue2:pout(Q152),
- {{value, 15, 15}, Q154} = pqueue2:pout(Q153),
- {{value, 16, 16}, Q155} = pqueue2:pout(Q154),
- {{value, 16, 16}, Q156} = pqueue2:pout(Q155),
- {{value, 17, 17}, Q157} = pqueue2:pout(Q156),
- {{value, 17, 17}, Q158} = pqueue2:pout(Q157),
- {{value, 18, 18}, Q159} = pqueue2:pout(Q158),
- {{value, 18, 18}, Q160} = pqueue2:pout(Q159),
- {{value, 19, 19}, Q161} = pqueue2:pout(Q160),
- {{value, 19, 19}, Q162} = pqueue2:pout(Q161),
- {{value, 20, 20}, Q163} = pqueue2:pout(Q162),
- {{value, 20, 20}, Q164} = pqueue2:pout(Q163),
- true = pqueue2:is_empty(Q164),
- {empty, Q165} = pqueue2:pout(Q164),
- true = pqueue2:is_empty(Q165),
- % test case 1, based on proper testing
- C1V0 = pqueue2:in(-18, pqueue2:new()),
- C1V1 = pqueue2:in(9, C1V0),
- C1V2 = pqueue2:in(-10, -4, C1V1),
- C1V3 = pqueue2:in(-29, C1V2),
- C1V4 = pqueue2:in(11, C1V3),
- 5 = pqueue2:len(C1V4),
- [-10, -18, 9, -29, 11] = pqueue2:to_list(C1V4),
- % test case 2, based on proper testing
- C2V0 = pqueue2:in(-4, -15, pqueue2:new()),
- C2V1 = pqueue2:in(13, C2V0),
- C2V2 = pqueue2:in(2, C2V1),
- [-4, 13, 2] = to_list(C2V2),
- ok.
-
-%%%------------------------------------------------------------------------
-%%% Private functions
-%%%------------------------------------------------------------------------
-
-merge(empty, empty) ->
- empty;
-merge(empty, {_, _, _, _, _} = H) ->
- H;
-merge({_, _, _, _, _} = H, empty) ->
- H;
-merge({P1, HL1, HR1, T, D}, {P2, _, _, _, _} = H2) when P1 < P2 ->
- {P1, HL1, merge(HR1, H2), T, D};
-merge({P1, _, _, _, _} = H1, {P2, HL2, HR2, T, D}) when P1 > P2 ->
- {P2, HL2, merge(H1, HR2), T, D};
-merge({P, HL1, HR1, element, Value1}, {P, HL2, HR2, element, Value2}) ->
- {P, merge(HL1, HR1), merge(HL2, HR2), queue,
- queue:from_list([Value2, Value1])};
-merge({P, HL1, HR1, queue, Queue}, {P, HL2, HR2, element, Value}) ->
- {P, merge(HL1, HR1), merge(HL2, HR2), queue, queue:in(Value, Queue)};
-merge({P, HL1, HR1, element, Value}, {P, HL2, HR2, queue, Queue}) ->
- {P, merge(HL1, HR1), merge(HL2, HR2), queue, queue:in(Value, Queue)}.
-
--ifdef(TEST).
--include_lib("eunit/include/eunit.hrl").
-
--include("pqueue_test.hrl").
-
-module_test_() ->
- {timeout, ?TEST_TIMEOUT, [
- {"internal tests", ?_assertOk(test())}
- ]}.
-
-long_test_() ->
- test_condition([
- {"proper tests", ?_assert(pqueue_proper:qc_pq2())}
- ], ?CLOUDI_LONG_TEST_TIMEOUT).
-
--endif.
-
diff --git a/aoc2023/build/dev/erlang/pqueue/src/pqueue3.erl b/aoc2023/build/dev/erlang/pqueue/src/pqueue3.erl
deleted file mode 100644
index 03b370a..0000000
--- a/aoc2023/build/dev/erlang/pqueue/src/pqueue3.erl
+++ /dev/null
@@ -1,404 +0,0 @@
-%-*-Mode:erlang;coding:utf-8;tab-width:4;c-basic-offset:4;indent-tabs-mode:()-*-
-% ex: set ft=erlang fenc=utf-8 sts=4 ts=4 sw=4 et nomod:
-%%%
-%%%------------------------------------------------------------------------
-%%% @doc
-%%% ==A Large Priority Queue.==
-%%% This priority queue implementation depends on layered tuples, so that tuple
-%%% access times can be exploited for quick in/out priority queue operations
-%%% when using 64 or more total priorities. This implementation was created
-%%% to avoid the slowness within the priority queue used by
-%%% both RabbitMQ and Riak
-%%% (https://github.com/basho/riak_core/blob/master/src/priority_queue.erl).
-%%% @end
-%%%
-%%% MIT License
-%%%
-%%% Copyright (c) 2011-2020 Michael Truog <mjtruog at protonmail dot com>
-%%%
-%%% Permission is hereby granted, free of charge, to any person obtaining a
-%%% copy of this software and associated documentation files (the "Software"),
-%%% to deal in the Software without restriction, including without limitation
-%%% the rights to use, copy, modify, merge, publish, distribute, sublicense,
-%%% and/or sell copies of the Software, and to permit persons to whom the
-%%% Software is furnished to do so, subject to the following conditions:
-%%%
-%%% The above copyright notice and this permission notice shall be included in
-%%% all copies or substantial portions of the Software.
-%%%
-%%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-%%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-%%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-%%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-%%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-%%% FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-%%% DEALINGS IN THE SOFTWARE.
-%%%
-%%% @author Michael Truog <mjtruog at protonmail dot com>
-%%% @copyright 2011-2020 Michael Truog
-%%% @version 2.0.1 {@date} {@time}
-%%%------------------------------------------------------------------------
-
--module(pqueue3).
--author('mjtruog at protonmail dot com').
-
-%% external interface
--export([in/2, % O(1)
- in/3, % O(1)
- is_empty/1, % O(1)
- is_queue/1, % O(1)
- len/1, % O(N)
- new/0, % O(1)
- new/1, % O(1)
- out/1, % O(1) amortized, O(N) worst case
- out/2, % O(1) amortized, O(N) worst case
- pout/1, % O(1) amortized, O(N) worst case
- to_list/1]). % O(N)
-
-%%%------------------------------------------------------------------------
-%%% External interface functions
-%%%------------------------------------------------------------------------
-
--type pqueue3() :: {integer(), integer(), empty | integer(), tuple()}.
--type pqueue3_empty() :: {integer(), integer(), empty, tuple()}.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Append an item to the tail of the 0 priority queue.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec in(term(), pqueue3()) -> pqueue3().
-
-in(Value, Q) ->
- in(Value, 0, Q).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Append an item to the tail of a specific priority queue.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec in(term(), integer(), pqueue3()) -> pqueue3().
-
-in(_, P, {Size, Offset, _, _})
- when (P + Offset) < 0; (P + Offset) > Size ->
- erlang:exit(badarg);
-in(Value, P, {Size, Offset, empty, Bins}) ->
- PriorityIndex = P + Offset,
- {Size, Offset, PriorityIndex,
- in_queue(layer_indexes(Size, PriorityIndex), Value, Bins)};
-in(Value, P, {Size, Offset, I, Bins})
- when (P + Offset) < I ->
- PriorityIndex = P + Offset,
- {Size, Offset, PriorityIndex,
- in_queue(layer_indexes(Size, PriorityIndex), Value, Bins)};
-in(Value, P, {Size, Offset, I, Bins}) ->
- {Size, Offset, I,
- in_queue(layer_indexes(Size, P + Offset), Value, Bins)}.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Check if the priority queue is empty.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec is_empty(pqueue3()) -> 'true' | 'false'.
-
-is_empty({_, _, empty, _}) ->
- true;
-is_empty({_, _, _, _} = Q) ->
- case out(Q) of
- {empty, _} ->
- true;
- {{value, _}, _} ->
- false
- end.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Check if the priority queue type is as expected.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec is_queue(pqueue3()) -> 'true' | 'false'.
-
-is_queue({Size, Offset, I, Bins})
- when is_integer(Size), is_integer(Offset), is_tuple(Bins) ->
- (I =:= empty) or is_integer(I);
-is_queue(_) ->
- false.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Determine the length of a priority queue.===
-%% O(N)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec len(pqueue3()) -> non_neg_integer().
-
-len(Q) ->
- len(0, out(Q)).
-len(I, {empty, _}) ->
- I;
-len(I, {{value, _}, Q}) ->
- len(I + 1, out(Q)).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Create a new priority queue.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec new() -> pqueue3_empty().
-
-new() ->
- new([]).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Create a new priority queue with customization options.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec new(list({atom(), term()})) -> pqueue3().
-
-new(Options) ->
- Size = proplists:get_value(priorities, Options, 256),
- MiddleZero = proplists:get_value(middle_priority_zero, Options, true),
- Offset = if
- MiddleZero =:= true ->
- erlang:round((Size / 2) + 0.5) - 1;
- true ->
- 0
- end,
- {Size, Offset, empty, create(layer_sizes(Size))}.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Take an item from the head of the priority queue.===
-%% O(1) amortized, O(N) worst case
-%% @end
-%%-------------------------------------------------------------------------
-
--spec out(pqueue3()) ->
- {{'value', term()}, pqueue3()} | {'empty', pqueue3()}.
-
-out({_, _, empty, _} = Q) ->
- {empty, Q};
-out({Size, Offset, I, Bins}) ->
- {Result, NewI, NewBins} = out_check(
- I, Size, out_queue(layer_indexes(Size, I), Bins)
- ),
- {Result, {Size, Offset, NewI, NewBins}}.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Take an item of a specific priority from the head of the queue.===
-%% O(1) amortized, O(N) worst case
-%% @end
-%%-------------------------------------------------------------------------
-
--spec out(integer(), pqueue3()) ->
- {{'value', term()}, pqueue3()} | {'empty', pqueue3()}.
-
-out(P, {Size, Offset, _, _})
- when (P + Offset) < 0; (P + Offset) > Size ->
- erlang:exit(badarg);
-out(_, {_, _, empty, _} = Q) ->
- {empty, Q};
-out(P, {Size, Offset, I, Bins}) ->
- {Result, NewBins} = out_queue(layer_indexes(Size, P + Offset), Bins),
- {Result, {Size, Offset, I, NewBins}}.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Take an item from the head of the priority queue.===
-%% Includes the priority in the return value.
-%% O(1) amortized, O(N) worst case
-%% @end
-%%-------------------------------------------------------------------------
-
--spec pout(pqueue3()) ->
- {{'value', term(), integer()}, pqueue3()} | {'empty', pqueue3()}.
-
-pout({_, _, empty, _} = Q) ->
- {empty, Q};
-pout({Size, Offset, I, Bins}) ->
- {Result, NewI, NewBins} = pout_check(
- I, Size, Offset, out_queue(layer_indexes(Size, I), Bins)
- ),
- {Result, {Size, Offset, NewI, NewBins}}.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Convert the priority queue to a list.===
-%% O(N)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec to_list(pqueue3()) -> list(term()).
-
-to_list(Q) ->
- to_list([], out(Q)).
-to_list(L, {empty, _}) ->
- lists:reverse(L);
-to_list(L, {{value, Value}, Q}) ->
- to_list([Value | L], out(Q)).
-
-%%%------------------------------------------------------------------------
-%%% Private functions
-%%%------------------------------------------------------------------------
-
-create([]) ->
- queue:new();
-
-create([I | Is]) ->
- erlang:make_tuple(I + 1, create(Is)).
-
-in_queue({I1}, Value, Bins1) ->
- erlang:setelement(I1, Bins1, queue:in(Value, erlang:element(I1, Bins1)));
-
-in_queue({I1, I2}, Value, Bins1) ->
- Bins2 = erlang:element(I1, Bins1),
- erlang:setelement(I1, Bins1,
- erlang:setelement(I2, Bins2, queue:in(Value, erlang:element(I2, Bins2))));
-
-in_queue({I1, I2, I3}, Value, Bins1) ->
- Bins2 = erlang:element(I1, Bins1),
- Bins3 = erlang:element(I2, Bins2),
- erlang:setelement(I1, Bins1,
- erlang:setelement(I2, Bins2,
- erlang:setelement(I3, Bins3, queue:in(Value, erlang:element(I3, Bins3)))));
-
-in_queue({I1, I2, I3, I4}, Value, Bins1) ->
- Bins2 = erlang:element(I1, Bins1),
- Bins3 = erlang:element(I2, Bins2),
- Bins4 = erlang:element(I3, Bins3),
- erlang:setelement(I1, Bins1,
- erlang:setelement(I2, Bins2,
- erlang:setelement(I3, Bins3,
- erlang:setelement(I4, Bins4, queue:in(Value, erlang:element(I4, Bins4)))))).
-
-pout_check(Size, Size, _, {empty, Bins}) ->
- {empty, empty, Bins};
-pout_check(I, _, Offset, {{value, Value}, Bins}) ->
- {{value, Value, I - Offset}, I, Bins};
-pout_check(I, Size, Offset, {empty, Bins}) ->
- NewI = I + 1,
- pout_check(NewI, Size, Offset, out_queue(layer_indexes(Size, NewI), Bins)).
-
-out_check(Size, Size, {empty, Bins}) ->
- {empty, empty, Bins};
-out_check(I, _, {{value, _} = Result, Bins}) ->
- {Result, I, Bins};
-out_check(I, Size, {empty, Bins}) ->
- NewI = I + 1,
- out_check(NewI, Size, out_queue(layer_indexes(Size, NewI), Bins)).
-
-out_queue({I1}, Bins1) ->
- {Result, NewQueue} = queue:out(erlang:element(I1, Bins1)),
- {Result,
- erlang:setelement(I1, Bins1, NewQueue)};
-
-out_queue({I1, I2}, Bins1) ->
- Bins2 = erlang:element(I1, Bins1),
- {Result, NewQueue} = queue:out(erlang:element(I2, Bins2)),
- {Result,
- erlang:setelement(I1, Bins1,
- erlang:setelement(I2, Bins2, NewQueue))};
-
-out_queue({I1, I2, I3}, Bins1) ->
- Bins2 = erlang:element(I1, Bins1),
- Bins3 = erlang:element(I2, Bins2),
- {Result, NewQueue} = queue:out(erlang:element(I3, Bins3)),
- {Result,
- erlang:setelement(I1, Bins1,
- erlang:setelement(I2, Bins2,
- erlang:setelement(I3, Bins3, NewQueue)))};
-
-out_queue({I1, I2, I3, I4}, Bins1) ->
- Bins2 = erlang:element(I1, Bins1),
- Bins3 = erlang:element(I2, Bins2),
- Bins4 = erlang:element(I3, Bins3),
- {Result, NewQueue} = queue:out(erlang:element(I4, Bins4)),
- {Result,
- erlang:setelement(I1, Bins1,
- erlang:setelement(I2, Bins2,
- erlang:setelement(I3, Bins3,
- erlang:setelement(I4, Bins4, NewQueue))))}.
-
-layer_indexes(Size, PriorityIndex) ->
- if
- Size =< 127 ->
- {PriorityIndex + 1};
- Size =< 255 ->
- <<I1:4, I2:4>> = <<PriorityIndex:8>>,
- {I1 + 1, I2 + 1};
- Size =< 511 ->
- <<I1:4, I2:5>> = <<PriorityIndex:9>>,
- {I1 + 1, I2 + 1};
- Size =< 1023 ->
- <<I1:3, I2:3, I3:4>> = <<PriorityIndex:10>>,
- {I1 + 1, I2 + 1, I3 + 1};
- Size =< 2047 ->
- <<I1:3, I2:4, I3:4>> = <<PriorityIndex:11>>,
- {I1 + 1, I2 + 1, I3 + 1};
- Size =< 4095 ->
- <<I1:4, I2:4, I3:4>> = <<PriorityIndex:12>>,
- {I1 + 1, I2 + 1, I3 + 1};
- Size =< 8191 ->
- <<I1:4, I2:4, I3:5>> = <<PriorityIndex:13>>,
- {I1 + 1, I2 + 1, I3 + 1};
- Size =< 16383 ->
- <<I1:4, I2:5, I3:5>> = <<PriorityIndex:14>>,
- {I1 + 1, I2 + 1, I3 + 1};
- Size =< 32767 ->
- <<I1:3, I2:4, I3:4, I4:4>> = <<PriorityIndex:15>>,
- {I1 + 1, I2 + 1, I3 + 1, I4 + 1};
- Size =< 65535 ->
- <<I1:4, I2:4, I3:4, I4:4>> = <<PriorityIndex:16>>,
- {I1 + 1, I2 + 1, I3 + 1, I4 + 1}
- end.
-
-layer_sizes(Size) ->
- if
- Size =< 127 ->
- <<I1:7>> = <<127:7>>,
- [I1];
- Size =< 255 ->
- <<I1:4, I2:4>> = <<255:8>>,
- [I1, I2];
- Size =< 511 ->
- <<I1:4, I2:5>> = <<511:9>>,
- [I1, I2];
- Size =< 1023 ->
- <<I1:3, I2:3, I3:4>> = <<1023:10>>,
- [I1, I2, I3];
- Size =< 2047 ->
- <<I1:3, I2:4, I3:4>> = <<2047:11>>,
- [I1, I2, I3];
- Size =< 4095 ->
- <<I1:4, I2:4, I3:4>> = <<4095:12>>,
- [I1, I2, I3];
- Size =< 8191 ->
- <<I1:4, I2:4, I3:5>> = <<8191:13>>,
- [I1, I2, I3];
- Size =< 16383 ->
- <<I1:4, I2:5, I3:5>> = <<16383:14>>,
- [I1, I2, I3];
- Size =< 32767 ->
- <<I1:3, I2:4, I3:4, I4:4>> = <<32767:15>>,
- [I1, I2, I3, I4];
- Size =< 65535 ->
- <<I1:4, I2:4, I3:4, I4:4>> = <<65535:16>>,
- [I1, I2, I3, I4]
- end.
-
diff --git a/aoc2023/build/dev/erlang/pqueue/src/pqueue4.erl b/aoc2023/build/dev/erlang/pqueue/src/pqueue4.erl
deleted file mode 100644
index 30b188d..0000000
--- a/aoc2023/build/dev/erlang/pqueue/src/pqueue4.erl
+++ /dev/null
@@ -1,11662 +0,0 @@
-%-*-Mode:erlang;coding:utf-8;tab-width:4;c-basic-offset:4;indent-tabs-mode:()-*-
-% ex: set ft=erlang fenc=utf-8 sts=4 ts=4 sw=4 et nomod:
-%%%
-%%%------------------------------------------------------------------------
-%%% @doc
-%%% ==Static Priority Queue.==
-%%% This priority queue implementation depends on a static number of priorities
-%%% (-128 (high) to 128 (low)) so that tuple access times can be exploited for
-%%% quick in/out priority queue operations. This implementation was created to
-%%% avoid the slowness within the priority queue used by both RabbitMQ and Riak
-%%% (https://github.com/basho/riak_core/blob/master/src/priority_queue.erl).
-%%% @end
-%%%
-%%% MIT License
-%%%
-%%% Copyright (c) 2011-2020 Michael Truog <mjtruog at protonmail dot com>
-%%%
-%%% Permission is hereby granted, free of charge, to any person obtaining a
-%%% copy of this software and associated documentation files (the "Software"),
-%%% to deal in the Software without restriction, including without limitation
-%%% the rights to use, copy, modify, merge, publish, distribute, sublicense,
-%%% and/or sell copies of the Software, and to permit persons to whom the
-%%% Software is furnished to do so, subject to the following conditions:
-%%%
-%%% The above copyright notice and this permission notice shall be included in
-%%% all copies or substantial portions of the Software.
-%%%
-%%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-%%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-%%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-%%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-%%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-%%% FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-%%% DEALINGS IN THE SOFTWARE.
-%%%
-%%%
-%%% queue_remove_unique/2 is based on queue:filter/2
-%%% which is under the Apache License 2.0:
-%%%
-%%% Copyright Ericsson AB 1996-2016. All Rights Reserved.
-%%%
-%%% Licensed under the Apache License, Version 2.0 (the "License");
-%%% you may not use this file except in compliance with the License.
-%%% You may obtain a copy of the License at
-%%%
-%%% http://www.apache.org/licenses/LICENSE-2.0
-%%%
-%%% Unless required by applicable law or agreed to in writing, software
-%%% distributed under the License is distributed on an "AS IS" BASIS,
-%%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-%%% See the License for the specific language governing permissions and
-%%% limitations under the License.
-%%%
-%%% @author Michael Truog <mjtruog at protonmail dot com>
-%%% @copyright 2011-2020 Michael Truog
-%%% @version 2.0.1 {@date} {@time}
-%%%------------------------------------------------------------------------
-
--module(pqueue4).
--author('mjtruog at protonmail dot com').
-
-%% external interface
--export([filter/2, % O(N)
- filter/3, % O(N)
- in/2, % O(1)
- in/3, % O(1)
- is_empty/1, % O(1)
- is_queue/1, % O(1)
- len/1, % O(1)
- new/0, % O(1)
- out/1, % O(1) amortized, O(N) worst case
- out/2, % O(1) amortized, O(N) worst case
- pout/1, % O(1) amortized, O(N) worst case
- remove_unique/2, % O(N) but smaller constant than filter/2
- remove_unique/3, % O(N) but smaller constant than filter/3
- to_list/1, % O(N)
- to_plist/1, % O(N)
- test/0]).
-
-%%%------------------------------------------------------------------------
-%%% External interface functions
-%%%------------------------------------------------------------------------
-
--type priority() :: -128..128.
--ifdef(ERLANG_OTP_VERSION_16).
--type pqueue4(_) ::
- {priority() | 'empty', % current priority
- non_neg_integer(), % total size
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- queue(),
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()}}.
--else.
--type pqueue4(T) ::
- {priority() | 'empty', % current priority
- non_neg_integer(), % total size
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- queue:queue(T),
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)}}.
--endif.
--type pqueue4() :: pqueue4(any()).
--export_type([pqueue4/0, pqueue4/1]).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Filter the priority queue.===
-%% O(N)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec filter(fun((any()) -> boolean()), pqueue4()) -> pqueue4().
-
-filter(F, {empty, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _} = Q)
- when is_function(F, 1) ->
- Q;
-filter(F, {Pc, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _} = Q)
- when is_function(F, 1) ->
- filter_all(Pc, F, Q).
-
-filter_all(_, _, {_, 0, _, _, _, _, _, _, _, _,
- _, _, _, _, _, _, _, _, _} = Q) ->
- Q;
-filter_all(128, F, Q) ->
- filter_priority(128, F, Q);
-filter_all(P, F, Q) when is_integer(P) ->
- filter_all(P + 1, F, filter_priority(P, F, Q)).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Filter a specific priority within the priority queue.===
-%% O(N)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec filter(fun((any()) -> boolean()), integer(), pqueue4()) -> pqueue4().
-
-filter(_, P, _)
- when P < -128; P > 128 ->
- erlang:exit(badarg);
-filter(F, P, Q) when is_function(F, 1) ->
- filter_priority(P, F, Q).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Append an item to the tail of the 0 priority queue.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec in(any(), pqueue4()) -> pqueue4().
-
-in(X, Q) ->
- in(X, 0, Q).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Append an item to the tail of a specific priority queue.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec in(any(), integer(), pqueue4()) -> pqueue4().
-
-in(_, P, _)
- when P < -128; P > 128 ->
- erlang:exit(badarg);
-in(X, P, {empty, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _} = Q) ->
- in_higher(P, Q, X); % (in a higher priority)
-in(X, P, {Pc, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _} = Q)
- when P < Pc ->
- in_higher(P, Q, X); % (in a higher priority)
-in(X, P, Q) ->
- in_lower(P, Q, X). % (in a lower priority)
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Check if the priority queue is empty.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec is_empty(pqueue4()) -> 'true' | 'false'.
-
-is_empty({_, 0, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _}) ->
- true;
-is_empty({_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _}) ->
- false.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Check if the priority queue type is as expected.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec is_queue(pqueue4()) -> 'true' | 'false'.
-
-is_queue({Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128})
- when is_integer(Size),
- tuple_size(Qn128) == 16, tuple_size(Qn112) == 16,
- tuple_size(Qn96) == 16, tuple_size(Qn80) == 16,
- tuple_size(Qn64) == 16, tuple_size(Qn48) == 16,
- tuple_size(Qn32) == 16, tuple_size(Qn16) == 16,
- tuple_size(Qp16) == 16, tuple_size(Qp32) == 16,
- tuple_size(Qp48) == 16, tuple_size(Qp64) == 16,
- tuple_size(Qp80) == 16, tuple_size(Qp96) == 16,
- tuple_size(Qp112) == 16, tuple_size(Qp128) == 16 ->
- (((Pc =:= empty) or is_integer(Pc)) and queue:is_queue(Q0));
-is_queue(_) ->
- false.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Determine the length of a priority queue.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec len(pqueue4()) -> non_neg_integer().
-
-len({_, Size, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _}) ->
- Size.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Create a new priority queue.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec new() -> pqueue4().
-
-new() ->
- {empty, % current priority
- 0, % current size
- erlang:make_tuple(16, queue:new()), % priority [-128..-113]
- erlang:make_tuple(16, queue:new()), % priority [-112.. -97]
- erlang:make_tuple(16, queue:new()), % priority [ -96.. -81]
- erlang:make_tuple(16, queue:new()), % priority [ -80.. -65]
- erlang:make_tuple(16, queue:new()), % priority [ -64.. -49]
- erlang:make_tuple(16, queue:new()), % priority [ -48.. -33]
- erlang:make_tuple(16, queue:new()), % priority [ -32.. -17]
- erlang:make_tuple(16, queue:new()), % priority [ -16.. -1]
- queue:new(), % priority 0 (default)
- erlang:make_tuple(16, queue:new()), % priority [ 1.. 16]
- erlang:make_tuple(16, queue:new()), % priority [ 17.. 32]
- erlang:make_tuple(16, queue:new()), % priority [ 33.. 48]
- erlang:make_tuple(16, queue:new()), % priority [ 49.. 64]
- erlang:make_tuple(16, queue:new()), % priority [ 65.. 80]
- erlang:make_tuple(16, queue:new()), % priority [ 81.. 96]
- erlang:make_tuple(16, queue:new()), % priority [ 97.. 112]
- erlang:make_tuple(16, queue:new())}. % priority [ 113.. 128]
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Take an item from the head of the priority queue.===
-%% O(1) amortized, O(N) worst case
-%% @end
-%%-------------------------------------------------------------------------
-
--spec out(pqueue4()) ->
- {{'value', any()}, pqueue4()} | {'empty', pqueue4()}.
-
-out({empty, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _} = Q) ->
- {empty, Q};
-out({Pc, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _} = Q) ->
- out_current(Pc, Q).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Take an item of a specific priority from the head of the queue.===
-%% O(1) amortized, O(N) worst case
-%% @end
-%%-------------------------------------------------------------------------
-
--spec out(integer(), pqueue4()) ->
- {{'value', any()}, pqueue4()} | {'empty', pqueue4()}.
-
-out(P, _)
- when P < -128; P > 128 ->
- erlang:exit(badarg);
-out(_, {empty, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _} = Q) ->
- {empty, Q};
-out(P, Q) ->
- out_specific(P, Q).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Take an item from the head of the priority queue.===
-%% Includes the priority in the return value.
-%% O(1) amortized, O(N) worst case
-%% @end
-%%-------------------------------------------------------------------------
-
--spec pout(pqueue4()) ->
- {{'value', any(), integer()}, pqueue4()} | {'empty', pqueue4()}.
-
-pout({empty, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _} = Q) ->
- {empty, Q};
-pout({Pc, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _} = Q) ->
- out_current_p(Pc, Q).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Remove a unique value from the priority queue with a binary predicate.===
-%% O(N) but smaller constant than filter/2
-%% @end
-%%-------------------------------------------------------------------------
-
--spec remove_unique(fun((any()) -> boolean()), pqueue4()) ->
- {boolean(), pqueue4()}.
-
-remove_unique(F, {_, 0, _, _, _, _, _, _, _, _,
- _, _, _, _, _, _, _, _, _} = Q)
- when is_function(F, 1) ->
- {false, Q};
-remove_unique(F, {Pc, _, _, _, _, _, _, _, _, _,
- _, _, _, _, _, _, _, _, _} = Q)
- when is_function(F, 1) ->
- remove_unique_all(Pc, F, Q).
-
-remove_unique_all(128, F, Q) ->
- remove_unique_p(128, F, Q);
-remove_unique_all(P, F, Q) when is_integer(P) ->
- case remove_unique_p(P, F, Q) of
- {true, _} = Result ->
- Result;
- {false, Q} ->
- remove_unique_all(P + 1, F, Q)
- end.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Remove a unique value in a specific priority within the priority queue with a binary predicate.===
-%% O(N) but smaller constant than filter/3
-%% @end
-%%-------------------------------------------------------------------------
-
--spec remove_unique(fun((any()) -> boolean()), integer(), pqueue4()) ->
- {boolean(), pqueue4()}.
-
-remove_unique(_, P, _)
- when P < -128; P > 128 ->
- erlang:exit(badarg);
-remove_unique(F, P, Q) when is_function(F, 1) ->
- remove_unique_p(P, F, Q).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Convert the priority queue to a list.===
-%% O(N)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec to_list(pqueue4()) -> list().
-
-to_list(Q) ->
- to_list([], out(Q)).
-to_list(L, {empty, _}) ->
- lists:reverse(L);
-to_list(L, {{value, Value}, Q}) ->
- to_list([Value | L], out(Q)).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Convert the priority queue to a list with priorities.===
-%% O(N)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec to_plist(pqueue4()) -> list({priority(), list()}).
-
-to_plist(Q) ->
- to_plist([], [], undefined, pout(Q)).
-to_plist(L, [], _, {empty, _}) ->
- lists:reverse(L);
-to_plist(L, Lp, Pc, {empty, _}) ->
- lists:reverse([{Pc, lists:reverse(Lp)} | L]);
-to_plist(L, Lp, Pc, {{value, Value, Pc}, Q}) ->
- to_plist(L, [Value | Lp], Pc, pout(Q));
-to_plist(L, [], _, {{value, Value, Pc}, Q}) ->
- to_plist(L, [Value], Pc, pout(Q));
-to_plist(L, Lp, P, {{value, Value, Pc}, Q}) ->
- to_plist([{P, lists:reverse(Lp)} | L], [Value], Pc, pout(Q)).
-
-%%-------------------------------------------------------------------------
-%% @private
-%% @doc
-%% ===Regression test.===
-%% @end
-%%-------------------------------------------------------------------------
-
-test() ->
- Q0 = pqueue4:new(),
- true = pqueue4:is_queue(Q0),
- Q1 = pqueue4:in(20, 20, Q0),
- Q2 = pqueue4:in(19, 19, Q1),
- Q3 = pqueue4:in(18, 18, Q2),
- Q4 = pqueue4:in(17, 17, Q3),
- Q5 = pqueue4:in(16, 16, Q4),
- Q6 = pqueue4:in(15, 15, Q5),
- Q7 = pqueue4:in(14, 14, Q6),
- Q8 = pqueue4:in(13, 13, Q7),
- Q9 = pqueue4:in(12, 12, Q8),
- Q10 = pqueue4:in(11, 11, Q9),
- Q11 = pqueue4:in(10, 10, Q10),
- Q12 = pqueue4:in(9, 9, Q11),
- Q13 = pqueue4:in(8, 8, Q12),
- Q14 = pqueue4:in(7, 7, Q13),
- Q15 = pqueue4:in(6, 6, Q14),
- Q16 = pqueue4:in(5, 5, Q15),
- Q17 = pqueue4:in(4, 4, Q16),
- Q18 = pqueue4:in(3, 3, Q17),
- Q19 = pqueue4:in(2, 2, Q18),
- Q20 = pqueue4:in(1, 1, Q19),
- Q21 = pqueue4:in(0, 0, Q20),
- Q22 = pqueue4:in(-1, -1, Q21),
- Q23 = pqueue4:in(-2, -2, Q22),
- Q24 = pqueue4:in(-3, -3, Q23),
- Q25 = pqueue4:in(-4, -4, Q24),
- Q26 = pqueue4:in(-5, -5, Q25),
- Q27 = pqueue4:in(-6, -6, Q26),
- Q28 = pqueue4:in(-7, -7, Q27),
- Q29 = pqueue4:in(-8, -8, Q28),
- Q30 = pqueue4:in(-9, -9, Q29),
- Q31 = pqueue4:in(-10, -10, Q30),
- Q32 = pqueue4:in(-11, -11, Q31),
- Q33 = pqueue4:in(-12, -12, Q32),
- Q34 = pqueue4:in(-13, -13, Q33),
- Q35 = pqueue4:in(-14, -14, Q34),
- Q36 = pqueue4:in(-15, -15, Q35),
- Q37 = pqueue4:in(-16, -16, Q36),
- Q38 = pqueue4:in(-17, -17, Q37),
- Q39 = pqueue4:in(-18, -18, Q38),
- Q40 = pqueue4:in(-19, -19, Q39),
- Q41 = pqueue4:in(-20, -20, Q40),
- Q42 = pqueue4:in(-20, -20, Q41),
- Q43 = pqueue4:in(-19, -19, Q42),
- Q44 = pqueue4:in(-18, -18, Q43),
- Q45 = pqueue4:in(-17, -17, Q44),
- Q46 = pqueue4:in(-16, -16, Q45),
- Q47 = pqueue4:in(-15, -15, Q46),
- Q48 = pqueue4:in(-14, -14, Q47),
- Q49 = pqueue4:in(-13, -13, Q48),
- Q50 = pqueue4:in(-12, -12, Q49),
- Q51 = pqueue4:in(-11, -11, Q50),
- Q52 = pqueue4:in(-10, -10, Q51),
- Q53 = pqueue4:in(-9, -9, Q52),
- Q54 = pqueue4:in(-8, -8, Q53),
- Q55 = pqueue4:in(-7, -7, Q54),
- Q56 = pqueue4:in(-6, -6, Q55),
- Q57 = pqueue4:in(-5, -5, Q56),
- Q58 = pqueue4:in(-4, -4, Q57),
- Q59 = pqueue4:in(-3, -3, Q58),
- Q60 = pqueue4:in(-2, -2, Q59),
- Q61 = pqueue4:in(-1, -1, Q60),
- Q62 = pqueue4:in(0, 0, Q61),
- Q63 = pqueue4:in(1, 1, Q62),
- Q64 = pqueue4:in(2, 2, Q63),
- Q65 = pqueue4:in(3, 3, Q64),
- Q66 = pqueue4:in(4, 4, Q65),
- Q67 = pqueue4:in(5, 5, Q66),
- Q68 = pqueue4:in(6, 6, Q67),
- Q69 = pqueue4:in(7, 7, Q68),
- Q70 = pqueue4:in(8, 8, Q69),
- Q71 = pqueue4:in(9, 9, Q70),
- Q72 = pqueue4:in(10, 10, Q71),
- Q73 = pqueue4:in(11, 11, Q72),
- Q74 = pqueue4:in(12, 12, Q73),
- Q75 = pqueue4:in(13, 13, Q74),
- Q76 = pqueue4:in(14, 14, Q75),
- Q77 = pqueue4:in(15, 15, Q76),
- Q78 = pqueue4:in(16, 16, Q77),
- Q79 = pqueue4:in(17, 17, Q78),
- Q80 = pqueue4:in(18, 18, Q79),
- Q81 = pqueue4:in(19, 19, Q80),
- Q82 = pqueue4:in(20, 20, Q81),
- true = pqueue4:is_queue(Q82),
- 82 = pqueue4:len(Q82),
- [-20, -20, -19, -19, -18, -18, -17, -17, -16, -16, -15, -15, -14, -14,
- -13, -13, -12, -12, -11, -11, -10, -10, -9, -9, -8, -8, -7, -7, -6, -6,
- -5, -5, -4, -4, -3, -3, -2, -2, -1, -1, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4,
- 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14,
- 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20] = pqueue4:to_list(Q82),
- [{-20, [-20, -20]}, {-19, [-19, -19]}, {-18, [-18, -18]},
- {-17, [-17, -17]}, {-16, [-16, -16]}, {-15, [-15, -15]},
- {-14, [-14, -14]}, {-13, [-13, -13]}, {-12, [-12, -12]},
- {-11, [-11, -11]}, {-10, [-10, -10]}, {-9, [-9, -9]},
- {-8, [-8, -8]}, {-7, [-7, -7]}, {-6, [-6, -6]},
- {-5, [-5, -5]}, {-4, [-4, -4]}, {-3, [-3, -3]},
- {-2, [-2, -2]}, {-1, [-1, -1]}, {0, [0, 0]},
- {1, [1, 1]}, {2, [2, 2]}, {3, [3, 3]},
- {4, [4, 4]}, {5, [5, 5]}, {6, [6, 6]},
- {7, [7, 7]}, {8, [8, 8]}, {9, [9, 9]},
- {10, [10, 10]}, {11, [11, 11]}, {12, [12, 12]},
- {13, [13, 13]}, {14, [14, 14]}, {15, [15, 15]},
- {16, [16, 16]}, {17, [17, 17]}, {18, [18, 18]},
- {19, [19, 19]}, {20, [20, 20]}] = pqueue4:to_plist(Q82),
- {{value, -20}, Q83} = pqueue4:out(Q82),
- {{value, -20}, Q84} = pqueue4:out(Q83),
- {{value, -19}, Q85} = pqueue4:out(Q84),
- {{value, -19}, Q86} = pqueue4:out(Q85),
- {{value, -18}, Q87} = pqueue4:out(Q86),
- {{value, -18}, Q88} = pqueue4:out(Q87),
- {{value, 0}, Q89} = pqueue4:out(0, Q88),
- {{value, 0}, Q90} = pqueue4:out(0, Q89),
- {empty, _} = pqueue4:out(0, Q90),
- {{value, -17, -17}, Q91} = pqueue4:pout(Q90),
- {{value, -17, -17}, Q92} = pqueue4:pout(Q91),
- {{value, -16, -16}, Q93} = pqueue4:pout(Q92),
- {{value, -16, -16}, Q94} = pqueue4:pout(Q93),
- {{value, -15, -15}, Q95} = pqueue4:pout(Q94),
- {{value, -15, -15}, Q96} = pqueue4:pout(Q95),
- {{value, -14, -14}, Q97} = pqueue4:pout(Q96),
- {{value, -14, -14}, Q98} = pqueue4:pout(Q97),
- {{value, -13, -13}, Q99} = pqueue4:pout(Q98),
- {{value, -13, -13}, Q100} = pqueue4:pout(Q99),
- {{value, -12, -12}, Q101} = pqueue4:pout(Q100),
- {{value, -12, -12}, Q102} = pqueue4:pout(Q101),
- {{value, -11, -11}, Q103} = pqueue4:pout(Q102),
- {{value, -11, -11}, Q104} = pqueue4:pout(Q103),
- {{value, -10, -10}, Q105} = pqueue4:pout(Q104),
- {{value, -10, -10}, Q106} = pqueue4:pout(Q105),
- {{value, -9, -9}, Q107} = pqueue4:pout(Q106),
- {{value, -9, -9}, Q108} = pqueue4:pout(Q107),
- {{value, -8, -8}, Q109} = pqueue4:pout(Q108),
- {{value, -8, -8}, Q110} = pqueue4:pout(Q109),
- {{value, -7, -7}, Q111} = pqueue4:pout(Q110),
- {{value, -7, -7}, Q112} = pqueue4:pout(Q111),
- {{value, -6, -6}, Q113} = pqueue4:pout(Q112),
- {{value, -6, -6}, Q114} = pqueue4:pout(Q113),
- {{value, -5, -5}, Q115} = pqueue4:pout(Q114),
- {{value, -5, -5}, Q116} = pqueue4:pout(Q115),
- {{value, -4, -4}, Q117} = pqueue4:pout(Q116),
- {{value, -4, -4}, Q118} = pqueue4:pout(Q117),
- {{value, -3, -3}, Q119} = pqueue4:pout(Q118),
- {{value, -3, -3}, Q120} = pqueue4:pout(Q119),
- {{value, -2, -2}, Q121} = pqueue4:pout(Q120),
- {{value, -2, -2}, Q122} = pqueue4:pout(Q121),
- {{value, -1, -1}, Q123} = pqueue4:pout(Q122),
- {{value, -1, -1}, Q124} = pqueue4:pout(Q123),
- {{value, 1, 1}, Q125} = pqueue4:pout(Q124),
- {{value, 1, 1}, Q126} = pqueue4:pout(Q125),
- {{value, 2, 2}, Q127} = pqueue4:pout(Q126),
- {{value, 2, 2}, Q128} = pqueue4:pout(Q127),
- {{value, 3, 3}, Q129} = pqueue4:pout(Q128),
- {{value, 3, 3}, Q130} = pqueue4:pout(Q129),
- {{value, 4, 4}, Q131} = pqueue4:pout(Q130),
- {{value, 4, 4}, Q132} = pqueue4:pout(Q131),
- {{value, 5, 5}, Q133} = pqueue4:pout(Q132),
- {{value, 5, 5}, Q134} = pqueue4:pout(Q133),
- {{value, 6, 6}, Q135} = pqueue4:pout(Q134),
- {{value, 6, 6}, Q136} = pqueue4:pout(Q135),
- {{value, 7, 7}, Q137} = pqueue4:pout(Q136),
- {{value, 7, 7}, Q138} = pqueue4:pout(Q137),
- {{value, 8, 8}, Q139} = pqueue4:pout(Q138),
- {{value, 8, 8}, Q140} = pqueue4:pout(Q139),
- {{value, 9, 9}, Q141} = pqueue4:pout(Q140),
- {{value, 9, 9}, Q142} = pqueue4:pout(Q141),
- {{value, 10, 10}, Q143} = pqueue4:pout(Q142),
- {{value, 10, 10}, Q144} = pqueue4:pout(Q143),
- {{value, 11, 11}, Q145} = pqueue4:pout(Q144),
- {{value, 11, 11}, Q146} = pqueue4:pout(Q145),
- {{value, 12, 12}, Q147} = pqueue4:pout(Q146),
- {{value, 12, 12}, Q148} = pqueue4:pout(Q147),
- {{value, 13, 13}, Q149} = pqueue4:pout(Q148),
- {{value, 13, 13}, Q150} = pqueue4:pout(Q149),
- {{value, 14, 14}, Q151} = pqueue4:pout(Q150),
- {{value, 14, 14}, Q152} = pqueue4:pout(Q151),
- {{value, 15, 15}, Q153} = pqueue4:pout(Q152),
- {{value, 15, 15}, Q154} = pqueue4:pout(Q153),
- {{value, 16, 16}, Q155} = pqueue4:pout(Q154),
- {{value, 16, 16}, Q156} = pqueue4:pout(Q155),
- {{value, 17, 17}, Q157} = pqueue4:pout(Q156),
- {{value, 17, 17}, Q158} = pqueue4:pout(Q157),
- {{value, 18, 18}, Q159} = pqueue4:pout(Q158),
- {{value, 18, 18}, Q160} = pqueue4:pout(Q159),
- {{value, 19, 19}, Q161} = pqueue4:pout(Q160),
- {{value, 19, 19}, Q162} = pqueue4:pout(Q161),
- {{value, 20, 20}, Q163} = pqueue4:pout(Q162),
- {{value, 20, 20}, Q164} = pqueue4:pout(Q163),
- {{value, 20}, Q164} = pqueue4:out(Q163),
- {{value, 20}, Q164} = pqueue4:out(20, Q163),
- true = pqueue4:is_empty(Q164),
- empty = erlang:element(1, Q164), % current priority
- 0 = erlang:element(2, Q164), % size
- {empty, Q164} = pqueue4:pout(Q164),
- {empty, Q164} = pqueue4:out(Q164),
- {empty, Q164} = pqueue4:out(20, Q164),
-
- Queue0 = queue:new(),
- "{[],[]}" = lists:flatten(io_lib:format("~p", [Queue0])),
- Queue1 = queue:in(1, Queue0),
- Queue2 = queue:in(2, Queue1),
- Queue3 = queue:in(3, Queue2),
- {{value, 1}, _} = queue:out(Queue2),
- "{[3,2],[1]}" = lists:flatten(io_lib:format("~p", [Queue3])),
- {true, {[3],[1]}} = queue_remove_unique(fun(I) -> I == 2 end, {[3,2],[1]}),
- Queue4 = queue:filter(fun(I) -> not (I == 2) end, Queue3),
- "{[3],[1]}" = lists:flatten(io_lib:format("~p", [Queue4])),
- 2 = queue:len(Queue4),
- {{value, 1}, _} = queue:out(Queue4),
- [1, 3] = queue:to_list(Queue4),
-
- Q166 = pqueue4:new(),
- true = pqueue4:is_queue(Q166),
- Q167 = pqueue4:in(6, 1, Q166),
- Q168 = pqueue4:in(7, 1, Q167),
- Q169 = pqueue4:in(8, 1, Q168),
- Q170 = pqueue4:in(3, 0, Q169),
- Q171 = pqueue4:in(4, 0, Q170),
- Q172 = pqueue4:in(5, 0, Q171),
- Q173 = pqueue4:in(0, -1, Q172),
- Q174 = pqueue4:in(1, -1, Q173),
- Q175 = pqueue4:in(2, -1, Q174),
- [{-1, [0, 1, 2]}, {0, [3, 4, 5]}, {1, [6, 7, 8]}] = pqueue4:to_plist(Q175),
- 3 = pqueue4:len(pqueue4:filter(fun(I) -> I > 5 end, Q175)),
- 3 = pqueue4:len(pqueue4:filter(fun(I) -> I < 3 end, Q175)),
- 3 = pqueue4:len(pqueue4:filter(fun(I) -> (I < 1) orelse (I > 6) end, Q175)),
- {true, Q176} = pqueue4:remove_unique(fun(I) -> I == 4 end, Q175),
- [{-1, [0, 1, 2]}, {0, [3, 5]}, {1, [6, 7, 8]}] = pqueue4:to_plist(Q176),
- {true, Q177} = pqueue4:remove_unique(fun(I) -> I == 1 end, Q176),
- [{-1, [0, 2]}, {0, [3, 5]}, {1, [6, 7, 8]}] = pqueue4:to_plist(Q177),
- {true, Q178} = pqueue4:remove_unique(fun(I) -> I == 7 end, Q177),
- [{-1, [0, 2]}, {0, [3, 5]}, {1, [6, 8]}] = pqueue4:to_plist(Q178),
- 6 = pqueue4:len(Q178),
- {{value, 0, -1}, Q179} = pqueue4:pout(Q178),
- {{value, 2}, Q180} = pqueue4:out(Q179),
- {{value, 6}, Q181} = pqueue4:out(1, Q180),
- {false, Q181} = pqueue4:remove_unique(fun(I) -> I == 7 end, Q181),
- [{0, [3, 5]}, {1, [8]}] = pqueue4:to_plist(Q181),
- {true, Q182} = pqueue4:remove_unique(fun(I) -> I == 5 end, Q181),
- {true, Q183} = pqueue4:remove_unique(fun(I) -> I == 8 end, 1, Q182),
- {true, Q184} = pqueue4:remove_unique(fun(I) -> I == 3 end, Q183),
- {empty, Q184} = pqueue4:pout(Q184),
- {empty, Q184} = pqueue4:out(Q184),
- {empty, Q184} = pqueue4:out(0, Q184),
- ok.
-
-%%%------------------------------------------------------------------------
-%%% Private functions
-%%%------------------------------------------------------------------------
-
-%% @hidden
--define(FILTER_P_Qn128(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- {Qn128, Qn127, Qn126, Qn125, Qn124, Qn123, Qn122, Qn121,
- Qn120, Qn119, Qn118, Qn117, Qn116, Qn115, Qn114, Qn113},
- Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- V3,
- Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(FILTER_P_Qn112(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128,
- {Qn112, Qn111, Qn110, Qn109, Qn108, Qn107, Qn106, Qn105,
- Qn104, Qn103, Qn102, Qn101, Qn100, Qn99, Qn98, Qn97},
- Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128,
- V3,
- Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(FILTER_P_Qn96(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128, Qn112,
- {Qn96, Qn95, Qn94, Qn93, Qn92, Qn91, Qn90, Qn89,
- Qn88, Qn87, Qn86, Qn85, Qn84, Qn83, Qn82, Qn81},
- Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112,
- V3,
- Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(FILTER_P_Qn80(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96,
- {Qn80, Qn79, Qn78, Qn77, Qn76, Qn75, Qn74, Qn73,
- Qn72, Qn71, Qn70, Qn69, Qn68, Qn67, Qn66, Qn65},
- Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96,
- V3,
- Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(FILTER_P_Qn64(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80,
- {Qn64, Qn63, Qn62, Qn61, Qn60, Qn59, Qn58, Qn57,
- Qn56, Qn55, Qn54, Qn53, Qn52, Qn51, Qn50, Qn49},
- Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80,
- V3,
- Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(FILTER_P_Qn48(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64,
- {Qn48, Qn47, Qn46, Qn45, Qn44, Qn43, Qn42, Qn41,
- Qn40, Qn39, Qn38, Qn37, Qn36, Qn35, Qn34, Qn33},
- Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64,
- V3,
- Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(FILTER_P_Qn32(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48,
- {Qn32, Qn31, Qn30, Qn29, Qn28, Qn27, Qn26, Qn25,
- Qn24, Qn23, Qn22, Qn21, Qn20, Qn19, Qn18, Qn17},
- Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48,
- V3,
- Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(FILTER_P_Qn16(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32,
- {Qn16, Qn15, Qn14, Qn13, Qn12, Qn11, Qn10, Qn9,
- Qn8, Qn7, Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32,
- V3,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(FILTER_P_Qp16(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6, Qp7, Qp8,
- Qp9, Qp10, Qp11, Qp12, Qp13, Qp14, Qp15, Qp16},
- Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- V3,
- Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(FILTER_P_Qp32(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16,
- {Qp17, Qp18, Qp19, Qp20, Qp21, Qp22, Qp23, Qp24,
- Qp25, Qp26, Qp27, Qp28, Qp29, Qp30, Qp31, Qp32},
- Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16,
- V3,
- Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(FILTER_P_Qp48(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32,
- {Qp33, Qp34, Qp35, Qp36, Qp37, Qp38, Qp39, Qp40,
- Qp41, Qp42, Qp43, Qp44, Qp45, Qp46, Qp47, Qp48},
- Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32,
- V3,
- Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(FILTER_P_Qp64(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48,
- {Qp49, Qp50, Qp51, Qp52, Qp53, Qp54, Qp55, Qp56,
- Qp57, Qp58, Qp59, Qp60, Qp61, Qp62, Qp63, Qp64},
- Qp80, Qp96, Qp112, Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48,
- V3,
- Qp80, Qp96, Qp112, Qp128}).
--define(FILTER_P_Qp80(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64,
- {Qp65, Qp66, Qp67, Qp68, Qp69, Qp70, Qp71, Qp72,
- Qp73, Qp74, Qp75, Qp76, Qp77, Qp78, Qp79, Qp80},
- Qp96, Qp112, Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64,
- V3,
- Qp96, Qp112, Qp128}).
--define(FILTER_P_Qp96(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80,
- {Qp81, Qp82, Qp83, Qp84, Qp85, Qp86, Qp87, Qp88,
- Qp89, Qp90, Qp91, Qp92, Qp93, Qp94, Qp95, Qp96},
- Qp112, Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80,
- V3,
- Qp112, Qp128}).
--define(FILTER_P_Qp112(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96,
- {Qp97, Qp98, Qp99, Qp100, Qp101, Qp102, Qp103, Qp104,
- Qp105, Qp106, Qp107, Qp108, Qp109, Qp110, Qp111, Qp112},
- Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96,
- V3,
- Qp128}).
--define(FILTER_P_Qp128(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- {Qp113, Qp114, Qp115, Qp116, Qp117, Qp118, Qp119, Qp120,
- Qp121, Qp122, Qp123, Qp124, Qp125, Qp126, Qp127, Qp128}}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- V3}).
-
-?FILTER_P_Qn128(-128,
- Qn128, NewQn128,
- {NewQn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?FILTER_P_Qn128(-127,
- Qn127, NewQn127,
- {Qn128, NewQn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?FILTER_P_Qn128(-126,
- Qn126, NewQn126,
- {Qn128, Qn127, NewQn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?FILTER_P_Qn128(-125,
- Qn125, NewQn125,
- {Qn128, Qn127, Qn126, NewQn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?FILTER_P_Qn128(-124,
- Qn124, NewQn124,
- {Qn128, Qn127, Qn126, Qn125, NewQn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?FILTER_P_Qn128(-123,
- Qn123, NewQn123,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- NewQn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?FILTER_P_Qn128(-122,
- Qn122, NewQn122,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, NewQn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?FILTER_P_Qn128(-121,
- Qn121, NewQn121,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, NewQn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?FILTER_P_Qn128(-120,
- Qn120, NewQn120,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, NewQn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?FILTER_P_Qn128(-119,
- Qn119, NewQn119,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, NewQn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?FILTER_P_Qn128(-118,
- Qn118, NewQn118,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, NewQn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?FILTER_P_Qn128(-117,
- Qn117, NewQn117,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- NewQn117, Qn116, Qn115, Qn114, Qn113});
-?FILTER_P_Qn128(-116,
- Qn116, NewQn116,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, NewQn116, Qn115, Qn114, Qn113});
-?FILTER_P_Qn128(-115,
- Qn115, NewQn115,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, NewQn115, Qn114, Qn113});
-?FILTER_P_Qn128(-114,
- Qn114, NewQn114,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, NewQn114, Qn113});
-?FILTER_P_Qn128(-113,
- Qn113, NewQn113,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, NewQn113});
-?FILTER_P_Qn112(-112,
- Qn112, NewQn112,
- {NewQn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?FILTER_P_Qn112(-111,
- Qn111, NewQn111,
- {Qn112, NewQn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?FILTER_P_Qn112(-110,
- Qn110, NewQn110,
- {Qn112, Qn111, NewQn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?FILTER_P_Qn112(-109,
- Qn109, NewQn109,
- {Qn112, Qn111, Qn110, NewQn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?FILTER_P_Qn112(-108,
- Qn108, NewQn108,
- {Qn112, Qn111, Qn110, Qn109, NewQn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?FILTER_P_Qn112(-107,
- Qn107, NewQn107,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- NewQn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?FILTER_P_Qn112(-106,
- Qn106, NewQn106,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, NewQn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?FILTER_P_Qn112(-105,
- Qn105, NewQn105,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, NewQn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?FILTER_P_Qn112(-104,
- Qn104, NewQn104,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, NewQn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?FILTER_P_Qn112(-103,
- Qn103, NewQn103,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, NewQn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?FILTER_P_Qn112(-102,
- Qn102, NewQn102,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, NewQn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?FILTER_P_Qn112(-101,
- Qn101, NewQn101,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- NewQn101, Qn100, Qn99, Qn98, Qn97});
-?FILTER_P_Qn112(-100,
- Qn100, NewQn100,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, NewQn100, Qn99, Qn98, Qn97});
-?FILTER_P_Qn112(-99,
- Qn99, NewQn99,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, NewQn99, Qn98, Qn97});
-?FILTER_P_Qn112(-98,
- Qn98, NewQn98,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, NewQn98, Qn97});
-?FILTER_P_Qn112(-97,
- Qn97, NewQn97,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, NewQn97});
-?FILTER_P_Qn96(-96,
- Qn96, NewQn96,
- {NewQn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?FILTER_P_Qn96(-95,
- Qn95, NewQn95,
- {Qn96, NewQn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?FILTER_P_Qn96(-94,
- Qn94, NewQn94,
- {Qn96, Qn95, NewQn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?FILTER_P_Qn96(-93,
- Qn93, NewQn93,
- {Qn96, Qn95, Qn94, NewQn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?FILTER_P_Qn96(-92,
- Qn92, NewQn92,
- {Qn96, Qn95, Qn94, Qn93, NewQn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?FILTER_P_Qn96(-91,
- Qn91, NewQn91,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- NewQn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?FILTER_P_Qn96(-90,
- Qn90, NewQn90,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, NewQn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?FILTER_P_Qn96(-89,
- Qn89, NewQn89,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, NewQn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?FILTER_P_Qn96(-88,
- Qn88, NewQn88,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, NewQn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?FILTER_P_Qn96(-87,
- Qn87, NewQn87,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, NewQn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?FILTER_P_Qn96(-86,
- Qn86, NewQn86,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, NewQn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?FILTER_P_Qn96(-85,
- Qn85, NewQn85,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- NewQn85, Qn84, Qn83, Qn82, Qn81});
-?FILTER_P_Qn96(-84,
- Qn84, NewQn84,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, NewQn84, Qn83, Qn82, Qn81});
-?FILTER_P_Qn96(-83,
- Qn83, NewQn83,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, NewQn83, Qn82, Qn81});
-?FILTER_P_Qn96(-82,
- Qn82, NewQn82,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, NewQn82, Qn81});
-?FILTER_P_Qn96(-81,
- Qn81, NewQn81,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, NewQn81});
-?FILTER_P_Qn80(-80,
- Qn80, NewQn80,
- {NewQn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?FILTER_P_Qn80(-79,
- Qn79, NewQn79,
- {Qn80, NewQn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?FILTER_P_Qn80(-78,
- Qn78, NewQn78,
- {Qn80, Qn79, NewQn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?FILTER_P_Qn80(-77,
- Qn77, NewQn77,
- {Qn80, Qn79, Qn78, NewQn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?FILTER_P_Qn80(-76,
- Qn76, NewQn76,
- {Qn80, Qn79, Qn78, Qn77, NewQn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?FILTER_P_Qn80(-75,
- Qn75, NewQn75,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- NewQn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?FILTER_P_Qn80(-74,
- Qn74, NewQn74,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, NewQn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?FILTER_P_Qn80(-73,
- Qn73, NewQn73,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, NewQn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?FILTER_P_Qn80(-72,
- Qn72, NewQn72,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, NewQn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?FILTER_P_Qn80(-71,
- Qn71, NewQn71,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, NewQn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?FILTER_P_Qn80(-70,
- Qn70, NewQn70,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, NewQn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?FILTER_P_Qn80(-69,
- Qn69, NewQn69,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- NewQn69, Qn68, Qn67, Qn66, Qn65});
-?FILTER_P_Qn80(-68,
- Qn68, NewQn68,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, NewQn68, Qn67, Qn66, Qn65});
-?FILTER_P_Qn80(-67,
- Qn67, NewQn67,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, NewQn67, Qn66, Qn65});
-?FILTER_P_Qn80(-66,
- Qn66, NewQn66,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, NewQn66, Qn65});
-?FILTER_P_Qn80(-65,
- Qn65, NewQn65,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, NewQn65});
-?FILTER_P_Qn64(-64,
- Qn64, NewQn64,
- {NewQn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?FILTER_P_Qn64(-63,
- Qn63, NewQn63,
- {Qn64, NewQn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?FILTER_P_Qn64(-62,
- Qn62, NewQn62,
- {Qn64, Qn63, NewQn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?FILTER_P_Qn64(-61,
- Qn61, NewQn61,
- {Qn64, Qn63, Qn62, NewQn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?FILTER_P_Qn64(-60,
- Qn60, NewQn60,
- {Qn64, Qn63, Qn62, Qn61, NewQn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?FILTER_P_Qn64(-59,
- Qn59, NewQn59,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- NewQn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?FILTER_P_Qn64(-58,
- Qn58, NewQn58,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, NewQn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?FILTER_P_Qn64(-57,
- Qn57, NewQn57,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, NewQn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?FILTER_P_Qn64(-56,
- Qn56, NewQn56,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, NewQn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?FILTER_P_Qn64(-55,
- Qn55, NewQn55,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, NewQn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?FILTER_P_Qn64(-54,
- Qn54, NewQn54,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, NewQn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?FILTER_P_Qn64(-53,
- Qn53, NewQn53,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- NewQn53, Qn52, Qn51, Qn50, Qn49});
-?FILTER_P_Qn64(-52,
- Qn52, NewQn52,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, NewQn52, Qn51, Qn50, Qn49});
-?FILTER_P_Qn64(-51,
- Qn51, NewQn51,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, NewQn51, Qn50, Qn49});
-?FILTER_P_Qn64(-50,
- Qn50, NewQn50,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, NewQn50, Qn49});
-?FILTER_P_Qn64(-49,
- Qn49, NewQn49,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, NewQn49});
-?FILTER_P_Qn48(-48,
- Qn48, NewQn48,
- {NewQn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?FILTER_P_Qn48(-47,
- Qn47, NewQn47,
- {Qn48, NewQn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?FILTER_P_Qn48(-46,
- Qn46, NewQn46,
- {Qn48, Qn47, NewQn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?FILTER_P_Qn48(-45,
- Qn45, NewQn45,
- {Qn48, Qn47, Qn46, NewQn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?FILTER_P_Qn48(-44,
- Qn44, NewQn44,
- {Qn48, Qn47, Qn46, Qn45, NewQn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?FILTER_P_Qn48(-43,
- Qn43, NewQn43,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- NewQn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?FILTER_P_Qn48(-42,
- Qn42, NewQn42,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, NewQn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?FILTER_P_Qn48(-41,
- Qn41, NewQn41,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, NewQn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?FILTER_P_Qn48(-40,
- Qn40, NewQn40,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, NewQn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?FILTER_P_Qn48(-39,
- Qn39, NewQn39,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, NewQn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?FILTER_P_Qn48(-38,
- Qn38, NewQn38,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, NewQn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?FILTER_P_Qn48(-37,
- Qn37, NewQn37,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- NewQn37, Qn36, Qn35, Qn34, Qn33});
-?FILTER_P_Qn48(-36,
- Qn36, NewQn36,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, NewQn36, Qn35, Qn34, Qn33});
-?FILTER_P_Qn48(-35,
- Qn35, NewQn35,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, NewQn35, Qn34, Qn33});
-?FILTER_P_Qn48(-34,
- Qn34, NewQn34,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, NewQn34, Qn33});
-?FILTER_P_Qn48(-33,
- Qn33, NewQn33,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, NewQn33});
-?FILTER_P_Qn32(-32,
- Qn32, NewQn32,
- {NewQn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?FILTER_P_Qn32(-31,
- Qn31, NewQn31,
- {Qn32, NewQn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?FILTER_P_Qn32(-30,
- Qn30, NewQn30,
- {Qn32, Qn31, NewQn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?FILTER_P_Qn32(-29,
- Qn29, NewQn29,
- {Qn32, Qn31, Qn30, NewQn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?FILTER_P_Qn32(-28,
- Qn28, NewQn28,
- {Qn32, Qn31, Qn30, Qn29, NewQn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?FILTER_P_Qn32(-27,
- Qn27, NewQn27,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- NewQn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?FILTER_P_Qn32(-26,
- Qn26, NewQn26,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, NewQn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?FILTER_P_Qn32(-25,
- Qn25, NewQn25,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, NewQn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?FILTER_P_Qn32(-24,
- Qn24, NewQn24,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, NewQn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?FILTER_P_Qn32(-23,
- Qn23, NewQn23,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, NewQn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?FILTER_P_Qn32(-22,
- Qn22, NewQn22,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, NewQn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?FILTER_P_Qn32(-21,
- Qn21, NewQn21,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- NewQn21, Qn20, Qn19, Qn18, Qn17});
-?FILTER_P_Qn32(-20,
- Qn20, NewQn20,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, NewQn20, Qn19, Qn18, Qn17});
-?FILTER_P_Qn32(-19,
- Qn19, NewQn19,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, NewQn19, Qn18, Qn17});
-?FILTER_P_Qn32(-18,
- Qn18, NewQn18,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, NewQn18, Qn17});
-?FILTER_P_Qn32(-17,
- Qn17, NewQn17,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, NewQn17});
-?FILTER_P_Qn16(-16,
- Qn16, NewQn16,
- {NewQn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?FILTER_P_Qn16(-15,
- Qn15, NewQn15,
- {Qn16, NewQn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?FILTER_P_Qn16(-14,
- Qn14, NewQn14,
- {Qn16, Qn15, NewQn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?FILTER_P_Qn16(-13,
- Qn13, NewQn13,
- {Qn16, Qn15, Qn14, NewQn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?FILTER_P_Qn16(-12,
- Qn12, NewQn12,
- {Qn16, Qn15, Qn14, Qn13, NewQn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?FILTER_P_Qn16(-11,
- Qn11, NewQn11,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- NewQn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?FILTER_P_Qn16(-10,
- Qn10, NewQn10,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, NewQn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?FILTER_P_Qn16(-9,
- Qn9, NewQn9,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, NewQn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?FILTER_P_Qn16(-8,
- Qn8, NewQn8,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, NewQn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?FILTER_P_Qn16(-7,
- Qn7, NewQn7,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, NewQn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?FILTER_P_Qn16(-6,
- Qn6, NewQn6,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, NewQn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?FILTER_P_Qn16(-5,
- Qn5, NewQn5,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- NewQn5, Qn4, Qn3, Qn2, Qn1});
-?FILTER_P_Qn16(-4,
- Qn4, NewQn4,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, NewQn4, Qn3, Qn2, Qn1});
-?FILTER_P_Qn16(-3,
- Qn3, NewQn3,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, NewQn3, Qn2, Qn1});
-?FILTER_P_Qn16(-2,
- Qn2, NewQn2,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, NewQn2, Qn1});
-?FILTER_P_Qn16(-1,
- Qn1, NewQn1,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, NewQn1});
-filter_priority(0, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- NewQ0 = queue:filter(F, Q0),
- NewSize = Size - (queue:len(Q0) - queue:len(NewQ0)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- NewQ0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128};
-?FILTER_P_Qp16(1,
- Qp1, NewQp1,
- {NewQp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?FILTER_P_Qp16(2,
- Qp2, NewQp2,
- {Qp1, NewQp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?FILTER_P_Qp16(3,
- Qp3, NewQp3,
- {Qp1, Qp2, NewQp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?FILTER_P_Qp16(4,
- Qp4, NewQp4,
- {Qp1, Qp2, Qp3, NewQp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?FILTER_P_Qp16(5,
- Qp5, NewQp5,
- {Qp1, Qp2, Qp3, Qp4, NewQp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?FILTER_P_Qp16(6,
- Qp6, NewQp6,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- NewQp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?FILTER_P_Qp16(7,
- Qp7, NewQp7,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, NewQp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?FILTER_P_Qp16(8,
- Qp8, NewQp8,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, NewQp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?FILTER_P_Qp16(9,
- Qp9, NewQp9,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, NewQp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?FILTER_P_Qp16(10,
- Qp10, NewQp10,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, NewQp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?FILTER_P_Qp16(11,
- Qp11, NewQp11,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, NewQp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?FILTER_P_Qp16(12,
- Qp12, NewQp12,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- NewQp12, Qp13, Qp14, Qp15, Qp16});
-?FILTER_P_Qp16(13,
- Qp13, NewQp13,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, NewQp13, Qp14, Qp15, Qp16});
-?FILTER_P_Qp16(14,
- Qp14, NewQp14,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, NewQp14, Qp15, Qp16});
-?FILTER_P_Qp16(15,
- Qp15, NewQp15,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, NewQp15, Qp16});
-?FILTER_P_Qp16(16,
- Qp16, NewQp16,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, NewQp16});
-?FILTER_P_Qp32(17,
- Qp17, NewQp17,
- {NewQp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?FILTER_P_Qp32(18,
- Qp18, NewQp18,
- {Qp17, NewQp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?FILTER_P_Qp32(19,
- Qp19, NewQp19,
- {Qp17, Qp18, NewQp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?FILTER_P_Qp32(20,
- Qp20, NewQp20,
- {Qp17, Qp18, Qp19, NewQp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?FILTER_P_Qp32(21,
- Qp21, NewQp21,
- {Qp17, Qp18, Qp19, Qp20, NewQp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?FILTER_P_Qp32(22,
- Qp22, NewQp22,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- NewQp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?FILTER_P_Qp32(23,
- Qp23, NewQp23,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, NewQp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?FILTER_P_Qp32(24,
- Qp24, NewQp24,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, NewQp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?FILTER_P_Qp32(25,
- Qp25, NewQp25,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, NewQp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?FILTER_P_Qp32(26,
- Qp26, NewQp26,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, NewQp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?FILTER_P_Qp32(27,
- Qp27, NewQp27,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, NewQp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?FILTER_P_Qp32(28,
- Qp28, NewQp28,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- NewQp28, Qp29, Qp30, Qp31, Qp32});
-?FILTER_P_Qp32(29,
- Qp29, NewQp29,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, NewQp29, Qp30, Qp31, Qp32});
-?FILTER_P_Qp32(30,
- Qp30, NewQp30,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, NewQp30, Qp31, Qp32});
-?FILTER_P_Qp32(31,
- Qp31, NewQp31,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, NewQp31, Qp32});
-?FILTER_P_Qp32(32,
- Qp32, NewQp32,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, NewQp32});
-?FILTER_P_Qp48(33,
- Qp33, NewQp33,
- {NewQp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?FILTER_P_Qp48(34,
- Qp34, NewQp34,
- {Qp33, NewQp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?FILTER_P_Qp48(35,
- Qp35, NewQp35,
- {Qp33, Qp34, NewQp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?FILTER_P_Qp48(36,
- Qp36, NewQp36,
- {Qp33, Qp34, Qp35, NewQp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?FILTER_P_Qp48(37,
- Qp37, NewQp37,
- {Qp33, Qp34, Qp35, Qp36, NewQp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?FILTER_P_Qp48(38,
- Qp38, NewQp38,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- NewQp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?FILTER_P_Qp48(39,
- Qp39, NewQp39,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, NewQp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?FILTER_P_Qp48(40,
- Qp40, NewQp40,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, NewQp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?FILTER_P_Qp48(41,
- Qp41, NewQp41,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, NewQp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?FILTER_P_Qp48(42,
- Qp42, NewQp42,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, NewQp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?FILTER_P_Qp48(43,
- Qp43, NewQp43,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, NewQp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?FILTER_P_Qp48(44,
- Qp44, NewQp44,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- NewQp44, Qp45, Qp46, Qp47, Qp48});
-?FILTER_P_Qp48(45,
- Qp45, NewQp45,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, NewQp45, Qp46, Qp47, Qp48});
-?FILTER_P_Qp48(46,
- Qp46, NewQp46,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, NewQp46, Qp47, Qp48});
-?FILTER_P_Qp48(47,
- Qp47, NewQp47,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, NewQp47, Qp48});
-?FILTER_P_Qp48(48,
- Qp48, NewQp48,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, NewQp48});
-?FILTER_P_Qp64(49,
- Qp49, NewQp49,
- {NewQp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?FILTER_P_Qp64(50,
- Qp50, NewQp50,
- {Qp49, NewQp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?FILTER_P_Qp64(51,
- Qp51, NewQp51,
- {Qp49, Qp50, NewQp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?FILTER_P_Qp64(52,
- Qp52, NewQp52,
- {Qp49, Qp50, Qp51, NewQp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?FILTER_P_Qp64(53,
- Qp53, NewQp53,
- {Qp49, Qp50, Qp51, Qp52, NewQp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?FILTER_P_Qp64(54,
- Qp54, NewQp54,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- NewQp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?FILTER_P_Qp64(55,
- Qp55, NewQp55,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, NewQp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?FILTER_P_Qp64(56,
- Qp56, NewQp56,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, NewQp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?FILTER_P_Qp64(57,
- Qp57, NewQp57,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, NewQp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?FILTER_P_Qp64(58,
- Qp58, NewQp58,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, NewQp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?FILTER_P_Qp64(59,
- Qp59, NewQp59,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, NewQp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?FILTER_P_Qp64(60,
- Qp60, NewQp60,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- NewQp60, Qp61, Qp62, Qp63, Qp64});
-?FILTER_P_Qp64(61,
- Qp61, NewQp61,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, NewQp61, Qp62, Qp63, Qp64});
-?FILTER_P_Qp64(62,
- Qp62, NewQp62,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, NewQp62, Qp63, Qp64});
-?FILTER_P_Qp64(63,
- Qp63, NewQp63,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, NewQp63, Qp64});
-?FILTER_P_Qp64(64,
- Qp64, NewQp64,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, NewQp64});
-?FILTER_P_Qp80(65,
- Qp65, NewQp65,
- {NewQp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?FILTER_P_Qp80(66,
- Qp66, NewQp66,
- {Qp65, NewQp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?FILTER_P_Qp80(67,
- Qp67, NewQp67,
- {Qp65, Qp66, NewQp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?FILTER_P_Qp80(68,
- Qp68, NewQp68,
- {Qp65, Qp66, Qp67, NewQp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?FILTER_P_Qp80(69,
- Qp69, NewQp69,
- {Qp65, Qp66, Qp67, Qp68, NewQp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?FILTER_P_Qp80(70,
- Qp70, NewQp70,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- NewQp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?FILTER_P_Qp80(71,
- Qp71, NewQp71,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, NewQp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?FILTER_P_Qp80(72,
- Qp72, NewQp72,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, NewQp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?FILTER_P_Qp80(73,
- Qp73, NewQp73,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, NewQp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?FILTER_P_Qp80(74,
- Qp74, NewQp74,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, NewQp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?FILTER_P_Qp80(75,
- Qp75, NewQp75,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, NewQp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?FILTER_P_Qp80(76,
- Qp76, NewQp76,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- NewQp76, Qp77, Qp78, Qp79, Qp80});
-?FILTER_P_Qp80(77,
- Qp77, NewQp77,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, NewQp77, Qp78, Qp79, Qp80});
-?FILTER_P_Qp80(78,
- Qp78, NewQp78,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, NewQp78, Qp79, Qp80});
-?FILTER_P_Qp80(79,
- Qp79, NewQp79,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, NewQp79, Qp80});
-?FILTER_P_Qp80(80,
- Qp80, NewQp80,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, NewQp80});
-?FILTER_P_Qp96(81,
- Qp81, NewQp81,
- {NewQp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?FILTER_P_Qp96(82,
- Qp82, NewQp82,
- {Qp81, NewQp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?FILTER_P_Qp96(83,
- Qp83, NewQp83,
- {Qp81, Qp82, NewQp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?FILTER_P_Qp96(84,
- Qp84, NewQp84,
- {Qp81, Qp82, Qp83, NewQp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?FILTER_P_Qp96(85,
- Qp85, NewQp85,
- {Qp81, Qp82, Qp83, Qp84, NewQp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?FILTER_P_Qp96(86,
- Qp86, NewQp86,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- NewQp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?FILTER_P_Qp96(87,
- Qp87, NewQp87,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, NewQp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?FILTER_P_Qp96(88,
- Qp88, NewQp88,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, NewQp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?FILTER_P_Qp96(89,
- Qp89, NewQp89,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, NewQp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?FILTER_P_Qp96(90,
- Qp90, NewQp90,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, NewQp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?FILTER_P_Qp96(91,
- Qp91, NewQp91,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, NewQp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?FILTER_P_Qp96(92,
- Qp92, NewQp92,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- NewQp92, Qp93, Qp94, Qp95, Qp96});
-?FILTER_P_Qp96(93,
- Qp93, NewQp93,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, NewQp93, Qp94, Qp95, Qp96});
-?FILTER_P_Qp96(94,
- Qp94, NewQp94,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, NewQp94, Qp95, Qp96});
-?FILTER_P_Qp96(95,
- Qp95, NewQp95,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, NewQp95, Qp96});
-?FILTER_P_Qp96(96,
- Qp96, NewQp96,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, NewQp96});
-?FILTER_P_Qp112(97,
- Qp97, NewQp97,
- {NewQp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?FILTER_P_Qp112(98,
- Qp98, NewQp98,
- {Qp97, NewQp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?FILTER_P_Qp112(99,
- Qp99, NewQp99,
- {Qp97, Qp98, NewQp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?FILTER_P_Qp112(100,
- Qp100, NewQp100,
- {Qp97, Qp98, Qp99, NewQp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?FILTER_P_Qp112(101,
- Qp101, NewQp101,
- {Qp97, Qp98, Qp99, Qp100, NewQp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?FILTER_P_Qp112(102,
- Qp102, NewQp102,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- NewQp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?FILTER_P_Qp112(103,
- Qp103, NewQp103,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, NewQp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?FILTER_P_Qp112(104,
- Qp104, NewQp104,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, NewQp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?FILTER_P_Qp112(105,
- Qp105, NewQp105,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, NewQp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?FILTER_P_Qp112(106,
- Qp106, NewQp106,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, NewQp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?FILTER_P_Qp112(107,
- Qp107, NewQp107,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, NewQp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?FILTER_P_Qp112(108,
- Qp108, NewQp108,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- NewQp108, Qp109, Qp110, Qp111, Qp112});
-?FILTER_P_Qp112(109,
- Qp109, NewQp109,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, NewQp109, Qp110, Qp111, Qp112});
-?FILTER_P_Qp112(110,
- Qp110, NewQp110,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, NewQp110, Qp111, Qp112});
-?FILTER_P_Qp112(111,
- Qp111, NewQp111,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, NewQp111, Qp112});
-?FILTER_P_Qp112(112,
- Qp112, NewQp112,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, NewQp112});
-?FILTER_P_Qp128(113,
- Qp113, NewQp113,
- {NewQp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?FILTER_P_Qp128(114,
- Qp114, NewQp114,
- {Qp113, NewQp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?FILTER_P_Qp128(115,
- Qp115, NewQp115,
- {Qp113, Qp114, NewQp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?FILTER_P_Qp128(116,
- Qp116, NewQp116,
- {Qp113, Qp114, Qp115, NewQp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?FILTER_P_Qp128(117,
- Qp117, NewQp117,
- {Qp113, Qp114, Qp115, Qp116, NewQp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?FILTER_P_Qp128(118,
- Qp118, NewQp118,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- NewQp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?FILTER_P_Qp128(119,
- Qp119, NewQp119,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, NewQp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?FILTER_P_Qp128(120,
- Qp120, NewQp120,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, NewQp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?FILTER_P_Qp128(121,
- Qp121, NewQp121,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, NewQp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?FILTER_P_Qp128(122,
- Qp122, NewQp122,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, NewQp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?FILTER_P_Qp128(123,
- Qp123, NewQp123,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, NewQp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?FILTER_P_Qp128(124,
- Qp124, NewQp124,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- NewQp124, Qp125, Qp126, Qp127, Qp128});
-?FILTER_P_Qp128(125,
- Qp125, NewQp125,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, NewQp125, Qp126, Qp127, Qp128});
-?FILTER_P_Qp128(126,
- Qp126, NewQp126,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, NewQp126, Qp127, Qp128});
-?FILTER_P_Qp128(127,
- Qp127, NewQp127,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, NewQp127, Qp128});
-?FILTER_P_Qp128(128,
- Qp128, NewQp128,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, NewQp128}).
-
-%% @hidden
--define(IN_HIGHER_Qn128(P, V),
-in_higher(P,
- {_,
- Size,
- {Qn128, Qn127, Qn126, Qn125, Qn124, Qn123, Qn122, Qn121,
- Qn120, Qn119, Qn118, Qn117, Qn116, Qn115, Qn114, Qn113},
- Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {P,
- Size + 1,
- V,
- Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_HIGHER_Qn112(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128,
- {Qn112, Qn111, Qn110, Qn109, Qn108, Qn107, Qn106, Qn105,
- Qn104, Qn103, Qn102, Qn101, Qn100, Qn99, Qn98, Qn97},
- Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {P,
- Size + 1,
- Qn128,
- V,
- Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_HIGHER_Qn96(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128, Qn112,
- {Qn96, Qn95, Qn94, Qn93, Qn92, Qn91, Qn90, Qn89,
- Qn88, Qn87, Qn86, Qn85, Qn84, Qn83, Qn82, Qn81},
- Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {P,
- Size + 1,
- Qn128, Qn112,
- V,
- Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_HIGHER_Qn80(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128, Qn112, Qn96,
- {Qn80, Qn79, Qn78, Qn77, Qn76, Qn75, Qn74, Qn73,
- Qn72, Qn71, Qn70, Qn69, Qn68, Qn67, Qn66, Qn65},
- Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {P,
- Size + 1,
- Qn128, Qn112, Qn96,
- V,
- Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_HIGHER_Qn64(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80,
- {Qn64, Qn63, Qn62, Qn61, Qn60, Qn59, Qn58, Qn57,
- Qn56, Qn55, Qn54, Qn53, Qn52, Qn51, Qn50, Qn49},
- Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {P,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80,
- V,
- Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_HIGHER_Qn48(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64,
- {Qn48, Qn47, Qn46, Qn45, Qn44, Qn43, Qn42, Qn41,
- Qn40, Qn39, Qn38, Qn37, Qn36, Qn35, Qn34, Qn33},
- Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {P,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64,
- V,
- Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_HIGHER_Qn32(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48,
- {Qn32, Qn31, Qn30, Qn29, Qn28, Qn27, Qn26, Qn25,
- Qn24, Qn23, Qn22, Qn21, Qn20, Qn19, Qn18, Qn17},
- Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {P,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48,
- V,
- Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_HIGHER_Qn16(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32,
- {Qn16, Qn15, Qn14, Qn13, Qn12, Qn11, Qn10, Qn9,
- Qn8, Qn7, Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {P,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32,
- V,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_HIGHER_Qp16(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6, Qp7, Qp8,
- Qp9, Qp10, Qp11, Qp12, Qp13, Qp14, Qp15, Qp16},
- Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {P,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- V,
- Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_HIGHER_Qp32(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16,
- {Qp17, Qp18, Qp19, Qp20, Qp21, Qp22, Qp23, Qp24,
- Qp25, Qp26, Qp27, Qp28, Qp29, Qp30, Qp31, Qp32},
- Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {P,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16,
- V,
- Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_HIGHER_Qp48(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32,
- {Qp33, Qp34, Qp35, Qp36, Qp37, Qp38, Qp39, Qp40,
- Qp41, Qp42, Qp43, Qp44, Qp45, Qp46, Qp47, Qp48},
- Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {P,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32,
- V,
- Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_HIGHER_Qp64(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48,
- {Qp49, Qp50, Qp51, Qp52, Qp53, Qp54, Qp55, Qp56,
- Qp57, Qp58, Qp59, Qp60, Qp61, Qp62, Qp63, Qp64},
- Qp80, Qp96, Qp112, Qp128}, X) ->
- {P,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48,
- V,
- Qp80, Qp96, Qp112, Qp128}).
--define(IN_HIGHER_Qp80(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64,
- {Qp65, Qp66, Qp67, Qp68, Qp69, Qp70, Qp71, Qp72,
- Qp73, Qp74, Qp75, Qp76, Qp77, Qp78, Qp79, Qp80},
- Qp96, Qp112, Qp128}, X) ->
- {P,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64,
- V,
- Qp96, Qp112, Qp128}).
--define(IN_HIGHER_Qp96(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80,
- {Qp81, Qp82, Qp83, Qp84, Qp85, Qp86, Qp87, Qp88,
- Qp89, Qp90, Qp91, Qp92, Qp93, Qp94, Qp95, Qp96},
- Qp112, Qp128}, X) ->
- {P,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80,
- V,
- Qp112, Qp128}).
--define(IN_HIGHER_Qp112(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96,
- {Qp97, Qp98, Qp99, Qp100, Qp101, Qp102, Qp103, Qp104,
- Qp105, Qp106, Qp107, Qp108, Qp109, Qp110, Qp111, Qp112},
- Qp128}, X) ->
- {P,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96,
- V,
- Qp128}).
--define(IN_HIGHER_Qp128(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- {Qp113, Qp114, Qp115, Qp116, Qp117, Qp118, Qp119, Qp120,
- Qp121, Qp122, Qp123, Qp124, Qp125, Qp126, Qp127, Qp128}}, X) ->
- {P,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- V}).
-
-?IN_HIGHER_Qn128(-128,
- {queue:in(X, Qn128), Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_HIGHER_Qn128(-127,
- {Qn128, queue:in(X, Qn127), Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_HIGHER_Qn128(-126,
- {Qn128, Qn127, queue:in(X, Qn126), Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_HIGHER_Qn128(-125,
- {Qn128, Qn127, Qn126, queue:in(X, Qn125), Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_HIGHER_Qn128(-124,
- {Qn128, Qn127, Qn126, Qn125, queue:in(X, Qn124),
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_HIGHER_Qn128(-123,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- queue:in(X, Qn123), Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_HIGHER_Qn128(-122,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, queue:in(X, Qn122), Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_HIGHER_Qn128(-121,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, queue:in(X, Qn121), Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_HIGHER_Qn128(-120,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, queue:in(X, Qn120), Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_HIGHER_Qn128(-119,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, queue:in(X, Qn119), Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_HIGHER_Qn128(-118,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, queue:in(X, Qn118),
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_HIGHER_Qn128(-117,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- queue:in(X, Qn117), Qn116, Qn115, Qn114, Qn113});
-?IN_HIGHER_Qn128(-116,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, queue:in(X, Qn116), Qn115, Qn114, Qn113});
-?IN_HIGHER_Qn128(-115,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, queue:in(X, Qn115), Qn114, Qn113});
-?IN_HIGHER_Qn128(-114,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, queue:in(X, Qn114), Qn113});
-?IN_HIGHER_Qn128(-113,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, queue:in(X, Qn113)});
-?IN_HIGHER_Qn112(-112,
- {queue:in(X, Qn112), Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_HIGHER_Qn112(-111,
- {Qn112, queue:in(X, Qn111), Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_HIGHER_Qn112(-110,
- {Qn112, Qn111, queue:in(X, Qn110), Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_HIGHER_Qn112(-109,
- {Qn112, Qn111, Qn110, queue:in(X, Qn109), Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_HIGHER_Qn112(-108,
- {Qn112, Qn111, Qn110, Qn109, queue:in(X, Qn108),
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_HIGHER_Qn112(-107,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- queue:in(X, Qn107), Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_HIGHER_Qn112(-106,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, queue:in(X, Qn106), Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_HIGHER_Qn112(-105,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, queue:in(X, Qn105), Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_HIGHER_Qn112(-104,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, queue:in(X, Qn104), Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_HIGHER_Qn112(-103,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, queue:in(X, Qn103), Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_HIGHER_Qn112(-102,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, queue:in(X, Qn102),
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_HIGHER_Qn112(-101,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- queue:in(X, Qn101), Qn100, Qn99, Qn98, Qn97});
-?IN_HIGHER_Qn112(-100,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, queue:in(X, Qn100), Qn99, Qn98, Qn97});
-?IN_HIGHER_Qn112(-99,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, queue:in(X, Qn99), Qn98, Qn97});
-?IN_HIGHER_Qn112(-98,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, queue:in(X, Qn98), Qn97});
-?IN_HIGHER_Qn112(-97,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, queue:in(X, Qn97)});
-?IN_HIGHER_Qn96(-96,
- {queue:in(X, Qn96), Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_HIGHER_Qn96(-95,
- {Qn96, queue:in(X, Qn95), Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_HIGHER_Qn96(-94,
- {Qn96, Qn95, queue:in(X, Qn94), Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_HIGHER_Qn96(-93,
- {Qn96, Qn95, Qn94, queue:in(X, Qn93), Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_HIGHER_Qn96(-92,
- {Qn96, Qn95, Qn94, Qn93, queue:in(X, Qn92),
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_HIGHER_Qn96(-91,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- queue:in(X, Qn91), Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_HIGHER_Qn96(-90,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, queue:in(X, Qn90), Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_HIGHER_Qn96(-89,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, queue:in(X, Qn89), Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_HIGHER_Qn96(-88,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, queue:in(X, Qn88), Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_HIGHER_Qn96(-87,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, queue:in(X, Qn87), Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_HIGHER_Qn96(-86,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, queue:in(X, Qn86),
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_HIGHER_Qn96(-85,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- queue:in(X, Qn85), Qn84, Qn83, Qn82, Qn81});
-?IN_HIGHER_Qn96(-84,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, queue:in(X, Qn84), Qn83, Qn82, Qn81});
-?IN_HIGHER_Qn96(-83,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, queue:in(X, Qn83), Qn82, Qn81});
-?IN_HIGHER_Qn96(-82,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, queue:in(X, Qn82), Qn81});
-?IN_HIGHER_Qn96(-81,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, queue:in(X, Qn81)});
-?IN_HIGHER_Qn80(-80,
- {queue:in(X, Qn80), Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_HIGHER_Qn80(-79,
- {Qn80, queue:in(X, Qn79), Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_HIGHER_Qn80(-78,
- {Qn80, Qn79, queue:in(X, Qn78), Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_HIGHER_Qn80(-77,
- {Qn80, Qn79, Qn78, queue:in(X, Qn77), Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_HIGHER_Qn80(-76,
- {Qn80, Qn79, Qn78, Qn77, queue:in(X, Qn76),
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_HIGHER_Qn80(-75,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- queue:in(X, Qn75), Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_HIGHER_Qn80(-74,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, queue:in(X, Qn74), Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_HIGHER_Qn80(-73,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, queue:in(X, Qn73), Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_HIGHER_Qn80(-72,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, queue:in(X, Qn72), Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_HIGHER_Qn80(-71,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, queue:in(X, Qn71), Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_HIGHER_Qn80(-70,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, queue:in(X, Qn70),
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_HIGHER_Qn80(-69,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- queue:in(X, Qn69), Qn68, Qn67, Qn66, Qn65});
-?IN_HIGHER_Qn80(-68,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, queue:in(X, Qn68), Qn67, Qn66, Qn65});
-?IN_HIGHER_Qn80(-67,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, queue:in(X, Qn67), Qn66, Qn65});
-?IN_HIGHER_Qn80(-66,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, queue:in(X, Qn66), Qn65});
-?IN_HIGHER_Qn80(-65,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, queue:in(X, Qn65)});
-?IN_HIGHER_Qn64(-64,
- {queue:in(X, Qn64), Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_HIGHER_Qn64(-63,
- {Qn64, queue:in(X, Qn63), Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_HIGHER_Qn64(-62,
- {Qn64, Qn63, queue:in(X, Qn62), Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_HIGHER_Qn64(-61,
- {Qn64, Qn63, Qn62, queue:in(X, Qn61), Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_HIGHER_Qn64(-60,
- {Qn64, Qn63, Qn62, Qn61, queue:in(X, Qn60),
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_HIGHER_Qn64(-59,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- queue:in(X, Qn59), Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_HIGHER_Qn64(-58,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, queue:in(X, Qn58), Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_HIGHER_Qn64(-57,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, queue:in(X, Qn57), Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_HIGHER_Qn64(-56,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, queue:in(X, Qn56), Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_HIGHER_Qn64(-55,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, queue:in(X, Qn55), Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_HIGHER_Qn64(-54,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, queue:in(X, Qn54),
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_HIGHER_Qn64(-53,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- queue:in(X, Qn53), Qn52, Qn51, Qn50, Qn49});
-?IN_HIGHER_Qn64(-52,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, queue:in(X, Qn52), Qn51, Qn50, Qn49});
-?IN_HIGHER_Qn64(-51,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, queue:in(X, Qn51), Qn50, Qn49});
-?IN_HIGHER_Qn64(-50,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, queue:in(X, Qn50), Qn49});
-?IN_HIGHER_Qn64(-49,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, queue:in(X, Qn49)});
-?IN_HIGHER_Qn48(-48,
- {queue:in(X, Qn48), Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_HIGHER_Qn48(-47,
- {Qn48, queue:in(X, Qn47), Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_HIGHER_Qn48(-46,
- {Qn48, Qn47, queue:in(X, Qn46), Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_HIGHER_Qn48(-45,
- {Qn48, Qn47, Qn46, queue:in(X, Qn45), Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_HIGHER_Qn48(-44,
- {Qn48, Qn47, Qn46, Qn45, queue:in(X, Qn44),
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_HIGHER_Qn48(-43,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- queue:in(X, Qn43), Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_HIGHER_Qn48(-42,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, queue:in(X, Qn42), Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_HIGHER_Qn48(-41,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, queue:in(X, Qn41), Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_HIGHER_Qn48(-40,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, queue:in(X, Qn40), Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_HIGHER_Qn48(-39,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, queue:in(X, Qn39), Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_HIGHER_Qn48(-38,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, queue:in(X, Qn38),
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_HIGHER_Qn48(-37,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- queue:in(X, Qn37), Qn36, Qn35, Qn34, Qn33});
-?IN_HIGHER_Qn48(-36,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, queue:in(X, Qn36), Qn35, Qn34, Qn33});
-?IN_HIGHER_Qn48(-35,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, queue:in(X, Qn35), Qn34, Qn33});
-?IN_HIGHER_Qn48(-34,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, queue:in(X, Qn34), Qn33});
-?IN_HIGHER_Qn48(-33,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, queue:in(X, Qn33)});
-?IN_HIGHER_Qn32(-32,
- {queue:in(X, Qn32), Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_HIGHER_Qn32(-31,
- {Qn32, queue:in(X, Qn31), Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_HIGHER_Qn32(-30,
- {Qn32, Qn31, queue:in(X, Qn30), Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_HIGHER_Qn32(-29,
- {Qn32, Qn31, Qn30, queue:in(X, Qn29), Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_HIGHER_Qn32(-28,
- {Qn32, Qn31, Qn30, Qn29, queue:in(X, Qn28),
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_HIGHER_Qn32(-27,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- queue:in(X, Qn27), Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_HIGHER_Qn32(-26,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, queue:in(X, Qn26), Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_HIGHER_Qn32(-25,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, queue:in(X, Qn25), Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_HIGHER_Qn32(-24,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, queue:in(X, Qn24), Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_HIGHER_Qn32(-23,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, queue:in(X, Qn23), Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_HIGHER_Qn32(-22,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, queue:in(X, Qn22),
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_HIGHER_Qn32(-21,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- queue:in(X, Qn21), Qn20, Qn19, Qn18, Qn17});
-?IN_HIGHER_Qn32(-20,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, queue:in(X, Qn20), Qn19, Qn18, Qn17});
-?IN_HIGHER_Qn32(-19,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, queue:in(X, Qn19), Qn18, Qn17});
-?IN_HIGHER_Qn32(-18,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, queue:in(X, Qn18), Qn17});
-?IN_HIGHER_Qn32(-17,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, queue:in(X, Qn17)});
-?IN_HIGHER_Qn16(-16,
- {queue:in(X, Qn16), Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_HIGHER_Qn16(-15,
- {Qn16, queue:in(X, Qn15), Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_HIGHER_Qn16(-14,
- {Qn16, Qn15, queue:in(X, Qn14), Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_HIGHER_Qn16(-13,
- {Qn16, Qn15, Qn14, queue:in(X, Qn13), Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_HIGHER_Qn16(-12,
- {Qn16, Qn15, Qn14, Qn13, queue:in(X, Qn12),
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_HIGHER_Qn16(-11,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- queue:in(X, Qn11), Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_HIGHER_Qn16(-10,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, queue:in(X, Qn10), Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_HIGHER_Qn16(-9,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, queue:in(X, Qn9), Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_HIGHER_Qn16(-8,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, queue:in(X, Qn8), Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_HIGHER_Qn16(-7,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, queue:in(X, Qn7), Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_HIGHER_Qn16(-6,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, queue:in(X, Qn6),
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_HIGHER_Qn16(-5,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- queue:in(X, Qn5), Qn4, Qn3, Qn2, Qn1});
-?IN_HIGHER_Qn16(-4,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, queue:in(X, Qn4), Qn3, Qn2, Qn1});
-?IN_HIGHER_Qn16(-3,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, queue:in(X, Qn3), Qn2, Qn1});
-?IN_HIGHER_Qn16(-2,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, queue:in(X, Qn2), Qn1});
-?IN_HIGHER_Qn16(-1,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, queue:in(X, Qn1)});
-in_higher(0,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {0,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- queue:in(X, Q0),
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128};
-?IN_HIGHER_Qp16(1,
- {queue:in(X, Qp1), Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_HIGHER_Qp16(2,
- {Qp1, queue:in(X, Qp2), Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_HIGHER_Qp16(3,
- {Qp1, Qp2, queue:in(X, Qp3), Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_HIGHER_Qp16(4,
- {Qp1, Qp2, Qp3, queue:in(X, Qp4), Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_HIGHER_Qp16(5,
- {Qp1, Qp2, Qp3, Qp4, queue:in(X, Qp5),
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_HIGHER_Qp16(6,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- queue:in(X, Qp6), Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_HIGHER_Qp16(7,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, queue:in(X, Qp7), Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_HIGHER_Qp16(8,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, queue:in(X, Qp8), Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_HIGHER_Qp16(9,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, queue:in(X, Qp9), Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_HIGHER_Qp16(10,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, queue:in(X, Qp10), Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_HIGHER_Qp16(11,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, queue:in(X, Qp11),
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_HIGHER_Qp16(12,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- queue:in(X, Qp12), Qp13, Qp14, Qp15, Qp16});
-?IN_HIGHER_Qp16(13,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, queue:in(X, Qp13), Qp14, Qp15, Qp16});
-?IN_HIGHER_Qp16(14,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, queue:in(X, Qp14), Qp15, Qp16});
-?IN_HIGHER_Qp16(15,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, queue:in(X, Qp15), Qp16});
-?IN_HIGHER_Qp16(16,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, queue:in(X, Qp16)});
-?IN_HIGHER_Qp32(17,
- {queue:in(X, Qp17), Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_HIGHER_Qp32(18,
- {Qp17, queue:in(X, Qp18), Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_HIGHER_Qp32(19,
- {Qp17, Qp18, queue:in(X, Qp19), Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_HIGHER_Qp32(20,
- {Qp17, Qp18, Qp19, queue:in(X, Qp20), Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_HIGHER_Qp32(21,
- {Qp17, Qp18, Qp19, Qp20, queue:in(X, Qp21),
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_HIGHER_Qp32(22,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- queue:in(X, Qp22), Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_HIGHER_Qp32(23,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, queue:in(X, Qp23), Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_HIGHER_Qp32(24,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, queue:in(X, Qp24), Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_HIGHER_Qp32(25,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, queue:in(X, Qp25), Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_HIGHER_Qp32(26,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, queue:in(X, Qp26), Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_HIGHER_Qp32(27,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, queue:in(X, Qp27),
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_HIGHER_Qp32(28,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- queue:in(X, Qp28), Qp29, Qp30, Qp31, Qp32});
-?IN_HIGHER_Qp32(29,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, queue:in(X, Qp29), Qp30, Qp31, Qp32});
-?IN_HIGHER_Qp32(30,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, queue:in(X, Qp30), Qp31, Qp32});
-?IN_HIGHER_Qp32(31,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, queue:in(X, Qp31), Qp32});
-?IN_HIGHER_Qp32(32,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, queue:in(X, Qp32)});
-?IN_HIGHER_Qp48(33,
- {queue:in(X, Qp33), Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_HIGHER_Qp48(34,
- {Qp33, queue:in(X, Qp34), Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_HIGHER_Qp48(35,
- {Qp33, Qp34, queue:in(X, Qp35), Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_HIGHER_Qp48(36,
- {Qp33, Qp34, Qp35, queue:in(X, Qp36), Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_HIGHER_Qp48(37,
- {Qp33, Qp34, Qp35, Qp36, queue:in(X, Qp37),
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_HIGHER_Qp48(38,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- queue:in(X, Qp38), Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_HIGHER_Qp48(39,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, queue:in(X, Qp39), Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_HIGHER_Qp48(40,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, queue:in(X, Qp40), Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_HIGHER_Qp48(41,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, queue:in(X, Qp41), Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_HIGHER_Qp48(42,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, queue:in(X, Qp42), Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_HIGHER_Qp48(43,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, queue:in(X, Qp43),
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_HIGHER_Qp48(44,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- queue:in(X, Qp44), Qp45, Qp46, Qp47, Qp48});
-?IN_HIGHER_Qp48(45,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, queue:in(X, Qp45), Qp46, Qp47, Qp48});
-?IN_HIGHER_Qp48(46,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, queue:in(X, Qp46), Qp47, Qp48});
-?IN_HIGHER_Qp48(47,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, queue:in(X, Qp47), Qp48});
-?IN_HIGHER_Qp48(48,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, queue:in(X, Qp48)});
-?IN_HIGHER_Qp64(49,
- {queue:in(X, Qp49), Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_HIGHER_Qp64(50,
- {Qp49, queue:in(X, Qp50), Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_HIGHER_Qp64(51,
- {Qp49, Qp50, queue:in(X, Qp51), Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_HIGHER_Qp64(52,
- {Qp49, Qp50, Qp51, queue:in(X, Qp52), Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_HIGHER_Qp64(53,
- {Qp49, Qp50, Qp51, Qp52, queue:in(X, Qp53),
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_HIGHER_Qp64(54,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- queue:in(X, Qp54), Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_HIGHER_Qp64(55,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, queue:in(X, Qp55), Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_HIGHER_Qp64(56,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, queue:in(X, Qp56), Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_HIGHER_Qp64(57,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, queue:in(X, Qp57), Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_HIGHER_Qp64(58,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, queue:in(X, Qp58), Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_HIGHER_Qp64(59,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, queue:in(X, Qp59),
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_HIGHER_Qp64(60,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- queue:in(X, Qp60), Qp61, Qp62, Qp63, Qp64});
-?IN_HIGHER_Qp64(61,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, queue:in(X, Qp61), Qp62, Qp63, Qp64});
-?IN_HIGHER_Qp64(62,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, queue:in(X, Qp62), Qp63, Qp64});
-?IN_HIGHER_Qp64(63,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, queue:in(X, Qp63), Qp64});
-?IN_HIGHER_Qp64(64,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, queue:in(X, Qp64)});
-?IN_HIGHER_Qp80(65,
- {queue:in(X, Qp65), Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_HIGHER_Qp80(66,
- {Qp65, queue:in(X, Qp66), Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_HIGHER_Qp80(67,
- {Qp65, Qp66, queue:in(X, Qp67), Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_HIGHER_Qp80(68,
- {Qp65, Qp66, Qp67, queue:in(X, Qp68), Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_HIGHER_Qp80(69,
- {Qp65, Qp66, Qp67, Qp68, queue:in(X, Qp69),
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_HIGHER_Qp80(70,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- queue:in(X, Qp70), Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_HIGHER_Qp80(71,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, queue:in(X, Qp71), Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_HIGHER_Qp80(72,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, queue:in(X, Qp72), Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_HIGHER_Qp80(73,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, queue:in(X, Qp73), Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_HIGHER_Qp80(74,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, queue:in(X, Qp74), Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_HIGHER_Qp80(75,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, queue:in(X, Qp75),
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_HIGHER_Qp80(76,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- queue:in(X, Qp76), Qp77, Qp78, Qp79, Qp80});
-?IN_HIGHER_Qp80(77,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, queue:in(X, Qp77), Qp78, Qp79, Qp80});
-?IN_HIGHER_Qp80(78,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, queue:in(X, Qp78), Qp79, Qp80});
-?IN_HIGHER_Qp80(79,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, queue:in(X, Qp79), Qp80});
-?IN_HIGHER_Qp80(80,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, queue:in(X, Qp80)});
-?IN_HIGHER_Qp96(81,
- {queue:in(X, Qp81), Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_HIGHER_Qp96(82,
- {Qp81, queue:in(X, Qp82), Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_HIGHER_Qp96(83,
- {Qp81, Qp82, queue:in(X, Qp83), Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_HIGHER_Qp96(84,
- {Qp81, Qp82, Qp83, queue:in(X, Qp84), Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_HIGHER_Qp96(85,
- {Qp81, Qp82, Qp83, Qp84, queue:in(X, Qp85),
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_HIGHER_Qp96(86,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- queue:in(X, Qp86), Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_HIGHER_Qp96(87,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, queue:in(X, Qp87), Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_HIGHER_Qp96(88,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, queue:in(X, Qp88), Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_HIGHER_Qp96(89,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, queue:in(X, Qp89), Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_HIGHER_Qp96(90,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, queue:in(X, Qp90), Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_HIGHER_Qp96(91,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, queue:in(X, Qp91),
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_HIGHER_Qp96(92,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- queue:in(X, Qp92), Qp93, Qp94, Qp95, Qp96});
-?IN_HIGHER_Qp96(93,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, queue:in(X, Qp93), Qp94, Qp95, Qp96});
-?IN_HIGHER_Qp96(94,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, queue:in(X, Qp94), Qp95, Qp96});
-?IN_HIGHER_Qp96(95,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, queue:in(X, Qp95), Qp96});
-?IN_HIGHER_Qp96(96,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, queue:in(X, Qp96)});
-?IN_HIGHER_Qp112(97,
- {queue:in(X, Qp97), Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_HIGHER_Qp112(98,
- {Qp97, queue:in(X, Qp98), Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_HIGHER_Qp112(99,
- {Qp97, Qp98, queue:in(X, Qp99), Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_HIGHER_Qp112(100,
- {Qp97, Qp98, Qp99, queue:in(X, Qp100), Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_HIGHER_Qp112(101,
- {Qp97, Qp98, Qp99, Qp100, queue:in(X, Qp101),
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_HIGHER_Qp112(102,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- queue:in(X, Qp102), Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_HIGHER_Qp112(103,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, queue:in(X, Qp103), Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_HIGHER_Qp112(104,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, queue:in(X, Qp104), Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_HIGHER_Qp112(105,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, queue:in(X, Qp105), Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_HIGHER_Qp112(106,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, queue:in(X, Qp106), Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_HIGHER_Qp112(107,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, queue:in(X, Qp107),
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_HIGHER_Qp112(108,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- queue:in(X, Qp108), Qp109, Qp110, Qp111, Qp112});
-?IN_HIGHER_Qp112(109,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, queue:in(X, Qp109), Qp110, Qp111, Qp112});
-?IN_HIGHER_Qp112(110,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, queue:in(X, Qp110), Qp111, Qp112});
-?IN_HIGHER_Qp112(111,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, queue:in(X, Qp111), Qp112});
-?IN_HIGHER_Qp112(112,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, queue:in(X, Qp112)});
-?IN_HIGHER_Qp128(113,
- {queue:in(X, Qp113), Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_HIGHER_Qp128(114,
- {Qp113, queue:in(X, Qp114), Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_HIGHER_Qp128(115,
- {Qp113, Qp114, queue:in(X, Qp115), Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_HIGHER_Qp128(116,
- {Qp113, Qp114, Qp115, queue:in(X, Qp116), Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_HIGHER_Qp128(117,
- {Qp113, Qp114, Qp115, Qp116, queue:in(X, Qp117),
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_HIGHER_Qp128(118,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- queue:in(X, Qp118), Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_HIGHER_Qp128(119,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, queue:in(X, Qp119), Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_HIGHER_Qp128(120,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, queue:in(X, Qp120), Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_HIGHER_Qp128(121,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, queue:in(X, Qp121), Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_HIGHER_Qp128(122,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, queue:in(X, Qp122), Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_HIGHER_Qp128(123,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, queue:in(X, Qp123),
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_HIGHER_Qp128(124,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- queue:in(X, Qp124), Qp125, Qp126, Qp127, Qp128});
-?IN_HIGHER_Qp128(125,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, queue:in(X, Qp125), Qp126, Qp127, Qp128});
-?IN_HIGHER_Qp128(126,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, queue:in(X, Qp126), Qp127, Qp128});
-?IN_HIGHER_Qp128(127,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, queue:in(X, Qp127), Qp128});
-?IN_HIGHER_Qp128(128,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, queue:in(X, Qp128)}).
-
-%% @hidden
--define(IN_LOWER_Qn128(P, V),
-in_lower(P,
- {Pc,
- Size,
- {Qn128, Qn127, Qn126, Qn125, Qn124, Qn123, Qn122, Qn121,
- Qn120, Qn119, Qn118, Qn117, Qn116, Qn115, Qn114, Qn113},
- Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- V,
- Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_LOWER_Qn112(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128,
- {Qn112, Qn111, Qn110, Qn109, Qn108, Qn107, Qn106, Qn105,
- Qn104, Qn103, Qn102, Qn101, Qn100, Qn99, Qn98, Qn97},
- Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128,
- V,
- Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_LOWER_Qn96(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128, Qn112,
- {Qn96, Qn95, Qn94, Qn93, Qn92, Qn91, Qn90, Qn89,
- Qn88, Qn87, Qn86, Qn85, Qn84, Qn83, Qn82, Qn81},
- Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112,
- V,
- Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_LOWER_Qn80(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96,
- {Qn80, Qn79, Qn78, Qn77, Qn76, Qn75, Qn74, Qn73,
- Qn72, Qn71, Qn70, Qn69, Qn68, Qn67, Qn66, Qn65},
- Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112, Qn96,
- V,
- Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_LOWER_Qn64(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80,
- {Qn64, Qn63, Qn62, Qn61, Qn60, Qn59, Qn58, Qn57,
- Qn56, Qn55, Qn54, Qn53, Qn52, Qn51, Qn50, Qn49},
- Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80,
- V,
- Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_LOWER_Qn48(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64,
- {Qn48, Qn47, Qn46, Qn45, Qn44, Qn43, Qn42, Qn41,
- Qn40, Qn39, Qn38, Qn37, Qn36, Qn35, Qn34, Qn33},
- Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64,
- V,
- Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_LOWER_Qn32(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48,
- {Qn32, Qn31, Qn30, Qn29, Qn28, Qn27, Qn26, Qn25,
- Qn24, Qn23, Qn22, Qn21, Qn20, Qn19, Qn18, Qn17},
- Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48,
- V,
- Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_LOWER_Qn16(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32,
- {Qn16, Qn15, Qn14, Qn13, Qn12, Qn11, Qn10, Qn9,
- Qn8, Qn7, Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32,
- V,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_LOWER_Qp16(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6, Qp7, Qp8,
- Qp9, Qp10, Qp11, Qp12, Qp13, Qp14, Qp15, Qp16},
- Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- V,
- Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_LOWER_Qp32(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16,
- {Qp17, Qp18, Qp19, Qp20, Qp21, Qp22, Qp23, Qp24,
- Qp25, Qp26, Qp27, Qp28, Qp29, Qp30, Qp31, Qp32},
- Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16,
- V,
- Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_LOWER_Qp48(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32,
- {Qp33, Qp34, Qp35, Qp36, Qp37, Qp38, Qp39, Qp40,
- Qp41, Qp42, Qp43, Qp44, Qp45, Qp46, Qp47, Qp48},
- Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32,
- V,
- Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_LOWER_Qp64(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48,
- {Qp49, Qp50, Qp51, Qp52, Qp53, Qp54, Qp55, Qp56,
- Qp57, Qp58, Qp59, Qp60, Qp61, Qp62, Qp63, Qp64},
- Qp80, Qp96, Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48,
- V,
- Qp80, Qp96, Qp112, Qp128}).
--define(IN_LOWER_Qp80(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64,
- {Qp65, Qp66, Qp67, Qp68, Qp69, Qp70, Qp71, Qp72,
- Qp73, Qp74, Qp75, Qp76, Qp77, Qp78, Qp79, Qp80},
- Qp96, Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64,
- V,
- Qp96, Qp112, Qp128}).
--define(IN_LOWER_Qp96(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80,
- {Qp81, Qp82, Qp83, Qp84, Qp85, Qp86, Qp87, Qp88,
- Qp89, Qp90, Qp91, Qp92, Qp93, Qp94, Qp95, Qp96},
- Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80,
- V,
- Qp112, Qp128}).
--define(IN_LOWER_Qp112(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96,
- {Qp97, Qp98, Qp99, Qp100, Qp101, Qp102, Qp103, Qp104,
- Qp105, Qp106, Qp107, Qp108, Qp109, Qp110, Qp111, Qp112},
- Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96,
- V,
- Qp128}).
--define(IN_LOWER_Qp128(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- {Qp113, Qp114, Qp115, Qp116, Qp117, Qp118, Qp119, Qp120,
- Qp121, Qp122, Qp123, Qp124, Qp125, Qp126, Qp127, Qp128}}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- V}).
-
-?IN_LOWER_Qn128(-128,
- {queue:in(X, Qn128), Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_LOWER_Qn128(-127,
- {Qn128, queue:in(X, Qn127), Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_LOWER_Qn128(-126,
- {Qn128, Qn127, queue:in(X, Qn126), Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_LOWER_Qn128(-125,
- {Qn128, Qn127, Qn126, queue:in(X, Qn125), Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_LOWER_Qn128(-124,
- {Qn128, Qn127, Qn126, Qn125, queue:in(X, Qn124),
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_LOWER_Qn128(-123,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- queue:in(X, Qn123), Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_LOWER_Qn128(-122,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, queue:in(X, Qn122), Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_LOWER_Qn128(-121,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, queue:in(X, Qn121), Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_LOWER_Qn128(-120,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, queue:in(X, Qn120), Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_LOWER_Qn128(-119,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, queue:in(X, Qn119), Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_LOWER_Qn128(-118,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, queue:in(X, Qn118),
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_LOWER_Qn128(-117,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- queue:in(X, Qn117), Qn116, Qn115, Qn114, Qn113});
-?IN_LOWER_Qn128(-116,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, queue:in(X, Qn116), Qn115, Qn114, Qn113});
-?IN_LOWER_Qn128(-115,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, queue:in(X, Qn115), Qn114, Qn113});
-?IN_LOWER_Qn128(-114,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, queue:in(X, Qn114), Qn113});
-?IN_LOWER_Qn128(-113,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, queue:in(X, Qn113)});
-?IN_LOWER_Qn112(-112,
- {queue:in(X, Qn112), Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_LOWER_Qn112(-111,
- {Qn112, queue:in(X, Qn111), Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_LOWER_Qn112(-110,
- {Qn112, Qn111, queue:in(X, Qn110), Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_LOWER_Qn112(-109,
- {Qn112, Qn111, Qn110, queue:in(X, Qn109), Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_LOWER_Qn112(-108,
- {Qn112, Qn111, Qn110, Qn109, queue:in(X, Qn108),
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_LOWER_Qn112(-107,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- queue:in(X, Qn107), Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_LOWER_Qn112(-106,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, queue:in(X, Qn106), Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_LOWER_Qn112(-105,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, queue:in(X, Qn105), Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_LOWER_Qn112(-104,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, queue:in(X, Qn104), Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_LOWER_Qn112(-103,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, queue:in(X, Qn103), Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_LOWER_Qn112(-102,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, queue:in(X, Qn102),
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_LOWER_Qn112(-101,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- queue:in(X, Qn101), Qn100, Qn99, Qn98, Qn97});
-?IN_LOWER_Qn112(-100,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, queue:in(X, Qn100), Qn99, Qn98, Qn97});
-?IN_LOWER_Qn112(-99,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, queue:in(X, Qn99), Qn98, Qn97});
-?IN_LOWER_Qn112(-98,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, queue:in(X, Qn98), Qn97});
-?IN_LOWER_Qn112(-97,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, queue:in(X, Qn97)});
-?IN_LOWER_Qn96(-96,
- {queue:in(X, Qn96), Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_LOWER_Qn96(-95,
- {Qn96, queue:in(X, Qn95), Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_LOWER_Qn96(-94,
- {Qn96, Qn95, queue:in(X, Qn94), Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_LOWER_Qn96(-93,
- {Qn96, Qn95, Qn94, queue:in(X, Qn93), Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_LOWER_Qn96(-92,
- {Qn96, Qn95, Qn94, Qn93, queue:in(X, Qn92),
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_LOWER_Qn96(-91,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- queue:in(X, Qn91), Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_LOWER_Qn96(-90,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, queue:in(X, Qn90), Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_LOWER_Qn96(-89,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, queue:in(X, Qn89), Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_LOWER_Qn96(-88,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, queue:in(X, Qn88), Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_LOWER_Qn96(-87,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, queue:in(X, Qn87), Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_LOWER_Qn96(-86,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, queue:in(X, Qn86),
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_LOWER_Qn96(-85,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- queue:in(X, Qn85), Qn84, Qn83, Qn82, Qn81});
-?IN_LOWER_Qn96(-84,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, queue:in(X, Qn84), Qn83, Qn82, Qn81});
-?IN_LOWER_Qn96(-83,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, queue:in(X, Qn83), Qn82, Qn81});
-?IN_LOWER_Qn96(-82,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, queue:in(X, Qn82), Qn81});
-?IN_LOWER_Qn96(-81,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, queue:in(X, Qn81)});
-?IN_LOWER_Qn80(-80,
- {queue:in(X, Qn80), Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_LOWER_Qn80(-79,
- {Qn80, queue:in(X, Qn79), Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_LOWER_Qn80(-78,
- {Qn80, Qn79, queue:in(X, Qn78), Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_LOWER_Qn80(-77,
- {Qn80, Qn79, Qn78, queue:in(X, Qn77), Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_LOWER_Qn80(-76,
- {Qn80, Qn79, Qn78, Qn77, queue:in(X, Qn76),
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_LOWER_Qn80(-75,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- queue:in(X, Qn75), Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_LOWER_Qn80(-74,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, queue:in(X, Qn74), Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_LOWER_Qn80(-73,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, queue:in(X, Qn73), Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_LOWER_Qn80(-72,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, queue:in(X, Qn72), Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_LOWER_Qn80(-71,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, queue:in(X, Qn71), Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_LOWER_Qn80(-70,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, queue:in(X, Qn70),
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_LOWER_Qn80(-69,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- queue:in(X, Qn69), Qn68, Qn67, Qn66, Qn65});
-?IN_LOWER_Qn80(-68,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, queue:in(X, Qn68), Qn67, Qn66, Qn65});
-?IN_LOWER_Qn80(-67,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, queue:in(X, Qn67), Qn66, Qn65});
-?IN_LOWER_Qn80(-66,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, queue:in(X, Qn66), Qn65});
-?IN_LOWER_Qn80(-65,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, queue:in(X, Qn65)});
-?IN_LOWER_Qn64(-64,
- {queue:in(X, Qn64), Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_LOWER_Qn64(-63,
- {Qn64, queue:in(X, Qn63), Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_LOWER_Qn64(-62,
- {Qn64, Qn63, queue:in(X, Qn62), Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_LOWER_Qn64(-61,
- {Qn64, Qn63, Qn62, queue:in(X, Qn61), Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_LOWER_Qn64(-60,
- {Qn64, Qn63, Qn62, Qn61, queue:in(X, Qn60),
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_LOWER_Qn64(-59,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- queue:in(X, Qn59), Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_LOWER_Qn64(-58,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, queue:in(X, Qn58), Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_LOWER_Qn64(-57,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, queue:in(X, Qn57), Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_LOWER_Qn64(-56,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, queue:in(X, Qn56), Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_LOWER_Qn64(-55,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, queue:in(X, Qn55), Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_LOWER_Qn64(-54,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, queue:in(X, Qn54),
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_LOWER_Qn64(-53,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- queue:in(X, Qn53), Qn52, Qn51, Qn50, Qn49});
-?IN_LOWER_Qn64(-52,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, queue:in(X, Qn52), Qn51, Qn50, Qn49});
-?IN_LOWER_Qn64(-51,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, queue:in(X, Qn51), Qn50, Qn49});
-?IN_LOWER_Qn64(-50,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, queue:in(X, Qn50), Qn49});
-?IN_LOWER_Qn64(-49,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, queue:in(X, Qn49)});
-?IN_LOWER_Qn48(-48,
- {queue:in(X, Qn48), Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_LOWER_Qn48(-47,
- {Qn48, queue:in(X, Qn47), Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_LOWER_Qn48(-46,
- {Qn48, Qn47, queue:in(X, Qn46), Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_LOWER_Qn48(-45,
- {Qn48, Qn47, Qn46, queue:in(X, Qn45), Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_LOWER_Qn48(-44,
- {Qn48, Qn47, Qn46, Qn45, queue:in(X, Qn44),
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_LOWER_Qn48(-43,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- queue:in(X, Qn43), Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_LOWER_Qn48(-42,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, queue:in(X, Qn42), Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_LOWER_Qn48(-41,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, queue:in(X, Qn41), Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_LOWER_Qn48(-40,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, queue:in(X, Qn40), Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_LOWER_Qn48(-39,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, queue:in(X, Qn39), Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_LOWER_Qn48(-38,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, queue:in(X, Qn38),
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_LOWER_Qn48(-37,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- queue:in(X, Qn37), Qn36, Qn35, Qn34, Qn33});
-?IN_LOWER_Qn48(-36,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, queue:in(X, Qn36), Qn35, Qn34, Qn33});
-?IN_LOWER_Qn48(-35,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, queue:in(X, Qn35), Qn34, Qn33});
-?IN_LOWER_Qn48(-34,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, queue:in(X, Qn34), Qn33});
-?IN_LOWER_Qn48(-33,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, queue:in(X, Qn33)});
-?IN_LOWER_Qn32(-32,
- {queue:in(X, Qn32), Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_LOWER_Qn32(-31,
- {Qn32, queue:in(X, Qn31), Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_LOWER_Qn32(-30,
- {Qn32, Qn31, queue:in(X, Qn30), Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_LOWER_Qn32(-29,
- {Qn32, Qn31, Qn30, queue:in(X, Qn29), Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_LOWER_Qn32(-28,
- {Qn32, Qn31, Qn30, Qn29, queue:in(X, Qn28),
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_LOWER_Qn32(-27,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- queue:in(X, Qn27), Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_LOWER_Qn32(-26,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, queue:in(X, Qn26), Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_LOWER_Qn32(-25,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, queue:in(X, Qn25), Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_LOWER_Qn32(-24,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, queue:in(X, Qn24), Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_LOWER_Qn32(-23,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, queue:in(X, Qn23), Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_LOWER_Qn32(-22,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, queue:in(X, Qn22),
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_LOWER_Qn32(-21,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- queue:in(X, Qn21), Qn20, Qn19, Qn18, Qn17});
-?IN_LOWER_Qn32(-20,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, queue:in(X, Qn20), Qn19, Qn18, Qn17});
-?IN_LOWER_Qn32(-19,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, queue:in(X, Qn19), Qn18, Qn17});
-?IN_LOWER_Qn32(-18,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, queue:in(X, Qn18), Qn17});
-?IN_LOWER_Qn32(-17,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, queue:in(X, Qn17)});
-?IN_LOWER_Qn16(-16,
- {queue:in(X, Qn16), Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_LOWER_Qn16(-15,
- {Qn16, queue:in(X, Qn15), Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_LOWER_Qn16(-14,
- {Qn16, Qn15, queue:in(X, Qn14), Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_LOWER_Qn16(-13,
- {Qn16, Qn15, Qn14, queue:in(X, Qn13), Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_LOWER_Qn16(-12,
- {Qn16, Qn15, Qn14, Qn13, queue:in(X, Qn12),
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_LOWER_Qn16(-11,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- queue:in(X, Qn11), Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_LOWER_Qn16(-10,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, queue:in(X, Qn10), Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_LOWER_Qn16(-9,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, queue:in(X, Qn9), Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_LOWER_Qn16(-8,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, queue:in(X, Qn8), Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_LOWER_Qn16(-7,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, queue:in(X, Qn7), Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_LOWER_Qn16(-6,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, queue:in(X, Qn6),
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_LOWER_Qn16(-5,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- queue:in(X, Qn5), Qn4, Qn3, Qn2, Qn1});
-?IN_LOWER_Qn16(-4,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, queue:in(X, Qn4), Qn3, Qn2, Qn1});
-?IN_LOWER_Qn16(-3,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, queue:in(X, Qn3), Qn2, Qn1});
-?IN_LOWER_Qn16(-2,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, queue:in(X, Qn2), Qn1});
-?IN_LOWER_Qn16(-1,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, queue:in(X, Qn1)});
-in_lower(0,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- queue:in(X, Q0),
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128};
-?IN_LOWER_Qp16(1,
- {queue:in(X, Qp1), Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_LOWER_Qp16(2,
- {Qp1, queue:in(X, Qp2), Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_LOWER_Qp16(3,
- {Qp1, Qp2, queue:in(X, Qp3), Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_LOWER_Qp16(4,
- {Qp1, Qp2, Qp3, queue:in(X, Qp4), Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_LOWER_Qp16(5,
- {Qp1, Qp2, Qp3, Qp4, queue:in(X, Qp5),
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_LOWER_Qp16(6,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- queue:in(X, Qp6), Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_LOWER_Qp16(7,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, queue:in(X, Qp7), Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_LOWER_Qp16(8,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, queue:in(X, Qp8), Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_LOWER_Qp16(9,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, queue:in(X, Qp9), Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_LOWER_Qp16(10,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, queue:in(X, Qp10), Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_LOWER_Qp16(11,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, queue:in(X, Qp11),
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_LOWER_Qp16(12,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- queue:in(X, Qp12), Qp13, Qp14, Qp15, Qp16});
-?IN_LOWER_Qp16(13,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, queue:in(X, Qp13), Qp14, Qp15, Qp16});
-?IN_LOWER_Qp16(14,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, queue:in(X, Qp14), Qp15, Qp16});
-?IN_LOWER_Qp16(15,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, queue:in(X, Qp15), Qp16});
-?IN_LOWER_Qp16(16,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, queue:in(X, Qp16)});
-?IN_LOWER_Qp32(17,
- {queue:in(X, Qp17), Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_LOWER_Qp32(18,
- {Qp17, queue:in(X, Qp18), Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_LOWER_Qp32(19,
- {Qp17, Qp18, queue:in(X, Qp19), Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_LOWER_Qp32(20,
- {Qp17, Qp18, Qp19, queue:in(X, Qp20), Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_LOWER_Qp32(21,
- {Qp17, Qp18, Qp19, Qp20, queue:in(X, Qp21),
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_LOWER_Qp32(22,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- queue:in(X, Qp22), Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_LOWER_Qp32(23,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, queue:in(X, Qp23), Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_LOWER_Qp32(24,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, queue:in(X, Qp24), Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_LOWER_Qp32(25,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, queue:in(X, Qp25), Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_LOWER_Qp32(26,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, queue:in(X, Qp26), Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_LOWER_Qp32(27,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, queue:in(X, Qp27),
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_LOWER_Qp32(28,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- queue:in(X, Qp28), Qp29, Qp30, Qp31, Qp32});
-?IN_LOWER_Qp32(29,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, queue:in(X, Qp29), Qp30, Qp31, Qp32});
-?IN_LOWER_Qp32(30,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, queue:in(X, Qp30), Qp31, Qp32});
-?IN_LOWER_Qp32(31,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, queue:in(X, Qp31), Qp32});
-?IN_LOWER_Qp32(32,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, queue:in(X, Qp32)});
-?IN_LOWER_Qp48(33,
- {queue:in(X, Qp33), Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_LOWER_Qp48(34,
- {Qp33, queue:in(X, Qp34), Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_LOWER_Qp48(35,
- {Qp33, Qp34, queue:in(X, Qp35), Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_LOWER_Qp48(36,
- {Qp33, Qp34, Qp35, queue:in(X, Qp36), Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_LOWER_Qp48(37,
- {Qp33, Qp34, Qp35, Qp36, queue:in(X, Qp37),
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_LOWER_Qp48(38,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- queue:in(X, Qp38), Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_LOWER_Qp48(39,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, queue:in(X, Qp39), Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_LOWER_Qp48(40,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, queue:in(X, Qp40), Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_LOWER_Qp48(41,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, queue:in(X, Qp41), Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_LOWER_Qp48(42,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, queue:in(X, Qp42), Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_LOWER_Qp48(43,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, queue:in(X, Qp43),
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_LOWER_Qp48(44,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- queue:in(X, Qp44), Qp45, Qp46, Qp47, Qp48});
-?IN_LOWER_Qp48(45,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, queue:in(X, Qp45), Qp46, Qp47, Qp48});
-?IN_LOWER_Qp48(46,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, queue:in(X, Qp46), Qp47, Qp48});
-?IN_LOWER_Qp48(47,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, queue:in(X, Qp47), Qp48});
-?IN_LOWER_Qp48(48,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, queue:in(X, Qp48)});
-?IN_LOWER_Qp64(49,
- {queue:in(X, Qp49), Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_LOWER_Qp64(50,
- {Qp49, queue:in(X, Qp50), Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_LOWER_Qp64(51,
- {Qp49, Qp50, queue:in(X, Qp51), Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_LOWER_Qp64(52,
- {Qp49, Qp50, Qp51, queue:in(X, Qp52), Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_LOWER_Qp64(53,
- {Qp49, Qp50, Qp51, Qp52, queue:in(X, Qp53),
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_LOWER_Qp64(54,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- queue:in(X, Qp54), Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_LOWER_Qp64(55,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, queue:in(X, Qp55), Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_LOWER_Qp64(56,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, queue:in(X, Qp56), Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_LOWER_Qp64(57,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, queue:in(X, Qp57), Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_LOWER_Qp64(58,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, queue:in(X, Qp58), Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_LOWER_Qp64(59,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, queue:in(X, Qp59),
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_LOWER_Qp64(60,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- queue:in(X, Qp60), Qp61, Qp62, Qp63, Qp64});
-?IN_LOWER_Qp64(61,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, queue:in(X, Qp61), Qp62, Qp63, Qp64});
-?IN_LOWER_Qp64(62,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, queue:in(X, Qp62), Qp63, Qp64});
-?IN_LOWER_Qp64(63,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, queue:in(X, Qp63), Qp64});
-?IN_LOWER_Qp64(64,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, queue:in(X, Qp64)});
-?IN_LOWER_Qp80(65,
- {queue:in(X, Qp65), Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_LOWER_Qp80(66,
- {Qp65, queue:in(X, Qp66), Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_LOWER_Qp80(67,
- {Qp65, Qp66, queue:in(X, Qp67), Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_LOWER_Qp80(68,
- {Qp65, Qp66, Qp67, queue:in(X, Qp68), Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_LOWER_Qp80(69,
- {Qp65, Qp66, Qp67, Qp68, queue:in(X, Qp69),
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_LOWER_Qp80(70,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- queue:in(X, Qp70), Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_LOWER_Qp80(71,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, queue:in(X, Qp71), Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_LOWER_Qp80(72,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, queue:in(X, Qp72), Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_LOWER_Qp80(73,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, queue:in(X, Qp73), Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_LOWER_Qp80(74,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, queue:in(X, Qp74), Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_LOWER_Qp80(75,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, queue:in(X, Qp75),
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_LOWER_Qp80(76,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- queue:in(X, Qp76), Qp77, Qp78, Qp79, Qp80});
-?IN_LOWER_Qp80(77,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, queue:in(X, Qp77), Qp78, Qp79, Qp80});
-?IN_LOWER_Qp80(78,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, queue:in(X, Qp78), Qp79, Qp80});
-?IN_LOWER_Qp80(79,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, queue:in(X, Qp79), Qp80});
-?IN_LOWER_Qp80(80,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, queue:in(X, Qp80)});
-?IN_LOWER_Qp96(81,
- {queue:in(X, Qp81), Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_LOWER_Qp96(82,
- {Qp81, queue:in(X, Qp82), Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_LOWER_Qp96(83,
- {Qp81, Qp82, queue:in(X, Qp83), Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_LOWER_Qp96(84,
- {Qp81, Qp82, Qp83, queue:in(X, Qp84), Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_LOWER_Qp96(85,
- {Qp81, Qp82, Qp83, Qp84, queue:in(X, Qp85),
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_LOWER_Qp96(86,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- queue:in(X, Qp86), Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_LOWER_Qp96(87,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, queue:in(X, Qp87), Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_LOWER_Qp96(88,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, queue:in(X, Qp88), Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_LOWER_Qp96(89,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, queue:in(X, Qp89), Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_LOWER_Qp96(90,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, queue:in(X, Qp90), Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_LOWER_Qp96(91,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, queue:in(X, Qp91),
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_LOWER_Qp96(92,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- queue:in(X, Qp92), Qp93, Qp94, Qp95, Qp96});
-?IN_LOWER_Qp96(93,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, queue:in(X, Qp93), Qp94, Qp95, Qp96});
-?IN_LOWER_Qp96(94,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, queue:in(X, Qp94), Qp95, Qp96});
-?IN_LOWER_Qp96(95,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, queue:in(X, Qp95), Qp96});
-?IN_LOWER_Qp96(96,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, queue:in(X, Qp96)});
-?IN_LOWER_Qp112(97,
- {queue:in(X, Qp97), Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_LOWER_Qp112(98,
- {Qp97, queue:in(X, Qp98), Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_LOWER_Qp112(99,
- {Qp97, Qp98, queue:in(X, Qp99), Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_LOWER_Qp112(100,
- {Qp97, Qp98, Qp99, queue:in(X, Qp100), Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_LOWER_Qp112(101,
- {Qp97, Qp98, Qp99, Qp100, queue:in(X, Qp101),
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_LOWER_Qp112(102,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- queue:in(X, Qp102), Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_LOWER_Qp112(103,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, queue:in(X, Qp103), Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_LOWER_Qp112(104,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, queue:in(X, Qp104), Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_LOWER_Qp112(105,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, queue:in(X, Qp105), Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_LOWER_Qp112(106,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, queue:in(X, Qp106), Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_LOWER_Qp112(107,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, queue:in(X, Qp107),
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_LOWER_Qp112(108,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- queue:in(X, Qp108), Qp109, Qp110, Qp111, Qp112});
-?IN_LOWER_Qp112(109,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, queue:in(X, Qp109), Qp110, Qp111, Qp112});
-?IN_LOWER_Qp112(110,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, queue:in(X, Qp110), Qp111, Qp112});
-?IN_LOWER_Qp112(111,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, queue:in(X, Qp111), Qp112});
-?IN_LOWER_Qp112(112,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, queue:in(X, Qp112)});
-?IN_LOWER_Qp128(113,
- {queue:in(X, Qp113), Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_LOWER_Qp128(114,
- {Qp113, queue:in(X, Qp114), Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_LOWER_Qp128(115,
- {Qp113, Qp114, queue:in(X, Qp115), Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_LOWER_Qp128(116,
- {Qp113, Qp114, Qp115, queue:in(X, Qp116), Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_LOWER_Qp128(117,
- {Qp113, Qp114, Qp115, Qp116, queue:in(X, Qp117),
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_LOWER_Qp128(118,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- queue:in(X, Qp118), Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_LOWER_Qp128(119,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, queue:in(X, Qp119), Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_LOWER_Qp128(120,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, queue:in(X, Qp120), Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_LOWER_Qp128(121,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, queue:in(X, Qp121), Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_LOWER_Qp128(122,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, queue:in(X, Qp122), Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_LOWER_Qp128(123,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, queue:in(X, Qp123),
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_LOWER_Qp128(124,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- queue:in(X, Qp124), Qp125, Qp126, Qp127, Qp128});
-?IN_LOWER_Qp128(125,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, queue:in(X, Qp125), Qp126, Qp127, Qp128});
-?IN_LOWER_Qp128(126,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, queue:in(X, Qp126), Qp127, Qp128});
-?IN_LOWER_Qp128(127,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, queue:in(X, Qp127), Qp128});
-?IN_LOWER_Qp128(128,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, queue:in(X, Qp128)}).
-
-%% @hidden
--define(OUT_CURRENT_Qn128(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- {Qn128, Qn127, Qn126, Qn125, Qn124, Qn123, Qn122, Qn121,
- Qn120, Qn119, Qn118, Qn117, Qn116, Qn115, Qn114, Qn113},
- Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- V3,
- Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_Qn112(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128,
- {Qn112, Qn111, Qn110, Qn109, Qn108, Qn107, Qn106, Qn105,
- Qn104, Qn103, Qn102, Qn101, Qn100, Qn99, Qn98, Qn97},
- Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128,
- V3,
- Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_Qn96(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128, Qn112,
- {Qn96, Qn95, Qn94, Qn93, Qn92, Qn91, Qn90, Qn89,
- Qn88, Qn87, Qn86, Qn85, Qn84, Qn83, Qn82, Qn81},
- Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112,
- V3,
- Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_Qn80(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128, Qn112, Qn96,
- {Qn80, Qn79, Qn78, Qn77, Qn76, Qn75, Qn74, Qn73,
- Qn72, Qn71, Qn70, Qn69, Qn68, Qn67, Qn66, Qn65},
- Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96,
- V3,
- Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_Qn64(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80,
- {Qn64, Qn63, Qn62, Qn61, Qn60, Qn59, Qn58, Qn57,
- Qn56, Qn55, Qn54, Qn53, Qn52, Qn51, Qn50, Qn49},
- Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80,
- V3,
- Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_Qn48(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64,
- {Qn48, Qn47, Qn46, Qn45, Qn44, Qn43, Qn42, Qn41,
- Qn40, Qn39, Qn38, Qn37, Qn36, Qn35, Qn34, Qn33},
- Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64,
- V3,
- Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_Qn32(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48,
- {Qn32, Qn31, Qn30, Qn29, Qn28, Qn27, Qn26, Qn25,
- Qn24, Qn23, Qn22, Qn21, Qn20, Qn19, Qn18, Qn17},
- Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48,
- V3,
- Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_Qn16(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32,
- {Qn16, Qn15, Qn14, Qn13, Qn12, Qn11, Qn10, Qn9,
- Qn8, Qn7, Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32,
- V3,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_Qp16(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6, Qp7, Qp8,
- Qp9, Qp10, Qp11, Qp12, Qp13, Qp14, Qp15, Qp16},
- Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- V3,
- Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_Qp32(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16,
- {Qp17, Qp18, Qp19, Qp20, Qp21, Qp22, Qp23, Qp24,
- Qp25, Qp26, Qp27, Qp28, Qp29, Qp30, Qp31, Qp32},
- Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16,
- V3,
- Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_Qp48(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32,
- {Qp33, Qp34, Qp35, Qp36, Qp37, Qp38, Qp39, Qp40,
- Qp41, Qp42, Qp43, Qp44, Qp45, Qp46, Qp47, Qp48},
- Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32,
- V3,
- Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_Qp64(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48,
- {Qp49, Qp50, Qp51, Qp52, Qp53, Qp54, Qp55, Qp56,
- Qp57, Qp58, Qp59, Qp60, Qp61, Qp62, Qp63, Qp64},
- Qp80, Qp96, Qp112, Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48,
- V3,
- Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_Qp80(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64,
- {Qp65, Qp66, Qp67, Qp68, Qp69, Qp70, Qp71, Qp72,
- Qp73, Qp74, Qp75, Qp76, Qp77, Qp78, Qp79, Qp80},
- Qp96, Qp112, Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64,
- V3,
- Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_Qp96(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80,
- {Qp81, Qp82, Qp83, Qp84, Qp85, Qp86, Qp87, Qp88,
- Qp89, Qp90, Qp91, Qp92, Qp93, Qp94, Qp95, Qp96},
- Qp112, Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80,
- V3,
- Qp112, Qp128}}
- end).
--define(OUT_CURRENT_Qp112(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96,
- {Qp97, Qp98, Qp99, Qp100, Qp101, Qp102, Qp103, Qp104,
- Qp105, Qp106, Qp107, Qp108, Qp109, Qp110, Qp111, Qp112},
- Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96,
- V3,
- Qp128}}
- end).
--define(OUT_CURRENT_Qp128(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- {Qp113, Qp114, Qp115, Qp116, Qp117, Qp118, Qp119, Qp120,
- Qp121, Qp122, Qp123, Qp124, Qp125, Qp126, Qp127, Qp128}} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- V3}}
- end).
-
-?OUT_CURRENT_Qn128(-128,
- Qn128, NewQn128,
- {NewQn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_Qn128(-127,
- Qn127, NewQn127,
- {Qn128, NewQn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_Qn128(-126,
- Qn126, NewQn126,
- {Qn128, Qn127, NewQn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_Qn128(-125,
- Qn125, NewQn125,
- {Qn128, Qn127, Qn126, NewQn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_Qn128(-124,
- Qn124, NewQn124,
- {Qn128, Qn127, Qn126, Qn125, NewQn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_Qn128(-123,
- Qn123, NewQn123,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- NewQn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_Qn128(-122,
- Qn122, NewQn122,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, NewQn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_Qn128(-121,
- Qn121, NewQn121,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, NewQn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_Qn128(-120,
- Qn120, NewQn120,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, NewQn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_Qn128(-119,
- Qn119, NewQn119,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, NewQn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_Qn128(-118,
- Qn118, NewQn118,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, NewQn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_Qn128(-117,
- Qn117, NewQn117,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- NewQn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_Qn128(-116,
- Qn116, NewQn116,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, NewQn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_Qn128(-115,
- Qn115, NewQn115,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, NewQn115, Qn114, Qn113});
-?OUT_CURRENT_Qn128(-114,
- Qn114, NewQn114,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, NewQn114, Qn113});
-?OUT_CURRENT_Qn128(-113,
- Qn113, NewQn113,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, NewQn113});
-?OUT_CURRENT_Qn112(-112,
- Qn112, NewQn112,
- {NewQn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_Qn112(-111,
- Qn111, NewQn111,
- {Qn112, NewQn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_Qn112(-110,
- Qn110, NewQn110,
- {Qn112, Qn111, NewQn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_Qn112(-109,
- Qn109, NewQn109,
- {Qn112, Qn111, Qn110, NewQn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_Qn112(-108,
- Qn108, NewQn108,
- {Qn112, Qn111, Qn110, Qn109, NewQn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_Qn112(-107,
- Qn107, NewQn107,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- NewQn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_Qn112(-106,
- Qn106, NewQn106,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, NewQn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_Qn112(-105,
- Qn105, NewQn105,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, NewQn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_Qn112(-104,
- Qn104, NewQn104,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, NewQn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_Qn112(-103,
- Qn103, NewQn103,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, NewQn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_Qn112(-102,
- Qn102, NewQn102,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, NewQn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_Qn112(-101,
- Qn101, NewQn101,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- NewQn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_Qn112(-100,
- Qn100, NewQn100,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, NewQn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_Qn112(-99,
- Qn99, NewQn99,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, NewQn99, Qn98, Qn97});
-?OUT_CURRENT_Qn112(-98,
- Qn98, NewQn98,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, NewQn98, Qn97});
-?OUT_CURRENT_Qn112(-97,
- Qn97, NewQn97,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, NewQn97});
-?OUT_CURRENT_Qn96(-96,
- Qn96, NewQn96,
- {NewQn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_Qn96(-95,
- Qn95, NewQn95,
- {Qn96, NewQn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_Qn96(-94,
- Qn94, NewQn94,
- {Qn96, Qn95, NewQn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_Qn96(-93,
- Qn93, NewQn93,
- {Qn96, Qn95, Qn94, NewQn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_Qn96(-92,
- Qn92, NewQn92,
- {Qn96, Qn95, Qn94, Qn93, NewQn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_Qn96(-91,
- Qn91, NewQn91,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- NewQn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_Qn96(-90,
- Qn90, NewQn90,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, NewQn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_Qn96(-89,
- Qn89, NewQn89,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, NewQn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_Qn96(-88,
- Qn88, NewQn88,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, NewQn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_Qn96(-87,
- Qn87, NewQn87,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, NewQn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_Qn96(-86,
- Qn86, NewQn86,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, NewQn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_Qn96(-85,
- Qn85, NewQn85,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- NewQn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_Qn96(-84,
- Qn84, NewQn84,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, NewQn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_Qn96(-83,
- Qn83, NewQn83,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, NewQn83, Qn82, Qn81});
-?OUT_CURRENT_Qn96(-82,
- Qn82, NewQn82,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, NewQn82, Qn81});
-?OUT_CURRENT_Qn96(-81,
- Qn81, NewQn81,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, NewQn81});
-?OUT_CURRENT_Qn80(-80,
- Qn80, NewQn80,
- {NewQn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_Qn80(-79,
- Qn79, NewQn79,
- {Qn80, NewQn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_Qn80(-78,
- Qn78, NewQn78,
- {Qn80, Qn79, NewQn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_Qn80(-77,
- Qn77, NewQn77,
- {Qn80, Qn79, Qn78, NewQn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_Qn80(-76,
- Qn76, NewQn76,
- {Qn80, Qn79, Qn78, Qn77, NewQn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_Qn80(-75,
- Qn75, NewQn75,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- NewQn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_Qn80(-74,
- Qn74, NewQn74,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, NewQn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_Qn80(-73,
- Qn73, NewQn73,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, NewQn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_Qn80(-72,
- Qn72, NewQn72,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, NewQn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_Qn80(-71,
- Qn71, NewQn71,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, NewQn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_Qn80(-70,
- Qn70, NewQn70,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, NewQn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_Qn80(-69,
- Qn69, NewQn69,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- NewQn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_Qn80(-68,
- Qn68, NewQn68,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, NewQn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_Qn80(-67,
- Qn67, NewQn67,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, NewQn67, Qn66, Qn65});
-?OUT_CURRENT_Qn80(-66,
- Qn66, NewQn66,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, NewQn66, Qn65});
-?OUT_CURRENT_Qn80(-65,
- Qn65, NewQn65,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, NewQn65});
-?OUT_CURRENT_Qn64(-64,
- Qn64, NewQn64,
- {NewQn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_Qn64(-63,
- Qn63, NewQn63,
- {Qn64, NewQn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_Qn64(-62,
- Qn62, NewQn62,
- {Qn64, Qn63, NewQn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_Qn64(-61,
- Qn61, NewQn61,
- {Qn64, Qn63, Qn62, NewQn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_Qn64(-60,
- Qn60, NewQn60,
- {Qn64, Qn63, Qn62, Qn61, NewQn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_Qn64(-59,
- Qn59, NewQn59,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- NewQn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_Qn64(-58,
- Qn58, NewQn58,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, NewQn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_Qn64(-57,
- Qn57, NewQn57,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, NewQn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_Qn64(-56,
- Qn56, NewQn56,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, NewQn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_Qn64(-55,
- Qn55, NewQn55,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, NewQn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_Qn64(-54,
- Qn54, NewQn54,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, NewQn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_Qn64(-53,
- Qn53, NewQn53,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- NewQn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_Qn64(-52,
- Qn52, NewQn52,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, NewQn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_Qn64(-51,
- Qn51, NewQn51,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, NewQn51, Qn50, Qn49});
-?OUT_CURRENT_Qn64(-50,
- Qn50, NewQn50,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, NewQn50, Qn49});
-?OUT_CURRENT_Qn64(-49,
- Qn49, NewQn49,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, NewQn49});
-?OUT_CURRENT_Qn48(-48,
- Qn48, NewQn48,
- {NewQn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_Qn48(-47,
- Qn47, NewQn47,
- {Qn48, NewQn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_Qn48(-46,
- Qn46, NewQn46,
- {Qn48, Qn47, NewQn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_Qn48(-45,
- Qn45, NewQn45,
- {Qn48, Qn47, Qn46, NewQn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_Qn48(-44,
- Qn44, NewQn44,
- {Qn48, Qn47, Qn46, Qn45, NewQn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_Qn48(-43,
- Qn43, NewQn43,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- NewQn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_Qn48(-42,
- Qn42, NewQn42,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, NewQn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_Qn48(-41,
- Qn41, NewQn41,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, NewQn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_Qn48(-40,
- Qn40, NewQn40,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, NewQn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_Qn48(-39,
- Qn39, NewQn39,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, NewQn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_Qn48(-38,
- Qn38, NewQn38,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, NewQn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_Qn48(-37,
- Qn37, NewQn37,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- NewQn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_Qn48(-36,
- Qn36, NewQn36,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, NewQn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_Qn48(-35,
- Qn35, NewQn35,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, NewQn35, Qn34, Qn33});
-?OUT_CURRENT_Qn48(-34,
- Qn34, NewQn34,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, NewQn34, Qn33});
-?OUT_CURRENT_Qn48(-33,
- Qn33, NewQn33,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, NewQn33});
-?OUT_CURRENT_Qn32(-32,
- Qn32, NewQn32,
- {NewQn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_Qn32(-31,
- Qn31, NewQn31,
- {Qn32, NewQn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_Qn32(-30,
- Qn30, NewQn30,
- {Qn32, Qn31, NewQn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_Qn32(-29,
- Qn29, NewQn29,
- {Qn32, Qn31, Qn30, NewQn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_Qn32(-28,
- Qn28, NewQn28,
- {Qn32, Qn31, Qn30, Qn29, NewQn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_Qn32(-27,
- Qn27, NewQn27,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- NewQn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_Qn32(-26,
- Qn26, NewQn26,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, NewQn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_Qn32(-25,
- Qn25, NewQn25,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, NewQn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_Qn32(-24,
- Qn24, NewQn24,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, NewQn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_Qn32(-23,
- Qn23, NewQn23,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, NewQn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_Qn32(-22,
- Qn22, NewQn22,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, NewQn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_Qn32(-21,
- Qn21, NewQn21,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- NewQn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_Qn32(-20,
- Qn20, NewQn20,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, NewQn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_Qn32(-19,
- Qn19, NewQn19,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, NewQn19, Qn18, Qn17});
-?OUT_CURRENT_Qn32(-18,
- Qn18, NewQn18,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, NewQn18, Qn17});
-?OUT_CURRENT_Qn32(-17,
- Qn17, NewQn17,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, NewQn17});
-?OUT_CURRENT_Qn16(-16,
- Qn16, NewQn16,
- {NewQn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_Qn16(-15,
- Qn15, NewQn15,
- {Qn16, NewQn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_Qn16(-14,
- Qn14, NewQn14,
- {Qn16, Qn15, NewQn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_Qn16(-13,
- Qn13, NewQn13,
- {Qn16, Qn15, Qn14, NewQn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_Qn16(-12,
- Qn12, NewQn12,
- {Qn16, Qn15, Qn14, Qn13, NewQn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_Qn16(-11,
- Qn11, NewQn11,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- NewQn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_Qn16(-10,
- Qn10, NewQn10,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, NewQn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_Qn16(-9,
- Qn9, NewQn9,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, NewQn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_Qn16(-8,
- Qn8, NewQn8,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, NewQn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_Qn16(-7,
- Qn7, NewQn7,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, NewQn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_Qn16(-6,
- Qn6, NewQn6,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, NewQn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_Qn16(-5,
- Qn5, NewQn5,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- NewQn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_Qn16(-4,
- Qn4, NewQn4,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, NewQn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_Qn16(-3,
- Qn3, NewQn3,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, NewQn3, Qn2, Qn1});
-?OUT_CURRENT_Qn16(-2,
- Qn2, NewQn2,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, NewQn2, Qn1});
-?OUT_CURRENT_Qn16(-1,
- Qn1, NewQn1,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, NewQn1});
-out_current(0,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- {Value, NewQ0} = queue:out(Q0),
- if
- Value =:= empty ->
- out_current(1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> 0 end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- NewQ0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end;
-?OUT_CURRENT_Qp16(1,
- Qp1, NewQp1,
- {NewQp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_Qp16(2,
- Qp2, NewQp2,
- {Qp1, NewQp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_Qp16(3,
- Qp3, NewQp3,
- {Qp1, Qp2, NewQp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_Qp16(4,
- Qp4, NewQp4,
- {Qp1, Qp2, Qp3, NewQp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_Qp16(5,
- Qp5, NewQp5,
- {Qp1, Qp2, Qp3, Qp4, NewQp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_Qp16(6,
- Qp6, NewQp6,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- NewQp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_Qp16(7,
- Qp7, NewQp7,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, NewQp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_Qp16(8,
- Qp8, NewQp8,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, NewQp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_Qp16(9,
- Qp9, NewQp9,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, NewQp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_Qp16(10,
- Qp10, NewQp10,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, NewQp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_Qp16(11,
- Qp11, NewQp11,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, NewQp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_Qp16(12,
- Qp12, NewQp12,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- NewQp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_Qp16(13,
- Qp13, NewQp13,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, NewQp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_Qp16(14,
- Qp14, NewQp14,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, NewQp14, Qp15, Qp16});
-?OUT_CURRENT_Qp16(15,
- Qp15, NewQp15,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, NewQp15, Qp16});
-?OUT_CURRENT_Qp16(16,
- Qp16, NewQp16,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, NewQp16});
-?OUT_CURRENT_Qp32(17,
- Qp17, NewQp17,
- {NewQp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_Qp32(18,
- Qp18, NewQp18,
- {Qp17, NewQp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_Qp32(19,
- Qp19, NewQp19,
- {Qp17, Qp18, NewQp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_Qp32(20,
- Qp20, NewQp20,
- {Qp17, Qp18, Qp19, NewQp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_Qp32(21,
- Qp21, NewQp21,
- {Qp17, Qp18, Qp19, Qp20, NewQp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_Qp32(22,
- Qp22, NewQp22,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- NewQp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_Qp32(23,
- Qp23, NewQp23,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, NewQp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_Qp32(24,
- Qp24, NewQp24,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, NewQp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_Qp32(25,
- Qp25, NewQp25,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, NewQp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_Qp32(26,
- Qp26, NewQp26,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, NewQp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_Qp32(27,
- Qp27, NewQp27,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, NewQp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_Qp32(28,
- Qp28, NewQp28,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- NewQp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_Qp32(29,
- Qp29, NewQp29,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, NewQp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_Qp32(30,
- Qp30, NewQp30,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, NewQp30, Qp31, Qp32});
-?OUT_CURRENT_Qp32(31,
- Qp31, NewQp31,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, NewQp31, Qp32});
-?OUT_CURRENT_Qp32(32,
- Qp32, NewQp32,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, NewQp32});
-?OUT_CURRENT_Qp48(33,
- Qp33, NewQp33,
- {NewQp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_Qp48(34,
- Qp34, NewQp34,
- {Qp33, NewQp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_Qp48(35,
- Qp35, NewQp35,
- {Qp33, Qp34, NewQp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_Qp48(36,
- Qp36, NewQp36,
- {Qp33, Qp34, Qp35, NewQp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_Qp48(37,
- Qp37, NewQp37,
- {Qp33, Qp34, Qp35, Qp36, NewQp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_Qp48(38,
- Qp38, NewQp38,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- NewQp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_Qp48(39,
- Qp39, NewQp39,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, NewQp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_Qp48(40,
- Qp40, NewQp40,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, NewQp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_Qp48(41,
- Qp41, NewQp41,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, NewQp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_Qp48(42,
- Qp42, NewQp42,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, NewQp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_Qp48(43,
- Qp43, NewQp43,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, NewQp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_Qp48(44,
- Qp44, NewQp44,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- NewQp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_Qp48(45,
- Qp45, NewQp45,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, NewQp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_Qp48(46,
- Qp46, NewQp46,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, NewQp46, Qp47, Qp48});
-?OUT_CURRENT_Qp48(47,
- Qp47, NewQp47,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, NewQp47, Qp48});
-?OUT_CURRENT_Qp48(48,
- Qp48, NewQp48,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, NewQp48});
-?OUT_CURRENT_Qp64(49,
- Qp49, NewQp49,
- {NewQp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_Qp64(50,
- Qp50, NewQp50,
- {Qp49, NewQp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_Qp64(51,
- Qp51, NewQp51,
- {Qp49, Qp50, NewQp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_Qp64(52,
- Qp52, NewQp52,
- {Qp49, Qp50, Qp51, NewQp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_Qp64(53,
- Qp53, NewQp53,
- {Qp49, Qp50, Qp51, Qp52, NewQp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_Qp64(54,
- Qp54, NewQp54,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- NewQp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_Qp64(55,
- Qp55, NewQp55,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, NewQp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_Qp64(56,
- Qp56, NewQp56,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, NewQp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_Qp64(57,
- Qp57, NewQp57,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, NewQp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_Qp64(58,
- Qp58, NewQp58,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, NewQp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_Qp64(59,
- Qp59, NewQp59,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, NewQp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_Qp64(60,
- Qp60, NewQp60,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- NewQp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_Qp64(61,
- Qp61, NewQp61,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, NewQp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_Qp64(62,
- Qp62, NewQp62,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, NewQp62, Qp63, Qp64});
-?OUT_CURRENT_Qp64(63,
- Qp63, NewQp63,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, NewQp63, Qp64});
-?OUT_CURRENT_Qp64(64,
- Qp64, NewQp64,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, NewQp64});
-?OUT_CURRENT_Qp80(65,
- Qp65, NewQp65,
- {NewQp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_Qp80(66,
- Qp66, NewQp66,
- {Qp65, NewQp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_Qp80(67,
- Qp67, NewQp67,
- {Qp65, Qp66, NewQp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_Qp80(68,
- Qp68, NewQp68,
- {Qp65, Qp66, Qp67, NewQp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_Qp80(69,
- Qp69, NewQp69,
- {Qp65, Qp66, Qp67, Qp68, NewQp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_Qp80(70,
- Qp70, NewQp70,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- NewQp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_Qp80(71,
- Qp71, NewQp71,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, NewQp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_Qp80(72,
- Qp72, NewQp72,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, NewQp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_Qp80(73,
- Qp73, NewQp73,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, NewQp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_Qp80(74,
- Qp74, NewQp74,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, NewQp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_Qp80(75,
- Qp75, NewQp75,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, NewQp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_Qp80(76,
- Qp76, NewQp76,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- NewQp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_Qp80(77,
- Qp77, NewQp77,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, NewQp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_Qp80(78,
- Qp78, NewQp78,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, NewQp78, Qp79, Qp80});
-?OUT_CURRENT_Qp80(79,
- Qp79, NewQp79,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, NewQp79, Qp80});
-?OUT_CURRENT_Qp80(80,
- Qp80, NewQp80,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, NewQp80});
-?OUT_CURRENT_Qp96(81,
- Qp81, NewQp81,
- {NewQp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_Qp96(82,
- Qp82, NewQp82,
- {Qp81, NewQp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_Qp96(83,
- Qp83, NewQp83,
- {Qp81, Qp82, NewQp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_Qp96(84,
- Qp84, NewQp84,
- {Qp81, Qp82, Qp83, NewQp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_Qp96(85,
- Qp85, NewQp85,
- {Qp81, Qp82, Qp83, Qp84, NewQp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_Qp96(86,
- Qp86, NewQp86,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- NewQp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_Qp96(87,
- Qp87, NewQp87,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, NewQp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_Qp96(88,
- Qp88, NewQp88,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, NewQp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_Qp96(89,
- Qp89, NewQp89,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, NewQp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_Qp96(90,
- Qp90, NewQp90,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, NewQp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_Qp96(91,
- Qp91, NewQp91,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, NewQp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_Qp96(92,
- Qp92, NewQp92,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- NewQp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_Qp96(93,
- Qp93, NewQp93,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, NewQp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_Qp96(94,
- Qp94, NewQp94,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, NewQp94, Qp95, Qp96});
-?OUT_CURRENT_Qp96(95,
- Qp95, NewQp95,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, NewQp95, Qp96});
-?OUT_CURRENT_Qp96(96,
- Qp96, NewQp96,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, NewQp96});
-?OUT_CURRENT_Qp112(97,
- Qp97, NewQp97,
- {NewQp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_Qp112(98,
- Qp98, NewQp98,
- {Qp97, NewQp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_Qp112(99,
- Qp99, NewQp99,
- {Qp97, Qp98, NewQp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_Qp112(100,
- Qp100, NewQp100,
- {Qp97, Qp98, Qp99, NewQp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_Qp112(101,
- Qp101, NewQp101,
- {Qp97, Qp98, Qp99, Qp100, NewQp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_Qp112(102,
- Qp102, NewQp102,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- NewQp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_Qp112(103,
- Qp103, NewQp103,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, NewQp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_Qp112(104,
- Qp104, NewQp104,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, NewQp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_Qp112(105,
- Qp105, NewQp105,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, NewQp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_Qp112(106,
- Qp106, NewQp106,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, NewQp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_Qp112(107,
- Qp107, NewQp107,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, NewQp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_Qp112(108,
- Qp108, NewQp108,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- NewQp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_Qp112(109,
- Qp109, NewQp109,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, NewQp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_Qp112(110,
- Qp110, NewQp110,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, NewQp110, Qp111, Qp112});
-?OUT_CURRENT_Qp112(111,
- Qp111, NewQp111,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, NewQp111, Qp112});
-?OUT_CURRENT_Qp112(112,
- Qp112, NewQp112,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, NewQp112});
-?OUT_CURRENT_Qp128(113,
- Qp113, NewQp113,
- {NewQp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_Qp128(114,
- Qp114, NewQp114,
- {Qp113, NewQp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_Qp128(115,
- Qp115, NewQp115,
- {Qp113, Qp114, NewQp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_Qp128(116,
- Qp116, NewQp116,
- {Qp113, Qp114, Qp115, NewQp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_Qp128(117,
- Qp117, NewQp117,
- {Qp113, Qp114, Qp115, Qp116, NewQp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_Qp128(118,
- Qp118, NewQp118,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- NewQp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_Qp128(119,
- Qp119, NewQp119,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, NewQp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_Qp128(120,
- Qp120, NewQp120,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, NewQp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_Qp128(121,
- Qp121, NewQp121,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, NewQp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_Qp128(122,
- Qp122, NewQp122,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, NewQp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_Qp128(123,
- Qp123, NewQp123,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, NewQp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_Qp128(124,
- Qp124, NewQp124,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- NewQp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_Qp128(125,
- Qp125, NewQp125,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, NewQp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_Qp128(126,
- Qp126, NewQp126,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, NewQp126, Qp127, Qp128});
-?OUT_CURRENT_Qp128(127,
- Qp127, NewQp127,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, NewQp127, Qp128});
-out_current(128,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- {Qp113, Qp114, Qp115, Qp116, Qp117, Qp118, Qp119, Qp120,
- Qp121, Qp122, Qp123, Qp124, Qp125, Qp126, Qp127, Qp128}}) ->
- {Value, NewQp128} = queue:out(Qp128),
- if
- Value =:= empty ->
- {empty,
- {empty,
- 0,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- {Qp113, Qp114, Qp115, Qp116, Qp117, Qp118, Qp119, Qp120,
- Qp121, Qp122, Qp123, Qp124, Qp125, Qp126, Qp127, NewQp128}}};
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> 128 end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- {Qp113, Qp114, Qp115, Qp116, Qp117, Qp118, Qp119, Qp120,
- Qp121, Qp122, Qp123, Qp124, Qp125, Qp126, Qp127, NewQp128}}}
- end.
-
-%% @hidden
--define(OUT_CURRENT_P_Qn128(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- {Qn128, Qn127, Qn126, Qn125, Qn124, Qn123, Qn122, Qn121,
- Qn120, Qn119, Qn118, Qn117, Qn116, Qn115, Qn114, Qn113},
- Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- V3,
- Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_P_Qn112(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128,
- {Qn112, Qn111, Qn110, Qn109, Qn108, Qn107, Qn106, Qn105,
- Qn104, Qn103, Qn102, Qn101, Qn100, Qn99, Qn98, Qn97},
- Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128,
- V3,
- Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_P_Qn96(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128, Qn112,
- {Qn96, Qn95, Qn94, Qn93, Qn92, Qn91, Qn90, Qn89,
- Qn88, Qn87, Qn86, Qn85, Qn84, Qn83, Qn82, Qn81},
- Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112,
- V3,
- Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_P_Qn80(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128, Qn112, Qn96,
- {Qn80, Qn79, Qn78, Qn77, Qn76, Qn75, Qn74, Qn73,
- Qn72, Qn71, Qn70, Qn69, Qn68, Qn67, Qn66, Qn65},
- Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96,
- V3,
- Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_P_Qn64(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80,
- {Qn64, Qn63, Qn62, Qn61, Qn60, Qn59, Qn58, Qn57,
- Qn56, Qn55, Qn54, Qn53, Qn52, Qn51, Qn50, Qn49},
- Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80,
- V3,
- Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_P_Qn48(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64,
- {Qn48, Qn47, Qn46, Qn45, Qn44, Qn43, Qn42, Qn41,
- Qn40, Qn39, Qn38, Qn37, Qn36, Qn35, Qn34, Qn33},
- Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64,
- V3,
- Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_P_Qn32(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48,
- {Qn32, Qn31, Qn30, Qn29, Qn28, Qn27, Qn26, Qn25,
- Qn24, Qn23, Qn22, Qn21, Qn20, Qn19, Qn18, Qn17},
- Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48,
- V3,
- Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_P_Qn16(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32,
- {Qn16, Qn15, Qn14, Qn13, Qn12, Qn11, Qn10, Qn9,
- Qn8, Qn7, Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32,
- V3,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_P_Qp16(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6, Qp7, Qp8,
- Qp9, Qp10, Qp11, Qp12, Qp13, Qp14, Qp15, Qp16},
- Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- V3,
- Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_P_Qp32(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16,
- {Qp17, Qp18, Qp19, Qp20, Qp21, Qp22, Qp23, Qp24,
- Qp25, Qp26, Qp27, Qp28, Qp29, Qp30, Qp31, Qp32},
- Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16,
- V3,
- Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_P_Qp48(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32,
- {Qp33, Qp34, Qp35, Qp36, Qp37, Qp38, Qp39, Qp40,
- Qp41, Qp42, Qp43, Qp44, Qp45, Qp46, Qp47, Qp48},
- Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32,
- V3,
- Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_P_Qp64(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48,
- {Qp49, Qp50, Qp51, Qp52, Qp53, Qp54, Qp55, Qp56,
- Qp57, Qp58, Qp59, Qp60, Qp61, Qp62, Qp63, Qp64},
- Qp80, Qp96, Qp112, Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48,
- V3,
- Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_P_Qp80(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64,
- {Qp65, Qp66, Qp67, Qp68, Qp69, Qp70, Qp71, Qp72,
- Qp73, Qp74, Qp75, Qp76, Qp77, Qp78, Qp79, Qp80},
- Qp96, Qp112, Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64,
- V3,
- Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_P_Qp96(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80,
- {Qp81, Qp82, Qp83, Qp84, Qp85, Qp86, Qp87, Qp88,
- Qp89, Qp90, Qp91, Qp92, Qp93, Qp94, Qp95, Qp96},
- Qp112, Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80,
- V3,
- Qp112, Qp128}}
- end).
--define(OUT_CURRENT_P_Qp112(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96,
- {Qp97, Qp98, Qp99, Qp100, Qp101, Qp102, Qp103, Qp104,
- Qp105, Qp106, Qp107, Qp108, Qp109, Qp110, Qp111, Qp112},
- Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96,
- V3,
- Qp128}}
- end).
--define(OUT_CURRENT_P_Qp128(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- {Qp113, Qp114, Qp115, Qp116, Qp117, Qp118, Qp119, Qp120,
- Qp121, Qp122, Qp123, Qp124, Qp125, Qp126, Qp127, Qp128}} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- V3}}
- end).
-
-?OUT_CURRENT_P_Qn128(-128,
- Qn128, NewQn128,
- {NewQn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_P_Qn128(-127,
- Qn127, NewQn127,
- {Qn128, NewQn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_P_Qn128(-126,
- Qn126, NewQn126,
- {Qn128, Qn127, NewQn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_P_Qn128(-125,
- Qn125, NewQn125,
- {Qn128, Qn127, Qn126, NewQn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_P_Qn128(-124,
- Qn124, NewQn124,
- {Qn128, Qn127, Qn126, Qn125, NewQn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_P_Qn128(-123,
- Qn123, NewQn123,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- NewQn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_P_Qn128(-122,
- Qn122, NewQn122,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, NewQn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_P_Qn128(-121,
- Qn121, NewQn121,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, NewQn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_P_Qn128(-120,
- Qn120, NewQn120,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, NewQn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_P_Qn128(-119,
- Qn119, NewQn119,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, NewQn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_P_Qn128(-118,
- Qn118, NewQn118,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, NewQn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_P_Qn128(-117,
- Qn117, NewQn117,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- NewQn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_P_Qn128(-116,
- Qn116, NewQn116,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, NewQn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_P_Qn128(-115,
- Qn115, NewQn115,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, NewQn115, Qn114, Qn113});
-?OUT_CURRENT_P_Qn128(-114,
- Qn114, NewQn114,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, NewQn114, Qn113});
-?OUT_CURRENT_P_Qn128(-113,
- Qn113, NewQn113,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, NewQn113});
-?OUT_CURRENT_P_Qn112(-112,
- Qn112, NewQn112,
- {NewQn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_P_Qn112(-111,
- Qn111, NewQn111,
- {Qn112, NewQn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_P_Qn112(-110,
- Qn110, NewQn110,
- {Qn112, Qn111, NewQn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_P_Qn112(-109,
- Qn109, NewQn109,
- {Qn112, Qn111, Qn110, NewQn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_P_Qn112(-108,
- Qn108, NewQn108,
- {Qn112, Qn111, Qn110, Qn109, NewQn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_P_Qn112(-107,
- Qn107, NewQn107,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- NewQn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_P_Qn112(-106,
- Qn106, NewQn106,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, NewQn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_P_Qn112(-105,
- Qn105, NewQn105,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, NewQn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_P_Qn112(-104,
- Qn104, NewQn104,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, NewQn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_P_Qn112(-103,
- Qn103, NewQn103,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, NewQn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_P_Qn112(-102,
- Qn102, NewQn102,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, NewQn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_P_Qn112(-101,
- Qn101, NewQn101,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- NewQn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_P_Qn112(-100,
- Qn100, NewQn100,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, NewQn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_P_Qn112(-99,
- Qn99, NewQn99,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, NewQn99, Qn98, Qn97});
-?OUT_CURRENT_P_Qn112(-98,
- Qn98, NewQn98,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, NewQn98, Qn97});
-?OUT_CURRENT_P_Qn112(-97,
- Qn97, NewQn97,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, NewQn97});
-?OUT_CURRENT_P_Qn96(-96,
- Qn96, NewQn96,
- {NewQn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_P_Qn96(-95,
- Qn95, NewQn95,
- {Qn96, NewQn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_P_Qn96(-94,
- Qn94, NewQn94,
- {Qn96, Qn95, NewQn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_P_Qn96(-93,
- Qn93, NewQn93,
- {Qn96, Qn95, Qn94, NewQn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_P_Qn96(-92,
- Qn92, NewQn92,
- {Qn96, Qn95, Qn94, Qn93, NewQn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_P_Qn96(-91,
- Qn91, NewQn91,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- NewQn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_P_Qn96(-90,
- Qn90, NewQn90,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, NewQn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_P_Qn96(-89,
- Qn89, NewQn89,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, NewQn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_P_Qn96(-88,
- Qn88, NewQn88,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, NewQn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_P_Qn96(-87,
- Qn87, NewQn87,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, NewQn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_P_Qn96(-86,
- Qn86, NewQn86,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, NewQn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_P_Qn96(-85,
- Qn85, NewQn85,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- NewQn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_P_Qn96(-84,
- Qn84, NewQn84,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, NewQn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_P_Qn96(-83,
- Qn83, NewQn83,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, NewQn83, Qn82, Qn81});
-?OUT_CURRENT_P_Qn96(-82,
- Qn82, NewQn82,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, NewQn82, Qn81});
-?OUT_CURRENT_P_Qn96(-81,
- Qn81, NewQn81,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, NewQn81});
-?OUT_CURRENT_P_Qn80(-80,
- Qn80, NewQn80,
- {NewQn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_P_Qn80(-79,
- Qn79, NewQn79,
- {Qn80, NewQn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_P_Qn80(-78,
- Qn78, NewQn78,
- {Qn80, Qn79, NewQn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_P_Qn80(-77,
- Qn77, NewQn77,
- {Qn80, Qn79, Qn78, NewQn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_P_Qn80(-76,
- Qn76, NewQn76,
- {Qn80, Qn79, Qn78, Qn77, NewQn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_P_Qn80(-75,
- Qn75, NewQn75,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- NewQn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_P_Qn80(-74,
- Qn74, NewQn74,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, NewQn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_P_Qn80(-73,
- Qn73, NewQn73,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, NewQn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_P_Qn80(-72,
- Qn72, NewQn72,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, NewQn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_P_Qn80(-71,
- Qn71, NewQn71,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, NewQn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_P_Qn80(-70,
- Qn70, NewQn70,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, NewQn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_P_Qn80(-69,
- Qn69, NewQn69,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- NewQn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_P_Qn80(-68,
- Qn68, NewQn68,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, NewQn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_P_Qn80(-67,
- Qn67, NewQn67,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, NewQn67, Qn66, Qn65});
-?OUT_CURRENT_P_Qn80(-66,
- Qn66, NewQn66,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, NewQn66, Qn65});
-?OUT_CURRENT_P_Qn80(-65,
- Qn65, NewQn65,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, NewQn65});
-?OUT_CURRENT_P_Qn64(-64,
- Qn64, NewQn64,
- {NewQn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_P_Qn64(-63,
- Qn63, NewQn63,
- {Qn64, NewQn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_P_Qn64(-62,
- Qn62, NewQn62,
- {Qn64, Qn63, NewQn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_P_Qn64(-61,
- Qn61, NewQn61,
- {Qn64, Qn63, Qn62, NewQn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_P_Qn64(-60,
- Qn60, NewQn60,
- {Qn64, Qn63, Qn62, Qn61, NewQn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_P_Qn64(-59,
- Qn59, NewQn59,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- NewQn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_P_Qn64(-58,
- Qn58, NewQn58,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, NewQn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_P_Qn64(-57,
- Qn57, NewQn57,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, NewQn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_P_Qn64(-56,
- Qn56, NewQn56,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, NewQn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_P_Qn64(-55,
- Qn55, NewQn55,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, NewQn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_P_Qn64(-54,
- Qn54, NewQn54,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, NewQn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_P_Qn64(-53,
- Qn53, NewQn53,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- NewQn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_P_Qn64(-52,
- Qn52, NewQn52,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, NewQn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_P_Qn64(-51,
- Qn51, NewQn51,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, NewQn51, Qn50, Qn49});
-?OUT_CURRENT_P_Qn64(-50,
- Qn50, NewQn50,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, NewQn50, Qn49});
-?OUT_CURRENT_P_Qn64(-49,
- Qn49, NewQn49,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, NewQn49});
-?OUT_CURRENT_P_Qn48(-48,
- Qn48, NewQn48,
- {NewQn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_P_Qn48(-47,
- Qn47, NewQn47,
- {Qn48, NewQn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_P_Qn48(-46,
- Qn46, NewQn46,
- {Qn48, Qn47, NewQn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_P_Qn48(-45,
- Qn45, NewQn45,
- {Qn48, Qn47, Qn46, NewQn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_P_Qn48(-44,
- Qn44, NewQn44,
- {Qn48, Qn47, Qn46, Qn45, NewQn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_P_Qn48(-43,
- Qn43, NewQn43,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- NewQn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_P_Qn48(-42,
- Qn42, NewQn42,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, NewQn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_P_Qn48(-41,
- Qn41, NewQn41,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, NewQn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_P_Qn48(-40,
- Qn40, NewQn40,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, NewQn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_P_Qn48(-39,
- Qn39, NewQn39,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, NewQn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_P_Qn48(-38,
- Qn38, NewQn38,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, NewQn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_P_Qn48(-37,
- Qn37, NewQn37,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- NewQn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_P_Qn48(-36,
- Qn36, NewQn36,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, NewQn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_P_Qn48(-35,
- Qn35, NewQn35,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, NewQn35, Qn34, Qn33});
-?OUT_CURRENT_P_Qn48(-34,
- Qn34, NewQn34,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, NewQn34, Qn33});
-?OUT_CURRENT_P_Qn48(-33,
- Qn33, NewQn33,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, NewQn33});
-?OUT_CURRENT_P_Qn32(-32,
- Qn32, NewQn32,
- {NewQn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_P_Qn32(-31,
- Qn31, NewQn31,
- {Qn32, NewQn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_P_Qn32(-30,
- Qn30, NewQn30,
- {Qn32, Qn31, NewQn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_P_Qn32(-29,
- Qn29, NewQn29,
- {Qn32, Qn31, Qn30, NewQn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_P_Qn32(-28,
- Qn28, NewQn28,
- {Qn32, Qn31, Qn30, Qn29, NewQn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_P_Qn32(-27,
- Qn27, NewQn27,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- NewQn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_P_Qn32(-26,
- Qn26, NewQn26,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, NewQn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_P_Qn32(-25,
- Qn25, NewQn25,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, NewQn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_P_Qn32(-24,
- Qn24, NewQn24,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, NewQn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_P_Qn32(-23,
- Qn23, NewQn23,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, NewQn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_P_Qn32(-22,
- Qn22, NewQn22,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, NewQn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_P_Qn32(-21,
- Qn21, NewQn21,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- NewQn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_P_Qn32(-20,
- Qn20, NewQn20,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, NewQn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_P_Qn32(-19,
- Qn19, NewQn19,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, NewQn19, Qn18, Qn17});
-?OUT_CURRENT_P_Qn32(-18,
- Qn18, NewQn18,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, NewQn18, Qn17});
-?OUT_CURRENT_P_Qn32(-17,
- Qn17, NewQn17,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, NewQn17});
-?OUT_CURRENT_P_Qn16(-16,
- Qn16, NewQn16,
- {NewQn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_P_Qn16(-15,
- Qn15, NewQn15,
- {Qn16, NewQn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_P_Qn16(-14,
- Qn14, NewQn14,
- {Qn16, Qn15, NewQn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_P_Qn16(-13,
- Qn13, NewQn13,
- {Qn16, Qn15, Qn14, NewQn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_P_Qn16(-12,
- Qn12, NewQn12,
- {Qn16, Qn15, Qn14, Qn13, NewQn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_P_Qn16(-11,
- Qn11, NewQn11,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- NewQn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_P_Qn16(-10,
- Qn10, NewQn10,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, NewQn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_P_Qn16(-9,
- Qn9, NewQn9,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, NewQn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_P_Qn16(-8,
- Qn8, NewQn8,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, NewQn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_P_Qn16(-7,
- Qn7, NewQn7,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, NewQn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_P_Qn16(-6,
- Qn6, NewQn6,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, NewQn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_P_Qn16(-5,
- Qn5, NewQn5,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- NewQn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_P_Qn16(-4,
- Qn4, NewQn4,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, NewQn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_P_Qn16(-3,
- Qn3, NewQn3,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, NewQn3, Qn2, Qn1});
-?OUT_CURRENT_P_Qn16(-2,
- Qn2, NewQn2,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, NewQn2, Qn1});
-?OUT_CURRENT_P_Qn16(-1,
- Qn1, NewQn1,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, NewQn1});
-out_current_p(0,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- case queue:out(Q0) of
- {empty, _} ->
- out_current_p(1, Q);
- {{value, X}, NewQ0} ->
- NewSize = Size - 1,
- {{value, X, 0},
- {if NewSize == 0 -> empty; true -> 0 end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- NewQ0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end;
-?OUT_CURRENT_P_Qp16(1,
- Qp1, NewQp1,
- {NewQp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_P_Qp16(2,
- Qp2, NewQp2,
- {Qp1, NewQp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_P_Qp16(3,
- Qp3, NewQp3,
- {Qp1, Qp2, NewQp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_P_Qp16(4,
- Qp4, NewQp4,
- {Qp1, Qp2, Qp3, NewQp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_P_Qp16(5,
- Qp5, NewQp5,
- {Qp1, Qp2, Qp3, Qp4, NewQp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_P_Qp16(6,
- Qp6, NewQp6,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- NewQp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_P_Qp16(7,
- Qp7, NewQp7,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, NewQp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_P_Qp16(8,
- Qp8, NewQp8,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, NewQp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_P_Qp16(9,
- Qp9, NewQp9,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, NewQp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_P_Qp16(10,
- Qp10, NewQp10,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, NewQp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_P_Qp16(11,
- Qp11, NewQp11,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, NewQp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_P_Qp16(12,
- Qp12, NewQp12,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- NewQp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_P_Qp16(13,
- Qp13, NewQp13,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, NewQp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_P_Qp16(14,
- Qp14, NewQp14,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, NewQp14, Qp15, Qp16});
-?OUT_CURRENT_P_Qp16(15,
- Qp15, NewQp15,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, NewQp15, Qp16});
-?OUT_CURRENT_P_Qp16(16,
- Qp16, NewQp16,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, NewQp16});
-?OUT_CURRENT_P_Qp32(17,
- Qp17, NewQp17,
- {NewQp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_P_Qp32(18,
- Qp18, NewQp18,
- {Qp17, NewQp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_P_Qp32(19,
- Qp19, NewQp19,
- {Qp17, Qp18, NewQp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_P_Qp32(20,
- Qp20, NewQp20,
- {Qp17, Qp18, Qp19, NewQp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_P_Qp32(21,
- Qp21, NewQp21,
- {Qp17, Qp18, Qp19, Qp20, NewQp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_P_Qp32(22,
- Qp22, NewQp22,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- NewQp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_P_Qp32(23,
- Qp23, NewQp23,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, NewQp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_P_Qp32(24,
- Qp24, NewQp24,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, NewQp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_P_Qp32(25,
- Qp25, NewQp25,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, NewQp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_P_Qp32(26,
- Qp26, NewQp26,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, NewQp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_P_Qp32(27,
- Qp27, NewQp27,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, NewQp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_P_Qp32(28,
- Qp28, NewQp28,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- NewQp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_P_Qp32(29,
- Qp29, NewQp29,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, NewQp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_P_Qp32(30,
- Qp30, NewQp30,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, NewQp30, Qp31, Qp32});
-?OUT_CURRENT_P_Qp32(31,
- Qp31, NewQp31,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, NewQp31, Qp32});
-?OUT_CURRENT_P_Qp32(32,
- Qp32, NewQp32,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, NewQp32});
-?OUT_CURRENT_P_Qp48(33,
- Qp33, NewQp33,
- {NewQp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_P_Qp48(34,
- Qp34, NewQp34,
- {Qp33, NewQp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_P_Qp48(35,
- Qp35, NewQp35,
- {Qp33, Qp34, NewQp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_P_Qp48(36,
- Qp36, NewQp36,
- {Qp33, Qp34, Qp35, NewQp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_P_Qp48(37,
- Qp37, NewQp37,
- {Qp33, Qp34, Qp35, Qp36, NewQp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_P_Qp48(38,
- Qp38, NewQp38,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- NewQp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_P_Qp48(39,
- Qp39, NewQp39,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, NewQp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_P_Qp48(40,
- Qp40, NewQp40,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, NewQp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_P_Qp48(41,
- Qp41, NewQp41,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, NewQp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_P_Qp48(42,
- Qp42, NewQp42,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, NewQp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_P_Qp48(43,
- Qp43, NewQp43,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, NewQp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_P_Qp48(44,
- Qp44, NewQp44,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- NewQp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_P_Qp48(45,
- Qp45, NewQp45,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, NewQp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_P_Qp48(46,
- Qp46, NewQp46,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, NewQp46, Qp47, Qp48});
-?OUT_CURRENT_P_Qp48(47,
- Qp47, NewQp47,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, NewQp47, Qp48});
-?OUT_CURRENT_P_Qp48(48,
- Qp48, NewQp48,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, NewQp48});
-?OUT_CURRENT_P_Qp64(49,
- Qp49, NewQp49,
- {NewQp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_P_Qp64(50,
- Qp50, NewQp50,
- {Qp49, NewQp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_P_Qp64(51,
- Qp51, NewQp51,
- {Qp49, Qp50, NewQp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_P_Qp64(52,
- Qp52, NewQp52,
- {Qp49, Qp50, Qp51, NewQp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_P_Qp64(53,
- Qp53, NewQp53,
- {Qp49, Qp50, Qp51, Qp52, NewQp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_P_Qp64(54,
- Qp54, NewQp54,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- NewQp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_P_Qp64(55,
- Qp55, NewQp55,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, NewQp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_P_Qp64(56,
- Qp56, NewQp56,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, NewQp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_P_Qp64(57,
- Qp57, NewQp57,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, NewQp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_P_Qp64(58,
- Qp58, NewQp58,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, NewQp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_P_Qp64(59,
- Qp59, NewQp59,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, NewQp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_P_Qp64(60,
- Qp60, NewQp60,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- NewQp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_P_Qp64(61,
- Qp61, NewQp61,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, NewQp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_P_Qp64(62,
- Qp62, NewQp62,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, NewQp62, Qp63, Qp64});
-?OUT_CURRENT_P_Qp64(63,
- Qp63, NewQp63,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, NewQp63, Qp64});
-?OUT_CURRENT_P_Qp64(64,
- Qp64, NewQp64,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, NewQp64});
-?OUT_CURRENT_P_Qp80(65,
- Qp65, NewQp65,
- {NewQp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_P_Qp80(66,
- Qp66, NewQp66,
- {Qp65, NewQp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_P_Qp80(67,
- Qp67, NewQp67,
- {Qp65, Qp66, NewQp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_P_Qp80(68,
- Qp68, NewQp68,
- {Qp65, Qp66, Qp67, NewQp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_P_Qp80(69,
- Qp69, NewQp69,
- {Qp65, Qp66, Qp67, Qp68, NewQp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_P_Qp80(70,
- Qp70, NewQp70,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- NewQp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_P_Qp80(71,
- Qp71, NewQp71,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, NewQp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_P_Qp80(72,
- Qp72, NewQp72,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, NewQp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_P_Qp80(73,
- Qp73, NewQp73,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, NewQp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_P_Qp80(74,
- Qp74, NewQp74,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, NewQp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_P_Qp80(75,
- Qp75, NewQp75,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, NewQp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_P_Qp80(76,
- Qp76, NewQp76,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- NewQp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_P_Qp80(77,
- Qp77, NewQp77,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, NewQp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_P_Qp80(78,
- Qp78, NewQp78,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, NewQp78, Qp79, Qp80});
-?OUT_CURRENT_P_Qp80(79,
- Qp79, NewQp79,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, NewQp79, Qp80});
-?OUT_CURRENT_P_Qp80(80,
- Qp80, NewQp80,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, NewQp80});
-?OUT_CURRENT_P_Qp96(81,
- Qp81, NewQp81,
- {NewQp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_P_Qp96(82,
- Qp82, NewQp82,
- {Qp81, NewQp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_P_Qp96(83,
- Qp83, NewQp83,
- {Qp81, Qp82, NewQp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_P_Qp96(84,
- Qp84, NewQp84,
- {Qp81, Qp82, Qp83, NewQp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_P_Qp96(85,
- Qp85, NewQp85,
- {Qp81, Qp82, Qp83, Qp84, NewQp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_P_Qp96(86,
- Qp86, NewQp86,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- NewQp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_P_Qp96(87,
- Qp87, NewQp87,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, NewQp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_P_Qp96(88,
- Qp88, NewQp88,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, NewQp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_P_Qp96(89,
- Qp89, NewQp89,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, NewQp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_P_Qp96(90,
- Qp90, NewQp90,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, NewQp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_P_Qp96(91,
- Qp91, NewQp91,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, NewQp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_P_Qp96(92,
- Qp92, NewQp92,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- NewQp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_P_Qp96(93,
- Qp93, NewQp93,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, NewQp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_P_Qp96(94,
- Qp94, NewQp94,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, NewQp94, Qp95, Qp96});
-?OUT_CURRENT_P_Qp96(95,
- Qp95, NewQp95,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, NewQp95, Qp96});
-?OUT_CURRENT_P_Qp96(96,
- Qp96, NewQp96,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, NewQp96});
-?OUT_CURRENT_P_Qp112(97,
- Qp97, NewQp97,
- {NewQp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_P_Qp112(98,
- Qp98, NewQp98,
- {Qp97, NewQp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_P_Qp112(99,
- Qp99, NewQp99,
- {Qp97, Qp98, NewQp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_P_Qp112(100,
- Qp100, NewQp100,
- {Qp97, Qp98, Qp99, NewQp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_P_Qp112(101,
- Qp101, NewQp101,
- {Qp97, Qp98, Qp99, Qp100, NewQp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_P_Qp112(102,
- Qp102, NewQp102,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- NewQp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_P_Qp112(103,
- Qp103, NewQp103,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, NewQp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_P_Qp112(104,
- Qp104, NewQp104,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, NewQp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_P_Qp112(105,
- Qp105, NewQp105,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, NewQp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_P_Qp112(106,
- Qp106, NewQp106,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, NewQp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_P_Qp112(107,
- Qp107, NewQp107,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, NewQp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_P_Qp112(108,
- Qp108, NewQp108,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- NewQp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_P_Qp112(109,
- Qp109, NewQp109,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, NewQp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_P_Qp112(110,
- Qp110, NewQp110,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, NewQp110, Qp111, Qp112});
-?OUT_CURRENT_P_Qp112(111,
- Qp111, NewQp111,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, NewQp111, Qp112});
-?OUT_CURRENT_P_Qp112(112,
- Qp112, NewQp112,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, NewQp112});
-?OUT_CURRENT_P_Qp128(113,
- Qp113, NewQp113,
- {NewQp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_P_Qp128(114,
- Qp114, NewQp114,
- {Qp113, NewQp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_P_Qp128(115,
- Qp115, NewQp115,
- {Qp113, Qp114, NewQp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_P_Qp128(116,
- Qp116, NewQp116,
- {Qp113, Qp114, Qp115, NewQp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_P_Qp128(117,
- Qp117, NewQp117,
- {Qp113, Qp114, Qp115, Qp116, NewQp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_P_Qp128(118,
- Qp118, NewQp118,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- NewQp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_P_Qp128(119,
- Qp119, NewQp119,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, NewQp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_P_Qp128(120,
- Qp120, NewQp120,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, NewQp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_P_Qp128(121,
- Qp121, NewQp121,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, NewQp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_P_Qp128(122,
- Qp122, NewQp122,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, NewQp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_P_Qp128(123,
- Qp123, NewQp123,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, NewQp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_P_Qp128(124,
- Qp124, NewQp124,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- NewQp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_P_Qp128(125,
- Qp125, NewQp125,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, NewQp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_P_Qp128(126,
- Qp126, NewQp126,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, NewQp126, Qp127, Qp128});
-?OUT_CURRENT_P_Qp128(127,
- Qp127, NewQp127,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, NewQp127, Qp128});
-out_current_p(128,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- {Qp113, Qp114, Qp115, Qp116, Qp117, Qp118, Qp119, Qp120,
- Qp121, Qp122, Qp123, Qp124, Qp125, Qp126, Qp127, Qp128}}) ->
- case queue:out(Qp128) of
- {empty, _} ->
- {empty,
- {empty,
- 0,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- {Qp113, Qp114, Qp115, Qp116, Qp117, Qp118, Qp119, Qp120,
- Qp121, Qp122, Qp123, Qp124, Qp125, Qp126, Qp127, Qp128}}};
- {{value, X}, NewQp128} ->
- NewSize = Size - 1,
- {{value, X, 128},
- {if NewSize == 0 -> empty; true -> 128 end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- {Qp113, Qp114, Qp115, Qp116, Qp117, Qp118, Qp119, Qp120,
- Qp121, Qp122, Qp123, Qp124, Qp125, Qp126, Qp127, NewQp128}}}
- end.
-
-%% @hidden
--define(OUT_SPECIFIC_Qn128(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- {Qn128, Qn127, Qn126, Qn125, Qn124, Qn123, Qn122, Qn121,
- Qn120, Qn119, Qn118, Qn117, Qn116, Qn115, Qn114, Qn113},
- Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- V3,
- Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(OUT_SPECIFIC_Qn112(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128,
- {Qn112, Qn111, Qn110, Qn109, Qn108, Qn107, Qn106, Qn105,
- Qn104, Qn103, Qn102, Qn101, Qn100, Qn99, Qn98, Qn97},
- Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128,
- V3,
- Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(OUT_SPECIFIC_Qn96(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128, Qn112,
- {Qn96, Qn95, Qn94, Qn93, Qn92, Qn91, Qn90, Qn89,
- Qn88, Qn87, Qn86, Qn85, Qn84, Qn83, Qn82, Qn81},
- Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112,
- V3,
- Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(OUT_SPECIFIC_Qn80(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96,
- {Qn80, Qn79, Qn78, Qn77, Qn76, Qn75, Qn74, Qn73,
- Qn72, Qn71, Qn70, Qn69, Qn68, Qn67, Qn66, Qn65},
- Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96,
- V3,
- Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(OUT_SPECIFIC_Qn64(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80,
- {Qn64, Qn63, Qn62, Qn61, Qn60, Qn59, Qn58, Qn57,
- Qn56, Qn55, Qn54, Qn53, Qn52, Qn51, Qn50, Qn49},
- Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80,
- V3,
- Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(OUT_SPECIFIC_Qn48(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64,
- {Qn48, Qn47, Qn46, Qn45, Qn44, Qn43, Qn42, Qn41,
- Qn40, Qn39, Qn38, Qn37, Qn36, Qn35, Qn34, Qn33},
- Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64,
- V3,
- Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(OUT_SPECIFIC_Qn32(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48,
- {Qn32, Qn31, Qn30, Qn29, Qn28, Qn27, Qn26, Qn25,
- Qn24, Qn23, Qn22, Qn21, Qn20, Qn19, Qn18, Qn17},
- Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48,
- V3,
- Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(OUT_SPECIFIC_Qn16(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32,
- {Qn16, Qn15, Qn14, Qn13, Qn12, Qn11, Qn10, Qn9,
- Qn8, Qn7, Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32,
- V3,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(OUT_SPECIFIC_Qp16(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6, Qp7, Qp8,
- Qp9, Qp10, Qp11, Qp12, Qp13, Qp14, Qp15, Qp16},
- Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- V3,
- Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(OUT_SPECIFIC_Qp32(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16,
- {Qp17, Qp18, Qp19, Qp20, Qp21, Qp22, Qp23, Qp24,
- Qp25, Qp26, Qp27, Qp28, Qp29, Qp30, Qp31, Qp32},
- Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16,
- V3,
- Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(OUT_SPECIFIC_Qp48(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32,
- {Qp33, Qp34, Qp35, Qp36, Qp37, Qp38, Qp39, Qp40,
- Qp41, Qp42, Qp43, Qp44, Qp45, Qp46, Qp47, Qp48},
- Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32,
- V3,
- Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(OUT_SPECIFIC_Qp64(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48,
- {Qp49, Qp50, Qp51, Qp52, Qp53, Qp54, Qp55, Qp56,
- Qp57, Qp58, Qp59, Qp60, Qp61, Qp62, Qp63, Qp64},
- Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48,
- V3,
- Qp80, Qp96, Qp112, Qp128}}).
--define(OUT_SPECIFIC_Qp80(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64,
- {Qp65, Qp66, Qp67, Qp68, Qp69, Qp70, Qp71, Qp72,
- Qp73, Qp74, Qp75, Qp76, Qp77, Qp78, Qp79, Qp80},
- Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64,
- V3,
- Qp96, Qp112, Qp128}}).
--define(OUT_SPECIFIC_Qp96(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80,
- {Qp81, Qp82, Qp83, Qp84, Qp85, Qp86, Qp87, Qp88,
- Qp89, Qp90, Qp91, Qp92, Qp93, Qp94, Qp95, Qp96},
- Qp112, Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80,
- V3,
- Qp112, Qp128}}).
--define(OUT_SPECIFIC_Qp112(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96,
- {Qp97, Qp98, Qp99, Qp100, Qp101, Qp102, Qp103, Qp104,
- Qp105, Qp106, Qp107, Qp108, Qp109, Qp110, Qp111, Qp112},
- Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96,
- V3,
- Qp128}}).
--define(OUT_SPECIFIC_Qp128(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- {Qp113, Qp114, Qp115, Qp116, Qp117, Qp118, Qp119, Qp120,
- Qp121, Qp122, Qp123, Qp124, Qp125, Qp126, Qp127, Qp128}}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- V3}}).
-
-?OUT_SPECIFIC_Qn128(-128,
- Qn128, NewQn128,
- {NewQn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_SPECIFIC_Qn128(-127,
- Qn127, NewQn127,
- {Qn128, NewQn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_SPECIFIC_Qn128(-126,
- Qn126, NewQn126,
- {Qn128, Qn127, NewQn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_SPECIFIC_Qn128(-125,
- Qn125, NewQn125,
- {Qn128, Qn127, Qn126, NewQn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_SPECIFIC_Qn128(-124,
- Qn124, NewQn124,
- {Qn128, Qn127, Qn126, Qn125, NewQn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_SPECIFIC_Qn128(-123,
- Qn123, NewQn123,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- NewQn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_SPECIFIC_Qn128(-122,
- Qn122, NewQn122,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, NewQn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_SPECIFIC_Qn128(-121,
- Qn121, NewQn121,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, NewQn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_SPECIFIC_Qn128(-120,
- Qn120, NewQn120,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, NewQn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_SPECIFIC_Qn128(-119,
- Qn119, NewQn119,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, NewQn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_SPECIFIC_Qn128(-118,
- Qn118, NewQn118,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, NewQn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_SPECIFIC_Qn128(-117,
- Qn117, NewQn117,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- NewQn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_SPECIFIC_Qn128(-116,
- Qn116, NewQn116,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, NewQn116, Qn115, Qn114, Qn113});
-?OUT_SPECIFIC_Qn128(-115,
- Qn115, NewQn115,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, NewQn115, Qn114, Qn113});
-?OUT_SPECIFIC_Qn128(-114,
- Qn114, NewQn114,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, NewQn114, Qn113});
-?OUT_SPECIFIC_Qn128(-113,
- Qn113, NewQn113,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, NewQn113});
-?OUT_SPECIFIC_Qn112(-112,
- Qn112, NewQn112,
- {NewQn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_SPECIFIC_Qn112(-111,
- Qn111, NewQn111,
- {Qn112, NewQn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_SPECIFIC_Qn112(-110,
- Qn110, NewQn110,
- {Qn112, Qn111, NewQn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_SPECIFIC_Qn112(-109,
- Qn109, NewQn109,
- {Qn112, Qn111, Qn110, NewQn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_SPECIFIC_Qn112(-108,
- Qn108, NewQn108,
- {Qn112, Qn111, Qn110, Qn109, NewQn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_SPECIFIC_Qn112(-107,
- Qn107, NewQn107,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- NewQn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_SPECIFIC_Qn112(-106,
- Qn106, NewQn106,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, NewQn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_SPECIFIC_Qn112(-105,
- Qn105, NewQn105,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, NewQn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_SPECIFIC_Qn112(-104,
- Qn104, NewQn104,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, NewQn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_SPECIFIC_Qn112(-103,
- Qn103, NewQn103,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, NewQn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_SPECIFIC_Qn112(-102,
- Qn102, NewQn102,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, NewQn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_SPECIFIC_Qn112(-101,
- Qn101, NewQn101,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- NewQn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_SPECIFIC_Qn112(-100,
- Qn100, NewQn100,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, NewQn100, Qn99, Qn98, Qn97});
-?OUT_SPECIFIC_Qn112(-99,
- Qn99, NewQn99,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, NewQn99, Qn98, Qn97});
-?OUT_SPECIFIC_Qn112(-98,
- Qn98, NewQn98,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, NewQn98, Qn97});
-?OUT_SPECIFIC_Qn112(-97,
- Qn97, NewQn97,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, NewQn97});
-?OUT_SPECIFIC_Qn96(-96,
- Qn96, NewQn96,
- {NewQn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_SPECIFIC_Qn96(-95,
- Qn95, NewQn95,
- {Qn96, NewQn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_SPECIFIC_Qn96(-94,
- Qn94, NewQn94,
- {Qn96, Qn95, NewQn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_SPECIFIC_Qn96(-93,
- Qn93, NewQn93,
- {Qn96, Qn95, Qn94, NewQn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_SPECIFIC_Qn96(-92,
- Qn92, NewQn92,
- {Qn96, Qn95, Qn94, Qn93, NewQn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_SPECIFIC_Qn96(-91,
- Qn91, NewQn91,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- NewQn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_SPECIFIC_Qn96(-90,
- Qn90, NewQn90,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, NewQn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_SPECIFIC_Qn96(-89,
- Qn89, NewQn89,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, NewQn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_SPECIFIC_Qn96(-88,
- Qn88, NewQn88,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, NewQn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_SPECIFIC_Qn96(-87,
- Qn87, NewQn87,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, NewQn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_SPECIFIC_Qn96(-86,
- Qn86, NewQn86,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, NewQn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_SPECIFIC_Qn96(-85,
- Qn85, NewQn85,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- NewQn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_SPECIFIC_Qn96(-84,
- Qn84, NewQn84,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, NewQn84, Qn83, Qn82, Qn81});
-?OUT_SPECIFIC_Qn96(-83,
- Qn83, NewQn83,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, NewQn83, Qn82, Qn81});
-?OUT_SPECIFIC_Qn96(-82,
- Qn82, NewQn82,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, NewQn82, Qn81});
-?OUT_SPECIFIC_Qn96(-81,
- Qn81, NewQn81,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, NewQn81});
-?OUT_SPECIFIC_Qn80(-80,
- Qn80, NewQn80,
- {NewQn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_SPECIFIC_Qn80(-79,
- Qn79, NewQn79,
- {Qn80, NewQn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_SPECIFIC_Qn80(-78,
- Qn78, NewQn78,
- {Qn80, Qn79, NewQn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_SPECIFIC_Qn80(-77,
- Qn77, NewQn77,
- {Qn80, Qn79, Qn78, NewQn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_SPECIFIC_Qn80(-76,
- Qn76, NewQn76,
- {Qn80, Qn79, Qn78, Qn77, NewQn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_SPECIFIC_Qn80(-75,
- Qn75, NewQn75,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- NewQn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_SPECIFIC_Qn80(-74,
- Qn74, NewQn74,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, NewQn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_SPECIFIC_Qn80(-73,
- Qn73, NewQn73,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, NewQn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_SPECIFIC_Qn80(-72,
- Qn72, NewQn72,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, NewQn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_SPECIFIC_Qn80(-71,
- Qn71, NewQn71,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, NewQn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_SPECIFIC_Qn80(-70,
- Qn70, NewQn70,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, NewQn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_SPECIFIC_Qn80(-69,
- Qn69, NewQn69,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- NewQn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_SPECIFIC_Qn80(-68,
- Qn68, NewQn68,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, NewQn68, Qn67, Qn66, Qn65});
-?OUT_SPECIFIC_Qn80(-67,
- Qn67, NewQn67,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, NewQn67, Qn66, Qn65});
-?OUT_SPECIFIC_Qn80(-66,
- Qn66, NewQn66,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, NewQn66, Qn65});
-?OUT_SPECIFIC_Qn80(-65,
- Qn65, NewQn65,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, NewQn65});
-?OUT_SPECIFIC_Qn64(-64,
- Qn64, NewQn64,
- {NewQn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_SPECIFIC_Qn64(-63,
- Qn63, NewQn63,
- {Qn64, NewQn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_SPECIFIC_Qn64(-62,
- Qn62, NewQn62,
- {Qn64, Qn63, NewQn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_SPECIFIC_Qn64(-61,
- Qn61, NewQn61,
- {Qn64, Qn63, Qn62, NewQn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_SPECIFIC_Qn64(-60,
- Qn60, NewQn60,
- {Qn64, Qn63, Qn62, Qn61, NewQn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_SPECIFIC_Qn64(-59,
- Qn59, NewQn59,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- NewQn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_SPECIFIC_Qn64(-58,
- Qn58, NewQn58,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, NewQn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_SPECIFIC_Qn64(-57,
- Qn57, NewQn57,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, NewQn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_SPECIFIC_Qn64(-56,
- Qn56, NewQn56,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, NewQn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_SPECIFIC_Qn64(-55,
- Qn55, NewQn55,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, NewQn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_SPECIFIC_Qn64(-54,
- Qn54, NewQn54,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, NewQn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_SPECIFIC_Qn64(-53,
- Qn53, NewQn53,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- NewQn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_SPECIFIC_Qn64(-52,
- Qn52, NewQn52,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, NewQn52, Qn51, Qn50, Qn49});
-?OUT_SPECIFIC_Qn64(-51,
- Qn51, NewQn51,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, NewQn51, Qn50, Qn49});
-?OUT_SPECIFIC_Qn64(-50,
- Qn50, NewQn50,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, NewQn50, Qn49});
-?OUT_SPECIFIC_Qn64(-49,
- Qn49, NewQn49,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, NewQn49});
-?OUT_SPECIFIC_Qn48(-48,
- Qn48, NewQn48,
- {NewQn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_SPECIFIC_Qn48(-47,
- Qn47, NewQn47,
- {Qn48, NewQn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_SPECIFIC_Qn48(-46,
- Qn46, NewQn46,
- {Qn48, Qn47, NewQn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_SPECIFIC_Qn48(-45,
- Qn45, NewQn45,
- {Qn48, Qn47, Qn46, NewQn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_SPECIFIC_Qn48(-44,
- Qn44, NewQn44,
- {Qn48, Qn47, Qn46, Qn45, NewQn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_SPECIFIC_Qn48(-43,
- Qn43, NewQn43,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- NewQn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_SPECIFIC_Qn48(-42,
- Qn42, NewQn42,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, NewQn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_SPECIFIC_Qn48(-41,
- Qn41, NewQn41,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, NewQn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_SPECIFIC_Qn48(-40,
- Qn40, NewQn40,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, NewQn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_SPECIFIC_Qn48(-39,
- Qn39, NewQn39,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, NewQn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_SPECIFIC_Qn48(-38,
- Qn38, NewQn38,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, NewQn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_SPECIFIC_Qn48(-37,
- Qn37, NewQn37,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- NewQn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_SPECIFIC_Qn48(-36,
- Qn36, NewQn36,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, NewQn36, Qn35, Qn34, Qn33});
-?OUT_SPECIFIC_Qn48(-35,
- Qn35, NewQn35,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, NewQn35, Qn34, Qn33});
-?OUT_SPECIFIC_Qn48(-34,
- Qn34, NewQn34,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, NewQn34, Qn33});
-?OUT_SPECIFIC_Qn48(-33,
- Qn33, NewQn33,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, NewQn33});
-?OUT_SPECIFIC_Qn32(-32,
- Qn32, NewQn32,
- {NewQn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_SPECIFIC_Qn32(-31,
- Qn31, NewQn31,
- {Qn32, NewQn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_SPECIFIC_Qn32(-30,
- Qn30, NewQn30,
- {Qn32, Qn31, NewQn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_SPECIFIC_Qn32(-29,
- Qn29, NewQn29,
- {Qn32, Qn31, Qn30, NewQn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_SPECIFIC_Qn32(-28,
- Qn28, NewQn28,
- {Qn32, Qn31, Qn30, Qn29, NewQn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_SPECIFIC_Qn32(-27,
- Qn27, NewQn27,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- NewQn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_SPECIFIC_Qn32(-26,
- Qn26, NewQn26,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, NewQn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_SPECIFIC_Qn32(-25,
- Qn25, NewQn25,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, NewQn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_SPECIFIC_Qn32(-24,
- Qn24, NewQn24,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, NewQn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_SPECIFIC_Qn32(-23,
- Qn23, NewQn23,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, NewQn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_SPECIFIC_Qn32(-22,
- Qn22, NewQn22,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, NewQn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_SPECIFIC_Qn32(-21,
- Qn21, NewQn21,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- NewQn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_SPECIFIC_Qn32(-20,
- Qn20, NewQn20,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, NewQn20, Qn19, Qn18, Qn17});
-?OUT_SPECIFIC_Qn32(-19,
- Qn19, NewQn19,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, NewQn19, Qn18, Qn17});
-?OUT_SPECIFIC_Qn32(-18,
- Qn18, NewQn18,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, NewQn18, Qn17});
-?OUT_SPECIFIC_Qn32(-17,
- Qn17, NewQn17,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, NewQn17});
-?OUT_SPECIFIC_Qn16(-16,
- Qn16, NewQn16,
- {NewQn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_SPECIFIC_Qn16(-15,
- Qn15, NewQn15,
- {Qn16, NewQn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_SPECIFIC_Qn16(-14,
- Qn14, NewQn14,
- {Qn16, Qn15, NewQn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_SPECIFIC_Qn16(-13,
- Qn13, NewQn13,
- {Qn16, Qn15, Qn14, NewQn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_SPECIFIC_Qn16(-12,
- Qn12, NewQn12,
- {Qn16, Qn15, Qn14, Qn13, NewQn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_SPECIFIC_Qn16(-11,
- Qn11, NewQn11,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- NewQn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_SPECIFIC_Qn16(-10,
- Qn10, NewQn10,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, NewQn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_SPECIFIC_Qn16(-9,
- Qn9, NewQn9,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, NewQn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_SPECIFIC_Qn16(-8,
- Qn8, NewQn8,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, NewQn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_SPECIFIC_Qn16(-7,
- Qn7, NewQn7,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, NewQn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_SPECIFIC_Qn16(-6,
- Qn6, NewQn6,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, NewQn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_SPECIFIC_Qn16(-5,
- Qn5, NewQn5,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- NewQn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_SPECIFIC_Qn16(-4,
- Qn4, NewQn4,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, NewQn4, Qn3, Qn2, Qn1});
-?OUT_SPECIFIC_Qn16(-3,
- Qn3, NewQn3,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, NewQn3, Qn2, Qn1});
-?OUT_SPECIFIC_Qn16(-2,
- Qn2, NewQn2,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, NewQn2, Qn1});
-?OUT_SPECIFIC_Qn16(-1,
- Qn1, NewQn1,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, NewQn1});
-out_specific(0,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, NewQ0} = queue:out(Q0),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- NewQ0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}};
-?OUT_SPECIFIC_Qp16(1,
- Qp1, NewQp1,
- {NewQp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_SPECIFIC_Qp16(2,
- Qp2, NewQp2,
- {Qp1, NewQp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_SPECIFIC_Qp16(3,
- Qp3, NewQp3,
- {Qp1, Qp2, NewQp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_SPECIFIC_Qp16(4,
- Qp4, NewQp4,
- {Qp1, Qp2, Qp3, NewQp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_SPECIFIC_Qp16(5,
- Qp5, NewQp5,
- {Qp1, Qp2, Qp3, Qp4, NewQp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_SPECIFIC_Qp16(6,
- Qp6, NewQp6,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- NewQp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_SPECIFIC_Qp16(7,
- Qp7, NewQp7,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, NewQp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_SPECIFIC_Qp16(8,
- Qp8, NewQp8,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, NewQp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_SPECIFIC_Qp16(9,
- Qp9, NewQp9,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, NewQp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_SPECIFIC_Qp16(10,
- Qp10, NewQp10,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, NewQp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_SPECIFIC_Qp16(11,
- Qp11, NewQp11,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, NewQp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_SPECIFIC_Qp16(12,
- Qp12, NewQp12,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- NewQp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_SPECIFIC_Qp16(13,
- Qp13, NewQp13,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, NewQp13, Qp14, Qp15, Qp16});
-?OUT_SPECIFIC_Qp16(14,
- Qp14, NewQp14,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, NewQp14, Qp15, Qp16});
-?OUT_SPECIFIC_Qp16(15,
- Qp15, NewQp15,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, NewQp15, Qp16});
-?OUT_SPECIFIC_Qp16(16,
- Qp16, NewQp16,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, NewQp16});
-?OUT_SPECIFIC_Qp32(17,
- Qp17, NewQp17,
- {NewQp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_SPECIFIC_Qp32(18,
- Qp18, NewQp18,
- {Qp17, NewQp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_SPECIFIC_Qp32(19,
- Qp19, NewQp19,
- {Qp17, Qp18, NewQp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_SPECIFIC_Qp32(20,
- Qp20, NewQp20,
- {Qp17, Qp18, Qp19, NewQp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_SPECIFIC_Qp32(21,
- Qp21, NewQp21,
- {Qp17, Qp18, Qp19, Qp20, NewQp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_SPECIFIC_Qp32(22,
- Qp22, NewQp22,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- NewQp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_SPECIFIC_Qp32(23,
- Qp23, NewQp23,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, NewQp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_SPECIFIC_Qp32(24,
- Qp24, NewQp24,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, NewQp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_SPECIFIC_Qp32(25,
- Qp25, NewQp25,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, NewQp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_SPECIFIC_Qp32(26,
- Qp26, NewQp26,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, NewQp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_SPECIFIC_Qp32(27,
- Qp27, NewQp27,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, NewQp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_SPECIFIC_Qp32(28,
- Qp28, NewQp28,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- NewQp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_SPECIFIC_Qp32(29,
- Qp29, NewQp29,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, NewQp29, Qp30, Qp31, Qp32});
-?OUT_SPECIFIC_Qp32(30,
- Qp30, NewQp30,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, NewQp30, Qp31, Qp32});
-?OUT_SPECIFIC_Qp32(31,
- Qp31, NewQp31,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, NewQp31, Qp32});
-?OUT_SPECIFIC_Qp32(32,
- Qp32, NewQp32,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, NewQp32});
-?OUT_SPECIFIC_Qp48(33,
- Qp33, NewQp33,
- {NewQp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_SPECIFIC_Qp48(34,
- Qp34, NewQp34,
- {Qp33, NewQp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_SPECIFIC_Qp48(35,
- Qp35, NewQp35,
- {Qp33, Qp34, NewQp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_SPECIFIC_Qp48(36,
- Qp36, NewQp36,
- {Qp33, Qp34, Qp35, NewQp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_SPECIFIC_Qp48(37,
- Qp37, NewQp37,
- {Qp33, Qp34, Qp35, Qp36, NewQp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_SPECIFIC_Qp48(38,
- Qp38, NewQp38,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- NewQp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_SPECIFIC_Qp48(39,
- Qp39, NewQp39,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, NewQp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_SPECIFIC_Qp48(40,
- Qp40, NewQp40,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, NewQp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_SPECIFIC_Qp48(41,
- Qp41, NewQp41,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, NewQp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_SPECIFIC_Qp48(42,
- Qp42, NewQp42,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, NewQp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_SPECIFIC_Qp48(43,
- Qp43, NewQp43,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, NewQp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_SPECIFIC_Qp48(44,
- Qp44, NewQp44,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- NewQp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_SPECIFIC_Qp48(45,
- Qp45, NewQp45,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, NewQp45, Qp46, Qp47, Qp48});
-?OUT_SPECIFIC_Qp48(46,
- Qp46, NewQp46,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, NewQp46, Qp47, Qp48});
-?OUT_SPECIFIC_Qp48(47,
- Qp47, NewQp47,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, NewQp47, Qp48});
-?OUT_SPECIFIC_Qp48(48,
- Qp48, NewQp48,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, NewQp48});
-?OUT_SPECIFIC_Qp64(49,
- Qp49, NewQp49,
- {NewQp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_SPECIFIC_Qp64(50,
- Qp50, NewQp50,
- {Qp49, NewQp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_SPECIFIC_Qp64(51,
- Qp51, NewQp51,
- {Qp49, Qp50, NewQp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_SPECIFIC_Qp64(52,
- Qp52, NewQp52,
- {Qp49, Qp50, Qp51, NewQp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_SPECIFIC_Qp64(53,
- Qp53, NewQp53,
- {Qp49, Qp50, Qp51, Qp52, NewQp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_SPECIFIC_Qp64(54,
- Qp54, NewQp54,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- NewQp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_SPECIFIC_Qp64(55,
- Qp55, NewQp55,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, NewQp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_SPECIFIC_Qp64(56,
- Qp56, NewQp56,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, NewQp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_SPECIFIC_Qp64(57,
- Qp57, NewQp57,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, NewQp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_SPECIFIC_Qp64(58,
- Qp58, NewQp58,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, NewQp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_SPECIFIC_Qp64(59,
- Qp59, NewQp59,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, NewQp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_SPECIFIC_Qp64(60,
- Qp60, NewQp60,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- NewQp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_SPECIFIC_Qp64(61,
- Qp61, NewQp61,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, NewQp61, Qp62, Qp63, Qp64});
-?OUT_SPECIFIC_Qp64(62,
- Qp62, NewQp62,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, NewQp62, Qp63, Qp64});
-?OUT_SPECIFIC_Qp64(63,
- Qp63, NewQp63,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, NewQp63, Qp64});
-?OUT_SPECIFIC_Qp64(64,
- Qp64, NewQp64,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, NewQp64});
-?OUT_SPECIFIC_Qp80(65,
- Qp65, NewQp65,
- {NewQp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_SPECIFIC_Qp80(66,
- Qp66, NewQp66,
- {Qp65, NewQp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_SPECIFIC_Qp80(67,
- Qp67, NewQp67,
- {Qp65, Qp66, NewQp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_SPECIFIC_Qp80(68,
- Qp68, NewQp68,
- {Qp65, Qp66, Qp67, NewQp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_SPECIFIC_Qp80(69,
- Qp69, NewQp69,
- {Qp65, Qp66, Qp67, Qp68, NewQp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_SPECIFIC_Qp80(70,
- Qp70, NewQp70,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- NewQp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_SPECIFIC_Qp80(71,
- Qp71, NewQp71,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, NewQp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_SPECIFIC_Qp80(72,
- Qp72, NewQp72,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, NewQp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_SPECIFIC_Qp80(73,
- Qp73, NewQp73,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, NewQp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_SPECIFIC_Qp80(74,
- Qp74, NewQp74,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, NewQp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_SPECIFIC_Qp80(75,
- Qp75, NewQp75,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, NewQp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_SPECIFIC_Qp80(76,
- Qp76, NewQp76,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- NewQp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_SPECIFIC_Qp80(77,
- Qp77, NewQp77,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, NewQp77, Qp78, Qp79, Qp80});
-?OUT_SPECIFIC_Qp80(78,
- Qp78, NewQp78,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, NewQp78, Qp79, Qp80});
-?OUT_SPECIFIC_Qp80(79,
- Qp79, NewQp79,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, NewQp79, Qp80});
-?OUT_SPECIFIC_Qp80(80,
- Qp80, NewQp80,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, NewQp80});
-?OUT_SPECIFIC_Qp96(81,
- Qp81, NewQp81,
- {NewQp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_SPECIFIC_Qp96(82,
- Qp82, NewQp82,
- {Qp81, NewQp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_SPECIFIC_Qp96(83,
- Qp83, NewQp83,
- {Qp81, Qp82, NewQp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_SPECIFIC_Qp96(84,
- Qp84, NewQp84,
- {Qp81, Qp82, Qp83, NewQp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_SPECIFIC_Qp96(85,
- Qp85, NewQp85,
- {Qp81, Qp82, Qp83, Qp84, NewQp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_SPECIFIC_Qp96(86,
- Qp86, NewQp86,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- NewQp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_SPECIFIC_Qp96(87,
- Qp87, NewQp87,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, NewQp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_SPECIFIC_Qp96(88,
- Qp88, NewQp88,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, NewQp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_SPECIFIC_Qp96(89,
- Qp89, NewQp89,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, NewQp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_SPECIFIC_Qp96(90,
- Qp90, NewQp90,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, NewQp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_SPECIFIC_Qp96(91,
- Qp91, NewQp91,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, NewQp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_SPECIFIC_Qp96(92,
- Qp92, NewQp92,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- NewQp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_SPECIFIC_Qp96(93,
- Qp93, NewQp93,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, NewQp93, Qp94, Qp95, Qp96});
-?OUT_SPECIFIC_Qp96(94,
- Qp94, NewQp94,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, NewQp94, Qp95, Qp96});
-?OUT_SPECIFIC_Qp96(95,
- Qp95, NewQp95,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, NewQp95, Qp96});
-?OUT_SPECIFIC_Qp96(96,
- Qp96, NewQp96,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, NewQp96});
-?OUT_SPECIFIC_Qp112(97,
- Qp97, NewQp97,
- {NewQp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_SPECIFIC_Qp112(98,
- Qp98, NewQp98,
- {Qp97, NewQp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_SPECIFIC_Qp112(99,
- Qp99, NewQp99,
- {Qp97, Qp98, NewQp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_SPECIFIC_Qp112(100,
- Qp100, NewQp100,
- {Qp97, Qp98, Qp99, NewQp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_SPECIFIC_Qp112(101,
- Qp101, NewQp101,
- {Qp97, Qp98, Qp99, Qp100, NewQp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_SPECIFIC_Qp112(102,
- Qp102, NewQp102,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- NewQp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_SPECIFIC_Qp112(103,
- Qp103, NewQp103,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, NewQp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_SPECIFIC_Qp112(104,
- Qp104, NewQp104,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, NewQp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_SPECIFIC_Qp112(105,
- Qp105, NewQp105,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, NewQp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_SPECIFIC_Qp112(106,
- Qp106, NewQp106,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, NewQp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_SPECIFIC_Qp112(107,
- Qp107, NewQp107,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, NewQp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_SPECIFIC_Qp112(108,
- Qp108, NewQp108,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- NewQp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_SPECIFIC_Qp112(109,
- Qp109, NewQp109,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, NewQp109, Qp110, Qp111, Qp112});
-?OUT_SPECIFIC_Qp112(110,
- Qp110, NewQp110,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, NewQp110, Qp111, Qp112});
-?OUT_SPECIFIC_Qp112(111,
- Qp111, NewQp111,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, NewQp111, Qp112});
-?OUT_SPECIFIC_Qp112(112,
- Qp112, NewQp112,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, NewQp112});
-?OUT_SPECIFIC_Qp128(113,
- Qp113, NewQp113,
- {NewQp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_SPECIFIC_Qp128(114,
- Qp114, NewQp114,
- {Qp113, NewQp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_SPECIFIC_Qp128(115,
- Qp115, NewQp115,
- {Qp113, Qp114, NewQp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_SPECIFIC_Qp128(116,
- Qp116, NewQp116,
- {Qp113, Qp114, Qp115, NewQp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_SPECIFIC_Qp128(117,
- Qp117, NewQp117,
- {Qp113, Qp114, Qp115, Qp116, NewQp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_SPECIFIC_Qp128(118,
- Qp118, NewQp118,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- NewQp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_SPECIFIC_Qp128(119,
- Qp119, NewQp119,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, NewQp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_SPECIFIC_Qp128(120,
- Qp120, NewQp120,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, NewQp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_SPECIFIC_Qp128(121,
- Qp121, NewQp121,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, NewQp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_SPECIFIC_Qp128(122,
- Qp122, NewQp122,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, NewQp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_SPECIFIC_Qp128(123,
- Qp123, NewQp123,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, NewQp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_SPECIFIC_Qp128(124,
- Qp124, NewQp124,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- NewQp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_SPECIFIC_Qp128(125,
- Qp125, NewQp125,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, NewQp125, Qp126, Qp127, Qp128});
-?OUT_SPECIFIC_Qp128(126,
- Qp126, NewQp126,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, NewQp126, Qp127, Qp128});
-?OUT_SPECIFIC_Qp128(127,
- Qp127, NewQp127,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, NewQp127, Qp128});
-?OUT_SPECIFIC_Qp128(128,
- Qp128, NewQp128,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, NewQp128}).
-
-%% @hidden
--define(REMOVE_UNIQ_P_Qn128(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- {Qn128, Qn127, Qn126, Qn125, Qn124, Qn123, Qn122, Qn121,
- Qn120, Qn119, Qn118, Qn117, Qn116, Qn115, Qn114, Qn113},
- Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- V3,
- Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(REMOVE_UNIQ_P_Qn112(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128,
- {Qn112, Qn111, Qn110, Qn109, Qn108, Qn107, Qn106, Qn105,
- Qn104, Qn103, Qn102, Qn101, Qn100, Qn99, Qn98, Qn97},
- Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128,
- V3,
- Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(REMOVE_UNIQ_P_Qn96(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128, Qn112,
- {Qn96, Qn95, Qn94, Qn93, Qn92, Qn91, Qn90, Qn89,
- Qn88, Qn87, Qn86, Qn85, Qn84, Qn83, Qn82, Qn81},
- Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112,
- V3,
- Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(REMOVE_UNIQ_P_Qn80(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96,
- {Qn80, Qn79, Qn78, Qn77, Qn76, Qn75, Qn74, Qn73,
- Qn72, Qn71, Qn70, Qn69, Qn68, Qn67, Qn66, Qn65},
- Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96,
- V3,
- Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(REMOVE_UNIQ_P_Qn64(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80,
- {Qn64, Qn63, Qn62, Qn61, Qn60, Qn59, Qn58, Qn57,
- Qn56, Qn55, Qn54, Qn53, Qn52, Qn51, Qn50, Qn49},
- Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80,
- V3,
- Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(REMOVE_UNIQ_P_Qn48(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64,
- {Qn48, Qn47, Qn46, Qn45, Qn44, Qn43, Qn42, Qn41,
- Qn40, Qn39, Qn38, Qn37, Qn36, Qn35, Qn34, Qn33},
- Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64,
- V3,
- Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(REMOVE_UNIQ_P_Qn32(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48,
- {Qn32, Qn31, Qn30, Qn29, Qn28, Qn27, Qn26, Qn25,
- Qn24, Qn23, Qn22, Qn21, Qn20, Qn19, Qn18, Qn17},
- Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48,
- V3,
- Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(REMOVE_UNIQ_P_Qn16(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32,
- {Qn16, Qn15, Qn14, Qn13, Qn12, Qn11, Qn10, Qn9,
- Qn8, Qn7, Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32,
- V3,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(REMOVE_UNIQ_P_Qp16(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6, Qp7, Qp8,
- Qp9, Qp10, Qp11, Qp12, Qp13, Qp14, Qp15, Qp16},
- Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- V3,
- Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(REMOVE_UNIQ_P_Qp32(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16,
- {Qp17, Qp18, Qp19, Qp20, Qp21, Qp22, Qp23, Qp24,
- Qp25, Qp26, Qp27, Qp28, Qp29, Qp30, Qp31, Qp32},
- Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16,
- V3,
- Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(REMOVE_UNIQ_P_Qp48(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32,
- {Qp33, Qp34, Qp35, Qp36, Qp37, Qp38, Qp39, Qp40,
- Qp41, Qp42, Qp43, Qp44, Qp45, Qp46, Qp47, Qp48},
- Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32,
- V3,
- Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(REMOVE_UNIQ_P_Qp64(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48,
- {Qp49, Qp50, Qp51, Qp52, Qp53, Qp54, Qp55, Qp56,
- Qp57, Qp58, Qp59, Qp60, Qp61, Qp62, Qp63, Qp64},
- Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48,
- V3,
- Qp80, Qp96, Qp112, Qp128}}).
--define(REMOVE_UNIQ_P_Qp80(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64,
- {Qp65, Qp66, Qp67, Qp68, Qp69, Qp70, Qp71, Qp72,
- Qp73, Qp74, Qp75, Qp76, Qp77, Qp78, Qp79, Qp80},
- Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64,
- V3,
- Qp96, Qp112, Qp128}}).
--define(REMOVE_UNIQ_P_Qp96(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80,
- {Qp81, Qp82, Qp83, Qp84, Qp85, Qp86, Qp87, Qp88,
- Qp89, Qp90, Qp91, Qp92, Qp93, Qp94, Qp95, Qp96},
- Qp112, Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80,
- V3,
- Qp112, Qp128}}).
--define(REMOVE_UNIQ_P_Qp112(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96,
- {Qp97, Qp98, Qp99, Qp100, Qp101, Qp102, Qp103, Qp104,
- Qp105, Qp106, Qp107, Qp108, Qp109, Qp110, Qp111, Qp112},
- Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96,
- V3,
- Qp128}}).
--define(REMOVE_UNIQ_P_Qp128(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- {Qp113, Qp114, Qp115, Qp116, Qp117, Qp118, Qp119, Qp120,
- Qp121, Qp122, Qp123, Qp124, Qp125, Qp126, Qp127, Qp128}}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- V3}}).
-
-?REMOVE_UNIQ_P_Qn128(-128,
- Qn128, NewQn128,
- {NewQn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-127,
- Qn127, NewQn127,
- {Qn128, NewQn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-126,
- Qn126, NewQn126,
- {Qn128, Qn127, NewQn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-125,
- Qn125, NewQn125,
- {Qn128, Qn127, Qn126, NewQn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-124,
- Qn124, NewQn124,
- {Qn128, Qn127, Qn126, Qn125, NewQn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-123,
- Qn123, NewQn123,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- NewQn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-122,
- Qn122, NewQn122,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, NewQn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-121,
- Qn121, NewQn121,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, NewQn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-120,
- Qn120, NewQn120,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, NewQn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-119,
- Qn119, NewQn119,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, NewQn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-118,
- Qn118, NewQn118,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, NewQn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-117,
- Qn117, NewQn117,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- NewQn117, Qn116, Qn115, Qn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-116,
- Qn116, NewQn116,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, NewQn116, Qn115, Qn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-115,
- Qn115, NewQn115,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, NewQn115, Qn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-114,
- Qn114, NewQn114,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, NewQn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-113,
- Qn113, NewQn113,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, NewQn113});
-?REMOVE_UNIQ_P_Qn112(-112,
- Qn112, NewQn112,
- {NewQn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-111,
- Qn111, NewQn111,
- {Qn112, NewQn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-110,
- Qn110, NewQn110,
- {Qn112, Qn111, NewQn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-109,
- Qn109, NewQn109,
- {Qn112, Qn111, Qn110, NewQn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-108,
- Qn108, NewQn108,
- {Qn112, Qn111, Qn110, Qn109, NewQn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-107,
- Qn107, NewQn107,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- NewQn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-106,
- Qn106, NewQn106,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, NewQn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-105,
- Qn105, NewQn105,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, NewQn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-104,
- Qn104, NewQn104,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, NewQn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-103,
- Qn103, NewQn103,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, NewQn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-102,
- Qn102, NewQn102,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, NewQn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-101,
- Qn101, NewQn101,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- NewQn101, Qn100, Qn99, Qn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-100,
- Qn100, NewQn100,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, NewQn100, Qn99, Qn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-99,
- Qn99, NewQn99,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, NewQn99, Qn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-98,
- Qn98, NewQn98,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, NewQn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-97,
- Qn97, NewQn97,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, NewQn97});
-?REMOVE_UNIQ_P_Qn96(-96,
- Qn96, NewQn96,
- {NewQn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-95,
- Qn95, NewQn95,
- {Qn96, NewQn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-94,
- Qn94, NewQn94,
- {Qn96, Qn95, NewQn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-93,
- Qn93, NewQn93,
- {Qn96, Qn95, Qn94, NewQn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-92,
- Qn92, NewQn92,
- {Qn96, Qn95, Qn94, Qn93, NewQn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-91,
- Qn91, NewQn91,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- NewQn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-90,
- Qn90, NewQn90,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, NewQn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-89,
- Qn89, NewQn89,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, NewQn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-88,
- Qn88, NewQn88,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, NewQn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-87,
- Qn87, NewQn87,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, NewQn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-86,
- Qn86, NewQn86,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, NewQn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-85,
- Qn85, NewQn85,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- NewQn85, Qn84, Qn83, Qn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-84,
- Qn84, NewQn84,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, NewQn84, Qn83, Qn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-83,
- Qn83, NewQn83,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, NewQn83, Qn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-82,
- Qn82, NewQn82,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, NewQn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-81,
- Qn81, NewQn81,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, NewQn81});
-?REMOVE_UNIQ_P_Qn80(-80,
- Qn80, NewQn80,
- {NewQn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-79,
- Qn79, NewQn79,
- {Qn80, NewQn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-78,
- Qn78, NewQn78,
- {Qn80, Qn79, NewQn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-77,
- Qn77, NewQn77,
- {Qn80, Qn79, Qn78, NewQn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-76,
- Qn76, NewQn76,
- {Qn80, Qn79, Qn78, Qn77, NewQn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-75,
- Qn75, NewQn75,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- NewQn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-74,
- Qn74, NewQn74,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, NewQn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-73,
- Qn73, NewQn73,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, NewQn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-72,
- Qn72, NewQn72,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, NewQn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-71,
- Qn71, NewQn71,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, NewQn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-70,
- Qn70, NewQn70,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, NewQn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-69,
- Qn69, NewQn69,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- NewQn69, Qn68, Qn67, Qn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-68,
- Qn68, NewQn68,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, NewQn68, Qn67, Qn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-67,
- Qn67, NewQn67,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, NewQn67, Qn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-66,
- Qn66, NewQn66,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, NewQn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-65,
- Qn65, NewQn65,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, NewQn65});
-?REMOVE_UNIQ_P_Qn64(-64,
- Qn64, NewQn64,
- {NewQn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-63,
- Qn63, NewQn63,
- {Qn64, NewQn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-62,
- Qn62, NewQn62,
- {Qn64, Qn63, NewQn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-61,
- Qn61, NewQn61,
- {Qn64, Qn63, Qn62, NewQn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-60,
- Qn60, NewQn60,
- {Qn64, Qn63, Qn62, Qn61, NewQn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-59,
- Qn59, NewQn59,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- NewQn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-58,
- Qn58, NewQn58,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, NewQn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-57,
- Qn57, NewQn57,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, NewQn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-56,
- Qn56, NewQn56,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, NewQn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-55,
- Qn55, NewQn55,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, NewQn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-54,
- Qn54, NewQn54,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, NewQn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-53,
- Qn53, NewQn53,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- NewQn53, Qn52, Qn51, Qn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-52,
- Qn52, NewQn52,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, NewQn52, Qn51, Qn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-51,
- Qn51, NewQn51,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, NewQn51, Qn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-50,
- Qn50, NewQn50,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, NewQn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-49,
- Qn49, NewQn49,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, NewQn49});
-?REMOVE_UNIQ_P_Qn48(-48,
- Qn48, NewQn48,
- {NewQn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-47,
- Qn47, NewQn47,
- {Qn48, NewQn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-46,
- Qn46, NewQn46,
- {Qn48, Qn47, NewQn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-45,
- Qn45, NewQn45,
- {Qn48, Qn47, Qn46, NewQn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-44,
- Qn44, NewQn44,
- {Qn48, Qn47, Qn46, Qn45, NewQn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-43,
- Qn43, NewQn43,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- NewQn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-42,
- Qn42, NewQn42,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, NewQn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-41,
- Qn41, NewQn41,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, NewQn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-40,
- Qn40, NewQn40,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, NewQn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-39,
- Qn39, NewQn39,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, NewQn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-38,
- Qn38, NewQn38,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, NewQn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-37,
- Qn37, NewQn37,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- NewQn37, Qn36, Qn35, Qn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-36,
- Qn36, NewQn36,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, NewQn36, Qn35, Qn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-35,
- Qn35, NewQn35,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, NewQn35, Qn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-34,
- Qn34, NewQn34,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, NewQn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-33,
- Qn33, NewQn33,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, NewQn33});
-?REMOVE_UNIQ_P_Qn32(-32,
- Qn32, NewQn32,
- {NewQn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-31,
- Qn31, NewQn31,
- {Qn32, NewQn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-30,
- Qn30, NewQn30,
- {Qn32, Qn31, NewQn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-29,
- Qn29, NewQn29,
- {Qn32, Qn31, Qn30, NewQn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-28,
- Qn28, NewQn28,
- {Qn32, Qn31, Qn30, Qn29, NewQn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-27,
- Qn27, NewQn27,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- NewQn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-26,
- Qn26, NewQn26,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, NewQn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-25,
- Qn25, NewQn25,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, NewQn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-24,
- Qn24, NewQn24,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, NewQn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-23,
- Qn23, NewQn23,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, NewQn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-22,
- Qn22, NewQn22,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, NewQn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-21,
- Qn21, NewQn21,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- NewQn21, Qn20, Qn19, Qn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-20,
- Qn20, NewQn20,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, NewQn20, Qn19, Qn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-19,
- Qn19, NewQn19,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, NewQn19, Qn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-18,
- Qn18, NewQn18,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, NewQn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-17,
- Qn17, NewQn17,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, NewQn17});
-?REMOVE_UNIQ_P_Qn16(-16,
- Qn16, NewQn16,
- {NewQn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-15,
- Qn15, NewQn15,
- {Qn16, NewQn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-14,
- Qn14, NewQn14,
- {Qn16, Qn15, NewQn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-13,
- Qn13, NewQn13,
- {Qn16, Qn15, Qn14, NewQn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-12,
- Qn12, NewQn12,
- {Qn16, Qn15, Qn14, Qn13, NewQn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-11,
- Qn11, NewQn11,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- NewQn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-10,
- Qn10, NewQn10,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, NewQn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-9,
- Qn9, NewQn9,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, NewQn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-8,
- Qn8, NewQn8,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, NewQn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-7,
- Qn7, NewQn7,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, NewQn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-6,
- Qn6, NewQn6,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, NewQn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-5,
- Qn5, NewQn5,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- NewQn5, Qn4, Qn3, Qn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-4,
- Qn4, NewQn4,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, NewQn4, Qn3, Qn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-3,
- Qn3, NewQn3,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, NewQn3, Qn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-2,
- Qn2, NewQn2,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, NewQn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-1,
- Qn1, NewQn1,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, NewQn1});
-remove_unique_p(0, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, NewQ0} = queue_remove_unique(F, Q0),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- NewQ0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}};
-?REMOVE_UNIQ_P_Qp16(1,
- Qp1, NewQp1,
- {NewQp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(2,
- Qp2, NewQp2,
- {Qp1, NewQp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(3,
- Qp3, NewQp3,
- {Qp1, Qp2, NewQp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(4,
- Qp4, NewQp4,
- {Qp1, Qp2, Qp3, NewQp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(5,
- Qp5, NewQp5,
- {Qp1, Qp2, Qp3, Qp4, NewQp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(6,
- Qp6, NewQp6,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- NewQp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(7,
- Qp7, NewQp7,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, NewQp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(8,
- Qp8, NewQp8,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, NewQp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(9,
- Qp9, NewQp9,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, NewQp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(10,
- Qp10, NewQp10,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, NewQp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(11,
- Qp11, NewQp11,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, NewQp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(12,
- Qp12, NewQp12,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- NewQp12, Qp13, Qp14, Qp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(13,
- Qp13, NewQp13,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, NewQp13, Qp14, Qp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(14,
- Qp14, NewQp14,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, NewQp14, Qp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(15,
- Qp15, NewQp15,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, NewQp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(16,
- Qp16, NewQp16,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, NewQp16});
-?REMOVE_UNIQ_P_Qp32(17,
- Qp17, NewQp17,
- {NewQp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(18,
- Qp18, NewQp18,
- {Qp17, NewQp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(19,
- Qp19, NewQp19,
- {Qp17, Qp18, NewQp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(20,
- Qp20, NewQp20,
- {Qp17, Qp18, Qp19, NewQp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(21,
- Qp21, NewQp21,
- {Qp17, Qp18, Qp19, Qp20, NewQp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(22,
- Qp22, NewQp22,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- NewQp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(23,
- Qp23, NewQp23,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, NewQp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(24,
- Qp24, NewQp24,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, NewQp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(25,
- Qp25, NewQp25,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, NewQp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(26,
- Qp26, NewQp26,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, NewQp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(27,
- Qp27, NewQp27,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, NewQp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(28,
- Qp28, NewQp28,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- NewQp28, Qp29, Qp30, Qp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(29,
- Qp29, NewQp29,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, NewQp29, Qp30, Qp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(30,
- Qp30, NewQp30,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, NewQp30, Qp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(31,
- Qp31, NewQp31,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, NewQp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(32,
- Qp32, NewQp32,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, NewQp32});
-?REMOVE_UNIQ_P_Qp48(33,
- Qp33, NewQp33,
- {NewQp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(34,
- Qp34, NewQp34,
- {Qp33, NewQp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(35,
- Qp35, NewQp35,
- {Qp33, Qp34, NewQp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(36,
- Qp36, NewQp36,
- {Qp33, Qp34, Qp35, NewQp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(37,
- Qp37, NewQp37,
- {Qp33, Qp34, Qp35, Qp36, NewQp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(38,
- Qp38, NewQp38,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- NewQp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(39,
- Qp39, NewQp39,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, NewQp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(40,
- Qp40, NewQp40,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, NewQp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(41,
- Qp41, NewQp41,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, NewQp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(42,
- Qp42, NewQp42,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, NewQp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(43,
- Qp43, NewQp43,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, NewQp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(44,
- Qp44, NewQp44,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- NewQp44, Qp45, Qp46, Qp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(45,
- Qp45, NewQp45,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, NewQp45, Qp46, Qp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(46,
- Qp46, NewQp46,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, NewQp46, Qp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(47,
- Qp47, NewQp47,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, NewQp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(48,
- Qp48, NewQp48,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, NewQp48});
-?REMOVE_UNIQ_P_Qp64(49,
- Qp49, NewQp49,
- {NewQp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(50,
- Qp50, NewQp50,
- {Qp49, NewQp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(51,
- Qp51, NewQp51,
- {Qp49, Qp50, NewQp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(52,
- Qp52, NewQp52,
- {Qp49, Qp50, Qp51, NewQp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(53,
- Qp53, NewQp53,
- {Qp49, Qp50, Qp51, Qp52, NewQp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(54,
- Qp54, NewQp54,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- NewQp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(55,
- Qp55, NewQp55,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, NewQp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(56,
- Qp56, NewQp56,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, NewQp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(57,
- Qp57, NewQp57,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, NewQp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(58,
- Qp58, NewQp58,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, NewQp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(59,
- Qp59, NewQp59,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, NewQp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(60,
- Qp60, NewQp60,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- NewQp60, Qp61, Qp62, Qp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(61,
- Qp61, NewQp61,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, NewQp61, Qp62, Qp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(62,
- Qp62, NewQp62,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, NewQp62, Qp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(63,
- Qp63, NewQp63,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, NewQp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(64,
- Qp64, NewQp64,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, NewQp64});
-?REMOVE_UNIQ_P_Qp80(65,
- Qp65, NewQp65,
- {NewQp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(66,
- Qp66, NewQp66,
- {Qp65, NewQp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(67,
- Qp67, NewQp67,
- {Qp65, Qp66, NewQp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(68,
- Qp68, NewQp68,
- {Qp65, Qp66, Qp67, NewQp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(69,
- Qp69, NewQp69,
- {Qp65, Qp66, Qp67, Qp68, NewQp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(70,
- Qp70, NewQp70,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- NewQp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(71,
- Qp71, NewQp71,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, NewQp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(72,
- Qp72, NewQp72,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, NewQp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(73,
- Qp73, NewQp73,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, NewQp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(74,
- Qp74, NewQp74,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, NewQp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(75,
- Qp75, NewQp75,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, NewQp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(76,
- Qp76, NewQp76,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- NewQp76, Qp77, Qp78, Qp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(77,
- Qp77, NewQp77,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, NewQp77, Qp78, Qp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(78,
- Qp78, NewQp78,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, NewQp78, Qp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(79,
- Qp79, NewQp79,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, NewQp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(80,
- Qp80, NewQp80,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, NewQp80});
-?REMOVE_UNIQ_P_Qp96(81,
- Qp81, NewQp81,
- {NewQp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(82,
- Qp82, NewQp82,
- {Qp81, NewQp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(83,
- Qp83, NewQp83,
- {Qp81, Qp82, NewQp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(84,
- Qp84, NewQp84,
- {Qp81, Qp82, Qp83, NewQp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(85,
- Qp85, NewQp85,
- {Qp81, Qp82, Qp83, Qp84, NewQp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(86,
- Qp86, NewQp86,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- NewQp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(87,
- Qp87, NewQp87,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, NewQp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(88,
- Qp88, NewQp88,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, NewQp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(89,
- Qp89, NewQp89,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, NewQp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(90,
- Qp90, NewQp90,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, NewQp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(91,
- Qp91, NewQp91,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, NewQp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(92,
- Qp92, NewQp92,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- NewQp92, Qp93, Qp94, Qp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(93,
- Qp93, NewQp93,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, NewQp93, Qp94, Qp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(94,
- Qp94, NewQp94,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, NewQp94, Qp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(95,
- Qp95, NewQp95,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, NewQp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(96,
- Qp96, NewQp96,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, NewQp96});
-?REMOVE_UNIQ_P_Qp112(97,
- Qp97, NewQp97,
- {NewQp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(98,
- Qp98, NewQp98,
- {Qp97, NewQp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(99,
- Qp99, NewQp99,
- {Qp97, Qp98, NewQp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(100,
- Qp100, NewQp100,
- {Qp97, Qp98, Qp99, NewQp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(101,
- Qp101, NewQp101,
- {Qp97, Qp98, Qp99, Qp100, NewQp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(102,
- Qp102, NewQp102,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- NewQp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(103,
- Qp103, NewQp103,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, NewQp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(104,
- Qp104, NewQp104,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, NewQp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(105,
- Qp105, NewQp105,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, NewQp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(106,
- Qp106, NewQp106,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, NewQp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(107,
- Qp107, NewQp107,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, NewQp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(108,
- Qp108, NewQp108,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- NewQp108, Qp109, Qp110, Qp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(109,
- Qp109, NewQp109,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, NewQp109, Qp110, Qp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(110,
- Qp110, NewQp110,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, NewQp110, Qp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(111,
- Qp111, NewQp111,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, NewQp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(112,
- Qp112, NewQp112,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, NewQp112});
-?REMOVE_UNIQ_P_Qp128(113,
- Qp113, NewQp113,
- {NewQp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(114,
- Qp114, NewQp114,
- {Qp113, NewQp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(115,
- Qp115, NewQp115,
- {Qp113, Qp114, NewQp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(116,
- Qp116, NewQp116,
- {Qp113, Qp114, Qp115, NewQp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(117,
- Qp117, NewQp117,
- {Qp113, Qp114, Qp115, Qp116, NewQp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(118,
- Qp118, NewQp118,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- NewQp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(119,
- Qp119, NewQp119,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, NewQp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(120,
- Qp120, NewQp120,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, NewQp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(121,
- Qp121, NewQp121,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, NewQp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(122,
- Qp122, NewQp122,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, NewQp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(123,
- Qp123, NewQp123,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, NewQp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(124,
- Qp124, NewQp124,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- NewQp124, Qp125, Qp126, Qp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(125,
- Qp125, NewQp125,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, NewQp125, Qp126, Qp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(126,
- Qp126, NewQp126,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, NewQp126, Qp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(127,
- Qp127, NewQp127,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, NewQp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(128,
- Qp128, NewQp128,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, NewQp128}).
-
--ifdef(TEST).
--include_lib("eunit/include/eunit.hrl").
-
--include("pqueue_test.hrl").
-
-module_test_() ->
- {timeout, ?TEST_TIMEOUT, [
- {"internal tests", ?_assertOk(test())}
- ]}.
-
-long_test_() ->
- test_condition([
- {"proper tests", ?_assert(pqueue_proper:qc_pq4())}
- ], ?CLOUDI_LONG_TEST_TIMEOUT).
-
--endif.
-
-%%-------------------------------------------------------------------------
-%% @hidden
-%% remove a unique value from a queue based on a binary predicate,
-%% traversal order is undefined to keep it efficient (i.e., shouldn't matter)
-%% (based on the implementation of queue:filter/2
-%% which is under the Apache License 2.0)
-%%-------------------------------------------------------------------------
-
--spec queue_remove_unique(F :: fun((any()) -> boolean()),
- Q :: {list(), list()}) ->
- {boolean(), {list(), list()}}.
-
-queue_remove_unique(Fun, {R0, F0} = Q)
- when is_function(Fun, 1), is_list(R0), is_list(F0) ->
- case queue_remove_unique_f(Fun, F0) of
- {true, []} ->
- {true, queue_r2f(R0)};
- {true, F1} ->
- {true, {R0, F1}};
- {false, F1} ->
- %true = F1 == F0,
- case queue_remove_unique_f(Fun, R0) of % backwards
- {true, []} ->
- {true, queue_f2r(F1)};
- {true, R1} ->
- {true, {R1, F1}};
- {false, _} ->
- {false, Q}
- end
- end;
-queue_remove_unique(Fun, Q) ->
- erlang:error(badarg, [Fun,Q]).
-
-% Call Fun in front to back order
-queue_remove_unique_f(_, [] = F) ->
- {false, F};
-queue_remove_unique_f(Fun, F) ->
- queue_remove_unique_f(F, [], F, Fun).
-
-queue_remove_unique_f([], _, F, _) ->
- {false, F};
-queue_remove_unique_f([X | F0], F1, F, Fun) ->
- case Fun(X) of
- true ->
- {true, lists:reverse(F1, F0)};
- false ->
- queue_remove_unique_f(F0, [X | F1], F, Fun)
- end.
-
--compile({inline, [{queue_r2f,1},{queue_f2r,1}]}).
-
-% Move half of elements from R to F, if there are at least three
-queue_r2f([]) ->
- {[],[]};
-queue_r2f([_]=R) ->
- {[],R};
-queue_r2f([X,Y]) ->
- {[X],[Y]};
-queue_r2f(List) ->
- {FF,RR} = lists:split(length(List) div 2 + 1, List),
- {FF,lists:reverse(RR, [])}.
-
-% Move half of elements from F to R, if there are enough
-queue_f2r([]) ->
- {[],[]};
-queue_f2r([_]=F) ->
- {F,[]};
-queue_f2r([X,Y]) ->
- {[Y],[X]};
-queue_f2r(List) ->
- {FF,RR} = lists:split(length(List) div 2 + 1, List),
- {lists:reverse(RR, []),FF}.
-
diff --git a/aoc2023/build/dev/erlang/pqueue/src/pqueue_test.hrl b/aoc2023/build/dev/erlang/pqueue/src/pqueue_test.hrl
deleted file mode 100644
index cedffe0..0000000
--- a/aoc2023/build/dev/erlang/pqueue/src/pqueue_test.hrl
+++ /dev/null
@@ -1,49 +0,0 @@
-%-*-Mode:erlang;coding:utf-8;tab-width:4;c-basic-offset:4;indent-tabs-mode:()-*-
-% ex: set ft=erlang fenc=utf-8 sts=4 ts=4 sw=4 et nomod:
-%%%
-%%%------------------------------------------------------------------------
-%%% pqueue eunit common functionality
-%%%
-%%% MIT License
-%%%
-%%% Copyright (c) 2020 Michael Truog <mjtruog at protonmail dot com>
-%%%
-%%% Permission is hereby granted, free of charge, to any person obtaining a
-%%% copy of this software and associated documentation files (the "Software"),
-%%% to deal in the Software without restriction, including without limitation
-%%% the rights to use, copy, modify, merge, publish, distribute, sublicense,
-%%% and/or sell copies of the Software, and to permit persons to whom the
-%%% Software is furnished to do so, subject to the following conditions:
-%%%
-%%% The above copyright notice and this permission notice shall be included in
-%%% all copies or substantial portions of the Software.
-%%%
-%%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-%%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-%%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-%%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-%%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-%%% FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-%%% DEALINGS IN THE SOFTWARE.
-%%%
-%%%------------------------------------------------------------------------
-
--ifndef(_assertOk).
--define(_assertOk(Expr), ?_assertEqual(ok, Expr)).
--endif.
-
--ifdef(CLOUDI_TEST_TIMEOUT).
--define(TEST_TIMEOUT, ?CLOUDI_TEST_TIMEOUT). % seconds
--else.
--define(TEST_TIMEOUT, 10). % seconds
--endif.
--ifndef(CLOUDI_LONG_TEST_TIMEOUT).
--define(CLOUDI_LONG_TEST_TIMEOUT, 60). % minutes
--endif.
-
-test_condition(_, 0) ->
- [];
-test_condition(L, LongTestTimeout)
- when LongTestTimeout > 0 ->
- {timeout, LongTestTimeout * 60, L}.
-
diff --git a/aoc2023/build/dev/erlang/pqueue/test/pqueue_proper.erl b/aoc2023/build/dev/erlang/pqueue/test/pqueue_proper.erl
deleted file mode 100644
index 6702960..0000000
--- a/aoc2023/build/dev/erlang/pqueue/test/pqueue_proper.erl
+++ /dev/null
@@ -1,156 +0,0 @@
--module(pqueue_proper).
--ifdef(TEST).
--include_lib("proper/include/proper.hrl").
-
--behaviour(proper_statem).
-
--export([qc_pq/0, qc_pq2/0, qc_pq3/0, qc_pq4/0, correct/1]).
-
--export([command/1, initial_state/0, next_state/3, postcondition/3,
- precondition/2]).
-
--type value() :: integer().
--record(state, { in_queue :: [{value(), term()}] }).
--define(SERVER, queue_srv).
-
-priority() ->
- integer(-20, 20).
-
-%% Selects priorities we have added
-priority(InQ) ->
- elements([P || {P, _} <- InQ]).
-
-value() ->
- integer().
-
-initial_state() ->
- #state { in_queue = [] }.
-
-command(#state { in_queue = InQ }) ->
- oneof([{call, ?SERVER, in, [value()]},
- {call, ?SERVER, in, [value(), priority()]},
- {call, ?SERVER, is_empty, []},
- {call, ?SERVER, is_queue, []},
- {call, ?SERVER, len, []},
- {call, ?SERVER, out, []}] ++
- [{call, ?SERVER, out, [priority(InQ)]} || InQ =/= []] ++
- [{call, ?SERVER, pout, []},
- {call, ?SERVER, to_list, []}]).
-
-next_state(#state { in_queue = InQ } = S, _V, {call, _, out, []}) ->
- S#state { in_queue = listq_rem(InQ) };
-next_state(#state { in_queue = InQ } = S, _V, {call, _, out, [Prio]}) ->
- S#state { in_queue = listq_rem(InQ, Prio) };
-next_state(#state { in_queue = InQ } = S, _V, {call, _, pout, _}) ->
- S#state { in_queue = listq_rem(InQ) };
-next_state(S, _V, {call, _, to_list, _}) -> S;
-next_state(S, _V, {call, _, is_queue, _}) -> S;
-next_state(S, _V, {call, _, is_empty, _}) -> S;
-next_state(S, _V, {call, _, len, _}) -> S;
-next_state(#state { in_queue = InQ } = S, _V, {call, _, in, [Value, Prio]}) ->
- S#state { in_queue = listq_insert({Prio, Value}, InQ) };
-next_state(#state { in_queue = InQ } = S, _V, {call, _, in, [Value]}) ->
- S#state { in_queue = listq_insert({0, Value}, InQ) }.
-
-precondition(_S, _Call) ->
- true. % No limitation on the things we can call at all.
-
-postcondition(#state { in_queue = InQ }, {call, _, out, [Prio]}, R) ->
- R == listq_prio_peek(InQ, Prio);
-postcondition(#state { in_queue = InQ }, {call, _, pout, _}, R) ->
- R == listq_ppeek(InQ);
-postcondition(#state { in_queue = InQ }, {call, _, out, _}, R) ->
- R == listq_peek(InQ);
-postcondition(S, {call, _, to_list, _}, R) ->
- R == listq_to_list(S#state.in_queue);
-postcondition(S, {call, _, len, _}, L) ->
- L == listq_length(S#state.in_queue);
-postcondition(_S, {call, _, is_queue, _}, true) -> true;
-postcondition(S, {call, _, is_empty, _}, Res) ->
- Res == (S#state.in_queue == []);
-postcondition(_S, {call, _, in, _}, _) ->
- true;
-postcondition(_, _, _) ->
- false.
-
-correct(M) ->
- ?FORALL(Cmds, commands(?MODULE),
- ?TRAPEXIT(
- begin
- ?SERVER:start_link(M),
- {History,State,Result} = run_commands(?MODULE, Cmds),
- ?SERVER:stop(),
- ?WHENFAIL(io:format("History: ~w\nState: ~w\nResult: ~w\n",
- [History,State,Result]),
- aggregate(command_names(Cmds), Result =:= ok))
- end)).
-
-qc_opts() ->
- [{numtests, 10000}].
-
-qc_pq() ->
- proper:quickcheck(pqueue_proper:correct(pqueue), qc_opts()).
-
-qc_pq2() ->
- proper:quickcheck(pqueue_proper:correct(pqueue2), qc_opts()).
-
-qc_pq3() ->
- proper:quickcheck(pqueue_proper:correct(pqueue3), qc_opts()).
-
-qc_pq4() ->
- proper:quickcheck(pqueue_proper:correct(pqueue4), qc_opts()).
-
-%% ----------------------------------------------------------------------
-
-%% A listq is a sorted list of priorities
-listq_insert({P, V}, []) ->
- [{P, [V]}];
-listq_insert({P, V}, [{P1, _} | _] = LQ) when P < P1 ->
- [{P, [V]} | LQ];
-listq_insert({P, V}, [{P1, Vs} | Next]) when P == P1 ->
- [{P, Vs ++ [V]} | Next];
-listq_insert({P, V}, [{P1, Vs} | Next]) when P > P1 ->
- [{P1, Vs} | listq_insert({P, V}, Next)].
-
-listq_to_list(L) ->
- lists:concat(
- [ Vals || {_Prio, Vals} <- L]).
-
-listq_length(L) ->
- lists:sum(
- [ length(Vs) || {_Prio, Vs} <- L]).
-
-listq_rem([]) ->
- [];
-listq_rem([{_P, [_V]} | Next]) ->
- Next;
-listq_rem([{P, [_V1 | Vs]} | Next]) ->
- [{P, Vs} | Next].
-
-listq_rem([], _P) ->
- [];
-listq_rem([{P, [_]} | Next], P) ->
- Next;
-listq_rem([{P, [_ | Vs]} | Next], P) ->
- [{P, Vs} | Next];
-listq_rem([{P1, Vs} | Next], P) ->
- [{P1, Vs} | listq_rem(Next, P)].
-
-listq_peek([]) ->
- empty;
-listq_peek([{_P, [V | _]} | _]) ->
- {value, V}.
-
-listq_prio_peek([{P, [V | _]} | _], P) ->
- {value, V};
-listq_prio_peek([{_P1, _} | Next], P) ->
- listq_prio_peek(Next, P);
-listq_prio_peek([], _P) ->
- empty.
-
-listq_ppeek([]) ->
- empty;
-listq_ppeek([{P, [V | _]} | _]) ->
- {value, V, P}.
-
--endif.
diff --git a/aoc2023/build/dev/erlang/pqueue/test/queue_srv.erl b/aoc2023/build/dev/erlang/pqueue/test/queue_srv.erl
deleted file mode 100644
index 7fcb0a1..0000000
--- a/aoc2023/build/dev/erlang/pqueue/test/queue_srv.erl
+++ /dev/null
@@ -1,183 +0,0 @@
-%%%-------------------------------------------------------------------
-%%% @author Jesper Louis andersen <>
-%%% @copyright (C) 2011, Jesper Louis andersen
-%%% @doc
-%%%
-%%% @end
-%%% Created : 11 Nov 2011 by Jesper Louis andersen <>
-%%%-------------------------------------------------------------------
--module(queue_srv).
-
--behaviour(gen_server).
-
-%% API
--export([start_link/1, stop/0, len/0, in/1, in/2, is_empty/0,
- out/0, out/1, pout/0,
- is_queue/0, to_list/0]).
-
-%% gen_server callbacks
--export([init/1, handle_call/3, handle_cast/2, handle_info/2,
- terminate/2, code_change/3]).
-
--define(SERVER, ?MODULE).
-
--record(state, { mod, q }).
-
-%%%===================================================================
-%%% API
-%%%===================================================================
-
-%%--------------------------------------------------------------------
-%% @doc
-%% Starts the server
-%%
-%% @spec start_link(Mod) -> {ok, Pid} | ignore | {error, Error}
-%% @end
-%%--------------------------------------------------------------------
-start_link(Mod) ->
- gen_server:start_link({local, ?SERVER}, ?MODULE, [Mod], []).
-
-stop() ->
- gen_server:stop(?SERVER).
-
-call(M) ->
- gen_server:call(?SERVER, M, infinity).
-
-in(I) ->
- call({in, I}).
-
-in(I, P) ->
- call({in, I, P}).
-
-len() ->
- call(len).
-
-is_empty() ->
- call(is_empty).
-
-is_queue() ->
- call(is_queue).
-
-to_list() ->
- call(to_list).
-
-out() ->
- call(out).
-
-out(P) ->
- call({out, P}).
-
-pout() ->
- call(pout).
-
-%%%===================================================================
-%%% gen_server callbacks
-%%%===================================================================
-
-%%--------------------------------------------------------------------
-%% @private
-%% @doc
-%% Initializes the server
-%%
-%% @spec init(Args) -> {ok, State} |
-%% {ok, State, Timeout} |
-%% ignore |
-%% {stop, Reason}
-%% @end
-%%--------------------------------------------------------------------
-init([Mod]) ->
- {ok, #state{ mod = Mod,
- q = Mod:new() }}.
-
-%%--------------------------------------------------------------------
-%% @private
-%% @doc
-%% Handling call messages
-%%
-%% @spec handle_call(Request, From, State) ->
-%% {reply, Reply, State} |
-%% {reply, Reply, State, Timeout} |
-%% {noreply, State} |
-%% {noreply, State, Timeout} |
-%% {stop, Reason, Reply, State} |
-%% {stop, Reason, State}
-%% @end
-%%--------------------------------------------------------------------
-handle_call({in, Item}, _F, #state { q = Q, mod = M } = S) ->
- NQ = M:in(Item, Q),
- {reply, ok, S#state { q = NQ }};
-handle_call({in, Item, Prio}, _F, #state { q = Q, mod = M } = S) ->
- NQ = M:in(Item, Prio, Q),
- {reply, ok, S#state { q = NQ }};
-handle_call({out, P}, _F, #state { q = Q, mod = M } = S) ->
- {R, NQ} = M:out(P, Q),
- {reply, R, S#state { q = NQ }};
-handle_call(Ty, _F, #state { q = Q, mod = M } = S) when Ty == out;
- Ty == pout ->
- {R, NQ} = M:Ty(Q),
- {reply, R, S#state { q = NQ }};
-handle_call(Ty, _F, #state { q = Q, mod = M } = S) when Ty == is_queue;
- Ty == is_empty;
- Ty == len;
- Ty == to_list ->
- R = M:Ty(Q),
- {reply, R, S};
-handle_call(Req, From, State) ->
- error_logger:info_report([{handle_call, Req, From, State}]),
- Reply = ok,
- {reply, Reply, State}.
-
-%%--------------------------------------------------------------------
-%% @private
-%% @doc
-%% Handling cast messages
-%%
-%% @spec handle_cast(Msg, State) -> {noreply, State} |
-%% {noreply, State, Timeout} |
-%% {stop, Reason, State}
-%% @end
-%%--------------------------------------------------------------------
-handle_cast(_Msg, State) ->
- {noreply, State}.
-
-%%--------------------------------------------------------------------
-%% @private
-%% @doc
-%% Handling all non call/cast messages
-%%
-%% @spec handle_info(Info, State) -> {noreply, State} |
-%% {noreply, State, Timeout} |
-%% {stop, Reason, State}
-%% @end
-%%--------------------------------------------------------------------
-handle_info(_Info, State) ->
- {noreply, State}.
-
-%%--------------------------------------------------------------------
-%% @private
-%% @doc
-%% This function is called by a gen_server when it is about to
-%% terminate. It should be the opposite of Module:init/1 and do any
-%% necessary cleaning up. When it returns, the gen_server terminates
-%% with Reason. The return value is ignored.
-%%
-%% @spec terminate(Reason, State) -> void()
-%% @end
-%%--------------------------------------------------------------------
-terminate(_Reason, _State) ->
- ok.
-
-%%--------------------------------------------------------------------
-%% @private
-%% @doc
-%% Convert process state when code is changed
-%%
-%% @spec code_change(OldVsn, State, Extra) -> {ok, NewState}
-%% @end
-%%--------------------------------------------------------------------
-code_change(_OldVsn, State, _Extra) ->
- {ok, State}.
-
-%%%===================================================================
-%%% Internal functions
-%%%===================================================================
diff --git a/aoc2023/build/dev/erlang/simplifile/_gleam_artefacts/gleam@@compile.erl b/aoc2023/build/dev/erlang/simplifile/_gleam_artefacts/gleam@@compile.erl
deleted file mode 100644
index 543db88..0000000
--- a/aoc2023/build/dev/erlang/simplifile/_gleam_artefacts/gleam@@compile.erl
+++ /dev/null
@@ -1,157 +0,0 @@
-#!/usr/bin/env escript
-
-% TODO: Don't concurrently print warnings and errors
-% TODO: Some tests
-
--record(arguments, {lib = "./", out = "./", modules = []}).
-
-main(Args) ->
- #arguments{out = Out, lib = Lib, modules = Modules} = parse(Args),
- IsElixirModule = fun(Module) ->
- filename:extension(Module) =:= ".ex"
- end,
- {ElixirModules, ErlangModules} = lists:partition(IsElixirModule, Modules),
- ok = configure_logging(),
- ok = add_lib_to_erlang_path(Lib),
- ok = filelib:ensure_dir([Out, $/]),
- {ErlangOk, _ErlangBeams} = compile_erlang(ErlangModules, Out),
- {ElixirOk, _ElixirBeams} = case ErlangOk of
- true -> compile_elixir(ElixirModules, Out);
- false -> {false, []}
- end,
- case ErlangOk and ElixirOk of
- true -> ok;
- false -> erlang:halt(1)
- end.
-
-compile_erlang(Modules, Out) ->
- Workers = start_compiler_workers(Out),
- ok = producer_loop(Modules, Workers),
- collect_results({true, []}).
-
-collect_results(Acc = {Result, Beams}) ->
- receive
- {compiled, Beam} -> collect_results({Result, [Beam | Beams]});
- failed -> collect_results({false, Beams})
- after 0 -> Acc
- end.
-
-producer_loop([], 0) ->
- ok;
-producer_loop([], Workers) ->
- receive
- {work_please, _} -> producer_loop([], Workers - 1)
- end;
-producer_loop([Module | Modules], Workers) ->
- receive
- {work_please, Worker} ->
- erlang:send(Worker, {module, Module}),
- producer_loop(Modules, Workers)
- end.
-
-start_compiler_workers(Out) ->
- Parent = self(),
- NumSchedulers = erlang:system_info(schedulers),
- SpawnWorker = fun(_) ->
- erlang:spawn_link(fun() -> worker_loop(Parent, Out) end)
- end,
- lists:foreach(SpawnWorker, lists:seq(1, NumSchedulers)),
- NumSchedulers.
-
-worker_loop(Parent, Out) ->
- Options = [report_errors, report_warnings, debug_info, {outdir, Out}],
- erlang:send(Parent, {work_please, self()}),
- receive
- {module, Module} ->
- log({compiling, Module}),
- case compile:file(Module, Options) of
- {ok, ModuleName} ->
- Beam = filename:join(Out, ModuleName) ++ ".beam",
- Message = {compiled, Beam},
- log(Message),
- erlang:send(Parent, Message);
- error ->
- log({failed, Module}),
- erlang:send(Parent, failed)
- end,
- worker_loop(Parent, Out)
- end.
-
-compile_elixir(Modules, Out) ->
- Error = [
- "The program elixir was not found. Is it installed?",
- $\n,
- "Documentation for installing Elixir can be viewed here:",
- $\n,
- "https://elixir-lang.org/install.html"
- ],
- case Modules of
- [] -> {true, []};
- _ ->
- log({starting, "compiler.app"}),
- ok = application:start(compiler),
- log({starting, "elixir.app"}),
- case application:start(elixir) of
- ok -> do_compile_elixir(Modules, Out);
- _ ->
- io:put_chars(standard_error, [Error, $\n]),
- {false, []}
- end
- end.
-
-do_compile_elixir(Modules, Out) ->
- ModuleBins = lists:map(fun(Module) ->
- log({compiling, Module}),
- list_to_binary(Module)
- end, Modules),
- OutBin = list_to_binary(Out),
- Options = [{dest, OutBin}],
- % Silence "redefining module" warnings.
- % Compiled modules in the build directory are added to the code path.
- % These warnings result from recompiling loaded modules.
- % TODO: This line can likely be removed if/when the build directory is cleaned before every compilation.
- 'Elixir.Code':compiler_options([{ignore_module_conflict, true}]),
- case 'Elixir.Kernel.ParallelCompiler':compile_to_path(ModuleBins, OutBin, Options) of
- {ok, ModuleAtoms, _} ->
- ToBeam = fun(ModuleAtom) ->
- Beam = filename:join(Out, atom_to_list(ModuleAtom)) ++ ".beam",
- log({compiled, Beam}),
- Beam
- end,
- {true, lists:map(ToBeam, ModuleAtoms)};
- {error, Errors, _} ->
- % Log all filenames associated with modules that failed to compile.
- % Note: The compiler prints compilation errors upon encountering them.
- ErrorFiles = lists:usort([File || {File, _, _} <- Errors]),
- Log = fun(File) ->
- log({failed, binary_to_list(File)})
- end,
- lists:foreach(Log, ErrorFiles),
- {false, []};
- _ -> {false, []}
- end.
-
-add_lib_to_erlang_path(Lib) ->
- code:add_paths(filelib:wildcard([Lib, "/*/ebin"])).
-
-parse(Args) ->
- parse(Args, #arguments{}).
-
-parse([], Arguments) ->
- Arguments;
-parse(["--lib", Lib | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{lib = Lib});
-parse(["--out", Out | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{out = Out});
-parse([Module | Rest], Arguments = #arguments{modules = Modules}) ->
- parse(Rest, Arguments#arguments{modules = [Module | Modules]}).
-
-configure_logging() ->
- Enabled = os:getenv("GLEAM_LOG") /= false,
- persistent_term:put(gleam_logging_enabled, Enabled).
-
-log(Term) ->
- case persistent_term:get(gleam_logging_enabled) of
- true -> erlang:display(Term), ok;
- false -> ok
- end.
diff --git a/aoc2023/build/dev/erlang/simplifile/_gleam_artefacts/simplifile.cache b/aoc2023/build/dev/erlang/simplifile/_gleam_artefacts/simplifile.cache
deleted file mode 100644
index 4ef501f..0000000
--- a/aoc2023/build/dev/erlang/simplifile/_gleam_artefacts/simplifile.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/simplifile/_gleam_artefacts/simplifile.cache_meta b/aoc2023/build/dev/erlang/simplifile/_gleam_artefacts/simplifile.cache_meta
deleted file mode 100644
index 90aa893..0000000
--- a/aoc2023/build/dev/erlang/simplifile/_gleam_artefacts/simplifile.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/simplifile/_gleam_artefacts/simplifile.erl b/aoc2023/build/dev/erlang/simplifile/_gleam_artefacts/simplifile.erl
deleted file mode 100644
index 59361a2..0000000
--- a/aoc2023/build/dev/erlang/simplifile/_gleam_artefacts/simplifile.erl
+++ /dev/null
@@ -1,287 +0,0 @@
--module(simplifile).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([read/1, write/2, delete/1, delete_all/1, append/2, read_bits/1, write_bits/2, append_bits/2, is_directory/1, create_directory/1, read_directory/1, is_file/1, create_file/1, get_files/1, create_directory_all/1, copy_directory/2, rename_directory/2, copy_file/2, rename_file/2]).
--export_type([file_error/0]).
-
--type file_error() :: eacces |
- eagain |
- ebadf |
- ebadmsg |
- ebusy |
- edeadlk |
- edeadlock |
- edquot |
- eexist |
- efault |
- efbig |
- eftype |
- eintr |
- einval |
- eio |
- eisdir |
- eloop |
- emfile |
- emlink |
- emultihop |
- enametoolong |
- enfile |
- enobufs |
- enodev |
- enolck |
- enolink |
- enoent |
- enomem |
- enospc |
- enosr |
- enostr |
- enosys |
- enotblk |
- enotdir |
- enotsup |
- enxio |
- eopnotsupp |
- eoverflow |
- eperm |
- epipe |
- erange |
- erofs |
- espipe |
- esrch |
- estale |
- etxtbsy |
- exdev |
- not_utf8 |
- unknown.
-
--spec do_append(binary(), binary()) -> {ok, nil} | {error, file_error()}.
-do_append(Content, Filepath) ->
- _pipe = Content,
- _pipe@1 = gleam_stdlib:identity(_pipe),
- simplifile_erl:append_file(_pipe@1, Filepath).
-
--spec do_write(binary(), binary()) -> {ok, nil} | {error, file_error()}.
-do_write(Content, Filepath) ->
- _pipe = Content,
- _pipe@1 = gleam_stdlib:identity(_pipe),
- simplifile_erl:write_file(_pipe@1, Filepath).
-
--spec do_read(binary()) -> {ok, binary()} | {error, file_error()}.
-do_read(Filepath) ->
- case simplifile_erl:read_file(Filepath) of
- {ok, Bits} ->
- case gleam@bit_array:to_string(Bits) of
- {ok, Str} ->
- {ok, Str};
-
- _ ->
- {error, not_utf8}
- end;
-
- {error, E} ->
- {error, E}
- end.
-
--spec cast_error({ok, JXG} | {error, file_error()}) -> {ok, JXG} |
- {error, file_error()}.
-cast_error(Input) ->
- Input.
-
--spec read(binary()) -> {ok, binary()} | {error, file_error()}.
-read(Filepath) ->
- _pipe = do_read(Filepath),
- cast_error(_pipe).
-
--spec write(binary(), binary()) -> {ok, nil} | {error, file_error()}.
-write(Filepath, Contents) ->
- _pipe = do_write(Contents, Filepath),
- cast_error(_pipe).
-
--spec delete(binary()) -> {ok, nil} | {error, file_error()}.
-delete(Path) ->
- _pipe = simplifile_erl:recursive_delete(Path),
- cast_error(_pipe).
-
--spec delete_all(list(binary())) -> {ok, nil} | {error, file_error()}.
-delete_all(Paths) ->
- case Paths of
- [] ->
- {ok, nil};
-
- [Path | Rest] ->
- case delete(Path) of
- {ok, nil} ->
- delete_all(Rest);
-
- {error, enoent} ->
- delete_all(Rest);
-
- E ->
- E
- end
- end.
-
--spec append(binary(), binary()) -> {ok, nil} | {error, file_error()}.
-append(Filepath, Contents) ->
- _pipe = do_append(Contents, Filepath),
- cast_error(_pipe).
-
--spec read_bits(binary()) -> {ok, bitstring()} | {error, file_error()}.
-read_bits(Filepath) ->
- _pipe = simplifile_erl:read_file(Filepath),
- cast_error(_pipe).
-
--spec write_bits(binary(), bitstring()) -> {ok, nil} | {error, file_error()}.
-write_bits(Filepath, Bits) ->
- _pipe = simplifile_erl:write_file(Bits, Filepath),
- cast_error(_pipe).
-
--spec append_bits(binary(), bitstring()) -> {ok, nil} | {error, file_error()}.
-append_bits(Filepath, Bits) ->
- _pipe = simplifile_erl:append_file(Bits, Filepath),
- cast_error(_pipe).
-
--spec is_directory(binary()) -> boolean().
-is_directory(Filepath) ->
- filelib:is_dir(Filepath).
-
--spec create_directory(binary()) -> {ok, nil} | {error, file_error()}.
-create_directory(Filepath) ->
- _pipe = simplifile_erl:make_directory(Filepath),
- cast_error(_pipe).
-
--spec read_directory(binary()) -> {ok, list(binary())} | {error, file_error()}.
-read_directory(Path) ->
- _pipe = simplifile_erl:list_directory(Path),
- cast_error(_pipe).
-
--spec is_file(binary()) -> boolean().
-is_file(Filepath) ->
- simplifile_erl:is_file(Filepath).
-
--spec create_file(binary()) -> {ok, nil} | {error, file_error()}.
-create_file(Filepath) ->
- case begin
- _pipe = Filepath,
- is_file(_pipe)
- end
- orelse begin
- _pipe@1 = Filepath,
- is_directory(_pipe@1)
- end of
- true ->
- {error, eexist};
-
- false ->
- write_bits(Filepath, <<>>)
- end.
-
--spec do_copy_directory(binary(), binary()) -> {ok, nil} | {error, file_error()}.
-do_copy_directory(Src, Dest) ->
- gleam@result:'try'(
- read_directory(Src),
- fun(Segments) ->
- _pipe = Segments,
- gleam@list:each(
- _pipe,
- fun(Segment) ->
- Src_path = <<<<Src/binary, "/"/utf8>>/binary,
- Segment/binary>>,
- Dest_path = <<<<Dest/binary, "/"/utf8>>/binary,
- Segment/binary>>,
- case {is_file(Src_path), is_directory(Src_path)} of
- {true, false} ->
- gleam@result:'try'(
- read_bits(Src_path),
- fun(Content) -> _pipe@1 = Content,
- write_bits(Dest_path, _pipe@1) end
- );
-
- {false, true} ->
- gleam@result:'try'(
- create_directory(Dest_path),
- fun(_) ->
- do_copy_directory(Src_path, Dest_path)
- end
- );
-
- {_, _} ->
- erlang:error(#{gleam_error => panic,
- message => <<"unreachable"/utf8>>,
- module => <<"simplifile"/utf8>>,
- function => <<"do_copy_directory"/utf8>>,
- line => 341})
- end
- end
- ),
- {ok, nil}
- end
- ).
-
--spec get_files(binary()) -> {ok, list(binary())} | {error, file_error()}.
-get_files(Directory) ->
- gleam@result:'try'(
- read_directory(Directory),
- fun(Contents) ->
- Paths = gleam@list:map(
- Contents,
- fun(Segment) ->
- <<<<Directory/binary, "/"/utf8>>/binary, Segment/binary>>
- end
- ),
- Files = gleam@list:filter(Paths, fun is_file/1),
- case gleam@list:filter(Paths, fun is_directory/1) of
- [] ->
- {ok, Files};
-
- Directories ->
- gleam@result:'try'(
- gleam@list:try_map(Directories, fun get_files/1),
- fun(Nested_files) ->
- {ok,
- gleam@list:append(
- Files,
- gleam@list:flatten(Nested_files)
- )}
- end
- )
- end
- end
- ).
-
--spec create_directory_all(binary()) -> {ok, nil} | {error, file_error()}.
-create_directory_all(Dirpath) ->
- Path = case begin
- _pipe = Dirpath,
- gleam@string:ends_with(_pipe, <<"/"/utf8>>)
- end of
- true ->
- Dirpath;
-
- false ->
- <<Dirpath/binary, "/"/utf8>>
- end,
- _pipe@1 = simplifile_erl:create_dir_all(Path),
- cast_error(_pipe@1).
-
--spec copy_directory(binary(), binary()) -> {ok, nil} | {error, file_error()}.
-copy_directory(Src, Dest) ->
- gleam@result:'try'(
- create_directory_all(Dest),
- fun(_) -> do_copy_directory(Src, Dest) end
- ).
-
--spec rename_directory(binary(), binary()) -> {ok, nil} | {error, file_error()}.
-rename_directory(Src, Dest) ->
- gleam@result:'try'(copy_directory(Src, Dest), fun(_) -> delete(Src) end).
-
--spec copy_file(binary(), binary()) -> {ok, nil} | {error, file_error()}.
-copy_file(Src, Dest) ->
- _pipe = file:copy(Src, Dest),
- _pipe@1 = gleam@result:replace(_pipe, nil),
- cast_error(_pipe@1).
-
--spec rename_file(binary(), binary()) -> {ok, nil} | {error, file_error()}.
-rename_file(Src, Dest) ->
- _pipe = simplifile_erl:rename_file(Src, Dest),
- cast_error(_pipe).
diff --git a/aoc2023/build/dev/erlang/simplifile/_gleam_artefacts/simplifile_erl.erl b/aoc2023/build/dev/erlang/simplifile/_gleam_artefacts/simplifile_erl.erl
deleted file mode 100644
index dac135a..0000000
--- a/aoc2023/build/dev/erlang/simplifile/_gleam_artefacts/simplifile_erl.erl
+++ /dev/null
@@ -1,70 +0,0 @@
--module(simplifile_erl).
--export([
- read_file/1,
- append_file/2, write_file/2, delete_file/1, delete_directory/1, recursive_delete/1,
- list_directory/1, make_directory/1, is_file/1, create_dir_all/1, rename_file/2
-]).
-
--define(is_posix_error(Error),
- Error =:= eacces orelse Error =:= eagain orelse Error =:= ebadf orelse
- Error =:= ebadmsg orelse Error =:= ebusy orelse Error =:= edeadlk orelse
- Error =:= edeadlock orelse Error =:= edquot orelse Error =:= eexist orelse
- Error =:= efault orelse Error =:= efbig orelse Error =:= eftype orelse
- Error =:= eintr orelse Error =:= einval orelse Error =:= eio orelse
- Error =:= eisdir orelse Error =:= eloop orelse Error =:= emfile orelse
- Error =:= emlink orelse Error =:= emultihop orelse Error =:= enametoolong orelse
- Error =:= enfile orelse Error =:= enobufs orelse Error =:= enodev orelse
- Error =:= enolck orelse Error =:= enolink orelse Error =:= enoent orelse
- Error =:= enomem orelse Error =:= enospc orelse Error =:= enosr orelse
- Error =:= enostr orelse Error =:= enosys orelse Error =:= enotblk orelse
- Error =:= enotdir orelse Error =:= enotsup orelse Error =:= enxio orelse
- Error =:= eopnotsupp orelse Error =:= eoverflow orelse Error =:= eperm orelse
- Error =:= epipe orelse Error =:= erange orelse Error =:= erofs orelse
- Error =:= espipe orelse Error =:= esrch orelse Error =:= estale orelse
- Error =:= etxtbsy orelse Error =:= exdev
-).
-
-posix_result(Result) ->
- case Result of
- ok -> {ok, nil};
- {ok, Value} -> {ok, Value};
- {error, Reason} when ?is_posix_error(Reason) -> {error, Reason}
- end.
-
-read_file(Filename) ->
- posix_result(file:read_file(Filename)).
-
-write_file(Contents, Filename) ->
- posix_result(file:write_file(Filename, Contents)).
-
-append_file(Contents, Filename) ->
- posix_result(file:write_file(Filename, Contents, [append])).
-
-delete_file(Filename) ->
- posix_result(file:delete(Filename)).
-
-make_directory(Dir) ->
- posix_result(file:make_dir(Dir)).
-
-list_directory(Dir) ->
- case file:list_dir(Dir) of
- {ok, Filenames} ->
- {ok, [list_to_binary(Filename) || Filename <- Filenames]};
- {error, Reason} when ?is_posix_error(Reason) ->
- {error, Reason}
- end.
-
-delete_directory(Dir) ->
- posix_result(file:del_dir(Dir)).
-
-recursive_delete(Dir) ->
- posix_result(file:del_dir_r(Dir)).
-
-is_file(Filename) ->
- not (file:read_file_info(Filename) == {error, enoent}) and not filelib: is_dir(Filename).
-
-create_dir_all(Filename) ->
- posix_result(filelib:ensure_dir(Filename)).
-
-rename_file(Source, Destination) ->
- posix_result(file:rename(Source, Destination)).
diff --git a/aoc2023/build/dev/erlang/simplifile/_gleam_artefacts/simplifile_js.mjs b/aoc2023/build/dev/erlang/simplifile/_gleam_artefacts/simplifile_js.mjs
deleted file mode 100644
index faf4109..0000000
--- a/aoc2023/build/dev/erlang/simplifile/_gleam_artefacts/simplifile_js.mjs
+++ /dev/null
@@ -1,102 +0,0 @@
-import fs from "node:fs"
-import path from "node:path"
-import { BitArray, Ok, Error as GError, toList} from "./gleam.mjs";
-
-export function readBits(filepath) {
- try {
- const contents = fs.readFileSync(path.normalize(filepath))
- return new Ok(new BitArray(new Uint8Array(contents)))
- } catch(e) {
- return new GError(stringifyError(e))
- }
-}
-
-export function writeBits(contents, filepath) {
- try {
- fs.writeFileSync(path.normalize(filepath), contents.buffer)
- return new Ok(undefined)
- } catch (e) {
- return new GError(stringifyError(e))
- }
-}
-
-export function appendBits(contents, filepath) {
- try {
- fs.appendFileSync(path.normalize(filepath), contents.buffer)
- return new Ok(undefined)
- } catch (e) {
- return new GError(stringifyError(e))
- }
-}
-
-function stringifyError(e) {
- return e.code
-}
-
-export function isFile(filepath) {
- let fp = path.normalize(filepath)
- return fs.existsSync(fp) && fs.lstatSync(fp).isFile();
-}
-
-export function isDirectory(filepath) {
- let fp = path.normalize(filepath)
- return fs.existsSync(fp) && fs.lstatSync(fp).isDirectory();
-}
-
-export function makeDirectory(filepath) {
- try {
- fs.mkdirSync(path.normalize(filepath))
- return new Ok(undefined)
- } catch (e) {
- return new GError(stringifyError(e))
- }
-}
-
-export function createDirAll(filepath) {
- try {
- fs.mkdirSync(filepath, { recursive: true })
- return new Ok(undefined)
- } catch (e) {
- return new GError(stringifyError(e))
- }
-}
-
-export function deleteFileOrDirRecursive(fileOrDirPath) {
- try {
- if (isDirectory(fileOrDirPath)) {
- fs.rmSync(path.normalize(fileOrDirPath), { recursive: true })
- } else {
- fs.unlinkSync(path.normalize(fileOrDirPath))
- }
- return new Ok(undefined)
- } catch (e) {
- return new GError(stringifyError(e))
- }
-}
-
-export function listContents(filepath) {
- try {
- const stuff = toList(fs.readdirSync(path.normalize(filepath)))
- return new Ok(stuff)
- } catch(e) {
- return new GError(stringifyError(e))
- }
-}
-
-export function copyFile(srcpath, destpath) {
- try {
- fs.copyFileSync(path.normalize(srcpath), path.normalize(destpath))
- return new Ok(undefined)
- } catch (e) {
- return new GError(stringifyError(e))
- }
-}
-
-export function renameFile(srcpath, destpath) {
- try {
- fs.renameSync(path.normalize(srcpath), path.normalize(destpath))
- return new Ok(undefined)
- } catch (e) {
- return new GError(stringifyError(e))
- }
-} \ No newline at end of file
diff --git a/aoc2023/build/dev/erlang/simplifile/ebin/simplifile.app b/aoc2023/build/dev/erlang/simplifile/ebin/simplifile.app
deleted file mode 100644
index 3bb63fa..0000000
--- a/aoc2023/build/dev/erlang/simplifile/ebin/simplifile.app
+++ /dev/null
@@ -1,7 +0,0 @@
-{application, simplifile, [
- {vsn, "1.0.0"},
- {applications, [gleam_stdlib]},
- {description, "Basic file operations that work on all targets"},
- {modules, []},
- {registered, []}
-]}.
diff --git a/aoc2023/build/dev/erlang/simplifile/ebin/simplifile.beam b/aoc2023/build/dev/erlang/simplifile/ebin/simplifile.beam
deleted file mode 100644
index 7d3bcd6..0000000
--- a/aoc2023/build/dev/erlang/simplifile/ebin/simplifile.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/simplifile/ebin/simplifile_erl.beam b/aoc2023/build/dev/erlang/simplifile/ebin/simplifile_erl.beam
deleted file mode 100644
index b859e1e..0000000
--- a/aoc2023/build/dev/erlang/simplifile/ebin/simplifile_erl.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/snag/_gleam_artefacts/gleam@@compile.erl b/aoc2023/build/dev/erlang/snag/_gleam_artefacts/gleam@@compile.erl
deleted file mode 100644
index 543db88..0000000
--- a/aoc2023/build/dev/erlang/snag/_gleam_artefacts/gleam@@compile.erl
+++ /dev/null
@@ -1,157 +0,0 @@
-#!/usr/bin/env escript
-
-% TODO: Don't concurrently print warnings and errors
-% TODO: Some tests
-
--record(arguments, {lib = "./", out = "./", modules = []}).
-
-main(Args) ->
- #arguments{out = Out, lib = Lib, modules = Modules} = parse(Args),
- IsElixirModule = fun(Module) ->
- filename:extension(Module) =:= ".ex"
- end,
- {ElixirModules, ErlangModules} = lists:partition(IsElixirModule, Modules),
- ok = configure_logging(),
- ok = add_lib_to_erlang_path(Lib),
- ok = filelib:ensure_dir([Out, $/]),
- {ErlangOk, _ErlangBeams} = compile_erlang(ErlangModules, Out),
- {ElixirOk, _ElixirBeams} = case ErlangOk of
- true -> compile_elixir(ElixirModules, Out);
- false -> {false, []}
- end,
- case ErlangOk and ElixirOk of
- true -> ok;
- false -> erlang:halt(1)
- end.
-
-compile_erlang(Modules, Out) ->
- Workers = start_compiler_workers(Out),
- ok = producer_loop(Modules, Workers),
- collect_results({true, []}).
-
-collect_results(Acc = {Result, Beams}) ->
- receive
- {compiled, Beam} -> collect_results({Result, [Beam | Beams]});
- failed -> collect_results({false, Beams})
- after 0 -> Acc
- end.
-
-producer_loop([], 0) ->
- ok;
-producer_loop([], Workers) ->
- receive
- {work_please, _} -> producer_loop([], Workers - 1)
- end;
-producer_loop([Module | Modules], Workers) ->
- receive
- {work_please, Worker} ->
- erlang:send(Worker, {module, Module}),
- producer_loop(Modules, Workers)
- end.
-
-start_compiler_workers(Out) ->
- Parent = self(),
- NumSchedulers = erlang:system_info(schedulers),
- SpawnWorker = fun(_) ->
- erlang:spawn_link(fun() -> worker_loop(Parent, Out) end)
- end,
- lists:foreach(SpawnWorker, lists:seq(1, NumSchedulers)),
- NumSchedulers.
-
-worker_loop(Parent, Out) ->
- Options = [report_errors, report_warnings, debug_info, {outdir, Out}],
- erlang:send(Parent, {work_please, self()}),
- receive
- {module, Module} ->
- log({compiling, Module}),
- case compile:file(Module, Options) of
- {ok, ModuleName} ->
- Beam = filename:join(Out, ModuleName) ++ ".beam",
- Message = {compiled, Beam},
- log(Message),
- erlang:send(Parent, Message);
- error ->
- log({failed, Module}),
- erlang:send(Parent, failed)
- end,
- worker_loop(Parent, Out)
- end.
-
-compile_elixir(Modules, Out) ->
- Error = [
- "The program elixir was not found. Is it installed?",
- $\n,
- "Documentation for installing Elixir can be viewed here:",
- $\n,
- "https://elixir-lang.org/install.html"
- ],
- case Modules of
- [] -> {true, []};
- _ ->
- log({starting, "compiler.app"}),
- ok = application:start(compiler),
- log({starting, "elixir.app"}),
- case application:start(elixir) of
- ok -> do_compile_elixir(Modules, Out);
- _ ->
- io:put_chars(standard_error, [Error, $\n]),
- {false, []}
- end
- end.
-
-do_compile_elixir(Modules, Out) ->
- ModuleBins = lists:map(fun(Module) ->
- log({compiling, Module}),
- list_to_binary(Module)
- end, Modules),
- OutBin = list_to_binary(Out),
- Options = [{dest, OutBin}],
- % Silence "redefining module" warnings.
- % Compiled modules in the build directory are added to the code path.
- % These warnings result from recompiling loaded modules.
- % TODO: This line can likely be removed if/when the build directory is cleaned before every compilation.
- 'Elixir.Code':compiler_options([{ignore_module_conflict, true}]),
- case 'Elixir.Kernel.ParallelCompiler':compile_to_path(ModuleBins, OutBin, Options) of
- {ok, ModuleAtoms, _} ->
- ToBeam = fun(ModuleAtom) ->
- Beam = filename:join(Out, atom_to_list(ModuleAtom)) ++ ".beam",
- log({compiled, Beam}),
- Beam
- end,
- {true, lists:map(ToBeam, ModuleAtoms)};
- {error, Errors, _} ->
- % Log all filenames associated with modules that failed to compile.
- % Note: The compiler prints compilation errors upon encountering them.
- ErrorFiles = lists:usort([File || {File, _, _} <- Errors]),
- Log = fun(File) ->
- log({failed, binary_to_list(File)})
- end,
- lists:foreach(Log, ErrorFiles),
- {false, []};
- _ -> {false, []}
- end.
-
-add_lib_to_erlang_path(Lib) ->
- code:add_paths(filelib:wildcard([Lib, "/*/ebin"])).
-
-parse(Args) ->
- parse(Args, #arguments{}).
-
-parse([], Arguments) ->
- Arguments;
-parse(["--lib", Lib | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{lib = Lib});
-parse(["--out", Out | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{out = Out});
-parse([Module | Rest], Arguments = #arguments{modules = Modules}) ->
- parse(Rest, Arguments#arguments{modules = [Module | Modules]}).
-
-configure_logging() ->
- Enabled = os:getenv("GLEAM_LOG") /= false,
- persistent_term:put(gleam_logging_enabled, Enabled).
-
-log(Term) ->
- case persistent_term:get(gleam_logging_enabled) of
- true -> erlang:display(Term), ok;
- false -> ok
- end.
diff --git a/aoc2023/build/dev/erlang/snag/_gleam_artefacts/snag.cache b/aoc2023/build/dev/erlang/snag/_gleam_artefacts/snag.cache
deleted file mode 100644
index 7fa2fe5..0000000
--- a/aoc2023/build/dev/erlang/snag/_gleam_artefacts/snag.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/snag/_gleam_artefacts/snag.cache_meta b/aoc2023/build/dev/erlang/snag/_gleam_artefacts/snag.cache_meta
deleted file mode 100644
index daef1e9..0000000
--- a/aoc2023/build/dev/erlang/snag/_gleam_artefacts/snag.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/snag/_gleam_artefacts/snag.erl b/aoc2023/build/dev/erlang/snag/_gleam_artefacts/snag.erl
deleted file mode 100644
index a3ad8f4..0000000
--- a/aoc2023/build/dev/erlang/snag/_gleam_artefacts/snag.erl
+++ /dev/null
@@ -1,74 +0,0 @@
--module(snag).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([new/1, error/1, layer/2, context/2, pretty_print/1, line_print/1]).
--export_type([snag/0]).
-
--type snag() :: {snag, binary(), list(binary())}.
-
--spec new(binary()) -> snag().
-new(Issue) ->
- {snag, Issue, []}.
-
--spec error(binary()) -> {ok, any()} | {error, snag()}.
-error(Issue) ->
- {error, new(Issue)}.
-
--spec layer(snag(), binary()) -> snag().
-layer(Snag, Issue) ->
- {snag, Issue, [erlang:element(2, Snag) | erlang:element(3, Snag)]}.
-
--spec context({ok, IOV} | {error, snag()}, binary()) -> {ok, IOV} |
- {error, snag()}.
-context(Result, Issue) ->
- case Result of
- {ok, _} ->
- Result;
-
- {error, Snag} ->
- {error, layer(Snag, Issue)}
- end.
-
--spec pretty_print_cause(list(binary())) -> gleam@string_builder:string_builder().
-pretty_print_cause(Cause) ->
- _pipe = Cause,
- _pipe@1 = gleam@list:index_map(
- _pipe,
- fun(Index, Line) ->
- gleam@string:concat(
- [<<" "/utf8>>,
- gleam@int:to_string(Index),
- <<": "/utf8>>,
- Line,
- <<"\n"/utf8>>]
- )
- end
- ),
- gleam@string_builder:from_strings(_pipe@1).
-
--spec pretty_print(snag()) -> binary().
-pretty_print(Snag) ->
- Builder = gleam@string_builder:from_strings(
- [<<"error: "/utf8>>, erlang:element(2, Snag), <<"\n"/utf8>>]
- ),
- gleam@string_builder:to_string(case erlang:element(3, Snag) of
- [] ->
- Builder;
-
- Cause ->
- _pipe = Builder,
- _pipe@1 = gleam@string_builder:append(
- _pipe,
- <<"\ncause:\n"/utf8>>
- ),
- gleam@string_builder:append_builder(
- _pipe@1,
- pretty_print_cause(Cause)
- )
- end).
-
--spec line_print(snag()) -> binary().
-line_print(Snag) ->
- _pipe = [gleam@string:append(<<"error: "/utf8>>, erlang:element(2, Snag)) |
- erlang:element(3, Snag)],
- gleam@string:join(_pipe, <<" <- "/utf8>>).
diff --git a/aoc2023/build/dev/erlang/snag/ebin/snag.app b/aoc2023/build/dev/erlang/snag/ebin/snag.app
deleted file mode 100644
index 724fb97..0000000
--- a/aoc2023/build/dev/erlang/snag/ebin/snag.app
+++ /dev/null
@@ -1,7 +0,0 @@
-{application, snag, [
- {vsn, "0.2.1"},
- {applications, [gleam_stdlib]},
- {description, "A boilerplate-free ad-hoc error type"},
- {modules, []},
- {registered, []}
-]}.
diff --git a/aoc2023/build/dev/erlang/snag/ebin/snag.beam b/aoc2023/build/dev/erlang/snag/ebin/snag.beam
deleted file mode 100644
index 4af73ad..0000000
--- a/aoc2023/build/dev/erlang/snag/ebin/snag.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/snag/include/snag_Snag.hrl b/aoc2023/build/dev/erlang/snag/include/snag_Snag.hrl
deleted file mode 100644
index 5d6614e..0000000
--- a/aoc2023/build/dev/erlang/snag/include/snag_Snag.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(snag, {issue :: binary(), cause :: list(binary())}).
diff --git a/aoc2023/build/dev/erlang/tom/_gleam_artefacts/gleam@@compile.erl b/aoc2023/build/dev/erlang/tom/_gleam_artefacts/gleam@@compile.erl
deleted file mode 100644
index 543db88..0000000
--- a/aoc2023/build/dev/erlang/tom/_gleam_artefacts/gleam@@compile.erl
+++ /dev/null
@@ -1,157 +0,0 @@
-#!/usr/bin/env escript
-
-% TODO: Don't concurrently print warnings and errors
-% TODO: Some tests
-
--record(arguments, {lib = "./", out = "./", modules = []}).
-
-main(Args) ->
- #arguments{out = Out, lib = Lib, modules = Modules} = parse(Args),
- IsElixirModule = fun(Module) ->
- filename:extension(Module) =:= ".ex"
- end,
- {ElixirModules, ErlangModules} = lists:partition(IsElixirModule, Modules),
- ok = configure_logging(),
- ok = add_lib_to_erlang_path(Lib),
- ok = filelib:ensure_dir([Out, $/]),
- {ErlangOk, _ErlangBeams} = compile_erlang(ErlangModules, Out),
- {ElixirOk, _ElixirBeams} = case ErlangOk of
- true -> compile_elixir(ElixirModules, Out);
- false -> {false, []}
- end,
- case ErlangOk and ElixirOk of
- true -> ok;
- false -> erlang:halt(1)
- end.
-
-compile_erlang(Modules, Out) ->
- Workers = start_compiler_workers(Out),
- ok = producer_loop(Modules, Workers),
- collect_results({true, []}).
-
-collect_results(Acc = {Result, Beams}) ->
- receive
- {compiled, Beam} -> collect_results({Result, [Beam | Beams]});
- failed -> collect_results({false, Beams})
- after 0 -> Acc
- end.
-
-producer_loop([], 0) ->
- ok;
-producer_loop([], Workers) ->
- receive
- {work_please, _} -> producer_loop([], Workers - 1)
- end;
-producer_loop([Module | Modules], Workers) ->
- receive
- {work_please, Worker} ->
- erlang:send(Worker, {module, Module}),
- producer_loop(Modules, Workers)
- end.
-
-start_compiler_workers(Out) ->
- Parent = self(),
- NumSchedulers = erlang:system_info(schedulers),
- SpawnWorker = fun(_) ->
- erlang:spawn_link(fun() -> worker_loop(Parent, Out) end)
- end,
- lists:foreach(SpawnWorker, lists:seq(1, NumSchedulers)),
- NumSchedulers.
-
-worker_loop(Parent, Out) ->
- Options = [report_errors, report_warnings, debug_info, {outdir, Out}],
- erlang:send(Parent, {work_please, self()}),
- receive
- {module, Module} ->
- log({compiling, Module}),
- case compile:file(Module, Options) of
- {ok, ModuleName} ->
- Beam = filename:join(Out, ModuleName) ++ ".beam",
- Message = {compiled, Beam},
- log(Message),
- erlang:send(Parent, Message);
- error ->
- log({failed, Module}),
- erlang:send(Parent, failed)
- end,
- worker_loop(Parent, Out)
- end.
-
-compile_elixir(Modules, Out) ->
- Error = [
- "The program elixir was not found. Is it installed?",
- $\n,
- "Documentation for installing Elixir can be viewed here:",
- $\n,
- "https://elixir-lang.org/install.html"
- ],
- case Modules of
- [] -> {true, []};
- _ ->
- log({starting, "compiler.app"}),
- ok = application:start(compiler),
- log({starting, "elixir.app"}),
- case application:start(elixir) of
- ok -> do_compile_elixir(Modules, Out);
- _ ->
- io:put_chars(standard_error, [Error, $\n]),
- {false, []}
- end
- end.
-
-do_compile_elixir(Modules, Out) ->
- ModuleBins = lists:map(fun(Module) ->
- log({compiling, Module}),
- list_to_binary(Module)
- end, Modules),
- OutBin = list_to_binary(Out),
- Options = [{dest, OutBin}],
- % Silence "redefining module" warnings.
- % Compiled modules in the build directory are added to the code path.
- % These warnings result from recompiling loaded modules.
- % TODO: This line can likely be removed if/when the build directory is cleaned before every compilation.
- 'Elixir.Code':compiler_options([{ignore_module_conflict, true}]),
- case 'Elixir.Kernel.ParallelCompiler':compile_to_path(ModuleBins, OutBin, Options) of
- {ok, ModuleAtoms, _} ->
- ToBeam = fun(ModuleAtom) ->
- Beam = filename:join(Out, atom_to_list(ModuleAtom)) ++ ".beam",
- log({compiled, Beam}),
- Beam
- end,
- {true, lists:map(ToBeam, ModuleAtoms)};
- {error, Errors, _} ->
- % Log all filenames associated with modules that failed to compile.
- % Note: The compiler prints compilation errors upon encountering them.
- ErrorFiles = lists:usort([File || {File, _, _} <- Errors]),
- Log = fun(File) ->
- log({failed, binary_to_list(File)})
- end,
- lists:foreach(Log, ErrorFiles),
- {false, []};
- _ -> {false, []}
- end.
-
-add_lib_to_erlang_path(Lib) ->
- code:add_paths(filelib:wildcard([Lib, "/*/ebin"])).
-
-parse(Args) ->
- parse(Args, #arguments{}).
-
-parse([], Arguments) ->
- Arguments;
-parse(["--lib", Lib | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{lib = Lib});
-parse(["--out", Out | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{out = Out});
-parse([Module | Rest], Arguments = #arguments{modules = Modules}) ->
- parse(Rest, Arguments#arguments{modules = [Module | Modules]}).
-
-configure_logging() ->
- Enabled = os:getenv("GLEAM_LOG") /= false,
- persistent_term:put(gleam_logging_enabled, Enabled).
-
-log(Term) ->
- case persistent_term:get(gleam_logging_enabled) of
- true -> erlang:display(Term), ok;
- false -> ok
- end.
diff --git a/aoc2023/build/dev/erlang/tom/_gleam_artefacts/tom.cache b/aoc2023/build/dev/erlang/tom/_gleam_artefacts/tom.cache
deleted file mode 100644
index 036c033..0000000
--- a/aoc2023/build/dev/erlang/tom/_gleam_artefacts/tom.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/tom/_gleam_artefacts/tom.cache_meta b/aoc2023/build/dev/erlang/tom/_gleam_artefacts/tom.cache_meta
deleted file mode 100644
index 492599b..0000000
--- a/aoc2023/build/dev/erlang/tom/_gleam_artefacts/tom.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/tom/_gleam_artefacts/tom.erl b/aoc2023/build/dev/erlang/tom/_gleam_artefacts/tom.erl
deleted file mode 100644
index 0429a31..0000000
--- a/aoc2023/build/dev/erlang/tom/_gleam_artefacts/tom.erl
+++ /dev/null
@@ -1,2142 +0,0 @@
--module(tom).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([get/2, get_int/2, get_float/2, get_bool/2, get_string/2, get_date/2, get_time/2, get_date_time/2, get_array/2, get_table/2, get_number/2, parse/1]).
--export_type([toml/0, date_time/0, date/0, time/0, offset/0, sign/0, parse_error/0, number_/0, get_error/0]).
-
--type toml() :: {int, integer()} |
- {float, float()} |
- {infinity, sign()} |
- {nan, sign()} |
- {bool, boolean()} |
- {string, binary()} |
- {date, date()} |
- {time, time()} |
- {date_time, date_time()} |
- {array, list(toml())} |
- {array_of_tables, list(gleam@dict:dict(binary(), toml()))} |
- {table, gleam@dict:dict(binary(), toml())} |
- {inline_table, gleam@dict:dict(binary(), toml())}.
-
--type date_time() :: {date_time_value, date(), time(), offset()}.
-
--type date() :: {date_value, integer(), integer(), integer()}.
-
--type time() :: {time_value, integer(), integer(), integer(), integer()}.
-
--type offset() :: local | {offset, sign(), integer(), integer()}.
-
--type sign() :: positive | negative.
-
--type parse_error() :: {unexpected, binary(), binary()} |
- {key_already_in_use, list(binary())}.
-
--type number_() :: {number_int, integer()} |
- {number_float, float()} |
- {number_infinity, sign()} |
- {number_nan, sign()}.
-
--type get_error() :: {not_found, list(binary())} |
- {wrong_type, list(binary()), binary(), binary()}.
-
--spec classify(toml()) -> binary().
-classify(Toml) ->
- case Toml of
- {int, _} ->
- <<"Int"/utf8>>;
-
- {float, _} ->
- <<"Float"/utf8>>;
-
- {nan, positive} ->
- <<"NaN"/utf8>>;
-
- {nan, negative} ->
- <<"Negative NaN"/utf8>>;
-
- {infinity, positive} ->
- <<"Infinity"/utf8>>;
-
- {infinity, negative} ->
- <<"Negative Infinity"/utf8>>;
-
- {bool, _} ->
- <<"Bool"/utf8>>;
-
- {string, _} ->
- <<"String"/utf8>>;
-
- {date, _} ->
- <<"Date"/utf8>>;
-
- {time, _} ->
- <<"Time"/utf8>>;
-
- {date_time, _} ->
- <<"DateTime"/utf8>>;
-
- {array, _} ->
- <<"Array"/utf8>>;
-
- {array_of_tables, _} ->
- <<"Array"/utf8>>;
-
- {table, _} ->
- <<"Table"/utf8>>;
-
- {inline_table, _} ->
- <<"Table"/utf8>>
- end.
-
--spec push_key({ok, KFC} | {error, get_error()}, binary()) -> {ok, KFC} |
- {error, get_error()}.
-push_key(Result, Key) ->
- case Result of
- {ok, T} ->
- {ok, T};
-
- {error, {not_found, Path}} ->
- {error, {not_found, [Key | Path]}};
-
- {error, {wrong_type, Path@1, Expected, Got}} ->
- {error, {wrong_type, [Key | Path@1], Expected, Got}}
- end.
-
--spec get(gleam@dict:dict(binary(), toml()), list(binary())) -> {ok, toml()} |
- {error, get_error()}.
-get(Toml, Key) ->
- case Key of
- [] ->
- {error, {not_found, []}};
-
- [K] ->
- gleam@result:replace_error(gleam@map:get(Toml, K), {not_found, [K]});
-
- [K@1 | Key@1] ->
- case gleam@map:get(Toml, K@1) of
- {ok, {table, T}} ->
- push_key(get(T, Key@1), K@1);
-
- {ok, Other} ->
- {error,
- {wrong_type, [K@1], <<"Table"/utf8>>, classify(Other)}};
-
- {error, _} ->
- {error, {not_found, [K@1]}}
- end
- end.
-
--spec get_int(gleam@dict:dict(binary(), toml()), list(binary())) -> {ok,
- integer()} |
- {error, get_error()}.
-get_int(Toml, Key) ->
- case get(Toml, Key) of
- {ok, {int, I}} ->
- {ok, I};
-
- {ok, Other} ->
- {error, {wrong_type, Key, <<"Int"/utf8>>, classify(Other)}};
-
- {error, E} ->
- {error, E}
- end.
-
--spec get_float(gleam@dict:dict(binary(), toml()), list(binary())) -> {ok,
- float()} |
- {error, get_error()}.
-get_float(Toml, Key) ->
- case get(Toml, Key) of
- {ok, {float, I}} ->
- {ok, I};
-
- {ok, Other} ->
- {error, {wrong_type, Key, <<"Float"/utf8>>, classify(Other)}};
-
- {error, E} ->
- {error, E}
- end.
-
--spec get_bool(gleam@dict:dict(binary(), toml()), list(binary())) -> {ok,
- boolean()} |
- {error, get_error()}.
-get_bool(Toml, Key) ->
- case get(Toml, Key) of
- {ok, {bool, I}} ->
- {ok, I};
-
- {ok, Other} ->
- {error, {wrong_type, Key, <<"Bool"/utf8>>, classify(Other)}};
-
- {error, E} ->
- {error, E}
- end.
-
--spec get_string(gleam@dict:dict(binary(), toml()), list(binary())) -> {ok,
- binary()} |
- {error, get_error()}.
-get_string(Toml, Key) ->
- case get(Toml, Key) of
- {ok, {string, I}} ->
- {ok, I};
-
- {ok, Other} ->
- {error, {wrong_type, Key, <<"String"/utf8>>, classify(Other)}};
-
- {error, E} ->
- {error, E}
- end.
-
--spec get_date(gleam@dict:dict(binary(), toml()), list(binary())) -> {ok,
- date()} |
- {error, get_error()}.
-get_date(Toml, Key) ->
- case get(Toml, Key) of
- {ok, {date, I}} ->
- {ok, I};
-
- {ok, Other} ->
- {error, {wrong_type, Key, <<"Date"/utf8>>, classify(Other)}};
-
- {error, E} ->
- {error, E}
- end.
-
--spec get_time(gleam@dict:dict(binary(), toml()), list(binary())) -> {ok,
- time()} |
- {error, get_error()}.
-get_time(Toml, Key) ->
- case get(Toml, Key) of
- {ok, {time, I}} ->
- {ok, I};
-
- {ok, Other} ->
- {error, {wrong_type, Key, <<"Time"/utf8>>, classify(Other)}};
-
- {error, E} ->
- {error, E}
- end.
-
--spec get_date_time(gleam@dict:dict(binary(), toml()), list(binary())) -> {ok,
- date_time()} |
- {error, get_error()}.
-get_date_time(Toml, Key) ->
- case get(Toml, Key) of
- {ok, {date_time, I}} ->
- {ok, I};
-
- {ok, Other} ->
- {error, {wrong_type, Key, <<"DateTime"/utf8>>, classify(Other)}};
-
- {error, E} ->
- {error, E}
- end.
-
--spec get_array(gleam@dict:dict(binary(), toml()), list(binary())) -> {ok,
- list(toml())} |
- {error, get_error()}.
-get_array(Toml, Key) ->
- case get(Toml, Key) of
- {ok, {array, I}} ->
- {ok, I};
-
- {ok, {array_of_tables, I@1}} ->
- {ok, gleam@list:map(I@1, fun(Field@0) -> {table, Field@0} end)};
-
- {ok, Other} ->
- {error, {wrong_type, Key, <<"Array"/utf8>>, classify(Other)}};
-
- {error, E} ->
- {error, E}
- end.
-
--spec get_table(gleam@dict:dict(binary(), toml()), list(binary())) -> {ok,
- gleam@dict:dict(binary(), toml())} |
- {error, get_error()}.
-get_table(Toml, Key) ->
- case get(Toml, Key) of
- {ok, {table, I}} ->
- {ok, I};
-
- {ok, {inline_table, I@1}} ->
- {ok, I@1};
-
- {ok, Other} ->
- {error, {wrong_type, Key, <<"Table"/utf8>>, classify(Other)}};
-
- {error, E} ->
- {error, E}
- end.
-
--spec get_number(gleam@dict:dict(binary(), toml()), list(binary())) -> {ok,
- number_()} |
- {error, get_error()}.
-get_number(Toml, Key) ->
- case get(Toml, Key) of
- {ok, {int, X}} ->
- {ok, {number_int, X}};
-
- {ok, {float, X@1}} ->
- {ok, {number_float, X@1}};
-
- {ok, {nan, X@2}} ->
- {ok, {number_nan, X@2}};
-
- {ok, {infinity, X@3}} ->
- {ok, {number_infinity, X@3}};
-
- {ok, Other} ->
- {error, {wrong_type, Key, <<"Number"/utf8>>, classify(Other)}};
-
- {error, E} ->
- {error, E}
- end.
-
--spec merge(gleam@dict:dict(binary(), toml()), binary(), toml(), toml()) -> {ok,
- gleam@dict:dict(binary(), toml())} |
- {error, list(binary())}.
-merge(Table, Key, Old, New) ->
- case {Old, New} of
- {{array_of_tables, Tables}, {array_of_tables, New@1}} ->
- {ok,
- gleam@map:insert(
- Table,
- Key,
- {array_of_tables, gleam@list:append(New@1, Tables)}
- )};
-
- {_, _} ->
- {error, [Key]}
- end.
-
--spec insert_loop(gleam@dict:dict(binary(), toml()), list(binary()), toml()) -> {ok,
- gleam@dict:dict(binary(), toml())} |
- {error, list(binary())}.
-insert_loop(Table, Key, Value) ->
- case Key of
- [] ->
- erlang:error(#{gleam_error => panic,
- message => <<"unreachable"/utf8>>,
- module => <<"tom"/utf8>>,
- function => <<"insert_loop"/utf8>>,
- line => 511});
-
- [K] ->
- case gleam@map:get(Table, K) of
- {error, nil} ->
- {ok, gleam@map:insert(Table, K, Value)};
-
- {ok, Old} ->
- merge(Table, K, Old, Value)
- end;
-
- [K@1 | Key@1] ->
- case gleam@map:get(Table, K@1) of
- {error, nil} ->
- case insert_loop(gleam@map:new(), Key@1, Value) of
- {ok, Inner} ->
- {ok, gleam@map:insert(Table, K@1, {table, Inner})};
-
- {error, Path} ->
- {error, [K@1 | Path]}
- end;
-
- {ok, {array_of_tables, [Inner@1 | Rest]}} ->
- case insert_loop(Inner@1, Key@1, Value) of
- {ok, Inner@2} ->
- {ok,
- gleam@map:insert(
- Table,
- K@1,
- {array_of_tables, [Inner@2 | Rest]}
- )};
-
- {error, Path@1} ->
- {error, [K@1 | Path@1]}
- end;
-
- {ok, {table, Inner@3}} ->
- case insert_loop(Inner@3, Key@1, Value) of
- {ok, Inner@4} ->
- {ok, gleam@map:insert(Table, K@1, {table, Inner@4})};
-
- {error, Path@2} ->
- {error, [K@1 | Path@2]}
- end;
-
- {ok, _} ->
- {error, [K@1]}
- end
- end.
-
--spec insert(gleam@dict:dict(binary(), toml()), list(binary()), toml()) -> {ok,
- gleam@dict:dict(binary(), toml())} |
- {error, parse_error()}.
-insert(Table, Key, Value) ->
- case insert_loop(Table, Key, Value) of
- {ok, Table@1} ->
- {ok, Table@1};
-
- {error, Path} ->
- {error, {key_already_in_use, Path}}
- end.
-
--spec expect_end_of_line(
- list(binary()),
- fun((list(binary())) -> {ok, {KHH, list(binary())}} | {error, parse_error()})
-) -> {ok, {KHH, list(binary())}} | {error, parse_error()}.
-expect_end_of_line(Input, Next) ->
- case Input of
- [<<"\n"/utf8>> | Input@1] ->
- Next(Input@1);
-
- [<<"\r\n"/utf8>> | Input@2] ->
- Next(Input@2);
-
- [G | _] ->
- {error, {unexpected, G, <<"\n"/utf8>>}};
-
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, <<"\n"/utf8>>}}
- end.
-
--spec parse_key_quoted(list(binary()), binary(), binary()) -> {ok,
- {binary(), list(binary())}} |
- {error, parse_error()}.
-parse_key_quoted(Input, Close, Name) ->
- case Input of
- [G | Input@1] when G =:= Close ->
- {ok, {Name, Input@1}};
-
- [G@1 | Input@2] ->
- parse_key_quoted(Input@2, Close, <<Name/binary, G@1/binary>>);
-
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, Close}}
- end.
-
--spec parse_key_bare(list(binary()), binary()) -> {ok,
- {binary(), list(binary())}} |
- {error, parse_error()}.
-parse_key_bare(Input, Name) ->
- case Input of
- [<<" "/utf8>> | Input@1] when Name =/= <<""/utf8>> ->
- {ok, {Name, Input@1}};
-
- [<<"="/utf8>> | _] when Name =/= <<""/utf8>> ->
- {ok, {Name, Input}};
-
- [<<"."/utf8>> | _] when Name =/= <<""/utf8>> ->
- {ok, {Name, Input}};
-
- [<<"]"/utf8>> | _] when Name =/= <<""/utf8>> ->
- {ok, {Name, Input}};
-
- [<<","/utf8>> | _] when Name =/= <<""/utf8>> ->
- {error, {unexpected, <<","/utf8>>, <<"="/utf8>>}};
-
- [<<"\n"/utf8>> | _] when Name =/= <<""/utf8>> ->
- {error, {unexpected, <<"\n"/utf8>>, <<"="/utf8>>}};
-
- [<<"\r\n"/utf8>> | _] when Name =/= <<""/utf8>> ->
- {error, {unexpected, <<"\r\n"/utf8>>, <<"="/utf8>>}};
-
- [<<"\n"/utf8>> | _] ->
- {error, {unexpected, <<"\n"/utf8>>, <<"key"/utf8>>}};
-
- [<<"\r\n"/utf8>> | _] ->
- {error, {unexpected, <<"\r\n"/utf8>>, <<"key"/utf8>>}};
-
- [<<"]"/utf8>> | _] ->
- {error, {unexpected, <<"]"/utf8>>, <<"key"/utf8>>}};
-
- [<<","/utf8>> | _] ->
- {error, {unexpected, <<","/utf8>>, <<"key"/utf8>>}};
-
- [G | Input@2] ->
- parse_key_bare(Input@2, <<Name/binary, G/binary>>);
-
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, <<"key"/utf8>>}}
- end.
-
--spec skip_line_whitespace(list(binary())) -> list(binary()).
-skip_line_whitespace(Input) ->
- gleam@list:drop_while(
- Input,
- fun(G) -> (G =:= <<" "/utf8>>) orelse (G =:= <<"\t"/utf8>>) end
- ).
-
--spec parse_key_segment(list(binary())) -> {ok, {binary(), list(binary())}} |
- {error, parse_error()}.
-parse_key_segment(Input) ->
- Input@1 = skip_line_whitespace(Input),
- case Input@1 of
- [<<"="/utf8>> | _] ->
- {error, {unexpected, <<"="/utf8>>, <<"Key"/utf8>>}};
-
- [<<"\n"/utf8>> | _] ->
- {error, {unexpected, <<"\n"/utf8>>, <<"Key"/utf8>>}};
-
- [<<"\r\n"/utf8>> | _] ->
- {error, {unexpected, <<"\r\n"/utf8>>, <<"Key"/utf8>>}};
-
- [<<"["/utf8>> | _] ->
- {error, {unexpected, <<"["/utf8>>, <<"Key"/utf8>>}};
-
- [<<"\""/utf8>> | Input@2] ->
- parse_key_quoted(Input@2, <<"\""/utf8>>, <<""/utf8>>);
-
- [<<"'"/utf8>> | Input@3] ->
- parse_key_quoted(Input@3, <<"'"/utf8>>, <<""/utf8>>);
-
- _ ->
- parse_key_bare(Input@1, <<""/utf8>>)
- end.
-
--spec skip_whitespace(list(binary())) -> list(binary()).
-skip_whitespace(Input) ->
- case Input of
- [<<" "/utf8>> | Input@1] ->
- skip_whitespace(Input@1);
-
- [<<"\t"/utf8>> | Input@2] ->
- skip_whitespace(Input@2);
-
- [<<"\n"/utf8>> | Input@3] ->
- skip_whitespace(Input@3);
-
- [<<"\r\n"/utf8>> | Input@4] ->
- skip_whitespace(Input@4);
-
- Input@5 ->
- Input@5
- end.
-
--spec drop_comments(list(binary()), list(binary())) -> list(binary()).
-drop_comments(Input, Acc) ->
- case Input of
- [<<"#"/utf8>> | Input@1] ->
- _pipe = Input@1,
- _pipe@1 = gleam@list:drop_while(
- _pipe,
- fun(G) -> G /= <<"\n"/utf8>> end
- ),
- drop_comments(_pipe@1, Acc);
-
- [G@1 | Input@2] ->
- drop_comments(Input@2, [G@1 | Acc]);
-
- [] ->
- gleam@list:reverse(Acc)
- end.
-
--spec do(
- {ok, {KHS, list(binary())}} | {error, parse_error()},
- fun((KHS, list(binary())) -> {ok, KHV} | {error, parse_error()})
-) -> {ok, KHV} | {error, parse_error()}.
-do(Result, Next) ->
- case Result of
- {ok, {A, Input}} ->
- Next(A, Input);
-
- {error, E} ->
- {error, E}
- end.
-
--spec parse_key(list(binary()), list(binary())) -> {ok,
- {list(binary()), list(binary())}} |
- {error, parse_error()}.
-parse_key(Input, Segments) ->
- do(
- parse_key_segment(Input),
- fun(Segment, Input@1) ->
- Segments@1 = [Segment | Segments],
- Input@2 = skip_line_whitespace(Input@1),
- case Input@2 of
- [<<"."/utf8>> | Input@3] ->
- parse_key(Input@3, Segments@1);
-
- _ ->
- {ok, {gleam@list:reverse(Segments@1), Input@2}}
- end
- end
- ).
-
--spec expect(
- list(binary()),
- binary(),
- fun((list(binary())) -> {ok, {KIA, list(binary())}} | {error, parse_error()})
-) -> {ok, {KIA, list(binary())}} | {error, parse_error()}.
-expect(Input, Expected, Next) ->
- case Input of
- [G | Input@1] when G =:= Expected ->
- Next(Input@1);
-
- [G@1 | _] ->
- {error, {unexpected, G@1, Expected}};
-
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, Expected}}
- end.
-
--spec parse_table_header(list(binary())) -> {ok,
- {list(binary()), list(binary())}} |
- {error, parse_error()}.
-parse_table_header(Input) ->
- Input@1 = skip_line_whitespace(Input),
- do(
- parse_key(Input@1, []),
- fun(Key, Input@2) ->
- expect(
- Input@2,
- <<"]"/utf8>>,
- fun(Input@3) ->
- Input@4 = skip_line_whitespace(Input@3),
- expect_end_of_line(
- Input@4,
- fun(Input@5) -> {ok, {Key, Input@5}} end
- )
- end
- )
- end
- ).
-
--spec parse_hex(list(binary()), integer(), sign()) -> {ok,
- {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_hex(Input, Number, Sign) ->
- case Input of
- [<<"_"/utf8>> | Input@1] ->
- parse_hex(Input@1, Number, Sign);
-
- [<<"0"/utf8>> | Input@2] ->
- parse_hex(Input@2, (Number * 16) + 0, Sign);
-
- [<<"1"/utf8>> | Input@3] ->
- parse_hex(Input@3, (Number * 16) + 1, Sign);
-
- [<<"2"/utf8>> | Input@4] ->
- parse_hex(Input@4, (Number * 16) + 2, Sign);
-
- [<<"3"/utf8>> | Input@5] ->
- parse_hex(Input@5, (Number * 16) + 3, Sign);
-
- [<<"4"/utf8>> | Input@6] ->
- parse_hex(Input@6, (Number * 16) + 4, Sign);
-
- [<<"5"/utf8>> | Input@7] ->
- parse_hex(Input@7, (Number * 16) + 5, Sign);
-
- [<<"6"/utf8>> | Input@8] ->
- parse_hex(Input@8, (Number * 16) + 6, Sign);
-
- [<<"7"/utf8>> | Input@9] ->
- parse_hex(Input@9, (Number * 16) + 7, Sign);
-
- [<<"8"/utf8>> | Input@10] ->
- parse_hex(Input@10, (Number * 16) + 8, Sign);
-
- [<<"9"/utf8>> | Input@11] ->
- parse_hex(Input@11, (Number * 16) + 9, Sign);
-
- [<<"a"/utf8>> | Input@12] ->
- parse_hex(Input@12, (Number * 16) + 10, Sign);
-
- [<<"b"/utf8>> | Input@13] ->
- parse_hex(Input@13, (Number * 16) + 11, Sign);
-
- [<<"c"/utf8>> | Input@14] ->
- parse_hex(Input@14, (Number * 16) + 12, Sign);
-
- [<<"d"/utf8>> | Input@15] ->
- parse_hex(Input@15, (Number * 16) + 13, Sign);
-
- [<<"e"/utf8>> | Input@16] ->
- parse_hex(Input@16, (Number * 16) + 14, Sign);
-
- [<<"f"/utf8>> | Input@17] ->
- parse_hex(Input@17, (Number * 16) + 15, Sign);
-
- [<<"A"/utf8>> | Input@18] ->
- parse_hex(Input@18, (Number * 16) + 10, Sign);
-
- [<<"B"/utf8>> | Input@19] ->
- parse_hex(Input@19, (Number * 16) + 11, Sign);
-
- [<<"C"/utf8>> | Input@20] ->
- parse_hex(Input@20, (Number * 16) + 12, Sign);
-
- [<<"D"/utf8>> | Input@21] ->
- parse_hex(Input@21, (Number * 16) + 13, Sign);
-
- [<<"E"/utf8>> | Input@22] ->
- parse_hex(Input@22, (Number * 16) + 14, Sign);
-
- [<<"F"/utf8>> | Input@23] ->
- parse_hex(Input@23, (Number * 16) + 15, Sign);
-
- Input@24 ->
- Number@1 = case Sign of
- positive ->
- Number;
-
- negative ->
- - Number
- end,
- {ok, {{int, Number@1}, Input@24}}
- end.
-
--spec parse_octal(list(binary()), integer(), sign()) -> {ok,
- {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_octal(Input, Number, Sign) ->
- case Input of
- [<<"_"/utf8>> | Input@1] ->
- parse_octal(Input@1, Number, Sign);
-
- [<<"0"/utf8>> | Input@2] ->
- parse_octal(Input@2, (Number * 8) + 0, Sign);
-
- [<<"1"/utf8>> | Input@3] ->
- parse_octal(Input@3, (Number * 8) + 1, Sign);
-
- [<<"2"/utf8>> | Input@4] ->
- parse_octal(Input@4, (Number * 8) + 2, Sign);
-
- [<<"3"/utf8>> | Input@5] ->
- parse_octal(Input@5, (Number * 8) + 3, Sign);
-
- [<<"4"/utf8>> | Input@6] ->
- parse_octal(Input@6, (Number * 8) + 4, Sign);
-
- [<<"5"/utf8>> | Input@7] ->
- parse_octal(Input@7, (Number * 8) + 5, Sign);
-
- [<<"6"/utf8>> | Input@8] ->
- parse_octal(Input@8, (Number * 8) + 6, Sign);
-
- [<<"7"/utf8>> | Input@9] ->
- parse_octal(Input@9, (Number * 8) + 7, Sign);
-
- Input@10 ->
- Number@1 = case Sign of
- positive ->
- Number;
-
- negative ->
- - Number
- end,
- {ok, {{int, Number@1}, Input@10}}
- end.
-
--spec parse_binary(list(binary()), integer(), sign()) -> {ok,
- {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_binary(Input, Number, Sign) ->
- case Input of
- [<<"_"/utf8>> | Input@1] ->
- parse_binary(Input@1, Number, Sign);
-
- [<<"0"/utf8>> | Input@2] ->
- parse_binary(Input@2, (Number * 2) + 0, Sign);
-
- [<<"1"/utf8>> | Input@3] ->
- parse_binary(Input@3, (Number * 2) + 1, Sign);
-
- Input@4 ->
- Number@1 = case Sign of
- positive ->
- Number;
-
- negative ->
- - Number
- end,
- {ok, {{int, Number@1}, Input@4}}
- end.
-
--spec parse_exponent(list(binary()), float(), sign(), integer(), sign()) -> {ok,
- {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_exponent(Input, N, N_sign, Ex, Ex_sign) ->
- case Input of
- [<<"_"/utf8>> | Input@1] ->
- parse_exponent(Input@1, N, N_sign, Ex, Ex_sign);
-
- [<<"0"/utf8>> | Input@2] ->
- parse_exponent(Input@2, N, N_sign, Ex * 10, Ex_sign);
-
- [<<"1"/utf8>> | Input@3] ->
- parse_exponent(Input@3, N, N_sign, (Ex * 10) + 1, Ex_sign);
-
- [<<"2"/utf8>> | Input@4] ->
- parse_exponent(Input@4, N, N_sign, (Ex * 10) + 2, Ex_sign);
-
- [<<"3"/utf8>> | Input@5] ->
- parse_exponent(Input@5, N, N_sign, (Ex * 10) + 3, Ex_sign);
-
- [<<"4"/utf8>> | Input@6] ->
- parse_exponent(Input@6, N, N_sign, (Ex * 10) + 4, Ex_sign);
-
- [<<"5"/utf8>> | Input@7] ->
- parse_exponent(Input@7, N, N_sign, (Ex * 10) + 5, Ex_sign);
-
- [<<"6"/utf8>> | Input@8] ->
- parse_exponent(Input@8, N, N_sign, (Ex * 10) + 6, Ex_sign);
-
- [<<"7"/utf8>> | Input@9] ->
- parse_exponent(Input@9, N, N_sign, (Ex * 10) + 7, Ex_sign);
-
- [<<"8"/utf8>> | Input@10] ->
- parse_exponent(Input@10, N, N_sign, (Ex * 10) + 8, Ex_sign);
-
- [<<"9"/utf8>> | Input@11] ->
- parse_exponent(Input@11, N, N_sign, (Ex * 10) + 9, Ex_sign);
-
- Input@12 ->
- Number = case N_sign of
- positive ->
- N;
-
- negative ->
- N * -1.0
- end,
- Exponent = gleam@int:to_float(case Ex_sign of
- positive ->
- Ex;
-
- negative ->
- - Ex
- end),
- Multiplier@1 = case gleam@float:power(10.0, Exponent) of
- {ok, Multiplier} ->
- Multiplier;
-
- {error, _} ->
- 1.0
- end,
- {ok, {{float, Number * Multiplier@1}, Input@12}}
- end.
-
--spec parse_float(list(binary()), float(), sign(), float()) -> {ok,
- {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_float(Input, Number, Sign, Unit) ->
- case Input of
- [<<"_"/utf8>> | Input@1] ->
- parse_float(Input@1, Number, Sign, Unit);
-
- [<<"0"/utf8>> | Input@2] ->
- parse_float(Input@2, Number, Sign, Unit * 0.1);
-
- [<<"1"/utf8>> | Input@3] ->
- parse_float(Input@3, Number + (1.0 * Unit), Sign, Unit * 0.1);
-
- [<<"2"/utf8>> | Input@4] ->
- parse_float(Input@4, Number + (2.0 * Unit), Sign, Unit * 0.1);
-
- [<<"3"/utf8>> | Input@5] ->
- parse_float(Input@5, Number + (3.0 * Unit), Sign, Unit * 0.1);
-
- [<<"4"/utf8>> | Input@6] ->
- parse_float(Input@6, Number + (4.0 * Unit), Sign, Unit * 0.1);
-
- [<<"5"/utf8>> | Input@7] ->
- parse_float(Input@7, Number + (5.0 * Unit), Sign, Unit * 0.1);
-
- [<<"6"/utf8>> | Input@8] ->
- parse_float(Input@8, Number + (6.0 * Unit), Sign, Unit * 0.1);
-
- [<<"7"/utf8>> | Input@9] ->
- parse_float(Input@9, Number + (7.0 * Unit), Sign, Unit * 0.1);
-
- [<<"8"/utf8>> | Input@10] ->
- parse_float(Input@10, Number + (8.0 * Unit), Sign, Unit * 0.1);
-
- [<<"9"/utf8>> | Input@11] ->
- parse_float(Input@11, Number + (9.0 * Unit), Sign, Unit * 0.1);
-
- [<<"e"/utf8>>, <<"+"/utf8>> | Input@12] ->
- parse_exponent(Input@12, Number, Sign, 0, positive);
-
- [<<"e"/utf8>>, <<"-"/utf8>> | Input@13] ->
- parse_exponent(Input@13, Number, Sign, 0, negative);
-
- [<<"e"/utf8>> | Input@14] ->
- parse_exponent(Input@14, Number, Sign, 0, positive);
-
- [<<"E"/utf8>>, <<"+"/utf8>> | Input@15] ->
- parse_exponent(Input@15, Number, Sign, 0, positive);
-
- [<<"E"/utf8>>, <<"-"/utf8>> | Input@16] ->
- parse_exponent(Input@16, Number, Sign, 0, negative);
-
- [<<"E"/utf8>> | Input@17] ->
- parse_exponent(Input@17, Number, Sign, 0, positive);
-
- Input@18 ->
- Number@1 = case Sign of
- positive ->
- Number;
-
- negative ->
- Number * -1.0
- end,
- {ok, {{float, Number@1}, Input@18}}
- end.
-
--spec parse_string(list(binary()), binary()) -> {ok, {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_string(Input, String) ->
- case Input of
- [<<"\""/utf8>> | Input@1] ->
- {ok, {{string, String}, Input@1}};
-
- [<<"\\"/utf8>>, <<"t"/utf8>> | Input@2] ->
- parse_string(Input@2, <<String/binary, "\t"/utf8>>);
-
- [<<"\\"/utf8>>, <<"n"/utf8>> | Input@3] ->
- parse_string(Input@3, <<String/binary, "\n"/utf8>>);
-
- [<<"\\"/utf8>>, <<"r"/utf8>> | Input@4] ->
- parse_string(Input@4, <<String/binary, "\r"/utf8>>);
-
- [<<"\\"/utf8>>, <<"\""/utf8>> | Input@5] ->
- parse_string(Input@5, <<String/binary, "\""/utf8>>);
-
- [<<"\\"/utf8>>, <<"\\"/utf8>> | Input@6] ->
- parse_string(Input@6, <<String/binary, "\\"/utf8>>);
-
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, <<"\""/utf8>>}};
-
- [<<"\n"/utf8>> | _] ->
- {error, {unexpected, <<"\n"/utf8>>, <<"\""/utf8>>}};
-
- [<<"\r\n"/utf8>> | _] ->
- {error, {unexpected, <<"\r\n"/utf8>>, <<"\""/utf8>>}};
-
- [G | Input@7] ->
- parse_string(Input@7, <<String/binary, G/binary>>)
- end.
-
--spec parse_multi_line_string(list(binary()), binary()) -> {ok,
- {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_multi_line_string(Input, String) ->
- case Input of
- [<<"\""/utf8>>, <<"\""/utf8>>, <<"\""/utf8>> | Input@1] ->
- {ok, {{string, String}, Input@1}};
-
- [<<"\\"/utf8>>, <<"\n"/utf8>> | Input@2] ->
- parse_multi_line_string(skip_whitespace(Input@2), String);
-
- [<<"\\"/utf8>>, <<"\r\n"/utf8>> | Input@3] ->
- parse_multi_line_string(skip_whitespace(Input@3), String);
-
- [<<"\r\n"/utf8>> | Input@4] when String =:= <<""/utf8>> ->
- parse_multi_line_string(Input@4, String);
-
- [<<"\n"/utf8>> | Input@5] when String =:= <<""/utf8>> ->
- parse_multi_line_string(Input@5, String);
-
- [<<"\r\n"/utf8>> | Input@6] when String =:= <<""/utf8>> ->
- parse_multi_line_string(Input@6, String);
-
- [<<"\\"/utf8>>, <<"t"/utf8>> | Input@7] ->
- parse_multi_line_string(Input@7, <<String/binary, "\t"/utf8>>);
-
- [<<"\\"/utf8>>, <<"n"/utf8>> | Input@8] ->
- parse_multi_line_string(Input@8, <<String/binary, "\n"/utf8>>);
-
- [<<"\\"/utf8>>, <<"r"/utf8>> | Input@9] ->
- parse_multi_line_string(Input@9, <<String/binary, "\r"/utf8>>);
-
- [<<"\\"/utf8>>, <<"\""/utf8>> | Input@10] ->
- parse_multi_line_string(Input@10, <<String/binary, "\""/utf8>>);
-
- [<<"\\"/utf8>>, <<"\\"/utf8>> | Input@11] ->
- parse_multi_line_string(Input@11, <<String/binary, "\\"/utf8>>);
-
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, <<"\""/utf8>>}};
-
- [G | Input@12] ->
- parse_multi_line_string(Input@12, <<String/binary, G/binary>>)
- end.
-
--spec parse_multi_line_literal_string(list(binary()), binary()) -> {ok,
- {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_multi_line_literal_string(Input, String) ->
- case Input of
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, <<"\""/utf8>>}};
-
- [<<"'"/utf8>>, <<"'"/utf8>>, <<"'"/utf8>>, <<"'"/utf8>> | _] ->
- {error, {unexpected, <<"''''"/utf8>>, <<"'''"/utf8>>}};
-
- [<<"'"/utf8>>, <<"'"/utf8>>, <<"'"/utf8>> | Input@1] ->
- {ok, {{string, String}, Input@1}};
-
- [<<"\n"/utf8>> | Input@2] when String =:= <<""/utf8>> ->
- parse_multi_line_literal_string(Input@2, String);
-
- [<<"\r\n"/utf8>> | Input@3] when String =:= <<""/utf8>> ->
- parse_multi_line_literal_string(Input@3, String);
-
- [G | Input@4] ->
- parse_multi_line_literal_string(
- Input@4,
- <<String/binary, G/binary>>
- )
- end.
-
--spec parse_literal_string(list(binary()), binary()) -> {ok,
- {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_literal_string(Input, String) ->
- case Input of
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, <<"\""/utf8>>}};
-
- [<<"\n"/utf8>> | _] ->
- {error, {unexpected, <<"\n"/utf8>>, <<"'"/utf8>>}};
-
- [<<"\r\n"/utf8>> | _] ->
- {error, {unexpected, <<"\r\n"/utf8>>, <<"'"/utf8>>}};
-
- [<<"'"/utf8>> | Input@1] ->
- {ok, {{string, String}, Input@1}};
-
- [G | Input@2] ->
- parse_literal_string(Input@2, <<String/binary, G/binary>>)
- end.
-
--spec parse_time_ms(list(binary()), integer(), integer()) -> {ok,
- {{integer(), integer()}, list(binary())}} |
- {error, parse_error()}.
-parse_time_ms(Input, Seconds, Ms) ->
- case Input of
- [<<"0"/utf8>> | Input@1] when Ms < 100000 ->
- parse_time_ms(Input@1, Seconds, (Ms * 10) + 0);
-
- [<<"1"/utf8>> | Input@2] when Ms < 100000 ->
- parse_time_ms(Input@2, Seconds, (Ms * 10) + 1);
-
- [<<"2"/utf8>> | Input@3] when Ms < 100000 ->
- parse_time_ms(Input@3, Seconds, (Ms * 10) + 2);
-
- [<<"3"/utf8>> | Input@4] when Ms < 100000 ->
- parse_time_ms(Input@4, Seconds, (Ms * 10) + 3);
-
- [<<"4"/utf8>> | Input@5] when Ms < 100000 ->
- parse_time_ms(Input@5, Seconds, (Ms * 10) + 4);
-
- [<<"5"/utf8>> | Input@6] when Ms < 100000 ->
- parse_time_ms(Input@6, Seconds, (Ms * 10) + 5);
-
- [<<"6"/utf8>> | Input@7] when Ms < 100000 ->
- parse_time_ms(Input@7, Seconds, (Ms * 10) + 6);
-
- [<<"7"/utf8>> | Input@8] when Ms < 100000 ->
- parse_time_ms(Input@8, Seconds, (Ms * 10) + 7);
-
- [<<"8"/utf8>> | Input@9] when Ms < 100000 ->
- parse_time_ms(Input@9, Seconds, (Ms * 10) + 8);
-
- [<<"9"/utf8>> | Input@10] when Ms < 100000 ->
- parse_time_ms(Input@10, Seconds, (Ms * 10) + 9);
-
- _ ->
- {ok, {{Seconds, Ms}, Input}}
- end.
-
--spec parse_number_under_60(list(binary()), binary()) -> {ok,
- {integer(), list(binary())}} |
- {error, parse_error()}.
-parse_number_under_60(Input, Expected) ->
- case Input of
- [<<"0"/utf8>>, <<"0"/utf8>> | Input@1] ->
- {ok, {0, Input@1}};
-
- [<<"0"/utf8>>, <<"1"/utf8>> | Input@2] ->
- {ok, {1, Input@2}};
-
- [<<"0"/utf8>>, <<"2"/utf8>> | Input@3] ->
- {ok, {2, Input@3}};
-
- [<<"0"/utf8>>, <<"3"/utf8>> | Input@4] ->
- {ok, {3, Input@4}};
-
- [<<"0"/utf8>>, <<"4"/utf8>> | Input@5] ->
- {ok, {4, Input@5}};
-
- [<<"0"/utf8>>, <<"5"/utf8>> | Input@6] ->
- {ok, {5, Input@6}};
-
- [<<"0"/utf8>>, <<"6"/utf8>> | Input@7] ->
- {ok, {6, Input@7}};
-
- [<<"0"/utf8>>, <<"7"/utf8>> | Input@8] ->
- {ok, {7, Input@8}};
-
- [<<"0"/utf8>>, <<"8"/utf8>> | Input@9] ->
- {ok, {8, Input@9}};
-
- [<<"0"/utf8>>, <<"9"/utf8>> | Input@10] ->
- {ok, {9, Input@10}};
-
- [<<"1"/utf8>>, <<"0"/utf8>> | Input@11] ->
- {ok, {10, Input@11}};
-
- [<<"1"/utf8>>, <<"1"/utf8>> | Input@12] ->
- {ok, {11, Input@12}};
-
- [<<"1"/utf8>>, <<"2"/utf8>> | Input@13] ->
- {ok, {12, Input@13}};
-
- [<<"1"/utf8>>, <<"3"/utf8>> | Input@14] ->
- {ok, {13, Input@14}};
-
- [<<"1"/utf8>>, <<"4"/utf8>> | Input@15] ->
- {ok, {14, Input@15}};
-
- [<<"1"/utf8>>, <<"5"/utf8>> | Input@16] ->
- {ok, {15, Input@16}};
-
- [<<"1"/utf8>>, <<"6"/utf8>> | Input@17] ->
- {ok, {16, Input@17}};
-
- [<<"1"/utf8>>, <<"7"/utf8>> | Input@18] ->
- {ok, {17, Input@18}};
-
- [<<"1"/utf8>>, <<"8"/utf8>> | Input@19] ->
- {ok, {18, Input@19}};
-
- [<<"1"/utf8>>, <<"9"/utf8>> | Input@20] ->
- {ok, {19, Input@20}};
-
- [<<"2"/utf8>>, <<"0"/utf8>> | Input@21] ->
- {ok, {20, Input@21}};
-
- [<<"2"/utf8>>, <<"1"/utf8>> | Input@22] ->
- {ok, {21, Input@22}};
-
- [<<"2"/utf8>>, <<"2"/utf8>> | Input@23] ->
- {ok, {22, Input@23}};
-
- [<<"2"/utf8>>, <<"3"/utf8>> | Input@24] ->
- {ok, {23, Input@24}};
-
- [<<"2"/utf8>>, <<"4"/utf8>> | Input@25] ->
- {ok, {24, Input@25}};
-
- [<<"2"/utf8>>, <<"5"/utf8>> | Input@26] ->
- {ok, {25, Input@26}};
-
- [<<"2"/utf8>>, <<"6"/utf8>> | Input@27] ->
- {ok, {26, Input@27}};
-
- [<<"2"/utf8>>, <<"7"/utf8>> | Input@28] ->
- {ok, {27, Input@28}};
-
- [<<"2"/utf8>>, <<"8"/utf8>> | Input@29] ->
- {ok, {28, Input@29}};
-
- [<<"2"/utf8>>, <<"9"/utf8>> | Input@30] ->
- {ok, {29, Input@30}};
-
- [<<"3"/utf8>>, <<"0"/utf8>> | Input@31] ->
- {ok, {30, Input@31}};
-
- [<<"3"/utf8>>, <<"1"/utf8>> | Input@32] ->
- {ok, {31, Input@32}};
-
- [<<"3"/utf8>>, <<"2"/utf8>> | Input@33] ->
- {ok, {32, Input@33}};
-
- [<<"3"/utf8>>, <<"3"/utf8>> | Input@34] ->
- {ok, {33, Input@34}};
-
- [<<"3"/utf8>>, <<"4"/utf8>> | Input@35] ->
- {ok, {34, Input@35}};
-
- [<<"3"/utf8>>, <<"5"/utf8>> | Input@36] ->
- {ok, {35, Input@36}};
-
- [<<"3"/utf8>>, <<"6"/utf8>> | Input@37] ->
- {ok, {36, Input@37}};
-
- [<<"3"/utf8>>, <<"7"/utf8>> | Input@38] ->
- {ok, {37, Input@38}};
-
- [<<"3"/utf8>>, <<"8"/utf8>> | Input@39] ->
- {ok, {38, Input@39}};
-
- [<<"3"/utf8>>, <<"9"/utf8>> | Input@40] ->
- {ok, {39, Input@40}};
-
- [<<"4"/utf8>>, <<"0"/utf8>> | Input@41] ->
- {ok, {40, Input@41}};
-
- [<<"4"/utf8>>, <<"1"/utf8>> | Input@42] ->
- {ok, {41, Input@42}};
-
- [<<"4"/utf8>>, <<"2"/utf8>> | Input@43] ->
- {ok, {42, Input@43}};
-
- [<<"4"/utf8>>, <<"3"/utf8>> | Input@44] ->
- {ok, {43, Input@44}};
-
- [<<"4"/utf8>>, <<"4"/utf8>> | Input@45] ->
- {ok, {44, Input@45}};
-
- [<<"4"/utf8>>, <<"5"/utf8>> | Input@46] ->
- {ok, {45, Input@46}};
-
- [<<"4"/utf8>>, <<"6"/utf8>> | Input@47] ->
- {ok, {46, Input@47}};
-
- [<<"4"/utf8>>, <<"7"/utf8>> | Input@48] ->
- {ok, {47, Input@48}};
-
- [<<"4"/utf8>>, <<"8"/utf8>> | Input@49] ->
- {ok, {48, Input@49}};
-
- [<<"4"/utf8>>, <<"9"/utf8>> | Input@50] ->
- {ok, {49, Input@50}};
-
- [<<"5"/utf8>>, <<"0"/utf8>> | Input@51] ->
- {ok, {50, Input@51}};
-
- [<<"5"/utf8>>, <<"1"/utf8>> | Input@52] ->
- {ok, {51, Input@52}};
-
- [<<"5"/utf8>>, <<"2"/utf8>> | Input@53] ->
- {ok, {52, Input@53}};
-
- [<<"5"/utf8>>, <<"3"/utf8>> | Input@54] ->
- {ok, {53, Input@54}};
-
- [<<"5"/utf8>>, <<"4"/utf8>> | Input@55] ->
- {ok, {54, Input@55}};
-
- [<<"5"/utf8>>, <<"5"/utf8>> | Input@56] ->
- {ok, {55, Input@56}};
-
- [<<"5"/utf8>>, <<"6"/utf8>> | Input@57] ->
- {ok, {56, Input@57}};
-
- [<<"5"/utf8>>, <<"7"/utf8>> | Input@58] ->
- {ok, {57, Input@58}};
-
- [<<"5"/utf8>>, <<"8"/utf8>> | Input@59] ->
- {ok, {58, Input@59}};
-
- [<<"5"/utf8>>, <<"9"/utf8>> | Input@60] ->
- {ok, {59, Input@60}};
-
- [G | _] ->
- {error, {unexpected, G, Expected}};
-
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, Expected}}
- end.
-
--spec parse_hour_minute(list(binary())) -> {ok,
- {{integer(), integer()}, list(binary())}} |
- {error, parse_error()}.
-parse_hour_minute(Input) ->
- do(case Input of
- [<<"0"/utf8>>, <<"0"/utf8>>, <<":"/utf8>> | Input@1] ->
- {ok, {0, Input@1}};
-
- [<<"0"/utf8>>, <<"1"/utf8>>, <<":"/utf8>> | Input@2] ->
- {ok, {1, Input@2}};
-
- [<<"0"/utf8>>, <<"2"/utf8>>, <<":"/utf8>> | Input@3] ->
- {ok, {2, Input@3}};
-
- [<<"0"/utf8>>, <<"3"/utf8>>, <<":"/utf8>> | Input@4] ->
- {ok, {3, Input@4}};
-
- [<<"0"/utf8>>, <<"4"/utf8>>, <<":"/utf8>> | Input@5] ->
- {ok, {4, Input@5}};
-
- [<<"0"/utf8>>, <<"5"/utf8>>, <<":"/utf8>> | Input@6] ->
- {ok, {5, Input@6}};
-
- [<<"0"/utf8>>, <<"6"/utf8>>, <<":"/utf8>> | Input@7] ->
- {ok, {6, Input@7}};
-
- [<<"0"/utf8>>, <<"7"/utf8>>, <<":"/utf8>> | Input@8] ->
- {ok, {7, Input@8}};
-
- [<<"0"/utf8>>, <<"8"/utf8>>, <<":"/utf8>> | Input@9] ->
- {ok, {8, Input@9}};
-
- [<<"0"/utf8>>, <<"9"/utf8>>, <<":"/utf8>> | Input@10] ->
- {ok, {9, Input@10}};
-
- [<<"1"/utf8>>, <<"0"/utf8>>, <<":"/utf8>> | Input@11] ->
- {ok, {10, Input@11}};
-
- [<<"1"/utf8>>, <<"1"/utf8>>, <<":"/utf8>> | Input@12] ->
- {ok, {11, Input@12}};
-
- [<<"1"/utf8>>, <<"2"/utf8>>, <<":"/utf8>> | Input@13] ->
- {ok, {12, Input@13}};
-
- [<<"1"/utf8>>, <<"3"/utf8>>, <<":"/utf8>> | Input@14] ->
- {ok, {13, Input@14}};
-
- [<<"1"/utf8>>, <<"4"/utf8>>, <<":"/utf8>> | Input@15] ->
- {ok, {14, Input@15}};
-
- [<<"1"/utf8>>, <<"5"/utf8>>, <<":"/utf8>> | Input@16] ->
- {ok, {15, Input@16}};
-
- [<<"1"/utf8>>, <<"6"/utf8>>, <<":"/utf8>> | Input@17] ->
- {ok, {16, Input@17}};
-
- [<<"1"/utf8>>, <<"7"/utf8>>, <<":"/utf8>> | Input@18] ->
- {ok, {17, Input@18}};
-
- [<<"1"/utf8>>, <<"8"/utf8>>, <<":"/utf8>> | Input@19] ->
- {ok, {18, Input@19}};
-
- [<<"1"/utf8>>, <<"9"/utf8>>, <<":"/utf8>> | Input@20] ->
- {ok, {19, Input@20}};
-
- [<<"2"/utf8>>, <<"0"/utf8>>, <<":"/utf8>> | Input@21] ->
- {ok, {20, Input@21}};
-
- [<<"2"/utf8>>, <<"1"/utf8>>, <<":"/utf8>> | Input@22] ->
- {ok, {21, Input@22}};
-
- [<<"2"/utf8>>, <<"2"/utf8>>, <<":"/utf8>> | Input@23] ->
- {ok, {22, Input@23}};
-
- [<<"2"/utf8>>, <<"3"/utf8>>, <<":"/utf8>> | Input@24] ->
- {ok, {23, Input@24}};
-
- [G | _] ->
- {error, {unexpected, G, <<"time"/utf8>>}};
-
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, <<"time"/utf8>>}}
- end, fun(Hours, Input@25) ->
- do(
- parse_number_under_60(Input@25, <<"minutes"/utf8>>),
- fun(Minutes, Input@26) -> {ok, {{Hours, Minutes}, Input@26}} end
- )
- end).
-
--spec parse_time_s_ms(list(binary())) -> {ok,
- {{integer(), integer()}, list(binary())}} |
- {error, parse_error()}.
-parse_time_s_ms(Input) ->
- case Input of
- [<<":"/utf8>> | Input@1] ->
- do(
- parse_number_under_60(Input@1, <<"seconds"/utf8>>),
- fun(Seconds, Input@2) -> case Input@2 of
- [<<"."/utf8>> | Input@3] ->
- parse_time_ms(Input@3, Seconds, 0);
-
- _ ->
- {ok, {{Seconds, 0}, Input@2}}
- end end
- );
-
- _ ->
- {ok, {{0, 0}, Input}}
- end.
-
--spec parse_time_minute(list(binary()), integer()) -> {ok,
- {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_time_minute(Input, Hours) ->
- do(
- parse_number_under_60(Input, <<"minutes"/utf8>>),
- fun(Minutes, Input@1) ->
- do(
- parse_time_s_ms(Input@1),
- fun(_use0, Input@2) ->
- {Seconds, Ms} = _use0,
- Time = {time_value, Hours, Minutes, Seconds, Ms},
- {ok, {{time, Time}, Input@2}}
- end
- )
- end
- ).
-
--spec parse_time_value(list(binary())) -> {ok, {time(), list(binary())}} |
- {error, parse_error()}.
-parse_time_value(Input) ->
- do(
- parse_hour_minute(Input),
- fun(_use0, Input@1) ->
- {Hours, Minutes} = _use0,
- do(
- parse_time_s_ms(Input@1),
- fun(_use0@1, Input@2) ->
- {Seconds, Ms} = _use0@1,
- Time = {time_value, Hours, Minutes, Seconds, Ms},
- {ok, {Time, Input@2}}
- end
- )
- end
- ).
-
--spec parse_offset_hours(list(binary()), sign()) -> {ok,
- {offset(), list(binary())}} |
- {error, parse_error()}.
-parse_offset_hours(Input, Sign) ->
- do(
- parse_hour_minute(Input),
- fun(_use0, Input@1) ->
- {Hours, Minutes} = _use0,
- {ok, {{offset, Sign, Hours, Minutes}, Input@1}}
- end
- ).
-
--spec parse_offset(list(binary())) -> {ok, {offset(), list(binary())}} |
- {error, parse_error()}.
-parse_offset(Input) ->
- case Input of
- [<<"Z"/utf8>> | Input@1] ->
- {ok, {{offset, positive, 0, 0}, Input@1}};
-
- [<<"+"/utf8>> | Input@2] ->
- parse_offset_hours(Input@2, positive);
-
- [<<"-"/utf8>> | Input@3] ->
- parse_offset_hours(Input@3, negative);
-
- _ ->
- {ok, {local, Input}}
- end.
-
--spec parse_date_end(list(binary()), integer(), integer(), integer()) -> {ok,
- {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_date_end(Input, Year, Month, Day) ->
- Date = {date_value, Year, Month, Day},
- case Input of
- [<<" "/utf8>> | Input@1] ->
- do(
- parse_time_value(Input@1),
- fun(Time, Input@2) ->
- do(
- parse_offset(Input@2),
- fun(Offset, Input@3) ->
- {ok,
- {{date_time,
- {date_time_value, Date, Time, Offset}},
- Input@3}}
- end
- )
- end
- );
-
- [<<"T"/utf8>> | Input@1] ->
- do(
- parse_time_value(Input@1),
- fun(Time, Input@2) ->
- do(
- parse_offset(Input@2),
- fun(Offset, Input@3) ->
- {ok,
- {{date_time,
- {date_time_value, Date, Time, Offset}},
- Input@3}}
- end
- )
- end
- );
-
- _ ->
- {ok, {{date, Date}, Input}}
- end.
-
--spec parse_date_day(list(binary()), integer(), integer()) -> {ok,
- {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_date_day(Input, Year, Month) ->
- case Input of
- [<<"0"/utf8>>, <<"1"/utf8>> | Input@1] ->
- parse_date_end(Input@1, Year, Month, 1);
-
- [<<"0"/utf8>>, <<"2"/utf8>> | Input@2] ->
- parse_date_end(Input@2, Year, Month, 2);
-
- [<<"0"/utf8>>, <<"3"/utf8>> | Input@3] ->
- parse_date_end(Input@3, Year, Month, 3);
-
- [<<"0"/utf8>>, <<"4"/utf8>> | Input@4] ->
- parse_date_end(Input@4, Year, Month, 4);
-
- [<<"0"/utf8>>, <<"5"/utf8>> | Input@5] ->
- parse_date_end(Input@5, Year, Month, 5);
-
- [<<"0"/utf8>>, <<"6"/utf8>> | Input@6] ->
- parse_date_end(Input@6, Year, Month, 6);
-
- [<<"0"/utf8>>, <<"7"/utf8>> | Input@7] ->
- parse_date_end(Input@7, Year, Month, 7);
-
- [<<"0"/utf8>>, <<"8"/utf8>> | Input@8] ->
- parse_date_end(Input@8, Year, Month, 8);
-
- [<<"0"/utf8>>, <<"9"/utf8>> | Input@9] ->
- parse_date_end(Input@9, Year, Month, 9);
-
- [<<"1"/utf8>>, <<"0"/utf8>> | Input@10] ->
- parse_date_end(Input@10, Year, Month, 10);
-
- [<<"1"/utf8>>, <<"1"/utf8>> | Input@11] ->
- parse_date_end(Input@11, Year, Month, 11);
-
- [<<"1"/utf8>>, <<"2"/utf8>> | Input@12] ->
- parse_date_end(Input@12, Year, Month, 12);
-
- [<<"1"/utf8>>, <<"3"/utf8>> | Input@13] ->
- parse_date_end(Input@13, Year, Month, 13);
-
- [<<"1"/utf8>>, <<"4"/utf8>> | Input@14] ->
- parse_date_end(Input@14, Year, Month, 14);
-
- [<<"1"/utf8>>, <<"5"/utf8>> | Input@15] ->
- parse_date_end(Input@15, Year, Month, 15);
-
- [<<"1"/utf8>>, <<"6"/utf8>> | Input@16] ->
- parse_date_end(Input@16, Year, Month, 16);
-
- [<<"1"/utf8>>, <<"7"/utf8>> | Input@17] ->
- parse_date_end(Input@17, Year, Month, 17);
-
- [<<"1"/utf8>>, <<"8"/utf8>> | Input@18] ->
- parse_date_end(Input@18, Year, Month, 18);
-
- [<<"1"/utf8>>, <<"9"/utf8>> | Input@19] ->
- parse_date_end(Input@19, Year, Month, 19);
-
- [<<"2"/utf8>>, <<"0"/utf8>> | Input@20] ->
- parse_date_end(Input@20, Year, Month, 20);
-
- [<<"2"/utf8>>, <<"1"/utf8>> | Input@21] ->
- parse_date_end(Input@21, Year, Month, 21);
-
- [<<"2"/utf8>>, <<"2"/utf8>> | Input@22] ->
- parse_date_end(Input@22, Year, Month, 22);
-
- [<<"2"/utf8>>, <<"3"/utf8>> | Input@23] ->
- parse_date_end(Input@23, Year, Month, 23);
-
- [<<"2"/utf8>>, <<"4"/utf8>> | Input@24] ->
- parse_date_end(Input@24, Year, Month, 24);
-
- [<<"2"/utf8>>, <<"5"/utf8>> | Input@25] ->
- parse_date_end(Input@25, Year, Month, 25);
-
- [<<"2"/utf8>>, <<"6"/utf8>> | Input@26] ->
- parse_date_end(Input@26, Year, Month, 26);
-
- [<<"2"/utf8>>, <<"7"/utf8>> | Input@27] ->
- parse_date_end(Input@27, Year, Month, 27);
-
- [<<"2"/utf8>>, <<"8"/utf8>> | Input@28] ->
- parse_date_end(Input@28, Year, Month, 28);
-
- [<<"2"/utf8>>, <<"9"/utf8>> | Input@29] ->
- parse_date_end(Input@29, Year, Month, 29);
-
- [<<"3"/utf8>>, <<"0"/utf8>> | Input@30] ->
- parse_date_end(Input@30, Year, Month, 30);
-
- [<<"3"/utf8>>, <<"1"/utf8>> | Input@31] ->
- parse_date_end(Input@31, Year, Month, 31);
-
- [G | _] ->
- {error, {unexpected, G, <<"date day"/utf8>>}};
-
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, <<"date day"/utf8>>}}
- end.
-
--spec parse_date(list(binary()), integer()) -> {ok, {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_date(Input, Year) ->
- case Input of
- [<<"0"/utf8>>, <<"1"/utf8>>, <<"-"/utf8>> | Input@1] ->
- parse_date_day(Input@1, Year, 1);
-
- [<<"0"/utf8>>, <<"2"/utf8>>, <<"-"/utf8>> | Input@2] ->
- parse_date_day(Input@2, Year, 2);
-
- [<<"0"/utf8>>, <<"3"/utf8>>, <<"-"/utf8>> | Input@3] ->
- parse_date_day(Input@3, Year, 3);
-
- [<<"0"/utf8>>, <<"4"/utf8>>, <<"-"/utf8>> | Input@4] ->
- parse_date_day(Input@4, Year, 4);
-
- [<<"0"/utf8>>, <<"5"/utf8>>, <<"-"/utf8>> | Input@5] ->
- parse_date_day(Input@5, Year, 5);
-
- [<<"0"/utf8>>, <<"6"/utf8>>, <<"-"/utf8>> | Input@6] ->
- parse_date_day(Input@6, Year, 6);
-
- [<<"0"/utf8>>, <<"7"/utf8>>, <<"-"/utf8>> | Input@7] ->
- parse_date_day(Input@7, Year, 7);
-
- [<<"0"/utf8>>, <<"8"/utf8>>, <<"-"/utf8>> | Input@8] ->
- parse_date_day(Input@8, Year, 8);
-
- [<<"0"/utf8>>, <<"9"/utf8>>, <<"-"/utf8>> | Input@9] ->
- parse_date_day(Input@9, Year, 9);
-
- [<<"1"/utf8>>, <<"0"/utf8>>, <<"-"/utf8>> | Input@10] ->
- parse_date_day(Input@10, Year, 10);
-
- [<<"1"/utf8>>, <<"1"/utf8>>, <<"-"/utf8>> | Input@11] ->
- parse_date_day(Input@11, Year, 11);
-
- [<<"1"/utf8>>, <<"2"/utf8>>, <<"-"/utf8>> | Input@12] ->
- parse_date_day(Input@12, Year, 12);
-
- [G | _] ->
- {error, {unexpected, G, <<"date month"/utf8>>}};
-
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, <<"date month"/utf8>>}}
- end.
-
--spec parse_number(list(binary()), integer(), sign()) -> {ok,
- {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_number(Input, Number, Sign) ->
- case Input of
- [<<"_"/utf8>> | Input@1] ->
- parse_number(Input@1, Number, Sign);
-
- [<<"0"/utf8>> | Input@2] ->
- parse_number(Input@2, (Number * 10) + 0, Sign);
-
- [<<"1"/utf8>> | Input@3] ->
- parse_number(Input@3, (Number * 10) + 1, Sign);
-
- [<<"2"/utf8>> | Input@4] ->
- parse_number(Input@4, (Number * 10) + 2, Sign);
-
- [<<"3"/utf8>> | Input@5] ->
- parse_number(Input@5, (Number * 10) + 3, Sign);
-
- [<<"4"/utf8>> | Input@6] ->
- parse_number(Input@6, (Number * 10) + 4, Sign);
-
- [<<"5"/utf8>> | Input@7] ->
- parse_number(Input@7, (Number * 10) + 5, Sign);
-
- [<<"6"/utf8>> | Input@8] ->
- parse_number(Input@8, (Number * 10) + 6, Sign);
-
- [<<"7"/utf8>> | Input@9] ->
- parse_number(Input@9, (Number * 10) + 7, Sign);
-
- [<<"8"/utf8>> | Input@10] ->
- parse_number(Input@10, (Number * 10) + 8, Sign);
-
- [<<"9"/utf8>> | Input@11] ->
- parse_number(Input@11, (Number * 10) + 9, Sign);
-
- [<<"-"/utf8>> | Input@12] ->
- parse_date(Input@12, Number);
-
- [<<":"/utf8>> | Input@13] when Number < 24 ->
- parse_time_minute(Input@13, Number);
-
- [<<"."/utf8>> | Input@14] ->
- parse_float(Input@14, gleam@int:to_float(Number), Sign, 0.1);
-
- [<<"e"/utf8>>, <<"+"/utf8>> | Input@15] ->
- parse_exponent(
- Input@15,
- gleam@int:to_float(Number),
- Sign,
- 0,
- positive
- );
-
- [<<"e"/utf8>>, <<"-"/utf8>> | Input@16] ->
- parse_exponent(
- Input@16,
- gleam@int:to_float(Number),
- Sign,
- 0,
- negative
- );
-
- [<<"e"/utf8>> | Input@17] ->
- parse_exponent(
- Input@17,
- gleam@int:to_float(Number),
- Sign,
- 0,
- positive
- );
-
- [<<"E"/utf8>>, <<"+"/utf8>> | Input@18] ->
- parse_exponent(
- Input@18,
- gleam@int:to_float(Number),
- Sign,
- 0,
- positive
- );
-
- [<<"E"/utf8>>, <<"-"/utf8>> | Input@19] ->
- parse_exponent(
- Input@19,
- gleam@int:to_float(Number),
- Sign,
- 0,
- negative
- );
-
- [<<"E"/utf8>> | Input@20] ->
- parse_exponent(
- Input@20,
- gleam@int:to_float(Number),
- Sign,
- 0,
- positive
- );
-
- Input@21 ->
- Number@1 = case Sign of
- positive ->
- Number;
-
- negative ->
- - Number
- end,
- {ok, {{int, Number@1}, Input@21}}
- end.
-
--spec reverse_arrays_of_tables(toml()) -> toml().
-reverse_arrays_of_tables(Toml) ->
- case Toml of
- {array_of_tables, Tables} ->
- {array_of_tables, reverse_arrays_of_tables_array(Tables, [])};
-
- {table, Table} ->
- {table, reverse_arrays_of_tables_table(Table)};
-
- _ ->
- Toml
- end.
-
--spec reverse_arrays_of_tables_table(gleam@dict:dict(binary(), toml())) -> gleam@dict:dict(binary(), toml()).
-reverse_arrays_of_tables_table(Table) ->
- gleam@map:map_values(Table, fun(_, V) -> reverse_arrays_of_tables(V) end).
-
--spec reverse_arrays_of_tables_array(
- list(gleam@dict:dict(binary(), toml())),
- list(gleam@dict:dict(binary(), toml()))
-) -> list(gleam@dict:dict(binary(), toml())).
-reverse_arrays_of_tables_array(Array, Acc) ->
- case Array of
- [] ->
- Acc;
-
- [First | Rest] ->
- First@1 = reverse_arrays_of_tables_table(First),
- reverse_arrays_of_tables_array(Rest, [First@1 | Acc])
- end.
-
--spec parse_inline_table_property(
- list(binary()),
- gleam@dict:dict(binary(), toml())
-) -> {ok, {gleam@dict:dict(binary(), toml()), list(binary())}} |
- {error, parse_error()}.
-parse_inline_table_property(Input, Properties) ->
- Input@1 = skip_whitespace(Input),
- do(
- parse_key(Input@1, []),
- fun(Key, Input@2) ->
- Input@3 = skip_line_whitespace(Input@2),
- expect(
- Input@3,
- <<"="/utf8>>,
- fun(Input@4) ->
- Input@5 = skip_line_whitespace(Input@4),
- do(
- parse_value(Input@5),
- fun(Value, Input@6) ->
- case insert(Properties, Key, Value) of
- {ok, Properties@1} ->
- {ok, {Properties@1, Input@6}};
-
- {error, E} ->
- {error, E}
- end
- end
- )
- end
- )
- end
- ).
-
--spec parse_value(list(binary())) -> {ok, {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_value(Input) ->
- case Input of
- [<<"t"/utf8>>, <<"r"/utf8>>, <<"u"/utf8>>, <<"e"/utf8>> | Input@1] ->
- {ok, {{bool, true}, Input@1}};
-
- [<<"f"/utf8>>,
- <<"a"/utf8>>,
- <<"l"/utf8>>,
- <<"s"/utf8>>,
- <<"e"/utf8>> |
- Input@2] ->
- {ok, {{bool, false}, Input@2}};
-
- [<<"n"/utf8>>, <<"a"/utf8>>, <<"n"/utf8>> | Input@3] ->
- {ok, {{nan, positive}, Input@3}};
-
- [<<"+"/utf8>>, <<"n"/utf8>>, <<"a"/utf8>>, <<"n"/utf8>> | Input@4] ->
- {ok, {{nan, positive}, Input@4}};
-
- [<<"-"/utf8>>, <<"n"/utf8>>, <<"a"/utf8>>, <<"n"/utf8>> | Input@5] ->
- {ok, {{nan, negative}, Input@5}};
-
- [<<"i"/utf8>>, <<"n"/utf8>>, <<"f"/utf8>> | Input@6] ->
- {ok, {{infinity, positive}, Input@6}};
-
- [<<"+"/utf8>>, <<"i"/utf8>>, <<"n"/utf8>>, <<"f"/utf8>> | Input@7] ->
- {ok, {{infinity, positive}, Input@7}};
-
- [<<"-"/utf8>>, <<"i"/utf8>>, <<"n"/utf8>>, <<"f"/utf8>> | Input@8] ->
- {ok, {{infinity, negative}, Input@8}};
-
- [<<"["/utf8>> | Input@9] ->
- parse_array(Input@9, []);
-
- [<<"{"/utf8>> | Input@10] ->
- parse_inline_table(Input@10, gleam@map:new());
-
- [<<"0"/utf8>>, <<"x"/utf8>> | Input@11] ->
- parse_hex(Input@11, 0, positive);
-
- [<<"+"/utf8>>, <<"0"/utf8>>, <<"x"/utf8>> | Input@12] ->
- parse_hex(Input@12, 0, positive);
-
- [<<"-"/utf8>>, <<"0"/utf8>>, <<"x"/utf8>> | Input@13] ->
- parse_hex(Input@13, 0, negative);
-
- [<<"0"/utf8>>, <<"o"/utf8>> | Input@14] ->
- parse_octal(Input@14, 0, positive);
-
- [<<"+"/utf8>>, <<"0"/utf8>>, <<"o"/utf8>> | Input@15] ->
- parse_octal(Input@15, 0, positive);
-
- [<<"-"/utf8>>, <<"0"/utf8>>, <<"o"/utf8>> | Input@16] ->
- parse_octal(Input@16, 0, negative);
-
- [<<"0"/utf8>>, <<"b"/utf8>> | Input@17] ->
- parse_binary(Input@17, 0, positive);
-
- [<<"+"/utf8>>, <<"0"/utf8>>, <<"b"/utf8>> | Input@18] ->
- parse_binary(Input@18, 0, positive);
-
- [<<"-"/utf8>>, <<"0"/utf8>>, <<"b"/utf8>> | Input@19] ->
- parse_binary(Input@19, 0, negative);
-
- [<<"+"/utf8>> | Input@20] ->
- parse_number(Input@20, 0, positive);
-
- [<<"-"/utf8>> | Input@21] ->
- parse_number(Input@21, 0, negative);
-
- [<<"0"/utf8>> | _] ->
- parse_number(Input, 0, positive);
-
- [<<"1"/utf8>> | _] ->
- parse_number(Input, 0, positive);
-
- [<<"2"/utf8>> | _] ->
- parse_number(Input, 0, positive);
-
- [<<"3"/utf8>> | _] ->
- parse_number(Input, 0, positive);
-
- [<<"4"/utf8>> | _] ->
- parse_number(Input, 0, positive);
-
- [<<"5"/utf8>> | _] ->
- parse_number(Input, 0, positive);
-
- [<<"6"/utf8>> | _] ->
- parse_number(Input, 0, positive);
-
- [<<"7"/utf8>> | _] ->
- parse_number(Input, 0, positive);
-
- [<<"8"/utf8>> | _] ->
- parse_number(Input, 0, positive);
-
- [<<"9"/utf8>> | _] ->
- parse_number(Input, 0, positive);
-
- [<<"\""/utf8>>, <<"\""/utf8>>, <<"\""/utf8>> | Input@22] ->
- parse_multi_line_string(Input@22, <<""/utf8>>);
-
- [<<"\""/utf8>> | Input@23] ->
- parse_string(Input@23, <<""/utf8>>);
-
- [<<"'"/utf8>>, <<"'"/utf8>>, <<"'"/utf8>> | Input@24] ->
- parse_multi_line_literal_string(Input@24, <<""/utf8>>);
-
- [<<"'"/utf8>> | Input@25] ->
- parse_literal_string(Input@25, <<""/utf8>>);
-
- [G | _] ->
- {error, {unexpected, G, <<"value"/utf8>>}};
-
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, <<"value"/utf8>>}}
- end.
-
--spec parse_inline_table(list(binary()), gleam@dict:dict(binary(), toml())) -> {ok,
- {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_inline_table(Input, Properties) ->
- Input@1 = skip_whitespace(Input),
- case Input@1 of
- [<<"}"/utf8>> | Input@2] ->
- {ok, {{inline_table, Properties}, Input@2}};
-
- _ ->
- case parse_inline_table_property(Input@1, Properties) of
- {ok, {Properties@1, Input@3}} ->
- Input@4 = skip_whitespace(Input@3),
- case Input@4 of
- [<<"}"/utf8>> | Input@5] ->
- {ok, {{inline_table, Properties@1}, Input@5}};
-
- [<<","/utf8>> | Input@6] ->
- Input@7 = skip_whitespace(Input@6),
- parse_inline_table(Input@7, Properties@1);
-
- [G | _] ->
- {error, {unexpected, G, <<"}"/utf8>>}};
-
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, <<"}"/utf8>>}}
- end;
-
- {error, E} ->
- {error, E}
- end
- end.
-
--spec parse_key_value(list(binary()), gleam@dict:dict(binary(), toml())) -> {ok,
- {gleam@dict:dict(binary(), toml()), list(binary())}} |
- {error, parse_error()}.
-parse_key_value(Input, Toml) ->
- do(
- parse_key(Input, []),
- fun(Key, Input@1) ->
- Input@2 = skip_line_whitespace(Input@1),
- expect(
- Input@2,
- <<"="/utf8>>,
- fun(Input@3) ->
- Input@4 = skip_line_whitespace(Input@3),
- do(
- parse_value(Input@4),
- fun(Value, Input@5) -> case insert(Toml, Key, Value) of
- {ok, Toml@1} ->
- {ok, {Toml@1, Input@5}};
-
- {error, E} ->
- {error, E}
- end end
- )
- end
- )
- end
- ).
-
--spec parse_table(list(binary()), gleam@dict:dict(binary(), toml())) -> {ok,
- {gleam@dict:dict(binary(), toml()), list(binary())}} |
- {error, parse_error()}.
-parse_table(Input, Toml) ->
- Input@1 = skip_whitespace(Input),
- case Input@1 of
- [<<"["/utf8>> | _] ->
- {ok, {Toml, Input@1}};
-
- [] ->
- {ok, {Toml, Input@1}};
-
- _ ->
- case parse_key_value(Input@1, Toml) of
- {ok, {Toml@1, Input@2}} ->
- case skip_line_whitespace(Input@2) of
- [] ->
- {ok, {Toml@1, []}};
-
- [<<"\n"/utf8>> | In] ->
- parse_table(In, Toml@1);
-
- [<<"\r\n"/utf8>> | In] ->
- parse_table(In, Toml@1);
-
- [G | _] ->
- {error, {unexpected, G, <<"\n"/utf8>>}}
- end;
-
- E ->
- E
- end
- end.
-
--spec parse_array_of_tables(list(binary())) -> {ok,
- {{list(binary()), gleam@dict:dict(binary(), toml())}, list(binary())}} |
- {error, parse_error()}.
-parse_array_of_tables(Input) ->
- Input@1 = skip_line_whitespace(Input),
- do(
- parse_key(Input@1, []),
- fun(Key, Input@2) ->
- expect(
- Input@2,
- <<"]"/utf8>>,
- fun(Input@3) ->
- expect(
- Input@3,
- <<"]"/utf8>>,
- fun(Input@4) ->
- do(
- parse_table(Input@4, gleam@map:new()),
- fun(Table, Input@5) ->
- {ok, {{Key, Table}, Input@5}}
- end
- )
- end
- )
- end
- )
- end
- ).
-
--spec parse_table_and_header(list(binary())) -> {ok,
- {{list(binary()), gleam@dict:dict(binary(), toml())}, list(binary())}} |
- {error, parse_error()}.
-parse_table_and_header(Input) ->
- do(
- parse_table_header(Input),
- fun(Key, Input@1) ->
- do(
- parse_table(Input@1, gleam@map:new()),
- fun(Table, Input@2) -> {ok, {{Key, Table}, Input@2}} end
- )
- end
- ).
-
--spec parse_tables(list(binary()), gleam@dict:dict(binary(), toml())) -> {ok,
- gleam@dict:dict(binary(), toml())} |
- {error, parse_error()}.
-parse_tables(Input, Toml) ->
- case Input of
- [<<"["/utf8>>, <<"["/utf8>> | Input@1] ->
- case parse_array_of_tables(Input@1) of
- {error, E} ->
- {error, E};
-
- {ok, {{Key, Table}, Input@2}} ->
- case insert(Toml, Key, {array_of_tables, [Table]}) of
- {ok, Toml@1} ->
- parse_tables(Input@2, Toml@1);
-
- {error, E@1} ->
- {error, E@1}
- end
- end;
-
- [<<"["/utf8>> | Input@3] ->
- case parse_table_and_header(Input@3) of
- {error, E@2} ->
- {error, E@2};
-
- {ok, {{Key@1, Table@1}, Input@4}} ->
- case insert(Toml, Key@1, {table, Table@1}) of
- {ok, Toml@2} ->
- parse_tables(Input@4, Toml@2);
-
- {error, E@3} ->
- {error, E@3}
- end
- end;
-
- [G | _] ->
- {error, {unexpected, G, <<"["/utf8>>}};
-
- [] ->
- {ok, Toml}
- end.
-
--spec parse(binary()) -> {ok, gleam@dict:dict(binary(), toml())} |
- {error, parse_error()}.
-parse(Input) ->
- Input@1 = gleam@string:to_graphemes(Input),
- Input@2 = drop_comments(Input@1, []),
- Input@3 = skip_whitespace(Input@2),
- do(
- parse_table(Input@3, gleam@map:new()),
- fun(Toml, Input@4) -> case parse_tables(Input@4, Toml) of
- {ok, Toml@1} ->
- {ok, reverse_arrays_of_tables_table(Toml@1)};
-
- {error, E} ->
- {error, E}
- end end
- ).
-
--spec parse_array(list(binary()), list(toml())) -> {ok,
- {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_array(Input, Elements) ->
- Input@1 = skip_whitespace(Input),
- case Input@1 of
- [<<"]"/utf8>> | Input@2] ->
- {ok, {{array, gleam@list:reverse(Elements)}, Input@2}};
-
- _ ->
- do(
- parse_value(Input@1),
- fun(Element, Input@3) ->
- Elements@1 = [Element | Elements],
- Input@4 = skip_whitespace(Input@3),
- case Input@4 of
- [<<"]"/utf8>> | Input@5] ->
- {ok,
- {{array, gleam@list:reverse(Elements@1)},
- Input@5}};
-
- [<<","/utf8>> | Input@6] ->
- Input@7 = skip_whitespace(Input@6),
- parse_array(Input@7, Elements@1);
-
- [G | _] ->
- {error, {unexpected, G, <<"]"/utf8>>}};
-
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, <<"]"/utf8>>}}
- end
- end
- )
- end.
diff --git a/aoc2023/build/dev/erlang/tom/ebin/tom.app b/aoc2023/build/dev/erlang/tom/ebin/tom.app
deleted file mode 100644
index ade9be1..0000000
--- a/aoc2023/build/dev/erlang/tom/ebin/tom.app
+++ /dev/null
@@ -1,7 +0,0 @@
-{application, tom, [
- {vsn, "0.2.1"},
- {applications, [gleam_stdlib]},
- {description, "A pure Gleam TOML parser!"},
- {modules, []},
- {registered, []}
-]}.
diff --git a/aoc2023/build/dev/erlang/tom/ebin/tom.beam b/aoc2023/build/dev/erlang/tom/ebin/tom.beam
deleted file mode 100644
index 0d4e0d2..0000000
--- a/aoc2023/build/dev/erlang/tom/ebin/tom.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/tom/include/tom_DateTimeValue.hrl b/aoc2023/build/dev/erlang/tom/include/tom_DateTimeValue.hrl
deleted file mode 100644
index 3b1e660..0000000
--- a/aoc2023/build/dev/erlang/tom/include/tom_DateTimeValue.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(date_time_value, {
- date :: tom:date(),
- time :: tom:time(),
- offset :: tom:offset()
-}).
diff --git a/aoc2023/build/dev/erlang/tom/include/tom_DateValue.hrl b/aoc2023/build/dev/erlang/tom/include/tom_DateValue.hrl
deleted file mode 100644
index c41f901..0000000
--- a/aoc2023/build/dev/erlang/tom/include/tom_DateValue.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(date_value, {year :: integer(), month :: integer(), day :: integer()}).
diff --git a/aoc2023/build/dev/erlang/tom/include/tom_KeyAlreadyInUse.hrl b/aoc2023/build/dev/erlang/tom/include/tom_KeyAlreadyInUse.hrl
deleted file mode 100644
index 930df26..0000000
--- a/aoc2023/build/dev/erlang/tom/include/tom_KeyAlreadyInUse.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(key_already_in_use, {key :: list(binary())}).
diff --git a/aoc2023/build/dev/erlang/tom/include/tom_NotFound.hrl b/aoc2023/build/dev/erlang/tom/include/tom_NotFound.hrl
deleted file mode 100644
index 19c9a17..0000000
--- a/aoc2023/build/dev/erlang/tom/include/tom_NotFound.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(not_found, {key :: list(binary())}).
diff --git a/aoc2023/build/dev/erlang/tom/include/tom_Offset.hrl b/aoc2023/build/dev/erlang/tom/include/tom_Offset.hrl
deleted file mode 100644
index a58a8e1..0000000
--- a/aoc2023/build/dev/erlang/tom/include/tom_Offset.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(offset, {
- direction :: tom:sign(),
- hours :: integer(),
- minutes :: integer()
-}).
diff --git a/aoc2023/build/dev/erlang/tom/include/tom_TimeValue.hrl b/aoc2023/build/dev/erlang/tom/include/tom_TimeValue.hrl
deleted file mode 100644
index e1275de..0000000
--- a/aoc2023/build/dev/erlang/tom/include/tom_TimeValue.hrl
+++ /dev/null
@@ -1,6 +0,0 @@
--record(time_value, {
- hour :: integer(),
- minute :: integer(),
- second :: integer(),
- millisecond :: integer()
-}).
diff --git a/aoc2023/build/dev/erlang/tom/include/tom_Unexpected.hrl b/aoc2023/build/dev/erlang/tom/include/tom_Unexpected.hrl
deleted file mode 100644
index ab1091c..0000000
--- a/aoc2023/build/dev/erlang/tom/include/tom_Unexpected.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(unexpected, {got :: binary(), expected :: binary()}).
diff --git a/aoc2023/build/dev/erlang/tom/include/tom_WrongType.hrl b/aoc2023/build/dev/erlang/tom/include/tom_WrongType.hrl
deleted file mode 100644
index ae57352..0000000
--- a/aoc2023/build/dev/erlang/tom/include/tom_WrongType.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(wrong_type, {
- key :: list(binary()),
- expected :: binary(),
- got :: binary()
-}).
diff --git a/aoc2023/build/dev/javascript/gleam.lock b/aoc2023/build/dev/javascript/gleam.lock
deleted file mode 100644
index e69de29..0000000
--- a/aoc2023/build/dev/javascript/gleam.lock
+++ /dev/null
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/adglent.cache b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/adglent.cache
deleted file mode 100644
index 521ceaf..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/adglent.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/adglent.cache_meta b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/adglent.cache_meta
deleted file mode 100644
index 5b2e4fa..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/adglent.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/adglent@day.cache b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/adglent@day.cache
deleted file mode 100644
index 4a84a17..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/adglent@day.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/adglent@day.cache_meta b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/adglent@day.cache_meta
deleted file mode 100644
index 13db829..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/adglent@day.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/adglent@init.cache b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/adglent@init.cache
deleted file mode 100644
index fc93f49..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/adglent@init.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/adglent@init.cache_meta b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/adglent@init.cache_meta
deleted file mode 100644
index 25d46c5..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/adglent@init.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@aoc_client.cache b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@aoc_client.cache
deleted file mode 100644
index 3f2627e..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@aoc_client.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@aoc_client.cache_meta b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@aoc_client.cache_meta
deleted file mode 100644
index ea20543..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@aoc_client.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@errors.cache b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@errors.cache
deleted file mode 100644
index 6b372e3..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@errors.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@errors.cache_meta b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@errors.cache_meta
deleted file mode 100644
index d74550f..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@errors.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@prompt.cache b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@prompt.cache
deleted file mode 100644
index 892378a..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@prompt.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@prompt.cache_meta b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@prompt.cache_meta
deleted file mode 100644
index 6069b5f..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@prompt.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@template.cache b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@template.cache
deleted file mode 100644
index 59c03e8..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@template.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@template.cache_meta b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@template.cache_meta
deleted file mode 100644
index 4280edf..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@template.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@solution.cache b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@solution.cache
deleted file mode 100644
index eabceb6..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@solution.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@solution.cache_meta b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@solution.cache_meta
deleted file mode 100644
index efc3c1e..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@solution.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@test_main.cache b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@test_main.cache
deleted file mode 100644
index 7941b60..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@test_main.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@test_main.cache_meta b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@test_main.cache_meta
deleted file mode 100644
index a43f871..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@test_main.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@testfile_gleeunit.cache b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@testfile_gleeunit.cache
deleted file mode 100644
index 3c13e17..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@testfile_gleeunit.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@testfile_gleeunit.cache_meta b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@testfile_gleeunit.cache_meta
deleted file mode 100644
index 171b42d..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@testfile_gleeunit.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@testfile_showtime.cache b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@testfile_showtime.cache
deleted file mode 100644
index 6f3ef24..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@testfile_showtime.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@testfile_showtime.cache_meta b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@testfile_showtime.cache_meta
deleted file mode 100644
index 943d5d1..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@templates@testfile_showtime.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@toml.cache b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@toml.cache
deleted file mode 100644
index 689de34..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@toml.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@toml.cache_meta b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@toml.cache_meta
deleted file mode 100644
index dd43210..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/priv@toml.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime.cache b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime.cache
deleted file mode 100644
index 222be7f..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime.cache_meta b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime.cache_meta
deleted file mode 100644
index a6a146a..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@cli.cache b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@cli.cache
deleted file mode 100644
index 2827e6a..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@cli.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@cli.cache_meta b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@cli.cache_meta
deleted file mode 100644
index 7772183..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@cli.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@common_event_handler.cache b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@common_event_handler.cache
deleted file mode 100644
index be4949e..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@common_event_handler.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@common_event_handler.cache_meta b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@common_event_handler.cache_meta
deleted file mode 100644
index c4fec3d..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@common_event_handler.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_result.cache b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_result.cache
deleted file mode 100644
index e21cf07..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_result.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_result.cache_meta b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_result.cache_meta
deleted file mode 100644
index 1756ecb..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_result.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_suite.cache b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_suite.cache
deleted file mode 100644
index 6fc886b..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_suite.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_suite.cache_meta b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_suite.cache_meta
deleted file mode 100644
index 6ee96ca..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@common@test_suite.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@discover.cache b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@discover.cache
deleted file mode 100644
index 1fb5bce..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@discover.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@discover.cache_meta b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@discover.cache_meta
deleted file mode 100644
index f515230..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@discover.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@event_handler.cache b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@event_handler.cache
deleted file mode 100644
index a37646a..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@event_handler.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@event_handler.cache_meta b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@event_handler.cache_meta
deleted file mode 100644
index 7cfc212..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@event_handler.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@module_handler.cache b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@module_handler.cache
deleted file mode 100644
index 2215915..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@module_handler.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@module_handler.cache_meta b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@module_handler.cache_meta
deleted file mode 100644
index 39219c2..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@module_handler.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@runner.cache b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@runner.cache
deleted file mode 100644
index 6d99c72..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@runner.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@runner.cache_meta b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@runner.cache_meta
deleted file mode 100644
index 3c79f10..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@erlang@runner.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@compare.cache b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@compare.cache
deleted file mode 100644
index 552c884..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@compare.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@compare.cache_meta b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@compare.cache_meta
deleted file mode 100644
index b8918d9..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@compare.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@formatter.cache b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@formatter.cache
deleted file mode 100644
index 1a93299..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@formatter.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@formatter.cache_meta b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@formatter.cache_meta
deleted file mode 100644
index 8edfde1..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@formatter.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@styles.cache b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@styles.cache
deleted file mode 100644
index 90c98f2..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@styles.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@styles.cache_meta b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@styles.cache_meta
deleted file mode 100644
index b116b96..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@styles.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@table.cache b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@table.cache
deleted file mode 100644
index 6fbddc2..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@table.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@table.cache_meta b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@table.cache_meta
deleted file mode 100644
index ff3b647..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@internal@reports@table.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@tests@meta.cache b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@tests@meta.cache
deleted file mode 100644
index 6d293dd..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@tests@meta.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@tests@meta.cache_meta b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@tests@meta.cache_meta
deleted file mode 100644
index 1236a4e..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@tests@meta.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@tests@should.cache b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@tests@should.cache
deleted file mode 100644
index 56d5588..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@tests@should.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@tests@should.cache_meta b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@tests@should.cache_meta
deleted file mode 100644
index 8458464..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@tests@should.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@tests@test.cache b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@tests@test.cache
deleted file mode 100644
index 18e4c90..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@tests@test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@tests@test.cache_meta b/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@tests@test.cache_meta
deleted file mode 100644
index 784c0c6..0000000
--- a/aoc2023/build/lsp/erlang/adglent/_gleam_artefacts/showtime@tests@test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/aoc2023.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/aoc2023.cache
deleted file mode 100644
index 03ccd8d..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/aoc2023.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/aoc2023.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/aoc2023.cache_meta
deleted file mode 100644
index 010588b..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/aoc2023.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/aoc2023_test.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/aoc2023_test.cache
deleted file mode 100644
index a3e359f..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/aoc2023_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/aoc2023_test.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/aoc2023_test.cache_meta
deleted file mode 100644
index 7e5812c..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/aoc2023_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day10@day10_test.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day10@day10_test.cache
deleted file mode 100644
index 679e63b..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day10@day10_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day10@day10_test.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day10@day10_test.cache_meta
deleted file mode 100644
index 492226f..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day10@day10_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day10@solve.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day10@solve.cache
deleted file mode 100644
index cac1824..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day10@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day10@solve.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day10@solve.cache_meta
deleted file mode 100644
index f684afc..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day10@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day11@day11_test.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day11@day11_test.cache
deleted file mode 100644
index 1924a60..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day11@day11_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day11@day11_test.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day11@day11_test.cache_meta
deleted file mode 100644
index e9f22f9..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day11@day11_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day11@solve.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day11@solve.cache
deleted file mode 100644
index 94061b3..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day11@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day11@solve.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day11@solve.cache_meta
deleted file mode 100644
index fb68ddf..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day11@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day12@day12_test.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day12@day12_test.cache
deleted file mode 100644
index ae12c19..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day12@day12_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day12@day12_test.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day12@day12_test.cache_meta
deleted file mode 100644
index 8696694..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day12@day12_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day12@solve.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day12@solve.cache
deleted file mode 100644
index d66a1b7..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day12@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day12@solve.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day12@solve.cache_meta
deleted file mode 100644
index dbcb771..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day12@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day13@day13_test.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day13@day13_test.cache
deleted file mode 100644
index 6605c0f..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day13@day13_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day13@day13_test.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day13@day13_test.cache_meta
deleted file mode 100644
index e8e1290..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day13@day13_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day13@solve.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day13@solve.cache
deleted file mode 100644
index 285fc49..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day13@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day13@solve.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day13@solve.cache_meta
deleted file mode 100644
index 7ef4eea..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day13@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day14@day14_test.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day14@day14_test.cache
deleted file mode 100644
index 99eb8b4..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day14@day14_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day14@day14_test.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day14@day14_test.cache_meta
deleted file mode 100644
index c6b6dc6..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day14@day14_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day14@solve.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day14@solve.cache
deleted file mode 100644
index 19fc049..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day14@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day14@solve.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day14@solve.cache_meta
deleted file mode 100644
index eb4b13e..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day14@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day15@day15_test.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day15@day15_test.cache
deleted file mode 100644
index 2cd9b6f..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day15@day15_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day15@day15_test.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day15@day15_test.cache_meta
deleted file mode 100644
index a5a8349..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day15@day15_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day15@solve.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day15@solve.cache
deleted file mode 100644
index ec1b22a..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day15@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day15@solve.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day15@solve.cache_meta
deleted file mode 100644
index c27e086..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day15@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day16@day16_test.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day16@day16_test.cache
deleted file mode 100644
index 9aed405..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day16@day16_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day16@day16_test.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day16@day16_test.cache_meta
deleted file mode 100644
index a3e7398..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day16@day16_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day16@solve.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day16@solve.cache
deleted file mode 100644
index 30d5d19..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day16@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day16@solve.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day16@solve.cache_meta
deleted file mode 100644
index 09cc64c..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day16@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day17@day17_test.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day17@day17_test.cache
deleted file mode 100644
index a859e78..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day17@day17_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day17@day17_test.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day17@day17_test.cache_meta
deleted file mode 100644
index 1de55c9..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day17@day17_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day17@solve.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day17@solve.cache
deleted file mode 100644
index 2efed01..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day17@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day17@solve.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day17@solve.cache_meta
deleted file mode 100644
index 71761c7..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day17@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day18@day18_test.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day18@day18_test.cache
deleted file mode 100644
index 65f231e..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day18@day18_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day18@day18_test.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day18@day18_test.cache_meta
deleted file mode 100644
index 8373480..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day18@day18_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day18@solve.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day18@solve.cache
deleted file mode 100644
index f9f0f27..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day18@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day18@solve.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day18@solve.cache_meta
deleted file mode 100644
index dcebbaf..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day18@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day19@day19_test.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day19@day19_test.cache
deleted file mode 100644
index b29c52a..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day19@day19_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day19@day19_test.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day19@day19_test.cache_meta
deleted file mode 100644
index 51fdff1..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day19@day19_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day19@solve.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day19@solve.cache
deleted file mode 100644
index 586dc8a..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day19@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day19@solve.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day19@solve.cache_meta
deleted file mode 100644
index 7d7d9f7..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day19@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day1@day1_test.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day1@day1_test.cache
deleted file mode 100644
index 81e1b95..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day1@day1_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day1@day1_test.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day1@day1_test.cache_meta
deleted file mode 100644
index 216bc61..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day1@day1_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day1@solve.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day1@solve.cache
deleted file mode 100644
index 7fb41c1..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day1@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day1@solve.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day1@solve.cache_meta
deleted file mode 100644
index 683844e..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day1@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day20@day20_test.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day20@day20_test.cache
deleted file mode 100644
index 17bd031..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day20@day20_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day20@day20_test.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day20@day20_test.cache_meta
deleted file mode 100644
index a62c67e..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day20@day20_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day20@solve.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day20@solve.cache
deleted file mode 100644
index b0eb623..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day20@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day20@solve.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day20@solve.cache_meta
deleted file mode 100644
index 2fec13e..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day20@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day21@day21_test.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day21@day21_test.cache
deleted file mode 100644
index 6ca601f..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day21@day21_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day21@day21_test.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day21@day21_test.cache_meta
deleted file mode 100644
index d2ccb36..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day21@day21_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day21@solve.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day21@solve.cache
deleted file mode 100644
index 696553d..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day21@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day21@solve.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day21@solve.cache_meta
deleted file mode 100644
index d86557e..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day21@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day22@day22_test.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day22@day22_test.cache
deleted file mode 100644
index ba7b665..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day22@day22_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day22@day22_test.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day22@day22_test.cache_meta
deleted file mode 100644
index e3b757f..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day22@day22_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day22@solve.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day22@solve.cache
deleted file mode 100644
index 4367d01..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day22@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day22@solve.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day22@solve.cache_meta
deleted file mode 100644
index 1debfe9..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day22@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day23@day23_test.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day23@day23_test.cache
deleted file mode 100644
index a911091..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day23@day23_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day23@day23_test.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day23@day23_test.cache_meta
deleted file mode 100644
index 828230e..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day23@day23_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day23@solve.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day23@solve.cache
deleted file mode 100644
index 9b88d01..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day23@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day23@solve.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day23@solve.cache_meta
deleted file mode 100644
index 35a9a48..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day23@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day2@day2_test.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day2@day2_test.cache
deleted file mode 100644
index 482a3bf..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day2@day2_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day2@day2_test.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day2@day2_test.cache_meta
deleted file mode 100644
index 2af1fbe..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day2@day2_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day2@solve.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day2@solve.cache
deleted file mode 100644
index 50d9065..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day2@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day2@solve.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day2@solve.cache_meta
deleted file mode 100644
index e326f72..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day2@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day3@day3_test.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day3@day3_test.cache
deleted file mode 100644
index 80b9225..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day3@day3_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day3@day3_test.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day3@day3_test.cache_meta
deleted file mode 100644
index e9df393..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day3@day3_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day3@solve.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day3@solve.cache
deleted file mode 100644
index 52a1a03..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day3@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day3@solve.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day3@solve.cache_meta
deleted file mode 100644
index bb3d942..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day3@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day4@day4_test.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day4@day4_test.cache
deleted file mode 100644
index 9adb008..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day4@day4_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day4@day4_test.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day4@day4_test.cache_meta
deleted file mode 100644
index d80de98..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day4@day4_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day4@solve.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day4@solve.cache
deleted file mode 100644
index fc70a08..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day4@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day4@solve.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day4@solve.cache_meta
deleted file mode 100644
index 3b1a2a0..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day4@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day5@day5_test.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day5@day5_test.cache
deleted file mode 100644
index d2b4607..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day5@day5_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day5@day5_test.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day5@day5_test.cache_meta
deleted file mode 100644
index eca9fea..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day5@day5_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day5@solve.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day5@solve.cache
deleted file mode 100644
index 0a13d69..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day5@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day5@solve.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day5@solve.cache_meta
deleted file mode 100644
index 054cd0e..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day5@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day6@day6_test.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day6@day6_test.cache
deleted file mode 100644
index 6764230..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day6@day6_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day6@day6_test.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day6@day6_test.cache_meta
deleted file mode 100644
index d316cb3..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day6@day6_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day6@solve.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day6@solve.cache
deleted file mode 100644
index 0172460..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day6@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day6@solve.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day6@solve.cache_meta
deleted file mode 100644
index bd28173..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day6@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day7@day7_test.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day7@day7_test.cache
deleted file mode 100644
index fefff2d..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day7@day7_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day7@day7_test.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day7@day7_test.cache_meta
deleted file mode 100644
index 5355703..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day7@day7_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day7@solve.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day7@solve.cache
deleted file mode 100644
index 2c9cded..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day7@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day7@solve.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day7@solve.cache_meta
deleted file mode 100644
index a7d2130..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day7@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day8@day8_test.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day8@day8_test.cache
deleted file mode 100644
index 4d54d49..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day8@day8_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day8@day8_test.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day8@day8_test.cache_meta
deleted file mode 100644
index 4f164d5..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day8@day8_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day8@solve.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day8@solve.cache
deleted file mode 100644
index 5fa8a20..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day8@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day8@solve.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day8@solve.cache_meta
deleted file mode 100644
index c13d429..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day8@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day9@day9_test.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day9@day9_test.cache
deleted file mode 100644
index a99c932..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day9@day9_test.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day9@day9_test.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day9@day9_test.cache_meta
deleted file mode 100644
index bff2f05..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day9@day9_test.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day9@solve.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day9@solve.cache
deleted file mode 100644
index beefe36..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day9@solve.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day9@solve.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day9@solve.cache_meta
deleted file mode 100644
index de6a9ae..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/day9@solve.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/utilities@array2d.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/utilities@array2d.cache
deleted file mode 100644
index afe092f..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/utilities@array2d.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/utilities@array2d.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/utilities@array2d.cache_meta
deleted file mode 100644
index 88a04e0..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/utilities@array2d.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/utilities@memo.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/utilities@memo.cache
deleted file mode 100644
index 9273efb..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/utilities@memo.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/utilities@memo.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/utilities@memo.cache_meta
deleted file mode 100644
index f81ca7a..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/utilities@memo.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/utilities@prioqueue.cache b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/utilities@prioqueue.cache
deleted file mode 100644
index 5a113a7..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/utilities@prioqueue.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/utilities@prioqueue.cache_meta b/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/utilities@prioqueue.cache_meta
deleted file mode 100644
index f3cebb8..0000000
--- a/aoc2023/build/lsp/erlang/aoc2023/_gleam_artefacts/utilities@prioqueue.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap.cache b/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap.cache
deleted file mode 100644
index 58fdf0a..0000000
--- a/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap.cache_meta b/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap.cache_meta
deleted file mode 100644
index edd8d2a..0000000
--- a/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@comparison.cache b/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@comparison.cache
deleted file mode 100644
index df62224..0000000
--- a/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@comparison.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@comparison.cache_meta b/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@comparison.cache_meta
deleted file mode 100644
index 3bc139d..0000000
--- a/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@comparison.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@myers.cache b/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@myers.cache
deleted file mode 100644
index bbfe5ed..0000000
--- a/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@myers.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@myers.cache_meta b/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@myers.cache_meta
deleted file mode 100644
index 4a36f3c..0000000
--- a/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@myers.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@styled_comparison.cache b/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@styled_comparison.cache
deleted file mode 100644
index 65752d7..0000000
--- a/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@styled_comparison.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@styled_comparison.cache_meta b/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@styled_comparison.cache_meta
deleted file mode 100644
index ca915f3..0000000
--- a/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@styled_comparison.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@styling.cache b/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@styling.cache
deleted file mode 100644
index c0172d9..0000000
--- a/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@styling.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@styling.cache_meta b/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@styling.cache_meta
deleted file mode 100644
index 3773567..0000000
--- a/aoc2023/build/lsp/erlang/gap/_gleam_artefacts/gap@styling.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam.lock b/aoc2023/build/lsp/erlang/gleam.lock
deleted file mode 100644
index e69de29..0000000
--- a/aoc2023/build/lsp/erlang/gleam.lock
+++ /dev/null
diff --git a/aoc2023/build/lsp/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.cache b/aoc2023/build/lsp/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.cache
deleted file mode 100644
index 5163da7..0000000
--- a/aoc2023/build/lsp/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.cache_meta b/aoc2023/build/lsp/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.cache_meta
deleted file mode 100644
index 6988904..0000000
--- a/aoc2023/build/lsp/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour.cache b/aoc2023/build/lsp/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour.cache
deleted file mode 100644
index d1acf6b..0000000
--- a/aoc2023/build/lsp/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour.cache_meta b/aoc2023/build/lsp/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour.cache_meta
deleted file mode 100644
index 53e1ad9..0000000
--- a/aoc2023/build/lsp/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour@accessibility.cache b/aoc2023/build/lsp/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour@accessibility.cache
deleted file mode 100644
index 7012d28..0000000
--- a/aoc2023/build/lsp/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour@accessibility.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour@accessibility.cache_meta b/aoc2023/build/lsp/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour@accessibility.cache_meta
deleted file mode 100644
index e926edf..0000000
--- a/aoc2023/build/lsp/erlang/gleam_community_colour/_gleam_artefacts/gleam_community@colour@accessibility.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@arithmetics.cache b/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@arithmetics.cache
deleted file mode 100644
index dbe18f4..0000000
--- a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@arithmetics.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@arithmetics.cache_meta b/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@arithmetics.cache_meta
deleted file mode 100644
index ac9cd0c..0000000
--- a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@arithmetics.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@combinatorics.cache b/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@combinatorics.cache
deleted file mode 100644
index 82de246..0000000
--- a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@combinatorics.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@combinatorics.cache_meta b/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@combinatorics.cache_meta
deleted file mode 100644
index 8124d25..0000000
--- a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@combinatorics.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@conversion.cache b/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@conversion.cache
deleted file mode 100644
index 18e058a..0000000
--- a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@conversion.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@conversion.cache_meta b/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@conversion.cache_meta
deleted file mode 100644
index eada136..0000000
--- a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@conversion.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@elementary.cache b/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@elementary.cache
deleted file mode 100644
index 706c48f..0000000
--- a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@elementary.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@elementary.cache_meta b/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@elementary.cache_meta
deleted file mode 100644
index ade0e09..0000000
--- a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@elementary.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@metrics.cache b/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@metrics.cache
deleted file mode 100644
index e21f351..0000000
--- a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@metrics.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@metrics.cache_meta b/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@metrics.cache_meta
deleted file mode 100644
index 7edd566..0000000
--- a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@metrics.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@piecewise.cache b/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@piecewise.cache
deleted file mode 100644
index 31e4bd8..0000000
--- a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@piecewise.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@piecewise.cache_meta b/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@piecewise.cache_meta
deleted file mode 100644
index 14c1d0f..0000000
--- a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@piecewise.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@predicates.cache b/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@predicates.cache
deleted file mode 100644
index a0c65e8..0000000
--- a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@predicates.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@predicates.cache_meta b/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@predicates.cache_meta
deleted file mode 100644
index 8d56c49..0000000
--- a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@predicates.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@sequences.cache b/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@sequences.cache
deleted file mode 100644
index c1adae5..0000000
--- a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@sequences.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@sequences.cache_meta b/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@sequences.cache_meta
deleted file mode 100644
index 3cfa2ef..0000000
--- a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@sequences.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@special.cache b/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@special.cache
deleted file mode 100644
index ecca197..0000000
--- a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@special.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@special.cache_meta b/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@special.cache_meta
deleted file mode 100644
index e8cada3..0000000
--- a/aoc2023/build/lsp/erlang/gleam_community_maths/_gleam_artefacts/gleam_community@maths@special.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang.cache b/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang.cache
deleted file mode 100644
index 9cb4b7e..0000000
--- a/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang.cache_meta b/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang.cache_meta
deleted file mode 100644
index d76e6b6..0000000
--- a/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@atom.cache b/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@atom.cache
deleted file mode 100644
index ee9e3c5..0000000
--- a/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@atom.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@atom.cache_meta b/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@atom.cache_meta
deleted file mode 100644
index bfd938d..0000000
--- a/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@atom.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@charlist.cache b/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@charlist.cache
deleted file mode 100644
index 223f016..0000000
--- a/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@charlist.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@charlist.cache_meta b/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@charlist.cache_meta
deleted file mode 100644
index 7996afc..0000000
--- a/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@charlist.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@file.cache b/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@file.cache
deleted file mode 100644
index e935a8b..0000000
--- a/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@file.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@file.cache_meta b/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@file.cache_meta
deleted file mode 100644
index e194cad..0000000
--- a/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@file.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@node.cache b/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@node.cache
deleted file mode 100644
index b0b77f7..0000000
--- a/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@node.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@node.cache_meta b/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@node.cache_meta
deleted file mode 100644
index 4423143..0000000
--- a/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@node.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@os.cache b/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@os.cache
deleted file mode 100644
index 977e362..0000000
--- a/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@os.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@os.cache_meta b/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@os.cache_meta
deleted file mode 100644
index a5a851f..0000000
--- a/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@os.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@process.cache b/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@process.cache
deleted file mode 100644
index 4c47a8f..0000000
--- a/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@process.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@process.cache_meta b/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@process.cache_meta
deleted file mode 100644
index 90df4b9..0000000
--- a/aoc2023/build/lsp/erlang/gleam_erlang/_gleam_artefacts/gleam@erlang@process.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http.cache b/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http.cache
deleted file mode 100644
index 6b925a9..0000000
--- a/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http.cache_meta b/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http.cache_meta
deleted file mode 100644
index f53edb8..0000000
--- a/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@cookie.cache b/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@cookie.cache
deleted file mode 100644
index ab6b66d..0000000
--- a/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@cookie.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@cookie.cache_meta b/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@cookie.cache_meta
deleted file mode 100644
index 89d9a4d..0000000
--- a/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@cookie.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@request.cache b/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@request.cache
deleted file mode 100644
index a5cf562..0000000
--- a/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@request.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@request.cache_meta b/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@request.cache_meta
deleted file mode 100644
index 91001e2..0000000
--- a/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@request.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@response.cache b/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@response.cache
deleted file mode 100644
index 19c78e4..0000000
--- a/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@response.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@response.cache_meta b/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@response.cache_meta
deleted file mode 100644
index 37ee645..0000000
--- a/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@response.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@service.cache b/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@service.cache
deleted file mode 100644
index 903ffa4..0000000
--- a/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@service.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@service.cache_meta b/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@service.cache_meta
deleted file mode 100644
index 30e0838..0000000
--- a/aoc2023/build/lsp/erlang/gleam_http/_gleam_artefacts/gleam@http@service.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_httpc/_gleam_artefacts/gleam@httpc.cache b/aoc2023/build/lsp/erlang/gleam_httpc/_gleam_artefacts/gleam@httpc.cache
deleted file mode 100644
index ba9ef78..0000000
--- a/aoc2023/build/lsp/erlang/gleam_httpc/_gleam_artefacts/gleam@httpc.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_httpc/_gleam_artefacts/gleam@httpc.cache_meta b/aoc2023/build/lsp/erlang/gleam_httpc/_gleam_artefacts/gleam@httpc.cache_meta
deleted file mode 100644
index d66a2c3..0000000
--- a/aoc2023/build/lsp/erlang/gleam_httpc/_gleam_artefacts/gleam@httpc.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@actor.cache b/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@actor.cache
deleted file mode 100644
index 739be7d..0000000
--- a/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@actor.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@actor.cache_meta b/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@actor.cache_meta
deleted file mode 100644
index 01991ea..0000000
--- a/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@actor.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@intensity_tracker.cache b/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@intensity_tracker.cache
deleted file mode 100644
index 24b814e..0000000
--- a/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@intensity_tracker.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@intensity_tracker.cache_meta b/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@intensity_tracker.cache_meta
deleted file mode 100644
index ad921d2..0000000
--- a/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@intensity_tracker.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@port.cache b/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@port.cache
deleted file mode 100644
index b35f9fd..0000000
--- a/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@port.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@port.cache_meta b/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@port.cache_meta
deleted file mode 100644
index ac4a4c2..0000000
--- a/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@port.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@supervisor.cache b/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@supervisor.cache
deleted file mode 100644
index 30fbb09..0000000
--- a/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@supervisor.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@supervisor.cache_meta b/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@supervisor.cache_meta
deleted file mode 100644
index a58472a..0000000
--- a/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@supervisor.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@system.cache b/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@system.cache
deleted file mode 100644
index 9992f8e..0000000
--- a/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@system.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@system.cache_meta b/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@system.cache_meta
deleted file mode 100644
index 830d435..0000000
--- a/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@system.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@task.cache b/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@task.cache
deleted file mode 100644
index fb7d4a6..0000000
--- a/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@task.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@task.cache_meta b/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@task.cache_meta
deleted file mode 100644
index 26c03cf..0000000
--- a/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam@otp@task.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam_otp.cache b/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam_otp.cache
deleted file mode 100644
index c447835..0000000
--- a/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam_otp.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam_otp.cache_meta b/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam_otp.cache_meta
deleted file mode 100644
index 6beed5e..0000000
--- a/aoc2023/build/lsp/erlang/gleam_otp/_gleam_artefacts/gleam_otp.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@base.cache b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@base.cache
deleted file mode 100644
index e295cef..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@base.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@base.cache_meta b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@base.cache_meta
deleted file mode 100644
index d03bd4e..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@base.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_array.cache b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_array.cache
deleted file mode 100644
index 6b43913..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_array.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_array.cache_meta b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_array.cache_meta
deleted file mode 100644
index 09e2f8a..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_array.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_builder.cache b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_builder.cache
deleted file mode 100644
index 122b269..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_builder.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_builder.cache_meta b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_builder.cache_meta
deleted file mode 100644
index b59a80e..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_builder.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_string.cache b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_string.cache
deleted file mode 100644
index 7a80622..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_string.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_string.cache_meta b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_string.cache_meta
deleted file mode 100644
index e7f013d..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bit_string.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bool.cache b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bool.cache
deleted file mode 100644
index 06a6c96..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bool.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bool.cache_meta b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bool.cache_meta
deleted file mode 100644
index e616ec0..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bool.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bytes_builder.cache b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bytes_builder.cache
deleted file mode 100644
index 01ea426..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bytes_builder.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bytes_builder.cache_meta b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bytes_builder.cache_meta
deleted file mode 100644
index 701db1f..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@bytes_builder.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@dict.cache b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@dict.cache
deleted file mode 100644
index 49f4e5c..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@dict.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@dict.cache_meta b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@dict.cache_meta
deleted file mode 100644
index fd97a7e..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@dict.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@dynamic.cache b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@dynamic.cache
deleted file mode 100644
index cbc0f1c..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@dynamic.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@dynamic.cache_meta b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@dynamic.cache_meta
deleted file mode 100644
index e0ebbda..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@dynamic.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@float.cache b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@float.cache
deleted file mode 100644
index 189b9ad..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@float.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@float.cache_meta b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@float.cache_meta
deleted file mode 100644
index 8778fab..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@float.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@function.cache b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@function.cache
deleted file mode 100644
index 726a070..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@function.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@function.cache_meta b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@function.cache_meta
deleted file mode 100644
index 8bfae6d..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@function.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@int.cache b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@int.cache
deleted file mode 100644
index 83be3b0..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@int.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@int.cache_meta b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@int.cache_meta
deleted file mode 100644
index 7c99d5d..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@int.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@io.cache b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@io.cache
deleted file mode 100644
index b20af0e..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@io.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@io.cache_meta b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@io.cache_meta
deleted file mode 100644
index 48ca73e..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@io.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@iterator.cache b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@iterator.cache
deleted file mode 100644
index c3d8348..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@iterator.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@iterator.cache_meta b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@iterator.cache_meta
deleted file mode 100644
index fb52d57..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@iterator.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@list.cache b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@list.cache
deleted file mode 100644
index 752dab0..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@list.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@list.cache_meta b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@list.cache_meta
deleted file mode 100644
index 6587875..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@list.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@map.cache b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@map.cache
deleted file mode 100644
index ba87194..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@map.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@map.cache_meta b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@map.cache_meta
deleted file mode 100644
index 0b52486..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@map.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@option.cache b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@option.cache
deleted file mode 100644
index 100fb62..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@option.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@option.cache_meta b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@option.cache_meta
deleted file mode 100644
index 8b36f47..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@option.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@order.cache b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@order.cache
deleted file mode 100644
index cf6532f..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@order.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@order.cache_meta b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@order.cache_meta
deleted file mode 100644
index 2395015..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@order.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@pair.cache b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@pair.cache
deleted file mode 100644
index 8b90bd7..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@pair.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@pair.cache_meta b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@pair.cache_meta
deleted file mode 100644
index a2089a5..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@pair.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@queue.cache b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@queue.cache
deleted file mode 100644
index cbb4139..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@queue.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@queue.cache_meta b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@queue.cache_meta
deleted file mode 100644
index 6ec02d2..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@queue.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@regex.cache b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@regex.cache
deleted file mode 100644
index 04900e9..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@regex.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@regex.cache_meta b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@regex.cache_meta
deleted file mode 100644
index d6129ae..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@regex.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@result.cache b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@result.cache
deleted file mode 100644
index fa35d18..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@result.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@result.cache_meta b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@result.cache_meta
deleted file mode 100644
index f4e8874..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@result.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@set.cache b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@set.cache
deleted file mode 100644
index d33ebc9..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@set.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@set.cache_meta b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@set.cache_meta
deleted file mode 100644
index e4e832b..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@set.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@string.cache b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@string.cache
deleted file mode 100644
index 64e10ec..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@string.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@string.cache_meta b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@string.cache_meta
deleted file mode 100644
index 0f375fd..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@string.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@string_builder.cache b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@string_builder.cache
deleted file mode 100644
index 2130157..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@string_builder.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@string_builder.cache_meta b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@string_builder.cache_meta
deleted file mode 100644
index b367bfd..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@string_builder.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@uri.cache b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@uri.cache
deleted file mode 100644
index 0e387bb..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@uri.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@uri.cache_meta b/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@uri.cache_meta
deleted file mode 100644
index 2ae412b..0000000
--- a/aoc2023/build/lsp/erlang/gleam_stdlib/_gleam_artefacts/gleam@uri.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/gleam_version b/aoc2023/build/lsp/erlang/gleam_version
deleted file mode 100644
index 048acbd..0000000
--- a/aoc2023/build/lsp/erlang/gleam_version
+++ /dev/null
@@ -1 +0,0 @@
-0.33.0-rc2 \ No newline at end of file
diff --git a/aoc2023/build/lsp/erlang/glint/_gleam_artefacts/glint.cache b/aoc2023/build/lsp/erlang/glint/_gleam_artefacts/glint.cache
deleted file mode 100644
index eb7ff68..0000000
--- a/aoc2023/build/lsp/erlang/glint/_gleam_artefacts/glint.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/glint/_gleam_artefacts/glint.cache_meta b/aoc2023/build/lsp/erlang/glint/_gleam_artefacts/glint.cache_meta
deleted file mode 100644
index 961512a..0000000
--- a/aoc2023/build/lsp/erlang/glint/_gleam_artefacts/glint.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/glint/_gleam_artefacts/glint@flag.cache b/aoc2023/build/lsp/erlang/glint/_gleam_artefacts/glint@flag.cache
deleted file mode 100644
index 80596e9..0000000
--- a/aoc2023/build/lsp/erlang/glint/_gleam_artefacts/glint@flag.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/glint/_gleam_artefacts/glint@flag.cache_meta b/aoc2023/build/lsp/erlang/glint/_gleam_artefacts/glint@flag.cache_meta
deleted file mode 100644
index 1c9f1af..0000000
--- a/aoc2023/build/lsp/erlang/glint/_gleam_artefacts/glint@flag.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/glint/_gleam_artefacts/glint@flag@constraint.cache b/aoc2023/build/lsp/erlang/glint/_gleam_artefacts/glint@flag@constraint.cache
deleted file mode 100644
index cc6fd56..0000000
--- a/aoc2023/build/lsp/erlang/glint/_gleam_artefacts/glint@flag@constraint.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/glint/_gleam_artefacts/glint@flag@constraint.cache_meta b/aoc2023/build/lsp/erlang/glint/_gleam_artefacts/glint@flag@constraint.cache_meta
deleted file mode 100644
index 9339182..0000000
--- a/aoc2023/build/lsp/erlang/glint/_gleam_artefacts/glint@flag@constraint.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/simplifile/_gleam_artefacts/simplifile.cache b/aoc2023/build/lsp/erlang/simplifile/_gleam_artefacts/simplifile.cache
deleted file mode 100644
index 6012ccd..0000000
--- a/aoc2023/build/lsp/erlang/simplifile/_gleam_artefacts/simplifile.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/simplifile/_gleam_artefacts/simplifile.cache_meta b/aoc2023/build/lsp/erlang/simplifile/_gleam_artefacts/simplifile.cache_meta
deleted file mode 100644
index 2120b13..0000000
--- a/aoc2023/build/lsp/erlang/simplifile/_gleam_artefacts/simplifile.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/snag/_gleam_artefacts/snag.cache b/aoc2023/build/lsp/erlang/snag/_gleam_artefacts/snag.cache
deleted file mode 100644
index 72355df..0000000
--- a/aoc2023/build/lsp/erlang/snag/_gleam_artefacts/snag.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/snag/_gleam_artefacts/snag.cache_meta b/aoc2023/build/lsp/erlang/snag/_gleam_artefacts/snag.cache_meta
deleted file mode 100644
index 181b01e..0000000
--- a/aoc2023/build/lsp/erlang/snag/_gleam_artefacts/snag.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/tom/_gleam_artefacts/tom.cache b/aoc2023/build/lsp/erlang/tom/_gleam_artefacts/tom.cache
deleted file mode 100644
index c632faf..0000000
--- a/aoc2023/build/lsp/erlang/tom/_gleam_artefacts/tom.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/erlang/tom/_gleam_artefacts/tom.cache_meta b/aoc2023/build/lsp/erlang/tom/_gleam_artefacts/tom.cache_meta
deleted file mode 100644
index 3371771..0000000
--- a/aoc2023/build/lsp/erlang/tom/_gleam_artefacts/tom.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/lsp/javascript/gleam.lock b/aoc2023/build/lsp/javascript/gleam.lock
deleted file mode 100644
index e69de29..0000000
--- a/aoc2023/build/lsp/javascript/gleam.lock
+++ /dev/null
diff --git a/aoc2023/build/packages/adglent/LICENSE b/aoc2023/build/packages/adglent/LICENSE
deleted file mode 100644
index c7c82cc..0000000
--- a/aoc2023/build/packages/adglent/LICENSE
+++ /dev/null
@@ -1,201 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
-TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
-2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
-3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
-4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
-5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
-6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
-7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
-8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
-9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
-END OF TERMS AND CONDITIONS
-
-APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
-Copyright 2023 John Björk
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
diff --git a/aoc2023/build/packages/adglent/README.md b/aoc2023/build/packages/adglent/README.md
deleted file mode 100644
index fcd81eb..0000000
--- a/aoc2023/build/packages/adglent/README.md
+++ /dev/null
@@ -1,115 +0,0 @@
-# adglent
-
-[![Package Version](https://img.shields.io/hexpm/v/adglent)](https://hex.pm/packages/adglent)
-[![Hex Docs](https://img.shields.io/badge/hex-docs-ffaff3)](https://hexdocs.pm/adglent/)
-
-## About
-
-`adglent` is a Gleam library which can be used to setup testing code and a template for implementing solution to [Advent of code](https://adventofcode.com/) problems.
-
-> NOTE: `adglent` **only** supports `erlang` target (default) for Gleam.
-
-## Prerequisites
-
-`adglent` is written in `gleam` and runs and tests solutions written in Gleam. Read more about `gleam` at [gleam.run](https://gleam.run).
-
-The easiest way to install `gleam` is to use `asdf`:
-
-1. Install `asdf` according to the instructions at the [asdf website](https://asdf-vm.com/)
-2. Install the gleam asdf plugin: `asdf plugin-add gleam`
-3. Install the latest `asdf install gleam latest`
-4. Use the latest gleam version globally: `asdf global gleam latest`
-
-> HINT: `asdf` can manage multiple versions of gleam and the version can be set globally and also locally (`asdf local gleam <VERSION>`) to use a specific gleam version in a project.
-
-## Installation
-
-Start a new gleam project for your AOC soluctions with `gleam new`. In the project folder run:
-
-```sh
-gleam add --dev adglent
-```
-
-## Usage
-
-### Initializing
-
-First log in to [Advent of code](https://adventofcode.com/) and copy your personal `session-cookie`. The value can be found using developer tools in the browser (in Chrome: "Application->Cookies->https://adventofcode.com->session" and copy the Cookie-value)
-
-```sh
-gleam run -m adglent/init
-```
-
-Input the AOC year, you personal AOC session cookie and select if `showtime` should be used for tests (otherwise it will assume the project uses `gleeunit` as is default for `gleam new <project>`)
-
-> NOTE: `showtime` is an alternate gleam test-runner. It is still quite new and havn't been tested in as many project as `gleeunit`. It has a different way of formatting the test-results and also supports the possibility to run specific test-modules (which can be useful in AOC). `showtime` is a standalone project but have been embedded into `adglent`.
-
-### Add day
-
-To start working on the solution for a specific day run:
-
-```sh
-gleam run -m adglent/day <NUM>
-```
-
-Where `<NUM>` is the day number of the day you want to solve a problem for.
-
-> Example (start solving 1st of December):
->
-> ```sh
-> gleam run -m adglent/day 1
-> ```
-
-Adding a day will add tests in `test/day<NUM>/day<NUM>_test.gleam`and a `src/day<NUM>/solve.gleam` file where the solution can be implemented.
-
-Furthermore it will also download the input for the problem to `src/day<NUM>/input.txt`
-
-Before running the tests you need to provide one or more example. These can be found in the problem description for that day at the AOC website.
-
-Add an example to a part of the problem by adding examples to the `part1_examples` or `part2_examples` lists.
-
-> Example (input "Hello Joe!" should give answer 613411):
->
-> ```gleam
-> const part1_examples: List(Example(Problem1AnswerType)) = [
-> Example("Hello Joe!", "613411"),
-> ]
-> ```
-
-The type of the answer for a part can be adjusted if needed by changing the type aliases `Problem1AnswerType` / `Problem2AnswerType`. Note that this will change the type that the `part1` / `part2` functions in `solve.gleam` expect to return.
-
-### Testing
-
-To test all days in the project use:
-
-```sh
-gleam test
-```
-
-If you are using `showtime` you can test a single day by running:
-
-```sh
-gleam test -- --modules=day<NUM>/day<NUM>_test
-```
-
-> Example (test solution for 1st of December):
->
-> ```sh
-> gleam test -- modules=day1/day1_test
-> ```
-
-### Get the answer
-
-To get the (hopefully correct) answer after the tests are ok run:
-
-```sh
-gleam run -m day<NUM>/solve <PART>
-```
-
-where `<NUM>` is the day to solve and `<PART>` is the part of the problem (1 or 2) to solve.
-
-This will run the solver and print the answer to stdout.
-
-### Module documentation
-
-Module documentation can be found at <https://hexdocs.pm/adglent>.
diff --git a/aoc2023/build/packages/adglent/gleam.toml b/aoc2023/build/packages/adglent/gleam.toml
deleted file mode 100644
index e1d81b8..0000000
--- a/aoc2023/build/packages/adglent/gleam.toml
+++ /dev/null
@@ -1,29 +0,0 @@
-name = "adglent"
-version = "1.2.0"
-
-description = "Advent of code helper - automating setup of tests, solution template and problem input"
-licences = ["Apache-2.0"]
-repository = { type = "github", user = "JohnBjrk", repo = "adglent" }
-
-internal_modules = [
- "adglent/priv",
- "adglent/priv/*",
- "showtime/internal/*",
-]
-gleam = ">= 0.32.0"
-
-[dependencies]
-gleam_stdlib = "~> 0.32"
-simplifile = "~> 1.0"
-gleam_http = "~> 3.5"
-gleam_erlang = "~> 0.23.0"
-gleam_otp = "~> 0.8.0"
-gleam_community_ansi = "~> 1.2"
-glint = "~> 0.13.0"
-gap = "~> 1.0"
-snag = "~> 0.2.0"
-tom = "~> 0.2.0"
-gleam_httpc = "~> 2.1"
-
-[dev-dependencies]
-gleeunit = "~> 1.0"
diff --git a/aoc2023/build/packages/adglent/include/adglent_Example.hrl b/aoc2023/build/packages/adglent/include/adglent_Example.hrl
deleted file mode 100644
index 615e473..0000000
--- a/aoc2023/build/packages/adglent/include/adglent_Example.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(example, {input :: binary(), answer :: any()}).
diff --git a/aoc2023/build/packages/adglent/include/priv@toml_TomGetError.hrl b/aoc2023/build/packages/adglent/include/priv@toml_TomGetError.hrl
deleted file mode 100644
index 4cd5ddd..0000000
--- a/aoc2023/build/packages/adglent/include/priv@toml_TomGetError.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(tom_get_error, {error :: tom:get_error()}).
diff --git a/aoc2023/build/packages/adglent/include/priv@toml_TomParseError.hrl b/aoc2023/build/packages/adglent/include/priv@toml_TomParseError.hrl
deleted file mode 100644
index 7306934..0000000
--- a/aoc2023/build/packages/adglent/include/priv@toml_TomParseError.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(tom_parse_error, {error :: tom:parse_error()}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@common_event_handler_Finished.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@common_event_handler_Finished.hrl
deleted file mode 100644
index 7d24e52..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@common_event_handler_Finished.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(finished, {num_modules :: integer()}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@common_event_handler_HandlerState.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@common_event_handler_HandlerState.hrl
deleted file mode 100644
index 2eceb23..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@common_event_handler_HandlerState.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(handler_state, {
- test_state :: showtime@internal@common@common_event_handler:test_state(),
- num_done :: integer(),
- events :: gleam@map:map_(binary(), gleam@map:map_(binary(), showtime@internal@common@test_suite:test_run()))
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_ArgList.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_ArgList.hrl
deleted file mode 100644
index 79f34f8..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_ArgList.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(arg_list, {arg_list :: list(gleam@dynamic:dynamic_())}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_AssertEqual.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_AssertEqual.hrl
deleted file mode 100644
index c6458ba..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_AssertEqual.hrl
+++ /dev/null
@@ -1,3 +0,0 @@
--record(assert_equal, {
- details :: list(showtime@internal@common@test_result:reason_detail())
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_AssertMatch.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_AssertMatch.hrl
deleted file mode 100644
index 4920304..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_AssertMatch.hrl
+++ /dev/null
@@ -1,3 +0,0 @@
--record(assert_match, {
- details :: list(showtime@internal@common@test_result:reason_detail())
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_AssertNotEqual.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_AssertNotEqual.hrl
deleted file mode 100644
index 221c15f..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_AssertNotEqual.hrl
+++ /dev/null
@@ -1,3 +0,0 @@
--record(assert_not_equal, {
- details :: list(showtime@internal@common@test_result:reason_detail())
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_ErlangException.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_ErlangException.hrl
deleted file mode 100644
index 9a31ba8..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_ErlangException.hrl
+++ /dev/null
@@ -1,6 +0,0 @@
--record(erlang_exception, {
- class :: showtime@internal@common@test_result:class(),
- reason :: showtime@internal@common@test_result:reason(),
- stacktrace :: showtime@internal@common@test_result:trace_list(),
- output_buffer :: list(binary())
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_ErrorInfo.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_ErrorInfo.hrl
deleted file mode 100644
index 97d0802..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_ErrorInfo.hrl
+++ /dev/null
@@ -1,3 +0,0 @@
--record(error_info, {
- error_info :: gleam@map:map_(gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_())
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Expected.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Expected.hrl
deleted file mode 100644
index 5e40ad3..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Expected.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(expected, {value :: gleam@dynamic:dynamic_()}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Expression.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Expression.hrl
deleted file mode 100644
index 7aa0c35..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Expression.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(expression, {expression :: binary()}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_File.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_File.hrl
deleted file mode 100644
index 1274b74..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_File.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(file, {filename :: binary()}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_GenericException.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_GenericException.hrl
deleted file mode 100644
index 7c33d0d..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_GenericException.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(generic_exception, {value :: gleam@dynamic:dynamic_()}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_GleamAssert.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_GleamAssert.hrl
deleted file mode 100644
index 095748c..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_GleamAssert.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(gleam_assert, {value :: gleam@dynamic:dynamic_(), line_no :: integer()}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_GleamError.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_GleamError.hrl
deleted file mode 100644
index 68e6645..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_GleamError.hrl
+++ /dev/null
@@ -1,3 +0,0 @@
--record(gleam_error, {
- details :: showtime@internal@common@test_result:gleam_error_detail()
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Ignored.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Ignored.hrl
deleted file mode 100644
index 87b7e2f..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Ignored.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(ignored, {reason :: showtime@internal@common@test_result:ignore_reason()}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_LetAssert.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_LetAssert.hrl
deleted file mode 100644
index 5f3f60d..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_LetAssert.hrl
+++ /dev/null
@@ -1,7 +0,0 @@
--record(let_assert, {
- module :: binary(),
- function :: binary(),
- line_no :: integer(),
- message :: binary(),
- value :: gleam@dynamic:dynamic_()
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Line.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Line.hrl
deleted file mode 100644
index 9807df6..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Line.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(line, {line_no :: integer()}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Module.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Module.hrl
deleted file mode 100644
index 8002c0c..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Module.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(module, {name :: binary()}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Num.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Num.hrl
deleted file mode 100644
index c36efa3..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Num.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(num, {arity :: integer()}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Pattern.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Pattern.hrl
deleted file mode 100644
index 6aa9c84..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Pattern.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(pattern, {pattern :: binary()}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_ReasonLine.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_ReasonLine.hrl
deleted file mode 100644
index b7ad1ab..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_ReasonLine.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(reason_line, {line_no :: integer()}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_TestFunctionReturn.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_TestFunctionReturn.hrl
deleted file mode 100644
index b0bc294..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_TestFunctionReturn.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(test_function_return, {
- value :: gleam@dynamic:dynamic_(),
- output_buffer :: list(binary())
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Trace.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Trace.hrl
deleted file mode 100644
index 4cb007c..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Trace.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(trace, {
- function :: binary(),
- arity :: showtime@internal@common@test_result:arity_(),
- extra_info :: list(showtime@internal@common@test_result:extra_info())
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_TraceList.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_TraceList.hrl
deleted file mode 100644
index c1aa9c5..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_TraceList.hrl
+++ /dev/null
@@ -1,3 +0,0 @@
--record(trace_list, {
- traces :: list(showtime@internal@common@test_result:trace())
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_TraceModule.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_TraceModule.hrl
deleted file mode 100644
index 595362f..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_TraceModule.hrl
+++ /dev/null
@@ -1,6 +0,0 @@
--record(trace_module, {
- module :: binary(),
- function :: binary(),
- arity :: showtime@internal@common@test_result:arity_(),
- extra_info :: list(showtime@internal@common@test_result:extra_info())
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Value.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Value.hrl
deleted file mode 100644
index 3a4b0dd..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_result_Value.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(value, {value :: gleam@dynamic:dynamic_()}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_CompletedTestRun.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_CompletedTestRun.hrl
deleted file mode 100644
index 927a0cf..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_CompletedTestRun.hrl
+++ /dev/null
@@ -1,6 +0,0 @@
--record(completed_test_run, {
- test_function :: showtime@internal@common@test_suite:test_function(),
- total_time :: integer(),
- result :: {ok, showtime@internal@common@test_result:test_return()} |
- {error, showtime@internal@common@test_result:exception()}
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_EndTest.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_EndTest.hrl
deleted file mode 100644
index 13df1bf..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_EndTest.hrl
+++ /dev/null
@@ -1,6 +0,0 @@
--record(end_test, {
- test_module :: showtime@internal@common@test_suite:test_module(),
- test_function :: showtime@internal@common@test_suite:test_function(),
- result :: {ok, showtime@internal@common@test_result:test_return()} |
- {error, showtime@internal@common@test_result:exception()}
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_EndTestRun.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_EndTestRun.hrl
deleted file mode 100644
index 3f78991..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_EndTestRun.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(end_test_run, {num_modules :: integer()}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_EndTestSuite.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_EndTestSuite.hrl
deleted file mode 100644
index a7f37b3..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_EndTestSuite.hrl
+++ /dev/null
@@ -1,3 +0,0 @@
--record(end_test_suite, {
- test_module :: showtime@internal@common@test_suite:test_module()
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_OngoingTestRun.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_OngoingTestRun.hrl
deleted file mode 100644
index f52e5cc..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_OngoingTestRun.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(ongoing_test_run, {
- test_function :: showtime@internal@common@test_suite:test_function(),
- started_at :: integer()
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_StartTest.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_StartTest.hrl
deleted file mode 100644
index d532609..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_StartTest.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(start_test, {
- test_module :: showtime@internal@common@test_suite:test_module(),
- test_function :: showtime@internal@common@test_suite:test_function()
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_StartTestSuite.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_StartTestSuite.hrl
deleted file mode 100644
index d5a03d3..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_StartTestSuite.hrl
+++ /dev/null
@@ -1,3 +0,0 @@
--record(start_test_suite, {
- test_module :: showtime@internal@common@test_suite:test_module()
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_TestFunction.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_TestFunction.hrl
deleted file mode 100644
index a783ba4..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_TestFunction.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(test_function, {name :: binary()}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_TestModule.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_TestModule.hrl
deleted file mode 100644
index ee9baaf..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_TestModule.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(test_module, {name :: binary(), path :: gleam@option:option(binary())}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_TestSuite.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_TestSuite.hrl
deleted file mode 100644
index 253a946..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@common@test_suite_TestSuite.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(test_suite, {
- module :: showtime@internal@common@test_suite:test_module(),
- tests :: list(showtime@internal@common@test_suite:test_function())
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@reports@table_AlignLeft.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@reports@table_AlignLeft.hrl
deleted file mode 100644
index ca52968..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@reports@table_AlignLeft.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(align_left, {
- content :: showtime@internal@reports@table:content(),
- margin :: integer()
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@reports@table_AlignLeftOverflow.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@reports@table_AlignLeftOverflow.hrl
deleted file mode 100644
index 8d5a673..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@reports@table_AlignLeftOverflow.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(align_left_overflow, {
- content :: showtime@internal@reports@table:content(),
- margin :: integer()
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@reports@table_AlignRight.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@reports@table_AlignRight.hrl
deleted file mode 100644
index 7f7a3f0..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@reports@table_AlignRight.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(align_right, {
- content :: showtime@internal@reports@table:content(),
- margin :: integer()
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@reports@table_AlignRightOverflow.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@reports@table_AlignRightOverflow.hrl
deleted file mode 100644
index 4fc4536..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@reports@table_AlignRightOverflow.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(align_right_overflow, {
- content :: showtime@internal@reports@table:content(),
- margin :: integer()
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@reports@table_Aligned.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@reports@table_Aligned.hrl
deleted file mode 100644
index 2343dfd..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@reports@table_Aligned.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(aligned, {content :: binary()}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@reports@table_Content.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@reports@table_Content.hrl
deleted file mode 100644
index 044891b..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@reports@table_Content.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(content, {unstyled_text :: binary()}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@reports@table_Separator.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@reports@table_Separator.hrl
deleted file mode 100644
index db3f822..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@reports@table_Separator.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(separator, {char :: binary()}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@reports@table_StyledContent.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@reports@table_StyledContent.hrl
deleted file mode 100644
index ed500df..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@reports@table_StyledContent.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(styled_content, {styled_text :: binary()}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@internal@reports@table_Table.hrl b/aoc2023/build/packages/adglent/include/showtime@internal@reports@table_Table.hrl
deleted file mode 100644
index 5b41bb1..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@internal@reports@table_Table.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(table, {
- header :: gleam@option:option(binary()),
- rows :: list(list(showtime@internal@reports@table:col()))
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@tests@meta_Meta.hrl b/aoc2023/build/packages/adglent/include/showtime@tests@meta_Meta.hrl
deleted file mode 100644
index 14184fb..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@tests@meta_Meta.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(meta, {description :: binary(), tags :: list(binary())}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@tests@should_Eq.hrl b/aoc2023/build/packages/adglent/include/showtime@tests@should_Eq.hrl
deleted file mode 100644
index 6ebea34..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@tests@should_Eq.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(eq, {
- a :: any(),
- b :: any(),
- meta :: gleam@option:option(showtime@tests@meta:meta())
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@tests@should_Fail.hrl b/aoc2023/build/packages/adglent/include/showtime@tests@should_Fail.hrl
deleted file mode 100644
index cf06a3c..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@tests@should_Fail.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(fail, {meta :: gleam@option:option(showtime@tests@meta:meta())}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@tests@should_IsError.hrl b/aoc2023/build/packages/adglent/include/showtime@tests@should_IsError.hrl
deleted file mode 100644
index e9cabf3..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@tests@should_IsError.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(is_error, {
- a :: {ok, any()} | {error, any()},
- meta :: gleam@option:option(showtime@tests@meta:meta())
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@tests@should_IsOk.hrl b/aoc2023/build/packages/adglent/include/showtime@tests@should_IsOk.hrl
deleted file mode 100644
index 37c24ca..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@tests@should_IsOk.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(is_ok, {
- a :: {ok, any()} | {error, any()},
- meta :: gleam@option:option(showtime@tests@meta:meta())
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@tests@should_NotEq.hrl b/aoc2023/build/packages/adglent/include/showtime@tests@should_NotEq.hrl
deleted file mode 100644
index 2a6bf48..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@tests@should_NotEq.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(not_eq, {
- a :: any(),
- b :: any(),
- meta :: gleam@option:option(showtime@tests@meta:meta())
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@tests@test_MetaShould.hrl b/aoc2023/build/packages/adglent/include/showtime@tests@test_MetaShould.hrl
deleted file mode 100644
index a814a93..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@tests@test_MetaShould.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(meta_should, {
- equal :: fun((any(), any()) -> nil),
- not_equal :: fun((any(), any()) -> nil)
-}).
diff --git a/aoc2023/build/packages/adglent/include/showtime@tests@test_Test.hrl b/aoc2023/build/packages/adglent/include/showtime@tests@test_Test.hrl
deleted file mode 100644
index e75a0b7..0000000
--- a/aoc2023/build/packages/adglent/include/showtime@tests@test_Test.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(test, {
- meta :: showtime@tests@meta:meta(),
- test_function :: fun(() -> nil)
-}).
diff --git a/aoc2023/build/packages/adglent/src/adglent.app.src b/aoc2023/build/packages/adglent/src/adglent.app.src
deleted file mode 100644
index aa44f8b..0000000
--- a/aoc2023/build/packages/adglent/src/adglent.app.src
+++ /dev/null
@@ -1,45 +0,0 @@
-{application, adglent, [
- {vsn, "1.2.0"},
- {applications, [gap,
- gleam_community_ansi,
- gleam_erlang,
- gleam_http,
- gleam_httpc,
- gleam_otp,
- gleam_stdlib,
- gleeunit,
- glint,
- simplifile,
- snag,
- tom]},
- {description, "Advent of code helper - automating setup of tests, solution template and problem input"},
- {modules, [adglent,
- adglent@day,
- adglent@init,
- priv@aoc_client,
- priv@errors,
- priv@prompt,
- priv@template,
- priv@templates@solution,
- priv@templates@test_main,
- priv@templates@testfile_gleeunit,
- priv@templates@testfile_showtime,
- priv@toml,
- showtime,
- showtime@internal@common@cli,
- showtime@internal@common@common_event_handler,
- showtime@internal@common@test_result,
- showtime@internal@common@test_suite,
- showtime@internal@erlang@discover,
- showtime@internal@erlang@event_handler,
- showtime@internal@erlang@module_handler,
- showtime@internal@erlang@runner,
- showtime@internal@reports@compare,
- showtime@internal@reports@formatter,
- showtime@internal@reports@styles,
- showtime@internal@reports@table,
- showtime@tests@meta,
- showtime@tests@should,
- showtime@tests@test]},
- {registered, []}
-]}.
diff --git a/aoc2023/build/packages/adglent/src/adglent.erl b/aoc2023/build/packages/adglent/src/adglent.erl
deleted file mode 100644
index e9df2b7..0000000
--- a/aoc2023/build/packages/adglent/src/adglent.erl
+++ /dev/null
@@ -1,55 +0,0 @@
--module(adglent).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([inspect/1, get_input/1, get_test_folder/1, start_arguments/0, get_part/0]).
--export_type([example/1, problem/0, charlist/0]).
-
--type example(OFF) :: {example, binary(), OFF}.
-
--type problem() :: first | second.
-
--type charlist() :: any().
-
--spec inspect(any()) -> binary().
-inspect(Value) ->
- Inspected_value = gleam@string:inspect(Value),
- case begin
- _pipe = Inspected_value,
- gleam@string:starts_with(_pipe, <<"\""/utf8>>)
- end of
- true ->
- _pipe@1 = Inspected_value,
- _pipe@2 = gleam@string:drop_left(_pipe@1, 1),
- gleam@string:drop_right(_pipe@2, 1);
-
- false ->
- Inspected_value
- end.
-
--spec get_input(binary()) -> {ok, binary()} | {error, simplifile:file_error()}.
-get_input(Day) ->
- simplifile:read(
- <<<<"src/day"/utf8, Day/binary>>/binary, "/input.txt"/utf8>>
- ).
-
--spec get_test_folder(binary()) -> binary().
-get_test_folder(Day) ->
- <<"test/day"/utf8, Day/binary>>.
-
--spec start_arguments() -> list(binary()).
-start_arguments() ->
- _pipe = init:get_plain_arguments(),
- gleam@list:map(_pipe, fun unicode:characters_to_binary/1).
-
--spec get_part() -> {ok, problem()} | {error, nil}.
-get_part() ->
- case start_arguments() of
- [<<"1"/utf8>>] ->
- {ok, first};
-
- [<<"2"/utf8>>] ->
- {ok, second};
-
- _ ->
- {error, nil}
- end.
diff --git a/aoc2023/build/packages/adglent/src/adglent.gleam b/aoc2023/build/packages/adglent/src/adglent.gleam
deleted file mode 100644
index 077d49d..0000000
--- a/aoc2023/build/packages/adglent/src/adglent.gleam
+++ /dev/null
@@ -1,56 +0,0 @@
-import simplifile.{type FileError}
-import gleam/list
-import gleam/string
-
-pub type Example(a) {
- Example(input: String, answer: a)
-}
-
-pub fn inspect(value: a) -> String {
- let inspected_value = string.inspect(value)
- case
- inspected_value
- |> string.starts_with("\"")
- {
- True ->
- inspected_value
- |> string.drop_left(1)
- |> string.drop_right(1)
- False -> inspected_value
- }
-}
-
-pub fn get_input(day: String) -> Result(String, FileError) {
- simplifile.read("src/day" <> day <> "/input.txt")
-}
-
-pub fn get_test_folder(day: String) -> String {
- "test/day" <> day
-}
-
-pub type Problem {
- First
- Second
-}
-
-pub fn get_part() -> Result(Problem, Nil) {
- case start_arguments() {
- ["1"] -> Ok(First)
- ["2"] -> Ok(Second)
- _ -> Error(Nil)
- }
-}
-
-pub fn start_arguments() -> List(String) {
- get_start_arguments()
- |> list.map(to_string)
-}
-
-type Charlist
-
-/// Transform a charlist to a string
-@external(erlang, "unicode", "characters_to_binary")
-fn to_string(a: Charlist) -> String
-
-@external(erlang, "init", "get_plain_arguments")
-fn get_start_arguments() -> List(Charlist)
diff --git a/aoc2023/build/packages/adglent/src/adglent/day.gleam b/aoc2023/build/packages/adglent/src/adglent/day.gleam
deleted file mode 100644
index 69e4ccc..0000000
--- a/aoc2023/build/packages/adglent/src/adglent/day.gleam
+++ /dev/null
@@ -1,126 +0,0 @@
-import adglent
-import gleam/string
-import gleam/result
-import priv/template
-import priv/templates/testfile_gleeunit
-import priv/templates/testfile_showtime
-import priv/templates/solution
-import priv/toml
-import priv/aoc_client
-import priv/errors
-import simplifile
-
-pub fn main() {
- let day =
- case adglent.start_arguments() {
- [day] -> Ok(day)
- args -> Error("Expected day - found: " <> string.join(args, ", "))
- }
- |> errors.map_error("Error when parsing command args")
- |> errors.print_error
- |> errors.assert_ok
-
- let aoc_toml =
- simplifile.read("aoc.toml")
- |> errors.map_error("Could not read aoc.toml")
- |> errors.print_error
- |> errors.assert_ok
-
- let aoc_toml_version = toml.get_int(aoc_toml, ["version"])
- let year =
- toml.get_string(aoc_toml, ["year"])
- |> errors.map_error("Could not read \"year\" from aoc.toml")
- |> errors.print_error
- |> errors.assert_ok
- let session =
- toml.get_string(aoc_toml, ["session"])
- |> errors.map_error("Could not read \"session\" from aoc.toml")
- |> errors.print_error
- |> errors.assert_ok
-
- let showtime = case aoc_toml_version {
- Ok(2) -> {
- toml.get_bool(aoc_toml, ["showtime"])
- |> errors.map_error("Could not read \"showtime\" from aoc.toml")
- |> errors.print_error
- |> errors.assert_ok
- }
- _ ->
- toml.get_string(aoc_toml, ["showtime"])
- |> result.map(fn(bool_string) {
- case bool_string {
- "True" -> True
- _ -> False
- }
- })
- |> errors.map_error("Could not read \"showtime\" from aoc.toml")
- |> errors.print_error
- |> errors.assert_ok
- }
-
- let test_folder = adglent.get_test_folder(day)
- let test_file = test_folder <> "/day" <> day <> "_test.gleam"
-
- simplifile.create_directory_all(test_folder)
- |> errors.map_error("Could not create folder \"" <> test_folder <> "\"")
- |> errors.print_error
- |> errors.assert_ok
-
- let testfile_template = case showtime {
- True -> testfile_showtime.template
- False -> testfile_gleeunit.template
- }
-
- template.render(testfile_template, [#("day", day)])
- |> create_file_if_not_present(test_file)
- |> errors.print_result
- |> errors.assert_ok
-
- let solutions_folder = "src/day" <> day
- let solution_file = solutions_folder <> "/solve.gleam"
-
- simplifile.create_directory_all(solutions_folder)
- |> errors.map_error("Could not create folder \"" <> solutions_folder <> "\"")
- |> errors.print_error
- |> errors.assert_ok
-
- template.render(solution.template, [#("day", day)])
- |> create_file_if_not_present(solution_file)
- |> errors.print_result
- |> errors.assert_ok
-
- create_file_if_not_present("input.txt", solutions_folder <> "/.gitignore")
- |> errors.print_result
- |> errors.assert_ok
-
- let input =
- aoc_client.get_input(year, day, session)
- |> errors.map_error("Error when fetching input")
- |> errors.print_error
- |> errors.assert_ok
-
- input
- |> string.trim
- |> create_file_if_not_present(solutions_folder <> "/input.txt")
- |> errors.print_result
- |> errors.assert_ok
-}
-
-fn create_file_if_not_present(
- content: String,
- path: String,
-) -> Result(String, String) {
- case simplifile.is_file(path) {
- True -> {
- Ok(path <> " already exists - skipped")
- }
- False -> {
- use _ <- result.try(
- simplifile.create_file(path)
- |> errors.map_messages("Created " <> path, "Could not create " <> path),
- )
- simplifile.write(content, to: path)
- |> errors.map_messages("Wrote " <> path, "Could not write to " <> path)
- }
- }
-}
diff --git a/aoc2023/build/packages/adglent/src/adglent/init.gleam b/aoc2023/build/packages/adglent/src/adglent/init.gleam
deleted file mode 100644
index 42eb833..0000000
--- a/aoc2023/build/packages/adglent/src/adglent/init.gleam
+++ /dev/null
@@ -1,110 +0,0 @@
-import priv/prompt
-import priv/template
-import priv/templates/test_main
-import priv/errors
-import priv/toml
-import simplifile
-import gleam/string
-import gleam/list
-import gleam/result
-import gleam/bool
-
-const aoc_toml_template = "
-version = {{ version }}
-year = \"{{ year }}\"
-session = \"{{ session }}\"
-showtime = {{ showtime }}
-"
-
-pub fn main() {
- let year = prompt.value("Year", "2023", False)
- let session = prompt.value("Session Cookie", "", False)
- let use_showtime = prompt.confirm("Use showtime", False)
-
- let aoc_toml_file = "aoc.toml"
- let overwrite = case simplifile.create_file(aoc_toml_file) {
- Ok(_) -> True
- Error(simplifile.Eexist) ->
- prompt.confirm("aoc.toml exits - overwrite", False)
- _ -> panic as "Could not create aoc.toml"
- }
- case overwrite {
- True -> {
- template.render(
- aoc_toml_template,
- [
- #("version", "2"),
- #("year", year),
- #("session", session),
- #(
- "showtime",
- bool.to_string(use_showtime)
- |> string.lowercase,
- ),
- ],
- )
- |> simplifile.write(to: aoc_toml_file)
- |> errors.map_messages(
- "aoc.toml - written",
- "Error when writing aoc.toml",
- )
- }
-
- False -> Ok("aoc.toml - skipped")
- }
- |> errors.print_result
-
- let gleam_toml =
- simplifile.read("gleam.toml")
- |> errors.map_error("Could not read gleam.toml")
- |> errors.print_error
- |> errors.assert_ok
-
- let name =
- toml.get_string(gleam_toml, ["name"])
- |> errors.map_error("Could not read \"name\" from gleam.toml")
- |> errors.print_error
- |> errors.assert_ok
-
- let test_main_file = "test/" <> name <> "_test.gleam"
-
- case use_showtime {
- True -> {
- template.render(test_main.template, [])
- |> simplifile.write(to: test_main_file)
- |> errors.map_messages(
- "Wrote " <> test_main_file,
- "Could not write to " <> test_main_file,
- )
- }
- False -> Ok("Using existing (gleeunit) " <> test_main_file)
- }
- |> errors.print_result
- |> errors.assert_ok
-
- case simplifile.is_file(".gitignore") {
- True -> {
- use gitignore <- result.try(
- simplifile.read(".gitignore")
- |> result.map_error(fn(err) {
- "Could not read .gitignore: " <> string.inspect(err)
- }),
- )
- let aoc_toml_ignored =
- string.split(gitignore, "\n")
- |> list.find(fn(line) { line == "aoc.toml" })
- case aoc_toml_ignored {
- Error(_) -> {
- simplifile.append("\naoc.toml", to: ".gitignore")
- |> errors.map_messages(
- ".gitignore written",
- "Error when writing .gitignore",
- )
- }
- Ok(_) -> Ok(".gitignore - skipped (already configured)")
- }
- }
- False -> Error("Could not find .gitignore")
- }
- |> errors.print_result
-}
diff --git a/aoc2023/build/packages/adglent/src/adglent@day.erl b/aoc2023/build/packages/adglent/src/adglent@day.erl
deleted file mode 100644
index b80368f..0000000
--- a/aoc2023/build/packages/adglent/src/adglent@day.erl
+++ /dev/null
@@ -1,278 +0,0 @@
--module(adglent@day).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([main/0]).
-
--spec create_file_if_not_present(binary(), binary()) -> {ok, binary()} |
- {error, binary()}.
-create_file_if_not_present(Content, Path) ->
- case simplifile:is_file(Path) of
- true ->
- {ok, <<Path/binary, " already exists - skipped"/utf8>>};
-
- false ->
- gleam@result:'try'(
- begin
- _pipe = simplifile:create_file(Path),
- priv@errors:map_messages(
- _pipe,
- <<"Created "/utf8, Path/binary>>,
- <<"Could not create "/utf8, Path/binary>>
- )
- end,
- fun(_) -> _pipe@1 = simplifile:write(Path, Content),
- priv@errors:map_messages(
- _pipe@1,
- <<"Wrote "/utf8, Path/binary>>,
- <<"Could not write to "/utf8, Path/binary>>
- ) end
- )
- end.
-
--spec main() -> binary().
-main() ->
- Day@1 = begin
- _pipe = case adglent:start_arguments() of
- [Day] ->
- {ok, Day};
-
- Args ->
- {error,
- <<"Expected day - found: "/utf8,
- (gleam@string:join(Args, <<", "/utf8>>))/binary>>}
- end,
- _pipe@1 = priv@errors:map_error(
- _pipe,
- <<"Error when parsing command args"/utf8>>
- ),
- _pipe@2 = priv@errors:print_error(_pipe@1),
- priv@errors:assert_ok(_pipe@2)
- end,
- Aoc_toml = begin
- _pipe@3 = simplifile:read(<<"aoc.toml"/utf8>>),
- _pipe@4 = priv@errors:map_error(
- _pipe@3,
- <<"Could not read aoc.toml"/utf8>>
- ),
- _pipe@5 = priv@errors:print_error(_pipe@4),
- priv@errors:assert_ok(_pipe@5)
- end,
- Aoc_toml_version = priv@toml:get_int(Aoc_toml, [<<"version"/utf8>>]),
- Year = begin
- _pipe@6 = priv@toml:get_string(Aoc_toml, [<<"year"/utf8>>]),
- _pipe@7 = priv@errors:map_error(
- _pipe@6,
- <<"Could not read \"year\" from aoc.toml"/utf8>>
- ),
- _pipe@8 = priv@errors:print_error(_pipe@7),
- priv@errors:assert_ok(_pipe@8)
- end,
- Session = begin
- _pipe@9 = priv@toml:get_string(Aoc_toml, [<<"session"/utf8>>]),
- _pipe@10 = priv@errors:map_error(
- _pipe@9,
- <<"Could not read \"session\" from aoc.toml"/utf8>>
- ),
- _pipe@11 = priv@errors:print_error(_pipe@10),
- priv@errors:assert_ok(_pipe@11)
- end,
- Showtime = case Aoc_toml_version of
- {ok, 2} ->
- _pipe@12 = priv@toml:get_bool(Aoc_toml, [<<"showtime"/utf8>>]),
- _pipe@13 = priv@errors:map_error(
- _pipe@12,
- <<"Could not read \"showtime\" from aoc.toml"/utf8>>
- ),
- _pipe@14 = priv@errors:print_error(_pipe@13),
- priv@errors:assert_ok(_pipe@14);
-
- _ ->
- _pipe@15 = priv@toml:get_string(Aoc_toml, [<<"showtime"/utf8>>]),
- _pipe@16 = gleam@result:map(
- _pipe@15,
- fun(Bool_string) -> case Bool_string of
- <<"True"/utf8>> ->
- true;
-
- _ ->
- false
- end end
- ),
- _pipe@17 = priv@errors:map_error(
- _pipe@16,
- <<"Could not read \"showtime\" from aoc.toml"/utf8>>
- ),
- _pipe@18 = priv@errors:print_error(_pipe@17),
- priv@errors:assert_ok(_pipe@18)
- end,
- Test_folder = adglent:get_test_folder(Day@1),
- Test_file = <<<<<<Test_folder/binary, "/day"/utf8>>/binary, Day@1/binary>>/binary,
- "_test.gleam"/utf8>>,
- _pipe@19 = simplifile:create_directory_all(Test_folder),
- _pipe@20 = priv@errors:map_error(
- _pipe@19,
- <<<<"Could not create folder \""/utf8, Test_folder/binary>>/binary,
- "\""/utf8>>
- ),
- _pipe@21 = priv@errors:print_error(_pipe@20),
- priv@errors:assert_ok(_pipe@21),
- Testfile_template = case Showtime of
- true ->
- <<"
-import gleam/list
-import showtime/tests/should
-import adglent.{type Example, Example}
-import day{{ day }}/solve
-
-type Problem1AnswerType =
- String
-
-type Problem2AnswerType =
- String
-
-/// Add examples for part 1 here:
-/// ```gleam
-///const part1_examples: List(Example(Problem1AnswerType)) = [Example(\"some input\", \"\")]
-/// ```
-const part1_examples: List(Example(Problem1AnswerType)) = []
-
-/// Add examples for part 2 here:
-/// ```gleam
-///const part2_examples: List(Example(Problem2AnswerType)) = [Example(\"some input\", \"\")]
-/// ```
-const part2_examples: List(Example(Problem2AnswerType)) = []
-
-pub fn part1_test() {
- part1_examples
- |> should.not_equal([])
- use example <- list.map(part1_examples)
- solve.part1(example.input)
- |> should.equal(example.answer)
-}
-
-pub fn part2_test() {
- part2_examples
- |> should.not_equal([])
- use example <- list.map(part2_examples)
- solve.part2(example.input)
- |> should.equal(example.answer)
-}
-
-"/utf8>>;
-
- false ->
- <<"
-import gleam/list
-import gleeunit/should
-import adglent.{type Example, Example}
-import day{{ day }}/solve
-
-type Problem1AnswerType =
- String
-
-type Problem2AnswerType =
- String
-
-/// Add examples for part 1 here:
-/// ```gleam
-///const part1_examples: List(Example(Problem1AnswerType)) = [Example(\"some input\", \"\")]
-/// ```
-const part1_examples: List(Example(Problem1AnswerType)) = []
-
-/// Add examples for part 2 here:
-/// ```gleam
-///const part2_examples: List(Example(Problem2AnswerType)) = [Example(\"some input\", \"\")]
-/// ```
-const part2_examples: List(Example(Problem2AnswerType)) = []
-
-pub fn part1_test() {
- part1_examples
- |> should.not_equal([])
- use example <- list.map(part1_examples)
- solve.part1(example.input)
- |> should.equal(example.answer)
-}
-
-pub fn part2_test() {
- part2_examples
- |> should.not_equal([])
- use example <- list.map(part2_examples)
- solve.part2(example.input)
- |> should.equal(example.answer)
-}
-
-"/utf8>>
- end,
- _pipe@22 = priv@template:render(
- Testfile_template,
- [{<<"day"/utf8>>, Day@1}]
- ),
- _pipe@23 = create_file_if_not_present(_pipe@22, Test_file),
- _pipe@24 = priv@errors:print_result(_pipe@23),
- priv@errors:assert_ok(_pipe@24),
- Solutions_folder = <<"src/day"/utf8, Day@1/binary>>,
- Solution_file = <<Solutions_folder/binary, "/solve.gleam"/utf8>>,
- _pipe@25 = simplifile:create_directory_all(Solutions_folder),
- _pipe@26 = priv@errors:map_error(
- _pipe@25,
- <<<<"Could not create folder \""/utf8, Solutions_folder/binary>>/binary,
- "\""/utf8>>
- ),
- _pipe@27 = priv@errors:print_error(_pipe@26),
- priv@errors:assert_ok(_pipe@27),
- _pipe@28 = priv@template:render(
- <<"
-import adglent.{First, Second}
-import gleam/io
-
-pub fn part1(input: String) {
- todo as \"Implement solution to part 1\"
-}
-
-pub fn part2(input: String) {
- todo as \"Implement solution to part 2\"
-}
-
-pub fn main() {
- let assert Ok(part) = adglent.get_part()
- let assert Ok(input) = adglent.get_input(\"{{ day }}\")
- case part {
- First ->
- part1(input)
- |> adglent.inspect
- |> io.println
- Second ->
- part2(input)
- |> adglent.inspect
- |> io.println
- }
-}
-"/utf8>>,
- [{<<"day"/utf8>>, Day@1}]
- ),
- _pipe@29 = create_file_if_not_present(_pipe@28, Solution_file),
- _pipe@30 = priv@errors:print_result(_pipe@29),
- priv@errors:assert_ok(_pipe@30),
- _pipe@31 = create_file_if_not_present(
- <<"input.txt"/utf8>>,
- <<Solutions_folder/binary, "/.gitignore"/utf8>>
- ),
- _pipe@32 = priv@errors:print_result(_pipe@31),
- priv@errors:assert_ok(_pipe@32),
- Input = begin
- _pipe@33 = priv@aoc_client:get_input(Year, Day@1, Session),
- _pipe@34 = priv@errors:map_error(
- _pipe@33,
- <<"Error when fetching input"/utf8>>
- ),
- _pipe@35 = priv@errors:print_error(_pipe@34),
- priv@errors:assert_ok(_pipe@35)
- end,
- _pipe@36 = Input,
- _pipe@37 = gleam@string:trim(_pipe@36),
- _pipe@38 = create_file_if_not_present(
- _pipe@37,
- <<Solutions_folder/binary, "/input.txt"/utf8>>
- ),
- _pipe@39 = priv@errors:print_result(_pipe@38),
- priv@errors:assert_ok(_pipe@39).
diff --git a/aoc2023/build/packages/adglent/src/adglent@init.erl b/aoc2023/build/packages/adglent/src/adglent@init.erl
deleted file mode 100644
index fb28101..0000000
--- a/aoc2023/build/packages/adglent/src/adglent@init.erl
+++ /dev/null
@@ -1,142 +0,0 @@
--module(adglent@init).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([main/0]).
-
--spec main() -> {ok, binary()} | {error, binary()}.
-main() ->
- Year = priv@prompt:value(<<"Year"/utf8>>, <<"2023"/utf8>>, false),
- Session = priv@prompt:value(<<"Session Cookie"/utf8>>, <<""/utf8>>, false),
- Use_showtime = priv@prompt:confirm(<<"Use showtime"/utf8>>, false),
- Aoc_toml_file = <<"aoc.toml"/utf8>>,
- Overwrite = case simplifile:create_file(Aoc_toml_file) of
- {ok, _} ->
- true;
-
- {error, eexist} ->
- priv@prompt:confirm(<<"aoc.toml exits - overwrite"/utf8>>, false);
-
- _ ->
- erlang:error(#{gleam_error => panic,
- message => <<"Could not create aoc.toml"/utf8>>,
- module => <<"adglent/init"/utf8>>,
- function => <<"main"/utf8>>,
- line => 29})
- end,
- _pipe@3 = case Overwrite of
- true ->
- _pipe@1 = priv@template:render(
- <<"
-version = {{ version }}
-year = \"{{ year }}\"
-session = \"{{ session }}\"
-showtime = {{ showtime }}
-"/utf8>>,
- [{<<"version"/utf8>>, <<"2"/utf8>>},
- {<<"year"/utf8>>, Year},
- {<<"session"/utf8>>, Session},
- {<<"showtime"/utf8>>,
- begin
- _pipe = gleam@bool:to_string(Use_showtime),
- gleam@string:lowercase(_pipe)
- end}]
- ),
- _pipe@2 = simplifile:write(Aoc_toml_file, _pipe@1),
- priv@errors:map_messages(
- _pipe@2,
- <<"aoc.toml - written"/utf8>>,
- <<"Error when writing aoc.toml"/utf8>>
- );
-
- false ->
- {ok, <<"aoc.toml - skipped"/utf8>>}
- end,
- priv@errors:print_result(_pipe@3),
- Gleam_toml = begin
- _pipe@4 = simplifile:read(<<"gleam.toml"/utf8>>),
- _pipe@5 = priv@errors:map_error(
- _pipe@4,
- <<"Could not read gleam.toml"/utf8>>
- ),
- _pipe@6 = priv@errors:print_error(_pipe@5),
- priv@errors:assert_ok(_pipe@6)
- end,
- Name = begin
- _pipe@7 = priv@toml:get_string(Gleam_toml, [<<"name"/utf8>>]),
- _pipe@8 = priv@errors:map_error(
- _pipe@7,
- <<"Could not read \"name\" from gleam.toml"/utf8>>
- ),
- _pipe@9 = priv@errors:print_error(_pipe@8),
- priv@errors:assert_ok(_pipe@9)
- end,
- Test_main_file = <<<<"test/"/utf8, Name/binary>>/binary,
- "_test.gleam"/utf8>>,
- _pipe@12 = case Use_showtime of
- true ->
- _pipe@10 = priv@template:render(
- <<"
-import showtime
-
-pub fn main() {
- showtime.main()
-}
-"/utf8>>,
- []
- ),
- _pipe@11 = simplifile:write(Test_main_file, _pipe@10),
- priv@errors:map_messages(
- _pipe@11,
- <<"Wrote "/utf8, Test_main_file/binary>>,
- <<"Could not write to "/utf8, Test_main_file/binary>>
- );
-
- false ->
- {ok, <<"Using existing (gleeunit) "/utf8, Test_main_file/binary>>}
- end,
- _pipe@13 = priv@errors:print_result(_pipe@12),
- priv@errors:assert_ok(_pipe@13),
- _pipe@17 = case simplifile:is_file(<<".gitignore"/utf8>>) of
- true ->
- gleam@result:'try'(
- begin
- _pipe@14 = simplifile:read(<<".gitignore"/utf8>>),
- gleam@result:map_error(
- _pipe@14,
- fun(Err) ->
- <<"Could not read .gitignore: "/utf8,
- (gleam@string:inspect(Err))/binary>>
- end
- )
- end,
- fun(Gitignore) ->
- Aoc_toml_ignored = begin
- _pipe@15 = gleam@string:split(Gitignore, <<"\n"/utf8>>),
- gleam@list:find(
- _pipe@15,
- fun(Line) -> Line =:= <<"aoc.toml"/utf8>> end
- )
- end,
- case Aoc_toml_ignored of
- {error, _} ->
- _pipe@16 = simplifile:append(
- <<".gitignore"/utf8>>,
- <<"\naoc.toml"/utf8>>
- ),
- priv@errors:map_messages(
- _pipe@16,
- <<".gitignore written"/utf8>>,
- <<"Error when writing .gitignore"/utf8>>
- );
-
- {ok, _} ->
- {ok,
- <<".gitignore - skipped (already configured)"/utf8>>}
- end
- end
- );
-
- false ->
- {error, <<"Could not find .gitignore"/utf8>>}
- end,
- priv@errors:print_result(_pipe@17).
diff --git a/aoc2023/build/packages/adglent/src/adglent_ffi.erl b/aoc2023/build/packages/adglent/src/adglent_ffi.erl
deleted file mode 100644
index a6a92e6..0000000
--- a/aoc2023/build/packages/adglent/src/adglent_ffi.erl
+++ /dev/null
@@ -1,12 +0,0 @@
--module(adglent_ffi).
-
--export([get_line/1]).
-
--spec get_line(io:prompt()) -> {ok, unicode:unicode_binary()} | {error, eof | no_data}.
-get_line(Prompt) ->
- case io:get_line(Prompt) of
- eof -> {error, eof};
- {error, _} -> {error, no_data};
- Data when is_binary(Data) -> {ok, Data};
- Data when is_list(Data) -> {ok, unicode:characters_to_binary(Data)}
- end.
diff --git a/aoc2023/build/packages/adglent/src/priv/aoc_client.gleam b/aoc2023/build/packages/adglent/src/priv/aoc_client.gleam
deleted file mode 100644
index e18bafa..0000000
--- a/aoc2023/build/packages/adglent/src/priv/aoc_client.gleam
+++ /dev/null
@@ -1,37 +0,0 @@
-import gleam/result.{try}
-import gleam/httpc
-import gleam/http/request
-import gleam/int
-import gleam/string
-
-pub fn get_input(
- year: String,
- day: String,
- session: String,
-) -> Result(String, String) {
- let url = "https://adventofcode.com/" <> year <> "/day/" <> day <> "/input"
- use request <- try(
- request.to(url)
- |> result.map_error(fn(error) {
- "Could not create request for \"" <> url <> "\": " <> string.inspect(
- error,
- )
- }),
- )
-
- // Send the HTTP request to the server
- use response <- try(
- request
- |> request.prepend_header("Accept", "application/json")
- |> request.prepend_header("Cookie", "session=" <> session <> ";")
- |> httpc.send
- |> result.map_error(fn(error) {
- "Error when requesting \"" <> url <> "\": " <> string.inspect(error)
- }),
- )
-
- case response.status {
- status if status >= 200 && status < 300 -> Ok(response.body)
- status -> Error(int.to_string(status) <> " - " <> response.body)
- }
-}
diff --git a/aoc2023/build/packages/adglent/src/priv/errors.gleam b/aoc2023/build/packages/adglent/src/priv/errors.gleam
deleted file mode 100644
index 14c35ca..0000000
--- a/aoc2023/build/packages/adglent/src/priv/errors.gleam
+++ /dev/null
@@ -1,54 +0,0 @@
-import gleam/result
-import gleam/string
-import gleam/io
-
-pub fn map_messages(
- result: Result(a, b),
- success_message: String,
- error_message: String,
-) -> Result(String, String) {
- result
- |> result.map_error(fn(error) {
- "Error - " <> error_message <> ": " <> string.inspect(error)
- })
- |> result.replace(success_message)
-}
-
-pub fn map_error(
- result: Result(a, b),
- error_message: String,
-) -> Result(a, String) {
- result
- |> result.map_error(fn(error) {
- error_message <> ": " <> string.inspect(error)
- })
-}
-
-pub fn print_result(result: Result(String, String)) {
- result
- |> result.unwrap_both
- |> io.println
- result
-}
-
-pub fn print_error(result: Result(a, String)) {
- result
- |> result.map_error(fn(err) {
- io.println(err)
- err
- })
-}
-
-pub fn assert_ok(result: Result(a, String)) {
- let assert Ok(value) =
- result
- |> result.map_error(fn(err) {
- halt(1)
- err
- })
- value
-}
-
-@target(erlang)
-@external(erlang, "erlang", "halt")
-fn halt(a: Int) -> Nil
diff --git a/aoc2023/build/packages/adglent/src/priv/prompt.gleam b/aoc2023/build/packages/adglent/src/priv/prompt.gleam
deleted file mode 100644
index 6cee35a..0000000
--- a/aoc2023/build/packages/adglent/src/priv/prompt.gleam
+++ /dev/null
@@ -1,38 +0,0 @@
-import gleam/result
-import gleam/string
-
-pub fn confirm(message: String, auto_accept: Bool) -> Bool {
- auto_accept || case
- get_line(message <> "? (Y/N): ")
- |> result.unwrap("n")
- |> string.trim()
- {
- "Y" | "y" -> True
- _ -> False
- }
-}
-
-pub fn value(message: String, default: String, auto_accept: Bool) -> String {
- case get_value_of_default(message, default, auto_accept) {
- "" -> default
- value -> value
- }
-}
-
-fn get_value_of_default(message: String, default: String, auto_accept: Bool) {
- case auto_accept {
- True -> default
- False ->
- get_line(message <> "? (" <> default <> "): ")
- |> result.unwrap("")
- |> string.trim()
- }
-}
-
-pub type GetLineError {
- Eof
- NoData
-}
-
-@external(erlang, "adglent_ffi", "get_line")
-pub fn get_line(prompt prompt: String) -> Result(String, GetLineError)
diff --git a/aoc2023/build/packages/adglent/src/priv/template.gleam b/aoc2023/build/packages/adglent/src/priv/template.gleam
deleted file mode 100644
index e946888..0000000
--- a/aoc2023/build/packages/adglent/src/priv/template.gleam
+++ /dev/null
@@ -1,18 +0,0 @@
-import gleam/list
-import gleam/string
-
-pub fn render(
- template: String,
- substitutions: List(#(String, String)),
-) -> String {
- substitutions
- |> list.fold(
- template,
- fn(template, substitution) {
- let #(name, value) = substitution
- template
- |> string.replace("{{ " <> name <> " }}", value)
- },
- )
- |> string.trim <> "\n"
-}
diff --git a/aoc2023/build/packages/adglent/src/priv/templates/solution.gleam b/aoc2023/build/packages/adglent/src/priv/templates/solution.gleam
deleted file mode 100644
index 96085c3..0000000
--- a/aoc2023/build/packages/adglent/src/priv/templates/solution.gleam
+++ /dev/null
@@ -1,27 +0,0 @@
-pub const template = "
-import adglent.{First, Second}
-import gleam/io
-
-pub fn part1(input: String) {
- todo as \"Implement solution to part 1\"
-}
-
-pub fn part2(input: String) {
- todo as \"Implement solution to part 2\"
-}
-
-pub fn main() {
- let assert Ok(part) = adglent.get_part()
- let assert Ok(input) = adglent.get_input(\"{{ day }}\")
- case part {
- First ->
- part1(input)
- |> adglent.inspect
- |> io.println
- Second ->
- part2(input)
- |> adglent.inspect
- |> io.println
- }
-}
-"
diff --git a/aoc2023/build/packages/adglent/src/priv/templates/test_main.gleam b/aoc2023/build/packages/adglent/src/priv/templates/test_main.gleam
deleted file mode 100644
index 27548d3..0000000
--- a/aoc2023/build/packages/adglent/src/priv/templates/test_main.gleam
+++ /dev/null
@@ -1,7 +0,0 @@
-pub const template = "
-import showtime
-
-pub fn main() {
- showtime.main()
-}
-"
diff --git a/aoc2023/build/packages/adglent/src/priv/templates/testfile_gleeunit.gleam b/aoc2023/build/packages/adglent/src/priv/templates/testfile_gleeunit.gleam
deleted file mode 100644
index a1d56f6..0000000
--- a/aoc2023/build/packages/adglent/src/priv/templates/testfile_gleeunit.gleam
+++ /dev/null
@@ -1,41 +0,0 @@
-pub const template = "
-import gleam/list
-import gleeunit/should
-import adglent.{type Example, Example}
-import day{{ day }}/solve
-
-type Problem1AnswerType =
- String
-
-type Problem2AnswerType =
- String
-
-/// Add examples for part 1 here:
-/// ```gleam
-///const part1_examples: List(Example(Problem1AnswerType)) = [Example(\"some input\", \"\")]
-/// ```
-const part1_examples: List(Example(Problem1AnswerType)) = []
-
-/// Add examples for part 2 here:
-/// ```gleam
-///const part2_examples: List(Example(Problem2AnswerType)) = [Example(\"some input\", \"\")]
-/// ```
-const part2_examples: List(Example(Problem2AnswerType)) = []
-
-pub fn part1_test() {
- part1_examples
- |> should.not_equal([])
- use example <- list.map(part1_examples)
- solve.part1(example.input)
- |> should.equal(example.answer)
-}
-
-pub fn part2_test() {
- part2_examples
- |> should.not_equal([])
- use example <- list.map(part2_examples)
- solve.part2(example.input)
- |> should.equal(example.answer)
-}
-
-"
diff --git a/aoc2023/build/packages/adglent/src/priv/templates/testfile_showtime.gleam b/aoc2023/build/packages/adglent/src/priv/templates/testfile_showtime.gleam
deleted file mode 100644
index 699feb2..0000000
--- a/aoc2023/build/packages/adglent/src/priv/templates/testfile_showtime.gleam
+++ /dev/null
@@ -1,41 +0,0 @@
-pub const template = "
-import gleam/list
-import showtime/tests/should
-import adglent.{type Example, Example}
-import day{{ day }}/solve
-
-type Problem1AnswerType =
- String
-
-type Problem2AnswerType =
- String
-
-/// Add examples for part 1 here:
-/// ```gleam
-///const part1_examples: List(Example(Problem1AnswerType)) = [Example(\"some input\", \"\")]
-/// ```
-const part1_examples: List(Example(Problem1AnswerType)) = []
-
-/// Add examples for part 2 here:
-/// ```gleam
-///const part2_examples: List(Example(Problem2AnswerType)) = [Example(\"some input\", \"\")]
-/// ```
-const part2_examples: List(Example(Problem2AnswerType)) = []
-
-pub fn part1_test() {
- part1_examples
- |> should.not_equal([])
- use example <- list.map(part1_examples)
- solve.part1(example.input)
- |> should.equal(example.answer)
-}
-
-pub fn part2_test() {
- part2_examples
- |> should.not_equal([])
- use example <- list.map(part2_examples)
- solve.part2(example.input)
- |> should.equal(example.answer)
-}
-
-"
diff --git a/aoc2023/build/packages/adglent/src/priv/toml.gleam b/aoc2023/build/packages/adglent/src/priv/toml.gleam
deleted file mode 100644
index 7042833..0000000
--- a/aoc2023/build/packages/adglent/src/priv/toml.gleam
+++ /dev/null
@@ -1,52 +0,0 @@
-import tom
-import gleam/result
-
-pub type TomError {
- TomParseError(error: tom.ParseError)
- TomGetError(error: tom.GetError)
-}
-
-pub fn get_string(
- toml_content: String,
- key_path: List(String),
-) -> Result(String, TomError) {
- use toml <- result.try(
- tom.parse(toml_content <> "\n")
- |> result.map_error(TomParseError),
- )
- use value <- result.try(
- tom.get_string(toml, key_path)
- |> result.map_error(TomGetError),
- )
- Ok(value)
-}
-
-pub fn get_bool(
- toml_content: String,
- key_path: List(String),
-) -> Result(Bool, TomError) {
- use toml <- result.try(
- tom.parse(toml_content <> "\n")
- |> result.map_error(TomParseError),
- )
- use value <- result.try(
- tom.get_bool(toml, key_path)
- |> result.map_error(TomGetError),
- )
- Ok(value)
-}
-
-pub fn get_int(
- toml_content: String,
- key_path: List(String),
-) -> Result(Int, TomError) {
- use toml <- result.try(
- tom.parse(toml_content <> "\n")
- |> result.map_error(TomParseError),
- )
- use value <- result.try(
- tom.get_int(toml, key_path)
- |> result.map_error(TomGetError),
- )
- Ok(value)
-}
diff --git a/aoc2023/build/packages/adglent/src/priv@aoc_client.erl b/aoc2023/build/packages/adglent/src/priv@aoc_client.erl
deleted file mode 100644
index 1acb9b5..0000000
--- a/aoc2023/build/packages/adglent/src/priv@aoc_client.erl
+++ /dev/null
@@ -1,61 +0,0 @@
--module(priv@aoc_client).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([get_input/3]).
-
--spec get_input(binary(), binary(), binary()) -> {ok, binary()} |
- {error, binary()}.
-get_input(Year, Day, Session) ->
- Url = <<<<<<<<"https://adventofcode.com/"/utf8, Year/binary>>/binary,
- "/day/"/utf8>>/binary,
- Day/binary>>/binary,
- "/input"/utf8>>,
- gleam@result:'try'(
- begin
- _pipe = gleam@http@request:to(Url),
- gleam@result:map_error(
- _pipe,
- fun(Error) ->
- <<<<<<"Could not create request for \""/utf8, Url/binary>>/binary,
- "\": "/utf8>>/binary,
- (gleam@string:inspect(Error))/binary>>
- end
- )
- end,
- fun(Request) ->
- gleam@result:'try'(
- begin
- _pipe@1 = Request,
- _pipe@2 = gleam@http@request:prepend_header(
- _pipe@1,
- <<"Accept"/utf8>>,
- <<"application/json"/utf8>>
- ),
- _pipe@3 = gleam@http@request:prepend_header(
- _pipe@2,
- <<"Cookie"/utf8>>,
- <<<<"session="/utf8, Session/binary>>/binary, ";"/utf8>>
- ),
- _pipe@4 = gleam@httpc:send(_pipe@3),
- gleam@result:map_error(
- _pipe@4,
- fun(Error@1) ->
- <<<<<<"Error when requesting \""/utf8, Url/binary>>/binary,
- "\": "/utf8>>/binary,
- (gleam@string:inspect(Error@1))/binary>>
- end
- )
- end,
- fun(Response) -> case erlang:element(2, Response) of
- Status when (Status >= 200) andalso (Status < 300) ->
- {ok, erlang:element(4, Response)};
-
- Status@1 ->
- {error,
- <<<<(gleam@int:to_string(Status@1))/binary,
- " - "/utf8>>/binary,
- (erlang:element(4, Response))/binary>>}
- end end
- )
- end
- ).
diff --git a/aoc2023/build/packages/adglent/src/priv@errors.erl b/aoc2023/build/packages/adglent/src/priv@errors.erl
deleted file mode 100644
index 978c675..0000000
--- a/aoc2023/build/packages/adglent/src/priv@errors.erl
+++ /dev/null
@@ -1,74 +0,0 @@
--module(priv@errors).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([map_messages/3, map_error/2, print_result/1, print_error/1, assert_ok/1]).
-
--spec map_messages({ok, any()} | {error, any()}, binary(), binary()) -> {ok,
- binary()} |
- {error, binary()}.
-map_messages(Result, Success_message, Error_message) ->
- _pipe = Result,
- _pipe@1 = gleam@result:map_error(
- _pipe,
- fun(Error) ->
- <<<<<<"Error - "/utf8, Error_message/binary>>/binary, ": "/utf8>>/binary,
- (gleam@string:inspect(Error))/binary>>
- end
- ),
- gleam@result:replace(_pipe@1, Success_message).
-
--spec map_error({ok, NIB} | {error, any()}, binary()) -> {ok, NIB} |
- {error, binary()}.
-map_error(Result, Error_message) ->
- _pipe = Result,
- gleam@result:map_error(
- _pipe,
- fun(Error) ->
- <<<<Error_message/binary, ": "/utf8>>/binary,
- (gleam@string:inspect(Error))/binary>>
- end
- ).
-
--spec print_result({ok, binary()} | {error, binary()}) -> {ok, binary()} |
- {error, binary()}.
-print_result(Result) ->
- _pipe = Result,
- _pipe@1 = gleam@result:unwrap_both(_pipe),
- gleam@io:println(_pipe@1),
- Result.
-
--spec print_error({ok, NIK} | {error, binary()}) -> {ok, NIK} |
- {error, binary()}.
-print_error(Result) ->
- _pipe = Result,
- gleam@result:map_error(
- _pipe,
- fun(Err) ->
- gleam@io:println(Err),
- Err
- end
- ).
-
--spec assert_ok({ok, NIO} | {error, binary()}) -> NIO.
-assert_ok(Result) ->
- _assert_subject = begin
- _pipe = Result,
- gleam@result:map_error(
- _pipe,
- fun(Err) ->
- erlang:halt(1),
- Err
- end
- )
- end,
- {ok, Value} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"priv/errors"/utf8>>,
- function => <<"assert_ok"/utf8>>,
- line => 43})
- end,
- Value.
diff --git a/aoc2023/build/packages/adglent/src/priv@prompt.erl b/aoc2023/build/packages/adglent/src/priv@prompt.erl
deleted file mode 100644
index 0277f14..0000000
--- a/aoc2023/build/packages/adglent/src/priv@prompt.erl
+++ /dev/null
@@ -1,53 +0,0 @@
--module(priv@prompt).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([get_line/1, confirm/2, value/3]).
--export_type([get_line_error/0]).
-
--type get_line_error() :: eof | no_data.
-
--spec get_line(binary()) -> {ok, binary()} | {error, get_line_error()}.
-get_line(Prompt) ->
- adglent_ffi:get_line(Prompt).
-
--spec confirm(binary(), boolean()) -> boolean().
-confirm(Message, Auto_accept) ->
- Auto_accept orelse case begin
- _pipe = adglent_ffi:get_line(<<Message/binary, "? (Y/N): "/utf8>>),
- _pipe@1 = gleam@result:unwrap(_pipe, <<"n"/utf8>>),
- gleam@string:trim(_pipe@1)
- end of
- <<"Y"/utf8>> ->
- true;
-
- <<"y"/utf8>> ->
- true;
-
- _ ->
- false
- end.
-
--spec get_value_of_default(binary(), binary(), boolean()) -> binary().
-get_value_of_default(Message, Default, Auto_accept) ->
- case Auto_accept of
- true ->
- Default;
-
- false ->
- _pipe = adglent_ffi:get_line(
- <<<<<<Message/binary, "? ("/utf8>>/binary, Default/binary>>/binary,
- "): "/utf8>>
- ),
- _pipe@1 = gleam@result:unwrap(_pipe, <<""/utf8>>),
- gleam@string:trim(_pipe@1)
- end.
-
--spec value(binary(), binary(), boolean()) -> binary().
-value(Message, Default, Auto_accept) ->
- case get_value_of_default(Message, Default, Auto_accept) of
- <<""/utf8>> ->
- Default;
-
- Value ->
- Value
- end.
diff --git a/aoc2023/build/packages/adglent/src/priv@template.erl b/aoc2023/build/packages/adglent/src/priv@template.erl
deleted file mode 100644
index 6a5d0bf..0000000
--- a/aoc2023/build/packages/adglent/src/priv@template.erl
+++ /dev/null
@@ -1,25 +0,0 @@
--module(priv@template).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([render/2]).
-
--spec render(binary(), list({binary(), binary()})) -> binary().
-render(Template, Substitutions) ->
- <<(begin
- _pipe = Substitutions,
- _pipe@2 = gleam@list:fold(
- _pipe,
- Template,
- fun(Template@1, Substitution) ->
- {Name, Value} = Substitution,
- _pipe@1 = Template@1,
- gleam@string:replace(
- _pipe@1,
- <<<<"{{ "/utf8, Name/binary>>/binary, " }}"/utf8>>,
- Value
- )
- end
- ),
- gleam@string:trim(_pipe@2)
- end)/binary,
- "\n"/utf8>>.
diff --git a/aoc2023/build/packages/adglent/src/priv@templates@solution.erl b/aoc2023/build/packages/adglent/src/priv@templates@solution.erl
deleted file mode 100644
index 7e36387..0000000
--- a/aoc2023/build/packages/adglent/src/priv@templates@solution.erl
+++ /dev/null
@@ -1 +0,0 @@
--module(priv@templates@solution).
diff --git a/aoc2023/build/packages/adglent/src/priv@templates@test_main.erl b/aoc2023/build/packages/adglent/src/priv@templates@test_main.erl
deleted file mode 100644
index ca6b127..0000000
--- a/aoc2023/build/packages/adglent/src/priv@templates@test_main.erl
+++ /dev/null
@@ -1 +0,0 @@
--module(priv@templates@test_main).
diff --git a/aoc2023/build/packages/adglent/src/priv@templates@testfile_gleeunit.erl b/aoc2023/build/packages/adglent/src/priv@templates@testfile_gleeunit.erl
deleted file mode 100644
index 2f5a41e..0000000
--- a/aoc2023/build/packages/adglent/src/priv@templates@testfile_gleeunit.erl
+++ /dev/null
@@ -1 +0,0 @@
--module(priv@templates@testfile_gleeunit).
diff --git a/aoc2023/build/packages/adglent/src/priv@templates@testfile_showtime.erl b/aoc2023/build/packages/adglent/src/priv@templates@testfile_showtime.erl
deleted file mode 100644
index bbbc8b2..0000000
--- a/aoc2023/build/packages/adglent/src/priv@templates@testfile_showtime.erl
+++ /dev/null
@@ -1 +0,0 @@
--module(priv@templates@testfile_showtime).
diff --git a/aoc2023/build/packages/adglent/src/priv@toml.erl b/aoc2023/build/packages/adglent/src/priv@toml.erl
deleted file mode 100644
index 6c41fbf..0000000
--- a/aoc2023/build/packages/adglent/src/priv@toml.erl
+++ /dev/null
@@ -1,83 +0,0 @@
--module(priv@toml).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([get_string/2, get_bool/2, get_int/2]).
--export_type([tom_error/0]).
-
--type tom_error() :: {tom_parse_error, tom:parse_error()} |
- {tom_get_error, tom:get_error()}.
-
--spec get_string(binary(), list(binary())) -> {ok, binary()} |
- {error, tom_error()}.
-get_string(Toml_content, Key_path) ->
- gleam@result:'try'(
- begin
- _pipe = tom:parse(<<Toml_content/binary, "\n"/utf8>>),
- gleam@result:map_error(
- _pipe,
- fun(Field@0) -> {tom_parse_error, Field@0} end
- )
- end,
- fun(Toml) ->
- gleam@result:'try'(
- begin
- _pipe@1 = tom:get_string(Toml, Key_path),
- gleam@result:map_error(
- _pipe@1,
- fun(Field@0) -> {tom_get_error, Field@0} end
- )
- end,
- fun(Value) -> {ok, Value} end
- )
- end
- ).
-
--spec get_bool(binary(), list(binary())) -> {ok, boolean()} |
- {error, tom_error()}.
-get_bool(Toml_content, Key_path) ->
- gleam@result:'try'(
- begin
- _pipe = tom:parse(<<Toml_content/binary, "\n"/utf8>>),
- gleam@result:map_error(
- _pipe,
- fun(Field@0) -> {tom_parse_error, Field@0} end
- )
- end,
- fun(Toml) ->
- gleam@result:'try'(
- begin
- _pipe@1 = tom:get_bool(Toml, Key_path),
- gleam@result:map_error(
- _pipe@1,
- fun(Field@0) -> {tom_get_error, Field@0} end
- )
- end,
- fun(Value) -> {ok, Value} end
- )
- end
- ).
-
--spec get_int(binary(), list(binary())) -> {ok, integer()} |
- {error, tom_error()}.
-get_int(Toml_content, Key_path) ->
- gleam@result:'try'(
- begin
- _pipe = tom:parse(<<Toml_content/binary, "\n"/utf8>>),
- gleam@result:map_error(
- _pipe,
- fun(Field@0) -> {tom_parse_error, Field@0} end
- )
- end,
- fun(Toml) ->
- gleam@result:'try'(
- begin
- _pipe@1 = tom:get_int(Toml, Key_path),
- gleam@result:map_error(
- _pipe@1,
- fun(Field@0) -> {tom_get_error, Field@0} end
- )
- end,
- fun(Value) -> {ok, Value} end
- )
- end
- ).
diff --git a/aoc2023/build/packages/adglent/src/showtime.erl b/aoc2023/build/packages/adglent/src/showtime.erl
deleted file mode 100644
index 721bad4..0000000
--- a/aoc2023/build/packages/adglent/src/showtime.erl
+++ /dev/null
@@ -1,155 +0,0 @@
--module(showtime).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([main/0]).
-
--spec mk_runner(
- fun((gleam@option:option(list(binary())), list(binary()), showtime@internal@common@cli:capture()) -> OBY),
- glint:command_input()
-) -> OBY.
-mk_runner(Func, Command) ->
- _assert_subject = begin
- _pipe = erlang:element(3, Command),
- _pipe@1 = glint@flag:get_strings(_pipe, <<"modules"/utf8>>),
- gleam@result:map(_pipe@1, fun(Modules) -> case Modules of
- [] ->
- none;
-
- Modules@1 ->
- {some, Modules@1}
- end end)
- end,
- {ok, Module_list} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"showtime"/utf8>>,
- function => <<"mk_runner"/utf8>>,
- line => 91})
- end,
- _assert_subject@1 = begin
- _pipe@2 = erlang:element(3, Command),
- glint@flag:get_strings(_pipe@2, <<"ignore"/utf8>>)
- end,
- {ok, Ignore_tags} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"showtime"/utf8>>,
- function => <<"mk_runner"/utf8>>,
- line => 100})
- end,
- _assert_subject@2 = begin
- _pipe@3 = erlang:element(3, Command),
- _pipe@4 = glint@flag:get_string(_pipe@3, <<"capture"/utf8>>),
- _pipe@5 = gleam@result:map(
- _pipe@4,
- fun(Arg) -> gleam@string:lowercase(Arg) end
- ),
- gleam@result:map(_pipe@5, fun(Arg@1) -> case Arg@1 of
- <<"no"/utf8>> ->
- no;
-
- <<"yes"/utf8>> ->
- yes;
-
- <<"mixed"/utf8>> ->
- mixed
- end end)
- end,
- {ok, Capture_output} = case _assert_subject@2 of
- {ok, _} -> _assert_subject@2;
- _assert_fail@2 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@2,
- module => <<"showtime"/utf8>>,
- function => <<"mk_runner"/utf8>>,
- line => 104})
- end,
- Func(Module_list, Ignore_tags, Capture_output).
-
--spec start_with_args(
- list(binary()),
- fun((gleam@option:option(list(binary())), list(binary()), showtime@internal@common@cli:capture()) -> any())
-) -> nil.
-start_with_args(Args, Func) ->
- Modules_flag = begin
- _pipe = glint@flag:string_list(),
- _pipe@1 = glint@flag:default(_pipe, []),
- glint@flag:description(
- _pipe@1,
- <<"Run only tests in the modules in this list"/utf8>>
- )
- end,
- Ignore_flag = begin
- _pipe@2 = glint@flag:string_list(),
- _pipe@3 = glint@flag:default(_pipe@2, []),
- glint@flag:description(
- _pipe@3,
- <<"Ignore tests that are have tags matching a tag in this list"/utf8>>
- )
- end,
- Capture_flag = begin
- _pipe@4 = glint@flag:string(),
- _pipe@5 = glint@flag:default(_pipe@4, <<"no"/utf8>>),
- _pipe@6 = glint@flag:constraint(
- _pipe@5,
- glint@flag@constraint:one_of(
- [<<"yes"/utf8>>, <<"no"/utf8>>, <<"mixed"/utf8>>]
- )
- ),
- glint@flag:description(
- _pipe@6,
- <<"Capture output: no (default) - output when tests are run, yes - output is captured and shown in report, mixed - output when run and in report"/utf8>>
- )
- end,
- _pipe@7 = glint:new(),
- _pipe@12 = glint:add(
- _pipe@7,
- [],
- begin
- _pipe@8 = glint:command(
- fun(_capture) -> mk_runner(Func, _capture) end
- ),
- _pipe@9 = glint:flag(_pipe@8, <<"modules"/utf8>>, Modules_flag),
- _pipe@10 = glint:flag(_pipe@9, <<"ignore"/utf8>>, Ignore_flag),
- _pipe@11 = glint:flag(_pipe@10, <<"capture"/utf8>>, Capture_flag),
- glint:description(_pipe@11, <<"Runs test"/utf8>>)
- end
- ),
- _pipe@13 = glint:with_pretty_help(_pipe@12, glint:default_pretty_help()),
- glint:run(_pipe@13, Args).
-
--spec main() -> nil.
-main() ->
- start_with_args(
- gleam@erlang:start_arguments(),
- fun(Module_list, Ignore_tags, Capture) ->
- Test_event_handler = showtime@internal@erlang@event_handler:start(),
- Test_module_handler = showtime@internal@erlang@module_handler:start(
- Test_event_handler,
- fun showtime@internal@erlang@discover:collect_test_functions/1,
- fun showtime@internal@erlang@runner:run_test_suite/4,
- Ignore_tags,
- Capture
- ),
- Test_event_handler(start_test_run),
- Modules = showtime@internal@erlang@discover:collect_modules(
- Test_module_handler,
- Module_list
- ),
- Test_event_handler(
- {end_test_run,
- begin
- _pipe = Modules,
- gleam@list:length(_pipe)
- end}
- ),
- nil
- end
- ).
diff --git a/aoc2023/build/packages/adglent/src/showtime.gleam b/aoc2023/build/packages/adglent/src/showtime.gleam
deleted file mode 100644
index f0401c9..0000000
--- a/aoc2023/build/packages/adglent/src/showtime.gleam
+++ /dev/null
@@ -1,116 +0,0 @@
-import glint.{type CommandInput, flag}
-import glint/flag
-import glint/flag/constraint.{one_of}
-import gleam/result
-import gleam/string
-import showtime/internal/common/cli.{Mixed, No, Yes}
-@target(erlang)
-import gleam/list
-@target(erlang)
-import gleam/option.{None, Some}
-@target(erlang)
-import gleam/erlang.{start_arguments}
-@target(erlang)
-import showtime/internal/common/test_suite.{EndTestRun, StartTestRun}
-@target(erlang)
-import showtime/internal/erlang/event_handler
-@target(erlang)
-import showtime/internal/erlang/module_handler
-@target(erlang)
-import showtime/internal/erlang/runner
-@target(erlang)
-import showtime/internal/erlang/discover.{
- collect_modules, collect_test_functions,
-}
-
-// @target(javascript)
-// import gleam/io
-
-@target(erlang)
-pub fn main() {
- use module_list, ignore_tags, capture <- start_with_args(start_arguments())
- // Start event handler which will collect test-results and eventually
- // print test report
- let test_event_handler = event_handler.start()
- // Start module handler which receives msg about modules to test and
- // runs the test-suite for the module
- let test_module_handler =
- module_handler.start(
- test_event_handler,
- collect_test_functions,
- runner.run_test_suite,
- ignore_tags,
- capture,
- )
-
- test_event_handler(StartTestRun)
- // Collect modules and notify the module handler to start the test-suites
- let modules = collect_modules(test_module_handler, module_list)
- test_event_handler(EndTestRun(
- modules
- |> list.length(),
- ))
- Nil
-}
-
-fn start_with_args(args, func) {
- let modules_flag =
- flag.string_list()
- |> flag.default([])
- |> flag.description("Run only tests in the modules in this list")
-
- let ignore_flag =
- flag.string_list()
- |> flag.default([])
- |> flag.description(
- "Ignore tests that are have tags matching a tag in this list",
- )
-
- let capture_flag =
- flag.string()
- |> flag.default("no")
- |> flag.constraint(one_of(["yes", "no", "mixed"]))
- |> flag.description(
- "Capture output: no (default) - output when tests are run, yes - output is captured and shown in report, mixed - output when run and in report",
- )
-
- glint.new()
- |> glint.add(
- at: [],
- do: glint.command(mk_runner(func, _))
- |> glint.flag("modules", modules_flag)
- |> glint.flag("ignore", ignore_flag)
- |> glint.flag("capture", capture_flag)
- |> glint.description("Runs test"),
- )
- |> glint.with_pretty_help(glint.default_pretty_help())
- |> glint.run(args)
-}
-
-fn mk_runner(func, command: CommandInput) {
- let assert Ok(module_list) =
- command.flags
- |> flag.get_strings("modules")
- |> result.map(fn(modules) {
- case modules {
- [] -> None
- modules -> Some(modules)
- }
- })
- let assert Ok(ignore_tags) =
- command.flags
- |> flag.get_strings("ignore")
-
- let assert Ok(capture_output) =
- command.flags
- |> flag.get_string("capture")
- |> result.map(fn(arg) { string.lowercase(arg) })
- |> result.map(fn(arg) {
- case arg {
- "no" -> No
- "yes" -> Yes
- "mixed" -> Mixed
- }
- })
- func(module_list, ignore_tags, capture_output)
-}
diff --git a/aoc2023/build/packages/adglent/src/showtime/internal/common/cli.gleam b/aoc2023/build/packages/adglent/src/showtime/internal/common/cli.gleam
deleted file mode 100644
index 1c03211..0000000
--- a/aoc2023/build/packages/adglent/src/showtime/internal/common/cli.gleam
+++ /dev/null
@@ -1,5 +0,0 @@
-pub type Capture {
- Yes
- No
- Mixed
-}
diff --git a/aoc2023/build/packages/adglent/src/showtime/internal/common/common_event_handler.gleam b/aoc2023/build/packages/adglent/src/showtime/internal/common/common_event_handler.gleam
deleted file mode 100644
index b90af14..0000000
--- a/aoc2023/build/packages/adglent/src/showtime/internal/common/common_event_handler.gleam
+++ /dev/null
@@ -1,101 +0,0 @@
-import gleam/map.{type Map}
-import showtime/internal/common/test_suite.{
- type TestEvent, type TestRun, CompletedTestRun, EndTest, EndTestRun,
- EndTestSuite, OngoingTestRun, StartTest, StartTestRun, StartTestSuite,
-}
-
-pub type TestState {
- NotStarted
- Running
- Finished(num_modules: Int)
-}
-
-pub type HandlerState {
- HandlerState(
- test_state: TestState,
- num_done: Int,
- events: Map(String, Map(String, TestRun)),
- )
-}
-
-// This is the common event-handler (shared between erlang/JS targets)
-// The main strategy is to collect the test-results in a map of maps:
-// module_name ->
-// test_name -> test_result
-// It will also keep track of if it is running (i.e. did it receive the EndTestRun)
-// so that the caller can determine when to print test-results
-pub fn handle_event(
- msg: TestEvent,
- system_time: fn() -> Int,
- state: HandlerState,
-) {
- let test_state = state.test_state
- let num_done = state.num_done
- let events = state.events
- let #(updated_test_state, updated_num_done, updated_events) = case msg {
- StartTestRun -> #(Running, num_done, events)
- StartTestSuite(module) -> {
- let maybe_module_events = map.get(events, module.name)
- let new_events = case maybe_module_events {
- Ok(_) -> events
- Error(_) ->
- events
- |> map.insert(module.name, map.new())
- }
- #(test_state, num_done, new_events)
- }
- StartTest(module, test) -> {
- let current_time = system_time()
- let maybe_module_events = map.get(events, module.name)
- let new_events = case maybe_module_events {
- Ok(module_events) -> {
- let maybe_test_event = map.get(module_events, test.name)
- case maybe_test_event {
- Error(_) ->
- events
- |> map.insert(
- module.name,
- module_events
- |> map.insert(test.name, OngoingTestRun(test, current_time)),
- )
- Ok(_) -> events
- }
- }
- Error(_) -> events
- }
- #(test_state, num_done, new_events)
- }
- EndTest(module, test, result) -> {
- let current_time = system_time()
- let maybe_module_events = map.get(events, module.name)
- let new_events = case maybe_module_events {
- Ok(module_events) -> {
- let maybe_test_run =
- module_events
- |> map.get(test.name)
- let updated_module_events = case maybe_test_run {
- Ok(OngoingTestRun(test_function, started_at)) ->
- module_events
- |> map.insert(
- test.name,
- CompletedTestRun(
- test_function,
- current_time - started_at,
- result,
- ),
- )
- Error(_) -> module_events
- }
- events
- |> map.insert(module.name, updated_module_events)
- }
- Error(_) -> events
- }
- #(test_state, num_done, new_events)
- }
- EndTestSuite(_) -> #(test_state, num_done + 1, events)
- EndTestRun(num_modules) -> #(Finished(num_modules), num_done, events)
- _ -> #(Running, num_done, events)
- }
- HandlerState(updated_test_state, updated_num_done, updated_events)
-}
diff --git a/aoc2023/build/packages/adglent/src/showtime/internal/common/test_result.gleam b/aoc2023/build/packages/adglent/src/showtime/internal/common/test_result.gleam
deleted file mode 100644
index a1d6bd9..0000000
--- a/aoc2023/build/packages/adglent/src/showtime/internal/common/test_result.gleam
+++ /dev/null
@@ -1,119 +0,0 @@
-import gleam/dynamic.{type Dynamic}
-import gleam/map.{type Map}
-
-// These are all the types used for test-results
-// NOTE: These are heavily used in the erlang/js ffi:s
-// so any changes here are likely to break the ffi:s unless
-// the corresponding change is introduced there
-//
-// Futhermore this has some erlang related names that should
-// probably be cleaned up, but it is used by both the ffi:s
-
-// Currently only one reason, but could be possible to support
-// more reasons in the future
-pub type IgnoreReason {
- Ignore
-}
-
-// This is the return value from running the test-function
-// or ignored if the test was ignored
-pub type TestReturn {
- TestFunctionReturn(value: Dynamic, output_buffer: List(String))
- Ignored(reason: IgnoreReason)
-}
-
-// All data about an exception in the test function is captured
-// in this type.
-// This is also where the data about the assertions will end up (in reason)
-pub type Exception {
- ErlangException(
- class: Class,
- reason: Reason,
- stacktrace: TraceList,
- output_buffer: List(String),
- )
-}
-
-// Alias for the test-result which is either a TestResult (passed test, ignored or a test-definition)
-// or an Exception (failed test)
-pub type TestResult =
- Result(TestReturn, Exception)
-
-// Reason is either an assert equal (which is if the error was produced by gleeunit should)
-// TODO: Add other asserts
-// or it is a gleam error meaning that is was produced by showtime should
-// TODO: Rename GleamError to ShowtimeError
-pub type Reason {
- AssertEqual(details: List(ReasonDetail))
- AssertNotEqual(details: List(ReasonDetail))
- AssertMatch(details: List(ReasonDetail))
- GleamError(details: GleamErrorDetail)
- GleamAssert(value: Dynamic, line_no: Int)
- GenericException(value: Dynamic)
-}
-
-// ReasonDetail is the union-type used in erlang-exceptions where the reason
-// is a list of such details
-pub type ReasonDetail {
- Module(name: String)
- ReasonLine(line_no: Int)
- Expression(expression: String)
- Expected(value: Dynamic)
- Value(value: Dynamic)
- Pattern(pattern: String)
-}
-
-// Gleam error detail is produced by showtime should and will hold all the information
-// about the assertion (both expected and got)
-pub type GleamErrorDetail {
- LetAssert(
- module: String,
- function: String,
- line_no: Int,
- message: String,
- value: Dynamic,
- )
-}
-
-// Class is a part of standard erlang exceptions, but also used on js-side
-// TODO: Extend to include a JS specific constructor
-pub type Class {
- ErlangError
- Exit
- Throw
-}
-
-// The trace list is part of the standard erlang exception, but is also
-// emulated on js-side.
-// TODO: Maybe we need a js-version that contain some js-specific trace-elements
-pub type TraceList {
- TraceList(traces: List(Trace))
-}
-
-// Trace are the elements in the trace list in an erlang exception
-// TODO: Maybe add a js-specific trace (since arity is not really a js attribute)
-pub type Trace {
- Trace(function: String, arity: Arity, extra_info: List(ExtraInfo))
- TraceModule(
- module: String,
- function: String,
- arity: Arity,
- extra_info: List(ExtraInfo),
- )
-}
-
-// Extra info holds information about the file and line
-// as well as some dynamic data in a map
-// This is currently not used in the reporter
-pub type ExtraInfo {
- ErrorInfo(error_info: Map(Dynamic, Dynamic))
- File(filename: String)
- Line(line_no: Int)
-}
-
-// Arity is the erlang type for arity
-// Can be either a number, or a list of arguments
-pub type Arity {
- Num(arity: Int)
- ArgList(arg_list: List(Dynamic))
-}
diff --git a/aoc2023/build/packages/adglent/src/showtime/internal/common/test_suite.gleam b/aoc2023/build/packages/adglent/src/showtime/internal/common/test_suite.gleam
deleted file mode 100644
index eb58d64..0000000
--- a/aoc2023/build/packages/adglent/src/showtime/internal/common/test_suite.gleam
+++ /dev/null
@@ -1,63 +0,0 @@
-import gleam/option.{type Option}
-import showtime/internal/common/test_result.{type TestResult}
-import showtime/internal/common/cli.{type Capture}
-
-// The state (and result) of a test function
-pub type TestRun {
- OngoingTestRun(test_function: TestFunction, started_at: Int)
- CompletedTestRun(
- test_function: TestFunction,
- total_time: Int,
- result: TestResult,
- )
-}
-
-// A test module (found by discovery)
-pub type TestModule {
- TestModule(name: String, path: Option(String))
-}
-
-// A test function
-pub type TestFunction {
- TestFunction(name: String)
-}
-
-// A test suite is a test module together with the test functions
-// that were collected from that module
-pub type TestSuite {
- TestSuite(module: TestModule, tests: List(TestFunction))
-}
-
-// Test event for the event handler
-pub type TestEvent {
- StartTestRun
- StartTestSuite(test_module: TestModule)
- StartTest(test_module: TestModule, test_function: TestFunction)
- EndTest(
- test_module: TestModule,
- test_function: TestFunction,
- result: TestResult,
- )
- EndTestSuite(test_module: TestModule)
- EndTestRun(num_modules: Int)
-}
-
-// Interface for the module handler
-pub type TestModuleHandler =
- fn(TestModule) -> Nil
-
-// Interface for the event handler
-pub type TestEventHandler =
- fn(TestEvent) -> Nil
-
-// Interface for the module collector
-pub type ModuleCollector =
- fn(TestModuleHandler) -> List(TestModule)
-
-// Interface for the function collector
-pub type TestFunctionCollector =
- fn(TestModule) -> TestSuite
-
-// Interface for the test runner
-pub type TestRunner =
- fn(TestSuite, TestEventHandler, List(String), Capture) -> Nil
diff --git a/aoc2023/build/packages/adglent/src/showtime/internal/erlang/discover.gleam b/aoc2023/build/packages/adglent/src/showtime/internal/erlang/discover.gleam
deleted file mode 100644
index ecb752d..0000000
--- a/aoc2023/build/packages/adglent/src/showtime/internal/erlang/discover.gleam
+++ /dev/null
@@ -1,167 +0,0 @@
-@target(erlang)
-import gleam/io
-@target(erlang)
-import gleam/dynamic.{type Dynamic}
-@target(erlang)
-import gleam/list
-@target(erlang)
-import gleam/string
-@target(erlang)
-import gleam/int
-@target(erlang)
-import gleam/option.{type Option, None, Some}
-@target(erlang)
-import gleam/erlang/atom.{type Atom}
-@target(erlang)
-import showtime/internal/common/test_suite.{
- type TestModule, type TestModuleHandler, type TestSuite, TestFunction,
- TestModule, TestSuite,
-}
-import simplifile
-
-// Module collector for erlang
-// Will search the test folder for files ending with _test and notify
-// the module handler about each module it finds
-@target(erlang)
-pub fn collect_modules(
- test_module_handler: TestModuleHandler,
- only_modules: Option(List(String)),
-) -> List(TestModule) {
- collect_modules_in_folder("./test", test_module_handler, only_modules)
-}
-
-@target(erlang)
-fn collect_modules_in_folder(
- path: String,
- test_module_handler: TestModuleHandler,
- only_modules: Option(List(String)),
-) {
- let module_prefix = get_module_prefix(path)
- let assert Ok(files) = simplifile.read_directory(path)
- let test_modules_in_folder =
- files
- |> list.filter(string.ends_with(_, "_test.gleam"))
- |> list.filter_map(fn(test_module_file) {
- let module_name =
- module_prefix <> {
- test_module_file
- |> string.replace(".gleam", "")
- }
- case only_modules {
- Some(only_modules_list) -> {
- let module_in_list =
- only_modules_list
- |> list.any(fn(only_module_name) {
- only_module_name == module_name
- |> string.replace("@", "/")
- })
- case module_in_list {
- True -> {
- let test_module = TestModule(module_name, Some(test_module_file))
- test_module_handler(test_module)
- Ok(test_module)
- }
-
- False -> Error(Nil)
- }
- }
- None -> {
- let test_module = TestModule(module_name, Some(test_module_file))
- test_module_handler(test_module)
- Ok(test_module)
- }
- }
- })
- let test_modules_in_subfolders =
- files
- |> list.map(fn(filename) { path <> "/" <> filename })
- |> list.filter(fn(file) { simplifile.is_directory(file) })
- |> list.fold(
- [],
- fn(modules, subfolder) {
- modules
- |> list.append(collect_modules_in_folder(
- subfolder,
- test_module_handler,
- only_modules,
- ))
- },
- )
- test_modules_in_folder
- |> list.append(test_modules_in_subfolders)
-}
-
-@target(erlang)
-fn get_module_prefix(path) {
- let path_without_test =
- path
- |> string.replace("./test", "")
-
- let path_without_leading_slash = case
- string.starts_with(path_without_test, "/")
- {
- True -> string.drop_left(path_without_test, 1)
- False -> path_without_test
- }
- let module_prefix =
- path_without_leading_slash
- |> string.replace("/", "@")
- case string.length(module_prefix) {
- 0 -> module_prefix
- _ -> module_prefix <> "@"
- }
-}
-
-// Test function collector for erlang
-// Uses erlang `apply` to run `module_info` for the test module
-// and collects all the exports ending with _test into a `TestSuite`
-@target(erlang)
-pub fn collect_test_functions(module: TestModule) -> TestSuite {
- let test_functions: List(#(Atom, Int)) =
- apply(
- atom.create_from_string(module.name),
- atom.create_from_string("module_info"),
- [dynamic.from(atom.create_from_string("exports"))],
- )
- |> dynamic.unsafe_coerce()
-
- let test_functions_filtered =
- test_functions
- |> list.map(fn(entry) {
- let assert #(name, arity) = entry
- #(
- name
- |> atom.to_string(),
- arity,
- )
- })
- |> list.filter_map(fn(entry) {
- let assert #(name, arity) = entry
- case string.ends_with(name, "_test") {
- True ->
- case arity {
- 0 -> Ok(name)
- _ -> {
- io.println(
- "WARNING: function \"" <> name <> "\" has arity: " <> int.to_string(
- arity,
- ) <> " - cannot be used as test (needs to be 0)",
- )
- Error("Wrong arity")
- }
- }
- False -> Error("Non matching name")
- }
- })
- |> list.filter(string.ends_with(_, "_test"))
- |> list.map(fn(function_name) { TestFunction(function_name) })
- TestSuite(module, test_functions_filtered)
-}
-
-@target(erlang)
-@external(erlang, "erlang", "apply")
-fn apply(
- module module: Atom,
- function function: Atom,
- args args: List(Dynamic),
-) -> Dynamic
diff --git a/aoc2023/build/packages/adglent/src/showtime/internal/erlang/event_handler.gleam b/aoc2023/build/packages/adglent/src/showtime/internal/erlang/event_handler.gleam
deleted file mode 100644
index 62a9caf..0000000
--- a/aoc2023/build/packages/adglent/src/showtime/internal/erlang/event_handler.gleam
+++ /dev/null
@@ -1,91 +0,0 @@
-@target(erlang)
-import gleam/io
-@target(erlang)
-import gleam/otp/actor.{Continue, Stop}
-@target(erlang)
-import gleam/erlang/process.{type Subject, Normal}
-@target(erlang)
-import gleam/map
-@target(erlang)
-import showtime/internal/common/test_suite.{type TestEvent, EndTestRun}
-@target(erlang)
-import showtime/internal/common/common_event_handler.{
- Finished, HandlerState, NotStarted, handle_event,
-}
-@target(erlang)
-import showtime/internal/reports/formatter.{create_test_report}
-@target(erlang)
-import gleam/erlang.{Millisecond}
-@target(erlang)
-import gleam/option.{None}
-
-@target(erlang)
-type EventHandlerMessage {
- EventHandlerMessage(test_event: TestEvent, reply_to: Subject(Int))
-}
-
-// Starts an actor that receives test events and forwards the to the event handler
-// When handler updates the state to `Finished` the actor will wait until handler
-// reports that all modules are done and the stop
-@target(erlang)
-pub fn start() {
- let assert Ok(subject) =
- actor.start(
- #(NotStarted, 0, map.new()),
- fn(msg: EventHandlerMessage, state) {
- let EventHandlerMessage(test_event, reply_to) = msg
- let #(test_state, num_done, events) = state
- let updated_state =
- handle_event(
- test_event,
- system_time,
- HandlerState(test_state, num_done, events),
- )
- case updated_state {
- HandlerState(Finished(num_modules), num_done, events) if num_done == num_modules -> {
- let #(test_report, num_failed) = create_test_report(events)
- io.println(test_report)
- process.send(reply_to, num_failed)
- Stop(Normal)
- }
- HandlerState(test_state, num_done, events) ->
- Continue(#(test_state, num_done, events), None)
- }
- },
- )
- let parent_subject = process.new_subject()
-
- let selector =
- process.new_selector()
- |> process.selecting(parent_subject, fn(x) { x })
-
- // Returns a callback that can receive test events
- fn(test_event: TestEvent) {
- case test_event {
- EndTestRun(..) -> {
- // When EndTestRun has been received the callback will wait until the
- // actor has stopped
- // TODO: Use a timeout?
- process.send(subject, EventHandlerMessage(test_event, parent_subject))
- let num_failed = process.select_forever(selector)
- case num_failed > 0 {
- True -> halt(1)
- False -> halt(0)
- }
- }
-
- // Normally just send the test event to the actor
- _ ->
- process.send(subject, EventHandlerMessage(test_event, parent_subject))
- }
- }
-}
-
-@target(erlang)
-@external(erlang, "erlang", "halt")
-fn halt(a: Int) -> Nil
-
-@target(erlang)
-fn system_time() {
- erlang.system_time(Millisecond)
-}
diff --git a/aoc2023/build/packages/adglent/src/showtime/internal/erlang/module_handler.gleam b/aoc2023/build/packages/adglent/src/showtime/internal/erlang/module_handler.gleam
deleted file mode 100644
index 88cc251..0000000
--- a/aoc2023/build/packages/adglent/src/showtime/internal/erlang/module_handler.gleam
+++ /dev/null
@@ -1,43 +0,0 @@
-@target(erlang)
-import gleam/otp/actor.{Continue}
-@target(erlang)
-import gleam/erlang/process
-@target(erlang)
-import showtime/internal/common/test_suite.{
- type TestEventHandler, type TestFunctionCollector, type TestModule,
- type TestRunner, EndTestSuite, StartTestSuite,
-}
-@target(erlang)
-import showtime/internal/common/cli.{type Capture}
-@target(erlang)
-import gleam/option.{None}
-
-@target(erlang)
-pub fn start(
- test_event_handler: TestEventHandler,
- test_function_collector: TestFunctionCollector,
- run_test_suite: TestRunner,
- ignore_tags: List(String),
- capture: Capture,
-) {
- let assert Ok(subject) =
- actor.start(
- Nil,
- fn(module: TestModule, state) {
- process.start(
- fn() {
- let test_suite = test_function_collector(module)
- test_event_handler(StartTestSuite(module))
- run_test_suite(test_suite, test_event_handler, ignore_tags, capture)
- test_event_handler(EndTestSuite(module))
- },
- False,
- )
- Continue(state, None)
- },
- )
- fn(test_module: TestModule) {
- process.send(subject, test_module)
- Nil
- }
-}
diff --git a/aoc2023/build/packages/adglent/src/showtime/internal/erlang/runner.gleam b/aoc2023/build/packages/adglent/src/showtime/internal/erlang/runner.gleam
deleted file mode 100644
index ebbf426..0000000
--- a/aoc2023/build/packages/adglent/src/showtime/internal/erlang/runner.gleam
+++ /dev/null
@@ -1,59 +0,0 @@
-@target(erlang)
-import gleam/list
-@target(erlang)
-import gleam/erlang/atom.{type Atom}
-@target(erlang)
-import showtime/internal/common/test_suite.{
- type TestEventHandler, type TestSuite, EndTest, StartTest,
-}
-@target(erlang)
-import showtime/internal/common/test_result.{type TestResult}
-@target(erlang)
-import showtime/internal/common/cli.{type Capture}
-
-// Runs all tests in a test suite
-@target(erlang)
-pub fn run_test_suite(
- test_suite: TestSuite,
- test_event_handler: TestEventHandler,
- ignore_tags: List(String),
- capture: Capture,
-) {
- test_suite.tests
- |> list.each(fn(test) {
- test_event_handler(StartTest(test_suite.module, test))
- let result =
- run_test(test_suite.module.name, test.name, ignore_tags, capture)
- test_event_handler(EndTest(test_suite.module, test, result))
- })
-}
-
-// Wrapper around the ffi function that converts names to atoms
-@target(erlang)
-pub fn run_test(
- module_name: String,
- test_name: String,
- ignore_tags: List(String),
- capture: Capture,
-) -> TestResult {
- let result =
- run_test_ffi(
- atom.create_from_string(module_name),
- atom.create_from_string(test_name),
- ignore_tags,
- capture,
- )
- result
-}
-
-// Calls ffi for running a test function
-// The ffi will take care of mapping the result and exception to the data-types
-// used in gleam
-@target(erlang)
-@external(erlang, "showtime_ffi", "run_test")
-fn run_test_ffi(
- module module: Atom,
- function function: Atom,
- ignore_tags ignore_tags: List(String),
- capture capture: Capture,
-) -> TestResult
diff --git a/aoc2023/build/packages/adglent/src/showtime/internal/reports/compare.gleam b/aoc2023/build/packages/adglent/src/showtime/internal/reports/compare.gleam
deleted file mode 100644
index 5ccddee..0000000
--- a/aoc2023/build/packages/adglent/src/showtime/internal/reports/compare.gleam
+++ /dev/null
@@ -1,42 +0,0 @@
-import gleam/dynamic.{type Dynamic}
-import gleam/string
-import showtime/internal/reports/styles.{expected_highlight, got_highlight}
-import gap.{compare_lists, compare_strings}
-import gap/styling.{from_comparison, highlight, to_styled_comparison}
-
-pub fn compare(expected: Dynamic, got: Dynamic) -> #(String, String) {
- let expected_as_list =
- expected
- |> dynamic.list(dynamic.dynamic)
- let got_as_list =
- got
- |> dynamic.list(dynamic.dynamic)
- let expected_as_string =
- expected
- |> dynamic.string()
- let got_as_string =
- got
- |> dynamic.string()
- case expected_as_list, got_as_list, expected_as_string, got_as_string {
- Ok(expected_list), Ok(got_list), _, _ -> {
- let comparison =
- compare_lists(expected_list, got_list)
- |> from_comparison()
- |> highlight(expected_highlight, got_highlight, fn(item) { item })
- |> to_styled_comparison()
- #(comparison.first, comparison.second)
- }
- _, _, Ok(expected_string), Ok(got_string) -> {
- let comparison =
- compare_strings(expected_string, got_string)
- |> from_comparison()
- |> highlight(expected_highlight, got_highlight, fn(item) { item })
- |> to_styled_comparison()
- #(comparison.first, comparison.second)
- }
- _, _, _, _ -> #(
- expected_highlight(string.inspect(expected)),
- got_highlight(string.inspect(got)),
- )
- }
-}
diff --git a/aoc2023/build/packages/adglent/src/showtime/internal/reports/formatter.gleam b/aoc2023/build/packages/adglent/src/showtime/internal/reports/formatter.gleam
deleted file mode 100644
index 8c1a6ac..0000000
--- a/aoc2023/build/packages/adglent/src/showtime/internal/reports/formatter.gleam
+++ /dev/null
@@ -1,480 +0,0 @@
-import gleam/io
-import gleam/int
-import gleam/list
-import gleam/string
-import gleam/option.{type Option, None, Some}
-import gleam/map.{type Map}
-import gleam/dynamic.{type Dynamic}
-import showtime/internal/common/test_result.{
- type GleamErrorDetail, type ReasonDetail, type Trace, AssertEqual, AssertMatch,
- AssertNotEqual, Expected, Expression, GenericException, GleamAssert,
- GleamError, Ignored, LetAssert, Pattern, Trace, TraceModule, Value,
-}
-import showtime/internal/common/test_suite.{type TestRun, CompletedTestRun}
-import showtime/tests/should.{type Assertion, Eq, Fail, IsError, IsOk, NotEq}
-import showtime/internal/reports/styles.{
- error_style, expected_highlight, failed_style, function_style, got_highlight,
- heading_style, ignored_style, not_style, passed_style, stacktrace_style,
-}
-import showtime/internal/reports/compare.{compare}
-import showtime/internal/reports/table.{
- AlignLeft, AlignLeftOverflow, AlignRight, Content, Separator, StyledContent,
- Table, align_table, to_string,
-}
-import showtime/tests/meta.{type Meta}
-
-type GleeUnitAssertionType {
- GleeUnitAssertEqual(message: String)
- GleeUnitAssertNotEqual(message: String)
- GleeUnitAssertMatch(message: String)
-}
-
-type ModuleAndTest {
- ModuleAndTestRun(module_name: String, test_run: TestRun)
-}
-
-type UnifiedError {
- UnifiedError(
- meta: Option(Meta),
- reason: String,
- message: String,
- expected: String,
- got: String,
- line: Option(Int),
- stacktrace: List(Trace),
- )
-}
-
-pub fn create_test_report(test_results: Map(String, Map(String, TestRun))) {
- let all_test_runs =
- test_results
- |> map.values()
- |> list.flat_map(map.values)
- let failed_test_runs =
- test_results
- |> map.to_list()
- |> list.flat_map(fn(entry) {
- let #(module_name, test_module_results) = entry
- test_module_results
- |> map.values()
- |> list.filter_map(fn(test_run) {
- case test_run {
- CompletedTestRun(_test_function, _, result) ->
- case result {
- Error(_) -> Ok(ModuleAndTestRun(module_name, test_run))
- Ok(Ignored(_)) -> Error(Nil)
- Ok(_) -> Error(Nil)
- }
- _ -> {
- test_run
- |> io.debug()
- Error(Nil)
- }
- }
- })
- })
-
- let ignored_test_runs =
- test_results
- |> map.to_list()
- |> list.flat_map(fn(entry) {
- let #(module_name, test_module_results) = entry
- test_module_results
- |> map.values()
- |> list.filter_map(fn(test_run) {
- case test_run {
- CompletedTestRun(test_function, _, result) ->
- case result {
- Ok(Ignored(reason)) ->
- Ok(#(module_name <> "." <> test_function.name, reason))
- _ -> Error(Nil)
- }
- _ -> Error(Nil)
- }
- })
- })
-
- let failed_tests_report =
- failed_test_runs
- |> list.filter_map(fn(module_and_test_run) {
- case module_and_test_run.test_run {
- CompletedTestRun(test_function, _total_time, result) ->
- case result {
- Error(exception) ->
- case exception.reason {
- AssertEqual(reason_details) ->
- Ok(format_reason(
- erlang_error_to_unified(
- reason_details,
- GleeUnitAssertEqual("Assert equal"),
- exception.stacktrace.traces,
- ),
- module_and_test_run.module_name,
- test_function.name,
- exception.output_buffer,
- ))
- AssertNotEqual(reason_details) ->
- Ok(format_reason(
- erlang_error_to_unified(
- reason_details,
- GleeUnitAssertNotEqual("Assert not equal"),
- exception.stacktrace.traces,
- ),
- module_and_test_run.module_name,
- test_function.name,
- exception.output_buffer,
- ))
- AssertMatch(reason_details) ->
- Ok(format_reason(
- erlang_error_to_unified(
- reason_details,
- GleeUnitAssertMatch("Assert match"),
- exception.stacktrace.traces,
- ),
- module_and_test_run.module_name,
- test_function.name,
- exception.output_buffer,
- ))
- GleamError(reason) ->
- Ok(format_reason(
- gleam_error_to_unified(reason, exception.stacktrace.traces),
- module_and_test_run.module_name,
- test_function.name,
- exception.output_buffer,
- ))
- // GleamAssert(value) -> Error(Nil)
- GleamAssert(value, line_no) ->
- Ok(format_reason(
- UnifiedError(
- None,
- "gleam assert",
- "Assert failed",
- "Patterns should match",
- error_style(string.inspect(value)),
- Some(line_no),
- exception.stacktrace.traces,
- ),
- module_and_test_run.module_name,
- test_function.name,
- exception.output_buffer,
- ))
- GenericException(value) ->
- Ok(format_reason(
- UnifiedError(
- None,
- "generic exception",
- "Test function threw an exception",
- "Exception in test function",
- error_style(string.inspect(value)),
- None,
- exception.stacktrace.traces,
- ),
- module_and_test_run.module_name,
- test_function.name,
- exception.output_buffer,
- ))
- other -> {
- io.println("Other: " <> string.inspect(other))
- panic
- Error(Nil)
- }
- }
- _ -> Error(Nil)
- }
- _ -> Error(Nil)
- }
- })
- |> list.fold([], fn(rows, test_rows) { list.append(rows, test_rows) })
-
- let all_test_execution_time_reports =
- all_test_runs
- |> list.filter_map(fn(test_run) {
- case test_run {
- CompletedTestRun(test_function, total_time, _) ->
- Ok(test_function.name <> ": " <> int.to_string(total_time) <> " ms")
- _ -> Error(Nil)
- }
- })
- let _execution_times_report =
- all_test_execution_time_reports
- |> string.join("\n")
-
- let all_tests_count =
- all_test_runs
- |> list.length()
- let ignored_tests_count =
- ignored_test_runs
- |> list.length()
- let failed_tests_count =
- failed_test_runs
- |> list.length()
-
- let passed =
- passed_style(
- int.to_string(all_tests_count - failed_tests_count - ignored_tests_count) <> " passed",
- )
- let failed = failed_style(int.to_string(failed_tests_count) <> " failed")
- let ignored = case ignored_tests_count {
- 0 -> ""
- _ -> ", " <> ignored_style(int.to_string(ignored_tests_count) <> " ignored")
- }
-
- let failed_tests_table =
- Table(None, failed_tests_report)
- |> align_table()
- |> to_string()
-
- let test_report =
- "\n" <> failed_tests_table <> "\n" <> passed <> ", " <> failed <> ignored
- #(test_report, failed_tests_count)
-}
-
-fn erlang_error_to_unified(
- error_details: List(ReasonDetail),
- assertion_type: GleeUnitAssertionType,
- stacktrace: List(Trace),
-) {
- error_details
- |> list.fold(
- UnifiedError(
- None,
- "not_set",
- assertion_type.message,
- "",
- "",
- None,
- stacktrace,
- ),
- fn(unified, reason) {
- case reason {
- Expression(expression) -> UnifiedError(..unified, reason: expression)
- Expected(value) ->
- case assertion_type {
- GleeUnitAssertEqual(_messaged) ->
- UnifiedError(
- ..unified,
- expected: expected_highlight(string.inspect(value)),
- )
- _ -> unified
- }
- Value(value) ->
- case assertion_type {
- GleeUnitAssertNotEqual(_message) ->
- UnifiedError(
- ..unified,
- expected: not_style("not ") <> string.inspect(value),
- got: got_highlight(string.inspect(value)),
- )
- _ ->
- UnifiedError(..unified, got: got_highlight(string.inspect(value)))
- }
- Pattern(pattern) ->
- case pattern {
- "{ ok , _ }" ->
- UnifiedError(..unified, expected: expected_highlight("Ok(_)"))
- "{ error , _ }" ->
- UnifiedError(..unified, expected: expected_highlight("Error(_)"))
- _ -> unified
- }
- _ -> unified
- }
- },
- )
-}
-
-fn gleam_error_to_unified(
- gleam_error: GleamErrorDetail,
- stacktrace: List(Trace),
-) -> UnifiedError {
- case gleam_error {
- LetAssert(_module, _function, _line_no, _message, value) -> {
- let result: Result(Dynamic, Assertion(Dynamic, Dynamic)) =
- dynamic.unsafe_coerce(value)
- let assert Error(assertion) = result
- case assertion {
- Eq(got, expected, meta) -> {
- let #(expected, got) = compare(expected, got)
- UnifiedError(
- meta,
- "assert",
- "Assert equal",
- expected,
- got,
- None,
- stacktrace,
- )
- }
- NotEq(got, expected, meta) ->
- UnifiedError(
- meta,
- "assert",
- "Assert not equal",
- not_style("not ") <> string.inspect(expected),
- string.inspect(got),
- None,
- stacktrace,
- )
- IsOk(got, meta) ->
- UnifiedError(
- meta,
- "assert",
- "Assert is Ok",
- expected_highlight("Ok(_)"),
- got_highlight(string.inspect(got)),
- None,
- stacktrace,
- )
- IsError(got, meta) ->
- UnifiedError(
- meta,
- "assert",
- "Assert is Ok",
- expected_highlight("Error(_)"),
- got_highlight(string.inspect(got)),
- None,
- stacktrace,
- )
- Fail(meta) ->
- UnifiedError(
- meta,
- "assert",
- "Assert is Ok",
- got_highlight("should.fail()"),
- got_highlight("N/A - test always expected to fail"),
- None,
- stacktrace,
- )
- }
- }
- }
-}
-
-fn format_reason(
- error: UnifiedError,
- module: String,
- function: String,
- output_buffer: List(String),
-) {
- let meta = case error.meta {
- Some(meta) ->
- Some([
- AlignRight(StyledContent(heading_style("Description")), 2),
- Separator(": "),
- AlignLeft(Content(meta.description), 0),
- ])
-
- None -> None
- }
-
- let stacktrace =
- error.stacktrace
- |> list.map(fn(trace) {
- case trace {
- Trace(function, _, _) if function == "" -> "(anonymous)"
- TraceModule(module, function, _, _) if function == "" ->
- module <> "." <> "(anonymous)"
- Trace(function, _, _) -> function
- TraceModule(module, function, _, _) -> module <> "." <> function
- }
- })
- let stacktrace_rows = case stacktrace {
- [] -> []
- [first, ..rest] -> {
- let first_row =
- Some([
- AlignRight(StyledContent(heading_style("Stacktrace")), 2),
- Separator(": "),
- AlignLeft(StyledContent(stacktrace_style(first)), 0),
- ])
- let rest_rows =
- rest
- |> list.map(fn(row) {
- Some([
- AlignRight(Content(""), 2),
- Separator(" "),
- AlignLeft(StyledContent(stacktrace_style(row)), 0),
- ])
- })
- [first_row, ..rest_rows]
- }
- }
-
- let output_rows = case
- output_buffer
- |> list.reverse()
- |> list.map(fn(row) { string.trim_right(row) })
- {
- [] -> []
- [first, ..rest] -> {
- let first_row =
- Some([
- AlignRight(StyledContent(heading_style("Output")), 2),
- Separator(": "),
- AlignLeftOverflow(StyledContent(stacktrace_style(first)), 0),
- ])
- let rest_rows =
- rest
- |> list.map(fn(row) {
- Some([
- AlignRight(Content(""), 2),
- Separator(" "),
- AlignLeftOverflow(StyledContent(stacktrace_style(row)), 0),
- ])
- })
- [first_row, ..rest_rows]
- }
- }
-
- let line =
- error.line
- |> option.map(fn(line) { ":" <> int.to_string(line) })
- |> option.unwrap("")
-
- let arrow =
- string.join(
- list.repeat(
- "-",
- string.length(module) + 1 + {
- string.length(function) + string.length(line)
- } / 2,
- ),
- "",
- ) <> "⌄"
- let standard_table_rows = [
- Some([
- AlignRight(StyledContent(error_style("Failed")), 2),
- Separator(": "),
- AlignLeft(Content(arrow), 0),
- ]),
- Some([
- AlignRight(StyledContent(heading_style("Test")), 2),
- Separator(": "),
- AlignLeft(
- StyledContent(module <> "." <> function_style(function <> line)),
- 0,
- ),
- ]),
- meta,
- Some([
- AlignRight(StyledContent(heading_style("Expected")), 2),
- Separator(": "),
- AlignLeftOverflow(StyledContent(error.expected), 0),
- ]),
- Some([
- AlignRight(StyledContent(heading_style("Got")), 2),
- Separator(": "),
- AlignLeftOverflow(StyledContent(error.got), 0),
- ]),
- ]
- standard_table_rows
- |> list.append(stacktrace_rows)
- |> list.append(output_rows)
- |> list.append([
- Some([
- AlignRight(Content(""), 0),
- AlignRight(Content(""), 0),
- AlignRight(Content(""), 0),
- ]),
- ])
- |> list.filter_map(fn(row) { option.to_result(row, Nil) })
-}
diff --git a/aoc2023/build/packages/adglent/src/showtime/internal/reports/styles.gleam b/aoc2023/build/packages/adglent/src/showtime/internal/reports/styles.gleam
deleted file mode 100644
index b051dd3..0000000
--- a/aoc2023/build/packages/adglent/src/showtime/internal/reports/styles.gleam
+++ /dev/null
@@ -1,84 +0,0 @@
-import gleam_community/ansi
-import gleam/list
-import gleam/string
-import gleam/bit_array
-
-pub fn passed_style(text) {
- bold_green(text)
-}
-
-pub fn failed_style(text) {
- bold_red(text)
-}
-
-pub fn ignored_style(text) {
- bold_yellow(text)
-}
-
-pub fn error_style(text) {
- bold_red(text)
-}
-
-pub fn expected_highlight(text) {
- bold_green(text)
-}
-
-pub fn got_highlight(text) {
- bold_red(text)
-}
-
-pub fn not_style(text) {
- ansi.bold(text)
-}
-
-pub fn module_style(text: String) {
- ansi.cyan(text)
-}
-
-pub fn heading_style(text: String) {
- ansi.cyan(text)
-}
-
-pub fn function_style(text: String) {
- bold_cyan(text)
-}
-
-pub fn stacktrace_style(text: String) {
- text
-}
-
-fn bold_red(text: String) {
- ansi.bold(ansi.red(text))
-}
-
-fn bold_green(text) {
- ansi.bold(ansi.green(text))
-}
-
-fn bold_yellow(text) {
- ansi.bold(ansi.yellow(text))
-}
-
-fn bold_cyan(text) {
- ansi.bold(ansi.cyan(text))
-}
-
-pub fn strip_style(text) {
- let #(new_text, _) =
- text
- |> string.to_graphemes()
- |> list.fold(
- #("", False),
- fn(acc, char) {
- let #(str, removing) = acc
- let bit_char = bit_array.from_string(char)
- case bit_char, removing {
- <<0x1b>>, _ -> #(str, True)
- <<0x6d>>, True -> #(str, False)
- _, True -> #(str, True)
- _, False -> #(str <> char, False)
- }
- },
- )
- new_text
-}
diff --git a/aoc2023/build/packages/adglent/src/showtime/internal/reports/table.gleam b/aoc2023/build/packages/adglent/src/showtime/internal/reports/table.gleam
deleted file mode 100644
index f8bc00c..0000000
--- a/aoc2023/build/packages/adglent/src/showtime/internal/reports/table.gleam
+++ /dev/null
@@ -1,148 +0,0 @@
-import gleam/list
-import gleam/string
-import gleam/int
-import gleam/option.{type Option}
-import showtime/internal/reports/styles.{strip_style}
-
-pub type Content {
- Content(unstyled_text: String)
- StyledContent(styled_text: String)
-}
-
-pub type Col {
- AlignRight(content: Content, margin: Int)
- AlignLeft(content: Content, margin: Int)
- AlignRightOverflow(content: Content, margin: Int)
- AlignLeftOverflow(content: Content, margin: Int)
- Separator(char: String)
- Aligned(content: String)
-}
-
-pub type Table {
- Table(header: Option(String), rows: List(List(Col)))
-}
-
-pub fn to_string(table: Table) -> String {
- let rows =
- table.rows
- |> list.map(fn(row) {
- row
- |> list.filter_map(fn(col) {
- case col {
- Separator(char) -> Ok(char)
- Aligned(content) -> Ok(content)
- _ -> Error(Nil)
- }
- })
- |> string.join("")
- })
- |> string.join("\n")
- let header =
- table.header
- |> option.map(fn(header) { header <> "\n" })
- |> option.unwrap("")
- header <> rows
-}
-
-pub fn align_table(table: Table) -> Table {
- let cols =
- table.rows
- |> list.transpose()
- let col_width =
- cols
- |> list.map(fn(col) {
- col
- |> list.map(fn(content) {
- case content {
- AlignRight(Content(unstyled), _) -> unstyled
- AlignRight(StyledContent(styled), _) -> strip_style(styled)
- AlignLeft(Content(unstyled), _) -> unstyled
- AlignLeft(StyledContent(styled), _) -> strip_style(styled)
- AlignLeftOverflow(_, _) -> ""
- AlignRightOverflow(_, _) -> ""
- Separator(char) -> char
- Aligned(content) -> content
- }
- })
- |> list.fold(0, fn(max, str) { int.max(max, string.length(str)) })
- })
- let aligned_col =
- cols
- |> list.zip(col_width)
- |> list.map(fn(col_and_width) {
- let #(col, width) = col_and_width
- col
- |> list.map(fn(content) {
- case content {
- AlignRight(Content(unstyled), margin) ->
- Aligned(pad_left(
- unstyled,
- width + margin - string.length(unstyled),
- " ",
- ))
- AlignRight(StyledContent(styled), margin) ->
- Aligned(pad_left(
- styled,
- width + margin - string.length(strip_style(styled)),
- " ",
- ))
- AlignRightOverflow(Content(unstyled), margin) ->
- Aligned(pad_left(
- unstyled,
- width + margin - string.length(unstyled),
- " ",
- ))
- AlignRightOverflow(StyledContent(styled), margin) ->
- Aligned(pad_left(
- styled,
- width + margin - string.length(strip_style(styled)),
- " ",
- ))
- AlignLeft(Content(unstyled), margin) ->
- Aligned(pad_right(
- unstyled,
- width + margin - string.length(unstyled),
- " ",
- ))
- AlignLeft(StyledContent(styled), margin) ->
- Aligned(pad_right(
- styled,
- width + margin - string.length(strip_style(styled)),
- " ",
- ))
- AlignLeftOverflow(Content(unstyled), margin) ->
- Aligned(pad_right(
- unstyled,
- width + margin - string.length(unstyled),
- " ",
- ))
- AlignLeftOverflow(StyledContent(styled), margin) ->
- Aligned(pad_right(
- styled,
- width + margin - string.length(strip_style(styled)),
- " ",
- ))
- Separator(char) -> Separator(char)
- Aligned(content) -> Aligned(content)
- }
- })
- })
- let aligned_rows =
- aligned_col
- |> list.transpose()
- Table(..table, rows: aligned_rows)
-}
-
-fn pad_left(str: String, num: Int, char: String) {
- let padding =
- list.repeat(char, num)
- |> string.join("")
- padding <> str
-}
-
-fn pad_right(str: String, num: Int, char: String) {
- let padding =
- list.repeat(char, num)
- |> string.join("")
- str <> padding
-}
diff --git a/aoc2023/build/packages/adglent/src/showtime/tests/meta.gleam b/aoc2023/build/packages/adglent/src/showtime/tests/meta.gleam
deleted file mode 100644
index cbba414..0000000
--- a/aoc2023/build/packages/adglent/src/showtime/tests/meta.gleam
+++ /dev/null
@@ -1,3 +0,0 @@
-pub type Meta {
- Meta(description: String, tags: List(String))
-}
diff --git a/aoc2023/build/packages/adglent/src/showtime/tests/should.gleam b/aoc2023/build/packages/adglent/src/showtime/tests/should.gleam
deleted file mode 100644
index 71578c7..0000000
--- a/aoc2023/build/packages/adglent/src/showtime/tests/should.gleam
+++ /dev/null
@@ -1,113 +0,0 @@
-import gleam/option.{type Option, None, Some}
-import showtime/tests/meta.{type Meta}
-
-pub type Assertion(t, e) {
- Eq(a: t, b: t, meta: Option(Meta))
- NotEq(a: t, b: t, meta: Option(Meta))
- IsOk(a: Result(t, e), meta: Option(Meta))
- IsError(a: Result(t, e), meta: Option(Meta))
- Fail(meta: Option(Meta))
-}
-
-pub fn equal(a: t, b: t) {
- evaluate(Eq(a, b, None))
-}
-
-pub fn equal_meta(a: t, b: t, meta: Meta) {
- evaluate(Eq(a, b, Some(meta)))
-}
-
-pub fn not_equal(a: t, b: t) {
- evaluate(NotEq(a, b, None))
-}
-
-pub fn not_equal_meta(a: t, b: t, meta: Meta) {
- evaluate(NotEq(a, b, Some(meta)))
-}
-
-pub fn be_ok(a: Result(o, e)) {
- evaluate(IsOk(a, None))
- let assert Ok(value) = a
- value
-}
-
-pub fn be_ok_meta(a: Result(o, e), meta: Meta) {
- evaluate(IsOk(a, Some(meta)))
-}
-
-pub fn be_error(a: Result(o, e)) {
- evaluate(IsError(a, None))
- let assert Error(value) = a
- value
-}
-
-pub fn be_error_meta(a: Result(o, e), meta: Meta) {
- evaluate(IsError(a, Some(meta)))
-}
-
-pub fn fail() {
- evaluate(Fail(None))
-}
-
-pub fn fail_meta(meta: Meta) {
- evaluate(Fail(Some(meta)))
-}
-
-pub fn be_true(a: Bool) {
- a
- |> equal(True)
-}
-
-pub fn be_true_meta(a: Bool, meta: Meta) {
- a
- |> equal_meta(True, meta)
-}
-
-pub fn be_false(a: Bool) {
- a
- |> equal(False)
-}
-
-pub fn be_false_meta(a: Bool, meta: Meta) {
- a
- |> equal_meta(False, meta)
-}
-
-@external(erlang, "showtime_ffi", "gleam_error")
-fn gleam_error(value: Result(Nil, Assertion(a, b))) -> Nil
-
-pub fn evaluate(assertion) -> Nil {
- case assertion {
- Eq(a, b, _meta) ->
- case a == b {
- True -> Nil
- False -> {
- gleam_error(Error(assertion))
- }
- }
- NotEq(a, b, _meta) ->
- case a != b {
- True -> Nil
- False -> {
- gleam_error(Error(assertion))
- }
- }
- IsOk(a, _meta) ->
- case a {
- Ok(_) -> Nil
- Error(_) -> {
- gleam_error(Error(assertion))
- }
- }
- IsError(a, _meta) ->
- case a {
- Error(_) -> Nil
- Ok(_) -> {
- gleam_error(Error(assertion))
- }
- }
- Fail(_meta) -> {
- gleam_error(Error(assertion))
- }
- }
-}
diff --git a/aoc2023/build/packages/adglent/src/showtime/tests/test.gleam b/aoc2023/build/packages/adglent/src/showtime/tests/test.gleam
deleted file mode 100644
index 730f943..0000000
--- a/aoc2023/build/packages/adglent/src/showtime/tests/test.gleam
+++ /dev/null
@@ -1,57 +0,0 @@
-import showtime/tests/should
-import showtime/tests/meta.{type Meta}
-import gleam/io
-
-pub type Test {
- Test(meta: Meta, test_function: fn() -> Nil)
-}
-
-pub type MetaShould(t) {
- MetaShould(equal: fn(t, t) -> Nil, not_equal: fn(t, t) -> Nil)
-}
-
-pub fn test(meta: Meta, test_function: fn(Meta) -> Nil) {
- Test(meta, fn() { test_function(meta) })
-}
-
-pub fn with_meta(meta: Meta, test_function: fn(MetaShould(a)) -> Nil) {
- Test(
- meta,
- fn() {
- test_function(MetaShould(
- fn(a, b) { equal(a, b, meta) },
- fn(a, b) { not_equal(a, b, meta) },
- ))
- },
- )
-}
-
-pub fn equal(a: t, b: t, meta: Meta) {
- io.debug(a)
- io.debug(b)
- should.equal_meta(a, b, meta)
-}
-
-pub fn not_equal(a: t, b: t, meta: Meta) {
- should.equal_meta(a, b, meta)
-}
-
-pub fn be_ok(a: Result(o, e), meta: Meta) {
- should.be_ok_meta(a, meta)
-}
-
-pub fn be_error(a: Result(o, e), meta: Meta) {
- should.be_error_meta(a, meta)
-}
-
-pub fn fail(meta: Meta) {
- should.fail_meta(meta)
-}
-
-pub fn be_true(a: Bool, meta: Meta) {
- should.be_true_meta(a, meta)
-}
-
-pub fn be_false(a: Bool, meta: Meta) {
- should.be_false_meta(a, meta)
-}
diff --git a/aoc2023/build/packages/adglent/src/showtime@internal@common@cli.erl b/aoc2023/build/packages/adglent/src/showtime@internal@common@cli.erl
deleted file mode 100644
index f2d2396..0000000
--- a/aoc2023/build/packages/adglent/src/showtime@internal@common@cli.erl
+++ /dev/null
@@ -1,8 +0,0 @@
--module(showtime@internal@common@cli).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export_type([capture/0]).
-
--type capture() :: yes | no | mixed.
-
-
diff --git a/aoc2023/build/packages/adglent/src/showtime@internal@common@common_event_handler.erl b/aoc2023/build/packages/adglent/src/showtime@internal@common@common_event_handler.erl
deleted file mode 100644
index b0a6d7a..0000000
--- a/aoc2023/build/packages/adglent/src/showtime@internal@common@common_event_handler.erl
+++ /dev/null
@@ -1,131 +0,0 @@
--module(showtime@internal@common@common_event_handler).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([handle_event/3]).
--export_type([test_state/0, handler_state/0]).
-
--type test_state() :: not_started | running | {finished, integer()}.
-
--type handler_state() :: {handler_state,
- test_state(),
- integer(),
- gleam@map:map_(binary(), gleam@map:map_(binary(), showtime@internal@common@test_suite:test_run()))}.
-
--spec handle_event(
- showtime@internal@common@test_suite:test_event(),
- fun(() -> integer()),
- handler_state()
-) -> handler_state().
-handle_event(Msg, System_time, State) ->
- Test_state = erlang:element(2, State),
- Num_done = erlang:element(3, State),
- Events = erlang:element(4, State),
- {Updated_test_state, Updated_num_done, Updated_events} = case Msg of
- start_test_run ->
- {running, Num_done, Events};
-
- {start_test_suite, Module} ->
- Maybe_module_events = gleam@map:get(
- Events,
- erlang:element(2, Module)
- ),
- New_events = case Maybe_module_events of
- {ok, _} ->
- Events;
-
- {error, _} ->
- _pipe = Events,
- gleam@map:insert(
- _pipe,
- erlang:element(2, Module),
- gleam@map:new()
- )
- end,
- {Test_state, Num_done, New_events};
-
- {start_test, Module@1, Test} ->
- Current_time = System_time(),
- Maybe_module_events@1 = gleam@map:get(
- Events,
- erlang:element(2, Module@1)
- ),
- New_events@1 = case Maybe_module_events@1 of
- {ok, Module_events} ->
- Maybe_test_event = gleam@map:get(
- Module_events,
- erlang:element(2, Test)
- ),
- case Maybe_test_event of
- {error, _} ->
- _pipe@1 = Events,
- gleam@map:insert(
- _pipe@1,
- erlang:element(2, Module@1),
- begin
- _pipe@2 = Module_events,
- gleam@map:insert(
- _pipe@2,
- erlang:element(2, Test),
- {ongoing_test_run, Test, Current_time}
- )
- end
- );
-
- {ok, _} ->
- Events
- end;
-
- {error, _} ->
- Events
- end,
- {Test_state, Num_done, New_events@1};
-
- {end_test, Module@2, Test@1, Result} ->
- Current_time@1 = System_time(),
- Maybe_module_events@2 = gleam@map:get(
- Events,
- erlang:element(2, Module@2)
- ),
- New_events@2 = case Maybe_module_events@2 of
- {ok, Module_events@1} ->
- Maybe_test_run = begin
- _pipe@3 = Module_events@1,
- gleam@map:get(_pipe@3, erlang:element(2, Test@1))
- end,
- Updated_module_events = case Maybe_test_run of
- {ok, {ongoing_test_run, Test_function, Started_at}} ->
- _pipe@4 = Module_events@1,
- gleam@map:insert(
- _pipe@4,
- erlang:element(2, Test@1),
- {completed_test_run,
- Test_function,
- Current_time@1 - Started_at,
- Result}
- );
-
- {error, _} ->
- Module_events@1
- end,
- _pipe@5 = Events,
- gleam@map:insert(
- _pipe@5,
- erlang:element(2, Module@2),
- Updated_module_events
- );
-
- {error, _} ->
- Events
- end,
- {Test_state, Num_done, New_events@2};
-
- {end_test_suite, _} ->
- {Test_state, Num_done + 1, Events};
-
- {end_test_run, Num_modules} ->
- {{finished, Num_modules}, Num_done, Events};
-
- _ ->
- {running, Num_done, Events}
- end,
- {handler_state, Updated_test_state, Updated_num_done, Updated_events}.
diff --git a/aoc2023/build/packages/adglent/src/showtime@internal@common@test_result.erl b/aoc2023/build/packages/adglent/src/showtime@internal@common@test_result.erl
deleted file mode 100644
index b7b73be..0000000
--- a/aoc2023/build/packages/adglent/src/showtime@internal@common@test_result.erl
+++ /dev/null
@@ -1,54 +0,0 @@
--module(showtime@internal@common@test_result).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export_type([ignore_reason/0, test_return/0, exception/0, reason/0, reason_detail/0, gleam_error_detail/0, class/0, trace_list/0, trace/0, extra_info/0, arity_/0]).
-
--type ignore_reason() :: ignore.
-
--type test_return() :: {test_function_return,
- gleam@dynamic:dynamic_(),
- list(binary())} |
- {ignored, ignore_reason()}.
-
--type exception() :: {erlang_exception,
- class(),
- reason(),
- trace_list(),
- list(binary())}.
-
--type reason() :: {assert_equal, list(reason_detail())} |
- {assert_not_equal, list(reason_detail())} |
- {assert_match, list(reason_detail())} |
- {gleam_error, gleam_error_detail()} |
- {gleam_assert, gleam@dynamic:dynamic_(), integer()} |
- {generic_exception, gleam@dynamic:dynamic_()}.
-
--type reason_detail() :: {module, binary()} |
- {reason_line, integer()} |
- {expression, binary()} |
- {expected, gleam@dynamic:dynamic_()} |
- {value, gleam@dynamic:dynamic_()} |
- {pattern, binary()}.
-
--type gleam_error_detail() :: {let_assert,
- binary(),
- binary(),
- integer(),
- binary(),
- gleam@dynamic:dynamic_()}.
-
--type class() :: erlang_error | exit | throw.
-
--type trace_list() :: {trace_list, list(trace())}.
-
--type trace() :: {trace, binary(), arity_(), list(extra_info())} |
- {trace_module, binary(), binary(), arity_(), list(extra_info())}.
-
--type extra_info() :: {error_info,
- gleam@map:map_(gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_())} |
- {file, binary()} |
- {line, integer()}.
-
--type arity_() :: {num, integer()} | {arg_list, list(gleam@dynamic:dynamic_())}.
-
-
diff --git a/aoc2023/build/packages/adglent/src/showtime@internal@common@test_suite.erl b/aoc2023/build/packages/adglent/src/showtime@internal@common@test_suite.erl
deleted file mode 100644
index 6a56de8..0000000
--- a/aoc2023/build/packages/adglent/src/showtime@internal@common@test_suite.erl
+++ /dev/null
@@ -1,30 +0,0 @@
--module(showtime@internal@common@test_suite).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export_type([test_run/0, test_module/0, test_function/0, test_suite/0, test_event/0]).
-
--type test_run() :: {ongoing_test_run, test_function(), integer()} |
- {completed_test_run,
- test_function(),
- integer(),
- {ok, showtime@internal@common@test_result:test_return()} |
- {error, showtime@internal@common@test_result:exception()}}.
-
--type test_module() :: {test_module, binary(), gleam@option:option(binary())}.
-
--type test_function() :: {test_function, binary()}.
-
--type test_suite() :: {test_suite, test_module(), list(test_function())}.
-
--type test_event() :: start_test_run |
- {start_test_suite, test_module()} |
- {start_test, test_module(), test_function()} |
- {end_test,
- test_module(),
- test_function(),
- {ok, showtime@internal@common@test_result:test_return()} |
- {error, showtime@internal@common@test_result:exception()}} |
- {end_test_suite, test_module()} |
- {end_test_run, integer()}.
-
-
diff --git a/aoc2023/build/packages/adglent/src/showtime@internal@erlang@discover.erl b/aoc2023/build/packages/adglent/src/showtime@internal@erlang@discover.erl
deleted file mode 100644
index f0548aa..0000000
--- a/aoc2023/build/packages/adglent/src/showtime@internal@erlang@discover.erl
+++ /dev/null
@@ -1,230 +0,0 @@
--module(showtime@internal@erlang@discover).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([collect_modules/2, collect_test_functions/1]).
-
--spec get_module_prefix(binary()) -> binary().
-get_module_prefix(Path) ->
- Path_without_test = begin
- _pipe = Path,
- gleam@string:replace(_pipe, <<"./test"/utf8>>, <<""/utf8>>)
- end,
- Path_without_leading_slash = case gleam@string:starts_with(
- Path_without_test,
- <<"/"/utf8>>
- ) of
- true ->
- gleam@string:drop_left(Path_without_test, 1);
-
- false ->
- Path_without_test
- end,
- Module_prefix = begin
- _pipe@1 = Path_without_leading_slash,
- gleam@string:replace(_pipe@1, <<"/"/utf8>>, <<"@"/utf8>>)
- end,
- case gleam@string:length(Module_prefix) of
- 0 ->
- Module_prefix;
-
- _ ->
- <<Module_prefix/binary, "@"/utf8>>
- end.
-
--spec collect_modules_in_folder(
- binary(),
- fun((showtime@internal@common@test_suite:test_module()) -> nil),
- gleam@option:option(list(binary()))
-) -> list(showtime@internal@common@test_suite:test_module()).
-collect_modules_in_folder(Path, Test_module_handler, Only_modules) ->
- Module_prefix = get_module_prefix(Path),
- _assert_subject = simplifile:read_directory(Path),
- {ok, Files} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"showtime/internal/erlang/discover"/utf8>>,
- function => <<"collect_modules_in_folder"/utf8>>,
- line => 40})
- end,
- Test_modules_in_folder = begin
- _pipe = Files,
- _pipe@1 = gleam@list:filter(
- _pipe,
- fun(_capture) ->
- gleam@string:ends_with(_capture, <<"_test.gleam"/utf8>>)
- end
- ),
- gleam@list:filter_map(
- _pipe@1,
- fun(Test_module_file) ->
- Module_name = <<Module_prefix/binary,
- (begin
- _pipe@2 = Test_module_file,
- gleam@string:replace(
- _pipe@2,
- <<".gleam"/utf8>>,
- <<""/utf8>>
- )
- end)/binary>>,
- case Only_modules of
- {some, Only_modules_list} ->
- Module_in_list = begin
- _pipe@3 = Only_modules_list,
- gleam@list:any(
- _pipe@3,
- fun(Only_module_name) ->
- Only_module_name =:= begin
- _pipe@4 = Module_name,
- gleam@string:replace(
- _pipe@4,
- <<"@"/utf8>>,
- <<"/"/utf8>>
- )
- end
- end
- )
- end,
- case Module_in_list of
- true ->
- Test_module = {test_module,
- Module_name,
- {some, Test_module_file}},
- Test_module_handler(Test_module),
- {ok, Test_module};
-
- false ->
- {error, nil}
- end;
-
- none ->
- Test_module@1 = {test_module,
- Module_name,
- {some, Test_module_file}},
- Test_module_handler(Test_module@1),
- {ok, Test_module@1}
- end
- end
- )
- end,
- Test_modules_in_subfolders = begin
- _pipe@5 = Files,
- _pipe@6 = gleam@list:map(
- _pipe@5,
- fun(Filename) ->
- <<<<Path/binary, "/"/utf8>>/binary, Filename/binary>>
- end
- ),
- _pipe@7 = gleam@list:filter(
- _pipe@6,
- fun(File) -> simplifile:is_directory(File) end
- ),
- gleam@list:fold(
- _pipe@7,
- [],
- fun(Modules, Subfolder) -> _pipe@8 = Modules,
- gleam@list:append(
- _pipe@8,
- collect_modules_in_folder(
- Subfolder,
- Test_module_handler,
- Only_modules
- )
- ) end
- )
- end,
- _pipe@9 = Test_modules_in_folder,
- gleam@list:append(_pipe@9, Test_modules_in_subfolders).
-
--spec collect_modules(
- fun((showtime@internal@common@test_suite:test_module()) -> nil),
- gleam@option:option(list(binary()))
-) -> list(showtime@internal@common@test_suite:test_module()).
-collect_modules(Test_module_handler, Only_modules) ->
- collect_modules_in_folder(
- <<"./test"/utf8>>,
- Test_module_handler,
- Only_modules
- ).
-
--spec collect_test_functions(showtime@internal@common@test_suite:test_module()) -> showtime@internal@common@test_suite:test_suite().
-collect_test_functions(Module) ->
- Test_functions = begin
- _pipe = erlang:apply(
- erlang:binary_to_atom(erlang:element(2, Module)),
- erlang:binary_to_atom(<<"module_info"/utf8>>),
- [gleam@dynamic:from(erlang:binary_to_atom(<<"exports"/utf8>>))]
- ),
- gleam@dynamic:unsafe_coerce(_pipe)
- end,
- Test_functions_filtered = begin
- _pipe@1 = Test_functions,
- _pipe@3 = gleam@list:map(
- _pipe@1,
- fun(Entry) ->
- {Name, Arity} = case Entry of
- {_, _} -> Entry;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"showtime/internal/erlang/discover"/utf8>>,
- function => <<"collect_test_functions"/utf8>>,
- line => 131})
- end,
- {begin
- _pipe@2 = Name,
- erlang:atom_to_binary(_pipe@2)
- end,
- Arity}
- end
- ),
- _pipe@4 = gleam@list:filter_map(
- _pipe@3,
- fun(Entry@1) ->
- {Name@1, Arity@1} = case Entry@1 of
- {_, _} -> Entry@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"showtime/internal/erlang/discover"/utf8>>,
- function => <<"collect_test_functions"/utf8>>,
- line => 139})
- end,
- case gleam@string:ends_with(Name@1, <<"_test"/utf8>>) of
- true ->
- case Arity@1 of
- 0 ->
- {ok, Name@1};
-
- _ ->
- gleam@io:println(
- <<<<<<<<"WARNING: function \""/utf8,
- Name@1/binary>>/binary,
- "\" has arity: "/utf8>>/binary,
- (gleam@int:to_string(Arity@1))/binary>>/binary,
- " - cannot be used as test (needs to be 0)"/utf8>>
- ),
- {error, <<"Wrong arity"/utf8>>}
- end;
-
- false ->
- {error, <<"Non matching name"/utf8>>}
- end
- end
- ),
- _pipe@5 = gleam@list:filter(
- _pipe@4,
- fun(_capture) ->
- gleam@string:ends_with(_capture, <<"_test"/utf8>>)
- end
- ),
- gleam@list:map(
- _pipe@5,
- fun(Function_name) -> {test_function, Function_name} end
- )
- end,
- {test_suite, Module, Test_functions_filtered}.
diff --git a/aoc2023/build/packages/adglent/src/showtime@internal@erlang@event_handler.erl b/aoc2023/build/packages/adglent/src/showtime@internal@erlang@event_handler.erl
deleted file mode 100644
index d72ce2c..0000000
--- a/aoc2023/build/packages/adglent/src/showtime@internal@erlang@event_handler.erl
+++ /dev/null
@@ -1,76 +0,0 @@
--module(showtime@internal@erlang@event_handler).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([start/0]).
--export_type([event_handler_message/0]).
-
--type event_handler_message() :: {event_handler_message,
- showtime@internal@common@test_suite:test_event(),
- gleam@erlang@process:subject(integer())}.
-
--spec system_time() -> integer().
-system_time() ->
- os:system_time(millisecond).
-
--spec start() -> fun((showtime@internal@common@test_suite:test_event()) -> nil).
-start() ->
- _assert_subject = gleam@otp@actor:start(
- {not_started, 0, gleam@map:new()},
- fun(Msg, State) ->
- {event_handler_message, Test_event, Reply_to} = Msg,
- {Test_state, Num_done, Events} = State,
- Updated_state = showtime@internal@common@common_event_handler:handle_event(
- Test_event,
- fun system_time/0,
- {handler_state, Test_state, Num_done, Events}
- ),
- case Updated_state of
- {handler_state, {finished, Num_modules}, Num_done@1, Events@1} when Num_done@1 =:= Num_modules ->
- {Test_report, Num_failed} = showtime@internal@reports@formatter:create_test_report(
- Events@1
- ),
- gleam@io:println(Test_report),
- gleam@erlang@process:send(Reply_to, Num_failed),
- {stop, normal};
-
- {handler_state, Test_state@1, Num_done@2, Events@2} ->
- {continue, {Test_state@1, Num_done@2, Events@2}, none}
- end
- end
- ),
- {ok, Subject} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"showtime/internal/erlang/event_handler"/utf8>>,
- function => <<"start"/utf8>>,
- line => 32})
- end,
- Parent_subject = gleam@erlang@process:new_subject(),
- Selector = begin
- _pipe = gleam_erlang_ffi:new_selector(),
- gleam@erlang@process:selecting(_pipe, Parent_subject, fun(X) -> X end)
- end,
- fun(Test_event@1) -> case Test_event@1 of
- {end_test_run, _} ->
- gleam@erlang@process:send(
- Subject,
- {event_handler_message, Test_event@1, Parent_subject}
- ),
- Num_failed@1 = gleam_erlang_ffi:select(Selector),
- case Num_failed@1 > 0 of
- true ->
- erlang:halt(1);
-
- false ->
- erlang:halt(0)
- end;
-
- _ ->
- gleam@erlang@process:send(
- Subject,
- {event_handler_message, Test_event@1, Parent_subject}
- )
- end end.
diff --git a/aoc2023/build/packages/adglent/src/showtime@internal@erlang@module_handler.erl b/aoc2023/build/packages/adglent/src/showtime@internal@erlang@module_handler.erl
deleted file mode 100644
index a6959f5..0000000
--- a/aoc2023/build/packages/adglent/src/showtime@internal@erlang@module_handler.erl
+++ /dev/null
@@ -1,53 +0,0 @@
--module(showtime@internal@erlang@module_handler).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([start/5]).
-
--spec start(
- fun((showtime@internal@common@test_suite:test_event()) -> nil),
- fun((showtime@internal@common@test_suite:test_module()) -> showtime@internal@common@test_suite:test_suite()),
- fun((showtime@internal@common@test_suite:test_suite(), fun((showtime@internal@common@test_suite:test_event()) -> nil), list(binary()), showtime@internal@common@cli:capture()) -> nil),
- list(binary()),
- showtime@internal@common@cli:capture()
-) -> fun((showtime@internal@common@test_suite:test_module()) -> nil).
-start(
- Test_event_handler,
- Test_function_collector,
- Run_test_suite,
- Ignore_tags,
- Capture
-) ->
- _assert_subject = gleam@otp@actor:start(
- nil,
- fun(Module, State) ->
- gleam@erlang@process:start(
- fun() ->
- Test_suite = Test_function_collector(Module),
- Test_event_handler({start_test_suite, Module}),
- Run_test_suite(
- Test_suite,
- Test_event_handler,
- Ignore_tags,
- Capture
- ),
- Test_event_handler({end_test_suite, Module})
- end,
- false
- ),
- {continue, State, none}
- end
- ),
- {ok, Subject} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"showtime/internal/erlang/module_handler"/utf8>>,
- function => <<"start"/utf8>>,
- line => 23})
- end,
- fun(Test_module) ->
- gleam@erlang@process:send(Subject, Test_module),
- nil
- end.
diff --git a/aoc2023/build/packages/adglent/src/showtime@internal@erlang@runner.erl b/aoc2023/build/packages/adglent/src/showtime@internal@erlang@runner.erl
deleted file mode 100644
index 702fb75..0000000
--- a/aoc2023/build/packages/adglent/src/showtime@internal@erlang@runner.erl
+++ /dev/null
@@ -1,46 +0,0 @@
--module(showtime@internal@erlang@runner).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([run_test/4, run_test_suite/4]).
-
--spec run_test(
- binary(),
- binary(),
- list(binary()),
- showtime@internal@common@cli:capture()
-) -> {ok, showtime@internal@common@test_result:test_return()} |
- {error, showtime@internal@common@test_result:exception()}.
-run_test(Module_name, Test_name, Ignore_tags, Capture) ->
- Result = showtime_ffi:run_test(
- erlang:binary_to_atom(Module_name),
- erlang:binary_to_atom(Test_name),
- Ignore_tags,
- Capture
- ),
- Result.
-
--spec run_test_suite(
- showtime@internal@common@test_suite:test_suite(),
- fun((showtime@internal@common@test_suite:test_event()) -> nil),
- list(binary()),
- showtime@internal@common@cli:capture()
-) -> nil.
-run_test_suite(Test_suite, Test_event_handler, Ignore_tags, Capture) ->
- _pipe = erlang:element(3, Test_suite),
- gleam@list:each(
- _pipe,
- fun(Test) ->
- Test_event_handler(
- {start_test, erlang:element(2, Test_suite), Test}
- ),
- Result = run_test(
- erlang:element(2, erlang:element(2, Test_suite)),
- erlang:element(2, Test),
- Ignore_tags,
- Capture
- ),
- Test_event_handler(
- {end_test, erlang:element(2, Test_suite), Test, Result}
- )
- end
- ).
diff --git a/aoc2023/build/packages/adglent/src/showtime@internal@reports@compare.erl b/aoc2023/build/packages/adglent/src/showtime@internal@reports@compare.erl
deleted file mode 100644
index d2969b2..0000000
--- a/aoc2023/build/packages/adglent/src/showtime@internal@reports@compare.erl
+++ /dev/null
@@ -1,61 +0,0 @@
--module(showtime@internal@reports@compare).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([compare/2]).
-
--spec compare(gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_()) -> {binary(),
- binary()}.
-compare(Expected, Got) ->
- Expected_as_list = begin
- _pipe = Expected,
- (gleam@dynamic:list(fun gleam@dynamic:dynamic/1))(_pipe)
- end,
- Got_as_list = begin
- _pipe@1 = Got,
- (gleam@dynamic:list(fun gleam@dynamic:dynamic/1))(_pipe@1)
- end,
- Expected_as_string = begin
- _pipe@2 = Expected,
- gleam@dynamic:string(_pipe@2)
- end,
- Got_as_string = begin
- _pipe@3 = Got,
- gleam@dynamic:string(_pipe@3)
- end,
- case {Expected_as_list, Got_as_list, Expected_as_string, Got_as_string} of
- {{ok, Expected_list}, {ok, Got_list}, _, _} ->
- Comparison = begin
- _pipe@4 = gap:compare_lists(Expected_list, Got_list),
- _pipe@5 = gap@styling:from_comparison(_pipe@4),
- _pipe@6 = gap@styling:highlight(
- _pipe@5,
- fun showtime@internal@reports@styles:expected_highlight/1,
- fun showtime@internal@reports@styles:got_highlight/1,
- fun(Item) -> Item end
- ),
- gap@styling:to_styled_comparison(_pipe@6)
- end,
- {erlang:element(2, Comparison), erlang:element(3, Comparison)};
-
- {_, _, {ok, Expected_string}, {ok, Got_string}} ->
- Comparison@1 = begin
- _pipe@7 = gap:compare_strings(Expected_string, Got_string),
- _pipe@8 = gap@styling:from_comparison(_pipe@7),
- _pipe@9 = gap@styling:highlight(
- _pipe@8,
- fun showtime@internal@reports@styles:expected_highlight/1,
- fun showtime@internal@reports@styles:got_highlight/1,
- fun(Item@1) -> Item@1 end
- ),
- gap@styling:to_styled_comparison(_pipe@9)
- end,
- {erlang:element(2, Comparison@1), erlang:element(3, Comparison@1)};
-
- {_, _, _, _} ->
- {showtime@internal@reports@styles:expected_highlight(
- gleam@string:inspect(Expected)
- ),
- showtime@internal@reports@styles:got_highlight(
- gleam@string:inspect(Got)
- )}
- end.
diff --git a/aoc2023/build/packages/adglent/src/showtime@internal@reports@formatter.erl b/aoc2023/build/packages/adglent/src/showtime@internal@reports@formatter.erl
deleted file mode 100644
index faea091..0000000
--- a/aoc2023/build/packages/adglent/src/showtime@internal@reports@formatter.erl
+++ /dev/null
@@ -1,749 +0,0 @@
--module(showtime@internal@reports@formatter).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([create_test_report/1]).
--export_type([glee_unit_assertion_type/0, module_and_test/0, unified_error/0]).
-
--type glee_unit_assertion_type() :: {glee_unit_assert_equal, binary()} |
- {glee_unit_assert_not_equal, binary()} |
- {glee_unit_assert_match, binary()}.
-
--type module_and_test() :: {module_and_test_run,
- binary(),
- showtime@internal@common@test_suite:test_run()}.
-
--type unified_error() :: {unified_error,
- gleam@option:option(showtime@tests@meta:meta()),
- binary(),
- binary(),
- binary(),
- binary(),
- gleam@option:option(integer()),
- list(showtime@internal@common@test_result:trace())}.
-
--spec erlang_error_to_unified(
- list(showtime@internal@common@test_result:reason_detail()),
- glee_unit_assertion_type(),
- list(showtime@internal@common@test_result:trace())
-) -> unified_error().
-erlang_error_to_unified(Error_details, Assertion_type, Stacktrace) ->
- _pipe = Error_details,
- gleam@list:fold(
- _pipe,
- {unified_error,
- none,
- <<"not_set"/utf8>>,
- erlang:element(2, Assertion_type),
- <<""/utf8>>,
- <<""/utf8>>,
- none,
- Stacktrace},
- fun(Unified, Reason) -> case Reason of
- {expression, Expression} ->
- erlang:setelement(3, Unified, Expression);
-
- {expected, Value} ->
- case Assertion_type of
- {glee_unit_assert_equal, _} ->
- erlang:setelement(
- 5,
- Unified,
- showtime@internal@reports@styles:expected_highlight(
- gleam@string:inspect(Value)
- )
- );
-
- _ ->
- Unified
- end;
-
- {value, Value@1} ->
- case Assertion_type of
- {glee_unit_assert_not_equal, _} ->
- erlang:setelement(
- 6,
- erlang:setelement(
- 5,
- Unified,
- <<(showtime@internal@reports@styles:not_style(
- <<"not "/utf8>>
- ))/binary,
- (gleam@string:inspect(Value@1))/binary>>
- ),
- showtime@internal@reports@styles:got_highlight(
- gleam@string:inspect(Value@1)
- )
- );
-
- _ ->
- erlang:setelement(
- 6,
- Unified,
- showtime@internal@reports@styles:got_highlight(
- gleam@string:inspect(Value@1)
- )
- )
- end;
-
- {pattern, Pattern} ->
- case Pattern of
- <<"{ ok , _ }"/utf8>> ->
- erlang:setelement(
- 5,
- Unified,
- showtime@internal@reports@styles:expected_highlight(
- <<"Ok(_)"/utf8>>
- )
- );
-
- <<"{ error , _ }"/utf8>> ->
- erlang:setelement(
- 5,
- Unified,
- showtime@internal@reports@styles:expected_highlight(
- <<"Error(_)"/utf8>>
- )
- );
-
- _ ->
- Unified
- end;
-
- _ ->
- Unified
- end end
- ).
-
--spec gleam_error_to_unified(
- showtime@internal@common@test_result:gleam_error_detail(),
- list(showtime@internal@common@test_result:trace())
-) -> unified_error().
-gleam_error_to_unified(Gleam_error, Stacktrace) ->
- case Gleam_error of
- {let_assert, _, _, _, _, Value} ->
- Result = gleam@dynamic:unsafe_coerce(Value),
- {error, Assertion} = case Result of
- {error, _} -> Result;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"showtime/internal/reports/formatter"/utf8>>,
- function => <<"gleam_error_to_unified"/utf8>>,
- line => 293})
- end,
- case Assertion of
- {eq, Got, Expected, Meta} ->
- {Expected@1, Got@1} = showtime@internal@reports@compare:compare(
- Expected,
- Got
- ),
- {unified_error,
- Meta,
- <<"assert"/utf8>>,
- <<"Assert equal"/utf8>>,
- Expected@1,
- Got@1,
- none,
- Stacktrace};
-
- {not_eq, Got@2, Expected@2, Meta@1} ->
- {unified_error,
- Meta@1,
- <<"assert"/utf8>>,
- <<"Assert not equal"/utf8>>,
- <<(showtime@internal@reports@styles:not_style(
- <<"not "/utf8>>
- ))/binary,
- (gleam@string:inspect(Expected@2))/binary>>,
- gleam@string:inspect(Got@2),
- none,
- Stacktrace};
-
- {is_ok, Got@3, Meta@2} ->
- {unified_error,
- Meta@2,
- <<"assert"/utf8>>,
- <<"Assert is Ok"/utf8>>,
- showtime@internal@reports@styles:expected_highlight(
- <<"Ok(_)"/utf8>>
- ),
- showtime@internal@reports@styles:got_highlight(
- gleam@string:inspect(Got@3)
- ),
- none,
- Stacktrace};
-
- {is_error, Got@4, Meta@3} ->
- {unified_error,
- Meta@3,
- <<"assert"/utf8>>,
- <<"Assert is Ok"/utf8>>,
- showtime@internal@reports@styles:expected_highlight(
- <<"Error(_)"/utf8>>
- ),
- showtime@internal@reports@styles:got_highlight(
- gleam@string:inspect(Got@4)
- ),
- none,
- Stacktrace};
-
- {fail, Meta@4} ->
- {unified_error,
- Meta@4,
- <<"assert"/utf8>>,
- <<"Assert is Ok"/utf8>>,
- showtime@internal@reports@styles:got_highlight(
- <<"should.fail()"/utf8>>
- ),
- showtime@internal@reports@styles:got_highlight(
- <<"N/A - test always expected to fail"/utf8>>
- ),
- none,
- Stacktrace}
- end
- end.
-
--spec format_reason(unified_error(), binary(), binary(), list(binary())) -> list(list(showtime@internal@reports@table:col())).
-format_reason(Error, Module, Function, Output_buffer) ->
- Meta@1 = case erlang:element(2, Error) of
- {some, Meta} ->
- {some,
- [{align_right,
- {styled_content,
- showtime@internal@reports@styles:heading_style(
- <<"Description"/utf8>>
- )},
- 2},
- {separator, <<": "/utf8>>},
- {align_left, {content, erlang:element(2, Meta)}, 0}]};
-
- none ->
- none
- end,
- Stacktrace = begin
- _pipe = erlang:element(8, Error),
- gleam@list:map(_pipe, fun(Trace) -> case Trace of
- {trace, Function@1, _, _} when Function@1 =:= <<""/utf8>> ->
- <<"(anonymous)"/utf8>>;
-
- {trace_module, Module@1, Function@2, _, _} when Function@2 =:= <<""/utf8>> ->
- <<<<Module@1/binary, "."/utf8>>/binary,
- "(anonymous)"/utf8>>;
-
- {trace, Function@3, _, _} ->
- Function@3;
-
- {trace_module, Module@2, Function@4, _, _} ->
- <<<<Module@2/binary, "."/utf8>>/binary,
- Function@4/binary>>
- end end)
- end,
- Stacktrace_rows = case Stacktrace of
- [] ->
- [];
-
- [First | Rest] ->
- First_row = {some,
- [{align_right,
- {styled_content,
- showtime@internal@reports@styles:heading_style(
- <<"Stacktrace"/utf8>>
- )},
- 2},
- {separator, <<": "/utf8>>},
- {align_left,
- {styled_content,
- showtime@internal@reports@styles:stacktrace_style(
- First
- )},
- 0}]},
- Rest_rows = begin
- _pipe@1 = Rest,
- gleam@list:map(
- _pipe@1,
- fun(Row) ->
- {some,
- [{align_right, {content, <<""/utf8>>}, 2},
- {separator, <<" "/utf8>>},
- {align_left,
- {styled_content,
- showtime@internal@reports@styles:stacktrace_style(
- Row
- )},
- 0}]}
- end
- )
- end,
- [First_row | Rest_rows]
- end,
- Output_rows = case begin
- _pipe@2 = Output_buffer,
- _pipe@3 = gleam@list:reverse(_pipe@2),
- gleam@list:map(
- _pipe@3,
- fun(Row@1) -> gleam@string:trim_right(Row@1) end
- )
- end of
- [] ->
- [];
-
- [First@1 | Rest@1] ->
- First_row@1 = {some,
- [{align_right,
- {styled_content,
- showtime@internal@reports@styles:heading_style(
- <<"Output"/utf8>>
- )},
- 2},
- {separator, <<": "/utf8>>},
- {align_left_overflow,
- {styled_content,
- showtime@internal@reports@styles:stacktrace_style(
- First@1
- )},
- 0}]},
- Rest_rows@1 = begin
- _pipe@4 = Rest@1,
- gleam@list:map(
- _pipe@4,
- fun(Row@2) ->
- {some,
- [{align_right, {content, <<""/utf8>>}, 2},
- {separator, <<" "/utf8>>},
- {align_left_overflow,
- {styled_content,
- showtime@internal@reports@styles:stacktrace_style(
- Row@2
- )},
- 0}]}
- end
- )
- end,
- [First_row@1 | Rest_rows@1]
- end,
- Line@1 = begin
- _pipe@5 = erlang:element(7, Error),
- _pipe@6 = gleam@option:map(
- _pipe@5,
- fun(Line) -> <<":"/utf8, (gleam@int:to_string(Line))/binary>> end
- ),
- gleam@option:unwrap(_pipe@6, <<""/utf8>>)
- end,
- Arrow = <<(gleam@string:join(
- gleam@list:repeat(
- <<"-"/utf8>>,
- (gleam@string:length(Module) + 1) + ((gleam@string:length(
- Function
- )
- + gleam@string:length(Line@1))
- div 2)
- ),
- <<""/utf8>>
- ))/binary,
- "⌄"/utf8>>,
- Standard_table_rows = [{some,
- [{align_right,
- {styled_content,
- showtime@internal@reports@styles:error_style(
- <<"Failed"/utf8>>
- )},
- 2},
- {separator, <<": "/utf8>>},
- {align_left, {content, Arrow}, 0}]},
- {some,
- [{align_right,
- {styled_content,
- showtime@internal@reports@styles:heading_style(
- <<"Test"/utf8>>
- )},
- 2},
- {separator, <<": "/utf8>>},
- {align_left,
- {styled_content,
- <<<<Module/binary, "."/utf8>>/binary,
- (showtime@internal@reports@styles:function_style(
- <<Function/binary, Line@1/binary>>
- ))/binary>>},
- 0}]},
- Meta@1,
- {some,
- [{align_right,
- {styled_content,
- showtime@internal@reports@styles:heading_style(
- <<"Expected"/utf8>>
- )},
- 2},
- {separator, <<": "/utf8>>},
- {align_left_overflow,
- {styled_content, erlang:element(5, Error)},
- 0}]},
- {some,
- [{align_right,
- {styled_content,
- showtime@internal@reports@styles:heading_style(
- <<"Got"/utf8>>
- )},
- 2},
- {separator, <<": "/utf8>>},
- {align_left_overflow,
- {styled_content, erlang:element(6, Error)},
- 0}]}],
- _pipe@7 = Standard_table_rows,
- _pipe@8 = gleam@list:append(_pipe@7, Stacktrace_rows),
- _pipe@9 = gleam@list:append(_pipe@8, Output_rows),
- _pipe@10 = gleam@list:append(
- _pipe@9,
- [{some,
- [{align_right, {content, <<""/utf8>>}, 0},
- {align_right, {content, <<""/utf8>>}, 0},
- {align_right, {content, <<""/utf8>>}, 0}]}]
- ),
- gleam@list:filter_map(
- _pipe@10,
- fun(Row@3) -> gleam@option:to_result(Row@3, nil) end
- ).
-
--spec create_test_report(
- gleam@map:map_(binary(), gleam@map:map_(binary(), showtime@internal@common@test_suite:test_run()))
-) -> {binary(), integer()}.
-create_test_report(Test_results) ->
- All_test_runs = begin
- _pipe = Test_results,
- _pipe@1 = gleam@map:values(_pipe),
- gleam@list:flat_map(_pipe@1, fun gleam@map:values/1)
- end,
- Failed_test_runs = begin
- _pipe@2 = Test_results,
- _pipe@3 = gleam@map:to_list(_pipe@2),
- gleam@list:flat_map(
- _pipe@3,
- fun(Entry) ->
- {Module_name, Test_module_results} = Entry,
- _pipe@4 = Test_module_results,
- _pipe@5 = gleam@map:values(_pipe@4),
- gleam@list:filter_map(_pipe@5, fun(Test_run) -> case Test_run of
- {completed_test_run, _, _, Result} ->
- case Result of
- {error, _} ->
- {ok,
- {module_and_test_run,
- Module_name,
- Test_run}};
-
- {ok, {ignored, _}} ->
- {error, nil};
-
- {ok, _} ->
- {error, nil}
- end;
-
- _ ->
- _pipe@6 = Test_run,
- gleam@io:debug(_pipe@6),
- {error, nil}
- end end)
- end
- )
- end,
- Ignored_test_runs = begin
- _pipe@7 = Test_results,
- _pipe@8 = gleam@map:to_list(_pipe@7),
- gleam@list:flat_map(
- _pipe@8,
- fun(Entry@1) ->
- {Module_name@1, Test_module_results@1} = Entry@1,
- _pipe@9 = Test_module_results@1,
- _pipe@10 = gleam@map:values(_pipe@9),
- gleam@list:filter_map(
- _pipe@10,
- fun(Test_run@1) -> case Test_run@1 of
- {completed_test_run, Test_function, _, Result@1} ->
- case Result@1 of
- {ok, {ignored, Reason}} ->
- {ok,
- {<<<<Module_name@1/binary,
- "."/utf8>>/binary,
- (erlang:element(
- 2,
- Test_function
- ))/binary>>,
- Reason}};
-
- _ ->
- {error, nil}
- end;
-
- _ ->
- {error, nil}
- end end
- )
- end
- )
- end,
- Failed_tests_report = begin
- _pipe@11 = Failed_test_runs,
- _pipe@12 = gleam@list:filter_map(
- _pipe@11,
- fun(Module_and_test_run) ->
- case erlang:element(3, Module_and_test_run) of
- {completed_test_run, Test_function@1, _, Result@2} ->
- case Result@2 of
- {error, Exception} ->
- case erlang:element(3, Exception) of
- {assert_equal, Reason_details} ->
- {ok,
- format_reason(
- erlang_error_to_unified(
- Reason_details,
- {glee_unit_assert_equal,
- <<"Assert equal"/utf8>>},
- erlang:element(
- 2,
- erlang:element(
- 4,
- Exception
- )
- )
- ),
- erlang:element(
- 2,
- Module_and_test_run
- ),
- erlang:element(
- 2,
- Test_function@1
- ),
- erlang:element(5, Exception)
- )};
-
- {assert_not_equal, Reason_details@1} ->
- {ok,
- format_reason(
- erlang_error_to_unified(
- Reason_details@1,
- {glee_unit_assert_not_equal,
- <<"Assert not equal"/utf8>>},
- erlang:element(
- 2,
- erlang:element(
- 4,
- Exception
- )
- )
- ),
- erlang:element(
- 2,
- Module_and_test_run
- ),
- erlang:element(
- 2,
- Test_function@1
- ),
- erlang:element(5, Exception)
- )};
-
- {assert_match, Reason_details@2} ->
- {ok,
- format_reason(
- erlang_error_to_unified(
- Reason_details@2,
- {glee_unit_assert_match,
- <<"Assert match"/utf8>>},
- erlang:element(
- 2,
- erlang:element(
- 4,
- Exception
- )
- )
- ),
- erlang:element(
- 2,
- Module_and_test_run
- ),
- erlang:element(
- 2,
- Test_function@1
- ),
- erlang:element(5, Exception)
- )};
-
- {gleam_error, Reason@1} ->
- {ok,
- format_reason(
- gleam_error_to_unified(
- Reason@1,
- erlang:element(
- 2,
- erlang:element(
- 4,
- Exception
- )
- )
- ),
- erlang:element(
- 2,
- Module_and_test_run
- ),
- erlang:element(
- 2,
- Test_function@1
- ),
- erlang:element(5, Exception)
- )};
-
- {gleam_assert, Value, Line_no} ->
- {ok,
- format_reason(
- {unified_error,
- none,
- <<"gleam assert"/utf8>>,
- <<"Assert failed"/utf8>>,
- <<"Patterns should match"/utf8>>,
- showtime@internal@reports@styles:error_style(
- gleam@string:inspect(
- Value
- )
- ),
- {some, Line_no},
- erlang:element(
- 2,
- erlang:element(
- 4,
- Exception
- )
- )},
- erlang:element(
- 2,
- Module_and_test_run
- ),
- erlang:element(
- 2,
- Test_function@1
- ),
- erlang:element(5, Exception)
- )};
-
- {generic_exception, Value@1} ->
- {ok,
- format_reason(
- {unified_error,
- none,
- <<"generic exception"/utf8>>,
- <<"Test function threw an exception"/utf8>>,
- <<"Exception in test function"/utf8>>,
- showtime@internal@reports@styles:error_style(
- gleam@string:inspect(
- Value@1
- )
- ),
- none,
- erlang:element(
- 2,
- erlang:element(
- 4,
- Exception
- )
- )},
- erlang:element(
- 2,
- Module_and_test_run
- ),
- erlang:element(
- 2,
- Test_function@1
- ),
- erlang:element(5, Exception)
- )};
-
- Other ->
- gleam@io:println(
- <<"Other: "/utf8,
- (gleam@string:inspect(Other))/binary>>
- ),
- erlang:error(#{gleam_error => panic,
- message => <<"panic expression evaluated"/utf8>>,
- module => <<"showtime/internal/reports/formatter"/utf8>>,
- function => <<"create_test_report"/utf8>>,
- line => 178}),
- {error, nil}
- end;
-
- _ ->
- {error, nil}
- end;
-
- _ ->
- {error, nil}
- end
- end
- ),
- gleam@list:fold(
- _pipe@12,
- [],
- fun(Rows, Test_rows) -> gleam@list:append(Rows, Test_rows) end
- )
- end,
- All_test_execution_time_reports = begin
- _pipe@13 = All_test_runs,
- gleam@list:filter_map(_pipe@13, fun(Test_run@2) -> case Test_run@2 of
- {completed_test_run, Test_function@2, Total_time, _} ->
- {ok,
- <<<<<<(erlang:element(2, Test_function@2))/binary,
- ": "/utf8>>/binary,
- (gleam@int:to_string(Total_time))/binary>>/binary,
- " ms"/utf8>>};
-
- _ ->
- {error, nil}
- end end)
- end,
- _ = begin
- _pipe@14 = All_test_execution_time_reports,
- gleam@string:join(_pipe@14, <<"\n"/utf8>>)
- end,
- All_tests_count = begin
- _pipe@15 = All_test_runs,
- gleam@list:length(_pipe@15)
- end,
- Ignored_tests_count = begin
- _pipe@16 = Ignored_test_runs,
- gleam@list:length(_pipe@16)
- end,
- Failed_tests_count = begin
- _pipe@17 = Failed_test_runs,
- gleam@list:length(_pipe@17)
- end,
- Passed = showtime@internal@reports@styles:passed_style(
- <<(gleam@int:to_string(
- (All_tests_count - Failed_tests_count) - Ignored_tests_count
- ))/binary,
- " passed"/utf8>>
- ),
- Failed = showtime@internal@reports@styles:failed_style(
- <<(gleam@int:to_string(Failed_tests_count))/binary, " failed"/utf8>>
- ),
- Ignored = case Ignored_tests_count of
- 0 ->
- <<""/utf8>>;
-
- _ ->
- <<", "/utf8,
- (showtime@internal@reports@styles:ignored_style(
- <<(gleam@int:to_string(Ignored_tests_count))/binary,
- " ignored"/utf8>>
- ))/binary>>
- end,
- Failed_tests_table = begin
- _pipe@18 = {table, none, Failed_tests_report},
- _pipe@19 = showtime@internal@reports@table:align_table(_pipe@18),
- showtime@internal@reports@table:to_string(_pipe@19)
- end,
- Test_report = <<<<<<<<<<<<"\n"/utf8, Failed_tests_table/binary>>/binary,
- "\n"/utf8>>/binary,
- Passed/binary>>/binary,
- ", "/utf8>>/binary,
- Failed/binary>>/binary,
- Ignored/binary>>,
- {Test_report, Failed_tests_count}.
diff --git a/aoc2023/build/packages/adglent/src/showtime@internal@reports@styles.erl b/aoc2023/build/packages/adglent/src/showtime@internal@reports@styles.erl
deleted file mode 100644
index ec6230c..0000000
--- a/aoc2023/build/packages/adglent/src/showtime@internal@reports@styles.erl
+++ /dev/null
@@ -1,93 +0,0 @@
--module(showtime@internal@reports@styles).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([not_style/1, module_style/1, heading_style/1, stacktrace_style/1, failed_style/1, error_style/1, got_highlight/1, passed_style/1, expected_highlight/1, ignored_style/1, function_style/1, strip_style/1]).
-
--spec not_style(binary()) -> binary().
-not_style(Text) ->
- gleam_community@ansi:bold(Text).
-
--spec module_style(binary()) -> binary().
-module_style(Text) ->
- gleam_community@ansi:cyan(Text).
-
--spec heading_style(binary()) -> binary().
-heading_style(Text) ->
- gleam_community@ansi:cyan(Text).
-
--spec stacktrace_style(binary()) -> binary().
-stacktrace_style(Text) ->
- Text.
-
--spec bold_red(binary()) -> binary().
-bold_red(Text) ->
- gleam_community@ansi:bold(gleam_community@ansi:red(Text)).
-
--spec failed_style(binary()) -> binary().
-failed_style(Text) ->
- bold_red(Text).
-
--spec error_style(binary()) -> binary().
-error_style(Text) ->
- bold_red(Text).
-
--spec got_highlight(binary()) -> binary().
-got_highlight(Text) ->
- bold_red(Text).
-
--spec bold_green(binary()) -> binary().
-bold_green(Text) ->
- gleam_community@ansi:bold(gleam_community@ansi:green(Text)).
-
--spec passed_style(binary()) -> binary().
-passed_style(Text) ->
- bold_green(Text).
-
--spec expected_highlight(binary()) -> binary().
-expected_highlight(Text) ->
- bold_green(Text).
-
--spec bold_yellow(binary()) -> binary().
-bold_yellow(Text) ->
- gleam_community@ansi:bold(gleam_community@ansi:yellow(Text)).
-
--spec ignored_style(binary()) -> binary().
-ignored_style(Text) ->
- bold_yellow(Text).
-
--spec bold_cyan(binary()) -> binary().
-bold_cyan(Text) ->
- gleam_community@ansi:bold(gleam_community@ansi:cyan(Text)).
-
--spec function_style(binary()) -> binary().
-function_style(Text) ->
- bold_cyan(Text).
-
--spec strip_style(binary()) -> binary().
-strip_style(Text) ->
- {New_text, _} = begin
- _pipe = Text,
- _pipe@1 = gleam@string:to_graphemes(_pipe),
- gleam@list:fold(
- _pipe@1,
- {<<""/utf8>>, false},
- fun(Acc, Char) ->
- {Str, Removing} = Acc,
- Bit_char = gleam_stdlib:identity(Char),
- case {Bit_char, Removing} of
- {<<16#1b>>, _} ->
- {Str, true};
-
- {<<16#6d>>, true} ->
- {Str, false};
-
- {_, true} ->
- {Str, true};
-
- {_, false} ->
- {<<Str/binary, Char/binary>>, false}
- end
- end
- )
- end,
- New_text.
diff --git a/aoc2023/build/packages/adglent/src/showtime@internal@reports@table.erl b/aoc2023/build/packages/adglent/src/showtime@internal@reports@table.erl
deleted file mode 100644
index 35dbba3..0000000
--- a/aoc2023/build/packages/adglent/src/showtime@internal@reports@table.erl
+++ /dev/null
@@ -1,229 +0,0 @@
--module(showtime@internal@reports@table).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([to_string/1, align_table/1]).
--export_type([content/0, col/0, table/0]).
-
--type content() :: {content, binary()} | {styled_content, binary()}.
-
--type col() :: {align_right, content(), integer()} |
- {align_left, content(), integer()} |
- {align_right_overflow, content(), integer()} |
- {align_left_overflow, content(), integer()} |
- {separator, binary()} |
- {aligned, binary()}.
-
--type table() :: {table, gleam@option:option(binary()), list(list(col()))}.
-
--spec to_string(table()) -> binary().
-to_string(Table) ->
- Rows = begin
- _pipe = erlang:element(3, Table),
- _pipe@3 = gleam@list:map(_pipe, fun(Row) -> _pipe@1 = Row,
- _pipe@2 = gleam@list:filter_map(_pipe@1, fun(Col) -> case Col of
- {separator, Char} ->
- {ok, Char};
-
- {aligned, Content} ->
- {ok, Content};
-
- _ ->
- {error, nil}
- end end),
- gleam@string:join(_pipe@2, <<""/utf8>>) end),
- gleam@string:join(_pipe@3, <<"\n"/utf8>>)
- end,
- Header@1 = begin
- _pipe@4 = erlang:element(2, Table),
- _pipe@5 = gleam@option:map(
- _pipe@4,
- fun(Header) -> <<Header/binary, "\n"/utf8>> end
- ),
- gleam@option:unwrap(_pipe@5, <<""/utf8>>)
- end,
- <<Header@1/binary, Rows/binary>>.
-
--spec pad_left(binary(), integer(), binary()) -> binary().
-pad_left(Str, Num, Char) ->
- Padding = begin
- _pipe = gleam@list:repeat(Char, Num),
- gleam@string:join(_pipe, <<""/utf8>>)
- end,
- <<Padding/binary, Str/binary>>.
-
--spec pad_right(binary(), integer(), binary()) -> binary().
-pad_right(Str, Num, Char) ->
- Padding = begin
- _pipe = gleam@list:repeat(Char, Num),
- gleam@string:join(_pipe, <<""/utf8>>)
- end,
- <<Str/binary, Padding/binary>>.
-
--spec align_table(table()) -> table().
-align_table(Table) ->
- Cols = begin
- _pipe = erlang:element(3, Table),
- gleam@list:transpose(_pipe)
- end,
- Col_width = begin
- _pipe@1 = Cols,
- gleam@list:map(_pipe@1, fun(Col) -> _pipe@2 = Col,
- _pipe@3 = gleam@list:map(
- _pipe@2,
- fun(Content) -> case Content of
- {align_right, {content, Unstyled}, _} ->
- Unstyled;
-
- {align_right, {styled_content, Styled}, _} ->
- showtime@internal@reports@styles:strip_style(
- Styled
- );
-
- {align_left, {content, Unstyled@1}, _} ->
- Unstyled@1;
-
- {align_left, {styled_content, Styled@1}, _} ->
- showtime@internal@reports@styles:strip_style(
- Styled@1
- );
-
- {align_left_overflow, _, _} ->
- <<""/utf8>>;
-
- {align_right_overflow, _, _} ->
- <<""/utf8>>;
-
- {separator, Char} ->
- Char;
-
- {aligned, Content@1} ->
- Content@1
- end end
- ),
- gleam@list:fold(
- _pipe@3,
- 0,
- fun(Max, Str) ->
- gleam@int:max(Max, gleam@string:length(Str))
- end
- ) end)
- end,
- Aligned_col = begin
- _pipe@4 = Cols,
- _pipe@5 = gleam@list:zip(_pipe@4, Col_width),
- gleam@list:map(
- _pipe@5,
- fun(Col_and_width) ->
- {Col@1, Width} = Col_and_width,
- _pipe@6 = Col@1,
- gleam@list:map(_pipe@6, fun(Content@2) -> case Content@2 of
- {align_right, {content, Unstyled@2}, Margin} ->
- {aligned,
- pad_left(
- Unstyled@2,
- (Width + Margin) - gleam@string:length(
- Unstyled@2
- ),
- <<" "/utf8>>
- )};
-
- {align_right, {styled_content, Styled@2}, Margin@1} ->
- {aligned,
- pad_left(
- Styled@2,
- (Width + Margin@1) - gleam@string:length(
- showtime@internal@reports@styles:strip_style(
- Styled@2
- )
- ),
- <<" "/utf8>>
- )};
-
- {align_right_overflow,
- {content, Unstyled@3},
- Margin@2} ->
- {aligned,
- pad_left(
- Unstyled@3,
- (Width + Margin@2) - gleam@string:length(
- Unstyled@3
- ),
- <<" "/utf8>>
- )};
-
- {align_right_overflow,
- {styled_content, Styled@3},
- Margin@3} ->
- {aligned,
- pad_left(
- Styled@3,
- (Width + Margin@3) - gleam@string:length(
- showtime@internal@reports@styles:strip_style(
- Styled@3
- )
- ),
- <<" "/utf8>>
- )};
-
- {align_left, {content, Unstyled@4}, Margin@4} ->
- {aligned,
- pad_right(
- Unstyled@4,
- (Width + Margin@4) - gleam@string:length(
- Unstyled@4
- ),
- <<" "/utf8>>
- )};
-
- {align_left, {styled_content, Styled@4}, Margin@5} ->
- {aligned,
- pad_right(
- Styled@4,
- (Width + Margin@5) - gleam@string:length(
- showtime@internal@reports@styles:strip_style(
- Styled@4
- )
- ),
- <<" "/utf8>>
- )};
-
- {align_left_overflow,
- {content, Unstyled@5},
- Margin@6} ->
- {aligned,
- pad_right(
- Unstyled@5,
- (Width + Margin@6) - gleam@string:length(
- Unstyled@5
- ),
- <<" "/utf8>>
- )};
-
- {align_left_overflow,
- {styled_content, Styled@5},
- Margin@7} ->
- {aligned,
- pad_right(
- Styled@5,
- (Width + Margin@7) - gleam@string:length(
- showtime@internal@reports@styles:strip_style(
- Styled@5
- )
- ),
- <<" "/utf8>>
- )};
-
- {separator, Char@1} ->
- {separator, Char@1};
-
- {aligned, Content@3} ->
- {aligned, Content@3}
- end end)
- end
- )
- end,
- Aligned_rows = begin
- _pipe@7 = Aligned_col,
- gleam@list:transpose(_pipe@7)
- end,
- erlang:setelement(3, Table, Aligned_rows).
diff --git a/aoc2023/build/packages/adglent/src/showtime@tests@meta.erl b/aoc2023/build/packages/adglent/src/showtime@tests@meta.erl
deleted file mode 100644
index c975467..0000000
--- a/aoc2023/build/packages/adglent/src/showtime@tests@meta.erl
+++ /dev/null
@@ -1,8 +0,0 @@
--module(showtime@tests@meta).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export_type([meta/0]).
-
--type meta() :: {meta, binary(), list(binary())}.
-
-
diff --git a/aoc2023/build/packages/adglent/src/showtime@tests@should.erl b/aoc2023/build/packages/adglent/src/showtime@tests@should.erl
deleted file mode 100644
index 29906b4..0000000
--- a/aoc2023/build/packages/adglent/src/showtime@tests@should.erl
+++ /dev/null
@@ -1,143 +0,0 @@
--module(showtime@tests@should).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([evaluate/1, equal/2, equal_meta/3, not_equal/2, not_equal_meta/3, be_ok/1, be_ok_meta/2, be_error/1, be_error_meta/2, fail/0, fail_meta/1, be_true/1, be_true_meta/2, be_false/1, be_false_meta/2]).
--export_type([assertion/2]).
-
--type assertion(MXP, MXQ) :: {eq,
- MXP,
- MXP,
- gleam@option:option(showtime@tests@meta:meta())} |
- {not_eq, MXP, MXP, gleam@option:option(showtime@tests@meta:meta())} |
- {is_ok,
- {ok, MXP} | {error, MXQ},
- gleam@option:option(showtime@tests@meta:meta())} |
- {is_error,
- {ok, MXP} | {error, MXQ},
- gleam@option:option(showtime@tests@meta:meta())} |
- {fail, gleam@option:option(showtime@tests@meta:meta())}.
-
--spec evaluate(assertion(any(), any())) -> nil.
-evaluate(Assertion) ->
- case Assertion of
- {eq, A, B, _} ->
- case A =:= B of
- true ->
- nil;
-
- false ->
- showtime_ffi:gleam_error({error, Assertion})
- end;
-
- {not_eq, A@1, B@1, _} ->
- case A@1 /= B@1 of
- true ->
- nil;
-
- false ->
- showtime_ffi:gleam_error({error, Assertion})
- end;
-
- {is_ok, A@2, _} ->
- case A@2 of
- {ok, _} ->
- nil;
-
- {error, _} ->
- showtime_ffi:gleam_error({error, Assertion})
- end;
-
- {is_error, A@3, _} ->
- case A@3 of
- {error, _} ->
- nil;
-
- {ok, _} ->
- showtime_ffi:gleam_error({error, Assertion})
- end;
-
- {fail, _} ->
- showtime_ffi:gleam_error({error, Assertion})
- end.
-
--spec equal(MXR, MXR) -> nil.
-equal(A, B) ->
- evaluate({eq, A, B, none}).
-
--spec equal_meta(MXT, MXT, showtime@tests@meta:meta()) -> nil.
-equal_meta(A, B, Meta) ->
- evaluate({eq, A, B, {some, Meta}}).
-
--spec not_equal(MXV, MXV) -> nil.
-not_equal(A, B) ->
- evaluate({not_eq, A, B, none}).
-
--spec not_equal_meta(MXX, MXX, showtime@tests@meta:meta()) -> nil.
-not_equal_meta(A, B, Meta) ->
- evaluate({not_eq, A, B, {some, Meta}}).
-
--spec be_ok({ok, MXZ} | {error, any()}) -> MXZ.
-be_ok(A) ->
- evaluate({is_ok, A, none}),
- {ok, Value} = case A of
- {ok, _} -> A;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"showtime/tests/should"/utf8>>,
- function => <<"be_ok"/utf8>>,
- line => 30})
- end,
- Value.
-
--spec be_ok_meta({ok, any()} | {error, any()}, showtime@tests@meta:meta()) -> nil.
-be_ok_meta(A, Meta) ->
- evaluate({is_ok, A, {some, Meta}}).
-
--spec be_error({ok, any()} | {error, MYK}) -> MYK.
-be_error(A) ->
- evaluate({is_error, A, none}),
- {error, Value} = case A of
- {error, _} -> A;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"showtime/tests/should"/utf8>>,
- function => <<"be_error"/utf8>>,
- line => 40})
- end,
- Value.
-
--spec be_error_meta({ok, any()} | {error, any()}, showtime@tests@meta:meta()) -> nil.
-be_error_meta(A, Meta) ->
- evaluate({is_error, A, {some, Meta}}).
-
--spec fail() -> nil.
-fail() ->
- evaluate({fail, none}).
-
--spec fail_meta(showtime@tests@meta:meta()) -> nil.
-fail_meta(Meta) ->
- evaluate({fail, {some, Meta}}).
-
--spec be_true(boolean()) -> nil.
-be_true(A) ->
- _pipe = A,
- equal(_pipe, true).
-
--spec be_true_meta(boolean(), showtime@tests@meta:meta()) -> nil.
-be_true_meta(A, Meta) ->
- _pipe = A,
- equal_meta(_pipe, true, Meta).
-
--spec be_false(boolean()) -> nil.
-be_false(A) ->
- _pipe = A,
- equal(_pipe, false).
-
--spec be_false_meta(boolean(), showtime@tests@meta:meta()) -> nil.
-be_false_meta(A, Meta) ->
- _pipe = A,
- equal_meta(_pipe, false, Meta).
diff --git a/aoc2023/build/packages/adglent/src/showtime@tests@test.erl b/aoc2023/build/packages/adglent/src/showtime@tests@test.erl
deleted file mode 100644
index 2f23b9f..0000000
--- a/aoc2023/build/packages/adglent/src/showtime@tests@test.erl
+++ /dev/null
@@ -1,57 +0,0 @@
--module(showtime@tests@test).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([test/2, equal/3, not_equal/3, with_meta/2, be_ok/2, be_error/2, fail/1, be_true/2, be_false/2]).
--export_type([test/0, meta_should/1]).
-
--type test() :: {test, showtime@tests@meta:meta(), fun(() -> nil)}.
-
--type meta_should(NDO) :: {meta_should,
- fun((NDO, NDO) -> nil),
- fun((NDO, NDO) -> nil)}.
-
--spec test(showtime@tests@meta:meta(), fun((showtime@tests@meta:meta()) -> nil)) -> test().
-test(Meta, Test_function) ->
- {test, Meta, fun() -> Test_function(Meta) end}.
-
--spec equal(NDT, NDT, showtime@tests@meta:meta()) -> nil.
-equal(A, B, Meta) ->
- gleam@io:debug(A),
- gleam@io:debug(B),
- showtime@tests@should:equal_meta(A, B, Meta).
-
--spec not_equal(NDV, NDV, showtime@tests@meta:meta()) -> nil.
-not_equal(A, B, Meta) ->
- showtime@tests@should:equal_meta(A, B, Meta).
-
--spec with_meta(showtime@tests@meta:meta(), fun((meta_should(any())) -> nil)) -> test().
-with_meta(Meta, Test_function) ->
- {test,
- Meta,
- fun() ->
- Test_function(
- {meta_should,
- fun(A, B) -> equal(A, B, Meta) end,
- fun(A@1, B@1) -> not_equal(A@1, B@1, Meta) end}
- )
- end}.
-
--spec be_ok({ok, any()} | {error, any()}, showtime@tests@meta:meta()) -> nil.
-be_ok(A, Meta) ->
- showtime@tests@should:be_ok_meta(A, Meta).
-
--spec be_error({ok, any()} | {error, any()}, showtime@tests@meta:meta()) -> nil.
-be_error(A, Meta) ->
- showtime@tests@should:be_error_meta(A, Meta).
-
--spec fail(showtime@tests@meta:meta()) -> nil.
-fail(Meta) ->
- showtime@tests@should:fail_meta(Meta).
-
--spec be_true(boolean(), showtime@tests@meta:meta()) -> nil.
-be_true(A, Meta) ->
- showtime@tests@should:be_true_meta(A, Meta).
-
--spec be_false(boolean(), showtime@tests@meta:meta()) -> nil.
-be_false(A, Meta) ->
- showtime@tests@should:be_false_meta(A, Meta).
diff --git a/aoc2023/build/packages/adglent/src/showtime_ffi.erl b/aoc2023/build/packages/adglent/src/showtime_ffi.erl
deleted file mode 100644
index 3259623..0000000
--- a/aoc2023/build/packages/adglent/src/showtime_ffi.erl
+++ /dev/null
@@ -1,187 +0,0 @@
--module(showtime_ffi).
-
--export([run_test/4, functions/0, capture_output/1, gleam_error/1]).
-
-gleam_error(Value) ->
- erlang:error(#{
- gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => Value,
- module => <<"this/is/not/used"/utf8>>,
- function => <<"gleam_error"/utf8>>,
- % Not used
- line => 0
- }).
-
-start_output_capture(Capture) ->
- OldGroupLeader = group_leader(),
- CapturePid = spawn(showtime_ffi, capture_output, [{[], {OldGroupLeader, Capture}}]),
- group_leader(CapturePid, self()),
- {CapturePid, OldGroupLeader}.
-
-stop_output_capture({CapturePid, OldGroupLeader}) ->
- group_leader(OldGroupLeader, self()),
- CapturePid ! {capture_done, self()},
- receive
- Buffer ->
- Buffer
- end.
-
-capture_output({Buffer, {OldGroupLeader, Capture}}) ->
- receive
- {io_request, From, ReplyAs, {put_chars, unicode, BitString}} ->
- case Capture of
- yes ->
- From ! {io_reply, ReplyAs, ok},
- capture_output({[BitString | Buffer], {OldGroupLeader, Capture}});
- mixed ->
- OldGroupLeader ! {io_request, From, ReplyAs, {put_chars, unicode, BitString}},
- capture_output({[BitString | Buffer], {OldGroupLeader, Capture}});
- no ->
- OldGroupLeader ! {io_request, From, ReplyAs, {put_chars, unicode, BitString}},
- capture_output({Buffer, {OldGroupLeader, Capture}})
- end;
- {capture_done, SenderPid} ->
- SenderPid ! Buffer;
- OtherMessage ->
- OldGroupLeader ! OtherMessage,
- capture_output({Buffer, {OldGroupLeader, Capture}})
- end.
-
-run_test(Module, Function, IgnoreTags, Capture) ->
- OutputCapture = start_output_capture(Capture),
- try
- Result = apply(Module, Function, []),
- {ResultType, FinalResult} =
- case Result of
- {test, {meta, _Description, Tags}, TestFun} ->
- case
- lists:any(
- fun(Tag) ->
- lists:any(fun(IgnoreTag) -> IgnoreTag == Tag end, IgnoreTags)
- end,
- Tags
- )
- of
- true ->
- {ignored, ignore};
- false ->
- {test_function_return, TestFun()}
- end;
- DirectResult ->
- {test_function_return, DirectResult}
- end,
- OutputCaptureBuffer = stop_output_capture(OutputCapture),
- case ResultType of
- ignored -> {ok, {ResultType, FinalResult}};
- _ -> {ok, {ResultType, FinalResult, OutputCaptureBuffer}}
- end
- catch
- Class:Reason:Stacktrace ->
- GleamReason =
- case Reason of
- {Assertion, ReasonList} ->
- ErlangReasonList =
- lists:map(
- fun(ReasonDetail) ->
- case ReasonDetail of
- {line, LineNo} ->
- {reason_line, LineNo};
- {expression, List} ->
- {expression, list_to_binary(List)};
- {module, ModuleAtom} ->
- {module, atom_to_binary(ModuleAtom)};
- {pattern, Pattern} ->
- {pattern, list_to_binary(Pattern)};
- Other ->
- Other
- end
- end,
- ReasonList
- ),
- GleamAssertionType =
- case Assertion of
- assertEqual ->
- assert_equal;
- assertNotEqual ->
- assert_not_equal;
- assertMatch ->
- assert_match;
- OtherAssertionType ->
- OtherAssertionType
- end,
- {GleamAssertionType, ErlangReasonList};
- #{
- function := GleamFunction,
- gleam_error := GleamError,
- line := Line,
- message := Message,
- module := GleamModule,
- value := Value
- } ->
- case Value of
- {error, {OkValue, _, _, _}} when OkValue == not_eq; OkValue == eq ->
- {gleam_error,
- {GleamError, GleamModule, GleamFunction, Line, Message, Value}};
- {error, {OkValue, _, _}} when OkValue == is_ok; OkValue == is_error ->
- {gleam_error,
- {GleamError, GleamModule, GleamFunction, Line, Message, Value}};
- {error, {OkValue, _}} when OkValue == fail ->
- {gleam_error,
- {GleamError, GleamModule, GleamFunction, Line, Message, Value}};
- _ ->
- {gleam_assert, Value, Line}
- end;
- OtherReason ->
- {generic_exception, OtherReason}
- end,
- GleamClass =
- case Class of
- error ->
- erlang_error;
- Other ->
- Other
- end,
- GleamTraceList =
- lists:map(
- fun(Trace) ->
- case Trace of
- {ModuleName, FunctionName, Arity, ExtraInfoList} ->
- {trace_module, atom_to_binary(ModuleName),
- atom_to_binary(FunctionName), map_arity(Arity),
- map_extra_info_list(ExtraInfoList)};
- {FunctionName, Arity, ExtraInfoList} ->
- {trace, atom_to_binary(FunctionName), map_arity(Arity),
- map_extra_info_list(ExtraInfoList)}
- end
- end,
- Stacktrace
- ),
- OutputCaptureBufferCatch = stop_output_capture(OutputCapture),
- {error,
- {erlang_exception, GleamClass, GleamReason, {trace_list, GleamTraceList},
- OutputCaptureBufferCatch}}
- end.
-
-map_extra_info_list(ExtraInfoList) ->
- lists:map(
- fun(ExtraInfo) ->
- case ExtraInfo of
- {file, FileNameList} -> {file, list_to_binary(FileNameList)};
- Other -> Other
- end
- end,
- ExtraInfoList
- ).
-
-map_arity(Arity) ->
- if
- is_list(Arity) ->
- {arg_list, Arity};
- is_integer(Arity) ->
- {num, Arity}
- end.
-
-functions() ->
- Funs = module_info(exports),
- Funs.
diff --git a/aoc2023/build/packages/gap/LICENSE b/aoc2023/build/packages/gap/LICENSE
deleted file mode 100644
index d1cec9b..0000000
--- a/aoc2023/build/packages/gap/LICENSE
+++ /dev/null
@@ -1,201 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright 2023 John Björk
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License. \ No newline at end of file
diff --git a/aoc2023/build/packages/gap/README.md b/aoc2023/build/packages/gap/README.md
deleted file mode 100644
index 3e02686..0000000
--- a/aoc2023/build/packages/gap/README.md
+++ /dev/null
@@ -1,202 +0,0 @@
-# gap
-
-[![Package Version](https://img.shields.io/hexpm/v/gap)](https://hex.pm/packages/gap)
-[![Hex Docs](https://img.shields.io/badge/hex-docs-ffaff3)](https://hexdocs.pm/gap/)
-
-A Gleam library for comparing strings/lists and producing a textual (styled) representation of the differences.
-
-A typical styled output from the comparison can look like this:
-
-<img src="https://github.com/JohnBjrk/gap/blob/main/static/example_diff_lucy.png?raw=true" alt="Image of two strings with highlighted differences" width="400vw">
-
-## Installation
-
-If available on Hex this package can be added to your Gleam project:
-
-```sh
-gleam add gap
-```
-
-Documentation can be found at <https://hexdocs.pm/gap>.
-
-## Usage
-
-# Introduction
-
-Gap implements string/list comparison by finding the longest common subsequence. The result of the comparison are two sequences
-(one for each of the compared strings/lists) consisting of subsequences that are annotated as matching or non-matching.
-
-For example comparing the strings in the example above will look as follows:
-
-```gleam
-let comparison =
-compare_strings(
- "lucy in the sky with diamonds",
- "lucy is the shy with diagrams",
-)
-|> io.debug()
-// StringComparison(
-// [
-// Match(["l", "u", "c", "y", " ", "i"]),
-// NoMatch(["n"]),
-// Match([" ", "t", "h", "e", " ", "s"]),
-// NoMatch(["k"]),
-// Match(["y", " ", "w", "i", "t", "h", " ", "d", "i", "a", "m"]),
-// NoMatch(["o", "n", "d"]),
-// Match(["s"]),
-// ],
-// [
-// Match(["l", "u", "c", "y", " ", "i"]),
-// NoMatch(["s", " "]),
-// Match([" ", "t", "h", "e", " ", "s"]),
-// NoMatch(["h"]),
-// Match(["y", " ", "w", "i", "t", "h", " ", "d", "i"]),
-// NoMatch(["a", "g", "r"]),
-// Match(["a", "m", "s"]),
-// ],
-// )
-```
-
-## Styling
-
-This is useful information but a bit overwhelming to look at (specially for longer string) so the library
-has some built in functions to display the differences using colors instead.
-
-Using the same example again we can style the result and print it to the console
-
-```gleam
-let comparison =
-compare_strings(
- "lucy in the sky with diamonds",
- "lucy is the shy with diagrams",
-)
-|> to_styled()
-io.println(comparison.first)
-io.println(comparison.second)
-```
-
-This will give us something similar to the output above.
-
-## Comparing list
-
-It is also possible to compare lists with elements of arbitrary types.
-
-```gleam
-pub type Warning {
- Please
- Mind
- The(what: String)
-}
-
-compare_lists([Mind, The("Gap")], [Please, Mind, The("What")])
-|> io.debug()
-// ListComparison(
-// [Match([Mind]), NoMatch([The("Gap")])],
-// [NoMatch([Please]), Match([Mind]), NoMatch([The("What")])],
-// )
-```
-
-## Customize styling
-
-The visual representation of the comparison can be customized. To do this use a `Styling` created from
-the comparison that should be styled. This example uses [gleam_community/ansi](https://hexdocs.pm/gleam_community_ansi/index.html)
-to highlight the non-matches in different colors.
-
-```gleam
-let comparison =
-compare_strings(
- "Strings are made of smaller things",
- "Things are maybe smaller string",
-)
-|> from_comparison()
-|> highlight(
- fn(first) { ansi.cyan(first) },
- fn(second) { ansi.magenta(second) },
- fn(matching) { matching },
-)
-|> to_styled_comparison()
-io.println(comparison.first)
-io.println(comparison.second)
-```
-
-This will output something similar to this
-
-<img src="https://github.com/JohnBjrk/gap/blob/main/static/example_diff_things.png?raw=true" alt="Image of two strings with highlighted differences" width="400vw">
-
-### Serialization
-
-Furthermore it is also possible to customize the styling by changing the way that the comparison is serialized. An easy way to do
-this is to use the utility function `mk_generic_serializer` which creates a serializer which some specific separator and a hook
-for surrounding the result with some content. Here is a somewhat contrived example
-
-```gleam
-let comparison =
-compare_lists(["one", "two", "three"], ["two", "two", "tree"])
-|> from_comparison()
-|> highlight(
- fn(first) { first <> " was not found in other" },
- fn(second) { second <> " was not found in other" },
-)
-|> serialize(mk_generic_serializer(
- ", and ",
- fn(result) { "Comparing the lists gave the following result: " <> result },
-))
-|> to_styled_comparison()
-io.println(comparison.first)
-io.println(comparison.second)
-// Comparing the lists gave the following result: "one" was not found in other, and "two" was found in other, and "three" was not found in other
-// Comparing the lists gave the following result: "two" was not found in other, and "two" was found in other, and "tree" was not found in other
-```
-
-### Custom serialization
-
-Serializers can of course have a custom implementation. The following example utilizes this together with custom highlighters,
-creating a patch-like output (this is not exactly the same as patch-format since that shows the changes in relation to the original - to do
-that both lists of matching/non-matching lines would need to be processed together)
-
-```gleam
-let comparison =
-compare_lists(
- [
- "pub type Gap = List(EmptyString)", "", "pub type Traveler {",
- " OnTrain", " OverGap(gap: Gap)", " OnPlatform", "}",
- ],
- [
- "pub type Traveler {", " OnTrain", " OverGap(gap: String)",
- " OnPlatform", "}",
- ],
-)
-|> from_comparison()
-|> highlight(
- fn(first) { "+" <> first },
- fn(second) { "-" <> second },
- fn(matching) { " " <> matching },
-)
-|> serialize(fn(part) {
- case part {
- Part(acc, lines, highlight) ->
- acc <> {
- lines
- |> list.map(fn(line) { highlight(line) })
- |> string.join("\n")
- } <> "\n"
- All(result) -> result
- }
-})
-|> to_styled_comparison()
-io.println(comparison.first)
-io.println(comparison.second)
-// +pub type Gap = List(EmptyString)
-// +
-// pub type Traveler {
-// OnTrain
-// + OverGap(gap: Gap)
-// OnPlatform
-// }
-//
-// pub type Traveler {
-// OnTrain
-// - OverGap(gap: String)
-// OnPlatform
-// }
-```
diff --git a/aoc2023/build/packages/gap/gleam.toml b/aoc2023/build/packages/gap/gleam.toml
deleted file mode 100644
index ec35329..0000000
--- a/aoc2023/build/packages/gap/gleam.toml
+++ /dev/null
@@ -1,18 +0,0 @@
-name = "gap"
-gleam = ">= 0.32.2"
-version = "1.0.1"
-description = "A Gleam library for comparing strings/lists and producing a textual (styled) representation of the differences."
-
-# Fill out these fields if you intend to generate HTML documentation or publish
-# your project to the Hex package manager.
-#
-licences = ["Apache-2.0"]
-repository = { type = "github", user = "JohnBjrk", repo = "gap" }
-# links = [{ title = "Website", href = "https://gleam.run" }]
-
-[dependencies]
-gleam_stdlib = "~> 0.32"
-gleam_community_ansi = "~> 1.2"
-
-[dev-dependencies]
-gleeunit = "~> 1.0"
diff --git a/aoc2023/build/packages/gap/include/gap@comparison_ListComparison.hrl b/aoc2023/build/packages/gap/include/gap@comparison_ListComparison.hrl
deleted file mode 100644
index 5e4b20d..0000000
--- a/aoc2023/build/packages/gap/include/gap@comparison_ListComparison.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(list_comparison, {
- first :: list(gap@comparison:match(list(any()))),
- second :: list(gap@comparison:match(list(any())))
-}).
diff --git a/aoc2023/build/packages/gap/include/gap@comparison_Match.hrl b/aoc2023/build/packages/gap/include/gap@comparison_Match.hrl
deleted file mode 100644
index f1225dd..0000000
--- a/aoc2023/build/packages/gap/include/gap@comparison_Match.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(match, {item :: any()}).
diff --git a/aoc2023/build/packages/gap/include/gap@comparison_NoMatch.hrl b/aoc2023/build/packages/gap/include/gap@comparison_NoMatch.hrl
deleted file mode 100644
index 742783b..0000000
--- a/aoc2023/build/packages/gap/include/gap@comparison_NoMatch.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(no_match, {item :: any()}).
diff --git a/aoc2023/build/packages/gap/include/gap@comparison_StringComparison.hrl b/aoc2023/build/packages/gap/include/gap@comparison_StringComparison.hrl
deleted file mode 100644
index c0b1a75..0000000
--- a/aoc2023/build/packages/gap/include/gap@comparison_StringComparison.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(string_comparison, {
- first :: list(gap@comparison:match(list(binary()))),
- second :: list(gap@comparison:match(list(binary())))
-}).
diff --git a/aoc2023/build/packages/gap/include/gap@styled_comparison_StyledComparison.hrl b/aoc2023/build/packages/gap/include/gap@styled_comparison_StyledComparison.hrl
deleted file mode 100644
index 0e7c64a..0000000
--- a/aoc2023/build/packages/gap/include/gap@styled_comparison_StyledComparison.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(styled_comparison, {first :: binary(), second :: binary()}).
diff --git a/aoc2023/build/packages/gap/include/gap@styling_All.hrl b/aoc2023/build/packages/gap/include/gap@styling_All.hrl
deleted file mode 100644
index c11a9a6..0000000
--- a/aoc2023/build/packages/gap/include/gap@styling_All.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(all, {all :: binary()}).
diff --git a/aoc2023/build/packages/gap/include/gap@styling_Highlighters.hrl b/aoc2023/build/packages/gap/include/gap@styling_Highlighters.hrl
deleted file mode 100644
index 6e073b3..0000000
--- a/aoc2023/build/packages/gap/include/gap@styling_Highlighters.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(highlighters, {
- first :: fun((binary()) -> binary()),
- second :: fun((binary()) -> binary()),
- matching :: fun((binary()) -> binary())
-}).
diff --git a/aoc2023/build/packages/gap/include/gap@styling_Part.hrl b/aoc2023/build/packages/gap/include/gap@styling_Part.hrl
deleted file mode 100644
index db45796..0000000
--- a/aoc2023/build/packages/gap/include/gap@styling_Part.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(part, {
- acc :: binary(),
- part :: list(any()),
- highlight :: fun((binary()) -> binary())
-}).
diff --git a/aoc2023/build/packages/gap/include/gap@styling_Styling.hrl b/aoc2023/build/packages/gap/include/gap@styling_Styling.hrl
deleted file mode 100644
index a7341c6..0000000
--- a/aoc2023/build/packages/gap/include/gap@styling_Styling.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(styling, {
- comparison :: gap@comparison:comparison(any()),
- serializer :: gleam@option:option(fun((gap@styling:part(any())) -> binary())),
- highlight :: gleam@option:option(gap@styling:highlighters())
-}).
diff --git a/aoc2023/build/packages/gap/src/gap.app.src b/aoc2023/build/packages/gap/src/gap.app.src
deleted file mode 100644
index 1abc7df..0000000
--- a/aoc2023/build/packages/gap/src/gap.app.src
+++ /dev/null
@@ -1,13 +0,0 @@
-{application, gap, [
- {vsn, "1.0.1"},
- {applications, [gleam_community_ansi,
- gleam_stdlib,
- gleeunit]},
- {description, "A Gleam library for comparing strings/lists and producing a textual (styled) representation of the differences."},
- {modules, [gap,
- gap@comparison,
- gap@myers,
- gap@styled_comparison,
- gap@styling]},
- {registered, []}
-]}.
diff --git a/aoc2023/build/packages/gap/src/gap.erl b/aoc2023/build/packages/gap/src/gap.erl
deleted file mode 100644
index 827e5ce..0000000
--- a/aoc2023/build/packages/gap/src/gap.erl
+++ /dev/null
@@ -1,538 +0,0 @@
--module(gap).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([to_styled/1, compare_strings_with_algorithm/3, compare_lists_with_algorithm/3, myers/2, compare_lists/2, compare_strings/2, lcs/2]).
--export_type([score/1]).
-
--type score(GAM) :: {score, integer(), gleam@option:option(GAM)}.
-
--spec to_styled(gap@comparison:comparison(any())) -> gap@styled_comparison:styled_comparison().
-to_styled(Comparison) ->
- _pipe = Comparison,
- _pipe@1 = gap@styling:from_comparison(_pipe),
- _pipe@2 = gap@styling:highlight(
- _pipe@1,
- fun gap@styling:first_highlight_default/1,
- fun gap@styling:second_highlight_default/1,
- fun gap@styling:no_highlight/1
- ),
- gap@styling:to_styled_comparison(_pipe@2).
-
--spec compare_strings_with_algorithm(
- binary(),
- binary(),
- fun((list(binary()), list(binary())) -> gap@comparison:comparison(binary()))
-) -> gap@comparison:comparison(binary()).
-compare_strings_with_algorithm(First, Second, Algorithm) ->
- Comparison = Algorithm(
- gleam@string:to_graphemes(First),
- gleam@string:to_graphemes(Second)
- ),
- case Comparison of
- {list_comparison, First@1, Second@1} ->
- {string_comparison, First@1, Second@1};
-
- {string_comparison, First@2, Second@2} ->
- {string_comparison, First@2, Second@2}
- end.
-
--spec compare_lists_with_algorithm(
- list(GBB),
- list(GBB),
- fun((list(GBB), list(GBB)) -> gap@comparison:comparison(GBB))
-) -> gap@comparison:comparison(GBB).
-compare_lists_with_algorithm(First_sequence, Second_sequence, Algorithm) ->
- Algorithm(First_sequence, Second_sequence).
-
--spec myers(list(GBG), list(GBG)) -> gap@comparison:comparison(GBG).
-myers(First_sequence, Second_sequence) ->
- Edits = gap@myers:difference(First_sequence, Second_sequence),
- _pipe = Edits,
- _pipe@1 = gleam@list:reverse(_pipe),
- gleam@list:fold(
- _pipe@1,
- {list_comparison, [], []},
- fun(Comparison, Edit) -> case Comparison of
- {list_comparison, First, Second} ->
- case Edit of
- {eq, Segment} ->
- {list_comparison,
- [{match, Segment} | First],
- [{match, Segment} | Second]};
-
- {ins, Segment@1} ->
- {list_comparison,
- First,
- [{no_match, Segment@1} | Second]};
-
- {del, Segment@2} ->
- {list_comparison,
- [{no_match, Segment@2} | First],
- Second}
- end;
-
- {string_comparison, _, _} ->
- Comparison
- end end
- ).
-
--spec compare_lists(list(GAX), list(GAX)) -> gap@comparison:comparison(GAX).
-compare_lists(First_sequence, Second_sequence) ->
- myers(First_sequence, Second_sequence).
-
--spec compare_strings(binary(), binary()) -> gap@comparison:comparison(binary()).
-compare_strings(First, Second) ->
- Comparison = compare_lists(
- gleam@string:to_graphemes(First),
- gleam@string:to_graphemes(Second)
- ),
- case Comparison of
- {list_comparison, First@1, Second@1} ->
- {string_comparison, First@1, Second@1};
-
- {string_comparison, First@2, Second@2} ->
- {string_comparison, First@2, Second@2}
- end.
-
--spec prepend_and_merge(
- list(gap@comparison:match(list(GBO))),
- gap@comparison:match(list(GBO))
-) -> list(gap@comparison:match(list(GBO))).
-prepend_and_merge(Matches, Match) ->
- case {Matches, Match} of
- {[], _} ->
- [Match];
-
- {[{match, First_match} | Rest], {match, _}} ->
- [{match,
- begin
- _pipe = erlang:element(2, Match),
- gleam@list:append(_pipe, First_match)
- end} |
- Rest];
-
- {[{no_match, First_match@1} | Rest@1], {no_match, _}} ->
- [{no_match,
- begin
- _pipe@1 = erlang:element(2, Match),
- gleam@list:append(_pipe@1, First_match@1)
- end} |
- Rest@1];
-
- {Matches@1, Match@1} ->
- [Match@1 | Matches@1]
- end.
-
--spec append_and_merge(
- list(gap@comparison:match(list(GBX))),
- gap@comparison:match(list(GBX))
-) -> list(gap@comparison:match(list(GBX))).
-append_and_merge(Matches, Match) ->
- _pipe@3 = case {begin
- _pipe = Matches,
- gleam@list:reverse(_pipe)
- end,
- Match} of
- {[], _} ->
- [Match];
-
- {[{match, First_match} | Rest], {match, _}} ->
- [{match,
- begin
- _pipe@1 = First_match,
- gleam@list:append(_pipe@1, erlang:element(2, Match))
- end} |
- Rest];
-
- {[{no_match, First_match@1} | Rest@1], {no_match, _}} ->
- [{no_match,
- begin
- _pipe@2 = First_match@1,
- gleam@list:append(_pipe@2, erlang:element(2, Match))
- end} |
- Rest@1];
-
- {Matches@1, Match@1} ->
- [Match@1 | Matches@1]
- end,
- gleam@list:reverse(_pipe@3).
-
--spec collect_matches(
- gleam@map:map_(GFY, any()),
- list(GCH),
- fun((GFY) -> integer())
-) -> list(gap@comparison:match(list(GCH))).
-collect_matches(Tracking, Str, Extract_fun) ->
- Matching_indexes = begin
- _pipe = gleam@map:keys(Tracking),
- _pipe@1 = gleam@list:map(_pipe, Extract_fun),
- gleam@set:from_list(_pipe@1)
- end,
- Matches = begin
- _pipe@2 = Str,
- gleam@list:index_map(
- _pipe@2,
- fun(Index, Item) ->
- case gleam@set:contains(Matching_indexes, Index) of
- true ->
- {match, Item};
-
- false ->
- {no_match, Item}
- end
- end
- )
- end,
- _pipe@3 = Matches,
- _pipe@4 = gleam@list:chunk(_pipe@3, fun(Match) -> case Match of
- {match, _} ->
- true;
-
- {no_match, _} ->
- false
- end end),
- gleam@list:map(_pipe@4, fun(Match_list) -> case Match_list of
- [{match, _} | _] ->
- {match,
- gleam@list:filter_map(
- Match_list,
- fun(Match@1) -> case Match@1 of
- {match, Item@1} ->
- {ok, Item@1};
-
- {no_match, _} ->
- {error, nil}
- end end
- )};
-
- [{no_match, _} | _] ->
- {no_match,
- gleam@list:filter_map(
- Match_list,
- fun(Match@2) -> case Match@2 of
- {no_match, Item@2} ->
- {ok, Item@2};
-
- {match, _} ->
- {error, nil}
- end end
- )}
- end end).
-
--spec back_track(
- gleam@map:map_({integer(), integer()}, score(GCL)),
- integer(),
- integer(),
- list({{integer(), integer()}, GCL})
-) -> list({{integer(), integer()}, GCL}).
-back_track(Diff_map, First_index, Second_index, Stack) ->
- case (First_index =:= 0) orelse (Second_index =:= 0) of
- true ->
- This_score = begin
- _pipe = gleam@map:get(Diff_map, {First_index, Second_index}),
- gleam@result:unwrap(_pipe, {score, 0, none})
- end,
- case This_score of
- {score, _, {some, Item}} ->
- [{{First_index, Second_index}, Item} | Stack];
-
- _ ->
- case {First_index, Second_index} of
- {0, A} when A > 0 ->
- back_track(
- Diff_map,
- First_index,
- Second_index - 1,
- Stack
- );
-
- {A@1, 0} when A@1 > 0 ->
- back_track(
- Diff_map,
- First_index - 1,
- Second_index,
- Stack
- );
-
- {0, 0} ->
- Stack;
-
- {_, _} ->
- back_track(
- Diff_map,
- First_index - 1,
- Second_index,
- Stack
- )
- end
- end;
-
- false ->
- This_score@1 = begin
- _pipe@1 = gleam@map:get(Diff_map, {First_index, Second_index}),
- gleam@result:unwrap(_pipe@1, {score, 0, none})
- end,
- case This_score@1 of
- {score, _, {some, Item@1}} ->
- back_track(
- Diff_map,
- First_index - 1,
- Second_index - 1,
- [{{First_index, Second_index}, Item@1} | Stack]
- );
-
- {score, _, none} ->
- Up = begin
- _pipe@2 = gleam@map:get(
- Diff_map,
- {First_index, Second_index - 1}
- ),
- gleam@result:unwrap(_pipe@2, {score, 0, none})
- end,
- Back = begin
- _pipe@3 = gleam@map:get(
- Diff_map,
- {First_index - 1, Second_index}
- ),
- gleam@result:unwrap(_pipe@3, {score, 0, none})
- end,
- case gleam@int:compare(
- erlang:element(2, Up),
- erlang:element(2, Back)
- ) of
- gt ->
- back_track(
- Diff_map,
- First_index,
- Second_index - 1,
- Stack
- );
-
- lt ->
- back_track(
- Diff_map,
- First_index - 1,
- Second_index,
- Stack
- );
-
- eq ->
- case {First_index, Second_index} of
- {0, A@2} when A@2 > 0 ->
- back_track(
- Diff_map,
- First_index,
- Second_index - 1,
- Stack
- );
-
- {A@3, 0} when A@3 > 0 ->
- back_track(
- Diff_map,
- First_index - 1,
- Second_index,
- Stack
- );
-
- {0, 0} ->
- Stack;
-
- {_, _} ->
- back_track(
- Diff_map,
- First_index - 1,
- Second_index,
- Stack
- )
- end
- end
- end
- end.
-
--spec build_diff_map(
- GCR,
- integer(),
- GCR,
- integer(),
- gleam@map:map_({integer(), integer()}, score(GCR))
-) -> gleam@map:map_({integer(), integer()}, score(GCR)).
-build_diff_map(First_item, First_index, Second_item, Second_index, Diff_map) ->
- Prev_score = begin
- _pipe = gleam@map:get(Diff_map, {First_index - 1, Second_index - 1}),
- gleam@result:unwrap(_pipe, {score, 0, none})
- end,
- Derived_score_up = begin
- _pipe@1 = Diff_map,
- _pipe@2 = gleam@map:get(_pipe@1, {First_index, Second_index - 1}),
- gleam@result:unwrap(_pipe@2, {score, 0, none})
- end,
- Derived_score_back = begin
- _pipe@3 = Diff_map,
- _pipe@4 = gleam@map:get(_pipe@3, {First_index - 1, Second_index}),
- gleam@result:unwrap(_pipe@4, {score, 0, none})
- end,
- Derived_score = gleam@int:max(
- erlang:element(2, Derived_score_up),
- erlang:element(2, Derived_score_back)
- ),
- This_score = case First_item =:= Second_item of
- true ->
- {score, erlang:element(2, Prev_score) + 1, {some, First_item}};
-
- false ->
- {score, Derived_score, none}
- end,
- _pipe@5 = Diff_map,
- gleam@map:insert(_pipe@5, {First_index, Second_index}, This_score).
-
--spec lcs(list(GBK), list(GBK)) -> gap@comparison:comparison(GBK).
-lcs(First_sequence, Second_sequence) ->
- Leading_matches = begin
- _pipe = gleam@list:zip(First_sequence, Second_sequence),
- _pipe@1 = gleam@list:take_while(
- _pipe,
- fun(Pair) -> erlang:element(1, Pair) =:= erlang:element(2, Pair) end
- ),
- gleam@list:map(_pipe@1, fun gleam@pair:first/1)
- end,
- Num_leading_matches = gleam@list:length(Leading_matches),
- Trailing_matches = begin
- _pipe@2 = gleam@list:zip(
- gleam@list:reverse(First_sequence),
- gleam@list:reverse(Second_sequence)
- ),
- _pipe@3 = gleam@list:take_while(
- _pipe@2,
- fun(Pair@1) ->
- erlang:element(1, Pair@1) =:= erlang:element(2, Pair@1)
- end
- ),
- _pipe@4 = gleam@list:map(_pipe@3, fun gleam@pair:first/1),
- gleam@list:reverse(_pipe@4)
- end,
- Num_trailing_matches = gleam@list:length(Trailing_matches),
- First_sequence_to_diff = begin
- _pipe@5 = First_sequence,
- _pipe@6 = gleam@list:drop(_pipe@5, Num_leading_matches),
- gleam@list:take(
- _pipe@6,
- (gleam@list:length(First_sequence) - Num_leading_matches) - Num_trailing_matches
- )
- end,
- Second_sequence_to_diff = begin
- _pipe@7 = Second_sequence,
- _pipe@8 = gleam@list:drop(_pipe@7, Num_leading_matches),
- gleam@list:take(
- _pipe@8,
- (gleam@list:length(Second_sequence) - Num_leading_matches) - Num_trailing_matches
- )
- end,
- Diff_map@2 = begin
- _pipe@9 = Second_sequence_to_diff,
- gleam@list:index_fold(
- _pipe@9,
- gleam@map:new(),
- fun(Diff_map, Item_second, Index_second) ->
- _pipe@10 = First_sequence_to_diff,
- gleam@list:index_fold(
- _pipe@10,
- Diff_map,
- fun(Diff_map@1, Item_first, Index_first) ->
- build_diff_map(
- Item_first,
- Index_first,
- Item_second,
- Index_second,
- Diff_map@1
- )
- end
- )
- end
- )
- end,
- {First_segments@1, Second_segments@1} = case {First_sequence_to_diff,
- Second_sequence_to_diff} of
- {[], []} ->
- {[], []};
-
- {First_matching, []} ->
- {[{no_match, First_matching}], []};
-
- {[], Second_matching} ->
- {[], [{no_match, Second_matching}]};
-
- {First_sequence_to_diff@1, Second_sequence_to_diff@1} ->
- Tracking = begin
- _pipe@11 = back_track(
- Diff_map@2,
- gleam@list:length(First_sequence_to_diff@1) - 1,
- gleam@list:length(Second_sequence_to_diff@1) - 1,
- []
- ),
- gleam@map:from_list(_pipe@11)
- end,
- First_segments = collect_matches(
- Tracking,
- First_sequence_to_diff@1,
- fun(Key) ->
- {First, _} = Key,
- First
- end
- ),
- Second_segments = collect_matches(
- Tracking,
- Second_sequence_to_diff@1,
- fun(Key@1) ->
- {_, Second} = Key@1,
- Second
- end
- ),
- {First_segments, Second_segments}
- end,
- {First_segments_with_leading_trailing,
- Second_segments_with_leading_trailing} = case {Leading_matches,
- Trailing_matches} of
- {[], []} ->
- {First_segments@1, Second_segments@1};
-
- {[], Trailing_matches@1} ->
- {begin
- _pipe@12 = First_segments@1,
- append_and_merge(_pipe@12, {match, Trailing_matches@1})
- end,
- begin
- _pipe@13 = Second_segments@1,
- append_and_merge(_pipe@13, {match, Trailing_matches@1})
- end};
-
- {Leading_matches@1, []} ->
- {begin
- _pipe@14 = First_segments@1,
- prepend_and_merge(_pipe@14, {match, Leading_matches@1})
- end,
- begin
- _pipe@15 = Second_segments@1,
- prepend_and_merge(_pipe@15, {match, Leading_matches@1})
- end};
-
- {Leading_matches@2, Trailing_matches@2} ->
- {begin
- _pipe@16 = First_segments@1,
- _pipe@17 = prepend_and_merge(
- _pipe@16,
- {match, Leading_matches@2}
- ),
- append_and_merge(_pipe@17, {match, Trailing_matches@2})
- end,
- begin
- _pipe@18 = Second_segments@1,
- _pipe@19 = prepend_and_merge(
- _pipe@18,
- {match, Leading_matches@2}
- ),
- append_and_merge(_pipe@19, {match, Trailing_matches@2})
- end}
- end,
- {list_comparison,
- First_segments_with_leading_trailing,
- Second_segments_with_leading_trailing}.
diff --git a/aoc2023/build/packages/gap/src/gap.gleam b/aoc2023/build/packages/gap/src/gap.gleam
deleted file mode 100644
index 7eb0e7f..0000000
--- a/aoc2023/build/packages/gap/src/gap.gleam
+++ /dev/null
@@ -1,438 +0,0 @@
-import gleam/string
-import gleam/list
-import gleam/pair
-import gleam/map.{type Map}
-import gleam/result
-import gleam/option.{type Option, None, Some}
-import gleam/int
-import gleam/order.{Eq, Gt, Lt}
-import gleam/set
-import gap/comparison.{
- type Comparison, type Match, type Segments, ListComparison, Match, NoMatch,
- StringComparison,
-}
-import gap/styled_comparison.{type StyledComparison}
-import gap/styling.{
- first_highlight_default, from_comparison, highlight, no_highlight,
- second_highlight_default, to_styled_comparison,
-}
-import gap/myers.{type Edit, Del, Eq as MyerEq, Ins}
-
-type MatchedItem(a) =
- #(#(Int, Int), a)
-
-type Score(a) {
- Score(value: Int, item: Option(a))
-}
-
-type DiffMap(a) =
- Map(#(Int, Int), Score(a))
-
-/// Creates a `StyledComparison` from `Comparison` using default values for
-/// highting and serialization.
-///
-/// ## Example
-///
-/// ```gleam
-/// > compare_strings("abc", "abe") |> to_styled()
-/// ```
-/// This will return a `StyledComparison(first, second)` where "c" in `first` is green
-/// and "e" in `second` is red.
-pub fn to_styled(comparison: Comparison(a)) -> StyledComparison {
- comparison
- |> from_comparison()
- |> highlight(first_highlight_default, second_highlight_default, no_highlight)
- |> to_styled_comparison()
-}
-
-/// Compare two string and return a `StringComparison` which will be styled as string
-/// when passed to `to_styled`
-///
-/// Will use the default `myers` algorithm
-pub fn compare_strings(first: String, second: String) -> Comparison(String) {
- let comparison =
- compare_lists(string.to_graphemes(first), string.to_graphemes(second))
- case comparison {
- ListComparison(first, second) -> StringComparison(first, second)
- StringComparison(first, second) -> StringComparison(first, second)
- }
-}
-
-/// Compare two string and return a `StringComparison` which will be styled as string
-/// when passed to `to_styled`
-///
-/// Algorithm can be used to select either `myers` or the legacy `lcs` algorithm
-pub fn compare_strings_with_algorithm(
- first: String,
- second: String,
- algorithm,
-) -> Comparison(String) {
- let comparison =
- algorithm(string.to_graphemes(first), string.to_graphemes(second))
- case comparison {
- ListComparison(first, second) -> StringComparison(first, second)
- StringComparison(first, second) -> StringComparison(first, second)
- }
-}
-
-/// Compare two lists and return a `ListComparison` which will be styled as list
-/// when passed to `to_styled`
-///
-/// Will use the default `myers` algorithm
-pub fn compare_lists(
- first_sequence: List(a),
- second_sequence: List(a),
-) -> Comparison(a) {
- myers(first_sequence, second_sequence)
-}
-
-/// Compare two lists and return a `ListComparison` which will be styled as list
-/// when passed to `to_styled`
-///
-/// Algorithm can be used to select either `myers` or the legacy `lcs` algorithm
-pub fn compare_lists_with_algorithm(
- first_sequence: List(a),
- second_sequence: List(a),
- algorithm,
-) -> Comparison(a) {
- algorithm(first_sequence, second_sequence)
-}
-
-/// An adapter for the the `myers` algorithm.
-/// Intended to be use as an argument to `compare_strings_with_algorithm` or
-/// `compare_lists_with_algorithm`
-pub fn myers(first_sequence: List(a), second_sequence: List(a)) -> Comparison(a) {
- let edits = myers.difference(first_sequence, second_sequence)
- edits
- |> list.reverse()
- |> list.fold(
- ListComparison([], []),
- fn(comparison: Comparison(a), edit: Edit(a)) {
- case comparison {
- ListComparison(first, second) -> {
- case edit {
- MyerEq(segment) ->
- ListComparison(
- [Match(segment), ..first],
- [Match(segment), ..second],
- )
- Ins(segment) -> ListComparison(first, [NoMatch(segment), ..second])
- Del(segment) -> ListComparison([NoMatch(segment), ..first], second)
- }
- }
- StringComparison(..) -> comparison
- }
- },
- )
-}
-
-/// An adapter for the the `lcs` (longest common subsequence) algorithm.
-/// Intended to be use as an argument to `compare_strings_with_algorithm` or
-/// `compare_lists_with_algorithm`
-pub fn lcs(first_sequence: List(a), second_sequence: List(a)) -> Comparison(a) {
- let leading_matches =
- list.zip(first_sequence, second_sequence)
- |> list.take_while(fn(pair) { pair.0 == pair.1 })
- |> list.map(pair.first)
- let num_leading_matches = list.length(leading_matches)
- let trailing_matches =
- list.zip(list.reverse(first_sequence), list.reverse(second_sequence))
- |> list.take_while(fn(pair) { pair.0 == pair.1 })
- |> list.map(pair.first)
- |> list.reverse()
- let num_trailing_matches = list.length(trailing_matches)
- let first_sequence_to_diff =
- first_sequence
- |> list.drop(num_leading_matches)
- |> list.take(
- list.length(first_sequence) - num_leading_matches - num_trailing_matches,
- )
- let second_sequence_to_diff =
- second_sequence
- |> list.drop(num_leading_matches)
- |> list.take(
- list.length(second_sequence) - num_leading_matches - num_trailing_matches,
- )
-
- let diff_map =
- second_sequence_to_diff
- |> list.index_fold(
- map.new(),
- fn(diff_map, item_second, index_second) {
- first_sequence_to_diff
- |> list.index_fold(
- diff_map,
- fn(diff_map, item_first, index_first) {
- build_diff_map(
- item_first,
- index_first,
- item_second,
- index_second,
- diff_map,
- )
- },
- )
- },
- )
- let #(first_segments, second_segments) = case
- first_sequence_to_diff,
- second_sequence_to_diff
- {
- [], [] -> #([], [])
- first_matching, [] -> #([NoMatch(first_matching)], [])
- [], second_matching -> #([], [NoMatch(second_matching)])
- first_sequence_to_diff, second_sequence_to_diff -> {
- let tracking =
- back_track(
- diff_map,
- list.length(first_sequence_to_diff) - 1,
- list.length(second_sequence_to_diff) - 1,
- [],
- )
- |> map.from_list()
-
- let first_segments =
- collect_matches(
- tracking,
- first_sequence_to_diff,
- fn(key) {
- let #(first, _) = key
- first
- },
- )
- let second_segments =
- collect_matches(
- tracking,
- second_sequence_to_diff,
- fn(key) {
- let #(_, second) = key
- second
- },
- )
- #(first_segments, second_segments)
- }
- }
-
- let #(
- first_segments_with_leading_trailing,
- second_segments_with_leading_trailing,
- ) = case leading_matches, trailing_matches {
- [], [] -> #(first_segments, second_segments)
- [], trailing_matches -> #(
- first_segments
- |> append_and_merge(Match(trailing_matches)),
- second_segments
- |> append_and_merge(Match(trailing_matches)),
- )
- leading_matches, [] -> #(
- first_segments
- |> prepend_and_merge(Match(leading_matches)),
- second_segments
- |> prepend_and_merge(Match(leading_matches)),
- )
- leading_matches, trailing_matches -> #(
- first_segments
- |> prepend_and_merge(Match(leading_matches))
- |> append_and_merge(Match(trailing_matches)),
- second_segments
- |> prepend_and_merge(Match(leading_matches))
- |> append_and_merge(Match(trailing_matches)),
- )
- }
-
- ListComparison(
- first_segments_with_leading_trailing,
- second_segments_with_leading_trailing,
- )
-}
-
-fn prepend_and_merge(
- matches: List(Match(List(a))),
- match: Match(List(a)),
-) -> List(Match(List(a))) {
- case matches, match {
- [], _ -> [match]
- [Match(first_match), ..rest], Match(_) -> [
- Match(
- match.item
- |> list.append(first_match),
- ),
- ..rest
- ]
- [NoMatch(first_match), ..rest], NoMatch(_) -> [
- NoMatch(
- match.item
- |> list.append(first_match),
- ),
- ..rest
- ]
- matches, match -> [match, ..matches]
- }
-}
-
-fn append_and_merge(
- matches: List(Match(List(a))),
- match: Match(List(a)),
-) -> List(Match(List(a))) {
- case
- matches
- |> list.reverse(),
- match
- {
- [], _ -> [match]
- [Match(first_match), ..rest], Match(_) -> [
- Match(
- first_match
- |> list.append(match.item),
- ),
- ..rest
- ]
- [NoMatch(first_match), ..rest], NoMatch(_) -> [
- NoMatch(
- first_match
- |> list.append(match.item),
- ),
- ..rest
- ]
- matches, match -> [match, ..matches]
- }
- |> list.reverse()
-}
-
-fn collect_matches(tracking, str: List(a), extract_fun) -> Segments(a) {
- let matching_indexes =
- map.keys(tracking)
- |> list.map(extract_fun)
- |> set.from_list()
-
- let matches =
- str
- |> list.index_map(fn(index, item) {
- case set.contains(matching_indexes, index) {
- True -> Match(item)
- False -> NoMatch(item)
- }
- })
-
- matches
- |> list.chunk(fn(match) {
- case match {
- Match(_) -> True
- NoMatch(_) -> False
- }
- })
- |> list.map(fn(match_list) {
- case match_list {
- [Match(_), ..] ->
- Match(list.filter_map(
- match_list,
- fn(match) {
- case match {
- Match(item) -> Ok(item)
- NoMatch(_) -> Error(Nil)
- }
- },
- ))
- [NoMatch(_), ..] ->
- NoMatch(list.filter_map(
- match_list,
- fn(match) {
- case match {
- NoMatch(item) -> Ok(item)
- Match(_) -> Error(Nil)
- }
- },
- ))
- }
- })
-}
-
-fn back_track(
- diff_map: DiffMap(a),
- first_index: Int,
- second_index: Int,
- stack: List(MatchedItem(a)),
-) -> List(MatchedItem(a)) {
- case first_index == 0 || second_index == 0 {
- True -> {
- let this_score =
- map.get(diff_map, #(first_index, second_index))
- |> result.unwrap(Score(0, None))
- case this_score {
- Score(_, Some(item)) -> [#(#(first_index, second_index), item), ..stack]
- _ ->
- case first_index, second_index {
- 0, a if a > 0 ->
- back_track(diff_map, first_index, second_index - 1, stack)
- a, 0 if a > 0 ->
- back_track(diff_map, first_index - 1, second_index, stack)
- 0, 0 -> stack
- _, _ -> back_track(diff_map, first_index - 1, second_index, stack)
- }
- }
- }
- False -> {
- let this_score =
- map.get(diff_map, #(first_index, second_index))
- |> result.unwrap(Score(0, None))
- case this_score {
- Score(_, Some(item)) ->
- back_track(
- diff_map,
- first_index - 1,
- second_index - 1,
- [#(#(first_index, second_index), item), ..stack],
- )
- Score(_, None) -> {
- let up =
- map.get(diff_map, #(first_index, second_index - 1))
- |> result.unwrap(Score(0, None))
- let back =
- map.get(diff_map, #(first_index - 1, second_index))
- |> result.unwrap(Score(0, None))
- case int.compare(up.value, back.value) {
- Gt -> back_track(diff_map, first_index, second_index - 1, stack)
- Lt -> back_track(diff_map, first_index - 1, second_index, stack)
- Eq ->
- case first_index, second_index {
- 0, a if a > 0 ->
- back_track(diff_map, first_index, second_index - 1, stack)
- a, 0 if a > 0 ->
- back_track(diff_map, first_index - 1, second_index, stack)
- 0, 0 -> stack
- _, _ ->
- back_track(diff_map, first_index - 1, second_index, stack)
- }
- }
- }
- }
- }
- }
-}
-
-fn build_diff_map(
- first_item: a,
- first_index: Int,
- second_item: a,
- second_index: Int,
- diff_map: DiffMap(a),
-) -> DiffMap(a) {
- let prev_score =
- map.get(diff_map, #(first_index - 1, second_index - 1))
- |> result.unwrap(Score(0, None))
- let derived_score_up =
- diff_map
- |> map.get(#(first_index, second_index - 1))
- |> result.unwrap(Score(0, None))
- let derived_score_back =
- diff_map
- |> map.get(#(first_index - 1, second_index))
- |> result.unwrap(Score(0, None))
- let derived_score = int.max(derived_score_up.value, derived_score_back.value)
- let this_score = case first_item == second_item {
- True -> Score(prev_score.value + 1, Some(first_item))
- False -> Score(derived_score, None)
- }
- diff_map
- |> map.insert(#(first_index, second_index), this_score)
-}
diff --git a/aoc2023/build/packages/gap/src/gap/comparison.gleam b/aoc2023/build/packages/gap/src/gap/comparison.gleam
deleted file mode 100644
index da30c29..0000000
--- a/aoc2023/build/packages/gap/src/gap/comparison.gleam
+++ /dev/null
@@ -1,22 +0,0 @@
-/// Comparison of two strings or lists
-///
-/// The comparison consists of two lists of matched segments. The segments represent
-/// a sequence of succeeding matches or non-matches (up until the next match/non-match)
-///
-/// For lists the elements in the segment will be same as the elements in the list, and
-/// for strings the elements will be the graphemes of the string
-pub type Comparison(a) {
- ListComparison(first: Segments(a), second: Segments(a))
- StringComparison(first: Segments(String), second: Segments(String))
-}
-
-/// Indicating that the item has a matching (`Match`) or no matching (`NoMatch`) item in the
-/// other string/list
-pub type Match(a) {
- Match(item: a)
- NoMatch(item: a)
-}
-
-/// List of segments of succeeding matches / non-matches
-pub type Segments(a) =
- List(Match(List(a)))
diff --git a/aoc2023/build/packages/gap/src/gap/myers.gleam b/aoc2023/build/packages/gap/src/gap/myers.gleam
deleted file mode 100644
index f0b8ddc..0000000
--- a/aoc2023/build/packages/gap/src/gap/myers.gleam
+++ /dev/null
@@ -1,122 +0,0 @@
-import gleam/list
-
-pub type Edit(a) {
- Eq(List(a))
- Del(List(a))
- Ins(List(a))
-}
-
-type Path(a) {
- Path(x: Int, y: Int, list1: List(a), list2: List(a), edits: List(Edit(a)))
-}
-
-type Status(a) {
- Done(edits: List(Edit(a)))
- Next(paths: List(Path(a)))
- Cont(path: Path(a))
-}
-
-/// The algorithm is outlined in the
-/// "An O(ND) Difference Algorithm and Its Variations" paper by E. Myers.
-///
-/// Adapted from the implementation of "myers_difference" in Elixirs List module
-pub fn difference(list1: List(a), list2: List(a)) -> List(Edit(a)) {
- let path = Path(0, 0, list1, list2, [])
- find_script(0, list.length(list1) + list.length(list2), [path])
-}
-
-fn find_script(envelope: Int, max: Int, paths: List(Path(a))) {
- case envelope > max {
- True -> []
- False -> {
- case each_diagonal(-envelope, envelope, paths, []) {
- Done(edits) -> compact_reverse(edits, [])
- Next(paths) -> find_script(envelope + 1, max, paths)
- _ -> panic as "Didn't expect a Cont here"
- }
- }
- }
-}
-
-fn compact_reverse(edits: List(Edit(a)), acc: List(Edit(a))) -> List(Edit(a)) {
- case edits, acc {
- [], acc -> acc
- [Eq(elem), ..rest], [Eq(result), ..acc_rest] ->
- compact_reverse(rest, [Eq(list.flatten([elem, result])), ..acc_rest])
- [Del(elem), ..rest], [Del(result), ..acc_rest] ->
- compact_reverse(rest, [Del(list.flatten([elem, result])), ..acc_rest])
- [Ins(elem), ..rest], [Ins(result), ..acc_rest] ->
- compact_reverse(rest, [Ins(list.flatten([elem, result])), ..acc_rest])
- [Eq(elem), ..rest], acc -> compact_reverse(rest, [Eq(elem), ..acc])
- [Del(elem), ..rest], acc -> compact_reverse(rest, [Del(elem), ..acc])
- [Ins(elem), ..rest], acc -> compact_reverse(rest, [Ins(elem), ..acc])
- }
-}
-
-fn each_diagonal(
- diag: Int,
- limit: Int,
- paths: List(Path(a)),
- next_paths: List(Path(a)),
-) -> Status(a) {
- case diag > limit {
- True -> Next(list.reverse(next_paths))
- False -> {
- let #(path, rest) = proceed_path(diag, limit, paths)
- case follow_snake(path) {
- Cont(path) -> each_diagonal(diag + 2, limit, rest, [path, ..next_paths])
- other -> other
- }
- }
- }
-}
-
-fn proceed_path(
- diag: Int,
- limit: Int,
- paths: List(Path(a)),
-) -> #(Path(a), List(Path(a))) {
- let neg_limit = -limit
- case diag, limit, paths {
- 0, 0, [path] -> #(path, [])
- diag, _limit, [path, ..] as paths if diag == neg_limit -> #(
- move_down(path),
- paths,
- )
- diag, limit, [path, ..] as paths if diag == limit -> #(
- move_right(path),
- paths,
- )
- _diag, _limit, [path1, path2, ..rest] -> {
- case path1.y > path2.y {
- True -> #(move_right(path1), [path2, ..rest])
- False -> #(move_down(path2), [path2, ..rest])
- }
- }
- }
-}
-
-fn move_right(path: Path(a)) -> Path(a) {
- case path {
- Path(x, y, list1, [elem, ..rest], edits) ->
- Path(x + 1, y, list1, rest, [Ins([elem]), ..edits])
- Path(x, y, list1, [], edits) -> Path(x + 1, y, list1, [], edits)
- }
-}
-
-fn move_down(path: Path(a)) -> Path(a) {
- case path {
- Path(x, y, [elem, ..rest], list2, edits) ->
- Path(x, y + 1, rest, list2, [Del([elem]), ..edits])
- Path(x, y, [], list2, edits) -> Path(x, y + 1, [], list2, edits)
- }
-}
-
-fn follow_snake(path: Path(a)) -> Status(a) {
- case path {
- Path(x, y, [elem1, ..rest1], [elem2, ..rest2], edits) if elem1 == elem2 ->
- follow_snake(Path(x + 1, y + 1, rest1, rest2, [Eq([elem1]), ..edits]))
- Path(_x, _y, [], [], edits) -> Done(edits)
- _ -> Cont(path)
- }
-}
diff --git a/aoc2023/build/packages/gap/src/gap/styled_comparison.gleam b/aoc2023/build/packages/gap/src/gap/styled_comparison.gleam
deleted file mode 100644
index 7103c2e..0000000
--- a/aoc2023/build/packages/gap/src/gap/styled_comparison.gleam
+++ /dev/null
@@ -1,4 +0,0 @@
-/// A comparison where the parts have been styled (serialized and highlighted)
-pub type StyledComparison {
- StyledComparison(first: String, second: String)
-}
diff --git a/aoc2023/build/packages/gap/src/gap/styling.gleam b/aoc2023/build/packages/gap/src/gap/styling.gleam
deleted file mode 100644
index 623ae8a..0000000
--- a/aoc2023/build/packages/gap/src/gap/styling.gleam
+++ /dev/null
@@ -1,233 +0,0 @@
-import gleam/option.{type Option, None, Some}
-import gleam/list
-import gleam/string
-import gleam_community/ansi
-import gap/comparison.{
- type Comparison, type Segments, ListComparison, Match, NoMatch,
- StringComparison,
-}
-import gap/styled_comparison.{type StyledComparison, StyledComparison}
-
-/// The `Highlighter`takes a string representation of the item that was not matching
-/// and should return a string representation that can be used to visually indicate that
-/// it is a non-matching item.
-///
-/// The default implementation of the highlighters uses the
-/// [gleam_community/ansi](https://hexdocs.pm/gleam_community_ansi/index.html) library
-/// to set a different color for the item, but any type if indication can be used as long
-/// as it returns a valid string
-pub type Highlighter =
- fn(String) -> String
-
-/// `Part` is used to indicate to a custom serializer if it should produce a serialization
-/// based on a segment with items or the final string that contains already serialized segments
-pub type Part(a) {
- /// `acc` the already serialized part of the result, `part` is the current segment that should be serialized and appended and `highlighter` is the `Highlighter` that can be used to indicate non-matching items
- Part(acc: String, part: List(a), highlight: Highlighter)
- /// `all` is a string representing all serialized segments. This can be useful if some string should be prepended/appended to the final result
- All(all: String)
-}
-
-/// A `Serializer`can be used to create string representation of the comparison results
-///
-/// See [serialize](#serialize) for adding custom serializers and [mk_generic_serializer](#mk_generic_serializer)
-pub type Serializer(a) =
- fn(Part(a)) -> String
-
-/// Highlighters to use for indicating matches / non-matches
-///
-/// `first` is used to highlight non-matches in the first string/list
-/// `second` is used to highlight non-matches in the second string/list
-/// `matching` is used to highlight matches in the both strings/lists
-pub type Highlighters {
- Highlighters(first: Highlighter, second: Highlighter, matching: Highlighter)
-}
-
-/// Styling of a `Comparison`
-///
-/// See [from_comparison](#from_comparison)
-pub opaque type Styling(a) {
- Styling(
- comparison: Comparison(a),
- serializer: Option(Serializer(a)),
- highlight: Option(Highlighters),
- )
-}
-
-/// Create a new `Styling` from a `Comparison`
-///
-/// The `Styling` can be customized by adding highlighters and a serializer
-/// See [highlight](#highlight) and [serialize](#serialize)
-pub fn from_comparison(comparison: Comparison(a)) -> Styling(a) {
- Styling(comparison, None, None)
-}
-
-/// Add highlighters to the `Styling`
-///
-/// The highlighters are used to mark the matching/non-matching items in the
-/// first/second list/string
-pub fn highlight(
- styling: Styling(a),
- first: Highlighter,
- second: Highlighter,
- matching: Highlighter,
-) -> Styling(a) {
- Styling(..styling, highlight: Some(Highlighters(first, second, matching)))
-}
-
-/// Add a serializer to the `Styling`
-///
-/// The serializer is used to create string representation of the items in the segments of the `Comparison`
-/// See [Part](#part) for details
-///
-/// > **NOTE:** `StringComparison` will always use the default string serializer (concatenating the graphemes).
-/// > If there is a need for custom serialization of `StringComparison` convert the string to a list of
-/// > graphemes and treat it as a `ListComparison`
-pub fn serialize(styling: Styling(a), serializer: Serializer(a)) -> Styling(a) {
- Styling(..styling, serializer: Some(serializer))
-}
-
-/// Creates a styled comparison using either custom highlighters/serializer if they where added or default
-/// highlighters and/or serializer
-pub fn to_styled_comparison(styling: Styling(a)) -> StyledComparison {
- let highlight =
- styling.highlight
- |> option.unwrap(Highlighters(
- first_highlight_default,
- second_highlight_default,
- no_highlight,
- ))
- case styling.comparison {
- StringComparison(first, second) ->
- to_strings(
- first,
- second,
- // NOTE: Using string serializer here because otherwise we need to have a specific string serializer on the styling
- string_serializer,
- highlight.first,
- highlight.second,
- highlight.matching,
- )
- ListComparison(first, second) ->
- to_strings(
- first,
- second,
- option.unwrap(styling.serializer, generic_serializer),
- highlight.first,
- highlight.second,
- highlight.matching,
- )
- }
-}
-
-/// Default highlighter for the first string/list in the comparison
-pub fn first_highlight_default(string: String) -> String {
- case string {
- " " ->
- string
- |> ansi.underline()
- |> ansi.bold()
- |> ansi.green()
-
- _ ->
- string
- |> ansi.green()
- |> ansi.bold()
- }
-}
-
-/// Default highlighter for the second string/list in the comparison
-pub fn second_highlight_default(string: String) -> String {
- case string {
- " " ->
- string
- |> ansi.underline()
- |> ansi.bold()
- |> ansi.red()
-
- _ ->
- string
- |> ansi.red()
- |> ansi.bold()
- }
-}
-
-/// Default highlighter used for matching items
-pub fn no_highlight(string: String) -> String {
- string
-}
-
-fn string_serializer(part: Part(String)) -> String {
- case part {
- Part(acc, sequence, highlight) ->
- acc <> {
- sequence
- |> list.map(highlight)
- |> string.join("")
- }
- All(string) -> string
- }
-}
-
-fn generic_serializer(part: Part(a)) -> String {
- mk_generic_serializer(", ", fn(all) { "[" <> all <> "]" })(part)
-}
-
-/// Creates a generic serializer that uses `separator` between all items and calls
-/// `around` for possibility to prepend/append strings to the final result
-pub fn mk_generic_serializer(separator: String, around: fn(String) -> String) {
- fn(part) {
- case part {
- Part(acc, sequence, highlight) -> {
- let segment_separator = case acc {
- "" -> ""
- _ -> separator
- }
- acc <> segment_separator <> {
- sequence
- |> list.map(string.inspect)
- |> list.map(highlight)
- |> string.join(separator)
- }
- }
- All(string) -> around(string)
- }
- }
-}
-
-fn to_strings(
- first: Segments(a),
- second: Segments(a),
- serializer: Serializer(a),
- first_highlight: Highlighter,
- second_highlight: Highlighter,
- no_highlight: Highlighter,
-) -> StyledComparison {
- let first_styled =
- first
- |> list.fold(
- "",
- fn(str, match) {
- case match {
- Match(item) -> serializer(Part(str, item, no_highlight))
- NoMatch(item) -> serializer(Part(str, item, first_highlight))
- }
- },
- )
- let second_styled =
- second
- |> list.fold(
- "",
- fn(str, match) {
- case match {
- Match(item) -> serializer(Part(str, item, no_highlight))
- NoMatch(item) -> serializer(Part(str, item, second_highlight))
- }
- },
- )
-
- StyledComparison(
- serializer(All(first_styled)),
- serializer(All(second_styled)),
- )
-}
diff --git a/aoc2023/build/packages/gap/src/gap@comparison.erl b/aoc2023/build/packages/gap/src/gap@comparison.erl
deleted file mode 100644
index 36bd1c3..0000000
--- a/aoc2023/build/packages/gap/src/gap@comparison.erl
+++ /dev/null
@@ -1,15 +0,0 @@
--module(gap@comparison).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export_type([comparison/1, match/1]).
-
--type comparison(FQT) :: {list_comparison,
- list(match(list(FQT))),
- list(match(list(FQT)))} |
- {string_comparison,
- list(match(list(binary()))),
- list(match(list(binary())))}.
-
--type match(FQU) :: {match, FQU} | {no_match, FQU}.
-
-
diff --git a/aoc2023/build/packages/gap/src/gap@myers.erl b/aoc2023/build/packages/gap/src/gap@myers.erl
deleted file mode 100644
index 6a8ad35..0000000
--- a/aoc2023/build/packages/gap/src/gap@myers.erl
+++ /dev/null
@@ -1,156 +0,0 @@
--module(gap@myers).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([difference/2]).
--export_type([edit/1, path/1, status/1]).
-
--type edit(FUV) :: {eq, list(FUV)} | {del, list(FUV)} | {ins, list(FUV)}.
-
--type path(FUW) :: {path,
- integer(),
- integer(),
- list(FUW),
- list(FUW),
- list(edit(FUW))}.
-
--type status(FUX) :: {done, list(edit(FUX))} |
- {next, list(path(FUX))} |
- {cont, path(FUX)}.
-
--spec compact_reverse(list(edit(FVH)), list(edit(FVH))) -> list(edit(FVH)).
-compact_reverse(Edits, Acc) ->
- case {Edits, Acc} of
- {[], Acc@1} ->
- Acc@1;
-
- {[{eq, Elem} | Rest], [{eq, Result} | Acc_rest]} ->
- compact_reverse(
- Rest,
- [{eq, gleam@list:flatten([Elem, Result])} | Acc_rest]
- );
-
- {[{del, Elem@1} | Rest@1], [{del, Result@1} | Acc_rest@1]} ->
- compact_reverse(
- Rest@1,
- [{del, gleam@list:flatten([Elem@1, Result@1])} | Acc_rest@1]
- );
-
- {[{ins, Elem@2} | Rest@2], [{ins, Result@2} | Acc_rest@2]} ->
- compact_reverse(
- Rest@2,
- [{ins, gleam@list:flatten([Elem@2, Result@2])} | Acc_rest@2]
- );
-
- {[{eq, Elem@3} | Rest@3], Acc@2} ->
- compact_reverse(Rest@3, [{eq, Elem@3} | Acc@2]);
-
- {[{del, Elem@4} | Rest@4], Acc@3} ->
- compact_reverse(Rest@4, [{del, Elem@4} | Acc@3]);
-
- {[{ins, Elem@5} | Rest@5], Acc@4} ->
- compact_reverse(Rest@5, [{ins, Elem@5} | Acc@4])
- end.
-
--spec move_right(path(FWA)) -> path(FWA).
-move_right(Path) ->
- case Path of
- {path, X, Y, List1, [Elem | Rest], Edits} ->
- {path, X + 1, Y, List1, Rest, [{ins, [Elem]} | Edits]};
-
- {path, X@1, Y@1, List1@1, [], Edits@1} ->
- {path, X@1 + 1, Y@1, List1@1, [], Edits@1}
- end.
-
--spec move_down(path(FWD)) -> path(FWD).
-move_down(Path) ->
- case Path of
- {path, X, Y, [Elem | Rest], List2, Edits} ->
- {path, X, Y + 1, Rest, List2, [{del, [Elem]} | Edits]};
-
- {path, X@1, Y@1, [], List2@1, Edits@1} ->
- {path, X@1, Y@1 + 1, [], List2@1, Edits@1}
- end.
-
--spec proceed_path(integer(), integer(), list(path(FVU))) -> {path(FVU),
- list(path(FVU))}.
-proceed_path(Diag, Limit, Paths) ->
- Neg_limit = - Limit,
- case {Diag, Limit, Paths} of
- {0, 0, [Path]} ->
- {Path, []};
-
- {Diag@1, _, [Path@1 | _] = Paths@1} when Diag@1 =:= Neg_limit ->
- {move_down(Path@1), Paths@1};
-
- {Diag@2, Limit@1, [Path@2 | _] = Paths@2} when Diag@2 =:= Limit@1 ->
- {move_right(Path@2), Paths@2};
-
- {_, _, [Path1, Path2 | Rest]} ->
- case erlang:element(3, Path1) > erlang:element(3, Path2) of
- true ->
- {move_right(Path1), [Path2 | Rest]};
-
- false ->
- {move_down(Path2), [Path2 | Rest]}
- end
- end.
-
--spec follow_snake(path(FWG)) -> status(FWG).
-follow_snake(Path) ->
- case Path of
- {path, X, Y, [Elem1 | Rest1], [Elem2 | Rest2], Edits} when Elem1 =:= Elem2 ->
- follow_snake(
- {path, X + 1, Y + 1, Rest1, Rest2, [{eq, [Elem1]} | Edits]}
- );
-
- {path, _, _, [], [], Edits@1} ->
- {done, Edits@1};
-
- _ ->
- {cont, Path}
- end.
-
--spec each_diagonal(integer(), integer(), list(path(FVO)), list(path(FVO))) -> status(FVO).
-each_diagonal(Diag, Limit, Paths, Next_paths) ->
- case Diag > Limit of
- true ->
- {next, gleam@list:reverse(Next_paths)};
-
- false ->
- {Path, Rest} = proceed_path(Diag, Limit, Paths),
- case follow_snake(Path) of
- {cont, Path@1} ->
- each_diagonal(Diag + 2, Limit, Rest, [Path@1 | Next_paths]);
-
- Other ->
- Other
- end
- end.
-
--spec find_script(integer(), integer(), list(path(FVD))) -> list(edit(FVD)).
-find_script(Envelope, Max, Paths) ->
- case Envelope > Max of
- true ->
- [];
-
- false ->
- case each_diagonal(- Envelope, Envelope, Paths, []) of
- {done, Edits} ->
- compact_reverse(Edits, []);
-
- {next, Paths@1} ->
- find_script(Envelope + 1, Max, Paths@1);
-
- _ ->
- erlang:error(#{gleam_error => panic,
- message => <<"Didn't expect a Cont here"/utf8>>,
- module => <<"gap/myers"/utf8>>,
- function => <<"find_script"/utf8>>,
- line => 35})
- end
- end.
-
--spec difference(list(FUY), list(FUY)) -> list(edit(FUY)).
-difference(List1, List2) ->
- Path = {path, 0, 0, List1, List2, []},
- find_script(0, gleam@list:length(List1) + gleam@list:length(List2), [Path]).
diff --git a/aoc2023/build/packages/gap/src/gap@styled_comparison.erl b/aoc2023/build/packages/gap/src/gap@styled_comparison.erl
deleted file mode 100644
index 14cc390..0000000
--- a/aoc2023/build/packages/gap/src/gap@styled_comparison.erl
+++ /dev/null
@@ -1,8 +0,0 @@
--module(gap@styled_comparison).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export_type([styled_comparison/0]).
-
--type styled_comparison() :: {styled_comparison, binary(), binary()}.
-
-
diff --git a/aoc2023/build/packages/gap/src/gap@styling.erl b/aoc2023/build/packages/gap/src/gap@styling.erl
deleted file mode 100644
index ba226c3..0000000
--- a/aoc2023/build/packages/gap/src/gap@styling.erl
+++ /dev/null
@@ -1,202 +0,0 @@
--module(gap@styling).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([from_comparison/1, highlight/4, serialize/2, first_highlight_default/1, second_highlight_default/1, no_highlight/1, mk_generic_serializer/2, to_styled_comparison/1]).
--export_type([part/1, highlighters/0, styling/1]).
-
--type part(FRE) :: {part, binary(), list(FRE), fun((binary()) -> binary())} |
- {all, binary()}.
-
--type highlighters() :: {highlighters,
- fun((binary()) -> binary()),
- fun((binary()) -> binary()),
- fun((binary()) -> binary())}.
-
--opaque styling(FRF) :: {styling,
- gap@comparison:comparison(FRF),
- gleam@option:option(fun((part(FRF)) -> binary())),
- gleam@option:option(highlighters())}.
-
--spec from_comparison(gap@comparison:comparison(FRI)) -> styling(FRI).
-from_comparison(Comparison) ->
- {styling, Comparison, none, none}.
-
--spec highlight(
- styling(FRL),
- fun((binary()) -> binary()),
- fun((binary()) -> binary()),
- fun((binary()) -> binary())
-) -> styling(FRL).
-highlight(Styling, First, Second, Matching) ->
- erlang:setelement(
- 4,
- Styling,
- {some, {highlighters, First, Second, Matching}}
- ).
-
--spec serialize(styling(FRO), fun((part(FRO)) -> binary())) -> styling(FRO).
-serialize(Styling, Serializer) ->
- erlang:setelement(3, Styling, {some, Serializer}).
-
--spec first_highlight_default(binary()) -> binary().
-first_highlight_default(String) ->
- case String of
- <<" "/utf8>> ->
- _pipe = String,
- _pipe@1 = gleam_community@ansi:underline(_pipe),
- _pipe@2 = gleam_community@ansi:bold(_pipe@1),
- gleam_community@ansi:green(_pipe@2);
-
- _ ->
- _pipe@3 = String,
- _pipe@4 = gleam_community@ansi:green(_pipe@3),
- gleam_community@ansi:bold(_pipe@4)
- end.
-
--spec second_highlight_default(binary()) -> binary().
-second_highlight_default(String) ->
- case String of
- <<" "/utf8>> ->
- _pipe = String,
- _pipe@1 = gleam_community@ansi:underline(_pipe),
- _pipe@2 = gleam_community@ansi:bold(_pipe@1),
- gleam_community@ansi:red(_pipe@2);
-
- _ ->
- _pipe@3 = String,
- _pipe@4 = gleam_community@ansi:red(_pipe@3),
- gleam_community@ansi:bold(_pipe@4)
- end.
-
--spec no_highlight(binary()) -> binary().
-no_highlight(String) ->
- String.
-
--spec string_serializer(part(binary())) -> binary().
-string_serializer(Part) ->
- case Part of
- {part, Acc, Sequence, Highlight} ->
- <<Acc/binary,
- (begin
- _pipe = Sequence,
- _pipe@1 = gleam@list:map(_pipe, Highlight),
- gleam@string:join(_pipe@1, <<""/utf8>>)
- end)/binary>>;
-
- {all, String} ->
- String
- end.
-
--spec mk_generic_serializer(binary(), fun((binary()) -> binary())) -> fun((part(any())) -> binary()).
-mk_generic_serializer(Separator, Around) ->
- fun(Part) -> case Part of
- {part, Acc, Sequence, Highlight} ->
- Segment_separator = case Acc of
- <<""/utf8>> ->
- <<""/utf8>>;
-
- _ ->
- Separator
- end,
- <<<<Acc/binary, Segment_separator/binary>>/binary,
- (begin
- _pipe = Sequence,
- _pipe@1 = gleam@list:map(
- _pipe,
- fun gleam@string:inspect/1
- ),
- _pipe@2 = gleam@list:map(_pipe@1, Highlight),
- gleam@string:join(_pipe@2, Separator)
- end)/binary>>;
-
- {all, String} ->
- Around(String)
- end end.
-
--spec generic_serializer(part(any())) -> binary().
-generic_serializer(Part) ->
- (mk_generic_serializer(
- <<", "/utf8>>,
- fun(All) -> <<<<"["/utf8, All/binary>>/binary, "]"/utf8>> end
- ))(Part).
-
--spec to_strings(
- list(gap@comparison:match(list(FRY))),
- list(gap@comparison:match(list(FRY))),
- fun((part(FRY)) -> binary()),
- fun((binary()) -> binary()),
- fun((binary()) -> binary()),
- fun((binary()) -> binary())
-) -> gap@styled_comparison:styled_comparison().
-to_strings(
- First,
- Second,
- Serializer,
- First_highlight,
- Second_highlight,
- No_highlight
-) ->
- First_styled = begin
- _pipe = First,
- gleam@list:fold(_pipe, <<""/utf8>>, fun(Str, Match) -> case Match of
- {match, Item} ->
- Serializer({part, Str, Item, No_highlight});
-
- {no_match, Item@1} ->
- Serializer({part, Str, Item@1, First_highlight})
- end end)
- end,
- Second_styled = begin
- _pipe@1 = Second,
- gleam@list:fold(
- _pipe@1,
- <<""/utf8>>,
- fun(Str@1, Match@1) -> case Match@1 of
- {match, Item@2} ->
- Serializer({part, Str@1, Item@2, No_highlight});
-
- {no_match, Item@3} ->
- Serializer({part, Str@1, Item@3, Second_highlight})
- end end
- )
- end,
- {styled_comparison,
- Serializer({all, First_styled}),
- Serializer({all, Second_styled})}.
-
--spec to_styled_comparison(styling(any())) -> gap@styled_comparison:styled_comparison().
-to_styled_comparison(Styling) ->
- Highlight = begin
- _pipe = erlang:element(4, Styling),
- gleam@option:unwrap(
- _pipe,
- {highlighters,
- fun first_highlight_default/1,
- fun second_highlight_default/1,
- fun no_highlight/1}
- )
- end,
- case erlang:element(2, Styling) of
- {string_comparison, First, Second} ->
- to_strings(
- First,
- Second,
- fun string_serializer/1,
- erlang:element(2, Highlight),
- erlang:element(3, Highlight),
- erlang:element(4, Highlight)
- );
-
- {list_comparison, First@1, Second@1} ->
- to_strings(
- First@1,
- Second@1,
- gleam@option:unwrap(
- erlang:element(3, Styling),
- fun generic_serializer/1
- ),
- erlang:element(2, Highlight),
- erlang:element(3, Highlight),
- erlang:element(4, Highlight)
- )
- end.
diff --git a/aoc2023/build/packages/gap/src/gap_ffi.mjs b/aoc2023/build/packages/gap/src/gap_ffi.mjs
deleted file mode 100644
index 235c80b..0000000
--- a/aoc2023/build/packages/gap/src/gap_ffi.mjs
+++ /dev/null
@@ -1,431 +0,0 @@
-import {
- Error,
- List,
- Ok,
- inspect,
- toList,
- makeError,
- isEqual,
-} from "./gleam.mjs";
-import * as $option from "../gleam_stdlib/gleam/option.mjs";
-
-const HASHCODE_CACHE = new WeakMap();
-const Nil = undefined;
-
-class MutableMap {
- static #hashcode_cache = new WeakMap();
-
- static hash(value) {
- let existing = this.#hashcode_cache.get(value);
- if (existing) {
- return existing;
- } else if (value instanceof Object) {
- let hashcode = inspect(value);
- HASHCODE_CACHE.set(value, hashcode);
- return hashcode;
- } else {
- return value.toString();
- }
- }
-
- constructor() {
- this.entries = new globalThis.Map();
- }
-
- get size() {
- return this.entries.size;
- }
-
- inspect() {
- let entries = [...this.entries.values()]
- .map((pair) => inspect(pair))
- .join(", ");
- return `map.from_list([${entries}])`;
- }
-
- toList() {
- return List.fromArray([...this.entries.values()]);
- }
-
- insert(k, v) {
- this.entries.set(MutableMap.hash(k), [k, v]);
- return this;
- }
-
- delete(k) {
- this.entries.delete(MutableMap.hash(k));
- return this;
- }
-
- get(key) {
- let code = MutableMap.hash(key);
- if (this.entries.has(code)) {
- return new Ok(this.entries.get(code)[1]);
- } else {
- return new Error(Nil);
- }
- }
-}
-
-export function new_mutable_map() {
- return new MutableMap();
-}
-
-export function mutable_map_size(map) {
- return map.size;
-}
-
-export function mutable_map_to_list(map) {
- return map.toList();
-}
-
-export function mutable_map_remove(k, map) {
- return map.delete(k);
-}
-
-export function mutable_map_get(map, key) {
- return map.get(key);
-}
-
-export function mutable_map_insert(key, value, map) {
- return map.insert(key, value);
-}
-
-// From map.mjs
-
-export function size(map) {
- return mutable_map_size(map);
-}
-
-export function to_list(map) {
- return mutable_map_to_list(map);
-}
-
-export function new$() {
- return new_mutable_map();
-}
-
-export function get(from, get) {
- return mutable_map_get(from, get);
-}
-
-function do_has_key(key, map) {
- return !isEqual(get(map, key), new Error(undefined));
-}
-
-export function has_key(map, key) {
- return do_has_key(key, map);
-}
-
-export function insert(map, key, value) {
- return mutable_map_insert(key, value, map);
-}
-
-function insert_pair(map, pair) {
- return insert(map, pair[0], pair[1]);
-}
-
-export function update(map, key, fun) {
- let _pipe = map;
- let _pipe$1 = get(_pipe, key);
- let _pipe$2 = $option.from_result(_pipe$1);
- let _pipe$3 = fun(_pipe$2);
- return ((_capture) => {
- return insert(map, key, _capture);
- })(_pipe$3);
-}
-
-export function delete$(map, key) {
- return mutable_map_remove(key, map);
-}
-
-function fold_list_of_pair(loop$list, loop$initial) {
- while (true) {
- let list = loop$list;
- let initial = loop$initial;
- if (list.hasLength(0)) {
- return initial;
- } else if (list.atLeastLength(1)) {
- let x = list.head;
- let rest = list.tail;
- loop$list = rest;
- loop$initial = insert(initial, x[0], x[1]);
- } else {
- throw makeError(
- "case_no_match",
- "gleam/map",
- 98,
- "fold_list_of_pair",
- "No case clause matched",
- { values: [list] }
- );
- }
- }
-}
-
-function do_from_list(list) {
- return fold_list_of_pair(list, new$());
-}
-
-export function from_list(list) {
- return do_from_list(list);
-}
-
-function do_fold(loop$list, loop$initial, loop$fun) {
- while (true) {
- let list = loop$list;
- let initial = loop$initial;
- let fun = loop$fun;
- if (list.hasLength(0)) {
- return initial;
- } else if (list.atLeastLength(1)) {
- let k = list.head[0];
- let v = list.head[1];
- let tail = list.tail;
- loop$list = tail;
- loop$initial = fun(initial, k, v);
- loop$fun = fun;
- } else {
- throw makeError(
- "case_no_match",
- "gleam/map",
- 558,
- "do_fold",
- "No case clause matched",
- { values: [list] }
- );
- }
- }
-}
-
-export function fold(map, initial, fun) {
- let _pipe = map;
- let _pipe$1 = to_list(_pipe);
- return do_fold(_pipe$1, initial, fun);
-}
-
-function do_map_values(f, map) {
- let f$1 = (map, k, v) => {
- return insert(map, k, f(k, v));
- };
- let _pipe = map;
- return fold(_pipe, new$(), f$1);
-}
-
-export function map_values(map, fun) {
- return do_map_values(fun, map);
-}
-
-function do_filter(f, map) {
- let insert$1 = (map, k, v) => {
- let $ = f(k, v);
- if ($) {
- return insert(map, k, v);
- } else {
- return map;
- }
- };
- let _pipe = map;
- return fold(_pipe, new$(), insert$1);
-}
-
-export function filter(map, property) {
- return do_filter(property, map);
-}
-
-function do_keys_acc(loop$list, loop$acc) {
- while (true) {
- let list = loop$list;
- let acc = loop$acc;
- if (list.hasLength(0)) {
- return reverse_and_concat(acc, toList([]));
- } else if (list.atLeastLength(1)) {
- let x = list.head;
- let xs = list.tail;
- loop$list = xs;
- loop$acc = toList([x[0]], acc);
- } else {
- throw makeError(
- "case_no_match",
- "gleam/map",
- 276,
- "do_keys_acc",
- "No case clause matched",
- { values: [list] }
- );
- }
- }
-}
-
-function do_keys(map) {
- let list_of_pairs = (() => {
- let _pipe = map;
- return to_list(_pipe);
- })();
- return do_keys_acc(list_of_pairs, toList([]));
-}
-
-export function keys(map) {
- return do_keys(map);
-}
-
-function reverse_and_concat(loop$remaining, loop$accumulator) {
- while (true) {
- let remaining = loop$remaining;
- let accumulator = loop$accumulator;
- if (remaining.hasLength(0)) {
- return accumulator;
- } else if (remaining.atLeastLength(1)) {
- let item = remaining.head;
- let rest = remaining.tail;
- loop$remaining = rest;
- loop$accumulator = toList([item], accumulator);
- } else {
- throw makeError(
- "case_no_match",
- "gleam/map",
- 269,
- "reverse_and_concat",
- "No case clause matched",
- { values: [remaining] }
- );
- }
- }
-}
-
-function do_values_acc(loop$list, loop$acc) {
- while (true) {
- let list = loop$list;
- let acc = loop$acc;
- if (list.hasLength(0)) {
- return reverse_and_concat(acc, toList([]));
- } else if (list.atLeastLength(1)) {
- let x = list.head;
- let xs = list.tail;
- loop$list = xs;
- loop$acc = toList([x[1]], acc);
- } else {
- throw makeError(
- "case_no_match",
- "gleam/map",
- 314,
- "do_values_acc",
- "No case clause matched",
- { values: [list] }
- );
- }
- }
-}
-
-function do_values(map) {
- let list_of_pairs = (() => {
- let _pipe = map;
- return to_list(_pipe);
- })();
- return do_values_acc(list_of_pairs, toList([]));
-}
-
-export function values(map) {
- return do_values(map);
-}
-
-function insert_taken(loop$map, loop$desired_keys, loop$acc) {
- while (true) {
- let map = loop$map;
- let desired_keys = loop$desired_keys;
- let acc = loop$acc;
- let insert$1 = (taken, key) => {
- let $ = get(map, key);
- if ($.isOk()) {
- let value = $[0];
- return insert(taken, key, value);
- } else {
- return taken;
- }
- };
- if (desired_keys.hasLength(0)) {
- return acc;
- } else if (desired_keys.atLeastLength(1)) {
- let x = desired_keys.head;
- let xs = desired_keys.tail;
- loop$map = map;
- loop$desired_keys = xs;
- loop$acc = insert$1(acc, x);
- } else {
- throw makeError(
- "case_no_match",
- "gleam/map",
- 411,
- "insert_taken",
- "No case clause matched",
- { values: [desired_keys] }
- );
- }
- }
-}
-
-function do_take(desired_keys, map) {
- return insert_taken(map, desired_keys, new$());
-}
-
-export function take(map, desired_keys) {
- return do_take(desired_keys, map);
-}
-
-function fold_inserts(loop$new_entries, loop$map) {
- while (true) {
- let new_entries = loop$new_entries;
- let map = loop$map;
- if (new_entries.hasLength(0)) {
- return map;
- } else if (new_entries.atLeastLength(1)) {
- let x = new_entries.head;
- let xs = new_entries.tail;
- loop$new_entries = xs;
- loop$map = insert_pair(map, x);
- } else {
- throw makeError(
- "case_no_match",
- "gleam/map",
- 451,
- "fold_inserts",
- "No case clause matched",
- { values: [new_entries] }
- );
- }
- }
-}
-
-function do_merge(map, new_entries) {
- let _pipe = new_entries;
- let _pipe$1 = to_list(_pipe);
- return fold_inserts(_pipe$1, map);
-}
-
-export function merge(map, new_entries) {
- return do_merge(map, new_entries);
-}
-
-export function drop(loop$map, loop$disallowed_keys) {
- while (true) {
- let map = loop$map;
- let disallowed_keys = loop$disallowed_keys;
- if (disallowed_keys.hasLength(0)) {
- return map;
- } else if (disallowed_keys.atLeastLength(1)) {
- let x = disallowed_keys.head;
- let xs = disallowed_keys.tail;
- loop$map = delete$(map, x);
- loop$disallowed_keys = xs;
- } else {
- throw makeError(
- "case_no_match",
- "gleam/map",
- 514,
- "drop",
- "No case clause matched",
- { values: [disallowed_keys] }
- );
- }
- }
-}
diff --git a/aoc2023/build/packages/gleam.lock b/aoc2023/build/packages/gleam.lock
deleted file mode 100644
index e69de29..0000000
--- a/aoc2023/build/packages/gleam.lock
+++ /dev/null
diff --git a/aoc2023/build/packages/gleam_community_ansi/LICENCE b/aoc2023/build/packages/gleam_community_ansi/LICENCE
deleted file mode 100644
index a84f0ec..0000000
--- a/aoc2023/build/packages/gleam_community_ansi/LICENCE
+++ /dev/null
@@ -1,190 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- Copyright 2023 Gleam Community Contributors
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License. \ No newline at end of file
diff --git a/aoc2023/build/packages/gleam_community_ansi/README.md b/aoc2023/build/packages/gleam_community_ansi/README.md
deleted file mode 100644
index 90ab0d5..0000000
--- a/aoc2023/build/packages/gleam_community_ansi/README.md
+++ /dev/null
@@ -1,72 +0,0 @@
-# gleam-community/ansi
-
-Format text with ANSI escape sequences.
-
-[![Package Version](https://img.shields.io/hexpm/v/gleam_community_ansi)](https://hex.pm/packages/gleam_community_ansi)
-[![Hex Docs](https://img.shields.io/badge/hex-docs-ffaff3)](https://hexdocs.pm/gleam_community_ansi/)
-
-✨ This project is written in _pure Gleam_ so you can use it anywhere Gleam runs:
-Erlang, Elixir, Node, Deno, even [some browsers](https://bit.ly/devtools-console-ansi-support)!
-
----
-
-## Quickstart
-
-```gleam
-import gleam/io
-import gleam_community/ansi
-
-pub fn main() {
- let greeting = "Hello, " <> ansi.pink("world") <> "!"
-
- greeting
- |> ansi.bg_white
- |> io.println
-}
-
-```
-
-## Installation
-
-`gleam_community` packages are published to [hex.pm](https://hex.pm/packages/gleam_community_ansi)
-with the prefix `gleam_community_`. You can add them to your Gleam projects directly:
-
-```sh
-gleam add gleam_community_ansi
-```
-
-The docs can be found over at [hexdocs.pm](https://hexdocs.pm/gleam_community_ansi).
-
-## ANSI-what?
-
-ANSI escape sequences date back to the 70s as a standard way to format text on
-various video text terminals. Since then they have been adopted by many software
-terminal emulators and platforms, including some Web browsers, and are a simple
-way to format text without platform-specific APIs.
-
-The point of this package is to abstract the specific codes away and give you an
-easy-to-understand API for formatting and colouring terminal text. Still, here is
-a quick couple of examples of what's happening under the hood.
-
-You can copy these examples straight into your terminal to see them in action!
-
-- Colour text yellow:
-
- ```shell
- $ echo "\e[33mhello"
- ```
-
-- Colour the background pink:
-
- ```shell
- $ echo "\e[45mhello"
- ```
-
-- Render text italic:
-
- ```shell
- $ echo "\e[3mhello\e[23m"
- ```
-
-As you can see, the escape sequences are a bit obscure. Sure, you could hard code
-them, or you could use this package!
diff --git a/aoc2023/build/packages/gleam_community_ansi/gleam.toml b/aoc2023/build/packages/gleam_community_ansi/gleam.toml
deleted file mode 100644
index 5da1f7e..0000000
--- a/aoc2023/build/packages/gleam_community_ansi/gleam.toml
+++ /dev/null
@@ -1,13 +0,0 @@
-name = "gleam_community_ansi"
-version = "1.2.0"
-licences = ["Apache-2.0"]
-description = "ANSI colours, formatting, and control codes"
-repository = { type = "github", user = "gleam-community", repo = "ansi" }
-gleam = ">= 0.32.0"
-
-[dependencies]
-gleam_stdlib = "~> 0.32"
-gleam_community_colour = "~> 1.2"
-
-[dev-dependencies]
-gleeunit = "~> 0.11"
diff --git a/aoc2023/build/packages/gleam_community_ansi/src/gleam_community/ansi.gleam b/aoc2023/build/packages/gleam_community_ansi/src/gleam_community/ansi.gleam
deleted file mode 100644
index a542dda..0000000
--- a/aoc2023/build/packages/gleam_community_ansi/src/gleam_community/ansi.gleam
+++ /dev/null
@@ -1,2317 +0,0 @@
-////
-//// - **Text style**
-//// - [`bold`](#bold)
-//// - [`italic`](#italic)
-//// - [`underline`](#underline)
-//// - [`strikethrough`](#strikethrough)
-//// - [`inverse`](#inverse)
-//// - [`dim`](#dim)
-//// - [`hidden`](#hidden)
-//// - [`reset`](#reset)
-//// - **Text colour**
-//// - [`black`](#black)
-//// - [`red`](#red)
-//// - [`green`](#green)
-//// - [`yellow`](#yellow)
-//// - [`blue`](#blue)
-//// - [`magenta`](#magenta)
-//// - [`cyan`](#cyan)
-//// - [`white`](#white)
-//// - [`pink`](#pink)
-//// - [`grey`](#grey)
-//// - [`gray`](#gray)
-//// - [`bright_black`](#bright_black)
-//// - [`bright_red`](#bright_red)
-//// - [`bright_green`](#bright_green)
-//// - [`bright_yellow`](#bright_yellow)
-//// - [`bright_blue`](#bright_blue)
-//// - [`bright_magenta`](#bright_magenta)
-//// - [`bright_cyan`](#bright_cyan)
-//// - [`bright_white`](#bright_white)
-//// - [`hex`](#hex)
-//// - [`colour`](#colour)
-//// - [`color`](#color)
-//// - **Background colour**
-//// - [`bg_black`](#bg_black)
-//// - [`bg_red`](#bg_red)
-//// - [`bg_green`](#bg_green)
-//// - [`bg_yellow`](#bg_yellow)
-//// - [`bg_blue`](#bg_blue)
-//// - [`bg_magenta`](#bg_magenta)
-//// - [`bg_cyan`](#bg_cyan)
-//// - [`bg_white`](#bg_white)
-//// - [`bg_pink`](#bg_pink)
-//// - [`bg_bright_black`](#bg_bright_black)
-//// - [`bg_bright_red`](#bg_bright_red)
-//// - [`bg_bright_green`](#bg_bright_green)
-//// - [`bg_bright_yellow`](#bg_bright_yellow)
-//// - [`bg_bright_blue`](#bg_bright_blue)
-//// - [`bg_bright_magenta`](#bg_bright_magenta)
-//// - [`bg_bright_cyan`](#bg_bright_cyan)
-//// - [`bg_bright_white`](#bg_bright_white)
-//// - [`bg_hex`](#bg_hex)
-//// - [`bg_colour`](#bg_colour)
-//// - [`bg_color`](#bg_color)
-////
-//// ---
-////
-//// This package was heavily inspired by the `colours` module in the Deno standard
-//// library. The original source code can be found
-//// <a href="https://deno.land/std@0.167.0/fmt/colours.ts">here</a>.
-////
-//// <details>
-//// <summary>The license of that package is produced below:</summary>
-////
-////
-//// > MIT License
-////
-//// > Copyright 2018-2022 the Deno authors.
-////
-//// > Permission is hereby granted, free of charge, to any person obtaining a copy
-//// of this software and associated documentation files (the "Software"), to deal
-//// in the Software without restriction, including without limitation the rights
-//// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//// copies of the Software, and to permit persons to whom the Software is
-//// furnished to do so, subject to the following conditions:
-////
-//// > The above copyright notice and this permission notice shall be included in all
-//// copies or substantial portions of the Software.
-//// </details>
-////
-
-// Just in case we decide in the future to no longer include the above reference
-// and license, this package was initially a port of the Deno `colours` module:
-//
-// https://deno.land/std@0.167.0/fmt/colours.ts
-//
-
-// This seems like a really handy reference if/when we want to expand this beyond
-// formatting escape sequences:
-//
-// https://gist.github.com/fnky/458719343aabd01cfb17a3a4f7296797
-//
-
-// IMPORTS --------------------------------------------------------------------
-
-import gleam/int
-import gleam/list
-import gleam/string
-import gleam_community/colour.{type Colour} as gc_colour
-
-// CONSTS ---------------------------------------------------------------------
-
-const asci_escape_character = ""
-
-// TYPES ----------------------------------------------------------------------
-
-type Code {
- Code(open: String, close: String, regexp: String)
-}
-
-// UTILITY --------------------------------------------------------------------
-
-/// Builds colour code
-fn code(open: List(Int), close: Int) -> Code {
- let close_str = int.to_string(close)
- let open_strs = list.map(open, int.to_string)
-
- Code(
- open: asci_escape_character <> "[" <> string.join(open_strs, ";") <> "m",
- close: asci_escape_character <> "[" <> close_str <> "m",
- regexp: asci_escape_character <> "[" <> close_str <> "m",
- )
-}
-
-/// Applies colour and background based on colour code and its associated text
-fn run(text: String, code: Code) -> String {
- code.open <> string.replace(text, code.regexp, code.open) <> code.close
-}
-
-// STYLES ---------------------------------------------------------------------
-
-/// Reset the text modified
-pub fn reset(text: String) -> String {
- run(text, code([0], 0))
-}
-
-/// Style the given text bold.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.bold("lucy")
-/// // => "\x1B[1mlucy\x1B[22m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[22m"` added to the string. This is the escape code
-/// for the "default" bold/dim style of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// style, it will use both the outter style and the inner style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.dim("Isn't " <> ansi.bold("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be dim but the text "fun?" will be
-/// both underlined, *and* bold!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn bold(text: String) -> String {
- run(text, code([1], 22))
-}
-
-/// Style the given text's colour to be dimmer.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.dim("lucy")
-/// // => "\x1B[2mlucy\x1B[22m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[22m"` added to the string. This is the escape code
-/// for the "default" bold/dim style of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// style, it will use both the outter style and the inner style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.dim("Isn't " <> ansi.bold("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be dim but the text "fun?" will be
-/// both underlined, *and* bold!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn dim(text: String) -> String {
- run(text, code([2], 22))
-}
-
-/// Style the given text italic.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.italic("lucy")
-/// // => "\x1B[3mlucy\x1B[23m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[23m"` added to the string. This is the escape code
-/// for the "default" italic style of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// style, it will use both the outter style and the inner style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.underline("Isn't " <> ansi.bold("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be underlined but the text "fun?" will be
-/// both underlined, *and* bold!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn italic(text: String) -> String {
- run(text, code([3], 23))
-}
-
-/// Style the given text's colour to be dimmer.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.underline("lucy")
-/// // => "\x1B[4mlucy\x1B[24m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[24m"` added to the string. This is the escape code
-/// for the "default" underline style of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// style, it will use both the outter style and the inner style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.dim("Isn't " <> ansi.bold("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be dim but the text "fun?" will be
-/// both underlined, *and* bold!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn underline(text: String) -> String {
- run(text, code([4], 24))
-}
-
-/// Inverse the given text's colour, and background colour.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.inverse("lucy")
-/// // => "\x1B[7mlucy\x1B[27m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[27m"` added to the string. This is the escape code
-/// for the "default" inverse style of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// style, it will use both the outter style and the inner style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.dim("Isn't " <> ansi.bold("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be dim but the text "fun?" will be
-/// both underlined, *and* bold!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn inverse(text: String) -> String {
- run(text, code([7], 27))
-}
-
-/// Style the given text to be hidden.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.hidden("lucy")
-/// // => "\x1B[8mlucy\x1B[28m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[28m"` added to the string. This is the escape code
-/// for the "default" hidden style of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// style, it will use both the outter style and the inner style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.dim("Isn't " <> ansi.bold("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be dim but the text "fun?" will be
-/// both underlined, *and* bold!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn hidden(text: String) -> String {
- run(text, code([8], 28))
-}
-
-/// Style the given text to be striked through.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.strikethrough("lucy")
-/// // => "\x1B[9mlucy\x1B[29m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[29m"` added to the string. This is the escape code
-/// for the "default" strikethrough style of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// style, it will use both the outter style and the inner style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.dim("Isn't " <> ansi.bold("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be dim but the text "fun?" will be
-/// both underlined, *and* bold!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn strikethrough(text: String) -> String {
- run(text, code([9], 29))
-}
-
-// FOREGROUND -----------------------------------------------------------------
-
-/// Colour the given text black.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.black("lucy")
-/// // => "\x1B[30mlucy\x1B[39m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[39m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn black(text: String) -> String {
- run(text, code([30], 39))
-}
-
-/// Colour the given text red.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.red("lucy")
-/// // => "\x1B[31mlucy\x1B[39m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[39m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn red(text: String) -> String {
- run(text, code([31], 39))
-}
-
-/// Colour the given text green.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.green("lucy")
-/// // => "\x1B[32mlucy\x1B[39m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[39m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn green(text: String) -> String {
- run(text, code([32], 39))
-}
-
-/// Colour the given text yellow.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("lucy")
-/// // => "\x1B[33mlucy\x1B[39m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[39m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn yellow(text: String) -> String {
- run(text, code([33], 39))
-}
-
-/// Colour the given text blue.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.blue("lucy")
-/// // => "\x1B[34mlucy\x1B[39m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[39m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn blue(text: String) -> String {
- run(text, code([34], 39))
-}
-
-/// Colour the given text magenta.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.magenta("lucy")
-/// // => "\x1B[35mlucy\x1B[39m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[39m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn magenta(text: String) -> String {
- run(text, code([35], 39))
-}
-
-/// Colour the given text cyan.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.cyan("lucy")
-/// // => "\x1B[36mlucy\x1B[39m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[39m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn cyan(text: String) -> String {
- run(text, code([36], 39))
-}
-
-/// Colour the given text white.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.white("lucy")
-/// // => "\x1B[37mlucy\x1B[39m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[39m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn white(text: String) -> String {
- run(text, code([37], 39))
-}
-
-/// Colour the given text gray.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.gray("lucy")
-/// // => "\x1B[90mlucy\x1B[39m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[39m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn grey(text: String) -> String {
- bright_black(text)
-}
-
-/// This is an alias for [`grey`](#grey) for those who prefer the American English
-/// spelling.
-///
-pub fn gray(text: String) -> String {
- bright_black(text)
-}
-
-/// Colour the given text bright black. This should increase the luminosity of
-/// the base colour, but some terminals will interpret this as bold instead.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.bright_black("lucy")
-/// // => "\x1B[90mlucy\x1B[39m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[39m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn bright_black(text: String) -> String {
- run(text, code([90], 39))
-}
-
-/// Colour the given text bright red. This should increase the luminosity of
-/// the base colour, but some terminals will interpret this as bold instead.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.bright_red("lucy")
-/// // => "\x1B[91mlucy\x1B[39m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[39m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn bright_red(text: String) -> String {
- run(text, code([91], 39))
-}
-
-/// Colour the given text bright green. This should increase the luminosity of
-/// the base colour, but some terminals will interpret this as bold instead.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// fn example() {
-/// ansi.bright_green("lucy")
-/// // => "\x1B[92mlucy\x1B[39m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[39m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn bright_green(text: String) -> String {
- run(text, code([92], 39))
-}
-
-/// Colour the given text bright yellow. This should increase the luminosity of
-/// the base colour, but some terminals will interpret this as bold instead.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// fn example() {
-/// ansi.bright_yellow("lucy")
-/// // => "\x1B[93mlucy\x1B[39m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[39m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn bright_yellow(text: String) -> String {
- run(text, code([93], 39))
-}
-
-/// Colour the given text bright blue. This should increase the luminosity of
-/// the base colour, but some terminals will interpret this as bold instead.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// fn example() {
-/// ansi.bright_blue("lucy")
-/// // => "\x1B[94mlucy\x1B[39m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[39m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn bright_blue(text: String) -> String {
- run(text, code([94], 39))
-}
-
-/// Colour the given text bright gremagentaen. This should increase the luminosity
-/// of the base colour, but some terminals will interpret this as bold instead.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// fn example() {
-/// ansi.bright_magenta("lucy")
-/// // => "\x1B[95mlucy\x1B[39m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[39m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn bright_magenta(text: String) -> String {
- run(text, code([95], 39))
-}
-
-/// Colour the given text bright cyan. This should increase the luminosity of
-/// the base colour, but some terminals will interpret this as bold instead.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// fn example() {
-/// ansi.bright_cyan("lucy")
-/// // => "\x1B[96mlucy\x1B[39m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[39m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn bright_cyan(text: String) -> String {
- run(text, code([96], 39))
-}
-
-/// Colour the given text bright white. This should increase the luminosity of
-/// the base colour, but some terminals will interpret this as bold instead.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// fn example() {
-/// ansi.bright_white("lucy")
-/// // => "\x1B[97mlucy\x1B[39m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[39m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn bright_white(text: String) -> String {
- run(text, code([97], 39))
-}
-
-/// Colour the given text pink.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.pink("lucy")
-/// // => "\x1B[38;2;255;175;243mlucy\x1B[39m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[39m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn pink(text: String) -> String {
- hex(text, 0xffaff3)
-}
-
-/// Colour the given text the given colour represented by a hex `Int`.
-///
-/// The given hex Int can be any valid [shorthand hexadecimal form](https://en.wikipedia.org/wiki/Web_colors#Shorthand_hexadecimal_form).
-///
-/// ❗️ Note that if supplied hex Int is less than 0 or larger than 0xfffff the
-/// colour will be set to black and white respectively.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.hex("lucy", 0xffaff3)
-/// // => "\x1B[38;2;255;175;243mlucy\x1B[39m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[49m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn hex(text: String, colour: Int) -> String {
- let colour = int.clamp(colour, max: 0xffffff, min: 0x0)
- run(
- text,
- code(
- [
- 38,
- 2,
- int.bitwise_shift_right(colour, 16)
- |> int.bitwise_and(0xff),
- int.bitwise_shift_right(colour, 8)
- |> int.bitwise_and(0xff),
- int.bitwise_and(colour, 0xff),
- ],
- 39,
- ),
- )
-}
-
-/// Colour the given text the given colour represented by a `Colour`.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-/// import gleam_community/colour.{Colour}
-///
-/// fn example() {
-/// let pink = colour.from_hsl(0.8583, 1.0, 0,84)
-/// ansi.colour("lucy", pink)
-/// // => "\x1B[48;2;255;175;243mlucy\x1B[49m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[49m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn colour(text: String, colour: Colour) -> String {
- let hex_colour = gc_colour.to_rgb_hex(colour)
- hex(text, hex_colour)
-}
-
-/// This is an alias for [`colour`](#colour) for those who prefer the American English
-/// spelling.
-///
-pub fn color(text: String, color: Colour) -> String {
- colour(text, color)
-}
-
-// BACKGROUND -----------------------------------------------------------------
-
-/// Colour the given text's background black.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.bg_black("lucy")
-/// // => "\x1B[40mlucy\x1B[49m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[49m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn bg_black(text: String) -> String {
- run(text, code([40], 49))
-}
-
-/// Colour the given text's background red.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.bg_red("lucy")
-/// // => "\x1B[41mlucy\x1B[49m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[49m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn bg_red(text: String) -> String {
- run(text, code([41], 49))
-}
-
-/// Colour the given text's background green.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.bg_green("lucy")
-/// // => "\x1B[42mlucy\x1B[49m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[49m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn bg_green(text: String) -> String {
- run(text, code([42], 49))
-}
-
-/// Colour the given text's background yellow.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.bg_yellow("lucy")
-/// // => "\x1B[43mlucy\x1B[49m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[49m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn bg_yellow(text: String) -> String {
- run(text, code([43], 49))
-}
-
-/// Colour the given text's background blue.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.bg_blue("lucy")
-/// // => "\x1B[44mlucy\x1B[49m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[49m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn bg_blue(text: String) -> String {
- run(text, code([44], 49))
-}
-
-/// Colour the given text's background magenta.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.bg_magenta("lucy")
-/// // => "\x1B[45mlucy\x1B[49m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[49m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn bg_magenta(text: String) -> String {
- run(text, code([45], 49))
-}
-
-/// Colour the given text's background cyan.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.bg_cyan("lucy")
-/// // => "\x1B[46mlucy\x1B[49m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[49m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn bg_cyan(text: String) -> String {
- run(text, code([46], 49))
-}
-
-/// Colour the given text's background white.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.bg_white("lucy")
-/// // => "\x1B[47mlucy\x1B[49m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[49m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn bg_white(text: String) -> String {
- run(text, code([47], 49))
-}
-
-/// Colour the given text's background bright black.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.bg_bright_black("lucy")
-/// // => "\x1B[100mlucy\x1B[49m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[49m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn bg_bright_black(text: String) -> String {
- run(text, code([100], 49))
-}
-
-/// Colour the given text's background bright red.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.bg_bright_red("lucy")
-/// // => "\x1B[101mlucy\x1B[49m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[49m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn bg_bright_red(text: String) -> String {
- run(text, code([101], 49))
-}
-
-/// Colour the given text's background bright green.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.bg_bright_green("lucy")
-/// // => "\x1B[102mlucy\x1B[49m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[49m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn bg_bright_green(text: String) -> String {
- run(text, code([102], 49))
-}
-
-/// Colour the given text's background bright yellow.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.bg_bright_yellow("lucy")
-/// // => "\x1B[103mlucy\x1B[49m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[49m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn bg_bright_yellow(text: String) -> String {
- run(text, code([103], 49))
-}
-
-/// Colour the given text's background bright blue.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.bg_bright_blue("lucy")
-/// // => "\x1B[104mlucy\x1B[49m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[49m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn bg_bright_blue(text: String) -> String {
- run(text, code([104], 49))
-}
-
-/// Colour the given text's background bright magenta.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.bg_bright_magenta("lucy")
-/// // => "\x1B[105mlucy\x1B[49m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[49m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn bg_bright_magenta(text: String) -> String {
- run(text, code([105], 49))
-}
-
-/// Colour the given text's background bright cyan.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.bg_bright_cyan("lucy")
-/// // => "\x1B[106mlucy\x1B[49m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[49m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn bg_bright_cyan(text: String) -> String {
- run(text, code([106], 49))
-}
-
-/// Colour the given text's background bright white.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.bg_bright_white("lucy")
-/// // => "\x1B[107mlucy\x1B[49m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[49m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn bg_bright_white(text: String) -> String {
- run(text, code([107], 49))
-}
-
-/// Colour the given text's background pink.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.bg_pink("lucy")
-/// // => "\x1B[48;2;255;175;243mlucy\x1B[49m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[49m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn bg_pink(text: String) -> String {
- bg_hex(text, 0xffaff3)
-}
-
-/// Colour the given text's background the given colour represented by a hex `Int`.
-///
-/// The given hex Int can be any valid [shorthand hexadecimal form](https://en.wikipedia.org/wiki/Web_colors#Shorthand_hexadecimal_form).
-///
-/// ❗️ Note that if supplied hex Int is less than 0 or larger than 0xfffff the
-/// colour will be set to black and white respectively.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.hex("lucy", 0xffaff3)
-/// // => "\x1B[48;2;255;175;243mlucy\x1B[49m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[49m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn bg_hex(text: String, colour: Int) -> String {
- run(
- text,
- code(
- [
- 48,
- 2,
- int.bitwise_shift_right(colour, 16)
- |> int.bitwise_and(0xff),
- int.bitwise_shift_right(colour, 8)
- |> int.bitwise_and(0xff),
- int.bitwise_and(colour, 0xff),
- ],
- 49,
- ),
- )
-}
-
-/// Colour the given text's background with the given colour represented by a `Colour`.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// import gleam_community/ansi
-/// import gleam_community/colour.{Colour}
-///
-/// fn example() {
-/// let pink = colour.from_hsl(0.8583, 1.0, 0,84)
-/// ansi.bg_colour("lucy", pink)
-/// // => "\x1B[48;2;255;175;243mlucy\x1B[49m"
-/// }
-/// ```
-///
-/// ❗️ Note the trailing `"\x1B[49m"` added to the string. This is the escape code
-/// for the "default" colour of the terminal. This means text you write after
-/// this will revert back to default.
-///
-/// ✨ `gleam_community/ansi` is smart about nested styles; instead of using the default
-/// colour, it will use the colour of the outter style.
-///
-/// ```gleam
-/// import gleam_community/ansi
-///
-/// fn example() {
-/// ansi.yellow("Isn't " <> ansi.pink("Gleam") <> " fun?")
-/// }
-/// ```
-///
-/// In this example, the text "Gleam" will be pink but the text "fun?" will be
-/// yellow, *not* the default colour!
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/ansi/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn bg_colour(text: String, colour: Colour) -> String {
- let hex_colour = gc_colour.to_rgb_hex(colour)
- bg_hex(text, hex_colour)
-}
-
-/// This is an alias for [`bg_colour`](#bg_colour) for those who prefer the American English
-/// spelling.
-///
-pub fn bg_color(text: String, colour: Colour) -> String {
- bg_colour(text, colour)
-}
diff --git a/aoc2023/build/packages/gleam_community_ansi/src/gleam_community@ansi.erl b/aoc2023/build/packages/gleam_community_ansi/src/gleam_community@ansi.erl
deleted file mode 100644
index 8b7a4c9..0000000
--- a/aoc2023/build/packages/gleam_community_ansi/src/gleam_community@ansi.erl
+++ /dev/null
@@ -1,263 +0,0 @@
--module(gleam_community@ansi).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([reset/1, bold/1, dim/1, italic/1, underline/1, inverse/1, hidden/1, strikethrough/1, black/1, red/1, green/1, yellow/1, blue/1, magenta/1, cyan/1, white/1, bright_black/1, grey/1, gray/1, bright_red/1, bright_green/1, bright_yellow/1, bright_blue/1, bright_magenta/1, bright_cyan/1, bright_white/1, hex/2, pink/1, colour/2, color/2, bg_black/1, bg_red/1, bg_green/1, bg_yellow/1, bg_blue/1, bg_magenta/1, bg_cyan/1, bg_white/1, bg_bright_black/1, bg_bright_red/1, bg_bright_green/1, bg_bright_yellow/1, bg_bright_blue/1, bg_bright_magenta/1, bg_bright_cyan/1, bg_bright_white/1, bg_hex/2, bg_pink/1, bg_colour/2, bg_color/2]).
--export_type([code/0]).
-
--type code() :: {code, binary(), binary(), binary()}.
-
--spec code(list(integer()), integer()) -> code().
-code(Open, Close) ->
- Close_str = gleam@int:to_string(Close),
- Open_strs = gleam@list:map(Open, fun gleam@int:to_string/1),
- {code,
- <<<<<<""/utf8, "["/utf8>>/binary,
- (gleam@string:join(Open_strs, <<";"/utf8>>))/binary>>/binary,
- "m"/utf8>>,
- <<<<<<""/utf8, "["/utf8>>/binary, Close_str/binary>>/binary, "m"/utf8>>,
- <<<<<<""/utf8, "["/utf8>>/binary, Close_str/binary>>/binary, "m"/utf8>>}.
-
--spec run(binary(), code()) -> binary().
-run(Text, Code) ->
- <<<<(erlang:element(2, Code))/binary,
- (gleam@string:replace(
- Text,
- erlang:element(4, Code),
- erlang:element(2, Code)
- ))/binary>>/binary,
- (erlang:element(3, Code))/binary>>.
-
--spec reset(binary()) -> binary().
-reset(Text) ->
- run(Text, code([0], 0)).
-
--spec bold(binary()) -> binary().
-bold(Text) ->
- run(Text, code([1], 22)).
-
--spec dim(binary()) -> binary().
-dim(Text) ->
- run(Text, code([2], 22)).
-
--spec italic(binary()) -> binary().
-italic(Text) ->
- run(Text, code([3], 23)).
-
--spec underline(binary()) -> binary().
-underline(Text) ->
- run(Text, code([4], 24)).
-
--spec inverse(binary()) -> binary().
-inverse(Text) ->
- run(Text, code([7], 27)).
-
--spec hidden(binary()) -> binary().
-hidden(Text) ->
- run(Text, code([8], 28)).
-
--spec strikethrough(binary()) -> binary().
-strikethrough(Text) ->
- run(Text, code([9], 29)).
-
--spec black(binary()) -> binary().
-black(Text) ->
- run(Text, code([30], 39)).
-
--spec red(binary()) -> binary().
-red(Text) ->
- run(Text, code([31], 39)).
-
--spec green(binary()) -> binary().
-green(Text) ->
- run(Text, code([32], 39)).
-
--spec yellow(binary()) -> binary().
-yellow(Text) ->
- run(Text, code([33], 39)).
-
--spec blue(binary()) -> binary().
-blue(Text) ->
- run(Text, code([34], 39)).
-
--spec magenta(binary()) -> binary().
-magenta(Text) ->
- run(Text, code([35], 39)).
-
--spec cyan(binary()) -> binary().
-cyan(Text) ->
- run(Text, code([36], 39)).
-
--spec white(binary()) -> binary().
-white(Text) ->
- run(Text, code([37], 39)).
-
--spec bright_black(binary()) -> binary().
-bright_black(Text) ->
- run(Text, code([90], 39)).
-
--spec grey(binary()) -> binary().
-grey(Text) ->
- bright_black(Text).
-
--spec gray(binary()) -> binary().
-gray(Text) ->
- bright_black(Text).
-
--spec bright_red(binary()) -> binary().
-bright_red(Text) ->
- run(Text, code([91], 39)).
-
--spec bright_green(binary()) -> binary().
-bright_green(Text) ->
- run(Text, code([92], 39)).
-
--spec bright_yellow(binary()) -> binary().
-bright_yellow(Text) ->
- run(Text, code([93], 39)).
-
--spec bright_blue(binary()) -> binary().
-bright_blue(Text) ->
- run(Text, code([94], 39)).
-
--spec bright_magenta(binary()) -> binary().
-bright_magenta(Text) ->
- run(Text, code([95], 39)).
-
--spec bright_cyan(binary()) -> binary().
-bright_cyan(Text) ->
- run(Text, code([96], 39)).
-
--spec bright_white(binary()) -> binary().
-bright_white(Text) ->
- run(Text, code([97], 39)).
-
--spec hex(binary(), integer()) -> binary().
-hex(Text, Colour) ->
- Colour@1 = gleam@int:clamp(Colour, 16#0, 16#ffffff),
- run(
- Text,
- code(
- [38,
- 2,
- begin
- _pipe = erlang:'bsr'(Colour@1, 16),
- erlang:'band'(_pipe, 16#ff)
- end,
- begin
- _pipe@1 = erlang:'bsr'(Colour@1, 8),
- erlang:'band'(_pipe@1, 16#ff)
- end,
- erlang:'band'(Colour@1, 16#ff)],
- 39
- )
- ).
-
--spec pink(binary()) -> binary().
-pink(Text) ->
- hex(Text, 16#ffaff3).
-
--spec colour(binary(), gleam_community@colour:colour()) -> binary().
-colour(Text, Colour) ->
- Hex_colour = gleam_community@colour:to_rgb_hex(Colour),
- hex(Text, Hex_colour).
-
--spec color(binary(), gleam_community@colour:colour()) -> binary().
-color(Text, Color) ->
- colour(Text, Color).
-
--spec bg_black(binary()) -> binary().
-bg_black(Text) ->
- run(Text, code([40], 49)).
-
--spec bg_red(binary()) -> binary().
-bg_red(Text) ->
- run(Text, code([41], 49)).
-
--spec bg_green(binary()) -> binary().
-bg_green(Text) ->
- run(Text, code([42], 49)).
-
--spec bg_yellow(binary()) -> binary().
-bg_yellow(Text) ->
- run(Text, code([43], 49)).
-
--spec bg_blue(binary()) -> binary().
-bg_blue(Text) ->
- run(Text, code([44], 49)).
-
--spec bg_magenta(binary()) -> binary().
-bg_magenta(Text) ->
- run(Text, code([45], 49)).
-
--spec bg_cyan(binary()) -> binary().
-bg_cyan(Text) ->
- run(Text, code([46], 49)).
-
--spec bg_white(binary()) -> binary().
-bg_white(Text) ->
- run(Text, code([47], 49)).
-
--spec bg_bright_black(binary()) -> binary().
-bg_bright_black(Text) ->
- run(Text, code([100], 49)).
-
--spec bg_bright_red(binary()) -> binary().
-bg_bright_red(Text) ->
- run(Text, code([101], 49)).
-
--spec bg_bright_green(binary()) -> binary().
-bg_bright_green(Text) ->
- run(Text, code([102], 49)).
-
--spec bg_bright_yellow(binary()) -> binary().
-bg_bright_yellow(Text) ->
- run(Text, code([103], 49)).
-
--spec bg_bright_blue(binary()) -> binary().
-bg_bright_blue(Text) ->
- run(Text, code([104], 49)).
-
--spec bg_bright_magenta(binary()) -> binary().
-bg_bright_magenta(Text) ->
- run(Text, code([105], 49)).
-
--spec bg_bright_cyan(binary()) -> binary().
-bg_bright_cyan(Text) ->
- run(Text, code([106], 49)).
-
--spec bg_bright_white(binary()) -> binary().
-bg_bright_white(Text) ->
- run(Text, code([107], 49)).
-
--spec bg_hex(binary(), integer()) -> binary().
-bg_hex(Text, Colour) ->
- run(
- Text,
- code(
- [48,
- 2,
- begin
- _pipe = erlang:'bsr'(Colour, 16),
- erlang:'band'(_pipe, 16#ff)
- end,
- begin
- _pipe@1 = erlang:'bsr'(Colour, 8),
- erlang:'band'(_pipe@1, 16#ff)
- end,
- erlang:'band'(Colour, 16#ff)],
- 49
- )
- ).
-
--spec bg_pink(binary()) -> binary().
-bg_pink(Text) ->
- bg_hex(Text, 16#ffaff3).
-
--spec bg_colour(binary(), gleam_community@colour:colour()) -> binary().
-bg_colour(Text, Colour) ->
- Hex_colour = gleam_community@colour:to_rgb_hex(Colour),
- bg_hex(Text, Hex_colour).
-
--spec bg_color(binary(), gleam_community@colour:colour()) -> binary().
-bg_color(Text, Colour) ->
- bg_colour(Text, Colour).
diff --git a/aoc2023/build/packages/gleam_community_ansi/src/gleam_community_ansi.app.src b/aoc2023/build/packages/gleam_community_ansi/src/gleam_community_ansi.app.src
deleted file mode 100644
index dfcfdc3..0000000
--- a/aoc2023/build/packages/gleam_community_ansi/src/gleam_community_ansi.app.src
+++ /dev/null
@@ -1,9 +0,0 @@
-{application, gleam_community_ansi, [
- {vsn, "1.2.0"},
- {applications, [gleam_community_colour,
- gleam_stdlib,
- gleeunit]},
- {description, "ANSI colours, formatting, and control codes"},
- {modules, [gleam_community@ansi]},
- {registered, []}
-]}.
diff --git a/aoc2023/build/packages/gleam_community_colour/LICENCE b/aoc2023/build/packages/gleam_community_colour/LICENCE
deleted file mode 100644
index a84f0ec..0000000
--- a/aoc2023/build/packages/gleam_community_colour/LICENCE
+++ /dev/null
@@ -1,190 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- Copyright 2023 Gleam Community Contributors
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License. \ No newline at end of file
diff --git a/aoc2023/build/packages/gleam_community_colour/README.md b/aoc2023/build/packages/gleam_community_colour/README.md
deleted file mode 100644
index 0eccdd7..0000000
--- a/aoc2023/build/packages/gleam_community_colour/README.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# gleam-community/colour
-
-A package for a standard Colour type, conversions, and other utilities.
-
-[![Package Version](https://img.shields.io/hexpm/v/gleam_community_colour)](https://hex.pm/packages/gleam_community_colour)
-[![Hex Docs](https://img.shields.io/badge/hex-docs-ffaff3)](https://hexdocs.pm/gleam_community_colour/)
-
-✨ This project is written in pure Gleam so you can use it anywhere Gleam runs: Erlang, Elixir, Node, Deno, and the browser!
-
----
-
-## Quickstart
-
-```gleam
-import gleam_community/colour
-import gleam_community/colour/accessibility
-
-pub fn main() {
- let foreground = colour.from_hsl(h: 0.858, s: 1.0, l: 0.843)
-
- let background_options = [colour.light_grey, colour.dark_grey]
-
- let background = accessibility.maximum_contrast(foreground, background_options)
-}
-```
-
-## Installation
-
-`gleam_community` packages are published to [hex.pm](https://hex.pm/packages/gleam_community_colour)
-with the prefix `gleam_community_`. You can add them to your Gleam projects directly:
-
-```sh
-gleam add gleam_community_colour
-```
-
-The docs can be found over at [hexdocs.pm](https://hexdocs.pm/gleam_community_colour).
diff --git a/aoc2023/build/packages/gleam_community_colour/gleam.toml b/aoc2023/build/packages/gleam_community_colour/gleam.toml
deleted file mode 100644
index 07a81bf..0000000
--- a/aoc2023/build/packages/gleam_community_colour/gleam.toml
+++ /dev/null
@@ -1,11 +0,0 @@
-name = "gleam_community_colour"
-version = "1.2.0"
-licences = ["Apache-2.0"]
-description = "Colour types, conversions, and other utilities"
-repository = { type = "github", user = "gleam-community", repo = "colour" }
-
-[dependencies]
-gleam_stdlib = "~> 0.32"
-
-[dev-dependencies]
-gleeunit = "~> 0.11"
diff --git a/aoc2023/build/packages/gleam_community_colour/include/gleam_community@colour_Hsla.hrl b/aoc2023/build/packages/gleam_community_colour/include/gleam_community@colour_Hsla.hrl
deleted file mode 100644
index 06116df..0000000
--- a/aoc2023/build/packages/gleam_community_colour/include/gleam_community@colour_Hsla.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(hsla, {h :: float(), s :: float(), l :: float(), a :: float()}).
diff --git a/aoc2023/build/packages/gleam_community_colour/include/gleam_community@colour_Rgba.hrl b/aoc2023/build/packages/gleam_community_colour/include/gleam_community@colour_Rgba.hrl
deleted file mode 100644
index fff139e..0000000
--- a/aoc2023/build/packages/gleam_community_colour/include/gleam_community@colour_Rgba.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(rgba, {r :: float(), g :: float(), b :: float(), a :: float()}).
diff --git a/aoc2023/build/packages/gleam_community_colour/src/gleam_community/colour.gleam b/aoc2023/build/packages/gleam_community_colour/src/gleam_community/colour.gleam
deleted file mode 100644
index 1f5872f..0000000
--- a/aoc2023/build/packages/gleam_community_colour/src/gleam_community/colour.gleam
+++ /dev/null
@@ -1,1126 +0,0 @@
-////
-//// - **Types**
-//// - [`Colour`](#Colour)
-//// - [`Color`](#Color)
-//// - **Constructors**
-//// - [`from_rgb255`](#from_rgb255)
-//// - [`from_rgb`](#from_rgb)
-//// - [`from_rgba`](#from_rgba)
-//// - [`from_hsl`](#from_hsl)
-//// - [`from_hsla`](#from_hsla)
-//// - [`from_rgb_hex`](#from_rgb_hex)
-//// - [`from_rgba_hex`](#from_rgba_hex)
-//// - [`from_rgb_hex_string`](#from_rgb_hex_string)
-//// - [`from_rgba_hex_string`](#from_rgba_hex_string)
-//// - **Conversions**
-//// - [`to_rgba`](#to_rgba)
-//// - [`to_hsla`](#hsla)
-//// - [`to_css_rgba_string`](#to_css_rgba_string)
-//// - [`to_rgba_hex_string`](#to_rgba_hex_string)
-//// - [`to_rgb_hex_string`](#to_rgb_hex_string)
-//// - [`to_rgba_hex`](#to_rgba_hex)
-//// - [`to_rgb_hex`](#to_rgb_hex)
-//// - **Colours**
-//// - [`light_red`](#light_red)
-//// - [`red`](#red)
-//// - [`dark_red`](#dark_red)
-//// - [`light_orange`](#light_orange)
-//// - [`orange`](#orange)
-//// - [`dark_orange`](#dark_orange)
-//// - [`light_yellow`](#light_yellow)
-//// - [`yellow`](#yellow)
-//// - [`dark_yellow`](#dark_yellow)
-//// - [`light_green`](#light_green)
-//// - [`green`](#green)
-//// - [`dark_green`](#dark_green)
-//// - [`light_blue`](#light_blue)
-//// - [`blue`](#blue)
-//// - [`dark_blue`](#dark_blue)
-//// - [`light_purple`](#light_purple)
-//// - [`purple`](#purple)
-//// - [`dark_purple`](#dark_purple)
-//// - [`light_brown`](#light_brown)
-//// - [`brown`](#brown)
-//// - [`dark_brown`](#dark_brown)
-//// - [`black`](#black)
-//// - [`white`](#white)
-//// - [`light_grey`](#light_grey)
-//// - [`grey`](#grey)
-//// - [`dark_grey`](#dark_grey)
-//// - [`light_gray`](#light_gray)
-//// - [`gray`](#gray)
-//// - [`dark_gray`](#dark_gray)
-//// - [`light_charcoal`](#light_charcoal)
-//// - [`charcoal`](#charcoal)
-//// - [`dark_charcoal`](#dark_charcoal)
-//// - [`pink`](#pink)
-////
-//// ---
-////
-//// This package was heavily inspired by the `elm-color` module.
-//// The original source code can be found
-//// <a href="https://github.com/avh4/elm-color/">here</a>.
-////
-//// <details>
-//// <summary>The license of that package is produced below:</summary>
-////
-////
-//// > MIT License
-////
-//// > Copyright 2018 Aaron VonderHaar
-////
-//// > Redistribution and use in source and binary forms, with or without modification,
-//// are permitted provided that the following conditions are met:
-////
-//// 1. Redistributions of source code must retain the above copyright notice,
-//// this list of conditions and the following disclaimer.
-////
-//// 2. Redistributions in binary form must reproduce the above copyright notice,
-//// this list of conditions and the following disclaimer in the documentation
-//// and/or other materials provided with the distribution.
-////
-//// 3. Neither the name of the copyright holder nor the names of its contributors
-//// may be used to endorse or promote products derived from this software without
-//// specific prior written permission.
-////
-//// > THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-//// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-//// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
-//// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-//// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-//// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-//// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-//// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-////
-//// > The above copyright notice and this permission notice shall be included in all
-//// copies or substantial portions of the Software.
-//// </details>
-////
-
-// Just in case we decide in the future to no longer include the above reference
-// and license, this package was initially a port of the `elm-color` module:
-//
-// https://github.com/avh4/elm-color/
-//
-
-// IMPORTS --------------------------------------------------------------------
-
-import gleam/int
-import gleam/float
-import gleam/result
-import gleam/string
-import gleam/list
-
-// TYPES ----------------------------------------------------------------------
-
-/// A representation of a colour that can be converted to RGBA or HSLA format.
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/colour/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-/// </br>
-///
-pub opaque type Colour {
- Rgba(r: Float, g: Float, b: Float, a: Float)
- Hsla(h: Float, s: Float, l: Float, a: Float)
-}
-
-/// Type alias for `Colour`
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/colour/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-/// </br>
-///
-pub type Color =
- Colour
-
-// UTILITY --------------------------------------------------------------------
-
-fn valid_colour_value(c: Float) -> Result(Float, Nil) {
- case c >. 1.0 || c <. 0.0 {
- True -> Error(Nil)
- False -> Ok(c)
- }
-}
-
-fn hue_to_rgb(hue: Float, m1: Float, m2: Float) -> Float {
- let h = case hue {
- _ if hue <. 0.0 -> hue +. 1.0
- _ if hue >. 1.0 -> hue -. 1.0
- _ -> hue
- }
-
- let h_t_6 = h *. 6.0
- let h_t_2 = h *. 2.0
- let h_t_3 = h *. 3.0
-
- case h {
- _ if h_t_6 <. 1.0 -> m1 +. { m2 -. m1 } *. h *. 6.0
- _ if h_t_2 <. 1.0 -> m2
- _ if h_t_3 <. 2.0 -> m1 +. { m2 -. m1 } *. { 2.0 /. 3.0 -. h } *. 6.0
- _ -> m1
- }
-}
-
-fn hex_string_to_int(hex_string: String) -> Result(Int, Nil) {
- let hex = case hex_string {
- "#" <> hex_number -> hex_number
- "0x" <> hex_number -> hex_number
- _ -> hex_string
- }
-
- hex
- |> string.lowercase()
- |> string.to_graphemes()
- |> list.reverse()
- |> list.index_fold(
- Ok(0),
- fn(total, char, index) {
- case total {
- Error(Nil) -> Error(Nil)
- Ok(v) -> {
- use num <- result.then(case char {
- "a" -> Ok(10)
- "b" -> Ok(11)
- "c" -> Ok(12)
- "d" -> Ok(13)
- "e" -> Ok(14)
- "f" -> Ok(15)
- _ -> int.parse(char)
- })
- use base <- result.then(int.power(16, int.to_float(index)))
- Ok(v + float.round(int.to_float(num) *. base))
- }
- }
- },
- )
-}
-
-fn hsla_to_rgba(
- h: Float,
- s: Float,
- l: Float,
- a: Float,
-) -> #(Float, Float, Float, Float) {
- let m2 = case l <=. 0.5 {
- True -> l *. { s +. 1.0 }
- False -> l +. s -. l *. s
- }
-
- let m1 = l *. 2.0 -. m2
-
- let r = hue_to_rgb(h +. 1.0 /. 3.0, m1, m2)
- let g = hue_to_rgb(h, m1, m2)
- let b = hue_to_rgb(h -. 1.0 /. 3.0, m1, m2)
-
- #(r, g, b, a)
-}
-
-fn rgba_to_hsla(
- r: Float,
- g: Float,
- b: Float,
- a: Float,
-) -> #(Float, Float, Float, Float) {
- let min_colour = float.min(r, float.min(g, b))
-
- let max_colour = float.max(r, float.max(g, b))
-
- let h1 = case True {
- _ if max_colour == r -> float.divide(g -. b, max_colour -. min_colour)
- _ if max_colour == g ->
- float.divide(b -. r, max_colour -. min_colour)
- |> result.then(fn(d) { Ok(2.0 +. d) })
- _ ->
- float.divide(r -. g, max_colour -. min_colour)
- |> result.then(fn(d) { Ok(4.0 +. d) })
- }
-
- let h2 = case h1 {
- Ok(v) -> Ok(v *. { 1.0 /. 6.0 })
- _ -> h1
- }
-
- let h3 = case h2 {
- Ok(v) if v <. 0.0 -> v +. 1.0
- Ok(v) -> v
- _ -> 0.0
- }
-
- let l = { min_colour +. max_colour } /. 2.0
-
- let s = case True {
- _ if min_colour == max_colour -> 0.0
- _ if l <. 0.5 ->
- { max_colour -. min_colour } /. { max_colour +. min_colour }
- _ -> { max_colour -. min_colour } /. { 2.0 -. max_colour -. min_colour }
- }
-
- #(h3, s, l, a)
-}
-
-// CONSTRUCTORS ---------------------------------------------------------------
-
-/// Returns a `Result(Colour)` created from the given 8 bit RGB values.
-///
-/// Returns `Error(Nil)` if the supplied RGB values are greater than 255 or less than 0.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// fn example() {
-/// assert Ok(red) = from_rgb255(255, 0, 0)
-/// }
-/// ```
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/colour/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn from_rgb255(r red: Int, g green: Int, b blue: Int) -> Result(Colour, Nil) {
- use r <- result.then(
- red
- |> int.to_float()
- |> float.divide(255.0)
- |> result.then(valid_colour_value),
- )
-
- use g <- result.then(
- green
- |> int.to_float()
- |> float.divide(255.0)
- |> result.then(valid_colour_value),
- )
-
- use b <- result.then(
- blue
- |> int.to_float()
- |> float.divide(255.0)
- |> result.then(valid_colour_value),
- )
-
- Ok(Rgba(r: r, g: g, b: b, a: 1.0))
-}
-
-/// Returns `Result(Colour)` created from the given RGB values.
-///
-/// If the supplied RGB values are greater than 1.0 or less than 0.0 returns `Error(Nil)`
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// fn example() {
-/// assert Ok(red) = from_rgb(1.0, 0.0, 0.0)
-/// }
-/// ```
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/colour/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn from_rgb(
- r red: Float,
- g green: Float,
- b blue: Float,
-) -> Result(Colour, Nil) {
- use r <- result.then(valid_colour_value(red))
- use g <- result.then(valid_colour_value(green))
- use b <- result.then(valid_colour_value(blue))
-
- Ok(Rgba(r: r, g: g, b: b, a: 1.0))
-}
-
-/// Returns `Result(Colour)` created from the given RGBA values.
-///
-/// Returns `Error(Nil)` if the supplied RGBA values are greater than 1.0 or less than 0.0.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// fn example() {
-/// assert Ok(red_half_opacity) = from_rbga(1.0, 0.0, 0.0, 0.5)
-/// }
-/// ```
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/colour/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn from_rgba(
- r red: Float,
- g green: Float,
- b blue: Float,
- a alpha: Float,
-) -> Result(Colour, Nil) {
- use r <- result.then(valid_colour_value(red))
- use g <- result.then(valid_colour_value(green))
- use b <- result.then(valid_colour_value(blue))
- use a <- result.then(valid_colour_value(alpha))
-
- Ok(Rgba(r: r, g: g, b: b, a: a))
-}
-
-/// Returns `Result(Colour)` created from the given HSLA values.
-///
-/// Returns `Error(Nil)`f the supplied HSLA values are greater than 1.0 or less than 0.0.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// fn example() {
-/// assert Ok(red_half_opacity) = from_hsla(0.0, 1.0, 0.5, 0.5)
-/// }
-/// ```
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/colour/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn from_hsla(
- h hue: Float,
- s saturation: Float,
- l lightness: Float,
- a alpha: Float,
-) -> Result(Colour, Nil) {
- use h <- result.then(valid_colour_value(hue))
- use s <- result.then(valid_colour_value(saturation))
- use l <- result.then(valid_colour_value(lightness))
- use a <- result.then(valid_colour_value(alpha))
-
- Ok(Hsla(h: h, s: s, l: l, a: a))
-}
-
-/// Returns `Result(Colour)` created from the given HSL values.
-///
-/// Returns `Error(Nil)` if the supplied HSL values are greater than 1.0 or less than 0.0.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// fn example() {
-/// assert Ok(red) = from_hsla(0.0, 1.0, 0.5)
-/// }
-/// ```
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/colour/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn from_hsl(
- h hue: Float,
- s saturation: Float,
- l lightness: Float,
-) -> Result(Colour, Nil) {
- from_hsla(hue, saturation, lightness, 1.0)
-}
-
-/// Returns a `Result(Colour)` created from the given hex `Int`.
-///
-/// Returns `Error(Nil)` if the supplied hex `Int is greater than 0xffffff or less than 0x0.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// fn example() {
-/// assert Ok(red) = from_rgb_hex(0xff0000)
-/// }
-/// ```
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/colour/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn from_rgb_hex(hex: Int) -> Result(Colour, Nil) {
- case hex > 0xffffff || hex < 0 {
- True -> Error(Nil)
- False -> {
- let r =
- int.bitwise_shift_right(hex, 16)
- |> int.bitwise_and(0xff)
- let g =
- int.bitwise_shift_right(hex, 8)
- |> int.bitwise_and(0xff)
- let b = int.bitwise_and(hex, 0xff)
- from_rgb255(r, g, b)
- }
- }
-}
-
-/// Returns a `Result(Colour)` created from the given RGB hex `String`.
-///
-/// Returns `Error(Nil)` if the supplied hex `String` is invalid, or greater than `"#ffffff" or less than `"#0"`
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// fn example() {
-/// assert Ok(red) = from_rgb_hex_string("#ff0000")
-/// }
-/// ```
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/colour/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn from_rgb_hex_string(hex_string: String) -> Result(Colour, Nil) {
- use hex_int <- result.then(hex_string_to_int(hex_string))
-
- from_rgb_hex(hex_int)
-}
-
-/// Returns a `Result(Colour)` created from the given RGBA hex `String`.
-///
-/// Returns `Error(Nil)` if the supplied hex `String` is invalid, or greater than `"#ffffffff" or less than `"#0"`
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// fn example() {
-/// assert Ok(red_half_opacity) = from_rgba_hex_string("#ff00007f")
-/// }
-/// ```
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/colour/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn from_rgba_hex_string(hex_string: String) -> Result(Colour, Nil) {
- use hex_int <- result.then(hex_string_to_int(hex_string))
-
- from_rgba_hex(hex_int)
-}
-
-/// Returns a `Result(Colour)` created from the given hex `Int`.
-///
-/// Returns `Error(Nil)` if the supplied hex `Int is greater than 0xffffffff or less than 0x0.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// fn example() {
-/// assert Ok(red_half_opacity) = from_rgba_hex(0xff00007f)
-/// }
-/// ```
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/colour/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn from_rgba_hex(hex: Int) -> Result(Colour, Nil) {
- case hex > 0xffffffff || hex < 0 {
- True -> Error(Nil)
- False -> {
- // This won't fail because we are always dividing by 255.0
- let assert Ok(r) =
- int.bitwise_shift_right(hex, 24)
- |> int.bitwise_and(0xff)
- |> int.to_float()
- |> float.divide(255.0)
- // This won't fail because we are always dividing by 255.0
- let assert Ok(g) =
- int.bitwise_shift_right(hex, 16)
- |> int.bitwise_and(0xff)
- |> int.to_float()
- |> float.divide(255.0)
- // This won't fail because we are always dividing by 255.0
- let assert Ok(b) =
- int.bitwise_shift_right(hex, 8)
- |> int.bitwise_and(0xff)
- |> int.to_float()
- |> float.divide(255.0)
- // This won't fail because we are always dividing by 255.0
- let assert Ok(a) =
- int.bitwise_and(hex, 0xff)
- |> int.to_float()
- |> float.divide(255.0)
- from_rgba(r, g, b, a)
- }
- }
-}
-
-// CONVERSIONS ----------------------------------------------------------------
-
-/// Returns `#(Float, Float, Float, Float)` representing the given `Colour`'s
-/// R, G, B, and A values respectively.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// fn example() {
-/// assert Ok(red) = from_rgb255(255, 0, 0)
-/// let #(r, g, b, a) = to_rgba(red)
-/// }
-/// ```
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/colour/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn to_rgba(colour: Colour) -> #(Float, Float, Float, Float) {
- case colour {
- Rgba(r, g, b, a) -> #(r, g, b, a)
- Hsla(h, s, l, a) -> hsla_to_rgba(h, s, l, a)
- }
-}
-
-/// Returns `#(Float, Float, Float, Float)` representing the given `Colour`'s
-/// H, S, L, and A values respectively.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// fn example() {
-/// assert Ok(red) = from_rgb255(255, 0, 0)
-/// let #(h, s, l, a) = to_hsla(red)
-/// }
-/// ```
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/colour/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn to_hsla(colour: Colour) -> #(Float, Float, Float, Float) {
- case colour {
- Hsla(h, s, l, a) -> #(h, s, l, a)
- Rgba(r, g, b, a) -> rgba_to_hsla(r, g, b, a)
- }
-}
-
-/// Returns an rgba formatted CSS `String` created from the given `Colour`.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// fn example() {
-/// assert Ok(red) = from_rgb255(255, 0, 0)
-/// let css_red = to_css_rgba_string(red)
-/// }
-/// ```
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/colour/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn to_css_rgba_string(colour: Colour) -> String {
- let #(r, g, b, a) = to_rgba(colour)
-
- let percent = fn(x: Float) -> Float {
- // This won't fail because we are always dividing by 100.0
- let assert Ok(p) =
- x
- |> float.multiply(10_000.0)
- |> float.round()
- |> int.to_float()
- |> float.divide(100.0)
-
- p
- }
-
- let round_to = fn(x: Float) -> Float {
- // This won't fail because we are always dividing by 1000.0
- let assert Ok(r) =
- x
- |> float.multiply(1000.0)
- |> float.round()
- |> int.to_float()
- |> float.divide(1000.0)
-
- r
- }
-
- string.join(
- [
- "rgba(",
- float.to_string(percent(r)) <> "%,",
- float.to_string(percent(g)) <> "%,",
- float.to_string(percent(b)) <> "%,",
- float.to_string(round_to(a)),
- ")",
- ],
- "",
- )
-}
-
-/// Returns an rgba hex formatted `String` created from the given `Colour`.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// fn example() {
-/// assert Ok(red) = from_rgba(1.0, 0.0, 0.0, 1.0)
-/// let red_hex = to_rgba_hex_string(red)
-/// }
-/// ```
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/colour/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn to_rgba_hex_string(colour: Colour) -> String {
- to_rgba_hex(colour)
- |> int.to_base16()
-}
-
-/// Returns an rgb hex formatted `String` created from the given `Colour`.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// fn example() {
-/// assert Ok(red) = from_rgba(255, 0, 0)
-/// let red_hex = to_rgb_hex_string(red)
-/// }
-/// ```
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/colour/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn to_rgb_hex_string(colour: Colour) -> String {
- to_rgb_hex(colour)
- |> int.to_base16()
-}
-
-/// Returns an hex `Int` created from the given `Colour`.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// fn example() {
-/// assert Ok(red) = from_rgba(1.0, 0.0, 0.0, 1.0)
-/// let red_hex_int = to_rgba_hex(red)
-/// }
-/// ```
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/colour/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn to_rgba_hex(colour: Colour) -> Int {
- let #(r, g, b, a) = to_rgba(colour)
-
- let red =
- r *. 255.0
- |> float.round()
- |> int.bitwise_shift_left(24)
-
- let green =
- g *. 255.0
- |> float.round()
- |> int.bitwise_shift_left(16)
-
- let blue =
- b *. 255.0
- |> float.round()
- |> int.bitwise_shift_left(8)
-
- let alpha =
- a *. 255.0
- |> float.round()
-
- red + green + blue + alpha
-}
-
-/// Returns a rgb hex `Int` created from the given `Colour`.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// fn example() {
-/// assert Ok(red) = from_rgba(255, 0, 0)
-/// let red_hex_int = to_rgb_hex(red)
-/// }
-/// ```
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/colour/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn to_rgb_hex(colour: Colour) -> Int {
- let #(r, g, b, _) = to_rgba(colour)
-
- let red =
- r *. 255.0
- |> float.round()
- |> int.bitwise_shift_left(16)
-
- let green =
- g *. 255.0
- |> float.round()
- |> int.bitwise_shift_left(8)
-
- let blue =
- b *. 255.0
- |> float.round()
-
- red + green + blue
-}
-
-// COLOURS --------------------------------------------------------------------
-
-/// A `Colour` reprsenting the colour RGBA(239, 41, 41, 1.0)
-pub const light_red = Rgba(
- r: 0.9372549019607843,
- g: 0.1607843137254902,
- b: 0.1607843137254902,
- a: 1.0,
-)
-
-/// A `Colour` reprsenting the colour RGBA(204, 0, 0, 1.0)
-pub const red = Rgba(r: 0.8, g: 0.0, b: 0.0, a: 1.0)
-
-/// A `Colour` reprsenting the colour RGBA(164, 0, 0, 1.0)
-pub const dark_red = Rgba(r: 0.6431372549019608, g: 0.0, b: 0.0, a: 1.0)
-
-/// A `Colour` reprsenting the colour RGBA(252, 175, 62, 1.0)
-pub const light_orange = Rgba(
- r: 0.9882352941176471,
- g: 0.6862745098039216,
- b: 0.24313725490196078,
- a: 1.0,
-)
-
-/// A `Colour` reprsenting the colour RGBA(245, 121, 0, 1.0)
-pub const orange = Rgba(
- r: 0.9607843137254902,
- g: 0.4745098039215686,
- b: 0.0,
- a: 1.0,
-)
-
-/// A `Colour` reprsenting the colour RGBA(206, 92, 0, 1.0)
-pub const dark_orange = Rgba(
- r: 0.807843137254902,
- g: 0.3607843137254902,
- b: 0.0,
- a: 1.0,
-)
-
-/// A `Colour` reprsenting the colour RGBA(255, 233, 79, 1.0)
-pub const light_yellow = Rgba(
- r: 1.0,
- g: 0.9137254901960784,
- b: 0.30980392156862746,
- a: 1.0,
-)
-
-/// A `Colour` reprsenting the colour RGBA(237, 212, 0, 1.0)
-pub const yellow = Rgba(
- r: 0.9294117647058824,
- g: 0.8313725490196079,
- b: 0.0,
- a: 1.0,
-)
-
-/// A `Colour` reprsenting the colour RGBA(196, 160, 0, 1.0)
-pub const dark_yellow = Rgba(
- r: 0.7686274509803922,
- g: 0.6274509803921569,
- b: 0.0,
- a: 1.0,
-)
-
-/// A `Colour` reprsenting the colour RGBA(138, 226, 52, 1.0)
-pub const light_green = Rgba(
- r: 0.5411764705882353,
- g: 0.8862745098039215,
- b: 0.20392156862745098,
- a: 1.0,
-)
-
-/// A `Colour` reprsenting the colour RGBA(115, 210, 22, 1.0)
-pub const green = Rgba(
- r: 0.45098039215686275,
- g: 0.8235294117647058,
- b: 0.08627450980392157,
- a: 1.0,
-)
-
-/// A `Colour` reprsenting the colour RGBA(78, 154, 6, 1.0)
-pub const dark_green = Rgba(
- r: 0.3058823529411765,
- g: 0.6039215686274509,
- b: 0.023529411764705882,
- a: 1.0,
-)
-
-/// A `Colour` reprsenting the colour RGBA(114, 159, 207, 1.0)
-pub const light_blue = Rgba(
- r: 0.4470588235294118,
- g: 0.6235294117647059,
- b: 0.8117647058823529,
- a: 1.0,
-)
-
-/// A `Colour` reprsenting the colour RGBA(52, 101, 164, 1.0)
-pub const blue = Rgba(
- r: 0.20392156862745098,
- g: 0.396078431372549,
- b: 0.6431372549019608,
- a: 1.0,
-)
-
-/// A `Colour` reprsenting the colour RGBA(32, 74, 135, 1.0)
-pub const dark_blue = Rgba(
- r: 0.12549019607843137,
- g: 0.2901960784313726,
- b: 0.5294117647058824,
- a: 1.0,
-)
-
-/// A `Colour` reprsenting the colour RGBA(173, 127, 168, 1.0)
-pub const light_purple = Rgba(
- r: 0.6784313725490196,
- g: 0.4980392156862745,
- b: 0.6588235294117647,
- a: 1.0,
-)
-
-/// A `Colour` reprsenting the colour RGBA(117, 80, 123, 1.0)
-pub const purple = Rgba(
- r: 0.4588235294117647,
- g: 0.3137254901960784,
- b: 0.4823529411764706,
- a: 1.0,
-)
-
-/// A `Colour` reprsenting the colour RGBA(92, 53, 102, 1.0)
-pub const dark_purple = Rgba(
- r: 0.3607843137254902,
- g: 0.20784313725490197,
- b: 0.4,
- a: 1.0,
-)
-
-/// A `Colour` reprsenting the colour RGBA(233, 185, 110, 1.0)
-pub const light_brown = Rgba(
- r: 0.9137254901960784,
- g: 0.7254901960784313,
- b: 0.43137254901960786,
- a: 1.0,
-)
-
-/// A `Colour` reprsenting the colour RGBA(193, 125, 17, 1.0)
-pub const brown = Rgba(
- r: 0.7568627450980392,
- g: 0.49019607843137253,
- b: 0.06666666666666667,
- a: 1.0,
-)
-
-/// A `Colour` reprsenting the colour RGBA(143, 89, 2, 1.0)
-pub const dark_brown = Rgba(
- r: 0.5607843137254902,
- g: 0.34901960784313724,
- b: 0.00784313725490196,
- a: 1.0,
-)
-
-/// A `Colour` reprsenting the colour RGBA(0, 0, 0, 1.0)
-pub const black = Rgba(r: 0.0, g: 0.0, b: 0.0, a: 1.0)
-
-/// A `Colour` reprsenting the colour RGBA(255, 255, 255, 1.0)
-pub const white = Rgba(r: 1.0, g: 1.0, b: 1.0, a: 1.0)
-
-/// A `Colour` reprsenting the colour RGBA(238, 238, 236, 1.0)
-pub const light_grey = Rgba(
- r: 0.9333333333333333,
- g: 0.9333333333333333,
- b: 0.9254901960784314,
- a: 1.0,
-)
-
-/// A `Colour` reprsenting the colour RGBA(211, 215, 207, 1.0)
-pub const grey = Rgba(
- r: 0.8274509803921568,
- g: 0.8431372549019608,
- b: 0.8117647058823529,
- a: 1.0,
-)
-
-/// A `Colour` reprsenting the colour RGBA(186, 189, 182, 1.0)
-pub const dark_grey = Rgba(
- r: 0.7294117647058823,
- g: 0.7411764705882353,
- b: 0.7137254901960784,
- a: 1.0,
-)
-
-/// A `Colour` reprsenting the colour RGBA(238, 238, 236, 1.0)
-pub const light_gray = Rgba(
- r: 0.9333333333333333,
- g: 0.9333333333333333,
- b: 0.9254901960784314,
- a: 1.0,
-)
-
-/// A `Colour` reprsenting the colour RGBA(211, 215, 207, 1.0)
-pub const gray = Rgba(
- r: 0.8274509803921568,
- g: 0.8431372549019608,
- b: 0.8117647058823529,
- a: 1.0,
-)
-
-/// A `Colour` reprsenting the colour RGBA(186, 189, 182, 1.0)
-pub const dark_gray = Rgba(
- r: 0.7294117647058823,
- g: 0.7411764705882353,
- b: 0.7137254901960784,
- a: 1.0,
-)
-
-/// A `Colour` reprsenting the colour RGBA(136, 138, 133, 1.0)
-pub const light_charcoal = Rgba(
- r: 0.5333333333333333,
- g: 0.5411764705882353,
- b: 0.5215686274509804,
- a: 1.0,
-)
-
-/// A `Colour` reprsenting the colour RGBA(85, 87, 83, 1.0)
-pub const charcoal = Rgba(
- r: 0.3333333333333333,
- g: 0.3411764705882353,
- b: 0.3254901960784314,
- a: 1.0,
-)
-
-/// A `Colour` reprsenting the colour RGBA(46, 52, 54, 1.0)
-pub const dark_charcoal = Rgba(
- r: 0.1803921568627451,
- g: 0.20392156862745098,
- b: 0.21176470588235294,
- a: 1.0,
-)
-
-/// A `Colour` reprsenting the colour RGBA(255, 175, 243, 1.0)
-pub const pink = Rgba(
- r: 1.0,
- g: 0.6862745098039216,
- b: 0.9529411764705882,
- a: 1.0,
-)
diff --git a/aoc2023/build/packages/gleam_community_colour/src/gleam_community/colour/accessibility.gleam b/aoc2023/build/packages/gleam_community_colour/src/gleam_community/colour/accessibility.gleam
deleted file mode 100644
index 54f75e4..0000000
--- a/aoc2023/build/packages/gleam_community_colour/src/gleam_community/colour/accessibility.gleam
+++ /dev/null
@@ -1,173 +0,0 @@
-////
-//// - **Accessibility**
-//// - [`luminance`](#luminance)
-//// - [`contrast_ratio`](#contrast_ratio)
-//// - [`maximum_contrast`](#maximum_contrast)
-////
-//// ---
-////
-//// This package was heavily inspired by the `elm-color-extra` module.
-//// The original source code can be found
-//// <a href="https://github.com/noahzgordon/elm-color-extra">here</a>.
-////
-//// <details>
-//// <summary>The license of that package is produced below:</summary>
-////
-////
-//// > MIT License
-////
-//// > Copyright (c) 2016 Andreas Köberle
-////
-//// > Permission is hereby granted, free of charge, to any person obtaining a copy
-//// of this software and associated documentation files (the "Software"), to deal
-//// in the Software without restriction, including without limitation the rights
-//// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-//// copies of the Software, and to permit persons to whom the Software is
-//// furnished to do so, subject to the following conditions:
-////
-//// > The above copyright notice and this permission notice shall be included in all
-//// copies or substantial portions of the Software.
-////
-//// > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-//// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-//// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-//// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-//// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-//// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-//// SOFTWARE.
-////
-//// </details>
-////
-
-// Just in case we decide in the future to no longer include the above reference
-// and license, this package was initially a port of the `elm-color-extra` module:
-//
-// https://github.com/noahzgordon/elm-color-extra
-//
-
-// IMPORTS --------------------------------------------------------------------
-
-import gleam/float
-import gleam/list
-import gleam_community/colour.{type Colour}
-
-// UTILITIES ------------------------------------------------------------------
-
-fn intensity(colour_value: Float) -> Float {
- // Calculation taken from https://www.w3.org/TR/WCAG20/#relativeluminancedef
- case True {
- _ if colour_value <=. 0.03928 -> colour_value /. 12.92
- _ -> {
- // Is this guaranteed to be `OK`?
- let assert Ok(i) = float.power({ colour_value +. 0.055 } /. 1.055, 2.4)
- i
- }
- }
-}
-
-// ACCESSIBILITY --------------------------------------------------------------
-
-/// Returns the relative brightness of the given `Colour` as a `Float` between
-/// 0.0, and 1.0 with 0.0 being the darkest possible colour and 1.0 being the lightest.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// fn example() {
-/// luminance(colour.white) // 1.0
-/// }
-/// ```
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/colour/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn luminance(colour: Colour) -> Float {
- // Calculation taken from https://www.w3.org/TR/WCAG20/#relativeluminancedef
- let #(r, g, b, _) = colour.to_rgba(colour)
-
- let r_intensity = intensity(r)
- let g_intensity = intensity(g)
- let b_intensity = intensity(b)
-
- 0.2126 *. r_intensity +. 0.7152 *. g_intensity +. 0.0722 *. b_intensity
-}
-
-/// Returns the contrast between two `Colour` values as a `Float` between 1.0,
-/// and 21.0 with 1.0 being no contrast and, 21.0 being the highest possible contrast.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// fn example() {
-/// contrast_ratio(between: colour.white, and: colour.black) // 21.0
-/// }
-/// ```
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/colour/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn contrast_ratio(between colour_a: Colour, and colour_b: Colour) -> Float {
- // Calculation taken from https://www.w3.org/TR/WCAG20/#contrast-ratiodef
- let luminance_a = luminance(colour_a) +. 0.05
- let luminance_b = luminance(colour_b) +. 0.05
-
- case luminance_a >. luminance_b {
- True -> luminance_a /. luminance_b
- False -> luminance_b /. luminance_a
- }
-}
-
-/// Returns the `Colour` with the highest contrast between the base `Colour`,
-/// and and the other provided `Colour` values.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// ```gleam
-/// fn example() {
-/// maximum_contrast(
-/// colour.yellow,
-/// [colour.white, colour.dark_blue, colour.green],
-/// )
-/// }
-/// ```
-/// </details>
-///
-/// <div style="position: relative;">
-/// <a style="position: absolute; left: 0;" href="https://github.com/gleam-community/colour/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// <a style="position: absolute; right: 0;" href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn maximum_contrast(
- base: Colour,
- colours: List(Colour),
-) -> Result(Colour, Nil) {
- colours
- |> list.sort(fn(colour_a, colour_b) {
- let contrast_a = contrast_ratio(base, colour_a)
- let contrast_b = contrast_ratio(base, colour_b)
-
- float.compare(contrast_b, contrast_a)
- })
- |> list.first()
-}
diff --git a/aoc2023/build/packages/gleam_community_colour/src/gleam_community@colour.erl b/aoc2023/build/packages/gleam_community_colour/src/gleam_community@colour.erl
deleted file mode 100644
index 21e4c81..0000000
--- a/aoc2023/build/packages/gleam_community_colour/src/gleam_community@colour.erl
+++ /dev/null
@@ -1,511 +0,0 @@
--module(gleam_community@colour).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([from_rgb255/3, from_rgb/3, from_rgba/4, from_hsla/4, from_hsl/3, from_rgb_hex/1, from_rgb_hex_string/1, from_rgba_hex/1, from_rgba_hex_string/1, to_rgba/1, to_hsla/1, to_css_rgba_string/1, to_rgba_hex/1, to_rgba_hex_string/1, to_rgb_hex/1, to_rgb_hex_string/1]).
--export_type([colour/0]).
-
--opaque colour() :: {rgba, float(), float(), float(), float()} |
- {hsla, float(), float(), float(), float()}.
-
--spec valid_colour_value(float()) -> {ok, float()} | {error, nil}.
-valid_colour_value(C) ->
- case (C > 1.0) orelse (C < +0.0) of
- true ->
- {error, nil};
-
- false ->
- {ok, C}
- end.
-
--spec hue_to_rgb(float(), float(), float()) -> float().
-hue_to_rgb(Hue, M1, M2) ->
- H = case Hue of
- _ when Hue < +0.0 ->
- Hue + 1.0;
-
- _ when Hue > 1.0 ->
- Hue - 1.0;
-
- _ ->
- Hue
- end,
- H_t_6 = H * 6.0,
- H_t_2 = H * 2.0,
- H_t_3 = H * 3.0,
- case H of
- _ when H_t_6 < 1.0 ->
- M1 + (((M2 - M1) * H) * 6.0);
-
- _ when H_t_2 < 1.0 ->
- M2;
-
- _ when H_t_3 < 2.0 ->
- M1 + (((M2 - M1) * ((2.0 / 3.0) - H)) * 6.0);
-
- _ ->
- M1
- end.
-
--spec hex_string_to_int(binary()) -> {ok, integer()} | {error, nil}.
-hex_string_to_int(Hex_string) ->
- Hex = case Hex_string of
- <<"#"/utf8, Hex_number/binary>> ->
- Hex_number;
-
- <<"0x"/utf8, Hex_number@1/binary>> ->
- Hex_number@1;
-
- _ ->
- Hex_string
- end,
- _pipe = Hex,
- _pipe@1 = gleam@string:lowercase(_pipe),
- _pipe@2 = gleam@string:to_graphemes(_pipe@1),
- _pipe@3 = gleam@list:reverse(_pipe@2),
- gleam@list:index_fold(
- _pipe@3,
- {ok, 0},
- fun(Total, Char, Index) -> case Total of
- {error, nil} ->
- {error, nil};
-
- {ok, V} ->
- gleam@result:then(case Char of
- <<"a"/utf8>> ->
- {ok, 10};
-
- <<"b"/utf8>> ->
- {ok, 11};
-
- <<"c"/utf8>> ->
- {ok, 12};
-
- <<"d"/utf8>> ->
- {ok, 13};
-
- <<"e"/utf8>> ->
- {ok, 14};
-
- <<"f"/utf8>> ->
- {ok, 15};
-
- _ ->
- gleam@int:parse(Char)
- end, fun(Num) ->
- gleam@result:then(
- gleam@int:power(16, gleam@int:to_float(Index)),
- fun(Base) ->
- {ok,
- V + gleam@float:round(
- gleam@int:to_float(Num) * Base
- )}
- end
- )
- end)
- end end
- ).
-
--spec hsla_to_rgba(float(), float(), float(), float()) -> {float(),
- float(),
- float(),
- float()}.
-hsla_to_rgba(H, S, L, A) ->
- M2 = case L =< 0.5 of
- true ->
- L * (S + 1.0);
-
- false ->
- (L + S) - (L * S)
- end,
- M1 = (L * 2.0) - M2,
- R = hue_to_rgb(H + (1.0 / 3.0), M1, M2),
- G = hue_to_rgb(H, M1, M2),
- B = hue_to_rgb(H - (1.0 / 3.0), M1, M2),
- {R, G, B, A}.
-
--spec rgba_to_hsla(float(), float(), float(), float()) -> {float(),
- float(),
- float(),
- float()}.
-rgba_to_hsla(R, G, B, A) ->
- Min_colour = gleam@float:min(R, gleam@float:min(G, B)),
- Max_colour = gleam@float:max(R, gleam@float:max(G, B)),
- H1 = case true of
- _ when Max_colour =:= R ->
- gleam@float:divide(G - B, Max_colour - Min_colour);
-
- _ when Max_colour =:= G ->
- _pipe = gleam@float:divide(B - R, Max_colour - Min_colour),
- gleam@result:then(_pipe, fun(D) -> {ok, 2.0 + D} end);
-
- _ ->
- _pipe@1 = gleam@float:divide(R - G, Max_colour - Min_colour),
- gleam@result:then(_pipe@1, fun(D@1) -> {ok, 4.0 + D@1} end)
- end,
- H2 = case H1 of
- {ok, V} ->
- {ok, V * (1.0 / 6.0)};
-
- _ ->
- H1
- end,
- H3 = case H2 of
- {ok, V@1} when V@1 < +0.0 ->
- V@1 + 1.0;
-
- {ok, V@2} ->
- V@2;
-
- _ ->
- +0.0
- end,
- L = (Min_colour + Max_colour) / 2.0,
- S = case true of
- _ when Min_colour =:= Max_colour ->
- +0.0;
-
- _ when L < 0.5 ->
- case (Max_colour + Min_colour) of
- 0.0 -> 0.0;
- Gleam@denominator -> (Max_colour - Min_colour) / Gleam@denominator
- end;
-
- _ ->
- case ((2.0 - Max_colour) - Min_colour) of
- 0.0 -> 0.0;
- Gleam@denominator@1 -> (Max_colour - Min_colour) / Gleam@denominator@1
- end
- end,
- {H3, S, L, A}.
-
--spec from_rgb255(integer(), integer(), integer()) -> {ok, colour()} |
- {error, nil}.
-from_rgb255(Red, Green, Blue) ->
- gleam@result:then(
- begin
- _pipe = Red,
- _pipe@1 = gleam@int:to_float(_pipe),
- _pipe@2 = gleam@float:divide(_pipe@1, 255.0),
- gleam@result:then(_pipe@2, fun valid_colour_value/1)
- end,
- fun(R) ->
- gleam@result:then(
- begin
- _pipe@3 = Green,
- _pipe@4 = gleam@int:to_float(_pipe@3),
- _pipe@5 = gleam@float:divide(_pipe@4, 255.0),
- gleam@result:then(_pipe@5, fun valid_colour_value/1)
- end,
- fun(G) ->
- gleam@result:then(
- begin
- _pipe@6 = Blue,
- _pipe@7 = gleam@int:to_float(_pipe@6),
- _pipe@8 = gleam@float:divide(_pipe@7, 255.0),
- gleam@result:then(_pipe@8, fun valid_colour_value/1)
- end,
- fun(B) -> {ok, {rgba, R, G, B, 1.0}} end
- )
- end
- )
- end
- ).
-
--spec from_rgb(float(), float(), float()) -> {ok, colour()} | {error, nil}.
-from_rgb(Red, Green, Blue) ->
- gleam@result:then(
- valid_colour_value(Red),
- fun(R) ->
- gleam@result:then(
- valid_colour_value(Green),
- fun(G) ->
- gleam@result:then(
- valid_colour_value(Blue),
- fun(B) -> {ok, {rgba, R, G, B, 1.0}} end
- )
- end
- )
- end
- ).
-
--spec from_rgba(float(), float(), float(), float()) -> {ok, colour()} |
- {error, nil}.
-from_rgba(Red, Green, Blue, Alpha) ->
- gleam@result:then(
- valid_colour_value(Red),
- fun(R) ->
- gleam@result:then(
- valid_colour_value(Green),
- fun(G) ->
- gleam@result:then(
- valid_colour_value(Blue),
- fun(B) ->
- gleam@result:then(
- valid_colour_value(Alpha),
- fun(A) -> {ok, {rgba, R, G, B, A}} end
- )
- end
- )
- end
- )
- end
- ).
-
--spec from_hsla(float(), float(), float(), float()) -> {ok, colour()} |
- {error, nil}.
-from_hsla(Hue, Saturation, Lightness, Alpha) ->
- gleam@result:then(
- valid_colour_value(Hue),
- fun(H) ->
- gleam@result:then(
- valid_colour_value(Saturation),
- fun(S) ->
- gleam@result:then(
- valid_colour_value(Lightness),
- fun(L) ->
- gleam@result:then(
- valid_colour_value(Alpha),
- fun(A) -> {ok, {hsla, H, S, L, A}} end
- )
- end
- )
- end
- )
- end
- ).
-
--spec from_hsl(float(), float(), float()) -> {ok, colour()} | {error, nil}.
-from_hsl(Hue, Saturation, Lightness) ->
- from_hsla(Hue, Saturation, Lightness, 1.0).
-
--spec from_rgb_hex(integer()) -> {ok, colour()} | {error, nil}.
-from_rgb_hex(Hex) ->
- case (Hex > 16#ffffff) orelse (Hex < 0) of
- true ->
- {error, nil};
-
- false ->
- R = begin
- _pipe = erlang:'bsr'(Hex, 16),
- erlang:'band'(_pipe, 16#ff)
- end,
- G = begin
- _pipe@1 = erlang:'bsr'(Hex, 8),
- erlang:'band'(_pipe@1, 16#ff)
- end,
- B = erlang:'band'(Hex, 16#ff),
- from_rgb255(R, G, B)
- end.
-
--spec from_rgb_hex_string(binary()) -> {ok, colour()} | {error, nil}.
-from_rgb_hex_string(Hex_string) ->
- gleam@result:then(
- hex_string_to_int(Hex_string),
- fun(Hex_int) -> from_rgb_hex(Hex_int) end
- ).
-
--spec from_rgba_hex(integer()) -> {ok, colour()} | {error, nil}.
-from_rgba_hex(Hex) ->
- case (Hex > 16#ffffffff) orelse (Hex < 0) of
- true ->
- {error, nil};
-
- false ->
- _assert_subject = begin
- _pipe = erlang:'bsr'(Hex, 24),
- _pipe@1 = erlang:'band'(_pipe, 16#ff),
- _pipe@2 = gleam@int:to_float(_pipe@1),
- gleam@float:divide(_pipe@2, 255.0)
- end,
- {ok, R} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/colour"/utf8>>,
- function => <<"from_rgba_hex"/utf8>>,
- line => 588})
- end,
- _assert_subject@1 = begin
- _pipe@3 = erlang:'bsr'(Hex, 16),
- _pipe@4 = erlang:'band'(_pipe@3, 16#ff),
- _pipe@5 = gleam@int:to_float(_pipe@4),
- gleam@float:divide(_pipe@5, 255.0)
- end,
- {ok, G} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"gleam_community/colour"/utf8>>,
- function => <<"from_rgba_hex"/utf8>>,
- line => 594})
- end,
- _assert_subject@2 = begin
- _pipe@6 = erlang:'bsr'(Hex, 8),
- _pipe@7 = erlang:'band'(_pipe@6, 16#ff),
- _pipe@8 = gleam@int:to_float(_pipe@7),
- gleam@float:divide(_pipe@8, 255.0)
- end,
- {ok, B} = case _assert_subject@2 of
- {ok, _} -> _assert_subject@2;
- _assert_fail@2 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@2,
- module => <<"gleam_community/colour"/utf8>>,
- function => <<"from_rgba_hex"/utf8>>,
- line => 600})
- end,
- _assert_subject@3 = begin
- _pipe@9 = erlang:'band'(Hex, 16#ff),
- _pipe@10 = gleam@int:to_float(_pipe@9),
- gleam@float:divide(_pipe@10, 255.0)
- end,
- {ok, A} = case _assert_subject@3 of
- {ok, _} -> _assert_subject@3;
- _assert_fail@3 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@3,
- module => <<"gleam_community/colour"/utf8>>,
- function => <<"from_rgba_hex"/utf8>>,
- line => 606})
- end,
- from_rgba(R, G, B, A)
- end.
-
--spec from_rgba_hex_string(binary()) -> {ok, colour()} | {error, nil}.
-from_rgba_hex_string(Hex_string) ->
- gleam@result:then(
- hex_string_to_int(Hex_string),
- fun(Hex_int) -> from_rgba_hex(Hex_int) end
- ).
-
--spec to_rgba(colour()) -> {float(), float(), float(), float()}.
-to_rgba(Colour) ->
- case Colour of
- {rgba, R, G, B, A} ->
- {R, G, B, A};
-
- {hsla, H, S, L, A@1} ->
- hsla_to_rgba(H, S, L, A@1)
- end.
-
--spec to_hsla(colour()) -> {float(), float(), float(), float()}.
-to_hsla(Colour) ->
- case Colour of
- {hsla, H, S, L, A} ->
- {H, S, L, A};
-
- {rgba, R, G, B, A@1} ->
- rgba_to_hsla(R, G, B, A@1)
- end.
-
--spec to_css_rgba_string(colour()) -> binary().
-to_css_rgba_string(Colour) ->
- {R, G, B, A} = to_rgba(Colour),
- Percent = fun(X) ->
- _assert_subject = begin
- _pipe = X,
- _pipe@1 = gleam@float:multiply(_pipe, 10000.0),
- _pipe@2 = gleam@float:round(_pipe@1),
- _pipe@3 = gleam@int:to_float(_pipe@2),
- gleam@float:divide(_pipe@3, 100.0)
- end,
- {ok, P} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/colour"/utf8>>,
- function => <<"to_css_rgba_string"/utf8>>,
- line => 704})
- end,
- P
- end,
- Round_to = fun(X@1) ->
- _assert_subject@1 = begin
- _pipe@4 = X@1,
- _pipe@5 = gleam@float:multiply(_pipe@4, 1000.0),
- _pipe@6 = gleam@float:round(_pipe@5),
- _pipe@7 = gleam@int:to_float(_pipe@6),
- gleam@float:divide(_pipe@7, 1000.0)
- end,
- {ok, R@1} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"gleam_community/colour"/utf8>>,
- function => <<"to_css_rgba_string"/utf8>>,
- line => 716})
- end,
- R@1
- end,
- gleam@string:join(
- [<<"rgba("/utf8>>,
- <<(gleam@float:to_string(Percent(R)))/binary, "%,"/utf8>>,
- <<(gleam@float:to_string(Percent(G)))/binary, "%,"/utf8>>,
- <<(gleam@float:to_string(Percent(B)))/binary, "%,"/utf8>>,
- gleam@float:to_string(Round_to(A)),
- <<")"/utf8>>],
- <<""/utf8>>
- ).
-
--spec to_rgba_hex(colour()) -> integer().
-to_rgba_hex(Colour) ->
- {R, G, B, A} = to_rgba(Colour),
- Red = begin
- _pipe = R * 255.0,
- _pipe@1 = gleam@float:round(_pipe),
- erlang:'bsl'(_pipe@1, 24)
- end,
- Green = begin
- _pipe@2 = G * 255.0,
- _pipe@3 = gleam@float:round(_pipe@2),
- erlang:'bsl'(_pipe@3, 16)
- end,
- Blue = begin
- _pipe@4 = B * 255.0,
- _pipe@5 = gleam@float:round(_pipe@4),
- erlang:'bsl'(_pipe@5, 8)
- end,
- Alpha = begin
- _pipe@6 = A * 255.0,
- gleam@float:round(_pipe@6)
- end,
- ((Red + Green) + Blue) + Alpha.
-
--spec to_rgba_hex_string(colour()) -> binary().
-to_rgba_hex_string(Colour) ->
- _pipe = to_rgba_hex(Colour),
- gleam@int:to_base16(_pipe).
-
--spec to_rgb_hex(colour()) -> integer().
-to_rgb_hex(Colour) ->
- {R, G, B, _} = to_rgba(Colour),
- Red = begin
- _pipe = R * 255.0,
- _pipe@1 = gleam@float:round(_pipe),
- erlang:'bsl'(_pipe@1, 16)
- end,
- Green = begin
- _pipe@2 = G * 255.0,
- _pipe@3 = gleam@float:round(_pipe@2),
- erlang:'bsl'(_pipe@3, 8)
- end,
- Blue = begin
- _pipe@4 = B * 255.0,
- gleam@float:round(_pipe@4)
- end,
- (Red + Green) + Blue.
-
--spec to_rgb_hex_string(colour()) -> binary().
-to_rgb_hex_string(Colour) ->
- _pipe = to_rgb_hex(Colour),
- gleam@int:to_base16(_pipe).
diff --git a/aoc2023/build/packages/gleam_community_colour/src/gleam_community@colour@accessibility.erl b/aoc2023/build/packages/gleam_community_colour/src/gleam_community@colour@accessibility.erl
deleted file mode 100644
index 64d37bf..0000000
--- a/aoc2023/build/packages/gleam_community_colour/src/gleam_community@colour@accessibility.erl
+++ /dev/null
@@ -1,73 +0,0 @@
--module(gleam_community@colour@accessibility).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([luminance/1, contrast_ratio/2, maximum_contrast/2]).
-
--spec intensity(float()) -> float().
-intensity(Colour_value) ->
- case true of
- _ when Colour_value =< 0.03928 ->
- Colour_value / 12.92;
-
- _ ->
- _assert_subject = gleam@float:power(
- (Colour_value + 0.055) / 1.055,
- 2.4
- ),
- {ok, I} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/colour/accessibility"/utf8>>,
- function => <<"intensity"/utf8>>,
- line => 62})
- end,
- I
- end.
-
--spec luminance(gleam_community@colour:colour()) -> float().
-luminance(Colour) ->
- {R, G, B, _} = gleam_community@colour:to_rgba(Colour),
- R_intensity = intensity(R),
- G_intensity = intensity(G),
- B_intensity = intensity(B),
- ((0.2126 * R_intensity) + (0.7152 * G_intensity)) + (0.0722 * B_intensity).
-
--spec contrast_ratio(
- gleam_community@colour:colour(),
- gleam_community@colour:colour()
-) -> float().
-contrast_ratio(Colour_a, Colour_b) ->
- Luminance_a = luminance(Colour_a) + 0.05,
- Luminance_b = luminance(Colour_b) + 0.05,
- case Luminance_a > Luminance_b of
- true ->
- case Luminance_b of
- 0.0 -> 0.0;
- Gleam@denominator -> Luminance_a / Gleam@denominator
- end;
-
- false ->
- case Luminance_a of
- 0.0 -> 0.0;
- Gleam@denominator@1 -> Luminance_b / Gleam@denominator@1
- end
- end.
-
--spec maximum_contrast(
- gleam_community@colour:colour(),
- list(gleam_community@colour:colour())
-) -> {ok, gleam_community@colour:colour()} | {error, nil}.
-maximum_contrast(Base, Colours) ->
- _pipe = Colours,
- _pipe@1 = gleam@list:sort(
- _pipe,
- fun(Colour_a, Colour_b) ->
- Contrast_a = contrast_ratio(Base, Colour_a),
- Contrast_b = contrast_ratio(Base, Colour_b),
- gleam@float:compare(Contrast_b, Contrast_a)
- end
- ),
- gleam@list:first(_pipe@1).
diff --git a/aoc2023/build/packages/gleam_community_colour/src/gleam_community_colour.app.src b/aoc2023/build/packages/gleam_community_colour/src/gleam_community_colour.app.src
deleted file mode 100644
index a327650..0000000
--- a/aoc2023/build/packages/gleam_community_colour/src/gleam_community_colour.app.src
+++ /dev/null
@@ -1,9 +0,0 @@
-{application, gleam_community_colour, [
- {vsn, "1.2.0"},
- {applications, [gleam_stdlib,
- gleeunit]},
- {description, "Colour types, conversions, and other utilities"},
- {modules, [gleam_community@colour,
- gleam_community@colour@accessibility]},
- {registered, []}
-]}.
diff --git a/aoc2023/build/packages/gleam_community_maths/LICENCE b/aoc2023/build/packages/gleam_community_maths/LICENCE
deleted file mode 100644
index a84f0ec..0000000
--- a/aoc2023/build/packages/gleam_community_maths/LICENCE
+++ /dev/null
@@ -1,190 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- Copyright 2023 Gleam Community Contributors
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License. \ No newline at end of file
diff --git a/aoc2023/build/packages/gleam_community_maths/README.md b/aoc2023/build/packages/gleam_community_maths/README.md
deleted file mode 100644
index c912757..0000000
--- a/aoc2023/build/packages/gleam_community_maths/README.md
+++ /dev/null
@@ -1,59 +0,0 @@
-# gleam-community/maths
-
-[![Package Version](https://img.shields.io/hexpm/v/gleam_community_maths)](https://hex.pm/packages/gleam_community_maths)
-[![Hex Docs](https://img.shields.io/badge/hex-docs-ffaff3)](https://hexdocs.pm/gleam_community_maths/)
-
-A basic mathematics library that contains some of the most fundamental mathematics functions and utilities.
-
-The library supports both targets: Erlang and JavaScript.
-
-## Quickstart
-
-```gleam
-import gleam_community/maths/arithmetics
-import gleam_community/maths/combinatorics
-import gleam_community/maths/elementary
-import gleam_community/maths/piecewise
-import gleam_community/maths/predicates
-import gleam/float
-
-pub fn main() {
- // Evaluate the sine function
- elementary.sin(elementary.pi())
- // Returns Float: 0.0
-
- // Find the greatest common divisor
- arithmetics.gcd(54, 24)
- // Returns Int: 6
-
- // Find the minimum and maximum of a list
- piecewise.extrema([10.0, 3.0, 50.0, 20.0, 3.0], float.compare)
- // Returns Tuple: Ok(#(3.0, 50.0))
-
- // Find the list indices of the smallest value
- piecewise.arg_minimum([10, 3, 50, 20, 3], float.compare)
- // Returns List: Ok([1, 4])
-
- // Determine if a number is fractional
- predicates.is_fractional(0.3333)
- // Returns Bool: True
-
- // Determine if 28 is a power of 3
- predicates.is_power(28, 3)
- // Returns Bool: False
-
- // Generate all k = 1 combinations of [1, 2]
- combinatorics.list_combination([1, 2], 1)
- // Returns List: Ok([[1], [2]])
-}
-
-```
-
-## Installation
-
-`gleam_community` packages are published to [hex.pm](https://hex.pm/packages/gleam_community_maths)
-with the prefix `gleam_community_`. You can add them to your Gleam projects directly:
-
-```sh
-gleam add gleam_community_maths
-```
diff --git a/aoc2023/build/packages/gleam_community_maths/gleam.toml b/aoc2023/build/packages/gleam_community_maths/gleam.toml
deleted file mode 100644
index 9dc5fd7..0000000
--- a/aoc2023/build/packages/gleam_community_maths/gleam.toml
+++ /dev/null
@@ -1,12 +0,0 @@
-name = "gleam_community_maths"
-version = "1.0.1"
-
-licences = ["Apache-2.0"]
-description = "A basic maths library"
-repository = { type = "github", user = "gleam-community", repo = "maths" }
-
-[dependencies]
-gleam_stdlib = "~> 0.33"
-
-[dev-dependencies]
-gleeunit = "~> 1.0"
diff --git a/aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/arithmetics.gleam b/aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/arithmetics.gleam
deleted file mode 100644
index 3e0f63a..0000000
--- a/aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/arithmetics.gleam
+++ /dev/null
@@ -1,618 +0,0 @@
-////<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.css" integrity="sha384-GvrOXuhMATgEsSwCs4smul74iXGOixntILdUW9XmUC6+HX0sLNAK3q71HotJqlAn" crossorigin="anonymous">
-////<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.js" integrity="sha384-cpW21h6RZv/phavutF+AuVYrr+dA8xD9zs6FwLpaCct6O9ctzYFfFr4dgmgccOTx" crossorigin="anonymous"></script>
-////<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/contrib/auto-render.min.js" integrity="sha384-+VBxd3r6XgURycqtZ117nYw44OOcIax56Z4dCRWbxyPt0Koah1uHoK0o4+/RRE05" crossorigin="anonymous"></script>
-////<script>
-//// document.addEventListener("DOMContentLoaded", function() {
-//// renderMathInElement(document.body, {
-//// // customised options
-//// // • auto-render specific keys, e.g.:
-//// delimiters: [
-//// {left: '$$', right: '$$', display: false},
-//// // {left: '$', right: '$', display: false},
-//// // {left: '\\(', right: '\\)', display: false},
-//// {left: '\\[', right: '\\]', display: true}
-//// ],
-//// // • rendering keys, e.g.:
-//// throwOnError : false
-//// });
-//// });
-////</script>
-////<style>
-//// .katex { font-size: 1.1em; }
-////</style>
-////
-//// ---
-////
-//// Arithmetics: A module containing a collection of fundamental mathematical functions relating to simple arithmetics (addition, subtraction, multiplication, etc.), but also number theory.
-////
-//// * **Division functions**
-//// * [`gcd`](#gcd)
-//// * [`lcm`](#lcm)
-//// * [`divisors`](#divisors)
-//// * [`proper_divisors`](#proper_divisors)
-//// * **Sums and products**
-//// * [`float_sum`](#float_sum)
-//// * [`int_sum`](#int_sum)
-//// * [`float_product`](#float_product)
-//// * [`int_product`](#int_product)
-//// * [`float_cumulative_sum`](#float_cumulative_sum)
-//// * [`int_cumulative_sum`](#int_cumulative_sum)
-//// * [`float_cumulative_product`](#float_cumulative_product)
-//// * [`int_cumulative_product`](#int_cumulative_product)
-////
-
-import gleam/int
-import gleam/list
-import gleam_community/maths/conversion
-import gleam_community/maths/elementary
-import gleam_community/maths/piecewise
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The function calculates the greatest common multiple of two integers $$x, y \in \mathbb{Z}$$.
-/// The greatest common multiple is the largest positive integer that is divisible by both $$x$$ and $$y$$.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/arithmetics
-///
-/// pub fn example() {
-/// arithmetics.lcm(1, 1)
-/// |> should.equal(1)
-///
-/// arithmetics.lcm(100, 10)
-/// |> should.equal(10)
-///
-/// arithmetics.gcd(-36, -17)
-/// |> should.equal(1)
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn gcd(x: Int, y: Int) -> Int {
- let absx: Int = piecewise.int_absolute_value(x)
- let absy: Int = piecewise.int_absolute_value(y)
- do_gcd(absx, absy)
-}
-
-fn do_gcd(x: Int, y: Int) -> Int {
- case x == 0 {
- True -> y
- False -> {
- let assert Ok(z) = int.modulo(y, x)
- do_gcd(z, x)
- }
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The function calculates the least common multiple of two integers $$x, y \in \mathbb{Z}$$.
-/// The least common multiple is the smallest positive integer that has both $$x$$ and $$y$$ as factors.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/arithmetics
-///
-/// pub fn example() {
-/// arithmetics.lcm(1, 1)
-/// |> should.equal(1)
-///
-/// arithmetics.lcm(100, 10)
-/// |> should.equal(100)
-///
-/// arithmetics.lcm(-36, -17)
-/// |> should.equal(612)
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn lcm(x: Int, y: Int) -> Int {
- let absx: Int = piecewise.int_absolute_value(x)
- let absy: Int = piecewise.int_absolute_value(y)
- absx * absy / do_gcd(absx, absy)
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The function returns all the positive divisors of an integer, including the number iteself.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/arithmetics
-///
-/// pub fn example() {
-/// arithmetics.divisors(4)
-/// |> should.equal([1, 2, 4])
-///
-/// arithmetics.divisors(6)
-/// |> should.equal([1, 2, 3, 6])
-///
-/// arithmetics.proper_divisors(13)
-/// |> should.equal([1, 13])
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn divisors(n: Int) -> List(Int) {
- find_divisors(n)
-}
-
-fn find_divisors(n: Int) -> List(Int) {
- let nabs: Float = piecewise.float_absolute_value(conversion.int_to_float(n))
- let assert Ok(sqrt_result) = elementary.square_root(nabs)
- let max: Int = conversion.float_to_int(sqrt_result) + 1
- list.range(2, max)
- |> list.fold(
- [1, n],
- fn(acc: List(Int), i: Int) -> List(Int) {
- case n % i == 0 {
- True -> [i, n / i, ..acc]
- False -> acc
- }
- },
- )
- |> list.unique()
- |> list.sort(int.compare)
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The function returns all the positive divisors of an integer, excluding the number iteself.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/arithmetics
-///
-/// pub fn example() {
-/// arithmetics.proper_divisors(4)
-/// |> should.equal([1, 2])
-///
-/// arithmetics.proper_divisors(6)
-/// |> should.equal([1, 2, 3])
-///
-/// arithmetics.proper_divisors(13)
-/// |> should.equal([1])
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn proper_divisors(n: Int) -> List(Int) {
- let divisors: List(Int) = find_divisors(n)
- divisors
- |> list.take(list.length(divisors) - 1)
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Calculcate the sum of the elements in a list:
-///
-/// \\[
-/// \sum_{i=1}^n x_i
-/// \\]
-///
-/// In the formula, $$n$$ is the length of the list and $$x_i \in \mathbb{R}$$ is the value in the input list indexed by $$i$$.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/arithmetics
-///
-/// pub fn example () {
-/// // An empty list returns an error
-/// []
-/// |> arithmetics.float_sum()
-/// |> should.equal(0.0)
-///
-/// // Valid input returns a result
-/// [1.0, 2.0, 3.0]
-/// |> arithmetics.float_sum()
-/// |> should.equal(6.0)
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn float_sum(arr: List(Float)) -> Float {
- case arr {
- [] -> 0.0
- _ ->
- arr
- |> list.fold(0.0, fn(acc: Float, a: Float) -> Float { a +. acc })
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Calculcate the sum of the elements in a list:
-///
-/// \\[
-/// \sum_{i=1}^n x_i
-/// \\]
-///
-/// In the formula, $$n$$ is the length of the list and $$x_i \in \mathbb{Z}$$ is the value in the input list indexed by $$i$$.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/arithmetics
-///
-/// pub fn example () {
-/// // An empty list returns 0
-/// []
-/// |> arithmetics.int_sum()
-/// |> should.equal(0)
-///
-/// // Valid input returns a result
-/// [1, 2, 3]
-/// |> arithmetics.int_sum()
-/// |> should.equal(6)
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn int_sum(arr: List(Int)) -> Int {
- case arr {
- [] -> 0
- _ ->
- arr
- |> list.fold(0, fn(acc: Int, a: Int) -> Int { a + acc })
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Calculcate the product of the elements in a list:
-///
-/// \\[
-/// \prod_{i=1}^n x_i
-/// \\]
-///
-/// In the formula, $$n$$ is the length of the list and $$x_i \in \mathbb{R}$$ is the value in the input list indexed by $$i$$.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/arithmetics
-///
-/// pub fn example () {
-/// // An empty list returns 0.0
-/// []
-/// |> arithmetics.float_product()
-/// |> should.equal(0.0)
-///
-/// // Valid input returns a result
-/// [1.0, 2.0, 3.0]
-/// |> arithmetics.float_product()
-/// |> should.equal(6.0)
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn float_product(arr: List(Float)) -> Float {
- case arr {
- [] -> 1.0
- _ ->
- arr
- |> list.fold(1.0, fn(acc: Float, a: Float) -> Float { a *. acc })
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Calculcate the product of the elements in a list:
-///
-/// \\[
-/// \prod_{i=1}^n x_i
-/// \\]
-///
-/// In the formula, $$n$$ is the length of the list and $$x_i \in \mathbb{Z}$$ is the value in the input list indexed by $$i$$.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/arithmetics
-///
-/// pub fn example () {
-/// // An empty list returns 0
-/// []
-/// |> arithmetics.int_product()
-/// |> should.equal(0)
-///
-/// // Valid input returns a result
-/// [1, 2, 3]
-/// |> arithmetics.int_product()
-/// |> should.equal(6)
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn int_product(arr: List(Int)) -> Int {
- case arr {
- [] -> 1
- _ ->
- arr
- |> list.fold(1, fn(acc: Int, a: Int) -> Int { a * acc })
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Calculcate the cumulative sum of the elements in a list:
-///
-/// \\[
-/// v_j = \sum_{i=1}^j x_i \\;\\; \forall j = 1,\dots, n
-/// \\]
-///
-/// In the formula, $$v_j$$ is the $$j$$'th element in the cumulative sum of $$n$$ elements.
-/// That is, $$n$$ is the length of the list and $$x_i \in \mathbb{R}$$ is the value in the input list indexed by $$i$$.
-/// The value $$v_j$$ is thus the sum of the $$1$$ to $$j$$ first elements in the given list.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/arithmetics
-///
-/// pub fn example () {
-/// []
-/// |> arithmetics.float_cumulative_sum()
-/// |> should.equal([])
-///
-/// // Valid input returns a result
-/// [1.0, 2.0, 3.0]
-/// |> arithmetics.float_cumulative_sum()
-/// |> should.equal([1.0, 3.0, 6.0])
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn float_cumulative_sum(arr: List(Float)) -> List(Float) {
- case arr {
- [] -> []
- _ ->
- arr
- |> list.scan(0.0, fn(acc: Float, a: Float) -> Float { a +. acc })
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Calculcate the cumulative sum of the elements in a list:
-///
-/// \\[
-/// v_j = \sum_{i=1}^j x_i \\;\\; \forall j = 1,\dots, n
-/// \\]
-///
-/// In the formula, $$v_j$$ is the $$j$$'th element in the cumulative sum of $$n$$ elements.
-/// That is, $$n$$ is the length of the list and $$x_i \in \mathbb{Z}$$ is the value in the input list indexed by $$i$$.
-/// The value $$v_j$$ is thus the sum of the $$1$$ to $$j$$ first elements in the given list.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/arithmetics
-///
-/// pub fn example () {
-/// []
-/// |> arithmetics.int_cumulative_sum()
-/// |> should.equal([])
-///
-/// // Valid input returns a result
-/// [1, 2, 3]
-/// |> arithmetics.int_cumulative_sum()
-/// |> should.equal([1, 3, 6])
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn int_cumulative_sum(arr: List(Int)) -> List(Int) {
- case arr {
- [] -> []
- _ ->
- arr
- |> list.scan(0, fn(acc: Int, a: Int) -> Int { a + acc })
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Calculcate the cumulative product of the elements in a list:
-///
-/// \\[
-/// v_j = \prod_{i=1}^j x_i \\;\\; \forall j = 1,\dots, n
-/// \\]
-///
-/// In the formula, $$v_j$$ is the $$j$$'th element in the cumulative product of $$n$$ elements.
-/// That is, $$n$$ is the length of the list and $$x_i \in \mathbb{R}$$ is the value in the input list indexed by $$i$$.
-/// The value $$v_j$$ is thus the sum of the $$1$$ to $$j$$ first elements in the given list.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/arithmetics
-///
-/// pub fn example () {
-/// // An empty list returns an error
-/// []
-/// |> arithmetics.float_cumulative_product()
-/// |> should.equal([])
-///
-/// // Valid input returns a result
-/// [1.0, 2.0, 3.0]
-/// |> arithmetics.float_cumulative_product()
-/// |> should.equal([1.0, 2.0, 6.0])
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn float_cumumlative_product(arr: List(Float)) -> List(Float) {
- case arr {
- [] -> []
- _ ->
- arr
- |> list.scan(1.0, fn(acc: Float, a: Float) -> Float { a *. acc })
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Calculcate the cumulative product of the elements in a list:
-///
-/// \\[
-/// v_j = \prod_{i=1}^j x_i \\;\\; \forall j = 1,\dots, n
-/// \\]
-///
-/// In the formula, $$v_j$$ is the $$j$$'th element in the cumulative product of $$n$$ elements.
-/// That is, $$n$$ is the length of the list and $$x_i \in \mathbb{Z}$$ is the value in the input list indexed by $$i$$.
-/// The value $$v_j$$ is thus the product of the $$1$$ to $$j$$ first elements in the given list.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/arithmetics
-///
-/// pub fn example () {
-/// // An empty list returns an error
-/// []
-/// |> arithmetics.int_cumulative_product()
-/// |> should.equal([])
-///
-/// // Valid input returns a result
-/// [1, 2, 3]
-/// |> arithmetics.int_cumulative_product()
-/// |> should.equal([1, 2, 6])
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn int_cumulative_product(arr: List(Int)) -> List(Int) {
- case arr {
- [] -> []
- _ ->
- arr
- |> list.scan(1, fn(acc: Int, a: Int) -> Int { a * acc })
- }
-}
diff --git a/aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/combinatorics.gleam b/aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/combinatorics.gleam
deleted file mode 100644
index ee771a1..0000000
--- a/aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/combinatorics.gleam
+++ /dev/null
@@ -1,432 +0,0 @@
-////<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.css" integrity="sha384-GvrOXuhMATgEsSwCs4smul74iXGOixntILdUW9XmUC6+HX0sLNAK3q71HotJqlAn" crossorigin="anonymous">
-////<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.js" integrity="sha384-cpW21h6RZv/phavutF+AuVYrr+dA8xD9zs6FwLpaCct6O9ctzYFfFr4dgmgccOTx" crossorigin="anonymous"></script>
-////<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/contrib/auto-render.min.js" integrity="sha384-+VBxd3r6XgURycqtZ117nYw44OOcIax56Z4dCRWbxyPt0Koah1uHoK0o4+/RRE05" crossorigin="anonymous"></script>
-////<script>
-//// document.addEventListener("DOMContentLoaded", function() {
-//// renderMathInElement(document.body, {
-//// // customised options
-//// // • auto-render specific keys, e.g.:
-//// delimiters: [
-//// {left: '$$', right: '$$', display: false},
-//// // {left: '$', right: '$', display: false},
-//// // {left: '\\(', right: '\\)', display: false},
-//// {left: '\\[', right: '\\]', display: true}
-//// ],
-//// // • rendering keys, e.g.:
-//// throwOnError : false
-//// });
-//// });
-////</script>
-////<style>
-//// .katex { font-size: 1.1em; }
-////</style>
-////
-//// ---
-////
-//// Combinatorics: A module that offers mathematical functions related to counting, arrangements, and combinations.
-////
-//// * **Combinatorial functions**
-//// * [`combination`](#combination)
-//// * [`factorial`](#factorial)
-//// * [`permutation`](#permutation)
-//// * [`list_combination`](#list_combination)
-//// * [`list_permutation`](#list_permutation)
-//// * [`cartesian_product`](#cartesian_product)
-////
-
-import gleam/list
-import gleam/set
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// A combinatorial function for computing the number of a $$k$$-combinations of $$n$$ elements:
-///
-/// \\[
-/// C(n, k) = \binom{n}{k} = \frac{n!}{k! (n-k)!}
-/// \\]
-/// Also known as "$$n$$ choose $$k$$" or the binomial coefficient.
-///
-/// The implementation uses the effecient iterative multiplicative formula for the computation.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/combinatorics
-///
-/// pub fn example() {
-/// // Invalid input gives an error
-/// // Error on: n = -1 < 0
-/// combinatorics.combination(-1, 1)
-/// |> should.be_error()
-///
-/// // Valid input returns a result
-/// combinatorics.combination(4, 0)
-/// |> should.equal(Ok(1))
-///
-/// combinatorics.combination(4, 4)
-/// |> should.equal(Ok(1))
-///
-/// combinatorics.combination(4, 2)
-/// |> should.equal(Ok(6))
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn combination(n: Int, k: Int) -> Result(Int, String) {
- case n < 0 {
- True ->
- "Invalid input argument: n < 0. Valid input is n > 0."
- |> Error
- False ->
- case k < 0 || k > n {
- True ->
- 0
- |> Ok
- False ->
- case k == 0 || k == n {
- True ->
- 1
- |> Ok
- False -> {
- let min = case k < n - k {
- True -> k
- False -> n - k
- }
- list.range(1, min)
- |> list.fold(
- 1,
- fn(acc: Int, x: Int) -> Int { acc * { n + 1 - x } / x },
- )
- |> Ok
- }
- }
- }
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// A combinatorial function for computing the total number of combinations of $$n$$
-/// elements, that is $$n!$$.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/combinatorics
-///
-/// pub fn example() {
-/// // Invalid input gives an error
-/// combinatorics.factorial(-1)
-/// |> should.be_error()
-///
-/// // Valid input returns a result
-/// combinatorics.factorial(0)
-/// |> should.equal(Ok(1))
-///
-/// combinatorics.factorial(1)
-/// |> should.equal(Ok(1))
-///
-/// combinatorics.factorial(2)
-/// |> should.equal(Ok(2))
-///
-/// combinatorics.factorial(3)
-/// |> should.equal(Ok(6))
-///
-/// combinatorics.factorial(4)
-/// |> should.equal(Ok(24))
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn factorial(n) -> Result(Int, String) {
- case n < 0 {
- True ->
- "Invalid input argument: n < 0. Valid input is n > 0."
- |> Error
- False ->
- case n {
- 0 ->
- 1
- |> Ok
- 1 ->
- 1
- |> Ok
- _ ->
- list.range(1, n)
- |> list.fold(1, fn(acc: Int, x: Int) { acc * x })
- |> Ok
- }
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// A combinatorial function for computing the number of $$k$$-permuations (without repetitions)
-/// of $$n$$ elements:
-///
-/// \\[
-/// P(n, k) = \frac{n!}{(n - k)!}
-/// \\]
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/combinatorics
-///
-/// pub fn example() {
-/// // Invalid input gives an error
-/// // Error on: n = -1 < 0
-/// combinatorics.permutation(-1, 1)
-/// |> should.be_error()
-///
-/// // Valid input returns a result
-/// combinatorics.permutation(4, 0)
-/// |> should.equal(Ok(1))
-///
-/// combinatorics.permutation(4, 4)
-/// |> should.equal(Ok(1))
-///
-/// combinatorics.permutation(4, 2)
-/// |> should.equal(Ok(12))
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn permutation(n: Int, k: Int) -> Result(Int, String) {
- case n < 0 {
- True ->
- "Invalid input argument: n < 0. Valid input is n > 0."
- |> Error
- False ->
- case k < 0 || k > n {
- True ->
- 0
- |> Ok
- False ->
- case k == n {
- True ->
- 1
- |> Ok
- False -> {
- let assert Ok(v1) = factorial(n)
- let assert Ok(v2) = factorial(n - k)
- v1 / v2
- |> Ok
- }
- }
- }
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Generate all $$k$$-combinations based on a given list.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam/set
-/// import gleam_community/maths/combinatorics
-///
-/// pub fn example () {
-/// let assert Ok(result) = combinatorics.list_combination([1, 2, 3, 4], 3)
-/// result
-/// |> set.from_list()
-/// |> should.equal(set.from_list([[1, 2, 3], [1, 2, 4], [1, 3, 4], [2, 3, 4]]))
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn list_combination(arr: List(a), k: Int) -> Result(List(List(a)), String) {
- case k < 0 {
- True ->
- "Invalid input argument: k < 0. Valid input is k > 0."
- |> Error
- False -> {
- case k > list.length(arr) {
- True ->
- "Invalid input argument: k > length(arr). Valid input is 0 < k <= length(arr)."
- |> Error
- False -> {
- do_list_combination(arr, k, [])
- |> Ok
- }
- }
- }
- }
-}
-
-fn do_list_combination(arr: List(a), k: Int, prefix: List(a)) -> List(List(a)) {
- case k {
- 0 -> [list.reverse(prefix)]
- _ ->
- case arr {
- [] -> []
- [x, ..xs] -> {
- let with_x = do_list_combination(xs, k - 1, [x, ..prefix])
- let without_x = do_list_combination(xs, k, prefix)
- list.append(with_x, without_x)
- }
- }
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Generate all permutations of a given list.
-///
-/// Repeated elements are treated as distinct for the
-/// purpose of permutations, so two identical elements
-/// for example will appear "both ways round". This
-/// means lists with repeated elements return the same
-/// number of permutations as ones without.
-///
-/// N.B. The output of this function is a list of size
-/// factorial in the size of the input list. Caution is
-/// advised on input lists longer than ~11 elements, which
-/// may cause the VM to use unholy amounts of memory for
-/// the output.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam/set
-/// import gleam_community/maths/combinatorics
-///
-/// pub fn example () {
-/// [1, 2, 3]
-/// |> combinatorics.list_permutation()
-/// |> set.from_list()
-/// |> should.equal(set.from_list([
-/// [1, 2, 3],
-/// [2, 1, 3],
-/// [3, 1, 2],
-/// [1, 3, 2],
-/// [2, 3, 1],
-/// [3, 2, 1],
-/// ]))
-///
-/// [1.0, 1.0]
-/// |> combinatorics.list_permutation()
-/// |> should.equal([[1.0, 1.0], [1.0, 1.0]])
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn list_permutation(arr: List(a)) -> List(List(a)) {
- case arr {
- [] -> [[]]
- _ -> {
- use x <- list.flat_map(arr)
- // `x` is drawn from the list `arr` above,
- // so Ok(...) can be safely asserted as the result of `list.pop` below
- let assert Ok(#(_, remaining)) = list.pop(arr, fn(y) { x == y })
- list.map(list_permutation(remaining), fn(perm) { [x, ..perm] })
- }
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Generate a list containing all combinations of pairs of elements coming from two given lists.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam/list
-/// import gleam_community/maths/combinatorics
-///
-/// pub fn example () {
-/// []
-/// |> combinatorics.cartesian_product([])
-/// |> should.equal([])
-///
-/// [1.0, 10.0]
-/// |> combinatorics.cartesian_product([1.0, 2.0])
-/// |> should.equal([#(1.0, 1.0), #(1.0, 2.0), #(10.0, 1.0), #(10.0, 2.0)])
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn cartesian_product(xarr: List(a), yarr: List(a)) -> List(#(a, a)) {
- let xset: set.Set(a) =
- xarr
- |> set.from_list()
- let yset: set.Set(a) =
- yarr
- |> set.from_list()
- xset
- |> set.fold(
- set.new(),
- fn(accumulator0: set.Set(#(a, a)), member0: a) -> set.Set(#(a, a)) {
- set.fold(
- yset,
- accumulator0,
- fn(accumulator1: set.Set(#(a, a)), member1: a) -> set.Set(#(a, a)) {
- set.insert(accumulator1, #(member0, member1))
- },
- )
- },
- )
- |> set.to_list()
-}
diff --git a/aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/conversion.gleam b/aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/conversion.gleam
deleted file mode 100644
index 017aabd..0000000
--- a/aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/conversion.gleam
+++ /dev/null
@@ -1,183 +0,0 @@
-////<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.css" integrity="sha384-GvrOXuhMATgEsSwCs4smul74iXGOixntILdUW9XmUC6+HX0sLNAK3q71HotJqlAn" crossorigin="anonymous">
-////<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.js" integrity="sha384-cpW21h6RZv/phavutF+AuVYrr+dA8xD9zs6FwLpaCct6O9ctzYFfFr4dgmgccOTx" crossorigin="anonymous"></script>
-////<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/contrib/auto-render.min.js" integrity="sha384-+VBxd3r6XgURycqtZ117nYw44OOcIax56Z4dCRWbxyPt0Koah1uHoK0o4+/RRE05" crossorigin="anonymous"></script>
-////<script>
-//// document.addEventListener("DOMContentLoaded", function() {
-//// renderMathInElement(document.body, {
-//// // customised options
-//// // • auto-render specific keys, e.g.:
-//// delimiters: [
-//// {left: '$$', right: '$$', display: false},
-//// // {left: '$', right: '$', display: false},
-//// // {left: '\\(', right: '\\)', display: false},
-//// {left: '\\[', right: '\\]', display: true}
-//// ],
-//// // • rendering keys, e.g.:
-//// throwOnError : false
-//// });
-//// });
-////</script>
-////<style>
-//// .katex { font-size: 1.1em; }
-////</style>
-////
-//// ---
-////
-//// Conversion: A module containing various functions for converting between types and quantities.
-////
-//// * **Misc. functions**
-//// * [`float_to_int`](#float_to_int)
-//// * [`int_to_float`](#int_to_float)
-//// * [`degrees_to_radians`](#degrees_to_radians)
-//// * [`radians_to_degrees`](#radians_to_degrees)
-
-import gleam/int
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// A function that produces a number of type `Float` from an `Int`.
-///
-/// Note: The function is equivalent to the `int.to_float` function in the Gleam stdlib.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/conversion
-///
-/// pub fn example() {
-/// conversion.int_to_float(-1)
-/// |> should.equal(-1.0)
-///
-/// conversion.int_to_float(1)
-/// |> should.equal(1.0)
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn int_to_float(x: Int) -> Float {
- int.to_float(x)
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The function returns the integral part of a given floating point value.
-/// That is, everything after the decimal point of a given floating point value is discarded and only the integer value before the decimal point is returned.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam/option
-/// import gleam_community/maths/conversion
-/// import gleam_community/maths/piecewise
-///
-/// pub fn example() {
-/// conversion.float_to_int(12.0654)
-/// |> should.equal(12)
-///
-/// // Note: Making the following function call is equivalent
-/// // but instead of returning a value of type 'Int' a value
-/// // of type 'Float' is returned.
-/// piecewise.round(12.0654, option.Some(0), option.Some(piecewise.RoundToZero))
-/// |> should.equal(Ok(12.0))
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn float_to_int(x: Float) -> Int {
- do_to_int(x)
-}
-
-@external(erlang, "erlang", "trunc")
-@external(javascript, "../../maths.mjs", "truncate")
-fn do_to_int(a: Float) -> Int
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Convert a value in degrees to a value measured in radians.
-/// That is, $$1 \text{ degrees } = \frac{\pi}{180} \text{ radians }$$.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/conversion
-/// import gleam_community/maths/elementary
-///
-/// pub fn example() {
-/// conversion.degrees_to_radians(360.)
-/// |> should.equal(2. *. elementary.pi())
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn degrees_to_radians(x: Float) -> Float {
- x *. do_pi() /. 180.0
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Convert a value in degrees to a value measured in radians.
-/// That is, $$1 \text{ radians } = \frac{180}{\pi} \text{ degrees }$$.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/conversion
-/// import gleam_community/maths/elementary
-///
-/// pub fn example() {
-/// conversion.radians_to_degrees(0.0)
-/// |> should.equal(0.0)
-///
-/// conversion.radians_to_degrees(2. *. elementary.pi())
-/// |> should.equal(360.)
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn radians_to_degrees(x: Float) -> Float {
- x *. 180.0 /. do_pi()
-}
-
-@external(erlang, "math", "pi")
-@external(javascript, "../../maths.mjs", "pi")
-fn do_pi() -> Float
diff --git a/aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/elementary.gleam b/aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/elementary.gleam
deleted file mode 100644
index 1b518a4..0000000
--- a/aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/elementary.gleam
+++ /dev/null
@@ -1,1256 +0,0 @@
-////<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.css" integrity="sha384-GvrOXuhMATgEsSwCs4smul74iXGOixntILdUW9XmUC6+HX0sLNAK3q71HotJqlAn" crossorigin="anonymous">
-////<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.js" integrity="sha384-cpW21h6RZv/phavutF+AuVYrr+dA8xD9zs6FwLpaCct6O9ctzYFfFr4dgmgccOTx" crossorigin="anonymous"></script>
-////<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/contrib/auto-render.min.js" integrity="sha384-+VBxd3r6XgURycqtZ117nYw44OOcIax56Z4dCRWbxyPt0Koah1uHoK0o4+/RRE05" crossorigin="anonymous"></script>
-////<script>
-//// document.addEventListener("DOMContentLoaded", function() {
-//// renderMathInElement(document.body, {
-//// // customised options
-//// // • auto-render specific keys, e.g.:
-//// delimiters: [
-//// {left: '$$', right: '$$', display: false},
-//// // {left: '$', right: '$', display: false},
-//// // {left: '\\(', right: '\\)', display: false},
-//// {left: '\\[', right: '\\]', display: true}
-//// ],
-//// // • rendering keys, e.g.:
-//// throwOnError : false
-//// });
-//// });
-////</script>
-////<style>
-//// .katex { font-size: 1.1em; }
-////</style>
-////
-//// ---
-////
-//// Elementary: A module containing a comprehensive set of foundational mathematical functions and constants.
-////
-//// * **Trigonometric and hyperbolic functions**
-//// * [`acos`](#acos)
-//// * [`acosh`](#acosh)
-//// * [`asin`](#asin)
-//// * [`asinh`](#asinh)
-//// * [`atan`](#atan)
-//// * [`atan2`](#atan2)
-//// * [`atanh`](#atanh)
-//// * [`cos`](#cos)
-//// * [`cosh`](#cosh)
-//// * [`sin`](#sin)
-//// * [`sinh`](#sinh)
-//// * [`tan`](#tan)
-//// * [`tanh`](#tanh)
-//// * **Powers, logs and roots**
-//// * [`exponential`](#exponential)
-//// * [`natural_logarithm`](#natural_logarithm)
-//// * [`logarithm`](#logarithm)
-//// * [`logarithm_2`](#logarithm_2)
-//// * [`logarithm_10`](#logarithm_10)
-//// * [`power`](#power)
-//// * [`square_root`](#square_root)
-//// * [`cube_root`](#cube_root)
-//// * [`nth_root`](#nth_root)
-//// * **Mathematical constants**
-//// * [`pi`](#pi)
-//// * [`tau`](#tau)
-//// * [`e`](#e)
-////
-
-import gleam/int
-import gleam/option
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The inverse cosine function:
-///
-/// \\[
-/// \forall x \in \[-1, 1\], \\; \cos^{-1}{(x)} = y \in \[0, \pi \]
-/// \\]
-///
-/// The function takes a number $$x$$ in its domain $$\[-1, 1\]$$ as input and returns a
-/// numeric value $$y$$ that lies in the range $$\[0, \pi \]$$ (an angle in radians).
-/// If the input value is outside the domain of the function an error is returned.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-///
-/// pub fn example() {
-/// elementary.acos(1.0)
-/// |> should.equal(Ok(0.0))
-///
-/// elementary.acos(1.1)
-/// |> should.be_error()
-///
-/// elementary.acos(-1.1)
-/// |> should.be_error()
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn acos(x: Float) -> Result(Float, String) {
- case x >=. -1.0 && x <=. 1.0 {
- True ->
- do_acos(x)
- |> Ok
- False ->
- "Invalid input argument: x >= -1 or x <= 1. Valid input is -1. <= x <= 1."
- |> Error
- }
-}
-
-@external(erlang, "math", "acos")
-@external(javascript, "../../maths.mjs", "acos")
-fn do_acos(a: Float) -> Float
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The inverse hyperbolic cosine function:
-///
-/// \\[
-/// \forall x \in [1, +\infty\), \\; \cosh^{-1}{(x)} = y \in \[0, +\infty\)
-/// \\]
-///
-/// The function takes a number $$x$$ in its domain $$\[1, +\infty\)$$ as input and returns
-/// a numeric value $$y$$ that lies in the range $$\[0, +\infty\)$$ (an angle in radians).
-/// If the input value is outside the domain of the function an error is returned.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-///
-/// pub fn example() {
-/// elementary.acosh(1.0)
-/// |> should.equal(Ok(0.0))
-///
-/// elementary.acosh(0.0)
-/// |> should.be_error()
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn acosh(x: Float) -> Result(Float, String) {
- case x >=. 1.0 {
- True ->
- do_acosh(x)
- |> Ok
- False ->
- "Invalid input argument: x < 1. Valid input is x >= 1."
- |> Error
- }
-}
-
-@external(erlang, "math", "acosh")
-@external(javascript, "../../maths.mjs", "acosh")
-fn do_acosh(a: Float) -> Float
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The inverse sine function:
-///
-/// \\[
-/// \forall x \in \[-1, 1\], \\; \sin^{-1}{(x)} = y \in \(-\infty, +\infty\)
-/// \\]
-///
-/// The function takes a number $$x$$ in its domain $$\[-1, 1\]$$ as input and returns a numeric
-/// value $$y$$ that lies in the range $$\[-\frac{\pi}{2}, \frac{\pi}{2}\]$$ (an angle in radians).
-/// If the input value is outside the domain of the function an error is returned.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-///
-/// pub fn example() {
-/// elementary.asin(0.0)
-/// |> should.equal(Ok(0.0))
-///
-/// elementary.asin(1.1)
-/// |> should.be_error()
-///
-/// elementary.asin(-1.1)
-/// |> should.be_error()
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn asin(x: Float) -> Result(Float, String) {
- case x >=. -1.0 && x <=. 1.0 {
- True ->
- do_asin(x)
- |> Ok
- False ->
- "Invalid input argument: x >= -1 or x <= 1. Valid input is -1. <= x <= 1."
- |> Error
- }
-}
-
-@external(erlang, "math", "asin")
-@external(javascript, "../../maths.mjs", "asin")
-fn do_asin(a: Float) -> Float
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The inverse hyperbolic sine function:
-///
-/// \\[
-/// \forall x \in \(-\infty, \infty\), \\; \sinh^{-1}{(x)} = y \in \(-\infty, +\infty\)
-/// \\]
-///
-/// The function takes a number $$x$$ in its domain $$\(-\infty, +\infty\)$$ as input and returns
-/// a numeric value $$y$$ that lies in the range $$\(-\infty, +\infty\)$$ (an angle in radians).
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-///
-/// pub fn example() {
-/// elementary.asinh(0.0)
-/// |> should.equal(0.0)
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn asinh(x: Float) -> Float {
- do_asinh(x)
-}
-
-@external(erlang, "math", "asinh")
-@external(javascript, "../../maths.mjs", "asinh")
-fn do_asinh(a: Float) -> Float
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The inverse tangent function:
-///
-/// \\[
-/// \forall x \in \(-\infty, \infty\), \\; \tan^{-1}{(x)} = y \in \[-\frac{\pi}{2}, \frac{\pi}{2}\]
-/// \\]
-///
-/// The function takes a number $$x$$ in its domain $$\(-\infty, +\infty\)$$ as input and returns
-/// a numeric value $$y$$ that lies in the range $$\[-\frac{\pi}{2}, \frac{\pi}{2}\]$$ (an angle in radians).
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-///
-/// pub fn example() {
-/// elementary.atan(0.0)
-/// |> should.equal(0.0)
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn atan(x: Float) -> Float {
- do_atan(x)
-}
-
-@external(erlang, "math", "atan")
-@external(javascript, "../../maths.mjs", "atan")
-fn do_atan(a: Float) -> Float
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The inverse 2-argument tangent function:
-///
-/// \\[
-/// \text{atan2}(y, x) =
-/// \begin{cases}
-/// \tan^{-1}(\frac y x) &\text{if } x > 0, \\\\
-/// \tan^{-1}(\frac y x) + \pi &\text{if } x < 0 \text{ and } y \ge 0, \\\\
-/// \tan^{-1}(\frac y x) - \pi &\text{if } x < 0 \text{ and } y < 0, \\\\
-/// +\frac{\pi}{2} &\text{if } x = 0 \text{ and } y > 0, \\\\
-/// -\frac{\pi}{2} &\text{if } x = 0 \text{ and } y < 0, \\\\
-/// \text{undefined} &\text{if } x = 0 \text{ and } y = 0.
-/// \end{cases}
-/// \\]
-///
-/// The function returns the angle in radians from the x-axis to the line containing the
-/// origin $$\(0, 0\)$$ and a point given as input with coordinates $$\(x, y\)$$. The numeric value
-/// returned by $$\text{atan2}(y, x)$$ is in the range $$\[-\pi, \pi\]$$.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-///
-/// pub fn example() {
-/// elementary.atan2(0.0, 0.0)
-/// |> should.equal(0.0)
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn atan2(y: Float, x: Float) -> Float {
- do_atan2(y, x)
-}
-
-@external(erlang, "math", "atan2")
-@external(javascript, "../../maths.mjs", "atan2")
-fn do_atan2(a: Float, b: Float) -> Float
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The inverse hyperbolic tangent function:
-///
-/// \\[
-/// \forall x \in \(-1, 1\), \\; \tanh^{-1}{(x)} = y \in \(-\infty, +\infty\)
-/// \\]
-///
-/// The function takes a number $$x$$ in its domain $$\(-1, 1\)$$ as input and returns
-/// a numeric value $$y$$ that lies in the range $$\(-\infty, \infty\)$$ (an angle in radians).
-/// If the input value is outside the domain of the function an error is returned.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-///
-/// pub fn example() {
-/// elementary.atanh(0.0)
-/// |> should.equal(Ok(0.0))
-///
-/// elementary.atanh(1.0)
-/// |> should.be_error()
-///
-/// elementary.atanh(-1.0)
-/// |> should.be_error()
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn atanh(x: Float) -> Result(Float, String) {
- case x >. -1.0 && x <. 1.0 {
- True ->
- do_atanh(x)
- |> Ok
- False ->
- "Invalid input argument: x > -1 or x < 1. Valid input is -1. < x < 1."
- |> Error
- }
-}
-
-@external(erlang, "math", "atanh")
-@external(javascript, "../../maths.mjs", "atanh")
-fn do_atanh(a: Float) -> Float
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The cosine function:
-///
-/// \\[
-/// \forall x \in \(-\infty, +\infty\), \\; \cos{(x)} = y \in \[-1, 1\]
-/// \\]
-///
-/// The function takes a number $$x$$ in its domain $$\(-\infty, \infty\)$$ (an angle in radians)
-/// as input and returns a numeric value $$y$$ that lies in the range $$\[-1, 1\]$$.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-///
-/// pub fn example() {
-/// elementary.cos(0.0)
-/// |> should.equal(1.0)
-///
-/// elementary.cos(elementary.pi())
-/// |> should.equal(-1.0)
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn cos(x: Float) -> Float {
- do_cos(x)
-}
-
-@external(erlang, "math", "cos")
-@external(javascript, "../../maths.mjs", "cos")
-fn do_cos(a: Float) -> Float
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The hyperbolic cosine function:
-///
-/// \\[
-/// \forall x \in \(-\infty, \infty\), \\; \cosh{(x)} = y \in \(-\infty, +\infty\)
-/// \\]
-///
-/// The function takes a number $$x$$ in its domain $$\(-\infty, \infty\)$$ as input (an angle in radians)
-/// and returns a numeric value $$y$$ that lies in the range $$\(-\infty, \infty\)$$.
-/// If the input value is too large an overflow error might occur.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-///
-/// pub fn example() {
-/// elementary.cosh(0.0)
-/// |> should.equal(0.0)
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn cosh(x: Float) -> Float {
- do_cosh(x)
-}
-
-@external(erlang, "math", "cosh")
-@external(javascript, "../../maths.mjs", "cosh")
-fn do_cosh(a: Float) -> Float
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The sine function:
-///
-/// \\[
-/// \forall x \in \(-\infty, +\infty\), \\; \sin{(x)} = y \in \[-1, 1\]
-/// \\]
-///
-/// The function takes a number $$x$$ in its domain $$\(-\infty, \infty\)$$ (an angle in radians)
-/// as input and returns a numeric value $$y$$ that lies in the range $$\[-1, 1\]$$.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-///
-/// pub fn example() {
-/// elementary.sin(0.0)
-/// |> should.equal(0.0)
-///
-/// elementary.sin(0.5 *. elementary.pi())
-/// |> should.equal(1.0)
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn sin(x: Float) -> Float {
- do_sin(x)
-}
-
-@external(erlang, "math", "sin")
-@external(javascript, "../../maths.mjs", "sin")
-fn do_sin(a: Float) -> Float
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The hyperbolic sine function:
-///
-/// \\[
-/// \forall x \in \(-\infty, +\infty\), \\; \sinh{(x)} = y \in \(-\infty, +\infty\)
-/// \\]
-///
-/// The function takes a number $$x$$ in its domain $$\(-\infty, +\infty\)$$ as input
-/// (an angle in radians) and returns a numeric value $$y$$ that lies in the range
-/// $$\(-\infty, +\infty\)$$. If the input value is too large an overflow error might
-/// occur.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-///
-/// pub fn example() {
-/// elementary.sinh(0.0)
-/// |> should.equal(0.0)
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn sinh(x: Float) -> Float {
- do_sinh(x)
-}
-
-@external(erlang, "math", "sinh")
-@external(javascript, "../../maths.mjs", "sinh")
-fn do_sinh(a: Float) -> Float
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The tangent function:
-///
-/// \\[
-/// \forall x \in \(-\infty, +\infty\), \\; \tan{(x)} = y \in \(-\infty, +\infty\)
-/// \\]
-///
-/// The function takes a number $$x$$ in its domain $$\(-\infty, +\infty\)$$ as input
-/// (an angle in radians) and returns a numeric value $$y$$ that lies in the range
-/// $$\(-\infty, +\infty\)$$.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-///
-/// pub fn example() {
-/// elementary.tan(0.0)
-/// |> should.equal(0.0)
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn tan(x: Float) -> Float {
- do_tan(x)
-}
-
-@external(erlang, "math", "tan")
-@external(javascript, "../../maths.mjs", "tan")
-fn do_tan(a: Float) -> Float
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The hyperbolic tangent function:
-///
-/// \\[
-/// \forall x \in \(-\infty, \infty\), \\; \tanh{(x)} = y \in \[-1, 1\]
-/// \\]
-///
-/// The function takes a number $$x$$ in its domain $$\(-\infty, \infty\)$$ as input (an angle in radians)
-/// and returns a numeric value $$y$$ that lies in the range $$\[-1, 1\]$$.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-///
-/// pub fn example () {
-/// elementary.tanh(0.0)
-/// |> should.equal(0.0)
-///
-/// elementary.tanh(25.0)
-/// |> should.equal(1.0)
-///
-/// elementary.tanh(-25.0)
-/// |> should.equal(-1.0)
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn tanh(x: Float) -> Float {
- do_tanh(x)
-}
-
-@external(erlang, "math", "tanh")
-@external(javascript, "../../maths.mjs", "tanh")
-fn do_tanh(a: Float) -> Float
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The exponential function:
-///
-/// \\[
-/// \forall x \in \(-\infty, \infty\), \\; e^{(x)} = y \in \(0, +\infty\)
-/// \\]
-///
-/// $$e \approx 2.71828\dots$$ is Eulers' number.
-///
-/// Note: If the input value $$x$$ is too large an overflow error might occur.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-///
-/// pub fn example() {
-/// elementary.exponential(0.0)
-/// |> should.equal(1.0)
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn exponential(x: Float) -> Float {
- do_exponential(x)
-}
-
-@external(erlang, "math", "exp")
-@external(javascript, "../../maths.mjs", "exponential")
-fn do_exponential(a: Float) -> Float
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The natural logarithm function:
-///
-/// \\[
-/// \forall x \in \(0, \infty\), \\; \log_{e}{(x)} = y \in \(-\infty, +\infty\)
-/// \\]
-///
-/// The function takes a number $$x$$ in its domain $$\(0, \infty\)$$ as input and returns
-/// a numeric value $$y$$ that lies in the range $$\(-\infty, \infty\)$$.
-/// If the input value is outside the domain of the function an error is returned.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-///
-/// pub fn example () {
-/// elementary.natural_logarithm(1.0)
-/// |> should.equal(Ok(0.0))
-///
-/// elementary.natural_logarithm(elementary.e())
-/// |> should.equal(Ok(1.0))
-///
-/// elementary.natural_logarithm(-1.0)
-/// |> should.be_error()
-/// }
-/// </details>
-///
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn natural_logarithm(x: Float) -> Result(Float, String) {
- case x >. 0.0 {
- True ->
- do_natural_logarithm(x)
- |> Ok
- False ->
- "Invalid input argument: x <= 0. Valid input is x > 0."
- |> Error
- }
-}
-
-@external(erlang, "math", "log")
-@external(javascript, "../../maths.mjs", "logarithm")
-fn do_natural_logarithm(a: Float) -> Float
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The base $$b$$ logarithm function (computed through the "change of base" formula):
-///
-/// \\[
-/// \forall x \in \(0, \infty\) \textnormal{ and } b > 1, \\; \log_{b}{(x)} = y \in \(-\infty, +\infty\)
-/// \\]
-///
-/// The function takes a number $$x$$ in its domain $$\(0, \infty\)$$ and a base $$b > 1$$ as input and returns
-/// a numeric value $$y$$ that lies in the range $$\(-\infty, \infty\)$$.
-/// If the input value is outside the domain of the function an error is returned.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam/option
-/// import gleam_community/maths/elementary
-///
-/// pub fn example () {
-/// elementary.logarithm(1.0, option.Some(10.0))
-/// |> should.equal(Ok(0.0))
-///
-/// elementary.logarithm(elementary.e(), option.Some(elementary.e()))
-/// |> should.equal(Ok(1.0))
-///
-/// elementary.logarithm(-1.0, option.Some(2.0))
-/// |> should.be_error()
-/// }
-/// </details>
-///
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn logarithm(x: Float, base: option.Option(Float)) -> Result(Float, String) {
- case x >. 0.0 {
- True ->
- case base {
- option.Some(a) ->
- case a >. 0.0 && a != 1.0 {
- True -> {
- // Apply the "change of base formula"
- let assert Ok(numerator) = logarithm_10(x)
- let assert Ok(denominator) = logarithm_10(a)
- numerator /. denominator
- |> Ok
- }
- False ->
- "Invalid input argument: base <= 0 or base == 1. Valid input is base > 0 and base != 1."
- |> Error
- }
- _ ->
- "Invalid input argument: base <= 0 or base == 1. Valid input is base > 0 and base != 1."
- |> Error
- }
- _ ->
- "Invalid input argument: x <= 0. Valid input is x > 0."
- |> Error
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The The base-2 logarithm function:
-///
-/// \\[
-/// \forall x \in \(0, \infty), \\; \log_{2}{(x)} = y \in \(-\infty, +\infty\)
-/// \\]
-///
-/// The function takes a number $$x$$ in its domain $$\(0, \infty\)$$ as input and returns
-/// a numeric value $$y$$ that lies in the range $$\(-\infty, \infty\)$$.
-/// If the input value is outside the domain of the function an error is returned.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-///
-/// pub fn example () {
-/// elementary.logarithm_2(1.0)
-/// |> should.equal(Ok(0.0))
-///
-/// elementary.logarithm_2(2.0)
-/// |> should.equal(Ok(1.0))
-///
-/// elementary.logarithm_2(-1.0)
-/// |> should.be_error()
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn logarithm_2(x: Float) -> Result(Float, String) {
- case x >. 0.0 {
- True ->
- do_logarithm_2(x)
- |> Ok
- False ->
- "Invalid input argument: x <= 0. Valid input is x > 0."
- |> Error
- }
-}
-
-@external(erlang, "math", "log2")
-@external(javascript, "../../maths.mjs", "logarithm_2")
-fn do_logarithm_2(a: Float) -> Float
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The base-10 logarithm function:
-///
-/// \\[
-/// \forall x \in \(0, \infty), \\; \log_{10}{(x)} = y \in \(-\infty, +\infty\)
-/// \\]
-///
-/// The function takes a number $$x$$ in its domain $$\(0, \infty\)$$ as input and returns
-/// a numeric value $$y$$ that lies in the range $$\(-\infty, \infty\)$$.
-/// If the input value is outside the domain of the function an error is returned.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-///
-/// pub fn example () {
-/// elementary.logarithm_10(1.0)
-/// |> should.equal(Ok(0.0))
-///
-/// elementary.logarithm_10(10.0)
-/// |> should.equal(Ok(1.0))
-///
-/// elementary.logarithm_10(-1.0)
-/// |> should.be_error()
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn logarithm_10(x: Float) -> Result(Float, String) {
- case x >. 0.0 {
- True ->
- do_logarithm_10(x)
- |> Ok
- False ->
- "Invalid input argument: x <= 0. Valid input is x > 0."
- |> Error
- }
-}
-
-@external(erlang, "math", "log10")
-@external(javascript, "../../maths.mjs", "logarithm_10")
-fn do_logarithm_10(a: Float) -> Float
-
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The exponentiation function: $$y = x^{a}$$.
-///
-/// Note that the function is not defined if:
-/// 1. The base is negative ($$x < 0$$) and the exponent is fractional
-/// ($$a = \frac{n}{m}$$ is an irrreducible fraction). An error will be returned
-/// as an imaginary number will otherwise have to be returned.
-/// 2. The base is zero ($$x = 0$$) and the exponent is negative ($$a < 0$$) then the
-/// expression is equivalent to the exponent $$y$$ divided by $$0$$ and an
-/// error will have to be returned as the expression is otherwise undefined.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-///
-/// pub fn example() {
-/// elementary.power(2., -1.)
-/// |> should.equal(Ok(0.5))
-///
-/// elementary.power(2., 2.)
-/// |> should.equal(Ok(4.0))
-///
-/// elementary.power(-1., 0.5)
-/// |> should.be_error()
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn power(x: Float, y: Float) -> Result(Float, String) {
- let fractional: Bool = do_ceiling(y) -. y >. 0.0
- // In the following check:
- // 1. If the base (x) is negative and the exponent (y) is fractional
- // then return an error as it will otherwise be an imaginary number
- // 2. If the base (x) is 0 and the exponent (y) is negative then the
- // expression is equivalent to the exponent (y) divided by 0 and an
- // error should be returned
- case x <. 0.0 && fractional || x == 0.0 && y <. 0.0 {
- True ->
- "Invalid input argument: x < 0 and y is fractional or x = 0 and y < 0."
- |> Error
- False ->
- do_power(x, y)
- |> Ok
- }
-}
-
-@external(erlang, "math", "pow")
-@external(javascript, "../../maths.mjs", "power")
-fn do_power(a: Float, b: Float) -> Float
-
-@external(erlang, "math", "ceil")
-@external(javascript, "../../maths.mjs", "ceiling")
-fn do_ceiling(a: Float) -> Float
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The square root function: $$y = \sqrt[2]{x} = x^{\frac{1}{2}}$$.
-///
-/// Note that the function is not defined if:
-/// 1. The input is negative ($$x < 0$$). An error will be returned
-/// as an imaginary number will otherwise have to be returned.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-///
-/// pub fn example() {
-/// elementary.square_root(1.0)
-/// |> should.equal(Ok(1.0))
-///
-/// elementary.square_root(4.0)
-/// |> should.equal(Ok(2.0))
-///
-/// elementary.square_root(-1.0)
-/// |> should.be_error()
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn square_root(x: Float) -> Result(Float, String) {
- // In the following check:
- // 1. If x is negative then return an error as it will otherwise be an
- // imaginary number
- case x <. 0.0 {
- True ->
- "Invalid input argument: x < 0."
- |> Error
- False -> {
- let assert Ok(result) = power(x, 1.0 /. 2.0)
- result
- |> Ok
- }
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The cube root function: $$y = \sqrt[3]{x} = x^{\frac{1}{3}}$$.
-///
-/// Note that the function is not defined if:
-/// 1. The input is negative ($$x < 0$$). An error will be returned
-/// as an imaginary number will otherwise have to be returned.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-///
-/// pub fn example() {
-/// elementary.cube_root(1.0)
-/// |> should.equal(Ok(1.0))
-///
-/// elementary.cube_root(27.0)
-/// |> should.equal(Ok(3.0))
-///
-/// elementary.cube_root(-1.0)
-/// |> should.be_error()
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn cube_root(x: Float) -> Result(Float, String) {
- // In the following check:
- // 1. If x is negative then return an error as it will otherwise be an
- // imaginary number
- case x <. 0.0 {
- True ->
- "Invalid input argument: x < 0."
- |> Error
- False -> {
- let assert Ok(result) = power(x, 1.0 /. 3.0)
- result
- |> Ok
- }
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The $$n$$'th root function: $$y = \sqrt[n]{x} = x^{\frac{1}{n}}$$.
-///
-/// Note that the function is not defined if:
-/// 1. The input is negative ($$x < 0$$). An error will be returned
-/// as an imaginary number will otherwise have to be returned.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-///
-/// pub fn example() {
-/// elementary.nth_root(1.0, 2)
-/// |> should.equal(Ok(1.0))
-///
-/// elementary.nth_root(27.0, 3)
-/// |> should.equal(Ok(3.0))
-///
-/// elementary.nth_root(256.0, 4)
-/// |> should.equal(Ok(4.0))
-///
-/// elementary.nth_root(-1.0, 2)
-/// |> should.be_error()
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn nth_root(x: Float, n: Int) -> Result(Float, String) {
- // In the following check:
- // 1. If x is negative then return an error as it will otherwise be an
- // imaginary number
- case x <. 0.0 {
- True ->
- "Invalid input argument: x < 0. Valid input is x > 0"
- |> Error
- False ->
- case n >= 1 {
- True -> {
- let assert Ok(result) = power(x, 1.0 /. int.to_float(n))
- result
- |> Ok
- }
- False ->
- "Invalid input argument: n < 1. Valid input is n >= 2."
- |> Error
- }
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The mathematical constant pi: $$\pi \approx 3.1415\dots$$
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn pi() -> Float {
- do_pi()
-}
-
-@external(erlang, "math", "pi")
-@external(javascript, "../../maths.mjs", "pi")
-fn do_pi() -> Float
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The mathematical constant tau: $$\tau = 2 \cdot \pi \approx 6.283\dots$$
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn tau() -> Float {
- 2.0 *. pi()
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Euler's number $$e \approx 2.71828\dots$$.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-///
-/// pub fn example() {
-/// // Test that the constant is approximately equal to 2.7128...
-/// elementary.e()
-/// |> elementary.is_close(2.7128, 0.0, 0.000001)
-/// |> should.be_true()
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn e() -> Float {
- exponential(1.0)
-}
diff --git a/aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/metrics.gleam b/aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/metrics.gleam
deleted file mode 100644
index 1dab2b4..0000000
--- a/aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/metrics.gleam
+++ /dev/null
@@ -1,560 +0,0 @@
-////<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.css" integrity="sha384-GvrOXuhMATgEsSwCs4smul74iXGOixntILdUW9XmUC6+HX0sLNAK3q71HotJqlAn" crossorigin="anonymous">
-////<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.js" integrity="sha384-cpW21h6RZv/phavutF+AuVYrr+dA8xD9zs6FwLpaCct6O9ctzYFfFr4dgmgccOTx" crossorigin="anonymous"></script>
-////<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/contrib/auto-render.min.js" integrity="sha384-+VBxd3r6XgURycqtZ117nYw44OOcIax56Z4dCRWbxyPt0Koah1uHoK0o4+/RRE05" crossorigin="anonymous"></script>
-////<script>
-//// document.addEventListener("DOMContentLoaded", function() {
-//// renderMathInElement(document.body, {
-//// // customised options
-//// // • auto-render specific keys, e.g.:
-//// delimiters: [
-//// {left: '$$', right: '$$', display: false},
-//// // {left: '$', right: '$', display: false},
-//// // {left: '\\(', right: '\\)', display: false},
-//// {left: '\\[', right: '\\]', display: true}
-//// ],
-//// // • rendering keys, e.g.:
-//// throwOnError : false
-//// });
-//// });
-////</script>
-////<style>
-//// .katex { font-size: 1.1em; }
-////</style>
-////
-//// ---
-////
-//// Metrics: A module offering functions for calculating distances and other types of metrics.
-////
-//// * **Distances**
-//// * [`norm`](#norm)
-//// * [`manhatten_distance`](#float_manhatten_distance)
-//// * [`minkowski_distance`](#minkowski_distance)
-//// * [`euclidean_distance`](#euclidean_distance)
-//// * **Basic statistical measures**
-//// * [`mean`](#mean)
-//// * [`median`](#median)
-//// * [`variance`](#variance)
-//// * [`standard_deviation`](#standard_deviation)
-////
-
-import gleam_community/maths/elementary
-import gleam_community/maths/piecewise
-import gleam_community/maths/arithmetics
-import gleam_community/maths/predicates
-import gleam_community/maths/conversion
-import gleam/list
-import gleam/pair
-import gleam/float
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Calculcate the $$p$$-norm of a list (representing a vector):
-///
-/// \\[
-/// \left( \sum_{i=1}^n \left|x_i\right|^{p} \right)^{\frac{1}{p}}
-/// \\]
-///
-/// In the formula, $$n$$ is the length of the list and $$x_i$$ is the value in the input list indexed by $$i$$.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-/// import gleam_community/maths/metrics
-/// import gleam_community/maths/predicates
-///
-/// pub fn example () {
-/// let assert Ok(tol) = elementary.power(-10.0, -6.0)
-///
-/// [1.0, 1.0, 1.0]
-/// |> metrics.norm(1.0)
-/// |> predicates.is_close(3.0, 0.0, tol)
-/// |> should.be_true()
-///
-/// [1.0, 1.0, 1.0]
-/// |> metrics.norm(-1.0)
-/// |> predicates.is_close(0.3333333333333333, 0.0, tol)
-/// |> should.be_true()
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn norm(arr: List(Float), p: Float) -> Float {
- case arr {
- [] -> 0.0
- _ -> {
- let agg: Float =
- arr
- |> list.fold(
- 0.0,
- fn(acc: Float, a: Float) -> Float {
- let assert Ok(result) =
- elementary.power(piecewise.float_absolute_value(a), p)
- result +. acc
- },
- )
- let assert Ok(result) = elementary.power(agg, 1.0 /. p)
- result
- }
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Calculcate the Manhatten distance between two lists (representing vectors):
-///
-/// \\[
-/// \sum_{i=1}^n \left|x_i - y_i \right|
-/// \\]
-///
-/// In the formula, $$n$$ is the length of the two lists and $$x_i, y_i$$ are the values in the respective input lists indexed by $$i, j$$.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-/// import gleam_community/maths/metrics
-/// import gleam_community/maths/predicates
-///
-/// pub fn example () {
-/// let assert Ok(tol) = elementary.power(-10.0, -6.0)
-///
-/// // Empty lists returns 0.0
-/// metrics.float_manhatten_distance([], [])
-/// |> should.equal(Ok(0.0))
-///
-/// // Differing lengths returns error
-/// metrics.manhatten_distance([], [1.0])
-/// |> should.be_error()
-///
-/// let assert Ok(result) = metrics.manhatten_distance([0.0, 0.0], [1.0, 2.0])
-/// result
-/// |> predicates.is_close(3.0, 0.0, tol)
-/// |> should.be_true()
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn manhatten_distance(
- xarr: List(Float),
- yarr: List(Float),
-) -> Result(Float, String) {
- minkowski_distance(xarr, yarr, 1.0)
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Calculcate the Minkowski distance between two lists (representing vectors):
-///
-/// \\[
-/// \left( \sum_{i=1}^n \left|x_i - y_i \right|^{p} \right)^{\frac{1}{p}}
-/// \\]
-///
-/// In the formula, $$p >= 1$$ is the order, $$n$$ is the length of the two lists and $$x_i, y_i$$ are the values in the respective input lists indexed by $$i, j$$.
-///
-/// The Minkowski distance is a generalization of both the Euclidean distance ($$p=2$$) and the Manhattan distance ($$p = 1$$).
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-/// import gleam_community/maths/metrics
-/// import gleam_community/maths/predicates
-///
-/// pub fn example () {
-/// let assert Ok(tol) = elementary.power(-10.0, -6.0)
-///
-/// // Empty lists returns 0.0
-/// metrics.minkowski_distance([], [], 1.0)
-/// |> should.equal(Ok(0.0))
-///
-/// // Differing lengths returns error
-/// metrics.minkowski_distance([], [1.0], 1.0)
-/// |> should.be_error()
-///
-/// // Test order < 1
-/// metrics.minkowski_distance([0.0, 0.0], [0.0, 0.0], -1.0)
-/// |> should.be_error()
-///
-/// let assert Ok(result) = metrics.minkowski_distance([0.0, 0.0], [1.0, 2.0], 1.0)
-/// result
-/// |> predicates.is_close(3.0, 0.0, tol)
-/// |> should.be_true()
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn minkowski_distance(
- xarr: List(Float),
- yarr: List(Float),
- p: Float,
-) -> Result(Float, String) {
- let xlen: Int = list.length(xarr)
- let ylen: Int = list.length(yarr)
- case xlen == ylen {
- False ->
- "Invalid input argument: length(xarr) != length(yarr). Valid input is when length(xarr) == length(yarr)."
- |> Error
- True ->
- case p <. 1.0 {
- True ->
- "Invalid input argument: p < 1. Valid input is p >= 1."
- |> Error
- False ->
- list.zip(xarr, yarr)
- |> list.map(fn(tuple: #(Float, Float)) -> Float {
- pair.first(tuple) -. pair.second(tuple)
- })
- |> norm(p)
- |> Ok
- }
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Calculcate the Euclidean distance between two lists (representing vectors):
-///
-/// \\[
-/// \left( \sum_{i=1}^n \left|x_i - y_i \right|^{2} \right)^{\frac{1}{2}}
-/// \\]
-///
-/// In the formula, $$n$$ is the length of the two lists and $$x_i, y_i$$ are the values in the respective input lists indexed by $$i, j$$.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-/// import gleam_community/maths/metrics
-/// import gleam_community/maths/predicates
-///
-/// pub fn example () {
-/// let assert Ok(tol) = elementary.power(-10.0, -6.0)
-///
-/// // Empty lists returns 0.0
-/// metrics.euclidean_distance([], [])
-/// |> should.equal(Ok(0.0))
-///
-/// // Differing lengths returns error
-/// metrics.euclidean_distance([], [1.0])
-/// |> should.be_error()
-///
-/// let assert Ok(result) = metrics.euclidean_distance([0.0, 0.0], [1.0, 2.0])
-/// result
-/// |> predicates.is_close(2.23606797749979, 0.0, tol)
-/// |> should.be_true()
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn euclidean_distance(
- xarr: List(Float),
- yarr: List(Float),
-) -> Result(Float, String) {
- minkowski_distance(xarr, yarr, 2.0)
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/nicklasxyz/gleam_stats/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Calculcate the arithmetic mean of the elements in a list:
-///
-/// \\[
-/// \bar{x} = \frac{1}{n}\sum_{i=1}^n x_i
-/// \\]
-///
-/// In the formula, $$n$$ is the sample size (the length of the list) and
-/// $$x_i$$ is the sample point in the input list indexed by $$i$$.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/metrics
-///
-/// pub fn example () {
-/// // An empty list returns an error
-/// []
-/// |> metrics.mean()
-/// |> should.be_error()
-///
-/// // Valid input returns a result
-/// [1., 2., 3.]
-/// |> metrics.mean()
-/// |> should.equal(Ok(2.))
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn mean(arr: List(Float)) -> Result(Float, String) {
- case arr {
- [] ->
- "Invalid input argument: The list is empty."
- |> Error
- _ ->
- arr
- |> arithmetics.float_sum()
- |> fn(a: Float) -> Float {
- a /. conversion.int_to_float(list.length(arr))
- }
- |> Ok
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/nicklasxyz/gleam_stats/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Calculcate the median of the elements in a list.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/metrics
-///
-/// pub fn example () {
-/// // An empty list returns an error
-/// []
-/// |> metrics.median()
-/// |> should.be_error()
-///
-/// // Valid input returns a result
-/// [1., 2., 3.]
-/// |> metrics.median()
-/// |> should.equal(Ok(2.))
-///
-/// [1., 2., 3., 4.]
-/// |> metrics.median()
-/// |> should.equal(Ok(2.5))
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn median(arr: List(Float)) -> Result(Float, String) {
- case arr {
- [] ->
- "Invalid input argument: The list is empty."
- |> Error
- _ -> {
- let count: Int = list.length(arr)
- let mid: Int = list.length(arr) / 2
- let sorted: List(Float) = list.sort(arr, float.compare)
- case predicates.is_odd(count) {
- // If there is an odd number of elements in the list, then the median
- // is just the middle value
- True -> {
- let assert Ok(val0) = list.at(sorted, mid)
- val0
- |> Ok
- }
- // If there is an even number of elements in the list, then the median
- // is the mean of the two middle values
- False -> {
- let assert Ok(val0) = list.at(sorted, mid - 1)
- let assert Ok(val1) = list.at(sorted, mid)
- [val0, val1]
- |> mean()
- }
- }
- }
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/nicklasxyz/gleam_stats/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Calculcate the sample variance of the elements in a list:
-/// \\[
-/// s^{2} = \frac{1}{n - d} \sum_{i=1}^{n}(x_i - \bar{x})
-/// \\]
-///
-/// In the formula, $$n$$ is the sample size (the length of the list) and
-/// $$x_i$$ is the sample point in the input list indexed by $$i$$.
-/// Furthermore, $$\bar{x}$$ is the sample mean and $$d$$ is the "Delta
-/// Degrees of Freedom", and is by default set to $$d = 0$$, which gives a biased
-/// estimate of the sample variance. Setting $$d = 1$$ gives an unbiased estimate.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/metrics
-///
-/// pub fn example () {
-/// // Degrees of freedom
-/// let ddof: Int = 1
-///
-/// // An empty list returns an error
-/// []
-/// |> metrics.variance(ddof)
-/// |> should.be_error()
-///
-/// // Valid input returns a result
-/// [1., 2., 3.]
-/// |> metrics.variance(ddof)
-/// |> should.equal(Ok(1.))
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn variance(arr: List(Float), ddof: Int) -> Result(Float, String) {
- case arr {
- [] ->
- "Invalid input argument: The list is empty."
- |> Error
- _ ->
- case ddof < 0 {
- True ->
- "Invalid input argument: ddof < 0. Valid input is ddof >= 0."
- |> Error
- False -> {
- let assert Ok(mean) = mean(arr)
- arr
- |> list.map(fn(a: Float) -> Float {
- let assert Ok(result) = elementary.power(a -. mean, 2.0)
- result
- })
- |> arithmetics.float_sum()
- |> fn(a: Float) -> Float {
- a /. {
- conversion.int_to_float(list.length(arr)) -. conversion.int_to_float(
- ddof,
- )
- }
- }
- |> Ok
- }
- }
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/nicklasxyz/gleam_stats/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Calculcate the sample standard deviation of the elements in a list:
-/// \\[
-/// s = \left(\frac{1}{n - d} \sum_{i=1}^{n}(x_i - \bar{x})\right)^{\frac{1}{2}}
-/// \\]
-///
-/// In the formula, $$n$$ is the sample size (the length of the list) and
-/// $$x_i$$ is the sample point in the input list indexed by $$i$$.
-/// Furthermore, $$\bar{x}$$ is the sample mean and $$d$$ is the "Delta
-/// Degrees of Freedom", and is by default set to $$d = 0$$, which gives a biased
-/// estimate of the sample standard deviation. Setting $$d = 1$$ gives an unbiased estimate.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/metrics
-///
-/// pub fn example () {
-/// // Degrees of freedom
-/// let ddof: Int = 1
-///
-/// // An empty list returns an error
-/// []
-/// |> metrics.standard_deviationddof)
-/// |> should.be_error()
-///
-/// // Valid input returns a result
-/// [1., 2., 3.]
-/// |> metrics.standard_deviation(ddof)
-/// |> should.equal(Ok(1.))
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn standard_deviation(arr: List(Float), ddof: Int) -> Result(Float, String) {
- case arr {
- [] ->
- "Invalid input argument: The list is empty."
- |> Error
- _ ->
- case ddof < 0 {
- True ->
- "Invalid input argument: ddof < 0. Valid input is ddof >= 0."
- |> Error
- False -> {
- let assert Ok(variance) = variance(arr, ddof)
- // The computed variance will always be positive
- // So an error should never be returned
- let assert Ok(stdev) = elementary.square_root(variance)
- stdev
- |> Ok
- }
- }
- }
-}
diff --git a/aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/piecewise.gleam b/aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/piecewise.gleam
deleted file mode 100644
index 3b40a18..0000000
--- a/aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/piecewise.gleam
+++ /dev/null
@@ -1,1228 +0,0 @@
-////<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.css" integrity="sha384-GvrOXuhMATgEsSwCs4smul74iXGOixntILdUW9XmUC6+HX0sLNAK3q71HotJqlAn" crossorigin="anonymous">
-////<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.js" integrity="sha384-cpW21h6RZv/phavutF+AuVYrr+dA8xD9zs6FwLpaCct6O9ctzYFfFr4dgmgccOTx" crossorigin="anonymous"></script>
-////<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/contrib/auto-render.min.js" integrity="sha384-+VBxd3r6XgURycqtZ117nYw44OOcIax56Z4dCRWbxyPt0Koah1uHoK0o4+/RRE05" crossorigin="anonymous"></script>
-////<script>
-//// document.addEventListener("DOMContentLoaded", function() {
-//// renderMathInElement(document.body, {
-//// // customised options
-//// // • auto-render specific keys, e.g.:
-//// delimiters: [
-//// {left: '$$', right: '$$', display: false},
-//// // {left: '$', right: '$', display: false},
-//// // {left: '\\(', right: '\\)', display: false},
-//// {left: '\\[', right: '\\]', display: true}
-//// ],
-//// // • rendering keys, e.g.:
-//// throwOnError : false
-//// });
-//// });
-////</script>
-////<style>
-//// .katex { font-size: 1.1em; }
-////</style>
-////
-//// ---
-////
-//// Piecewise: A module containing functions that have different definitions depending on conditions or intervals of their domain.
-////
-//// * **Rounding functions**
-//// * [`ceiling`](#ceiling)
-//// * [`floor`](#floor)
-//// * [`truncate`](#truncate)
-//// * [`round`](#round)
-//// * **Sign and absolute value functions**
-//// * [`float_absolute_value`](#float_absolute_value)
-//// * [`int_absolute_value`](#int_absolute_value)
-//// * [`float_absolute_difference`](#float_absolute_difference)
-//// * [`int_absolute_difference`](#int_absolute_difference)
-//// * [`float_sign`](#float_sign)
-//// * [`int_sign`](#int_sign)
-//// * [`float_copy_sign`](#float_copy_sign)
-//// * [`int_copy_sign`](#float_copy_sign)
-//// * [`float_flip_sign`](#float_flip_sign)
-//// * [`int_flip_sign`](#int_flip_sign)
-//// * **Misc. mathematical functions**
-//// * [`minimum`](#minimum)
-//// * [`maximum`](#maximum)
-//// * [`minmax`](#minmax)
-//// * [`list_minimum`](#list_minimum)
-//// * [`list_maximum`](#list_maximum)
-//// * [`extrema`](#extrema)
-//// * [`arg_minimum`](#arg_minimum)
-//// * [`arg_maximum`](#arg_maximum)
-////
-
-import gleam/option
-import gleam/list
-import gleam/order
-import gleam/pair
-import gleam/int
-import gleam_community/maths/conversion
-import gleam_community/maths/elementary
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The ceiling function rounds a given input value $$x \in \mathbb{R}$$ to the nearest integer value (at the specified digit) that is larger than or equal to the input $$x$$.
-///
-/// Note: The ceiling function is used as an alias for the rounding function [`round`](#round) with rounding mode `RoundUp`.
-///
-/// <details>
-/// <summary>Details</summary>
-///
-/// For example, $$12.0654$$ is rounded to:
-/// - $$13.0$$ for 0 digits after the decimal point (`digits = 0`)
-/// - $$12.1$$ for 1 digit after the decimal point (`digits = 1`)
-/// - $$12.07$$ for 2 digits after the decimal point (`digits = 2`)
-/// - $$12.066$$ for 3 digits after the decimal point (`digits = 3`)
-///
-/// It is also possible to specify a negative number of digits. In that case, the negative number refers to the digits before the decimal point.
-/// For example, $$12.0654$$ is rounded to:
-/// - $$20.0$$ for 1 digit places before the decimal point (`digit = -1`)
-/// - $$100.0$$ for 2 digits before the decimal point (`digits = -2`)
-/// - $$1000.0$$ for 3 digits before the decimal point (`digits = -3`)
-///
-/// </details>
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam/option
-/// import gleam_community/maths/piecewise
-///
-/// pub fn example() {
-/// piecewise.ceiling(12.0654, option.Some(1))
-/// |> should.equal(Ok(12.1))
-///
-/// piecewise.ceiling(12.0654, option.Some(2))
-/// |> should.equal(Ok(12.07))
-///
-/// piecewise.ceiling(12.0654, option.Some(3))
-/// |> should.equal(Ok(12.066))
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn ceiling(x: Float, digits: option.Option(Int)) -> Result(Float, String) {
- round(x, digits, option.Some(RoundUp))
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The floor function rounds input $$x \in \mathbb{R}$$ to the nearest integer value (at the specified digit) that is less than or equal to the input $$x$$.
-///
-/// Note: The floor function is used as an alias for the rounding function [`round`](#round) with rounding mode `RoundDown`.
-///
-/// <details>
-/// <summary>Details</summary>
-///
-/// For example, $$12.0654$$ is rounded to:
-/// - $$12.0$$ for 0 digits after the decimal point (`digits = 0`)
-/// - $$12.0$$ for 1 digits after the decimal point (`digits = 1`)
-/// - $$12.06$$ for 2 digits after the decimal point (`digits = 2`)
-/// - $$12.065$$ for 3 digits after the decimal point (`digits = 3`)
-///
-/// It is also possible to specify a negative number of digits. In that case, the negative number refers to the digits before the decimal point.
-/// - $$10.0$$ for 1 digit before the decimal point (`digits = -1`)
-/// - $$0.0$$ for 2 digits before the decimal point (`digits = -2`)
-/// - $$0.0$$ for 3 digits before the decimal point (`digits = -3`)
-///
-/// </details>
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam/option
-/// import gleam_community/maths/piecewise
-///
-/// pub fn example() {
-/// piecewise.floor(12.0654, option.Some(1))
-/// |> should.equal(Ok(12.0))
-///
-/// piecewise.floor(12.0654, option.Some(2))
-/// |> should.equal(Ok(12.06))
-///
-/// piecewise.floor(12.0654, option.Some(3))
-/// |> should.equal(Ok(12.065))
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn floor(x: Float, digits: option.Option(Int)) -> Result(Float, String) {
- round(x, digits, option.Some(RoundDown))
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The truncate function rounds a given input $$x \in \mathbb{R}$$ to the nearest integer value (at the specified digit) that is less than or equal to the absolute value of the input $$x$$.
-///
-/// Note: The truncate function is used as an alias for the rounding function [`round`](#round) with rounding mode `RoundToZero`.
-///
-/// <details>
-/// <summary>Details</summary>
-///
-/// For example, $$12.0654$$ is rounded to:
-/// - $$12.0$$ for 0 digits after the decimal point (`digits = 0`)
-/// - $$12.0$$ for 1 digits after the decimal point (`digits = 1`)
-/// - $$12.06$$ for 2 digits after the decimal point (`digits = 2`)
-/// - $$12.065$$ for 3 digits after the decimal point (`digits = 3`)
-///
-/// It is also possible to specify a negative number of digits. In that case, the negative number refers to the digits before the decimal point.
-/// - $$10.0$$ for 1 digit before the decimal point (`digits = -1`)
-/// - $$0.0$$ for 2 digits before the decimal point (`digits = -2`)
-/// - $$0.0$$ for 3 digits before the decimal point (`digits = -3`)
-///
-/// </details>
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam/option
-/// import gleam_community/maths/piecewise
-///
-/// pub fn example() {
-/// piecewise.truncate(12.0654, option.Some(1))
-/// |> should.equal(Ok(12.0))
-///
-/// piecewise.truncate(12.0654, option.Some(2))
-/// |> should.equal(Ok(12.0))
-///
-/// piecewise.truncate(12.0654, option.Some(3))
-/// |> should.equal(Ok(12.0))
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn truncate(x: Float, digits: option.Option(Int)) -> Result(Float, String) {
- round(x, digits, option.Some(RoundToZero))
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The function rounds a float to a specific number of digits (after the decimal place or before if negative) using a specified rounding mode.
-///
-/// Valid rounding modes include:
-/// - `RoundNearest` (default): The input $$x$$ is rounded to the nearest integer value (at the specified digit) with ties (fractional values of 0.5) being rounded to the nearest even integer.
-/// - `RoundTiesAway`: The input $$x$$ is rounded to the nearest integer value (at the specified digit) with ties (fractional values of 0.5) being rounded away from zero (C/C++ rounding behavior).
-/// - `RoundTiesUp`: The input $$x$$ is rounded to the nearest integer value (at the specified digit) with ties (fractional values of 0.5) being rounded towards $$+\infty$$ (Java/JavaScript rounding behaviour).
-/// - `RoundToZero`: The input $$x$$ is rounded to the nearest integer value (at the specified digit) that is less than or equal to the absolute value of the input $$x$$. An alias for this rounding mode is [`truncate`](#truncate).
-/// - `RoundDown`: The input $$x$$ is rounded to the nearest integer value (at the specified digit) that is less than or equal to the input $$x$$. An alias for this rounding mode is [`floor`](#floor).
-/// - `RoundUp`: The input $$x$$ is rounded to the nearest integer value (at the specified digit) that is larger than or equal to the input $$x$$. An alias for this rounding mode is [`ceiling`](#ceiling).
-///
-/// <details>
-/// <summary>Details</summary>
-///
-/// The `RoundNearest` rounding mode, rounds $$12.0654$$ to:
-/// - $$12.0$$ for 0 digits after the decimal point (`digits = 0`)
-/// - $$12.1$$ for 1 digit after the decimal point (`digits = 1`)
-/// - $$12.07$$ for 2 digits after the decimal point (`digits = 2`)
-/// - $$12.065$$ for 3 digits after the decimal point (`digits = 3`)
-///
-/// It is also possible to specify a negative number of digits. In that case, the negative number refers to the digits before the decimal point.
-/// - $$10.0$$ for 1 digit before the decimal point (`digits = -1`)
-/// - $$0.0$$ for 2 digits before the decimal point (`digits = -2`)
-/// - $$0.0$$ for 3 digits before the decimal point (`digits = -3`)
-///
-/// The `RoundTiesAway` rounding mode, rounds $$12.0654$$ to:
-/// - $$12.0$$ for 0 digits after the decimal point (`digits = 0`)
-/// - $$12.1$$ for 1 digit after the decimal point (`digits = 1`)
-/// - $$12.07$$ for 2 digits after the decimal point (`digits = 2`)
-/// - $$12.065$$ for 3 digits after the decimal point (`digits = 3`)
-///
-/// It is also possible to specify a negative number of digits. In that case, the negative number refers to the digits before the decimal point.
-/// - $$10.0$$ for 1 digit before the decimal point (`digits = -1`)
-/// - $$0.0$$ for 2 digits before the decimal point (`digits = -2`)
-/// - $$0.0$$ for 3 digits before the decimal point (`digits = -3`)
-///
-/// The `RoundTiesUp` rounding mode, rounds $$12.0654$$ to:
-/// - $$12.0$$ for 0 digits after the decimal point (`digits = 0`)
-/// - $$12.1$$ for 1 digits after the decimal point (`digits = 1`)
-/// - $$12.07$$ for 2 digits after the decimal point (`digits = 2`)
-/// - $$12.065$$ for 3 digits after the decimal point (`digits = 3`)
-///
-/// It is also possible to specify a negative number of digits. In that case, the negative number refers to the digits before the decimal point.
-/// - $$10.0$$ for 1 digit before the decimal point (`digits = -1`)
-/// - $$0.0$$ for 2 digits before the decimal point (`digits = -2`)
-/// - $$0.0$$ for 3 digits before the decimal point (`digits = -3`)
-///
-/// The `RoundToZero` rounding mode, rounds $$12.0654$$ to:
-/// - $$12.0$$ for 0 digits after the decimal point (`digits = 0`)
-/// - $$12.0$$ for 1 digit after the decimal point (`digits = 1`)
-/// - $$12.06$$ for 2 digits after the decimal point (`digits = 2`)
-/// - $$12.065$$ for 3 digits after the decimal point (`digits = 3`)
-///
-/// It is also possible to specify a negative number of digits. In that case, the negative number refers to the digits before the decimal point.
-/// - $$10.0$$ for 1 digit before the decimal point (`digits = -1`)
-/// - $$0.0$$ for 2 digits before the decimal point (`digits = -2`)
-/// - $$0.0$$ for 3 digits before the decimal point (`digits = -3`)
-///
-/// The `RoundDown` rounding mode, rounds $$12.0654$$ to:
-/// - $$12.0$$ for 0 digits after the decimal point (`digits = 0`)
-/// - $$12.0$$ for 1 digits after the decimal point (`digits = 1`)
-/// - $$12.06$$ for 2 digits after the decimal point (`digits = 2`)
-/// - $$12.065$$ for 3 digits after the decimal point (`digits = 3`)
-///
-/// It is also possible to specify a negative number of digits. In that case, the negative number refers to the digits before the decimal point.
-/// - $$10.0$$ for 1 digit before the decimal point (`digits = -1`)
-/// - $$0.0$$ for 2 digits before the decimal point (`digits = -2`)
-/// - $$0.0$$ for 3 digits before the decimal point (`digits = -3`)
-///
-/// The `RoundUp` rounding mode, rounds $$12.0654$$ to:
-/// - $$13.0$$ for 0 digits after the decimal point (`digits = 0`)
-/// - $$12.1$$ for 1 digit after the decimal point (`digits = 1`)
-/// - $$12.07$$ for 2 digits after the decimal point (`digits = 2`)
-/// - $$12.066$$ for 3 digits after the decimal point (`digits = 3`)
-///
-/// It is also possible to specify a negative number of digits. In that case, the negative number refers to the digits before the decimal point.
-/// - $$20.0$$ for 1 digit places before the decimal point (`digit = -1`)
-/// - $$100.0$$ for 2 digits before the decimal point (`digits = -2`)
-/// - $$1000.0$$ for 3 digits before the decimal point (`digits = -3`)
-///
-/// </details>
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam/option
-/// import gleam_community/maths/piecewise
-///
-/// pub fn example() {
-/// // The default number of digits is 0 if None is provided
-/// piecewise.round(12.0654, option.None, option.Some(piecewise.RoundNearest))
-/// |> should.equal(Ok(12.0))
-///
-/// // The default rounding mode is "RoundNearest" if None is provided
-/// piecewise.round(12.0654, option.None, option.None)
-/// |> should.equal(Ok(12.0))
-///
-/// // Try different rounding modes
-/// piecewise.round(12.0654, option.Some(2), option.Some(piecewise.RoundNearest))
-/// |> should.equal(Ok(12.07))
-///
-/// piecewise.round(12.0654, option.Some(2), option.Some(piecewise.RoundTiesAway))
-/// |> should.equal(Ok(12.07))
-///
-/// piecewise.round(12.0654, option.Some(2), option.Some(piecewise.RoundTiesUp))
-/// |> should.equal(Ok(12.07))
-///
-/// piecewise.round(12.0654, option.Some(2), option.Some(piecewise.RoundToZero))
-/// |> should.equal(Ok(12.06))
-///
-/// piecewise.round(12.0654, option.Some(2), option.Some(piecewise.RoundDown))
-/// |> should.equal(Ok(12.06))
-///
-/// piecewise.round(12.0654, option.Some(2), option.Some(piecewise.RoundUp))
-/// |> should.equal(Ok(12.07))
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn round(
- x: Float,
- digits: option.Option(Int),
- mode: option.Option(RoundingMode),
-) -> Result(Float, String) {
- case digits {
- option.Some(a) -> {
- let assert Ok(p) = elementary.power(10.0, conversion.int_to_float(a))
- // Round the given input x using at the specified digit
- do_round(p, x, mode)
- }
- // Round the given input x using at the default digit
- option.None -> do_round(1.0, x, mode)
- }
-}
-
-pub type RoundingMode {
- RoundNearest
- RoundTiesAway
- RoundTiesUp
- RoundToZero
- RoundDown
- RoundUp
-}
-
-fn do_round(
- p: Float,
- x: Float,
- mode: option.Option(RoundingMode),
-) -> Result(Float, String) {
- case mode {
- // Determine the rounding mode
- option.Some(RoundNearest) ->
- round_to_nearest(p, x)
- |> Ok
- option.Some(RoundTiesAway) ->
- round_ties_away(p, x)
- |> Ok
- option.Some(RoundTiesUp) ->
- round_ties_up(p, x)
- |> Ok
- option.Some(RoundToZero) ->
- round_to_zero(p, x)
- |> Ok
- option.Some(RoundDown) ->
- round_down(p, x)
- |> Ok
- option.Some(RoundUp) ->
- round_up(p, x)
- |> Ok
- // Otherwise, use the default rounding mode
- option.None ->
- round_to_nearest(p, x)
- |> Ok
- }
-}
-
-fn round_to_nearest(p: Float, x: Float) -> Float {
- let xabs: Float = float_absolute_value(x) *. p
- let xabs_truncated: Float = truncate_float(xabs)
- let remainder: Float = xabs -. xabs_truncated
- case remainder {
- _ if remainder >. 0.5 -> float_sign(x) *. truncate_float(xabs +. 1.0) /. p
- _ if remainder == 0.5 -> {
- let assert Ok(is_even) = int.modulo(conversion.float_to_int(xabs), 2)
- case is_even == 0 {
- True -> float_sign(x) *. xabs_truncated /. p
- False -> float_sign(x) *. truncate_float(xabs +. 1.0) /. p
- }
- }
- _ -> float_sign(x) *. xabs_truncated /. p
- }
-}
-
-fn round_ties_away(p: Float, x: Float) -> Float {
- let xabs: Float = float_absolute_value(x) *. p
- let remainder: Float = xabs -. truncate_float(xabs)
- case remainder {
- _ if remainder >=. 0.5 -> float_sign(x) *. truncate_float(xabs +. 1.0) /. p
- _ -> float_sign(x) *. truncate_float(xabs) /. p
- }
-}
-
-fn round_ties_up(p: Float, x: Float) -> Float {
- let xabs: Float = float_absolute_value(x) *. p
- let xabs_truncated: Float = truncate_float(xabs)
- let remainder: Float = xabs -. xabs_truncated
- case remainder {
- _ if remainder >=. 0.5 && x >=. 0.0 ->
- float_sign(x) *. truncate_float(xabs +. 1.0) /. p
- _ -> float_sign(x) *. xabs_truncated /. p
- }
-}
-
-// Rounding mode: ToZero / Truncate
-fn round_to_zero(p: Float, x: Float) -> Float {
- truncate_float(x *. p) /. p
-}
-
-fn truncate_float(x: Float) -> Float {
- do_truncate_float(x)
-}
-
-@external(erlang, "erlang", "trunc")
-@external(javascript, "../../maths.mjs", "truncate")
-fn do_truncate_float(a: Float) -> Float
-
-// Rounding mode: Down / Floor
-fn round_down(p: Float, x: Float) -> Float {
- do_floor(x *. p) /. p
-}
-
-@external(erlang, "math", "floor")
-@external(javascript, "../../maths.mjs", "floor")
-fn do_floor(a: Float) -> Float
-
-// Rounding mode: Up / Ceiling
-fn round_up(p: Float, x: Float) -> Float {
- do_ceiling(x *. p) /. p
-}
-
-@external(erlang, "math", "ceil")
-@external(javascript, "../../maths.mjs", "ceiling")
-fn do_ceiling(a: Float) -> Float
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The absolute value:
-///
-/// \\[
-/// \forall x, y \in \mathbb{R}, \\; |x| \in \mathbb{R}_{+}.
-/// \\]
-///
-/// The function takes an input $$x$$ and returns a positive float value.
-///
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn float_absolute_value(x: Float) -> Float {
- case x >. 0.0 {
- True -> x
- False -> -1.0 *. x
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The absolute value:
-///
-/// \\[
-/// \forall x, y \in \mathbb{Z}, \\; |x| \in \mathbb{Z}_{+}.
-/// \\]
-///
-/// The function takes an input $$x$$ and returns a positive integer value.
-///
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn int_absolute_value(x: Int) -> Int {
- case x > 0 {
- True -> x
- False -> -1 * x
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The absolute difference:
-///
-/// \\[
-/// \forall x, y \in \mathbb{R}, \\; |x - y| \in \mathbb{R}_{+}.
-/// \\]
-///
-/// The function takes two inputs $$x$$ and $$y$$ and returns a positive float
-/// value which is the the absolute difference of the inputs.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/piecewise
-///
-/// pub fn example() {
-/// piecewise.float_absolute_difference(-10.0, 10.0)
-/// |> should.equal(20.0)
-///
-/// piecewise.float_absolute_difference(0.0, -2.0)
-/// |> should.equal(2.0)
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn float_absolute_difference(a: Float, b: Float) -> Float {
- a -. b
- |> float_absolute_value()
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The absolute difference:
-///
-/// \\[
-/// \forall x, y \in \mathbb{Z}, \\; |x - y| \in \mathbb{Z}_{+}.
-/// \\]
-///
-/// The function takes two inputs $$x$$ and $$y$$ and returns a positive integer value which is the the absolute difference of the inputs.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/piecewise
-///
-/// pub fn example() {
-/// piecewise.absolute_difference(-10, 10)
-/// |> should.equal(20)
-///
-/// piecewise.absolute_difference(0, -2)
-/// |> should.equal(2)
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn int_absolute_difference(a: Int, b: Int) -> Int {
- a - b
- |> int_absolute_value()
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The function takes an input $$x \in \mathbb{R}$$ and returns the sign of
-/// the input, indicating whether it is positive (+1.0), negative (-1.0), or
-/// zero (0.0).
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn float_sign(x: Float) -> Float {
- do_float_sign(x)
-}
-
-@target(erlang)
-fn do_float_sign(x: Float) -> Float {
- case x <. 0.0 {
- True -> -1.0
- False ->
- case x == 0.0 {
- True -> 0.0
- False -> 1.0
- }
- }
-}
-
-@target(javascript)
-@external(javascript, "../../maths.mjs", "sign")
-fn do_float_sign(a: Float) -> Float
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The function takes an input $$x \in \mathbb{Z}$$ and returns the sign of
-/// the input, indicating whether it is positive (+1), negative (-1), or zero
-/// (0).
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn int_sign(x: Int) -> Int {
- do_int_sign(x)
-}
-
-@target(erlang)
-fn do_int_sign(x: Int) -> Int {
- case x < 0 {
- True -> -1
- False ->
- case x == 0 {
- True -> 0
- False -> 1
- }
- }
-}
-
-@target(javascript)
-@external(javascript, "../../maths.mjs", "sign")
-fn do_int_sign(a: Int) -> Int
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The function takes two arguments $$x, y \in \mathbb{R}$$ and returns $$x$$ such that it has the same sign as $$y$$.
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn float_copy_sign(x: Float, y: Float) -> Float {
- case float_sign(x) == float_sign(y) {
- // x and y have the same sign, just return x
- True -> x
- // x and y have different signs:
- // - x is positive and y is negative, then flip sign of x
- // - x is negative and y is positive, then flip sign of x
- False -> float_flip_sign(x)
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The function takes two arguments $$x, y \in \mathbb{Z}$$ and returns $$x$$ such that it has the same sign as $$y$$.
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn int_copy_sign(x: Int, y: Int) -> Int {
- case int_sign(x) == int_sign(y) {
- // x and y have the same sign, just return x
- True -> x
- // x and y have different signs:
- // - x is positive and y is negative, then flip sign of x
- // - x is negative and y is positive, then flip sign of x
- False -> int_flip_sign(x)
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The function flips the sign of a given input value $$x \in \mathbb{R}$$.
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn float_flip_sign(x: Float) -> Float {
- -1.0 *. x
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The function flips the sign of a given input value $$x \in \mathbb{Z}$$.
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn int_flip_sign(x: Int) -> Int {
- -1 * x
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The minimum function takes two arguments $$x, y$$ along with a function
-/// for comparing $$x, y$$. The function returns the smallest of the two given
-/// values.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam/float
-/// import gleam_community/maths/piecewise
-///
-/// pub fn example() {
-/// piecewise.minimum(2.0, 1.5, float.compare)
-/// |> should.equal(1.5)
-///
-/// piecewise.minimum(1.5, 2.0, float.compare)
-/// |> should.equal(1.5)
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn minimum(x: a, y: a, compare: fn(a, a) -> order.Order) -> a {
- case compare(x, y) {
- order.Lt -> x
- order.Eq -> x
- order.Gt -> y
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The maximum function takes two arguments $$x, y$$ along with a function
-/// for comparing $$x, y$$. The function returns the largest of the two given
-/// values.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam/float
-/// import gleam_community/maths/piecewise
-///
-/// pub fn example() {
-/// piecewise.maximum(2.0, 1.5, float.compare)
-/// |> should.equal(1.5)
-///
-/// piecewise.maximum(1.5, 2.0, float.compare)
-/// |> should.equal(1.5)
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn maximum(x: a, y: a, compare: fn(a, a) -> order.Order) -> a {
- case compare(x, y) {
- order.Lt -> y
- order.Eq -> y
- order.Gt -> x
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The minmax function takes two arguments $$x, y$$ along with a function
-/// for comparing $$x, y$$. The function returns a tuple with the smallest
-/// value first and largest second.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam/float
-/// import gleam_community/maths/piecewise
-///
-/// pub fn example() {
-/// piecewise.minmax(2.0, 1.5, float.compare)
-/// |> should.equal(#(1.5, 2.0))
-///
-/// piecewise.minmax(1.5, 2.0, float.compare)
-/// |> should.equal(#(1.5, 2.0))
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn minmax(x: a, y: a, compare: fn(a, a) -> order.Order) -> #(a, a) {
- #(minimum(x, y, compare), maximum(x, y, compare))
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Returns the minimum value of a given list.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam/int
-/// import gleam_community/maths/piecewise
-///
-/// pub fn example () {
-/// // An empty lists returns an error
-/// []
-/// |> piecewise.list_minimum(int.compare)
-/// |> should.be_error()
-///
-/// // Valid input returns a result
-/// [4, 4, 3, 2, 1]
-/// |> piecewise.list_minimum(int.compare)
-/// |> should.equal(Ok(1))
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-pub fn list_minimum(
- arr: List(a),
- compare: fn(a, a) -> order.Order,
-) -> Result(a, String) {
- case arr {
- [] ->
- "Invalid input argument: The list is empty."
- |> Error
- _ -> {
- let assert Ok(val0) = list.at(arr, 0)
- arr
- |> list.fold(
- val0,
- fn(acc: a, element: a) {
- case compare(element, acc) {
- order.Lt -> element
- _ -> acc
- }
- },
- )
- |> Ok
- }
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Returns the maximum value of a given list.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam/float
-/// import gleam_community/maths/piecewise
-///
-/// pub fn example () {
-/// // An empty lists returns an error
-/// []
-/// |> piecewise.list_maximum(float.compare)
-/// |> should.be_error()
-///
-/// // Valid input returns a result
-/// [4.0, 4.0, 3.0, 2.0, 1.0]
-/// |> piecewise.list_maximum(float.compare)
-/// |> should.equal(Ok(4.0))
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn list_maximum(
- arr: List(a),
- compare: fn(a, a) -> order.Order,
-) -> Result(a, String) {
- case arr {
- [] ->
- "Invalid input argument: The list is empty."
- |> Error
- _ -> {
- let assert Ok(val0) = list.at(arr, 0)
- arr
- |> list.fold(
- val0,
- fn(acc: a, element: a) {
- case compare(acc, element) {
- order.Lt -> element
- _ -> acc
- }
- },
- )
- |> Ok
- }
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Returns the indices of the minimum values in a given list.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam/float
-/// import gleam_community/maths/piecewise
-///
-/// pub fn example () {
-/// // An empty lists returns an error
-/// []
-/// |> piecewise.arg_minimum(float.compare)
-/// |> should.be_error()
-///
-/// // Valid input returns a result
-/// [4.0, 4.0, 3.0, 2.0, 1.0]
-/// |> piecewise.arg_minimum(float.compare)
-/// |> should.equal(Ok([4]))
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn arg_minimum(
- arr: List(a),
- compare: fn(a, a) -> order.Order,
-) -> Result(List(Int), String) {
- case arr {
- [] ->
- "Invalid input argument: The list is empty."
- |> Error
- _ -> {
- let assert Ok(min) =
- arr
- |> list_minimum(compare)
- arr
- |> list.index_map(fn(index: Int, element: a) -> Int {
- case compare(element, min) {
- order.Eq -> index
- _ -> -1
- }
- })
- |> list.filter(fn(index: Int) -> Bool {
- case index {
- -1 -> False
- _ -> True
- }
- })
- |> Ok
- }
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Returns the indices of the maximum values in a given list.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam/float
-/// import gleam_community/maths/piecewise
-///
-/// pub fn example () {
-/// // An empty lists returns an error
-/// []
-/// |> piecewise.arg_maximum(float.compare)
-/// |> should.be_error()
-///
-/// // Valid input returns a result
-/// [4.0, 4.0, 3.0, 2.0, 1.0]
-/// |> piecewise.arg_maximum(float.compare)
-/// |> should.equal(Ok([0, 1]))
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn arg_maximum(
- arr: List(a),
- compare: fn(a, a) -> order.Order,
-) -> Result(List(Int), String) {
- case arr {
- [] ->
- "Invalid input argument: The list is empty."
- |> Error
- _ -> {
- let assert Ok(max) =
- arr
- |> list_maximum(compare)
- arr
- |> list.index_map(fn(index: Int, element: a) -> Int {
- case compare(element, max) {
- order.Eq -> index
- _ -> -1
- }
- })
- |> list.filter(fn(index: Int) -> Bool {
- case index {
- -1 -> False
- _ -> True
- }
- })
- |> Ok
- }
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Returns a tuple consisting of the minimum and maximum values of a given list.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam/float
-/// import gleam_community/maths/piecewise
-///
-/// pub fn example () {
-/// // An empty lists returns an error
-/// []
-/// |> piecewise.extrema(float.compare)
-/// |> should.be_error()
-///
-/// // Valid input returns a result
-/// [4.0, 4.0, 3.0, 2.0, 1.0]
-/// |> piecewise.extrema(float.compare)
-/// |> should.equal(Ok(#(1.0, 4.0)))
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn extrema(
- arr: List(a),
- compare: fn(a, a) -> order.Order,
-) -> Result(#(a, a), String) {
- case arr {
- [] ->
- "Invalid input argument: The list is empty."
- |> Error
- _ -> {
- let assert Ok(val_max) = list.at(arr, 0)
- let assert Ok(val_min) = list.at(arr, 0)
- arr
- |> list.fold(
- #(val_min, val_max),
- fn(acc: #(a, a), element: a) {
- let first: a = pair.first(acc)
- let second: a = pair.second(acc)
- case compare(element, first), compare(second, element) {
- order.Lt, order.Lt -> #(element, element)
- order.Lt, _ -> #(element, second)
- _, order.Lt -> #(first, element)
- _, _ -> #(first, second)
- }
- },
- )
- |> Ok
- }
- }
-}
diff --git a/aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/predicates.gleam b/aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/predicates.gleam
deleted file mode 100644
index f8d357c..0000000
--- a/aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/predicates.gleam
+++ /dev/null
@@ -1,363 +0,0 @@
-////<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.css" integrity="sha384-GvrOXuhMATgEsSwCs4smul74iXGOixntILdUW9XmUC6+HX0sLNAK3q71HotJqlAn" crossorigin="anonymous">
-////<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.js" integrity="sha384-cpW21h6RZv/phavutF+AuVYrr+dA8xD9zs6FwLpaCct6O9ctzYFfFr4dgmgccOTx" crossorigin="anonymous"></script>
-////<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/contrib/auto-render.min.js" integrity="sha384-+VBxd3r6XgURycqtZ117nYw44OOcIax56Z4dCRWbxyPt0Koah1uHoK0o4+/RRE05" crossorigin="anonymous"></script>
-////<script>
-//// document.addEventListener("DOMContentLoaded", function() {
-//// renderMathInElement(document.body, {
-//// // customised options
-//// // • auto-render specific keys, e.g.:
-//// delimiters: [
-//// {left: '$$', right: '$$', display: false},
-//// // {left: '$', right: '$', display: false},
-//// // {left: '\\(', right: '\\)', display: false},
-//// {left: '\\[', right: '\\]', display: true}
-//// ],
-//// // • rendering keys, e.g.:
-//// throwOnError : false
-//// });
-//// });
-////</script>
-////<style>
-//// .katex { font-size: 1.1em; }
-////</style>
-////
-//// ---
-////
-//// Predicates: A module containing functions for testing various mathematical properties of numbers.
-////
-//// * **Tests**
-//// * [`is_close`](#is_close)
-//// * [`list_all_close`](#all_close)
-//// * [`is_fractional`](#is_fractional)
-//// * [`is_power`](#is_power)
-//// * [`is_perfect`](#is_perfect)
-//// * [`is_even`](#is_even)
-//// * [`is_odd`](#is_odd)
-
-import gleam/pair
-import gleam/int
-import gleam/list
-import gleam/option
-import gleam_community/maths/elementary
-import gleam_community/maths/piecewise
-import gleam_community/maths/arithmetics
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Determine if a given value $$a$$ is close to or equivalent to a reference value
-/// $$b$$ based on supplied relative $$r_{tol}$$ and absolute $$a_{tol}$$ tolerance values.
-/// The equivalance of the two given values are then determined based on the equation:
-///
-/// \\[
-/// \|a - b\| \leq (a_{tol} + r_{tol} \cdot \|b\|)
-/// \\]
-///
-/// `True` is returned if statement holds, otherwise `False` is returned.
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/tests
-///
-/// pub fn example () {
-/// let val: Float = 99.
-/// let ref_val: Float = 100.
-/// // We set 'atol' and 'rtol' such that the values are equivalent
-/// // if 'val' is within 1 percent of 'ref_val' +/- 0.1
-/// let rtol: Float = 0.01
-/// let atol: Float = 0.10
-/// floatx.is_close(val, ref_val, rtol, atol)
-/// |> should.be_true()
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn is_close(a: Float, b: Float, rtol: Float, atol: Float) -> Bool {
- let x: Float = float_absolute_difference(a, b)
- let y: Float = atol +. rtol *. float_absolute_value(b)
- case x <=. y {
- True -> True
- False -> False
- }
-}
-
-fn float_absolute_value(x: Float) -> Float {
- case x >. 0.0 {
- True -> x
- False -> -1.0 *. x
- }
-}
-
-fn float_absolute_difference(a: Float, b: Float) -> Float {
- a -. b
- |> float_absolute_value()
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Determine if a list of values are close to or equivalent to a another list of reference values.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam/list
-/// import gleam_community/maths/tests
-///
-/// pub fn example () {
-/// let val: Float = 99.
-/// let ref_val: Float = 100.
-/// let xarr: List(Float) = list.repeat(val, 42)
-/// let yarr: List(Float) = list.repeat(ref_val, 42)
-/// // We set 'atol' and 'rtol' such that the values are equivalent
-/// // if 'val' is within 1 percent of 'ref_val' +/- 0.1
-/// let rtol: Float = 0.01
-/// let atol: Float = 0.10
-/// tests.all_close(xarr, yarr, rtol, atol)
-/// |> fn(zarr: Result(List(Bool), String)) -> Result(Bool, Nil) {
-/// case zarr {
-/// Ok(arr) ->
-/// arr
-/// |> list.all(fn(a: Bool) -> Bool { a })
-/// |> Ok
-/// _ -> Nil |> Error
-/// }
-/// }
-/// |> should.equal(Ok(True))
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn all_close(
- xarr: List(Float),
- yarr: List(Float),
- rtol: Float,
- atol: Float,
-) -> Result(List(Bool), String) {
- let xlen: Int = list.length(xarr)
- let ylen: Int = list.length(yarr)
- case xlen == ylen {
- False ->
- "Invalid input argument: length(xarr) != length(yarr). Valid input is when length(xarr) == length(yarr)."
- |> Error
- True ->
- list.zip(xarr, yarr)
- |> list.map(fn(z: #(Float, Float)) -> Bool {
- is_close(pair.first(z), pair.second(z), rtol, atol)
- })
- |> Ok
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Determine if a given value is fractional.
-///
-/// `True` is returned if the given value is fractional, otherwise `False` is returned.
-///
-/// <details>
-/// <summary>Example</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/tests
-///
-/// pub fn example () {
-/// tests.is_fractional(0.3333)
-/// |> should.equal(True)
-///
-/// tests.is_fractional(1.0)
-/// |> should.equal(False)
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn is_fractional(x: Float) -> Bool {
- do_ceiling(x) -. x >. 0.0
-}
-
-@external(erlang, "math", "ceil")
-@external(javascript, "../../maths.mjs", "ceiling")
-fn do_ceiling(a: Float) -> Float
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// A function that tests whether a given integer value $$x \in \mathbb{Z}$$ is a power of another integer value $$y \in \mathbb{Z}$$.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/tests
-///
-/// pub fn example() {
-/// // Check if 4 is a power of 2 (it is)
-/// tests.is_power(4, 2)
-/// |> should.equal(True)
-///
-/// // Check if 5 is a power of 2 (it is not)
-/// tests.is_power(5, 2)
-/// |> should.equal(False)
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn is_power(x: Int, y: Int) -> Bool {
- let assert Ok(value) =
- elementary.logarithm(int.to_float(x), option.Some(int.to_float(y)))
- let assert Ok(truncated) = piecewise.truncate(value, option.Some(0))
- let rem = value -. truncated
- rem == 0.0
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// A function that tests whether a given integer value $$n \in \mathbb{Z}$$ is a perfect number. A number is perfect if it is equal to the sum of its proper positive divisors.
-///
-/// <details>
-/// <summary>Details</summary>
-///
-/// For example:
-/// - $$6$$ is a perfect number since the divisors of 6 are $$1 + 2 + 3 = 6$$.
-/// - $$28$$ is a perfect number since the divisors of 28 are $$1 + 2 + 4 + 7 + 14 = 28$$
-///
-/// </details>
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/tests
-///
-/// pub fn example() {
-/// tests.is_perfect(6)
-/// |> should.equal(True)
-///
-/// tests.is_perfect(28)
-/// |> should.equal(True)
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn is_perfect(n: Int) -> Bool {
- do_sum(arithmetics.proper_divisors(n)) == n
-}
-
-fn do_sum(arr: List(Int)) -> Int {
- case arr {
- [] -> 0
- _ ->
- arr
- |> list.fold(0, fn(acc: Int, a: Int) -> Int { a + acc })
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// A function that tests whether a given integer value $$x \in \mathbb{Z}$$ is even.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/tests
-///
-/// pub fn example() {
-/// tests.is_even(-3)
-/// |> should.equal(False)
-///
-/// tests.is_even(-4)
-/// |> should.equal(True)
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn is_even(x: Int) -> Bool {
- x % 2 == 0
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// A function that tests whether a given integer value $$x \in \mathbb{Z}$$ is odd.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/tests
-///
-/// pub fn example() {
-/// tests.is_odd(-3)
-/// |> should.equal(True)
-///
-/// tests.is_odd(-4)
-/// |> should.equal(False)
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn is_odd(x: Int) -> Bool {
- x % 2 != 0
-}
diff --git a/aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/sequences.gleam b/aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/sequences.gleam
deleted file mode 100644
index e7c0388..0000000
--- a/aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/sequences.gleam
+++ /dev/null
@@ -1,302 +0,0 @@
-////<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.css" integrity="sha384-GvrOXuhMATgEsSwCs4smul74iXGOixntILdUW9XmUC6+HX0sLNAK3q71HotJqlAn" crossorigin="anonymous">
-////<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.js" integrity="sha384-cpW21h6RZv/phavutF+AuVYrr+dA8xD9zs6FwLpaCct6O9ctzYFfFr4dgmgccOTx" crossorigin="anonymous"></script>
-////<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/contrib/auto-render.min.js" integrity="sha384-+VBxd3r6XgURycqtZ117nYw44OOcIax56Z4dCRWbxyPt0Koah1uHoK0o4+/RRE05" crossorigin="anonymous"></script>
-////<script>
-//// document.addEventListener("DOMContentLoaded", function() {
-//// renderMathInElement(document.body, {
-//// // customised options
-//// // • auto-render specific keys, e.g.:
-//// delimiters: [
-//// {left: '$$', right: '$$', display: false},
-//// // {left: '$', right: '$', display: false},
-//// // {left: '\\(', right: '\\)', display: false},
-//// {left: '\\[', right: '\\]', display: true}
-//// ],
-//// // • rendering keys, e.g.:
-//// throwOnError : false
-//// });
-//// });
-////</script>
-////<style>
-//// .katex { font-size: 1.1em; }
-////</style>
-////
-//// ---
-////
-//// Sequences: A module containing functions for generating various types of sequences, ranges and intervals.
-////
-//// * **Ranges and intervals**
-//// * [`arange`](#arange)
-//// * [`linear_space`](#linear_space)
-//// * [`logarithmic_space`](#logarithmic_space)
-//// * [`geometric_space`](#geometric_space)
-
-import gleam_community/maths/elementary
-import gleam_community/maths/piecewise
-import gleam_community/maths/conversion
-import gleam/list
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The function returns a list with evenly spaced values within a given interval based on a start, stop value and a given increment (step-length) between consecutive values.
-/// The list returned includes the given start value but excludes the stop value.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/sequences
-///
-/// pub fn example () {
-/// sequences.arange(1.0, 5.0, 1.0)
-/// |> should.equal([1.0, 2.0, 3.0, 4.0])
-///
-/// // No points returned since
-/// // start smaller than stop and positive step
-/// sequences.arange(5.0, 1.0, 1.0)
-/// |> should.equal([])
-///
-/// // Points returned since
-/// // start smaller than stop but negative step
-/// sequences.arange(5.0, 1.0, -1.0)
-/// |> should.equal([5.0, 4.0, 3.0, 2.0])
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn arange(start: Float, stop: Float, step: Float) -> List(Float) {
- case start >=. stop && step >. 0.0 || start <=. stop && step <. 0.0 {
- True -> []
- False -> {
- let direction: Float = case start <=. stop {
- True -> 1.0
- False -> -1.0
- }
- let step_abs: Float = piecewise.float_absolute_value(step)
- let num: Float = piecewise.float_absolute_value(start -. stop) /. step_abs
-
- list.range(0, conversion.float_to_int(num) - 1)
- |> list.map(fn(i: Int) -> Float {
- start +. conversion.int_to_float(i) *. step_abs *. direction
- })
- }
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Generate a linearly spaced list of points over a specified interval. The endpoint of the interval can optionally be included/excluded.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-/// import gleam_community/maths/sequences
-/// import gleam_community/maths/predicates
-///
-/// pub fn example () {
-/// let assert Ok(tol) = elementary.power(-10.0, -6.0)
-/// let assert Ok(linspace) = sequences.linear_space(10.0, 50.0, 5, True)
-/// let assert Ok(result) =
-/// predicates.all_close(linspace, [10.0, 20.0, 30.0, 40.0, 50.0], 0.0, tol)
-/// result
-/// |> list.all(fn(x) { x == True })
-/// |> should.be_true()
-///
-/// // A negative number of points (-5) does not work
-/// sequences.linear_space(10.0, 50.0, -5, True)
-/// |> should.be_error()
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn linear_space(
- start: Float,
- stop: Float,
- num: Int,
- endpoint: Bool,
-) -> Result(List(Float), String) {
- let direction: Float = case start <=. stop {
- True -> 1.0
- False -> -1.0
- }
- case num > 0 {
- True ->
- case endpoint {
- True -> {
- let increment: Float =
- piecewise.float_absolute_value(start -. stop) /. conversion.int_to_float(
- num - 1,
- )
- list.range(0, num - 1)
- |> list.map(fn(i: Int) -> Float {
- start +. conversion.int_to_float(i) *. increment *. direction
- })
- |> Ok
- }
- False -> {
- let increment: Float =
- piecewise.float_absolute_value(start -. stop) /. conversion.int_to_float(
- num,
- )
- list.range(0, num - 1)
- |> list.map(fn(i: Int) -> Float {
- start +. conversion.int_to_float(i) *. increment *. direction
- })
- |> Ok
- }
- }
-
- False ->
- "Invalid input: num < 0. Valid input is num > 0."
- |> Error
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// Generate a logarithmically spaced list of points over a specified interval. The endpoint of the interval can optionally be included/excluded.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-/// import gleam_community/maths/sequences
-/// import gleam_community/maths/predicates
-///
-/// pub fn example () {
-/// let assert Ok(tol) = elementary.power(-10.0, -6.0)
-/// let assert Ok(logspace) = sequences.logarithmic_space(1.0, 3.0, 3, True, 10.0)
-/// let assert Ok(result) =
-/// predicates.all_close(logspace, [10.0, 100.0, 1000.0], 0.0, tol)
-/// result
-/// |> list.all(fn(x) { x == True })
-/// |> should.be_true()
-///
-/// // A negative number of points (-3) does not work
-/// sequences.logarithmic_space(1.0, 3.0, -3, False, 10.0)
-/// |> should.be_error()
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn logarithmic_space(
- start: Float,
- stop: Float,
- num: Int,
- endpoint: Bool,
- base: Float,
-) -> Result(List(Float), String) {
- case num > 0 {
- True -> {
- let assert Ok(linspace) = linear_space(start, stop, num, endpoint)
- linspace
- |> list.map(fn(i: Float) -> Float {
- let assert Ok(result) = elementary.power(base, i)
- result
- })
- |> Ok
- }
- False ->
- "Invalid input: num < 0. Valid input is num > 0."
- |> Error
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The function returns a list of numbers spaced evenly on a log scale (a geometric progression). Each point in the list is a constant multiple of the previous.
-/// The function is similar to the [`logarithmic_space`](#logarithmic_space) function, but with endpoints specified directly.
-///
-/// <details>
-/// <summary>Example:</summary>
-///
-/// import gleeunit/should
-/// import gleam_community/maths/elementary
-/// import gleam_community/maths/sequences
-/// import gleam_community/maths/predicates
-///
-/// pub fn example () {
-/// let assert Ok(tol) = elementary.power(-10.0, -6.0)
-/// let assert Ok(logspace) = sequences.geometric_space(10.0, 1000.0, 3, True)
-/// let assert Ok(result) =
-/// predicates.all_close(logspace, [10.0, 100.0, 1000.0], 0.0, tol)
-/// result
-/// |> list.all(fn(x) { x == True })
-/// |> should.be_true()
-///
-/// // Input (start and stop can't be equal to 0.0)
-/// sequences.geometric_space(0.0, 1000.0, 3, False)
-/// |> should.be_error()
-///
-/// sequences.geometric_space(-1000.0, 0.0, 3, False)
-/// |> should.be_error()
-///
-/// // A negative number of points (-3) does not work
-/// sequences.geometric_space(10.0, 1000.0, -3, False)
-/// |> should.be_error()
-/// }
-/// </details>
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn geometric_space(
- start: Float,
- stop: Float,
- num: Int,
- endpoint: Bool,
-) -> Result(List(Float), String) {
- case start == 0.0 || stop == 0.0 {
- True ->
- ""
- |> Error
- False ->
- case num > 0 {
- True -> {
- let assert Ok(log_start) = elementary.logarithm_10(start)
- let assert Ok(log_stop) = elementary.logarithm_10(stop)
- logarithmic_space(log_start, log_stop, num, endpoint, 10.0)
- }
- False ->
- "Invalid input: num < 0. Valid input is num > 0."
- |> Error
- }
- }
-}
diff --git a/aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/special.gleam b/aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/special.gleam
deleted file mode 100644
index dfd9cbb..0000000
--- a/aoc2023/build/packages/gleam_community_maths/src/gleam_community/maths/special.gleam
+++ /dev/null
@@ -1,205 +0,0 @@
-////<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.css" integrity="sha384-GvrOXuhMATgEsSwCs4smul74iXGOixntILdUW9XmUC6+HX0sLNAK3q71HotJqlAn" crossorigin="anonymous">
-////<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.js" integrity="sha384-cpW21h6RZv/phavutF+AuVYrr+dA8xD9zs6FwLpaCct6O9ctzYFfFr4dgmgccOTx" crossorigin="anonymous"></script>
-////<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/contrib/auto-render.min.js" integrity="sha384-+VBxd3r6XgURycqtZ117nYw44OOcIax56Z4dCRWbxyPt0Koah1uHoK0o4+/RRE05" crossorigin="anonymous"></script>
-////<script>
-//// document.addEventListener("DOMContentLoaded", function() {
-//// renderMathInElement(document.body, {
-//// // customised options
-//// // • auto-render specific keys, e.g.:
-//// delimiters: [
-//// {left: '$$', right: '$$', display: false},
-//// // {left: '$', right: '$', display: false},
-//// // {left: '\\(', right: '\\)', display: false},
-//// {left: '\\[', right: '\\]', display: true}
-//// ],
-//// // • rendering keys, e.g.:
-//// throwOnError : false
-//// });
-//// });
-////</script>
-////<style>
-//// .katex { font-size: 1.1em; }
-////</style>
-////
-//// ---
-////
-//// Special: A module containing special mathematical functions.
-////
-//// * **Special mathematical functions**
-//// * [`beta`](#beta)
-//// * [`erf`](#erf)
-//// * [`gamma`](#gamma)
-//// * [`incomplete_gamma`](#incomplete_gamma)
-////
-
-import gleam_community/maths/conversion
-import gleam_community/maths/elementary
-import gleam_community/maths/piecewise
-import gleam/list
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The beta function over the real numbers:
-///
-/// \\[
-/// \text{B}(x, y) = \frac{\Gamma(x) \cdot \Gamma(y)}{\Gamma(x + y)}
-/// \\]
-///
-/// The beta function is evaluated through the use of the gamma function.
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn beta(x: Float, y: Float) -> Float {
- gamma(x) *. gamma(y) /. gamma(x +. y)
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The error function.
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn erf(x: Float) -> Float {
- let assert [a1, a2, a3, a4, a5]: List(Float) = [
- 0.254829592, -0.284496736, 1.421413741, -1.453152027, 1.061405429,
- ]
- let p: Float = 0.3275911
-
- let sign: Float = piecewise.float_sign(x)
- let x: Float = piecewise.float_absolute_value(x)
-
- // Formula 7.1.26 given in Abramowitz and Stegun.
- let t: Float = 1.0 /. { 1.0 +. p *. x }
- let y: Float =
- 1.0 -. { { { { a5 *. t +. a4 } *. t +. a3 } *. t +. a2 } *. t +. a1 } *. t *. elementary.exponential(
- -1.0 *. x *. x,
- )
- sign *. y
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The gamma function over the real numbers. The function is essentially equal to the
-/// factorial for any positive integer argument: $$\Gamma(n) = (n - 1)!$$
-///
-/// The implemented gamma function is approximated through Lanczos approximation
-/// using the same coefficients used by the GNU Scientific Library.
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn gamma(x: Float) -> Float {
- gamma_lanczos(x)
-}
-
-const lanczos_g: Float = 7.0
-
-const lanczos_p: List(Float) = [
- 0.99999999999980993, 676.5203681218851, -1259.1392167224028,
- 771.32342877765313, -176.61502916214059, 12.507343278686905,
- -0.13857109526572012, 0.0000099843695780195716, 0.00000015056327351493116,
-]
-
-fn gamma_lanczos(x: Float) -> Float {
- case x <. 0.5 {
- True ->
- elementary.pi() /. {
- elementary.sin(elementary.pi() *. x) *. gamma_lanczos(1.0 -. x)
- }
- False -> {
- let z = x -. 1.0
- let x: Float =
- list.index_fold(
- lanczos_p,
- 0.0,
- fn(acc: Float, v: Float, index: Int) {
- case index > 0 {
- True -> acc +. v /. { z +. conversion.int_to_float(index) }
- False -> v
- }
- },
- )
- let t: Float = z +. lanczos_g +. 0.5
- let assert Ok(v1) = elementary.power(2.0 *. elementary.pi(), 0.5)
- let assert Ok(v2) = elementary.power(t, z +. 0.5)
- v1 *. v2 *. elementary.exponential(-1.0 *. t) *. x
- }
- }
-}
-
-/// <div style="text-align: right;">
-/// <a href="https://github.com/gleam-community/maths/issues">
-/// <small>Spot a typo? Open an issue!</small>
-/// </a>
-/// </div>
-///
-/// The lower incomplete gamma function over the real numbers.
-///
-/// The implemented incomplete gamma function is evaluated through a power series
-/// expansion.
-///
-/// <div style="text-align: right;">
-/// <a href="#">
-/// <small>Back to top ↑</small>
-/// </a>
-/// </div>
-///
-pub fn incomplete_gamma(a: Float, x: Float) -> Result(Float, String) {
- case a >. 0.0 && x >=. 0.0 {
- True -> {
- let assert Ok(v) = elementary.power(x, a)
- v *. elementary.exponential(-1.0 *. x) *. incomplete_gamma_sum(
- a,
- x,
- 1.0 /. a,
- 0.0,
- 1.0,
- )
- |> Ok
- }
-
- False ->
- "Invlaid input argument: a <= 0 or x < 0. Valid input is a > 0 and x >= 0."
- |> Error
- }
-}
-
-fn incomplete_gamma_sum(
- a: Float,
- x: Float,
- t: Float,
- s: Float,
- n: Float,
-) -> Float {
- case t {
- 0.0 -> s
- _ -> {
- let ns: Float = s +. t
- let nt: Float = t *. { x /. { a +. n } }
- incomplete_gamma_sum(a, x, nt, ns, n +. 1.0)
- }
- }
-}
diff --git a/aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@arithmetics.erl b/aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@arithmetics.erl
deleted file mode 100644
index ca266c8..0000000
--- a/aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@arithmetics.erl
+++ /dev/null
@@ -1,172 +0,0 @@
--module(gleam_community@maths@arithmetics).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([gcd/2, lcm/2, divisors/1, proper_divisors/1, float_sum/1, int_sum/1, float_product/1, int_product/1, float_cumulative_sum/1, int_cumulative_sum/1, float_cumumlative_product/1, int_cumulative_product/1]).
-
--spec do_gcd(integer(), integer()) -> integer().
-do_gcd(X, Y) ->
- case X =:= 0 of
- true ->
- Y;
-
- false ->
- _assert_subject = gleam@int:modulo(Y, X),
- {ok, Z} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/arithmetics"/utf8>>,
- function => <<"do_gcd"/utf8>>,
- line => 93})
- end,
- do_gcd(Z, X)
- end.
-
--spec gcd(integer(), integer()) -> integer().
-gcd(X, Y) ->
- Absx = gleam_community@maths@piecewise:int_absolute_value(X),
- Absy = gleam_community@maths@piecewise:int_absolute_value(Y),
- do_gcd(Absx, Absy).
-
--spec lcm(integer(), integer()) -> integer().
-lcm(X, Y) ->
- Absx = gleam_community@maths@piecewise:int_absolute_value(X),
- Absy = gleam_community@maths@piecewise:int_absolute_value(Y),
- case do_gcd(Absx, Absy) of
- 0 -> 0;
- Gleam@denominator -> (Absx * Absy) div Gleam@denominator
- end.
-
--spec find_divisors(integer()) -> list(integer()).
-find_divisors(N) ->
- Nabs = gleam_community@maths@piecewise:float_absolute_value(
- gleam_community@maths@conversion:int_to_float(N)
- ),
- _assert_subject = gleam_community@maths@elementary:square_root(Nabs),
- {ok, Sqrt_result} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/arithmetics"/utf8>>,
- function => <<"find_divisors"/utf8>>,
- line => 176})
- end,
- Max = gleam_community@maths@conversion:float_to_int(Sqrt_result) + 1,
- _pipe = gleam@list:range(2, Max),
- _pipe@1 = gleam@list:fold(_pipe, [1, N], fun(Acc, I) -> case (case I of
- 0 -> 0;
- Gleam@denominator -> N rem Gleam@denominator
- end) =:= 0 of
- true ->
- [I, case I of
- 0 -> 0;
- Gleam@denominator@1 -> N div Gleam@denominator@1
- end | Acc];
-
- false ->
- Acc
- end end),
- _pipe@2 = gleam@list:unique(_pipe@1),
- gleam@list:sort(_pipe@2, fun gleam@int:compare/2).
-
--spec divisors(integer()) -> list(integer()).
-divisors(N) ->
- find_divisors(N).
-
--spec proper_divisors(integer()) -> list(integer()).
-proper_divisors(N) ->
- Divisors = find_divisors(N),
- _pipe = Divisors,
- gleam@list:take(_pipe, gleam@list:length(Divisors) - 1).
-
--spec float_sum(list(float())) -> float().
-float_sum(Arr) ->
- case Arr of
- [] ->
- +0.0;
-
- _ ->
- _pipe = Arr,
- gleam@list:fold(_pipe, +0.0, fun(Acc, A) -> A + Acc end)
- end.
-
--spec int_sum(list(integer())) -> integer().
-int_sum(Arr) ->
- case Arr of
- [] ->
- 0;
-
- _ ->
- _pipe = Arr,
- gleam@list:fold(_pipe, 0, fun(Acc, A) -> A + Acc end)
- end.
-
--spec float_product(list(float())) -> float().
-float_product(Arr) ->
- case Arr of
- [] ->
- 1.0;
-
- _ ->
- _pipe = Arr,
- gleam@list:fold(_pipe, 1.0, fun(Acc, A) -> A * Acc end)
- end.
-
--spec int_product(list(integer())) -> integer().
-int_product(Arr) ->
- case Arr of
- [] ->
- 1;
-
- _ ->
- _pipe = Arr,
- gleam@list:fold(_pipe, 1, fun(Acc, A) -> A * Acc end)
- end.
-
--spec float_cumulative_sum(list(float())) -> list(float()).
-float_cumulative_sum(Arr) ->
- case Arr of
- [] ->
- [];
-
- _ ->
- _pipe = Arr,
- gleam@list:scan(_pipe, +0.0, fun(Acc, A) -> A + Acc end)
- end.
-
--spec int_cumulative_sum(list(integer())) -> list(integer()).
-int_cumulative_sum(Arr) ->
- case Arr of
- [] ->
- [];
-
- _ ->
- _pipe = Arr,
- gleam@list:scan(_pipe, 0, fun(Acc, A) -> A + Acc end)
- end.
-
--spec float_cumumlative_product(list(float())) -> list(float()).
-float_cumumlative_product(Arr) ->
- case Arr of
- [] ->
- [];
-
- _ ->
- _pipe = Arr,
- gleam@list:scan(_pipe, 1.0, fun(Acc, A) -> A * Acc end)
- end.
-
--spec int_cumulative_product(list(integer())) -> list(integer()).
-int_cumulative_product(Arr) ->
- case Arr of
- [] ->
- [];
-
- _ ->
- _pipe = Arr,
- gleam@list:scan(_pipe, 1, fun(Acc, A) -> A * Acc end)
- end.
diff --git a/aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@combinatorics.erl b/aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@combinatorics.erl
deleted file mode 100644
index 17644c4..0000000
--- a/aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@combinatorics.erl
+++ /dev/null
@@ -1,218 +0,0 @@
--module(gleam_community@maths@combinatorics).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([combination/2, factorial/1, permutation/2, list_combination/2, list_permutation/1, cartesian_product/2]).
-
--spec combination(integer(), integer()) -> {ok, integer()} | {error, binary()}.
-combination(N, K) ->
- case N < 0 of
- true ->
- _pipe = <<"Invalid input argument: n < 0. Valid input is n > 0."/utf8>>,
- {error, _pipe};
-
- false ->
- case (K < 0) orelse (K > N) of
- true ->
- _pipe@1 = 0,
- {ok, _pipe@1};
-
- false ->
- case (K =:= 0) orelse (K =:= N) of
- true ->
- _pipe@2 = 1,
- {ok, _pipe@2};
-
- false ->
- Min = case K < (N - K) of
- true ->
- K;
-
- false ->
- N - K
- end,
- _pipe@3 = gleam@list:range(1, Min),
- _pipe@4 = gleam@list:fold(
- _pipe@3,
- 1,
- fun(Acc, X) -> case X of
- 0 -> 0;
- Gleam@denominator -> (Acc * ((N + 1) - X))
- div Gleam@denominator
- end end
- ),
- {ok, _pipe@4}
- end
- end
- end.
-
--spec factorial(integer()) -> {ok, integer()} | {error, binary()}.
-factorial(N) ->
- case N < 0 of
- true ->
- _pipe = <<"Invalid input argument: n < 0. Valid input is n > 0."/utf8>>,
- {error, _pipe};
-
- false ->
- case N of
- 0 ->
- _pipe@1 = 1,
- {ok, _pipe@1};
-
- 1 ->
- _pipe@2 = 1,
- {ok, _pipe@2};
-
- _ ->
- _pipe@3 = gleam@list:range(1, N),
- _pipe@4 = gleam@list:fold(
- _pipe@3,
- 1,
- fun(Acc, X) -> Acc * X end
- ),
- {ok, _pipe@4}
- end
- end.
-
--spec permutation(integer(), integer()) -> {ok, integer()} | {error, binary()}.
-permutation(N, K) ->
- case N < 0 of
- true ->
- _pipe = <<"Invalid input argument: n < 0. Valid input is n > 0."/utf8>>,
- {error, _pipe};
-
- false ->
- case (K < 0) orelse (K > N) of
- true ->
- _pipe@1 = 0,
- {ok, _pipe@1};
-
- false ->
- case K =:= N of
- true ->
- _pipe@2 = 1,
- {ok, _pipe@2};
-
- false ->
- _assert_subject = factorial(N),
- {ok, V1} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/combinatorics"/utf8>>,
- function => <<"permutation"/utf8>>,
- line => 241})
- end,
- _assert_subject@1 = factorial(N - K),
- {ok, V2} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"gleam_community/maths/combinatorics"/utf8>>,
- function => <<"permutation"/utf8>>,
- line => 242})
- end,
- _pipe@3 = case V2 of
- 0 -> 0;
- Gleam@denominator -> V1 div Gleam@denominator
- end,
- {ok, _pipe@3}
- end
- end
- end.
-
--spec do_list_combination(list(GIO), integer(), list(GIO)) -> list(list(GIO)).
-do_list_combination(Arr, K, Prefix) ->
- case K of
- 0 ->
- [gleam@list:reverse(Prefix)];
-
- _ ->
- case Arr of
- [] ->
- [];
-
- [X | Xs] ->
- With_x = do_list_combination(Xs, K - 1, [X | Prefix]),
- Without_x = do_list_combination(Xs, K, Prefix),
- gleam@list:append(With_x, Without_x)
- end
- end.
-
--spec list_combination(list(GII), integer()) -> {ok, list(list(GII))} |
- {error, binary()}.
-list_combination(Arr, K) ->
- case K < 0 of
- true ->
- _pipe = <<"Invalid input argument: k < 0. Valid input is k > 0."/utf8>>,
- {error, _pipe};
-
- false ->
- case K > gleam@list:length(Arr) of
- true ->
- _pipe@1 = <<"Invalid input argument: k > length(arr). Valid input is 0 < k <= length(arr)."/utf8>>,
- {error, _pipe@1};
-
- false ->
- _pipe@2 = do_list_combination(Arr, K, []),
- {ok, _pipe@2}
- end
- end.
-
--spec list_permutation(list(GIT)) -> list(list(GIT)).
-list_permutation(Arr) ->
- case Arr of
- [] ->
- [[]];
-
- _ ->
- gleam@list:flat_map(
- Arr,
- fun(X) ->
- _assert_subject = gleam@list:pop(Arr, fun(Y) -> X =:= Y end),
- {ok, {_, Remaining}} = case _assert_subject of
- {ok, {_, _}} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/combinatorics"/utf8>>,
- function => <<"list_permutation"/utf8>>,
- line => 373})
- end,
- gleam@list:map(
- list_permutation(Remaining),
- fun(Perm) -> [X | Perm] end
- )
- end
- )
- end.
-
--spec cartesian_product(list(GIX), list(GIX)) -> list({GIX, GIX}).
-cartesian_product(Xarr, Yarr) ->
- Xset = begin
- _pipe = Xarr,
- gleam@set:from_list(_pipe)
- end,
- Yset = begin
- _pipe@1 = Yarr,
- gleam@set:from_list(_pipe@1)
- end,
- _pipe@2 = Xset,
- _pipe@3 = gleam@set:fold(
- _pipe@2,
- gleam@set:new(),
- fun(Accumulator0, Member0) ->
- gleam@set:fold(
- Yset,
- Accumulator0,
- fun(Accumulator1, Member1) ->
- gleam@set:insert(Accumulator1, {Member0, Member1})
- end
- )
- end
- ),
- gleam@set:to_list(_pipe@3).
diff --git a/aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@conversion.erl b/aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@conversion.erl
deleted file mode 100644
index 0f6decb..0000000
--- a/aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@conversion.erl
+++ /dev/null
@@ -1,23 +0,0 @@
--module(gleam_community@maths@conversion).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([int_to_float/1, float_to_int/1, degrees_to_radians/1, radians_to_degrees/1]).
-
--spec int_to_float(integer()) -> float().
-int_to_float(X) ->
- gleam@int:to_float(X).
-
--spec float_to_int(float()) -> integer().
-float_to_int(X) ->
- erlang:trunc(X).
-
--spec degrees_to_radians(float()) -> float().
-degrees_to_radians(X) ->
- (X * math:pi()) / 180.0.
-
--spec radians_to_degrees(float()) -> float().
-radians_to_degrees(X) ->
- case math:pi() of
- 0.0 -> 0.0;
- Gleam@denominator -> (X * 180.0) / Gleam@denominator
- end.
diff --git a/aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@elementary.erl b/aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@elementary.erl
deleted file mode 100644
index dab5d68..0000000
--- a/aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@elementary.erl
+++ /dev/null
@@ -1,284 +0,0 @@
--module(gleam_community@maths@elementary).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([acos/1, acosh/1, asin/1, asinh/1, atan/1, atan2/2, atanh/1, cos/1, cosh/1, sin/1, sinh/1, tan/1, tanh/1, exponential/1, natural_logarithm/1, logarithm_2/1, logarithm_10/1, logarithm/2, power/2, square_root/1, cube_root/1, nth_root/2, pi/0, tau/0, e/0]).
-
--spec acos(float()) -> {ok, float()} | {error, binary()}.
-acos(X) ->
- case (X >= -1.0) andalso (X =< 1.0) of
- true ->
- _pipe = math:acos(X),
- {ok, _pipe};
-
- false ->
- _pipe@1 = <<"Invalid input argument: x >= -1 or x <= 1. Valid input is -1. <= x <= 1."/utf8>>,
- {error, _pipe@1}
- end.
-
--spec acosh(float()) -> {ok, float()} | {error, binary()}.
-acosh(X) ->
- case X >= 1.0 of
- true ->
- _pipe = math:acosh(X),
- {ok, _pipe};
-
- false ->
- _pipe@1 = <<"Invalid input argument: x < 1. Valid input is x >= 1."/utf8>>,
- {error, _pipe@1}
- end.
-
--spec asin(float()) -> {ok, float()} | {error, binary()}.
-asin(X) ->
- case (X >= -1.0) andalso (X =< 1.0) of
- true ->
- _pipe = math:asin(X),
- {ok, _pipe};
-
- false ->
- _pipe@1 = <<"Invalid input argument: x >= -1 or x <= 1. Valid input is -1. <= x <= 1."/utf8>>,
- {error, _pipe@1}
- end.
-
--spec asinh(float()) -> float().
-asinh(X) ->
- math:asinh(X).
-
--spec atan(float()) -> float().
-atan(X) ->
- math:atan(X).
-
--spec atan2(float(), float()) -> float().
-atan2(Y, X) ->
- math:atan2(Y, X).
-
--spec atanh(float()) -> {ok, float()} | {error, binary()}.
-atanh(X) ->
- case (X > -1.0) andalso (X < 1.0) of
- true ->
- _pipe = math:atanh(X),
- {ok, _pipe};
-
- false ->
- _pipe@1 = <<"Invalid input argument: x > -1 or x < 1. Valid input is -1. < x < 1."/utf8>>,
- {error, _pipe@1}
- end.
-
--spec cos(float()) -> float().
-cos(X) ->
- math:cos(X).
-
--spec cosh(float()) -> float().
-cosh(X) ->
- math:cosh(X).
-
--spec sin(float()) -> float().
-sin(X) ->
- math:sin(X).
-
--spec sinh(float()) -> float().
-sinh(X) ->
- math:sinh(X).
-
--spec tan(float()) -> float().
-tan(X) ->
- math:tan(X).
-
--spec tanh(float()) -> float().
-tanh(X) ->
- math:tanh(X).
-
--spec exponential(float()) -> float().
-exponential(X) ->
- math:exp(X).
-
--spec natural_logarithm(float()) -> {ok, float()} | {error, binary()}.
-natural_logarithm(X) ->
- case X > +0.0 of
- true ->
- _pipe = math:log(X),
- {ok, _pipe};
-
- false ->
- _pipe@1 = <<"Invalid input argument: x <= 0. Valid input is x > 0."/utf8>>,
- {error, _pipe@1}
- end.
-
--spec logarithm_2(float()) -> {ok, float()} | {error, binary()}.
-logarithm_2(X) ->
- case X > +0.0 of
- true ->
- _pipe = math:log2(X),
- {ok, _pipe};
-
- false ->
- _pipe@1 = <<"Invalid input argument: x <= 0. Valid input is x > 0."/utf8>>,
- {error, _pipe@1}
- end.
-
--spec logarithm_10(float()) -> {ok, float()} | {error, binary()}.
-logarithm_10(X) ->
- case X > +0.0 of
- true ->
- _pipe = math:log10(X),
- {ok, _pipe};
-
- false ->
- _pipe@1 = <<"Invalid input argument: x <= 0. Valid input is x > 0."/utf8>>,
- {error, _pipe@1}
- end.
-
--spec logarithm(float(), gleam@option:option(float())) -> {ok, float()} |
- {error, binary()}.
-logarithm(X, Base) ->
- case X > +0.0 of
- true ->
- case Base of
- {some, A} ->
- case (A > +0.0) andalso (A /= 1.0) of
- true ->
- _assert_subject = logarithm_10(X),
- {ok, Numerator} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/elementary"/utf8>>,
- function => <<"logarithm"/utf8>>,
- line => 820})
- end,
- _assert_subject@1 = logarithm_10(A),
- {ok, Denominator} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"gleam_community/maths/elementary"/utf8>>,
- function => <<"logarithm"/utf8>>,
- line => 821})
- end,
- _pipe = case Denominator of
- 0.0 -> 0.0;
- Gleam@denominator -> Numerator / Gleam@denominator
- end,
- {ok, _pipe};
-
- false ->
- _pipe@1 = <<"Invalid input argument: base <= 0 or base == 1. Valid input is base > 0 and base != 1."/utf8>>,
- {error, _pipe@1}
- end;
-
- _ ->
- _pipe@2 = <<"Invalid input argument: base <= 0 or base == 1. Valid input is base > 0 and base != 1."/utf8>>,
- {error, _pipe@2}
- end;
-
- _ ->
- _pipe@3 = <<"Invalid input argument: x <= 0. Valid input is x > 0."/utf8>>,
- {error, _pipe@3}
- end.
-
--spec power(float(), float()) -> {ok, float()} | {error, binary()}.
-power(X, Y) ->
- Fractional = (math:ceil(Y) - Y) > +0.0,
- case ((X < +0.0) andalso Fractional) orelse ((X =:= +0.0) andalso (Y < +0.0)) of
- true ->
- _pipe = <<"Invalid input argument: x < 0 and y is fractional or x = 0 and y < 0."/utf8>>,
- {error, _pipe};
-
- false ->
- _pipe@1 = math:pow(X, Y),
- {ok, _pipe@1}
- end.
-
--spec square_root(float()) -> {ok, float()} | {error, binary()}.
-square_root(X) ->
- case X < +0.0 of
- true ->
- _pipe = <<"Invalid input argument: x < 0."/utf8>>,
- {error, _pipe};
-
- false ->
- _assert_subject = power(X, 1.0 / 2.0),
- {ok, Result} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/elementary"/utf8>>,
- function => <<"square_root"/utf8>>,
- line => 1066})
- end,
- _pipe@1 = Result,
- {ok, _pipe@1}
- end.
-
--spec cube_root(float()) -> {ok, float()} | {error, binary()}.
-cube_root(X) ->
- case X < +0.0 of
- true ->
- _pipe = <<"Invalid input argument: x < 0."/utf8>>,
- {error, _pipe};
-
- false ->
- _assert_subject = power(X, 1.0 / 3.0),
- {ok, Result} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/elementary"/utf8>>,
- function => <<"cube_root"/utf8>>,
- line => 1118})
- end,
- _pipe@1 = Result,
- {ok, _pipe@1}
- end.
-
--spec nth_root(float(), integer()) -> {ok, float()} | {error, binary()}.
-nth_root(X, N) ->
- case X < +0.0 of
- true ->
- _pipe = <<"Invalid input argument: x < 0. Valid input is x > 0"/utf8>>,
- {error, _pipe};
-
- false ->
- case N >= 1 of
- true ->
- _assert_subject = power(X, case gleam@int:to_float(N) of
- 0.0 -> 0.0;
- Gleam@denominator -> 1.0 / Gleam@denominator
- end),
- {ok, Result} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/elementary"/utf8>>,
- function => <<"nth_root"/utf8>>,
- line => 1175})
- end,
- _pipe@1 = Result,
- {ok, _pipe@1};
-
- false ->
- _pipe@2 = <<"Invalid input argument: n < 1. Valid input is n >= 2."/utf8>>,
- {error, _pipe@2}
- end
- end.
-
--spec pi() -> float().
-pi() ->
- math:pi().
-
--spec tau() -> float().
-tau() ->
- 2.0 * pi().
-
--spec e() -> float().
-e() ->
- exponential(1.0).
diff --git a/aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@metrics.erl b/aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@metrics.erl
deleted file mode 100644
index 2a58da6..0000000
--- a/aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@metrics.erl
+++ /dev/null
@@ -1,278 +0,0 @@
--module(gleam_community@maths@metrics).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([norm/2, minkowski_distance/3, manhatten_distance/2, euclidean_distance/2, mean/1, median/1, variance/2, standard_deviation/2]).
-
--spec norm(list(float()), float()) -> float().
-norm(Arr, P) ->
- case Arr of
- [] ->
- +0.0;
-
- _ ->
- Agg = begin
- _pipe = Arr,
- gleam@list:fold(
- _pipe,
- +0.0,
- fun(Acc, A) ->
- _assert_subject = gleam_community@maths@elementary:power(
- gleam_community@maths@piecewise:float_absolute_value(
- A
- ),
- P
- ),
- {ok, Result} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/metrics"/utf8>>,
- function => <<"norm"/utf8>>,
- line => 101})
- end,
- Result + Acc
- end
- )
- end,
- _assert_subject@1 = gleam_community@maths@elementary:power(
- Agg,
- case P of
- 0.0 -> 0.0;
- Gleam@denominator -> 1.0 / Gleam@denominator
- end
- ),
- {ok, Result@1} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"gleam_community/maths/metrics"/utf8>>,
- function => <<"norm"/utf8>>,
- line => 106})
- end,
- Result@1
- end.
-
--spec minkowski_distance(list(float()), list(float()), float()) -> {ok, float()} |
- {error, binary()}.
-minkowski_distance(Xarr, Yarr, P) ->
- Xlen = gleam@list:length(Xarr),
- Ylen = gleam@list:length(Yarr),
- case Xlen =:= Ylen of
- false ->
- _pipe = <<"Invalid input argument: length(xarr) != length(yarr). Valid input is when length(xarr) == length(yarr)."/utf8>>,
- {error, _pipe};
-
- true ->
- case P < 1.0 of
- true ->
- _pipe@1 = <<"Invalid input argument: p < 1. Valid input is p >= 1."/utf8>>,
- {error, _pipe@1};
-
- false ->
- _pipe@2 = gleam@list:zip(Xarr, Yarr),
- _pipe@3 = gleam@list:map(
- _pipe@2,
- fun(Tuple) ->
- gleam@pair:first(Tuple) - gleam@pair:second(Tuple)
- end
- ),
- _pipe@4 = norm(_pipe@3, P),
- {ok, _pipe@4}
- end
- end.
-
--spec manhatten_distance(list(float()), list(float())) -> {ok, float()} |
- {error, binary()}.
-manhatten_distance(Xarr, Yarr) ->
- minkowski_distance(Xarr, Yarr, 1.0).
-
--spec euclidean_distance(list(float()), list(float())) -> {ok, float()} |
- {error, binary()}.
-euclidean_distance(Xarr, Yarr) ->
- minkowski_distance(Xarr, Yarr, 2.0).
-
--spec mean(list(float())) -> {ok, float()} | {error, binary()}.
-mean(Arr) ->
- case Arr of
- [] ->
- _pipe = <<"Invalid input argument: The list is empty."/utf8>>,
- {error, _pipe};
-
- _ ->
- _pipe@1 = Arr,
- _pipe@2 = gleam_community@maths@arithmetics:float_sum(_pipe@1),
- _pipe@3 = (fun(A) ->
- case gleam_community@maths@conversion:int_to_float(
- gleam@list:length(Arr)
- ) of
- 0.0 -> 0.0;
- Gleam@denominator -> A / Gleam@denominator
- end
- end)(_pipe@2),
- {ok, _pipe@3}
- end.
-
--spec median(list(float())) -> {ok, float()} | {error, binary()}.
-median(Arr) ->
- case Arr of
- [] ->
- _pipe = <<"Invalid input argument: The list is empty."/utf8>>,
- {error, _pipe};
-
- _ ->
- Count = gleam@list:length(Arr),
- Mid = gleam@list:length(Arr) div 2,
- Sorted = gleam@list:sort(Arr, fun gleam@float:compare/2),
- case gleam_community@maths@predicates:is_odd(Count) of
- true ->
- _assert_subject = gleam@list:at(Sorted, Mid),
- {ok, Val0} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/metrics"/utf8>>,
- function => <<"median"/utf8>>,
- line => 402})
- end,
- _pipe@1 = Val0,
- {ok, _pipe@1};
-
- false ->
- _assert_subject@1 = gleam@list:at(Sorted, Mid - 1),
- {ok, Val0@1} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"gleam_community/maths/metrics"/utf8>>,
- function => <<"median"/utf8>>,
- line => 409})
- end,
- _assert_subject@2 = gleam@list:at(Sorted, Mid),
- {ok, Val1} = case _assert_subject@2 of
- {ok, _} -> _assert_subject@2;
- _assert_fail@2 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@2,
- module => <<"gleam_community/maths/metrics"/utf8>>,
- function => <<"median"/utf8>>,
- line => 410})
- end,
- _pipe@2 = [Val0@1, Val1],
- mean(_pipe@2)
- end
- end.
-
--spec variance(list(float()), integer()) -> {ok, float()} | {error, binary()}.
-variance(Arr, Ddof) ->
- case Arr of
- [] ->
- _pipe = <<"Invalid input argument: The list is empty."/utf8>>,
- {error, _pipe};
-
- _ ->
- case Ddof < 0 of
- true ->
- _pipe@1 = <<"Invalid input argument: ddof < 0. Valid input is ddof >= 0."/utf8>>,
- {error, _pipe@1};
-
- false ->
- _assert_subject = mean(Arr),
- {ok, Mean} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/metrics"/utf8>>,
- function => <<"variance"/utf8>>,
- line => 475})
- end,
- _pipe@2 = Arr,
- _pipe@3 = gleam@list:map(
- _pipe@2,
- fun(A) ->
- _assert_subject@1 = gleam_community@maths@elementary:power(
- A - Mean,
- 2.0
- ),
- {ok, Result} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"gleam_community/maths/metrics"/utf8>>,
- function => <<"variance"/utf8>>,
- line => 478})
- end,
- Result
- end
- ),
- _pipe@4 = gleam_community@maths@arithmetics:float_sum(
- _pipe@3
- ),
- _pipe@5 = (fun(A@1) ->
- case (gleam_community@maths@conversion:int_to_float(
- gleam@list:length(Arr)
- )
- - gleam_community@maths@conversion:int_to_float(Ddof)) of
- 0.0 -> 0.0;
- Gleam@denominator -> A@1 / Gleam@denominator
- end
- end)(_pipe@4),
- {ok, _pipe@5}
- end
- end.
-
--spec standard_deviation(list(float()), integer()) -> {ok, float()} |
- {error, binary()}.
-standard_deviation(Arr, Ddof) ->
- case Arr of
- [] ->
- _pipe = <<"Invalid input argument: The list is empty."/utf8>>,
- {error, _pipe};
-
- _ ->
- case Ddof < 0 of
- true ->
- _pipe@1 = <<"Invalid input argument: ddof < 0. Valid input is ddof >= 0."/utf8>>,
- {error, _pipe@1};
-
- false ->
- _assert_subject = variance(Arr, Ddof),
- {ok, Variance} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/metrics"/utf8>>,
- function => <<"standard_deviation"/utf8>>,
- line => 551})
- end,
- _assert_subject@1 = gleam_community@maths@elementary:square_root(
- Variance
- ),
- {ok, Stdev} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"gleam_community/maths/metrics"/utf8>>,
- function => <<"standard_deviation"/utf8>>,
- line => 554})
- end,
- _pipe@2 = Stdev,
- {ok, _pipe@2}
- end
- end.
diff --git a/aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@piecewise.erl b/aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@piecewise.erl
deleted file mode 100644
index 258d879..0000000
--- a/aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@piecewise.erl
+++ /dev/null
@@ -1,553 +0,0 @@
--module(gleam_community@maths@piecewise).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([float_absolute_value/1, int_absolute_value/1, float_absolute_difference/2, int_absolute_difference/2, float_sign/1, round/3, ceiling/2, floor/2, truncate/2, int_sign/1, float_flip_sign/1, float_copy_sign/2, int_flip_sign/1, int_copy_sign/2, minimum/3, maximum/3, minmax/3, list_minimum/2, list_maximum/2, arg_minimum/2, arg_maximum/2, extrema/2]).
--export_type([rounding_mode/0]).
-
--type rounding_mode() :: round_nearest |
- round_ties_away |
- round_ties_up |
- round_to_zero |
- round_down |
- round_up.
-
--spec truncate_float(float()) -> float().
-truncate_float(X) ->
- erlang:trunc(X).
-
--spec round_to_zero(float(), float()) -> float().
-round_to_zero(P, X) ->
- case P of
- 0.0 -> 0.0;
- Gleam@denominator -> truncate_float(X * P) / Gleam@denominator
- end.
-
--spec round_down(float(), float()) -> float().
-round_down(P, X) ->
- case P of
- 0.0 -> 0.0;
- Gleam@denominator -> math:floor(X * P) / Gleam@denominator
- end.
-
--spec round_up(float(), float()) -> float().
-round_up(P, X) ->
- case P of
- 0.0 -> 0.0;
- Gleam@denominator -> math:ceil(X * P) / Gleam@denominator
- end.
-
--spec float_absolute_value(float()) -> float().
-float_absolute_value(X) ->
- case X > +0.0 of
- true ->
- X;
-
- false ->
- -1.0 * X
- end.
-
--spec int_absolute_value(integer()) -> integer().
-int_absolute_value(X) ->
- case X > 0 of
- true ->
- X;
-
- false ->
- -1 * X
- end.
-
--spec float_absolute_difference(float(), float()) -> float().
-float_absolute_difference(A, B) ->
- _pipe = A - B,
- float_absolute_value(_pipe).
-
--spec int_absolute_difference(integer(), integer()) -> integer().
-int_absolute_difference(A, B) ->
- _pipe = A - B,
- int_absolute_value(_pipe).
-
--spec do_float_sign(float()) -> float().
-do_float_sign(X) ->
- case X < +0.0 of
- true ->
- -1.0;
-
- false ->
- case X =:= +0.0 of
- true ->
- +0.0;
-
- false ->
- 1.0
- end
- end.
-
--spec float_sign(float()) -> float().
-float_sign(X) ->
- do_float_sign(X).
-
--spec round_to_nearest(float(), float()) -> float().
-round_to_nearest(P, X) ->
- Xabs = float_absolute_value(X) * P,
- Xabs_truncated = truncate_float(Xabs),
- Remainder = Xabs - Xabs_truncated,
- case Remainder of
- _ when Remainder > 0.5 ->
- case P of
- 0.0 -> 0.0;
- Gleam@denominator -> (float_sign(X) * truncate_float(Xabs + 1.0))
- / Gleam@denominator
- end;
-
- _ when Remainder =:= 0.5 ->
- _assert_subject = gleam@int:modulo(
- gleam_community@maths@conversion:float_to_int(Xabs),
- 2
- ),
- {ok, Is_even} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/piecewise"/utf8>>,
- function => <<"round_to_nearest"/utf8>>,
- line => 423})
- end,
- case Is_even =:= 0 of
- true ->
- case P of
- 0.0 -> 0.0;
- Gleam@denominator@1 -> (float_sign(X) * Xabs_truncated)
- / Gleam@denominator@1
- end;
-
- false ->
- case P of
- 0.0 -> 0.0;
- Gleam@denominator@2 -> (float_sign(X) * truncate_float(
- Xabs + 1.0
- ))
- / Gleam@denominator@2
- end
- end;
-
- _ ->
- case P of
- 0.0 -> 0.0;
- Gleam@denominator@3 -> (float_sign(X) * Xabs_truncated) / Gleam@denominator@3
- end
- end.
-
--spec round_ties_away(float(), float()) -> float().
-round_ties_away(P, X) ->
- Xabs = float_absolute_value(X) * P,
- Remainder = Xabs - truncate_float(Xabs),
- case Remainder of
- _ when Remainder >= 0.5 ->
- case P of
- 0.0 -> 0.0;
- Gleam@denominator -> (float_sign(X) * truncate_float(Xabs + 1.0))
- / Gleam@denominator
- end;
-
- _ ->
- case P of
- 0.0 -> 0.0;
- Gleam@denominator@1 -> (float_sign(X) * truncate_float(Xabs)) / Gleam@denominator@1
- end
- end.
-
--spec round_ties_up(float(), float()) -> float().
-round_ties_up(P, X) ->
- Xabs = float_absolute_value(X) * P,
- Xabs_truncated = truncate_float(Xabs),
- Remainder = Xabs - Xabs_truncated,
- case Remainder of
- _ when (Remainder >= 0.5) andalso (X >= +0.0) ->
- case P of
- 0.0 -> 0.0;
- Gleam@denominator -> (float_sign(X) * truncate_float(Xabs + 1.0))
- / Gleam@denominator
- end;
-
- _ ->
- case P of
- 0.0 -> 0.0;
- Gleam@denominator@1 -> (float_sign(X) * Xabs_truncated) / Gleam@denominator@1
- end
- end.
-
--spec do_round(float(), float(), gleam@option:option(rounding_mode())) -> {ok,
- float()} |
- {error, binary()}.
-do_round(P, X, Mode) ->
- case Mode of
- {some, round_nearest} ->
- _pipe = round_to_nearest(P, X),
- {ok, _pipe};
-
- {some, round_ties_away} ->
- _pipe@1 = round_ties_away(P, X),
- {ok, _pipe@1};
-
- {some, round_ties_up} ->
- _pipe@2 = round_ties_up(P, X),
- {ok, _pipe@2};
-
- {some, round_to_zero} ->
- _pipe@3 = round_to_zero(P, X),
- {ok, _pipe@3};
-
- {some, round_down} ->
- _pipe@4 = round_down(P, X),
- {ok, _pipe@4};
-
- {some, round_up} ->
- _pipe@5 = round_up(P, X),
- {ok, _pipe@5};
-
- none ->
- _pipe@6 = round_to_nearest(P, X),
- {ok, _pipe@6}
- end.
-
--spec round(
- float(),
- gleam@option:option(integer()),
- gleam@option:option(rounding_mode())
-) -> {ok, float()} | {error, binary()}.
-round(X, Digits, Mode) ->
- case Digits of
- {some, A} ->
- _assert_subject = gleam_community@maths@elementary:power(
- 10.0,
- gleam_community@maths@conversion:int_to_float(A)
- ),
- {ok, P} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/piecewise"/utf8>>,
- function => <<"round"/utf8>>,
- line => 366})
- end,
- do_round(P, X, Mode);
-
- none ->
- do_round(1.0, X, Mode)
- end.
-
--spec ceiling(float(), gleam@option:option(integer())) -> {ok, float()} |
- {error, binary()}.
-ceiling(X, Digits) ->
- round(X, Digits, {some, round_up}).
-
--spec floor(float(), gleam@option:option(integer())) -> {ok, float()} |
- {error, binary()}.
-floor(X, Digits) ->
- round(X, Digits, {some, round_down}).
-
--spec truncate(float(), gleam@option:option(integer())) -> {ok, float()} |
- {error, binary()}.
-truncate(X, Digits) ->
- round(X, Digits, {some, round_to_zero}).
-
--spec do_int_sign(integer()) -> integer().
-do_int_sign(X) ->
- case X < 0 of
- true ->
- -1;
-
- false ->
- case X =:= 0 of
- true ->
- 0;
-
- false ->
- 1
- end
- end.
-
--spec int_sign(integer()) -> integer().
-int_sign(X) ->
- do_int_sign(X).
-
--spec float_flip_sign(float()) -> float().
-float_flip_sign(X) ->
- -1.0 * X.
-
--spec float_copy_sign(float(), float()) -> float().
-float_copy_sign(X, Y) ->
- case float_sign(X) =:= float_sign(Y) of
- true ->
- X;
-
- false ->
- float_flip_sign(X)
- end.
-
--spec int_flip_sign(integer()) -> integer().
-int_flip_sign(X) ->
- -1 * X.
-
--spec int_copy_sign(integer(), integer()) -> integer().
-int_copy_sign(X, Y) ->
- case int_sign(X) =:= int_sign(Y) of
- true ->
- X;
-
- false ->
- int_flip_sign(X)
- end.
-
--spec minimum(FQL, FQL, fun((FQL, FQL) -> gleam@order:order())) -> FQL.
-minimum(X, Y, Compare) ->
- case Compare(X, Y) of
- lt ->
- X;
-
- eq ->
- X;
-
- gt ->
- Y
- end.
-
--spec maximum(FQM, FQM, fun((FQM, FQM) -> gleam@order:order())) -> FQM.
-maximum(X, Y, Compare) ->
- case Compare(X, Y) of
- lt ->
- Y;
-
- eq ->
- Y;
-
- gt ->
- X
- end.
-
--spec minmax(FQN, FQN, fun((FQN, FQN) -> gleam@order:order())) -> {FQN, FQN}.
-minmax(X, Y, Compare) ->
- {minimum(X, Y, Compare), maximum(X, Y, Compare)}.
-
--spec list_minimum(list(FQO), fun((FQO, FQO) -> gleam@order:order())) -> {ok,
- FQO} |
- {error, binary()}.
-list_minimum(Arr, Compare) ->
- case Arr of
- [] ->
- _pipe = <<"Invalid input argument: The list is empty."/utf8>>,
- {error, _pipe};
-
- _ ->
- _assert_subject = gleam@list:at(Arr, 0),
- {ok, Val0} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/piecewise"/utf8>>,
- function => <<"list_minimum"/utf8>>,
- line => 945})
- end,
- _pipe@1 = Arr,
- _pipe@2 = gleam@list:fold(
- _pipe@1,
- Val0,
- fun(Acc, Element) -> case Compare(Element, Acc) of
- lt ->
- Element;
-
- _ ->
- Acc
- end end
- ),
- {ok, _pipe@2}
- end.
-
--spec list_maximum(list(FQS), fun((FQS, FQS) -> gleam@order:order())) -> {ok,
- FQS} |
- {error, binary()}.
-list_maximum(Arr, Compare) ->
- case Arr of
- [] ->
- _pipe = <<"Invalid input argument: The list is empty."/utf8>>,
- {error, _pipe};
-
- _ ->
- _assert_subject = gleam@list:at(Arr, 0),
- {ok, Val0} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/piecewise"/utf8>>,
- function => <<"list_maximum"/utf8>>,
- line => 1004})
- end,
- _pipe@1 = Arr,
- _pipe@2 = gleam@list:fold(
- _pipe@1,
- Val0,
- fun(Acc, Element) -> case Compare(Acc, Element) of
- lt ->
- Element;
-
- _ ->
- Acc
- end end
- ),
- {ok, _pipe@2}
- end.
-
--spec arg_minimum(list(FQW), fun((FQW, FQW) -> gleam@order:order())) -> {ok,
- list(integer())} |
- {error, binary()}.
-arg_minimum(Arr, Compare) ->
- case Arr of
- [] ->
- _pipe = <<"Invalid input argument: The list is empty."/utf8>>,
- {error, _pipe};
-
- _ ->
- _assert_subject = begin
- _pipe@1 = Arr,
- list_minimum(_pipe@1, Compare)
- end,
- {ok, Min} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/piecewise"/utf8>>,
- function => <<"arg_minimum"/utf8>>,
- line => 1069})
- end,
- _pipe@2 = Arr,
- _pipe@3 = gleam@list:index_map(
- _pipe@2,
- fun(Index, Element) -> case Compare(Element, Min) of
- eq ->
- Index;
-
- _ ->
- -1
- end end
- ),
- _pipe@4 = gleam@list:filter(_pipe@3, fun(Index@1) -> case Index@1 of
- -1 ->
- false;
-
- _ ->
- true
- end end),
- {ok, _pipe@4}
- end.
-
--spec arg_maximum(list(FRB), fun((FRB, FRB) -> gleam@order:order())) -> {ok,
- list(integer())} |
- {error, binary()}.
-arg_maximum(Arr, Compare) ->
- case Arr of
- [] ->
- _pipe = <<"Invalid input argument: The list is empty."/utf8>>,
- {error, _pipe};
-
- _ ->
- _assert_subject = begin
- _pipe@1 = Arr,
- list_maximum(_pipe@1, Compare)
- end,
- {ok, Max} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/piecewise"/utf8>>,
- function => <<"arg_maximum"/utf8>>,
- line => 1139})
- end,
- _pipe@2 = Arr,
- _pipe@3 = gleam@list:index_map(
- _pipe@2,
- fun(Index, Element) -> case Compare(Element, Max) of
- eq ->
- Index;
-
- _ ->
- -1
- end end
- ),
- _pipe@4 = gleam@list:filter(_pipe@3, fun(Index@1) -> case Index@1 of
- -1 ->
- false;
-
- _ ->
- true
- end end),
- {ok, _pipe@4}
- end.
-
--spec extrema(list(FRG), fun((FRG, FRG) -> gleam@order:order())) -> {ok,
- {FRG, FRG}} |
- {error, binary()}.
-extrema(Arr, Compare) ->
- case Arr of
- [] ->
- _pipe = <<"Invalid input argument: The list is empty."/utf8>>,
- {error, _pipe};
-
- _ ->
- _assert_subject = gleam@list:at(Arr, 0),
- {ok, Val_max} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/piecewise"/utf8>>,
- function => <<"extrema"/utf8>>,
- line => 1209})
- end,
- _assert_subject@1 = gleam@list:at(Arr, 0),
- {ok, Val_min} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"gleam_community/maths/piecewise"/utf8>>,
- function => <<"extrema"/utf8>>,
- line => 1210})
- end,
- _pipe@1 = Arr,
- _pipe@2 = gleam@list:fold(
- _pipe@1,
- {Val_min, Val_max},
- fun(Acc, Element) ->
- First = gleam@pair:first(Acc),
- Second = gleam@pair:second(Acc),
- case {Compare(Element, First), Compare(Second, Element)} of
- {lt, lt} ->
- {Element, Element};
-
- {lt, _} ->
- {Element, Second};
-
- {_, lt} ->
- {First, Element};
-
- {_, _} ->
- {First, Second}
- end
- end
- ),
- {ok, _pipe@2}
- end.
diff --git a/aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@predicates.erl b/aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@predicates.erl
deleted file mode 100644
index d991d89..0000000
--- a/aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@predicates.erl
+++ /dev/null
@@ -1,118 +0,0 @@
--module(gleam_community@maths@predicates).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([is_close/4, all_close/4, is_fractional/1, is_power/2, is_perfect/1, is_even/1, is_odd/1]).
-
--spec float_absolute_value(float()) -> float().
-float_absolute_value(X) ->
- case X > +0.0 of
- true ->
- X;
-
- false ->
- -1.0 * X
- end.
-
--spec float_absolute_difference(float(), float()) -> float().
-float_absolute_difference(A, B) ->
- _pipe = A - B,
- float_absolute_value(_pipe).
-
--spec is_close(float(), float(), float(), float()) -> boolean().
-is_close(A, B, Rtol, Atol) ->
- X = float_absolute_difference(A, B),
- Y = Atol + (Rtol * float_absolute_value(B)),
- case X =< Y of
- true ->
- true;
-
- false ->
- false
- end.
-
--spec all_close(list(float()), list(float()), float(), float()) -> {ok,
- list(boolean())} |
- {error, binary()}.
-all_close(Xarr, Yarr, Rtol, Atol) ->
- Xlen = gleam@list:length(Xarr),
- Ylen = gleam@list:length(Yarr),
- case Xlen =:= Ylen of
- false ->
- _pipe = <<"Invalid input argument: length(xarr) != length(yarr). Valid input is when length(xarr) == length(yarr)."/utf8>>,
- {error, _pipe};
-
- true ->
- _pipe@1 = gleam@list:zip(Xarr, Yarr),
- _pipe@2 = gleam@list:map(
- _pipe@1,
- fun(Z) ->
- is_close(
- gleam@pair:first(Z),
- gleam@pair:second(Z),
- Rtol,
- Atol
- )
- end
- ),
- {ok, _pipe@2}
- end.
-
--spec is_fractional(float()) -> boolean().
-is_fractional(X) ->
- (math:ceil(X) - X) > +0.0.
-
--spec is_power(integer(), integer()) -> boolean().
-is_power(X, Y) ->
- _assert_subject = gleam_community@maths@elementary:logarithm(
- gleam@int:to_float(X),
- {some, gleam@int:to_float(Y)}
- ),
- {ok, Value} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/predicates"/utf8>>,
- function => <<"is_power"/utf8>>,
- line => 241})
- end,
- _assert_subject@1 = gleam_community@maths@piecewise:truncate(
- Value,
- {some, 0}
- ),
- {ok, Truncated} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"gleam_community/maths/predicates"/utf8>>,
- function => <<"is_power"/utf8>>,
- line => 243})
- end,
- Rem = Value - Truncated,
- Rem =:= +0.0.
-
--spec do_sum(list(integer())) -> integer().
-do_sum(Arr) ->
- case Arr of
- [] ->
- 0;
-
- _ ->
- _pipe = Arr,
- gleam@list:fold(_pipe, 0, fun(Acc, A) -> A + Acc end)
- end.
-
--spec is_perfect(integer()) -> boolean().
-is_perfect(N) ->
- do_sum(gleam_community@maths@arithmetics:proper_divisors(N)) =:= N.
-
--spec is_even(integer()) -> boolean().
-is_even(X) ->
- (X rem 2) =:= 0.
-
--spec is_odd(integer()) -> boolean().
-is_odd(X) ->
- (X rem 2) /= 0.
diff --git a/aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@sequences.erl b/aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@sequences.erl
deleted file mode 100644
index 74dcff4..0000000
--- a/aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@sequences.erl
+++ /dev/null
@@ -1,199 +0,0 @@
--module(gleam_community@maths@sequences).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([arange/3, linear_space/4, logarithmic_space/5, geometric_space/4]).
-
--spec arange(float(), float(), float()) -> list(float()).
-arange(Start, Stop, Step) ->
- case ((Start >= Stop) andalso (Step > +0.0)) orelse ((Start =< Stop) andalso (Step
- < +0.0)) of
- true ->
- [];
-
- false ->
- Direction = case Start =< Stop of
- true ->
- 1.0;
-
- false ->
- -1.0
- end,
- Step_abs = gleam_community@maths@piecewise:float_absolute_value(
- Step
- ),
- Num = case Step_abs of
- 0.0 -> 0.0;
- Gleam@denominator -> gleam_community@maths@piecewise:float_absolute_value(
- Start - Stop
- )
- / Gleam@denominator
- end,
- _pipe = gleam@list:range(
- 0,
- gleam_community@maths@conversion:float_to_int(Num) - 1
- ),
- gleam@list:map(
- _pipe,
- fun(I) ->
- Start + ((gleam_community@maths@conversion:int_to_float(I) * Step_abs)
- * Direction)
- end
- )
- end.
-
--spec linear_space(float(), float(), integer(), boolean()) -> {ok,
- list(float())} |
- {error, binary()}.
-linear_space(Start, Stop, Num, Endpoint) ->
- Direction = case Start =< Stop of
- true ->
- 1.0;
-
- false ->
- -1.0
- end,
- case Num > 0 of
- true ->
- case Endpoint of
- true ->
- Increment = case gleam_community@maths@conversion:int_to_float(
- Num - 1
- ) of
- 0.0 -> 0.0;
- Gleam@denominator -> gleam_community@maths@piecewise:float_absolute_value(
- Start - Stop
- )
- / Gleam@denominator
- end,
- _pipe = gleam@list:range(0, Num - 1),
- _pipe@1 = gleam@list:map(
- _pipe,
- fun(I) ->
- Start + ((gleam_community@maths@conversion:int_to_float(
- I
- )
- * Increment)
- * Direction)
- end
- ),
- {ok, _pipe@1};
-
- false ->
- Increment@1 = case gleam_community@maths@conversion:int_to_float(
- Num
- ) of
- 0.0 -> 0.0;
- Gleam@denominator@1 -> gleam_community@maths@piecewise:float_absolute_value(
- Start - Stop
- )
- / Gleam@denominator@1
- end,
- _pipe@2 = gleam@list:range(0, Num - 1),
- _pipe@3 = gleam@list:map(
- _pipe@2,
- fun(I@1) ->
- Start + ((gleam_community@maths@conversion:int_to_float(
- I@1
- )
- * Increment@1)
- * Direction)
- end
- ),
- {ok, _pipe@3}
- end;
-
- false ->
- _pipe@4 = <<"Invalid input: num < 0. Valid input is num > 0."/utf8>>,
- {error, _pipe@4}
- end.
-
--spec logarithmic_space(float(), float(), integer(), boolean(), float()) -> {ok,
- list(float())} |
- {error, binary()}.
-logarithmic_space(Start, Stop, Num, Endpoint, Base) ->
- case Num > 0 of
- true ->
- _assert_subject = linear_space(Start, Stop, Num, Endpoint),
- {ok, Linspace} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/sequences"/utf8>>,
- function => <<"logarithmic_space"/utf8>>,
- line => 221})
- end,
- _pipe = Linspace,
- _pipe@1 = gleam@list:map(
- _pipe,
- fun(I) ->
- _assert_subject@1 = gleam_community@maths@elementary:power(
- Base,
- I
- ),
- {ok, Result} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"gleam_community/maths/sequences"/utf8>>,
- function => <<"logarithmic_space"/utf8>>,
- line => 224})
- end,
- Result
- end
- ),
- {ok, _pipe@1};
-
- false ->
- _pipe@2 = <<"Invalid input: num < 0. Valid input is num > 0."/utf8>>,
- {error, _pipe@2}
- end.
-
--spec geometric_space(float(), float(), integer(), boolean()) -> {ok,
- list(float())} |
- {error, binary()}.
-geometric_space(Start, Stop, Num, Endpoint) ->
- case (Start =:= +0.0) orelse (Stop =:= +0.0) of
- true ->
- _pipe = <<""/utf8>>,
- {error, _pipe};
-
- false ->
- case Num > 0 of
- true ->
- _assert_subject = gleam_community@maths@elementary:logarithm_10(
- Start
- ),
- {ok, Log_start} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/sequences"/utf8>>,
- function => <<"geometric_space"/utf8>>,
- line => 293})
- end,
- _assert_subject@1 = gleam_community@maths@elementary:logarithm_10(
- Stop
- ),
- {ok, Log_stop} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"gleam_community/maths/sequences"/utf8>>,
- function => <<"geometric_space"/utf8>>,
- line => 294})
- end,
- logarithmic_space(Log_start, Log_stop, Num, Endpoint, 10.0);
-
- false ->
- _pipe@1 = <<"Invalid input: num < 0. Valid input is num > 0."/utf8>>,
- {error, _pipe@1}
- end
- end.
diff --git a/aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@special.erl b/aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@special.erl
deleted file mode 100644
index 925f4bb..0000000
--- a/aoc2023/build/packages/gleam_community_maths/src/gleam_community@maths@special.erl
+++ /dev/null
@@ -1,157 +0,0 @@
--module(gleam_community@maths@special).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([erf/1, gamma/1, beta/2, incomplete_gamma/2]).
-
--spec erf(float()) -> float().
-erf(X) ->
- _assert_subject = [0.254829592,
- -0.284496736,
- 1.421413741,
- -1.453152027,
- 1.061405429],
- [A1, A2, A3, A4, A5] = case _assert_subject of
- [_, _, _, _, _] -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/special"/utf8>>,
- function => <<"erf"/utf8>>,
- line => 79})
- end,
- P = 0.3275911,
- Sign = gleam_community@maths@piecewise:float_sign(X),
- X@1 = gleam_community@maths@piecewise:float_absolute_value(X),
- T = case (1.0 + (P * X@1)) of
- 0.0 -> 0.0;
- Gleam@denominator -> 1.0 / Gleam@denominator
- end,
- Y = 1.0 - ((((((((((A5 * T) + A4) * T) + A3) * T) + A2) * T) + A1) * T) * gleam_community@maths@elementary:exponential(
- (-1.0 * X@1) * X@1
- )),
- Sign * Y.
-
--spec gamma_lanczos(float()) -> float().
-gamma_lanczos(X) ->
- case X < 0.5 of
- true ->
- case (gleam_community@maths@elementary:sin(
- gleam_community@maths@elementary:pi() * X
- )
- * gamma_lanczos(1.0 - X)) of
- 0.0 -> 0.0;
- Gleam@denominator -> gleam_community@maths@elementary:pi() / Gleam@denominator
- end;
-
- false ->
- Z = X - 1.0,
- X@1 = gleam@list:index_fold(
- [0.99999999999980993,
- 676.5203681218851,
- -1259.1392167224028,
- 771.32342877765313,
- -176.61502916214059,
- 12.507343278686905,
- -0.13857109526572012,
- 0.0000099843695780195716,
- 0.00000015056327351493116],
- +0.0,
- fun(Acc, V, Index) -> case Index > 0 of
- true ->
- Acc + (case (Z + gleam_community@maths@conversion:int_to_float(
- Index
- )) of
- 0.0 -> 0.0;
- Gleam@denominator@1 -> V / Gleam@denominator@1
- end);
-
- false ->
- V
- end end
- ),
- T = (Z + 7.0) + 0.5,
- _assert_subject = gleam_community@maths@elementary:power(
- 2.0 * gleam_community@maths@elementary:pi(),
- 0.5
- ),
- {ok, V1} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/special"/utf8>>,
- function => <<"gamma_lanczos"/utf8>>,
- line => 146})
- end,
- _assert_subject@1 = gleam_community@maths@elementary:power(
- T,
- Z + 0.5
- ),
- {ok, V2} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"gleam_community/maths/special"/utf8>>,
- function => <<"gamma_lanczos"/utf8>>,
- line => 147})
- end,
- ((V1 * V2) * gleam_community@maths@elementary:exponential(-1.0 * T))
- * X@1
- end.
-
--spec gamma(float()) -> float().
-gamma(X) ->
- gamma_lanczos(X).
-
--spec beta(float(), float()) -> float().
-beta(X, Y) ->
- case gamma(X + Y) of
- 0.0 -> 0.0;
- Gleam@denominator -> (gamma(X) * gamma(Y)) / Gleam@denominator
- end.
-
--spec incomplete_gamma_sum(float(), float(), float(), float(), float()) -> float().
-incomplete_gamma_sum(A, X, T, S, N) ->
- case T of
- +0.0 ->
- S;
-
- _ ->
- Ns = S + T,
- Nt = T * (case (A + N) of
- 0.0 -> 0.0;
- Gleam@denominator -> X / Gleam@denominator
- end),
- incomplete_gamma_sum(A, X, Nt, Ns, N + 1.0)
- end.
-
--spec incomplete_gamma(float(), float()) -> {ok, float()} | {error, binary()}.
-incomplete_gamma(A, X) ->
- case (A > +0.0) andalso (X >= +0.0) of
- true ->
- _assert_subject = gleam_community@maths@elementary:power(X, A),
- {ok, V} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam_community/maths/special"/utf8>>,
- function => <<"incomplete_gamma"/utf8>>,
- line => 173})
- end,
- _pipe = (V * gleam_community@maths@elementary:exponential(-1.0 * X))
- * incomplete_gamma_sum(A, X, case A of
- 0.0 -> 0.0;
- Gleam@denominator -> 1.0 / Gleam@denominator
- end, +0.0, 1.0),
- {ok, _pipe};
-
- false ->
- _pipe@1 = <<"Invlaid input argument: a <= 0 or x < 0. Valid input is a > 0 and x >= 0."/utf8>>,
- {error, _pipe@1}
- end.
diff --git a/aoc2023/build/packages/gleam_community_maths/src/gleam_community_maths.app.src b/aoc2023/build/packages/gleam_community_maths/src/gleam_community_maths.app.src
deleted file mode 100644
index 091e679..0000000
--- a/aoc2023/build/packages/gleam_community_maths/src/gleam_community_maths.app.src
+++ /dev/null
@@ -1,16 +0,0 @@
-{application, gleam_community_maths, [
- {vsn, "1.0.1"},
- {applications, [gleam_stdlib,
- gleeunit]},
- {description, "A basic maths library"},
- {modules, [gleam_community@maths@arithmetics,
- gleam_community@maths@combinatorics,
- gleam_community@maths@conversion,
- gleam_community@maths@elementary,
- gleam_community@maths@metrics,
- gleam_community@maths@piecewise,
- gleam_community@maths@predicates,
- gleam_community@maths@sequences,
- gleam_community@maths@special]},
- {registered, []}
-]}.
diff --git a/aoc2023/build/packages/gleam_community_maths/src/maths.mjs b/aoc2023/build/packages/gleam_community_maths/src/maths.mjs
deleted file mode 100644
index 5c5ab31..0000000
--- a/aoc2023/build/packages/gleam_community_maths/src/maths.mjs
+++ /dev/null
@@ -1,95 +0,0 @@
-export function sin(float) {
- return Math.sin(float)
-}
-
-export function pi() {
- return Math.PI
-}
-
-export function acos(float) {
- return Math.acos(float)
-}
-
-export function acosh(float) {
- return Math.acosh(float)
-}
-
-export function asin(float) {
- return Math.asin(float)
-}
-
-export function asinh(float) {
- return Math.asinh(float)
-}
-
-export function atan(float) {
- return Math.atan(float)
-}
-
-export function tan(float) {
- return Math.tan(float)
-}
-
-export function atan2(floaty, floatx) {
- return Math.atan2(floaty, floatx)
-}
-
-export function atanh(float) {
- return Math.atanh(float)
-}
-
-export function cos(float) {
- return Math.cos(float)
-}
-
-export function cosh(float) {
- return Math.cosh(float)
-}
-
-export function exponential(float) {
- return Math.exp(float)
-}
-
-export function ceiling(float) {
- return Math.ceil(float)
-}
-
-export function floor(float) {
- return Math.floor(float)
-}
-
-export function power(base, exponent) {
- return Math.pow(base, exponent)
-}
-
-export function logarithm(float) {
- return Math.log(float)
-}
-
-export function logarithm_10(float) {
- return Math.log10(float)
-}
-
-export function logarithm_2(float) {
- return Math.log2(float)
-}
-
-export function sinh(float) {
- return Math.sinh(float)
-}
-
-export function tanh(float) {
- return Math.tanh(float)
-}
-
-export function sign(float) {
- return Math.sign(float)
-}
-
-export function truncate(float) {
- return Math.trunc(float)
-}
-
-export function to_int(float) {
- return Math.trunc(float)
-}
diff --git a/aoc2023/build/packages/gleam_erlang/LICENSE b/aoc2023/build/packages/gleam_erlang/LICENSE
deleted file mode 100644
index 59e1345..0000000
--- a/aoc2023/build/packages/gleam_erlang/LICENSE
+++ /dev/null
@@ -1,191 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- Copyright {{copyright_year}}, {{author_name}} <{{author_email}}>.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
diff --git a/aoc2023/build/packages/gleam_erlang/README.md b/aoc2023/build/packages/gleam_erlang/README.md
deleted file mode 100644
index ffee4cd..0000000
--- a/aoc2023/build/packages/gleam_erlang/README.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# Gleam Erlang 🐙
-
-A library for making use of Erlang specific code!
-
-## Features
-
-- Typed Erlang processes and message sending.
-- Erlang binary format (de)serialisation.
-- Functions for working with Erlang's charlists.
-- Reading, writing, and deletion of files.
-- Basic distributed Erlang support and working with nodes.
-- Reading and writing of environment variables.
-- Functions for working with atoms.
-
-## Usage
-
-Add this library to your Gleam project
-
-```shell
-gleam add gleam_erlang
-```
-
-And then use it in your code
-
-```gleam
-import gleam/io
-import gleam/erlang/file
-
-pub fn main() {
- assert Ok(contents) = file.read("pokedex.txt")
- io.println(contents)
-}
-```
-
-Documentation can be found at <https://hexdocs.pm/gleam_erlang/>.
-
-This library requires OTP 23.0 or higher.
diff --git a/aoc2023/build/packages/gleam_erlang/gleam.toml b/aoc2023/build/packages/gleam_erlang/gleam.toml
deleted file mode 100644
index 8d62603..0000000
--- a/aoc2023/build/packages/gleam_erlang/gleam.toml
+++ /dev/null
@@ -1,18 +0,0 @@
-name = "gleam_erlang"
-
-version = "0.23.1"
-licences = ["Apache-2.0"]
-description = "A Gleam library for working with Erlang"
-
-repository = { type = "github", user = "gleam-lang", repo = "erlang" }
-links = [
- { title = "Website", href = "https://gleam.run" },
- { title = "Sponsor", href = "https://github.com/sponsors/lpil" },
-]
-gleam = ">= 0.32.0"
-
-[dependencies]
-gleam_stdlib = "~> 0.32"
-
-[dev-dependencies]
-gleeunit = "~> 0.6"
diff --git a/aoc2023/build/packages/gleam_erlang/include/gleam@erlang@file_FileInfo.hrl b/aoc2023/build/packages/gleam_erlang/include/gleam@erlang@file_FileInfo.hrl
deleted file mode 100644
index b38d11e..0000000
--- a/aoc2023/build/packages/gleam_erlang/include/gleam@erlang@file_FileInfo.hrl
+++ /dev/null
@@ -1,15 +0,0 @@
--record(file_info, {
- size :: integer(),
- file_type :: gleam@erlang@file:file_type(),
- access :: gleam@erlang@file:access(),
- atime :: integer(),
- mtime :: integer(),
- ctime :: integer(),
- mode :: integer(),
- links :: integer(),
- major_device :: integer(),
- minor_device :: integer(),
- inode :: integer(),
- user_id :: integer(),
- group_id :: integer()
-}).
diff --git a/aoc2023/build/packages/gleam_erlang/include/gleam@erlang@process_Abnormal.hrl b/aoc2023/build/packages/gleam_erlang/include/gleam@erlang@process_Abnormal.hrl
deleted file mode 100644
index 4cd0452..0000000
--- a/aoc2023/build/packages/gleam_erlang/include/gleam@erlang@process_Abnormal.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(abnormal, {reason :: binary()}).
diff --git a/aoc2023/build/packages/gleam_erlang/include/gleam@erlang@process_CalleeDown.hrl b/aoc2023/build/packages/gleam_erlang/include/gleam@erlang@process_CalleeDown.hrl
deleted file mode 100644
index 5dd5047..0000000
--- a/aoc2023/build/packages/gleam_erlang/include/gleam@erlang@process_CalleeDown.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(callee_down, {reason :: gleam@dynamic:dynamic_()}).
diff --git a/aoc2023/build/packages/gleam_erlang/include/gleam@erlang@process_Cancelled.hrl b/aoc2023/build/packages/gleam_erlang/include/gleam@erlang@process_Cancelled.hrl
deleted file mode 100644
index b82b49f..0000000
--- a/aoc2023/build/packages/gleam_erlang/include/gleam@erlang@process_Cancelled.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(cancelled, {time_remaining :: integer()}).
diff --git a/aoc2023/build/packages/gleam_erlang/include/gleam@erlang@process_ExitMessage.hrl b/aoc2023/build/packages/gleam_erlang/include/gleam@erlang@process_ExitMessage.hrl
deleted file mode 100644
index c476308..0000000
--- a/aoc2023/build/packages/gleam_erlang/include/gleam@erlang@process_ExitMessage.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(exit_message, {
- pid :: gleam@erlang@process:pid_(),
- reason :: gleam@erlang@process:exit_reason()
-}).
diff --git a/aoc2023/build/packages/gleam_erlang/include/gleam@erlang@process_ProcessDown.hrl b/aoc2023/build/packages/gleam_erlang/include/gleam@erlang@process_ProcessDown.hrl
deleted file mode 100644
index df0b6b7..0000000
--- a/aoc2023/build/packages/gleam_erlang/include/gleam@erlang@process_ProcessDown.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(process_down, {
- pid :: gleam@erlang@process:pid_(),
- reason :: gleam@dynamic:dynamic_()
-}).
diff --git a/aoc2023/build/packages/gleam_erlang/include/gleam@erlang@process_ProcessMonitor.hrl b/aoc2023/build/packages/gleam_erlang/include/gleam@erlang@process_ProcessMonitor.hrl
deleted file mode 100644
index ce552e2..0000000
--- a/aoc2023/build/packages/gleam_erlang/include/gleam@erlang@process_ProcessMonitor.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(process_monitor, {tag :: gleam@erlang:reference_()}).
diff --git a/aoc2023/build/packages/gleam_erlang/include/gleam@erlang@process_Subject.hrl b/aoc2023/build/packages/gleam_erlang/include/gleam@erlang@process_Subject.hrl
deleted file mode 100644
index abc46b2..0000000
--- a/aoc2023/build/packages/gleam_erlang/include/gleam@erlang@process_Subject.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(subject, {
- owner :: gleam@erlang@process:pid_(),
- tag :: gleam@erlang:reference_()
-}).
diff --git a/aoc2023/build/packages/gleam_erlang/include/gleam@erlang_ApplicationFailedToStart.hrl b/aoc2023/build/packages/gleam_erlang/include/gleam@erlang_ApplicationFailedToStart.hrl
deleted file mode 100644
index 52c9896..0000000
--- a/aoc2023/build/packages/gleam_erlang/include/gleam@erlang_ApplicationFailedToStart.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(application_failed_to_start, {
- name :: gleam@erlang@atom:atom_(),
- reason :: gleam@dynamic:dynamic_()
-}).
diff --git a/aoc2023/build/packages/gleam_erlang/include/gleam@erlang_UnknownApplication.hrl b/aoc2023/build/packages/gleam_erlang/include/gleam@erlang_UnknownApplication.hrl
deleted file mode 100644
index fde3c61..0000000
--- a/aoc2023/build/packages/gleam_erlang/include/gleam@erlang_UnknownApplication.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(unknown_application, {name :: gleam@erlang@atom:atom_()}).
diff --git a/aoc2023/build/packages/gleam_erlang/src/gleam/erlang.gleam b/aoc2023/build/packages/gleam_erlang/src/gleam/erlang.gleam
deleted file mode 100644
index 783cd53..0000000
--- a/aoc2023/build/packages/gleam_erlang/src/gleam/erlang.gleam
+++ /dev/null
@@ -1,158 +0,0 @@
-import gleam/dynamic.{type Dynamic}
-import gleam/list
-import gleam/erlang/atom.{type Atom}
-import gleam/erlang/charlist.{type Charlist}
-
-@external(erlang, "io_lib", "format")
-fn erl_format(a: String, b: List(a)) -> Charlist
-
-/// Return a string representation of any term
-pub fn format(term: any) -> String {
- charlist.to_string(erl_format("~p", [term]))
-}
-
-@external(erlang, "erlang", "term_to_binary")
-pub fn term_to_binary(a: a) -> BitArray
-
-type Safe {
- Safe
-}
-
-@external(erlang, "erlang", "binary_to_term")
-fn erl_binary_to_term(a: BitArray, b: List(Safe)) -> Dynamic
-
-pub fn binary_to_term(binary: BitArray) -> Result(Dynamic, Nil) {
- case rescue(fn() { erl_binary_to_term(binary, [Safe]) }) {
- Ok(term) -> Ok(term)
- Error(_) -> Error(Nil)
- }
-}
-
-pub fn unsafe_binary_to_term(binary: BitArray) -> Result(Dynamic, Nil) {
- case rescue(fn() { erl_binary_to_term(binary, []) }) {
- Ok(term) -> Ok(term)
- Error(_) -> Error(Nil)
- }
-}
-
-/// Error value returned by `get_line` function
-///
-pub type GetLineError {
- Eof
- NoData
-}
-
-/// Reads a line from standard input with the given prompt.
-///
-/// # Example
-///
-/// > get_line("Language: ")
-/// // -> Language: <- gleam
-/// Ok("gleam\n")
-///
-@external(erlang, "gleam_erlang_ffi", "get_line")
-pub fn get_line(prompt prompt: String) -> Result(String, GetLineError)
-
-pub type TimeUnit {
- Second
- Millisecond
- Microsecond
- Nanosecond
-}
-
-/// Returns the current OS system time.
-///
-/// <https://erlang.org/doc/apps/erts/time_correction.html#OS_System_Time>
-@external(erlang, "os", "system_time")
-pub fn system_time(a: TimeUnit) -> Int
-
-/// Returns the current OS system time as a tuple of Ints
-///
-/// http://erlang.org/doc/man/os.html#timestamp-0
-@external(erlang, "os", "timestamp")
-pub fn erlang_timestamp() -> #(Int, Int, Int)
-
-/// Gleam doesn't offer any way to raise exceptions, but they may still occur
-/// due to bugs when working with unsafe code, such as when calling Erlang
-/// function.
-///
-/// This function will catch any error thrown and convert it into a result
-/// rather than crashing the process.
-///
-@external(erlang, "gleam_erlang_ffi", "rescue")
-pub fn rescue(a: fn() -> a) -> Result(a, Crash)
-
-pub type Crash {
- Exited(Dynamic)
- Thrown(Dynamic)
- Errored(Dynamic)
-}
-
-@external(erlang, "init", "get_plain_arguments")
-fn get_start_arguments() -> List(Charlist)
-
-/// Get the arguments given to the program when it was started.
-///
-/// This is sometimes called `argv` in other languages.
-pub fn start_arguments() -> List(String) {
- get_start_arguments()
- |> list.map(charlist.to_string)
-}
-
-/// Starts an OTP application's process tree in the background, as well as
-/// the trees of any applications that the given application depends upon. An
-/// OTP application typically maps onto a Gleam or Hex package.
-///
-/// Returns a list of the applications that were started. Calling this function
-/// for application that have already been started is a no-op so you do not need
-/// to check the application state beforehand.
-///
-/// In Gleam we prefer to not use these implicit background process trees, but
-/// you will likely still need to start the trees of OTP applications written in
-/// other BEAM languages such as Erlang or Elixir, including those included by
-/// default with Erlang/OTP.
-///
-/// For more information see the OTP documentation.
-/// - <https://www.erlang.org/doc/man/application.html#ensure_all_started-1>
-/// - <https://www.erlang.org/doc/man/application.html#start-1>
-///
-@external(erlang, "gleam_erlang_ffi", "ensure_all_started")
-pub fn ensure_all_started(
- application application: Atom,
-) -> Result(List(Atom), EnsureAllStartedError)
-
-pub type EnsureAllStartedError {
- UnknownApplication(name: Atom)
- ApplicationFailedToStart(name: Atom, reason: Dynamic)
-}
-
-/// A unique reference value.
-///
-/// It holds no particular meaning or value, but unique values are often useful
-/// in programs are used heavily within both Gleam and Erlang's OTP frameworks.
-///
-/// More can be read about references in the [Erlang documentation][1].
-///
-/// [1]: https://www.erlang.org/doc/efficiency_guide/advanced.html#unique_references
-///
-pub type Reference
-
-/// Create a new unique reference.
-///
-@external(erlang, "erlang", "make_ref")
-pub fn make_reference() -> Reference
-
-/// Returns the path of a package's `priv` directory, where extra non-Gleam
-/// or Erlang files are typically kept.
-///
-/// Returns an error if no package was found with the given name.
-///
-/// # Example
-///
-/// ```gleam
-/// > erlang.priv_directory("my_app")
-/// // -> Ok("/some/location/my_app/priv")
-/// ```
-///
-@external(erlang, "gleam_erlang_ffi", "priv_directory")
-pub fn priv_directory(name: String) -> Result(String, Nil)
diff --git a/aoc2023/build/packages/gleam_erlang/src/gleam/erlang/atom.gleam b/aoc2023/build/packages/gleam_erlang/src/gleam/erlang/atom.gleam
deleted file mode 100644
index a27289c..0000000
--- a/aoc2023/build/packages/gleam_erlang/src/gleam/erlang/atom.gleam
+++ /dev/null
@@ -1,79 +0,0 @@
-import gleam/dynamic.{type DecodeErrors, type Dynamic}
-
-/// Atom is a special string-like data-type that is most commonly used for
-/// interfacing with code written in other BEAM languages such as Erlang and
-/// Elixir. It is preferable to define your own custom types to use instead of
-/// atoms where possible.
-///
-/// Atoms are not used much in typical Gleam code!
-///
-/// ## Creating atoms
-///
-/// We can create atoms with the the [`create_from_string`](#create_from_string)
-/// function, though we must be careful when doing so as atoms are never
-/// garbage collected. If we create too many atoms (for example, if we convert
-/// user input into atoms) we may hit the max limit of atoms and cause the
-/// virtual machine to crash.
-///
-pub type Atom
-
-/// An error returned when no atom is found in the virtual machine's atom table
-/// for a given string when calling the [`from_string`](#from_string) function.
-pub type FromStringError {
- AtomNotLoaded
-}
-
-/// Finds an existing Atom for the given String.
-///
-/// If no atom is found in the virtual machine's atom table for the String then
-/// an error is returned.
-///
-/// ## Examples
-///
-/// > from_string("ok")
-/// Ok(create_from_string("ok"))
-///
-/// > from_string("some_new_atom")
-/// Error(AtomNotLoaded)
-///
-@external(erlang, "gleam_erlang_ffi", "atom_from_string")
-pub fn from_string(a: String) -> Result(Atom, FromStringError)
-
-/// Creates an atom from a string, inserting a new value into the virtual
-/// machine's atom table if an atom does not already exist for the given
-/// string.
-///
-/// We must be careful when using this function as there is a limit to the
-/// number of atom that can fit in the virtual machine's atom table. Never
-/// convert user input into atoms as filling the atom table will cause the
-/// virtual machine to crash!
-///
-@external(erlang, "erlang", "binary_to_atom")
-pub fn create_from_string(a: String) -> Atom
-
-/// Returns a `String` corresponding to the text representation of the given
-/// `Atom`.
-///
-/// ## Examples
-///
-/// > let ok_atom = create_from_string("ok")
-/// > to_string(ok_atom)
-/// "ok"
-///
-@external(erlang, "erlang", "atom_to_binary")
-pub fn to_string(a: Atom) -> String
-
-/// Checks to see whether a `Dynamic` value is an atom, and return the atom if
-/// it is.
-///
-/// ## Examples
-///
-/// > import gleam/dynamic
-/// > from_dynamic(dynamic.from(create_from_string("hello")))
-/// Ok(create_from_string("hello"))
-///
-/// > from_dynamic(dynamic.from(123))
-/// Error([DecodeError(expected: "Atom", found: "Int", path: [])])
-///
-@external(erlang, "gleam_erlang_ffi", "atom_from_dynamic")
-pub fn from_dynamic(from from: Dynamic) -> Result(Atom, DecodeErrors)
diff --git a/aoc2023/build/packages/gleam_erlang/src/gleam/erlang/charlist.gleam b/aoc2023/build/packages/gleam_erlang/src/gleam/erlang/charlist.gleam
deleted file mode 100644
index e5b6d65..0000000
--- a/aoc2023/build/packages/gleam_erlang/src/gleam/erlang/charlist.gleam
+++ /dev/null
@@ -1,25 +0,0 @@
-//// A charlist is a list of integers where all the integers are valid code
-//// points.
-////
-//// In practice, you will not come across them often, except perhaps when
-//// interfacing with Erlang, in particular when using older libraries that do
-//// not accept binaries as arguments.
-
-/// A list of characters represented as ints. Commonly used by older Erlang
-/// modules.
-pub type Charlist
-
-/// Transform a charlist to a string
-@external(erlang, "unicode", "characters_to_binary")
-pub fn to_string(a: Charlist) -> String
-
-// Calls `unicode:characters_to_binary(Data, unicode, unicode)`
-// Note: `unicode is an alias for utf8`
-// See <https://www.erlang.org/doc/man/unicode.html#characters_to_binary-1>
-
-/// Transform a string to a charlist
-@external(erlang, "unicode", "characters_to_list")
-pub fn from_string(a: String) -> Charlist
-// Calls `unicode:characters_to_list(Data, unicode)`
-// Note: `unicode is an alias for utf8`
-// See <https://www.erlang.org/doc/man/unicode.html#characters_to_list-1>
diff --git a/aoc2023/build/packages/gleam_erlang/src/gleam/erlang/file.gleam b/aoc2023/build/packages/gleam_erlang/src/gleam/erlang/file.gleam
deleted file mode 100644
index 48e11a7..0000000
--- a/aoc2023/build/packages/gleam_erlang/src/gleam/erlang/file.gleam
+++ /dev/null
@@ -1,737 +0,0 @@
-//// Working with files on the filesystem.
-////
-//// The functions included in this module are for high-level concepts such as
-//// reading and writing.
-
-import gleam/bit_array
-import gleam/result
-
-/// Reason represents all of the reasons that Erlang surfaces of why a file
-/// system operation could fail. Most of these reasons are POSIX errors, which
-/// come from the operating system and start with `E`. Others have been added to
-/// represent other issues that may arise.
-pub type Reason {
- /// Permission denied.
- Eacces
- /// Resource temporarily unavailable.
- Eagain
- /// Bad file number
- Ebadf
- /// Bad message.
- Ebadmsg
- /// File busy.
- Ebusy
- /// Resource deadlock avoided.
- Edeadlk
- /// On most architectures, same as `Edeadlk`. On some architectures, it
- /// means "File locking deadlock error."
- Edeadlock
- /// Disk quota exceeded.
- Edquot
- /// File already exists.
- Eexist
- /// Bad address in system call argument.
- Efault
- /// File too large.
- Efbig
- /// Inappropriate file type or format. Usually caused by trying to set the
- /// "sticky bit" on a regular file (not a directory).
- Eftype
- /// Interrupted system call.
- Eintr
- /// Invalid argument.
- Einval
- /// I/O error.
- Eio
- /// Illegal operation on a directory.
- Eisdir
- /// Too many levels of symbolic links.
- Eloop
- /// Too many open files.
- Emfile
- /// Too many links.
- Emlink
- /// Multihop attempted.
- Emultihop
- /// Filename too long
- Enametoolong
- /// File table overflow
- Enfile
- /// No buffer space available.
- Enobufs
- /// No such device.
- Enodev
- /// No locks available.
- Enolck
- /// Link has been severed.
- Enolink
- /// No such file or directory.
- Enoent
- /// Not enough memory.
- Enomem
- /// No space left on device.
- Enospc
- /// No STREAM resources.
- Enosr
- /// Not a STREAM.
- Enostr
- /// Function not implemented.
- Enosys
- /// Block device required.
- Enotblk
- /// Not a directory.
- Enotdir
- /// Operation not supported.
- Enotsup
- /// No such device or address.
- Enxio
- /// Operation not supported on socket.
- Eopnotsupp
- /// Value too large to be stored in data type.
- Eoverflow
- /// Not owner.
- Eperm
- /// Broken pipe.
- Epipe
- /// Result too large.
- Erange
- /// Read-only file system.
- Erofs
- /// Invalid seek.
- Espipe
- /// No such process.
- Esrch
- /// Stale remote file handle.
- Estale
- /// Text file busy.
- Etxtbsy
- /// Cross-domain link.
- Exdev
- /// File was requested to be read as UTF-8, but is not UTF-8 encoded.
- NotUtf8
-}
-
-/// The type of file found by `file_info` or `link_info`.
-///
-pub type FileType {
- Device
- Directory
- Other
- Regular
- Symlink
-}
-
-/// The read/write permissions a user can have for a file.
-///
-pub type Access {
- NoAccess
- Read
- ReadWrite
- Write
-}
-
-/// Meta information for a file.
-///
-/// Timestamps are in seconds before or after the Unix time epoch,
-/// `1970-01-01 00:00:00 UTC`.
-///
-pub type FileInfo {
- FileInfo(
- /// File size in bytes.
- ///
- size: Int,
- /// `Regular`, `Directory`, `Symlink`, `Device`, or `Other`.
- ///
- file_type: FileType,
- /// `ReadWrite`, `Read`, `Write`, or `NoAccess`.
- ///
- access: Access,
- /// Timestamp of most recent access.
- ///
- atime: Int,
- /// Timestamp of most recent modification.
- ///
- mtime: Int,
- /// Timestamp of most recent change (or file creation, depending on
- /// operating system).
- ///
- ctime: Int,
- /// File permissions encoded as a sum of bit values, including but not
- /// limited to:
- ///
- /// Owner read, write, execute.
- ///
- /// `0o400`, `0o200`, `0o100`
- ///
- /// Group read, write, execute.
- ///
- /// `0o40`, `0o20`, `0o10`
- ///
- /// Other read, write, execute.
- ///
- /// `0o4`, `0o2`, `0o1`
- ///
- /// Set user ID, group ID on execution.
- ///
- /// `0x800`, `0x400`
- ///
- mode: Int,
- /// Total links to a file (always `1` for file systems without links).
- ///
- links: Int,
- /// The file system where a file is located (`0` for drive `A:` on Windows,
- /// `1` for `B:`, etc.).
- ///
- major_device: Int,
- /// Character device (or `0` on non-Unix systems).
- ///
- minor_device: Int,
- /// The `inode` number for a file (always `0` on non-Unix file systems).
- ///
- inode: Int,
- /// The owner of a file (always `0` on non-Unix file systems).
- ///
- user_id: Int,
- /// The group id of a file (always `0` on non-Unix file systems).
- ///
- group_id: Int,
- )
-}
-
-/// Results in `FileInfo` about the given `path` on success, otherwise a
-/// `Reason` for failure.
-///
-/// When `path` refers to a symlink, the result pertains to the link's target.
-/// To get `FileInfo` about a symlink itself, use `link_info`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > file_info("gleam.toml")
-/// Ok(FileInfo(
-/// size: 430,
-/// file_type: Regular,
-/// access: ReadWrite,
-/// atime: 1680580321,
-/// mtime: 1680580272,
-/// ctime: 1680580272,
-/// mode: 33188,
-/// links: 1,
-/// major_device: 64,
-/// minor_device: 0,
-/// inode: 469028,
-/// user_id: 1000,
-/// group_id: 1000,
-/// ))
-///
-/// > file_info("/root")
-/// Ok(FileInfo(
-/// size: 16,
-/// file_type: Directory,
-/// access: Read,
-/// atime: 1677789967,
-/// mtime: 1664561240,
-/// ctime: 1664561240,
-/// mode: 16877,
-/// links: 11,
-/// major_device: 54,
-/// minor_device: 0,
-/// inode: 34,
-/// user_id: 0,
-/// group_id: 0,
-/// ))
-///
-/// > file_info("./build/dev/erlang/rad/priv")
-/// Ok(FileInfo(
-/// size: 140,
-/// file_type: Directory,
-/// access: ReadWrite,
-/// atime: 1680580321,
-/// mtime: 1680580272,
-/// ctime: 1680580272,
-/// mode: 33188,
-/// links: 1,
-/// major_device: 64,
-/// minor_device: 0,
-/// inode: 469028,
-/// user_id: 1000,
-/// group_id: 1000,
-/// ))
-///
-/// > file_info("/does_not_exist")
-/// Error(Enoent)
-///
-/// > file_info("/root/.local/maybe_exists")
-/// Error(Eacces)
-/// ```
-///
-@deprecated("Use the simplifile package instead")
-pub fn file_info(a: String) -> Result(FileInfo, Reason) {
- do_file_info(a)
-}
-
-@external(erlang, "gleam_erlang_ffi", "file_info")
-fn do_file_info(a: String) -> Result(FileInfo, Reason)
-
-/// Results in `FileInfo` about the given `path` on success, otherwise a
-/// `Reason` for failure.
-///
-/// When `path` refers to a symlink, the result pertains to the link itself.
-/// To get `FileInfo` about a symlink's target, use `file_info`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > link_info("gleam.toml")
-/// Ok(FileInfo(
-/// size: 430,
-/// file_type: Regular,
-/// access: ReadWrite,
-/// atime: 1680580321,
-/// mtime: 1680580272,
-/// ctime: 1680580272,
-/// mode: 33188,
-/// links: 1,
-/// major_device: 64,
-/// minor_device: 0,
-/// inode: 469028,
-/// user_id: 1000,
-/// group_id: 1000,
-/// ))
-///
-/// > link_info("/root")
-/// Ok(FileInfo(
-/// size: 16,
-/// file_type: Directory,
-/// access: Read,
-/// atime: 1677789967,
-/// mtime: 1664561240,
-/// ctime: 1664561240,
-/// mode: 16877,
-/// links: 11,
-/// major_device: 54,
-/// minor_device: 0,
-/// inode: 34,
-/// user_id: 0,
-/// group_id: 0,
-/// ))
-///
-/// > link_info("./build/dev/erlang/rad/priv")
-/// Ok(FileInfo(
-/// size: 41,
-/// file_type: Symlink,
-/// access: ReadWrite,
-/// atime: 1680581150,
-/// mtime: 1680581150,
-/// ctime: 1680581150,
-/// mode: 41471,
-/// links: 1,
-/// major_device: 64,
-/// minor_device: 0,
-/// inode: 471587,
-/// user_id: 1000,
-/// group_id: 1000,
-/// ))
-///
-/// > link_info("/does_not_exist")
-/// Error(Enoent)
-///
-/// > link_info("/root/.local/maybe_exists")
-/// Error(Eacces)
-/// ```
-///
-@deprecated("Use the simplifile package instead")
-pub fn link_info(a: String) -> Result(FileInfo, Reason) {
- do_link_info(a)
-}
-
-@external(erlang, "gleam_erlang_ffi", "link_info")
-fn do_link_info(a: String) -> Result(FileInfo, Reason)
-
-/// Results in a `Bool` on success that indicates whether the given `path` has
-/// a `Directory` `FileType`, otherwise a `Reason` for failure.
-///
-/// When `path` refers to a symlink, the result pertains to the link's target.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > is_directory("/tmp")
-/// Ok(True)
-///
-/// > is_directory("resume.pdf")
-/// Ok(False)
-///
-/// > is_directory("/does_not_exist")
-/// Error(Enoent)
-/// ```
-///
-@deprecated("Use the simplifile package instead")
-pub fn is_directory(path: String) -> Result(Bool, Reason) {
- use FileInfo(file_type: file_type, ..) <- result.map(over: do_file_info(path))
- file_type == Directory
-}
-
-/// Results in a `Bool` on success that indicates whether the given `path` has
-/// a `Regular` `FileType`, otherwise a `Reason` for failure.
-///
-/// When `path` refers to a symlink, the result pertains to the link's target.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > is_regular("resume.pdf")
-/// Ok(True)
-///
-/// > is_regular("/tmp")
-/// Ok(False)
-///
-/// > is_regular("/does_not_exist.txt")
-/// Error(Enoent)
-/// ```
-///
-@deprecated("Use the simplifile package instead")
-pub fn is_regular(path: String) -> Result(Bool, Reason) {
- use FileInfo(file_type: file_type, ..) <- result.map(over: do_file_info(path))
- file_type == Regular
-}
-
-/// Results in a `Bool` on success that indicates whether the given `path`
-/// exists, otherwise a `Reason` for failure.
-///
-/// When `path` refers to a symlink, the result pertains to the link's target.
-/// To find whether a symlink itself exists, use `link_exists`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > file_exists("resume.pdf")
-/// Ok(True)
-///
-/// > file_exists("/tmp")
-/// Ok(True)
-///
-/// > file_exists("/does_not_exist")
-/// Ok(False)
-///
-/// > file_exists("/root/.local/maybe_exists")
-/// Error(Eacces)
-/// ```
-///
-@deprecated("Use the simplifile package instead")
-pub fn file_exists(path: String) -> Result(Bool, Reason) {
- let result =
- path
- |> do_file_info
- |> result.replace(True)
- case result {
- Error(Enoent) -> Ok(False)
- _ -> result
- }
-}
-
-/// Results in a `Bool` on success that indicates whether the given `path`
-/// exists, otherwise a `Reason` for failure.
-///
-/// When `path` refers to a symlink, the result pertains to the link itself.
-/// To find whether a symlink's target exists, use `file_exists`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > link_exists("resume.pdf")
-/// Ok(True)
-///
-/// > link_exists("/tmp")
-/// Ok(True)
-///
-/// > link_exists("/does_not_exist")
-/// Ok(False)
-///
-/// > link_exists("/root/.local/maybe_exists")
-/// Error(Eacces)
-/// ```
-///
-@deprecated("Use the simplifile package instead")
-pub fn link_exists(path: String) -> Result(Bool, Reason) {
- let result =
- path
- |> do_link_info
- |> result.replace(True)
- case result {
- Error(Enoent) -> Ok(False)
- _ -> result
- }
-}
-
-/// Tries to create a directory. Missing parent directories are not created.
-///
-/// Returns a Result of nil if the directory is created or Reason if the
-/// operation failed.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > make_directory("/tmp/foo")
-/// Ok(Nil)
-///
-/// > make_directory("relative_directory")
-/// Ok(Nil)
-///
-/// > make_directory("/tmp/missing_intermediate_directory/foo")
-/// Error(Enoent)
-/// ```
-///
-@deprecated("Use the simplifile package instead")
-@external(erlang, "gleam_erlang_ffi", "make_directory")
-pub fn make_directory(a: String) -> Result(Nil, Reason)
-
-/// Lists all files in a directory, except files with
-/// [raw filenames](https://www.erlang.org/doc/apps/stdlib/unicode_usage.html#notes-about-raw-filenames).
-///
-/// Returns a Result containing the list of filenames in the directory, or Reason
-/// if the operation failed.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > list_directory("/tmp")
-/// Ok(["FB01293B-8597-4359-80D5-130140A0C0DE","AlTest2.out"])
-///
-/// > list_directory("resume.docx")
-/// Error(Enotdir)
-/// ```
-///
-@deprecated("Use the simplifile package instead")
-@external(erlang, "gleam_erlang_ffi", "list_directory")
-pub fn list_directory(a: String) -> Result(List(String), Reason)
-
-/// Deletes a directory.
-///
-/// The directory must be empty before it can be deleted. Returns a nil Success
-/// or Reason if the operation failed.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > delete_directory("foo")
-/// Ok(Nil)
-///
-/// > delete_directory("does_not_exist/")
-/// Error(Enoent)
-/// ```
-///
-@deprecated("Use the simplifile package instead")
-@external(erlang, "gleam_erlang_ffi", "delete_directory")
-pub fn delete_directory(a: String) -> Result(Nil, Reason)
-
-/// Deletes a file or directory recursively.
-///
-/// Returns a nil Success or Reason if the operation failed.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > recursive_delete("foo")
-/// Ok(Nil)
-///
-/// > recursive_delete("/bar")
-/// Ok(Nil)
-///
-/// > recursive_delete("does_not_exist/")
-/// Error(Enoent)
-/// ```
-///
-@deprecated("Use the simplifile package instead")
-@external(erlang, "gleam_erlang_ffi", "recursive_delete")
-pub fn recursive_delete(a: String) -> Result(Nil, Reason)
-
-/// Read the contents of the given file as a String
-///
-/// Assumes the file is UTF-8 encoded. Returns a Result containing the file's
-/// contents as a String if the operation was successful, or Reason if the file
-/// operation failed. If the file is not UTF-8 encoded, the `NotUTF8` variant
-/// will be returned.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > read("example.txt")
-/// Ok("Hello, World!")
-///
-/// > read(from: "example.txt")
-/// Ok("Hello, World!")
-///
-/// > read("does_not_exist.txt")
-/// Error(Enoent)
-///
-/// > read("cat.gif")
-/// Error(NotUTF8)
-/// ```
-///
-@deprecated("Use the simplifile package instead?")
-pub fn read(from path: String) -> Result(String, Reason) {
- path
- |> do_read_bits()
- |> result.then(fn(content) {
- case bit_array.to_string(content) {
- Ok(string) -> Ok(string)
- Error(Nil) -> Error(NotUtf8)
- }
- })
-}
-
-/// Read the contents of the given file as a BitString
-///
-/// Returns a Result containing the file's contents as a BitString if the
-/// operation was successful, or Reason if the operation failed.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > read_bits("example.txt")
-/// Ok(<<"Hello, World!">>)
-///
-/// > read_bits(from: "cat.gif")
-/// Ok(<<71,73,70,56,57,97,1,0,1,0,0,0,0,59>>)
-///
-/// > read_bits("does_not_exist.txt")
-/// Error(Enoent)
-/// ```
-///
-@deprecated("Use the simplifile package instead")
-pub fn read_bits(from path: String) -> Result(BitArray, Reason) {
- do_read_bits(path)
-}
-
-@external(erlang, "gleam_erlang_ffi", "read_file")
-fn do_read_bits(a: path) -> Result(BitArray, Reason)
-
-/// Write the given String contents to a file of the given name.
-///
-/// Returns a Result with Nil if the operation was successful or a Reason
-/// otherwise.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > write("Hello, World!", "file.txt")
-/// Ok(Nil)
-///
-/// > write(to: "file.txt", contents: "Hello, World!")
-/// Ok(Nil)
-///
-/// > write("Hello, World!", "does_not_exist/file.txt")
-/// Error(Enoent)
-/// ```
-///
-@deprecated("Use the simplifile package instead")
-pub fn write(contents contents: String, to path: String) -> Result(Nil, Reason) {
- contents
- |> bit_array.from_string
- |> do_write_bits(path)
-}
-
-/// Write the given BitString contents to a file of the given name.
-///
-/// Returns a Result with Nil if the operation was successful or a Reason
-/// otherwise.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > write_bits(<<71,73,70,56,57,97,1,0,1,0,0,0,0,59>>, "cat.gif")
-/// Ok(Nil)
-///
-/// > write_bits(to: "cat.gif", contents: <<71,73,70,56,57,97,1,0,1,0,0,0,0,59>>)
-/// Ok(Nil)
-///
-/// > write_bits(<<71,73,70,56,57,97,1,0,1,0,0,0,0,59>>, "does_not_exist/cat.gif")
-/// Error(Enoent)
-/// ```
-///
-@deprecated("Use the simplifile package instead")
-pub fn write_bits(
- contents contents: BitArray,
- to path: String,
-) -> Result(Nil, Reason) {
- do_write_bits(contents, path)
-}
-
-@external(erlang, "gleam_erlang_ffi", "write_file")
-fn do_write_bits(a: BitArray, b: String) -> Result(Nil, Reason)
-
-/// Append the given String contents to a file of the given name.
-///
-/// Returns a Result with Nil if the operation was successful or a Reason
-/// otherwise.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > append("Hello, World!", "file.txt")
-/// Ok(Nil)
-///
-/// > append(to: "file.txt", contents: "Hello, World!")
-/// Ok(Nil)
-///
-/// > append("Hello, World!", "does_not_exist/file.txt")
-/// Error(Enoent)
-/// ```
-///
-@deprecated("Use the simplifile package instead")
-pub fn append(contents contents: String, to path: String) -> Result(Nil, Reason) {
- contents
- |> bit_array.from_string
- |> do_append_bits(path)
-}
-
-/// Append the given BitString contents to a file of the given name.
-///
-/// Returns a Result with Nil if the operation was successful or a Reason
-/// otherwise.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > append_bits(<<71,73,70,56,57,97,1,0,1,0,0,0,0,59>>, "cat.gif")
-/// Ok(Nil)
-///
-/// > append_bits(to: "cat.gif", contents: <<71,73,70,56,57,97,1,0,1,0,0,0,0,59>>)
-/// Ok(Nil)
-///
-/// > append_bits(<<71,73,70,56,57,97,1,0,1,0,0,0,0,59>>, "does_not_exist/cat.gif")
-/// Error(Enoent)
-/// ```
-///
-pub fn append_bits(
- contents contents: BitArray,
- to path: String,
-) -> Result(Nil, Reason) {
- do_append_bits(contents, path)
-}
-
-@external(erlang, "gleam_erlang_ffi", "append_file")
-fn do_append_bits(
- contents contents: BitArray,
- path path: String,
-) -> Result(Nil, Reason)
-
-/// Delete the given file.
-///
-/// Returns a Result with Nil if the operation was successful or a Reason
-/// otherwise.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > delete("file.txt")
-/// Ok(Nil)
-///
-/// > delete("does_not_exist.txt")
-/// Error(Enoent)
-/// ```
-///
-@deprecated("Use the simplifile package instead")
-@external(erlang, "gleam_erlang_ffi", "delete_file")
-pub fn delete(a: String) -> Result(Nil, Reason)
diff --git a/aoc2023/build/packages/gleam_erlang/src/gleam/erlang/node.gleam b/aoc2023/build/packages/gleam_erlang/src/gleam/erlang/node.gleam
deleted file mode 100644
index 339415c..0000000
--- a/aoc2023/build/packages/gleam_erlang/src/gleam/erlang/node.gleam
+++ /dev/null
@@ -1,62 +0,0 @@
-import gleam/erlang/atom.{type Atom}
-
-pub type Node
-
-type DoNotLeak
-
-/// Return the current node.
-///
-@external(erlang, "erlang", "node")
-pub fn self() -> Node
-
-/// Return a list of all visible nodes in the cluster, not including the current
-/// node.
-///
-/// The current node can be included by calling `self()` and prepending the
-/// result.
-///
-/// ```gleam
-/// let all_nodes = [node.self(), ..node.visible()]
-/// ```
-///
-@external(erlang, "erlang", "nodes")
-pub fn visible() -> List(Node)
-
-pub type ConnectError {
- /// Was unable to connect to the node.
- FailedToConnect
- /// The local node is not alive, so it is not possible to connect to the other
- /// node.
- LocalNodeIsNotAlive
-}
-
-// TODO: test unknown node
-// TODO: test successfully connecting
-/// Establish a connection to a node, so the nodes can send messages to each
-/// other and any other connected nodes.
-///
-/// Returns `Error(FailedToConnect)` if the node is not reachable.
-///
-/// Returns `Error(LocalNodeIsNotAlive)` if the local node is not alive, meaning
-/// it is not running in distributed mode.
-///
-@external(erlang, "gleam_erlang_ffi", "connect_node")
-pub fn connect(node: Atom) -> Result(Node, ConnectError)
-
-// TODO: test
-/// Send a message to a named process on a given node.
-///
-/// These messages are untyped, like regular Erlang messages.
-///
-pub fn send(node: Node, name: Atom, message: message) -> Nil {
- raw_send(#(name, node), message)
- Nil
-}
-
-@external(erlang, "erlang", "send")
-fn raw_send(receiver: #(Atom, Node), message: message) -> DoNotLeak
-
-/// Convert a node to the atom of its name.
-///
-@external(erlang, "gleam_erlang_ffi", "identity")
-pub fn to_atom(node: Node) -> Atom
diff --git a/aoc2023/build/packages/gleam_erlang/src/gleam/erlang/os.gleam b/aoc2023/build/packages/gleam_erlang/src/gleam/erlang/os.gleam
deleted file mode 100644
index e135974..0000000
--- a/aoc2023/build/packages/gleam_erlang/src/gleam/erlang/os.gleam
+++ /dev/null
@@ -1,95 +0,0 @@
-//// Access to the shell's environment variables
-
-import gleam/map.{type Map}
-
-/// Returns the list of all available environment variables as a list of key,
-/// tuples.
-///
-/// ## Examples
-///
-/// > get_all_env()
-/// map.from_list([
-/// #("SHELL", "/bin/bash"),
-/// #("PWD", "/home/j3rn"),
-/// ...
-/// ])
-///
-@external(erlang, "gleam_erlang_ffi", "get_all_env")
-pub fn get_all_env() -> Map(String, String)
-
-/// Returns the value associated with the given environment variable name.
-///
-/// ## Examples
-///
-/// > get_env("SHELL")
-/// "/bin/bash"
-///
-/// > get_env(name: "PWD")
-/// "/home/j3rn"
-///
-@external(erlang, "gleam_erlang_ffi", "get_env")
-pub fn get_env(name name: String) -> Result(String, Nil)
-
-/// Associates the given value with the given environment variable name.
-///
-/// ## Examples
-///
-/// > set_env("MYVAR", "MYVALUE")
-/// Nil
-/// > get_env("MYVAR")
-/// "MYVALUE"
-///
-/// > set_env(value: "MYVALUE", name: "MYVAR")
-/// Nil
-///
-@external(erlang, "gleam_erlang_ffi", "set_env")
-pub fn set_env(name name: String, value value: String) -> Nil
-
-/// Removes the environment variable with the given name.
-///
-/// Returns Nil regardless of whether the variable ever existed.
-///
-/// ## Examples
-///
-/// > get_env("MYVAR")
-/// Ok("MYVALUE")
-/// > unset_env("MYVAR")
-/// Nil
-/// > get_env("MYVAR")
-/// Error(Nil)
-///
-/// > unset_env(name: "MYVAR")
-/// Nil
-///
-@external(erlang, "gleam_erlang_ffi", "unset_env")
-pub fn unset_env(name name: String) -> Nil
-
-/// Represents operating system kernels
-pub type OsFamily {
- // The family which includes modern versions of the Windows operating system.
- WindowsNt
- // The family of operating systems based on the open source Linux kernel.
- Linux
- // The family of Apple operating systems such as macOS and iOS.
- Darwin
- // The family of operating systems based on the FreeBSD kernel.
- FreeBsd
- // An operating system kernel other than Linux, Darwin, FreeBSD, or NT.
- Other(String)
-}
-
-/// Returns the kernel of the host operating system.
-///
-/// Unknown kernels are reported as `Other(String)`; e.g. `Other("sunos")`.
-///
-/// ## Examples
-///
-/// > family()
-/// Linux
-/// > family()
-/// Darwin
-/// > family()
-/// Other("sunos")
-///
-@external(erlang, "gleam_erlang_ffi", "os_family")
-pub fn family() -> OsFamily
diff --git a/aoc2023/build/packages/gleam_erlang/src/gleam/erlang/process.gleam b/aoc2023/build/packages/gleam_erlang/src/gleam/erlang/process.gleam
deleted file mode 100644
index f660306..0000000
--- a/aoc2023/build/packages/gleam_erlang/src/gleam/erlang/process.gleam
+++ /dev/null
@@ -1,744 +0,0 @@
-import gleam/string
-import gleam/dynamic.{type Dynamic}
-import gleam/erlang.{type Reference}
-import gleam/erlang/atom.{type Atom}
-
-/// A `Pid` (or Process identifier) is a reference to an Erlang process. Each
-/// process has a `Pid` and it is one of the lowest level building blocks of
-/// inter-process communication in the Erlang and Gleam OTP frameworks.
-///
-pub type Pid
-
-/// Get the `Pid` for the current process.
-@external(erlang, "erlang", "self")
-pub fn self() -> Pid
-
-/// Create a new Erlang process that runs concurrently to the creator. In other
-/// languages this might be called a fibre, a green thread, or a coroutine.
-///
-/// If `linked` is `True` then the created process is linked to the creator
-/// process. When a process terminates an exit signal is sent to all other
-/// processes that are linked to it, causing the process to either terminate or
-/// have to handle the signal.
-///
-/// More can be read about processes and links in the [Erlang documentation][1].
-///
-/// [1]: https://www.erlang.org/doc/reference_manual/processes.html
-///
-pub fn start(running implementation: fn() -> anything, linked link: Bool) -> Pid {
- case link {
- True -> spawn_link(implementation)
- False -> spawn(implementation)
- }
-}
-
-@external(erlang, "erlang", "spawn")
-fn spawn(a: fn() -> anything) -> Pid
-
-@external(erlang, "erlang", "spawn_link")
-fn spawn_link(a: fn() -> anything) -> Pid
-
-/// A `Subject` is a value that processes can use to send and receive messages
-/// to and from each other in a well typed way.
-///
-/// Each subject is "owned" by the process that created it. Any process can use
-/// the `send` function to sent a message of the correct type to the process
-/// that owns the subject, and the owner can use the `receive` function or the
-/// `Selector` type to receive these messages.
-///
-/// The `Subject` type is similar to the "channel" types found in other
-/// languages and the "topic" concept found in some pub-sub systems.
-///
-/// # Examples
-///
-/// ```gleam
-/// let subject = new_subject()
-///
-/// // Send a message with the subject
-/// send(subject, "Hello, Joe!")
-///
-/// // Receive the message
-/// receive(subject, within: 10)
-/// ```
-///
-pub opaque type Subject(message) {
- Subject(owner: Pid, tag: Reference)
-}
-
-/// Create a new `Subject` owned by the current process.
-///
-pub fn new_subject() -> Subject(message) {
- Subject(owner: self(), tag: erlang.make_reference())
-}
-
-/// Get the owner process for a `Subject`. This is the process that created the
-/// `Subject` and will receive messages sent with it.
-///
-pub fn subject_owner(subject: Subject(message)) -> Pid {
- subject.owner
-}
-
-type DoNotLeak
-
-@external(erlang, "erlang", "send")
-fn raw_send(a: Pid, b: message) -> DoNotLeak
-
-/// Send a message to a process using a `Subject`. The message must be of the
-/// type that the `Subject` accepts.
-///
-/// This function does not wait for the `Subject` owner process to call the
-/// `receive` function, instead it returns once the message has been placed in
-/// the process' mailbox.
-///
-/// # Ordering
-///
-/// If process P1 sends two messages to process P2 it is guaranteed that process
-/// P1 will receive the messages in the order they were sent.
-///
-/// If you wish to receive the messages in a different order you can send them
-/// on two different subjects and the receiver function can call the `receive`
-/// function for each subject in the desired order, or you can write some Erlang
-/// code to perform a selective receive.
-///
-/// # Examples
-///
-/// ```gleam
-/// let subject = new_subject()
-/// send(subject, "Hello, Joe!")
-/// ```
-///
-pub fn send(subject: Subject(message), message: message) -> Nil {
- raw_send(subject.owner, #(subject.tag, message))
- Nil
-}
-
-/// Receive a message that has been sent to current process using the `Subject`.
-///
-/// If there is not an existing message for the `Subject` in the process'
-/// mailbox or one does not arrive `within` the permitted timeout then the
-/// `Error(Nil)` is returned.
-///
-/// Only the process that is owner of the `Subject` can receive a message using
-/// it. If a process that does not own the `Subject` attempts to receive with it
-/// then it will not receive a message.
-///
-/// To wait for messages from multiple `Subject`s at the same time see the
-/// `Selector` type.
-///
-pub fn receive(
- from subject: Subject(message),
- within milliseconds: Int,
-) -> Result(message, Nil) {
- new_selector()
- |> selecting(subject, fn(x) { x })
- |> select(within: milliseconds)
-}
-
-/// A type that enables a process to wait for messages from multiple `Subject`s
-/// at the same time, returning whichever message arrives first.
-///
-/// Used with the `new_selector`, `selecting`, and `select` functions.
-///
-/// # Examples
-///
-/// ```gleam
-/// > let int_subject = new_subject()
-/// > let float_subject = new_subject()
-/// > send(int_subject, 1)
-/// >
-/// > let selector =
-/// > new_selector()
-/// > |> selecting(int_subject, int.to_string)
-/// > |> selecting(float_subject, float.to_string)
-/// >
-/// > select(selector, 10)
-/// Ok("1")
-/// ```
-///
-pub type Selector(payload)
-
-/// Create a new `Selector` which can be used to receive messages on multiple
-/// `Subject`s at once.
-///
-@external(erlang, "gleam_erlang_ffi", "new_selector")
-pub fn new_selector() -> Selector(payload)
-
-/// Receive a message that has been sent to current process using any of the
-/// `Subject`s that have been added to the `Selector` with the `selecting`
-/// function.
-///
-/// If there is not an existing message for the `Selector` in the process'
-/// mailbox or one does not arrive `within` the permitted timeout then the
-/// `Error(Nil)` is returned.
-///
-/// Only the process that is owner of the `Subject`s can receive a message using
-/// them. If a process that does not own the a `Subject` attempts to receive
-/// with it then it will not receive a message.
-///
-/// To wait forever for the next message rather than for a limited amount of
-/// time see the `select_forever` function.
-///
-@external(erlang, "gleam_erlang_ffi", "select")
-pub fn select(
- from from: Selector(payload),
- within within: Int,
-) -> Result(payload, Nil)
-
-/// Similar to the `select` function but will wait forever for a message to
-/// arrive rather than timing out after a specified amount of time.
-///
-@external(erlang, "gleam_erlang_ffi", "select")
-pub fn select_forever(from from: Selector(payload)) -> payload
-
-/// Add a transformation function to a selector. When a message is received
-/// using this selector the transformation function is applied to the message.
-///
-/// This function can be used to change the type of messages received and may
-/// be useful when combined with the `merge_selector` function.
-///
-@external(erlang, "gleam_erlang_ffi", "map_selector")
-pub fn map_selector(a: Selector(a), b: fn(a) -> b) -> Selector(b)
-
-/// Merge one selector into another, producing a selector that contains the
-/// message handlers of both.
-///
-/// If a subject is handled by both selectors the handler function of the
-/// second selector is used.
-///
-@external(erlang, "gleam_erlang_ffi", "merge_selector")
-pub fn merge_selector(a: Selector(a), b: Selector(a)) -> Selector(a)
-
-pub type ExitMessage {
- ExitMessage(pid: Pid, reason: ExitReason)
-}
-
-pub type ExitReason {
- Normal
- Killed
- Abnormal(reason: String)
-}
-
-/// Add a handler for trapped exit messages. In order for these messages to be
-/// sent to the process when a linked process exits the process must call the
-/// `trap_exit` beforehand.
-///
-pub fn selecting_trapped_exits(
- selector: Selector(a),
- handler: fn(ExitMessage) -> a,
-) -> Selector(a) {
- let tag = atom.create_from_string("EXIT")
- let handler = fn(message: #(Atom, Pid, Dynamic)) -> a {
- let reason = message.2
- let normal = dynamic.from(Normal)
- let killed = dynamic.from(Killed)
- let reason = case dynamic.string(reason) {
- _ if reason == normal -> Normal
- _ if reason == killed -> Killed
- Ok(reason) -> Abnormal(reason)
- Error(_) -> Abnormal(string.inspect(reason))
- }
- handler(ExitMessage(message.1, reason))
- }
- insert_selector_handler(selector, #(tag, 3), handler)
-}
-
-// TODO: implement in Gleam
-/// Discard all messages in the current process' mailbox.
-///
-/// Warning: This function may cause other processes to crash if they sent a
-/// message to the current process and are waiting for a response, so use with
-/// caution.
-///
-@external(erlang, "gleam_erlang_ffi", "flush_messages")
-pub fn flush_messages() -> Nil
-
-/// Add a new `Subject` to the `Selector` to that it's messages can be received.
-///
-/// The `mapping` function provided with the `Subject` can be used to convert
-/// the type of messages received using this `Subject`. This is useful for when
-/// you wish to add multiple `Subject`s to a `Seletor` when they have differing
-/// message types. If you do not wish to transform the incoming messages in any
-/// way then the `identity` function can be given.
-///
-pub fn selecting(
- selector: Selector(payload),
- for subject: Subject(message),
- mapping transform: fn(message) -> payload,
-) -> Selector(payload) {
- let handler = fn(message: #(Reference, message)) { transform(message.1) }
- insert_selector_handler(selector, #(subject.tag, 2), handler)
-}
-
-/// Add a handler to a selector for 2 element tuple messages with a given tag
-/// element in the first position.
-///
-/// Typically you want to use the `selecting` function with a `Subject` instead,
-/// but this function may be useful if you need to receive messages sent from
-/// other BEAM languages that do not use the `Subject` type.
-///
-pub fn selecting_record2(
- selector: Selector(payload),
- tag: tag,
- mapping transform: fn(Dynamic) -> payload,
-) -> Selector(payload) {
- let handler = fn(message: #(tag, Dynamic)) { transform(message.1) }
- insert_selector_handler(selector, #(tag, 2), handler)
-}
-
-/// Add a handler to a selector for 3 element tuple messages with a given tag
-/// element in the first position.
-///
-/// Typically you want to use the `selecting` function with a `Subject` instead,
-/// but this function may be useful if you need to receive messages sent from
-/// other BEAM languages that do not use the `Subject` type.
-///
-pub fn selecting_record3(
- selector: Selector(payload),
- tag: tag,
- mapping transform: fn(Dynamic, Dynamic) -> payload,
-) -> Selector(payload) {
- let handler = fn(message: #(tag, Dynamic, Dynamic)) {
- transform(message.1, message.2)
- }
- insert_selector_handler(selector, #(tag, 3), handler)
-}
-
-/// Add a handler to a selector for 4 element tuple messages with a given tag
-/// element in the first position.
-///
-/// Typically you want to use the `selecting` function with a `Subject` instead,
-/// but this function may be useful if you need to receive messages sent from
-/// other BEAM languages that do not use the `Subject` type.
-///
-pub fn selecting_record4(
- selector: Selector(payload),
- tag: tag,
- mapping transform: fn(Dynamic, Dynamic, Dynamic) -> payload,
-) -> Selector(payload) {
- let handler = fn(message: #(tag, Dynamic, Dynamic, Dynamic)) {
- transform(message.1, message.2, message.3)
- }
- insert_selector_handler(selector, #(tag, 4), handler)
-}
-
-/// Add a handler to a selector for 5 element tuple messages with a given tag
-/// element in the first position.
-///
-/// Typically you want to use the `selecting` function with a `Subject` instead,
-/// but this function may be useful if you need to receive messages sent from
-/// other BEAM languages that do not use the `Subject` type.
-///
-pub fn selecting_record5(
- selector: Selector(payload),
- tag: tag,
- mapping transform: fn(Dynamic, Dynamic, Dynamic, Dynamic) -> payload,
-) -> Selector(payload) {
- let handler = fn(message: #(tag, Dynamic, Dynamic, Dynamic, Dynamic)) {
- transform(message.1, message.2, message.3, message.4)
- }
- insert_selector_handler(selector, #(tag, 5), handler)
-}
-
-/// Add a handler to a selector for 6 element tuple messages with a given tag
-/// element in the first position.
-///
-/// Typically you want to use the `selecting` function with a `Subject` instead,
-/// but this function may be useful if you need to receive messages sent from
-/// other BEAM languages that do not use the `Subject` type.
-///
-pub fn selecting_record6(
- selector: Selector(payload),
- tag: tag,
- mapping transform: fn(Dynamic, Dynamic, Dynamic, Dynamic, Dynamic) -> payload,
-) -> Selector(payload) {
- let handler = fn(message: #(tag, Dynamic, Dynamic, Dynamic, Dynamic, Dynamic)) {
- transform(message.1, message.2, message.3, message.4, message.5)
- }
- insert_selector_handler(selector, #(tag, 6), handler)
-}
-
-/// Add a handler to a selector for 7 element tuple messages with a given tag
-/// element in the first position.
-///
-/// Typically you want to use the `selecting` function with a `Subject` instead,
-/// but this function may be useful if you need to receive messages sent from
-/// other BEAM languages that do not use the `Subject` type.
-///
-pub fn selecting_record7(
- selector: Selector(payload),
- tag: tag,
- mapping transform: fn(Dynamic, Dynamic, Dynamic, Dynamic, Dynamic, Dynamic) ->
- payload,
-) -> Selector(payload) {
- let handler = fn(
- message: #(tag, Dynamic, Dynamic, Dynamic, Dynamic, Dynamic, Dynamic),
- ) {
- transform(message.1, message.2, message.3, message.4, message.5, message.6)
- }
- insert_selector_handler(selector, #(tag, 7), handler)
-}
-
-/// Add a handler to a selector for 8 element tuple messages with a given tag
-/// element in the first position.
-///
-/// Typically you want to use the `selecting` function with a `Subject` instead,
-/// but this function may be useful if you need to receive messages sent from
-/// other BEAM languages that do not use the `Subject` type.
-///
-pub fn selecting_record8(
- selector: Selector(payload),
- tag: tag,
- mapping transform: fn(
- Dynamic,
- Dynamic,
- Dynamic,
- Dynamic,
- Dynamic,
- Dynamic,
- Dynamic,
- ) ->
- payload,
-) -> Selector(payload) {
- let handler = fn(
- message: #(
- tag,
- Dynamic,
- Dynamic,
- Dynamic,
- Dynamic,
- Dynamic,
- Dynamic,
- Dynamic,
- ),
- ) {
- transform(
- message.1,
- message.2,
- message.3,
- message.4,
- message.5,
- message.6,
- message.7,
- )
- }
- insert_selector_handler(selector, #(tag, 8), handler)
-}
-
-type AnythingSelectorTag {
- Anything
-}
-
-/// Add a catch-all handler to a selector that will be used when no other
-/// handler in a selector is suitable for a given message.
-///
-/// This may be useful for when you want to ensure that any message in the inbox
-/// is handled, or when you need to handle messages from other BEAM languages
-/// which do not use subjects or record format messages.
-///
-pub fn selecting_anything(
- selector: Selector(payload),
- mapping handler: fn(Dynamic) -> payload,
-) -> Selector(payload) {
- insert_selector_handler(selector, Anything, handler)
-}
-
-@external(erlang, "gleam_erlang_ffi", "insert_selector_handler")
-fn insert_selector_handler(
- a: Selector(payload),
- for for: tag,
- mapping mapping: fn(message) -> payload,
-) -> Selector(payload)
-
-/// Suspends the process calling this function for the specified number of
-/// milliseconds.
-///
-@external(erlang, "gleam_erlang_ffi", "sleep")
-pub fn sleep(a: Int) -> Nil
-
-/// Suspends the process forever! This may be useful for suspending the main
-/// process in a Gleam program when it has no more work to do but we want other
-/// processes to continue to work.
-///
-@external(erlang, "gleam_erlang_ffi", "sleep_forever")
-pub fn sleep_forever() -> Nil
-
-/// Check to see whether the process for a given `Pid` is alive.
-///
-/// See the [Erlang documentation][1] for more information.
-///
-/// [1]: http://erlang.org/doc/man/erlang.html#is_process_alive-1
-///
-@external(erlang, "erlang", "is_process_alive")
-pub fn is_alive(a: Pid) -> Bool
-
-type ProcessMonitorFlag {
- Process
-}
-
-@external(erlang, "erlang", "monitor")
-fn erlang_monitor_process(a: ProcessMonitorFlag, b: Pid) -> Reference
-
-pub opaque type ProcessMonitor {
- ProcessMonitor(tag: Reference)
-}
-
-/// A message received when a monitored process exits.
-///
-pub type ProcessDown {
- ProcessDown(pid: Pid, reason: Dynamic)
-}
-
-/// Start monitoring a process so that when the monitored process exits a
-/// message is sent to the monitoring process.
-///
-/// The message is only sent once, when the target process exits. If the
-/// process was not alive when this function is called the message will never
-/// be received.
-///
-/// The down message can be received with a `Selector` and the
-/// `selecting_process_down` function.
-///
-/// The process can be demonitored with the `demonitor_process` function.
-///
-pub fn monitor_process(pid: Pid) -> ProcessMonitor {
- Process
- |> erlang_monitor_process(pid)
- |> ProcessMonitor
-}
-
-/// Add a `ProcessMonitor` to a `Selector` so that the `ProcessDown` message can
-/// be received using the `Selector` and the `select` function.
-///
-pub fn selecting_process_down(
- selector: Selector(payload),
- monitor: ProcessMonitor,
- mapping: fn(ProcessDown) -> payload,
-) -> Selector(payload) {
- insert_selector_handler(selector, monitor.tag, mapping)
-}
-
-/// Remove the monitor for a process so that when the monitor process exits a
-/// `ProcessDown` message is not sent to the monitoring process.
-///
-/// If the message has already been sent it is removed from the monitoring
-/// process' mailbox.
-///
-@external(erlang, "gleam_erlang_ffi", "demonitor")
-pub fn demonitor_process(monitor monitor: ProcessMonitor) -> Nil
-
-/// An error returned when making a call to a process.
-///
-pub type CallError(msg) {
- /// The process being called exited before it sent a response.
- ///
- CalleeDown(reason: Dynamic)
-
- /// The process being called did not response within the permitted amount of
- /// time.
- ///
- CallTimeout
-}
-
-// This function is based off of Erlang's gen:do_call/4.
-/// Send a message to a process and wait for a reply.
-///
-/// If the receiving process exits or does not reply within the allowed amount
-/// of time then an error is returned.
-///
-pub fn try_call(
- subject: Subject(request),
- make_request: fn(Subject(response)) -> request,
- within timeout: Int,
-) -> Result(response, CallError(response)) {
- let reply_subject = new_subject()
-
- // Monitor the callee process so we can tell if it goes down (meaning we
- // won't get a reply)
- let monitor = monitor_process(subject_owner(subject))
-
- // Send the request to the process over the channel
- send(subject, make_request(reply_subject))
-
- // Await a reply or handle failure modes (timeout, process down, etc)
- let result =
- new_selector()
- |> selecting(reply_subject, Ok)
- |> selecting_process_down(
- monitor,
- fn(down: ProcessDown) { Error(CalleeDown(reason: down.reason)) },
- )
- |> select(timeout)
-
- // Demonitor the process and close the channels as we're done
- demonitor_process(monitor)
-
- // Prepare an appropriate error (if present) for the caller
- case result {
- Error(Nil) -> Error(CallTimeout)
- Ok(res) -> res
- }
-}
-
-/// Send a message to a process and wait for a reply.
-///
-/// If the receiving process exits or does not reply within the allowed amount
-/// of time the calling process crashes. If you wish an error to be returned
-/// instead see the `try_call` function.
-///
-pub fn call(
- subject: Subject(request),
- make_request: fn(Subject(response)) -> request,
- within timeout: Int,
-) -> response {
- let assert Ok(resp) = try_call(subject, make_request, timeout)
- resp
-}
-
-/// Creates a link between the calling process and another process.
-///
-/// When a process crashes any linked processes will also crash. This is useful
-/// to ensure that groups of processes that depend on each other all either
-/// succeed or fail together.
-///
-/// Returns `True` if the link was created successfully, returns `False` if the
-/// process was not alive and as such could not be linked.
-///
-@external(erlang, "gleam_erlang_ffi", "link")
-pub fn link(pid pid: Pid) -> Bool
-
-@external(erlang, "erlang", "unlink")
-fn erlang_unlink(pid pid: Pid) -> Bool
-
-/// Removes any existing link between the caller process and the target process.
-///
-pub fn unlink(pid: Pid) -> Nil {
- erlang_unlink(pid)
- Nil
-}
-
-pub type Timer
-
-@external(erlang, "erlang", "send_after")
-fn erlang_send_after(a: Int, b: Pid, c: msg) -> Timer
-
-/// Send a message over a channel after a specified number of milliseconds.
-///
-pub fn send_after(subject: Subject(msg), delay: Int, message: msg) -> Timer {
- erlang_send_after(delay, subject.owner, #(subject.tag, message))
-}
-
-@external(erlang, "erlang", "cancel_timer")
-fn erlang_cancel_timer(a: Timer) -> Dynamic
-
-/// Values returned when a timer is cancelled.
-///
-pub type Cancelled {
- /// The timer could not be found. It likely has already triggered.
- ///
- TimerNotFound
-
- /// The timer was found and cancelled before it triggered.
- ///
- /// The amount of remaining time before the timer was due to be triggered is
- /// returned in milliseconds.
- ///
- Cancelled(time_remaining: Int)
-}
-
-/// Cancel a given timer, causing it not to trigger if it has not done already.
-///
-pub fn cancel_timer(timer: Timer) -> Cancelled {
- case dynamic.int(erlang_cancel_timer(timer)) {
- Ok(i) -> Cancelled(i)
- Error(_) -> TimerNotFound
- }
-}
-
-type KillFlag {
- Kill
-}
-
-@external(erlang, "erlang", "exit")
-fn erlang_kill(to to: Pid, because because: KillFlag) -> Bool
-
-// Go, my pretties. Kill! Kill!
-// - Bart Simpson
-//
-/// Send an untrappable `kill` exit signal to the target process.
-///
-/// See the documentation for the Erlang [`erlang:exit`][1] function for more
-/// information.
-///
-/// [1]: https://erlang.org/doc/man/erlang.html#exit-1
-///
-pub fn kill(pid: Pid) -> Nil {
- erlang_kill(pid, Kill)
- Nil
-}
-
-@external(erlang, "erlang", "exit")
-fn erlang_send_exit(to to: Pid, because because: whatever) -> Bool
-
-// TODO: test
-/// Sends an exit signal to a process, indicating that the process is to shut
-/// down.
-///
-/// See the [Erlang documentation][erl] for more information.
-/// [erl]: http://erlang.org/doc/man/erlang.html#exit-2
-///
-pub fn send_exit(to pid: Pid) -> Nil {
- erlang_send_exit(pid, Normal)
- Nil
-}
-
-/// Sends an exit signal to a process, indicating that the process is to shut
-/// down due to an abnormal reason such as a failure.
-///
-/// See the [Erlang documentation][erl] for more information.
-/// [erl]: http://erlang.org/doc/man/erlang.html#exit-2
-///
-pub fn send_abnormal_exit(pid: Pid, reason: String) -> Nil {
- erlang_send_exit(pid, Abnormal(reason))
- Nil
-}
-
-/// Set whether the current process is to trap exit signals or not.
-///
-/// When not trapping exits if a linked process crashes the exit signal
-/// propagates to the process which will also crash.
-/// This is the normal behaviour before this function is called.
-///
-/// When trapping exits (after this function is called) if a linked process
-/// crashes an exit message is sent to the process instead. These messages can
-/// be handled with the `selecting_trapped_exits` function.
-///
-@external(erlang, "gleam_erlang_ffi", "trap_exits")
-pub fn trap_exits(a: Bool) -> Nil
-
-/// Register a process under a given name, allowing it to be looked up using
-/// the `named` function.
-///
-/// This function will return an error under the following conditions:
-/// - The process for the pid no longer exists.
-/// - The name has already been registered.
-/// - The process already has a name.
-/// - The name is the atom `undefined`, which is reserved by Erlang.
-///
-@external(erlang, "gleam_erlang_ffi", "register_process")
-pub fn register(pid: Pid, name: Atom) -> Result(Nil, Nil)
-
-/// Un-register a process name, after which the process can no longer be looked
-/// up by that name, and both the name and the process can be re-used in other
-/// registrations.
-///
-/// It is possible to un-register process that are not from your application,
-/// including those from Erlang/OTP itself. This is not recommended and will
-/// likely result in undesirable behaviour and crashes.
-///
-@external(erlang, "gleam_erlang_ffi", "unregister_process")
-pub fn unregister(name: Atom) -> Result(Nil, Nil)
-
-/// Look up a process by name, returning the pid if it exists.
-///
-@external(erlang, "gleam_erlang_ffi", "process_named")
-pub fn named(name: Atom) -> Result(Pid, Nil)
diff --git a/aoc2023/build/packages/gleam_erlang/src/gleam@erlang.erl b/aoc2023/build/packages/gleam_erlang/src/gleam@erlang.erl
deleted file mode 100644
index 14a5538..0000000
--- a/aoc2023/build/packages/gleam_erlang/src/gleam@erlang.erl
+++ /dev/null
@@ -1,90 +0,0 @@
--module(gleam@erlang).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([format/1, term_to_binary/1, get_line/1, system_time/1, erlang_timestamp/0, rescue/1, binary_to_term/1, unsafe_binary_to_term/1, start_arguments/0, ensure_all_started/1, make_reference/0, priv_directory/1]).
--export_type([safe/0, get_line_error/0, time_unit/0, crash/0, ensure_all_started_error/0, reference_/0]).
-
--type safe() :: safe.
-
--type get_line_error() :: eof | no_data.
-
--type time_unit() :: second | millisecond | microsecond | nanosecond.
-
--type crash() :: {exited, gleam@dynamic:dynamic_()} |
- {thrown, gleam@dynamic:dynamic_()} |
- {errored, gleam@dynamic:dynamic_()}.
-
--type ensure_all_started_error() :: {unknown_application,
- gleam@erlang@atom:atom_()} |
- {application_failed_to_start,
- gleam@erlang@atom:atom_(),
- gleam@dynamic:dynamic_()}.
-
--type reference_() :: any().
-
--spec format(any()) -> binary().
-format(Term) ->
- unicode:characters_to_binary(io_lib:format(<<"~p"/utf8>>, [Term])).
-
--spec term_to_binary(any()) -> bitstring().
-term_to_binary(A) ->
- erlang:term_to_binary(A).
-
--spec get_line(binary()) -> {ok, binary()} | {error, get_line_error()}.
-get_line(Prompt) ->
- gleam_erlang_ffi:get_line(Prompt).
-
--spec system_time(time_unit()) -> integer().
-system_time(A) ->
- os:system_time(A).
-
--spec erlang_timestamp() -> {integer(), integer(), integer()}.
-erlang_timestamp() ->
- os:timestamp().
-
--spec rescue(fun(() -> FHH)) -> {ok, FHH} | {error, crash()}.
-rescue(A) ->
- gleam_erlang_ffi:rescue(A).
-
--spec binary_to_term(bitstring()) -> {ok, gleam@dynamic:dynamic_()} |
- {error, nil}.
-binary_to_term(Binary) ->
- case gleam_erlang_ffi:rescue(
- fun() -> erlang:binary_to_term(Binary, [safe]) end
- ) of
- {ok, Term} ->
- {ok, Term};
-
- {error, _} ->
- {error, nil}
- end.
-
--spec unsafe_binary_to_term(bitstring()) -> {ok, gleam@dynamic:dynamic_()} |
- {error, nil}.
-unsafe_binary_to_term(Binary) ->
- case gleam_erlang_ffi:rescue(fun() -> erlang:binary_to_term(Binary, []) end) of
- {ok, Term} ->
- {ok, Term};
-
- {error, _} ->
- {error, nil}
- end.
-
--spec start_arguments() -> list(binary()).
-start_arguments() ->
- _pipe = init:get_plain_arguments(),
- gleam@list:map(_pipe, fun unicode:characters_to_binary/1).
-
--spec ensure_all_started(gleam@erlang@atom:atom_()) -> {ok,
- list(gleam@erlang@atom:atom_())} |
- {error, ensure_all_started_error()}.
-ensure_all_started(Application) ->
- gleam_erlang_ffi:ensure_all_started(Application).
-
--spec make_reference() -> reference_().
-make_reference() ->
- erlang:make_ref().
-
--spec priv_directory(binary()) -> {ok, binary()} | {error, nil}.
-priv_directory(Name) ->
- gleam_erlang_ffi:priv_directory(Name).
diff --git a/aoc2023/build/packages/gleam_erlang/src/gleam@erlang@atom.erl b/aoc2023/build/packages/gleam_erlang/src/gleam@erlang@atom.erl
deleted file mode 100644
index e9ad530..0000000
--- a/aoc2023/build/packages/gleam_erlang/src/gleam@erlang@atom.erl
+++ /dev/null
@@ -1,26 +0,0 @@
--module(gleam@erlang@atom).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([from_string/1, create_from_string/1, to_string/1, from_dynamic/1]).
--export_type([atom_/0, from_string_error/0]).
-
--type atom_() :: any().
-
--type from_string_error() :: atom_not_loaded.
-
--spec from_string(binary()) -> {ok, atom_()} | {error, from_string_error()}.
-from_string(A) ->
- gleam_erlang_ffi:atom_from_string(A).
-
--spec create_from_string(binary()) -> atom_().
-create_from_string(A) ->
- erlang:binary_to_atom(A).
-
--spec to_string(atom_()) -> binary().
-to_string(A) ->
- erlang:atom_to_binary(A).
-
--spec from_dynamic(gleam@dynamic:dynamic_()) -> {ok, atom_()} |
- {error, list(gleam@dynamic:decode_error())}.
-from_dynamic(From) ->
- gleam_erlang_ffi:atom_from_dynamic(From).
diff --git a/aoc2023/build/packages/gleam_erlang/src/gleam@erlang@charlist.erl b/aoc2023/build/packages/gleam_erlang/src/gleam@erlang@charlist.erl
deleted file mode 100644
index 9f9c0fa..0000000
--- a/aoc2023/build/packages/gleam_erlang/src/gleam@erlang@charlist.erl
+++ /dev/null
@@ -1,15 +0,0 @@
--module(gleam@erlang@charlist).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([to_string/1, from_string/1]).
--export_type([charlist/0]).
-
--type charlist() :: any().
-
--spec to_string(charlist()) -> binary().
-to_string(A) ->
- unicode:characters_to_binary(A).
-
--spec from_string(binary()) -> charlist().
-from_string(A) ->
- unicode:characters_to_list(A).
diff --git a/aoc2023/build/packages/gleam_erlang/src/gleam@erlang@file.erl b/aoc2023/build/packages/gleam_erlang/src/gleam@erlang@file.erl
deleted file mode 100644
index 1fe6628..0000000
--- a/aoc2023/build/packages/gleam_erlang/src/gleam@erlang@file.erl
+++ /dev/null
@@ -1,190 +0,0 @@
--module(gleam@erlang@file).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([file_info/1, link_info/1, is_directory/1, is_regular/1, file_exists/1, link_exists/1, make_directory/1, list_directory/1, delete_directory/1, recursive_delete/1, read/1, read_bits/1, write/2, write_bits/2, append/2, append_bits/2, delete/1]).
--export_type([reason/0, file_type/0, access/0, file_info/0]).
-
--type reason() :: eacces |
- eagain |
- ebadf |
- ebadmsg |
- ebusy |
- edeadlk |
- edeadlock |
- edquot |
- eexist |
- efault |
- efbig |
- eftype |
- eintr |
- einval |
- eio |
- eisdir |
- eloop |
- emfile |
- emlink |
- emultihop |
- enametoolong |
- enfile |
- enobufs |
- enodev |
- enolck |
- enolink |
- enoent |
- enomem |
- enospc |
- enosr |
- enostr |
- enosys |
- enotblk |
- enotdir |
- enotsup |
- enxio |
- eopnotsupp |
- eoverflow |
- eperm |
- epipe |
- erange |
- erofs |
- espipe |
- esrch |
- estale |
- etxtbsy |
- exdev |
- not_utf8.
-
--type file_type() :: device | directory | other | regular | symlink.
-
--type access() :: no_access | read | read_write | write.
-
--type file_info() :: {file_info,
- integer(),
- file_type(),
- access(),
- integer(),
- integer(),
- integer(),
- integer(),
- integer(),
- integer(),
- integer(),
- integer(),
- integer(),
- integer()}.
-
--spec file_info(binary()) -> {ok, file_info()} | {error, reason()}.
-file_info(A) ->
- gleam_erlang_ffi:file_info(A).
-
--spec link_info(binary()) -> {ok, file_info()} | {error, reason()}.
-link_info(A) ->
- gleam_erlang_ffi:link_info(A).
-
--spec is_directory(binary()) -> {ok, boolean()} | {error, reason()}.
-is_directory(Path) ->
- gleam@result:map(
- gleam_erlang_ffi:file_info(Path),
- fun(_use0) ->
- {file_info, _, File_type, _, _, _, _, _, _, _, _, _, _, _} = _use0,
- File_type =:= directory
- end
- ).
-
--spec is_regular(binary()) -> {ok, boolean()} | {error, reason()}.
-is_regular(Path) ->
- gleam@result:map(
- gleam_erlang_ffi:file_info(Path),
- fun(_use0) ->
- {file_info, _, File_type, _, _, _, _, _, _, _, _, _, _, _} = _use0,
- File_type =:= regular
- end
- ).
-
--spec file_exists(binary()) -> {ok, boolean()} | {error, reason()}.
-file_exists(Path) ->
- Result = begin
- _pipe = Path,
- _pipe@1 = gleam_erlang_ffi:file_info(_pipe),
- gleam@result:replace(_pipe@1, true)
- end,
- case Result of
- {error, enoent} ->
- {ok, false};
-
- _ ->
- Result
- end.
-
--spec link_exists(binary()) -> {ok, boolean()} | {error, reason()}.
-link_exists(Path) ->
- Result = begin
- _pipe = Path,
- _pipe@1 = gleam_erlang_ffi:link_info(_pipe),
- gleam@result:replace(_pipe@1, true)
- end,
- case Result of
- {error, enoent} ->
- {ok, false};
-
- _ ->
- Result
- end.
-
--spec make_directory(binary()) -> {ok, nil} | {error, reason()}.
-make_directory(A) ->
- gleam_erlang_ffi:make_directory(A).
-
--spec list_directory(binary()) -> {ok, list(binary())} | {error, reason()}.
-list_directory(A) ->
- gleam_erlang_ffi:list_directory(A).
-
--spec delete_directory(binary()) -> {ok, nil} | {error, reason()}.
-delete_directory(A) ->
- gleam_erlang_ffi:delete_directory(A).
-
--spec recursive_delete(binary()) -> {ok, nil} | {error, reason()}.
-recursive_delete(A) ->
- gleam_erlang_ffi:recursive_delete(A).
-
--spec read(binary()) -> {ok, binary()} | {error, reason()}.
-read(Path) ->
- _pipe = Path,
- _pipe@1 = gleam_erlang_ffi:read_file(_pipe),
- gleam@result:then(
- _pipe@1,
- fun(Content) -> case gleam@bit_array:to_string(Content) of
- {ok, String} ->
- {ok, String};
-
- {error, nil} ->
- {error, not_utf8}
- end end
- ).
-
--spec read_bits(binary()) -> {ok, bitstring()} | {error, reason()}.
-read_bits(Path) ->
- gleam_erlang_ffi:read_file(Path).
-
--spec write(binary(), binary()) -> {ok, nil} | {error, reason()}.
-write(Contents, Path) ->
- _pipe = Contents,
- _pipe@1 = gleam_stdlib:identity(_pipe),
- gleam_erlang_ffi:write_file(_pipe@1, Path).
-
--spec write_bits(bitstring(), binary()) -> {ok, nil} | {error, reason()}.
-write_bits(Contents, Path) ->
- gleam_erlang_ffi:write_file(Contents, Path).
-
--spec append(binary(), binary()) -> {ok, nil} | {error, reason()}.
-append(Contents, Path) ->
- _pipe = Contents,
- _pipe@1 = gleam_stdlib:identity(_pipe),
- gleam_erlang_ffi:append_file(_pipe@1, Path).
-
--spec append_bits(bitstring(), binary()) -> {ok, nil} | {error, reason()}.
-append_bits(Contents, Path) ->
- gleam_erlang_ffi:append_file(Contents, Path).
-
--spec delete(binary()) -> {ok, nil} | {error, reason()}.
-delete(A) ->
- gleam_erlang_ffi:delete_file(A).
diff --git a/aoc2023/build/packages/gleam_erlang/src/gleam@erlang@node.erl b/aoc2023/build/packages/gleam_erlang/src/gleam@erlang@node.erl
deleted file mode 100644
index f57d029..0000000
--- a/aoc2023/build/packages/gleam_erlang/src/gleam@erlang@node.erl
+++ /dev/null
@@ -1,33 +0,0 @@
--module(gleam@erlang@node).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([self/0, visible/0, connect/1, send/3, to_atom/1]).
--export_type([node_/0, do_not_leak/0, connect_error/0]).
-
--type node_() :: any().
-
--type do_not_leak() :: any().
-
--type connect_error() :: failed_to_connect | local_node_is_not_alive.
-
--spec self() -> node_().
-self() ->
- erlang:node().
-
--spec visible() -> list(node_()).
-visible() ->
- erlang:nodes().
-
--spec connect(gleam@erlang@atom:atom_()) -> {ok, node_()} |
- {error, connect_error()}.
-connect(Node) ->
- gleam_erlang_ffi:connect_node(Node).
-
--spec send(node_(), gleam@erlang@atom:atom_(), any()) -> nil.
-send(Node, Name, Message) ->
- erlang:send({Name, Node}, Message),
- nil.
-
--spec to_atom(node_()) -> gleam@erlang@atom:atom_().
-to_atom(Node) ->
- gleam_erlang_ffi:identity(Node).
diff --git a/aoc2023/build/packages/gleam_erlang/src/gleam@erlang@os.erl b/aoc2023/build/packages/gleam_erlang/src/gleam@erlang@os.erl
deleted file mode 100644
index 6604255..0000000
--- a/aoc2023/build/packages/gleam_erlang/src/gleam@erlang@os.erl
+++ /dev/null
@@ -1,27 +0,0 @@
--module(gleam@erlang@os).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([get_all_env/0, get_env/1, set_env/2, unset_env/1, family/0]).
--export_type([os_family/0]).
-
--type os_family() :: windows_nt | linux | darwin | free_bsd | {other, binary()}.
-
--spec get_all_env() -> gleam@map:map_(binary(), binary()).
-get_all_env() ->
- gleam_erlang_ffi:get_all_env().
-
--spec get_env(binary()) -> {ok, binary()} | {error, nil}.
-get_env(Name) ->
- gleam_erlang_ffi:get_env(Name).
-
--spec set_env(binary(), binary()) -> nil.
-set_env(Name, Value) ->
- gleam_erlang_ffi:set_env(Name, Value).
-
--spec unset_env(binary()) -> nil.
-unset_env(Name) ->
- gleam_erlang_ffi:unset_env(Name).
-
--spec family() -> os_family().
-family() ->
- gleam_erlang_ffi:os_family().
diff --git a/aoc2023/build/packages/gleam_erlang/src/gleam@erlang@process.erl b/aoc2023/build/packages/gleam_erlang/src/gleam@erlang@process.erl
deleted file mode 100644
index fc8e0ff..0000000
--- a/aoc2023/build/packages/gleam_erlang/src/gleam@erlang@process.erl
+++ /dev/null
@@ -1,374 +0,0 @@
--module(gleam@erlang@process).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([self/0, start/2, new_subject/0, subject_owner/1, send/2, new_selector/0, select/2, select_forever/1, map_selector/2, merge_selector/2, flush_messages/0, selecting_trapped_exits/2, selecting/3, 'receive'/2, selecting_record2/3, selecting_record3/3, selecting_record4/3, selecting_record5/3, selecting_record6/3, selecting_record7/3, selecting_record8/3, selecting_anything/2, sleep/1, sleep_forever/0, is_alive/1, monitor_process/1, selecting_process_down/3, demonitor_process/1, try_call/3, call/3, link/1, unlink/1, send_after/3, cancel_timer/1, kill/1, send_exit/1, send_abnormal_exit/2, trap_exits/1, register/2, unregister/1, named/1]).
--export_type([pid_/0, subject/1, do_not_leak/0, selector/1, exit_message/0, exit_reason/0, anything_selector_tag/0, process_monitor_flag/0, process_monitor/0, process_down/0, call_error/1, timer/0, cancelled/0, kill_flag/0]).
-
--type pid_() :: any().
-
--opaque subject(FJD) :: {subject, pid_(), gleam@erlang:reference_()} |
- {gleam_phantom, FJD}.
-
--type do_not_leak() :: any().
-
--type selector(FJE) :: any() | {gleam_phantom, FJE}.
-
--type exit_message() :: {exit_message, pid_(), exit_reason()}.
-
--type exit_reason() :: normal | killed | {abnormal, binary()}.
-
--type anything_selector_tag() :: anything.
-
--type process_monitor_flag() :: process.
-
--opaque process_monitor() :: {process_monitor, gleam@erlang:reference_()}.
-
--type process_down() :: {process_down, pid_(), gleam@dynamic:dynamic_()}.
-
--type call_error(FJF) :: {callee_down, gleam@dynamic:dynamic_()} |
- call_timeout |
- {gleam_phantom, FJF}.
-
--type timer() :: any().
-
--type cancelled() :: timer_not_found | {cancelled, integer()}.
-
--type kill_flag() :: kill.
-
--spec self() -> pid_().
-self() ->
- erlang:self().
-
--spec start(fun(() -> any()), boolean()) -> pid_().
-start(Implementation, Link) ->
- case Link of
- true ->
- erlang:spawn_link(Implementation);
-
- false ->
- erlang:spawn(Implementation)
- end.
-
--spec new_subject() -> subject(any()).
-new_subject() ->
- {subject, erlang:self(), erlang:make_ref()}.
-
--spec subject_owner(subject(any())) -> pid_().
-subject_owner(Subject) ->
- erlang:element(2, Subject).
-
--spec send(subject(FJO), FJO) -> nil.
-send(Subject, Message) ->
- erlang:send(
- erlang:element(2, Subject),
- {erlang:element(3, Subject), Message}
- ),
- nil.
-
--spec new_selector() -> selector(any()).
-new_selector() ->
- gleam_erlang_ffi:new_selector().
-
--spec select(selector(FJW), integer()) -> {ok, FJW} | {error, nil}.
-select(From, Within) ->
- gleam_erlang_ffi:select(From, Within).
-
--spec select_forever(selector(FKA)) -> FKA.
-select_forever(From) ->
- gleam_erlang_ffi:select(From).
-
--spec map_selector(selector(FKC), fun((FKC) -> FKE)) -> selector(FKE).
-map_selector(A, B) ->
- gleam_erlang_ffi:map_selector(A, B).
-
--spec merge_selector(selector(FKG), selector(FKG)) -> selector(FKG).
-merge_selector(A, B) ->
- gleam_erlang_ffi:merge_selector(A, B).
-
--spec flush_messages() -> nil.
-flush_messages() ->
- gleam_erlang_ffi:flush_messages().
-
--spec selecting_trapped_exits(selector(FKK), fun((exit_message()) -> FKK)) -> selector(FKK).
-selecting_trapped_exits(Selector, Handler) ->
- Tag = erlang:binary_to_atom(<<"EXIT"/utf8>>),
- Handler@1 = fun(Message) ->
- Reason = erlang:element(3, Message),
- Normal = gleam@dynamic:from(normal),
- Killed = gleam@dynamic:from(killed),
- Reason@2 = case gleam@dynamic:string(Reason) of
- _ when Reason =:= Normal ->
- normal;
-
- _ when Reason =:= Killed ->
- killed;
-
- {ok, Reason@1} ->
- {abnormal, Reason@1};
-
- {error, _} ->
- {abnormal, gleam@string:inspect(Reason)}
- end,
- Handler({exit_message, erlang:element(2, Message), Reason@2})
- end,
- gleam_erlang_ffi:insert_selector_handler(Selector, {Tag, 3}, Handler@1).
-
--spec selecting(selector(FKN), subject(FKP), fun((FKP) -> FKN)) -> selector(FKN).
-selecting(Selector, Subject, Transform) ->
- Handler = fun(Message) -> Transform(erlang:element(2, Message)) end,
- gleam_erlang_ffi:insert_selector_handler(
- Selector,
- {erlang:element(3, Subject), 2},
- Handler
- ).
-
--spec 'receive'(subject(FJQ), integer()) -> {ok, FJQ} | {error, nil}.
-'receive'(Subject, Milliseconds) ->
- _pipe = gleam_erlang_ffi:new_selector(),
- _pipe@1 = selecting(_pipe, Subject, fun(X) -> X end),
- gleam_erlang_ffi:select(_pipe@1, Milliseconds).
-
--spec selecting_record2(
- selector(FKS),
- any(),
- fun((gleam@dynamic:dynamic_()) -> FKS)
-) -> selector(FKS).
-selecting_record2(Selector, Tag, Transform) ->
- Handler = fun(Message) -> Transform(erlang:element(2, Message)) end,
- gleam_erlang_ffi:insert_selector_handler(Selector, {Tag, 2}, Handler).
-
--spec selecting_record3(
- selector(FKW),
- any(),
- fun((gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_()) -> FKW)
-) -> selector(FKW).
-selecting_record3(Selector, Tag, Transform) ->
- Handler = fun(Message) ->
- Transform(erlang:element(2, Message), erlang:element(3, Message))
- end,
- gleam_erlang_ffi:insert_selector_handler(Selector, {Tag, 3}, Handler).
-
--spec selecting_record4(
- selector(FLA),
- any(),
- fun((gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_()) -> FLA)
-) -> selector(FLA).
-selecting_record4(Selector, Tag, Transform) ->
- Handler = fun(Message) ->
- Transform(
- erlang:element(2, Message),
- erlang:element(3, Message),
- erlang:element(4, Message)
- )
- end,
- gleam_erlang_ffi:insert_selector_handler(Selector, {Tag, 4}, Handler).
-
--spec selecting_record5(
- selector(FLE),
- any(),
- fun((gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_()) -> FLE)
-) -> selector(FLE).
-selecting_record5(Selector, Tag, Transform) ->
- Handler = fun(Message) ->
- Transform(
- erlang:element(2, Message),
- erlang:element(3, Message),
- erlang:element(4, Message),
- erlang:element(5, Message)
- )
- end,
- gleam_erlang_ffi:insert_selector_handler(Selector, {Tag, 5}, Handler).
-
--spec selecting_record6(
- selector(FLI),
- any(),
- fun((gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_()) -> FLI)
-) -> selector(FLI).
-selecting_record6(Selector, Tag, Transform) ->
- Handler = fun(Message) ->
- Transform(
- erlang:element(2, Message),
- erlang:element(3, Message),
- erlang:element(4, Message),
- erlang:element(5, Message),
- erlang:element(6, Message)
- )
- end,
- gleam_erlang_ffi:insert_selector_handler(Selector, {Tag, 6}, Handler).
-
--spec selecting_record7(
- selector(FLM),
- any(),
- fun((gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_()) -> FLM)
-) -> selector(FLM).
-selecting_record7(Selector, Tag, Transform) ->
- Handler = fun(Message) ->
- Transform(
- erlang:element(2, Message),
- erlang:element(3, Message),
- erlang:element(4, Message),
- erlang:element(5, Message),
- erlang:element(6, Message),
- erlang:element(7, Message)
- )
- end,
- gleam_erlang_ffi:insert_selector_handler(Selector, {Tag, 7}, Handler).
-
--spec selecting_record8(
- selector(FLQ),
- any(),
- fun((gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_(), gleam@dynamic:dynamic_()) -> FLQ)
-) -> selector(FLQ).
-selecting_record8(Selector, Tag, Transform) ->
- Handler = fun(Message) ->
- Transform(
- erlang:element(2, Message),
- erlang:element(3, Message),
- erlang:element(4, Message),
- erlang:element(5, Message),
- erlang:element(6, Message),
- erlang:element(7, Message),
- erlang:element(8, Message)
- )
- end,
- gleam_erlang_ffi:insert_selector_handler(Selector, {Tag, 8}, Handler).
-
--spec selecting_anything(selector(FLU), fun((gleam@dynamic:dynamic_()) -> FLU)) -> selector(FLU).
-selecting_anything(Selector, Handler) ->
- gleam_erlang_ffi:insert_selector_handler(Selector, anything, Handler).
-
--spec sleep(integer()) -> nil.
-sleep(A) ->
- gleam_erlang_ffi:sleep(A).
-
--spec sleep_forever() -> nil.
-sleep_forever() ->
- gleam_erlang_ffi:sleep_forever().
-
--spec is_alive(pid_()) -> boolean().
-is_alive(A) ->
- erlang:is_process_alive(A).
-
--spec monitor_process(pid_()) -> process_monitor().
-monitor_process(Pid) ->
- _pipe = process,
- _pipe@1 = erlang:monitor(_pipe, Pid),
- {process_monitor, _pipe@1}.
-
--spec selecting_process_down(
- selector(FMC),
- process_monitor(),
- fun((process_down()) -> FMC)
-) -> selector(FMC).
-selecting_process_down(Selector, Monitor, Mapping) ->
- gleam_erlang_ffi:insert_selector_handler(
- Selector,
- erlang:element(2, Monitor),
- Mapping
- ).
-
--spec demonitor_process(process_monitor()) -> nil.
-demonitor_process(Monitor) ->
- gleam_erlang_ffi:demonitor(Monitor).
-
--spec try_call(subject(FMF), fun((subject(FMH)) -> FMF), integer()) -> {ok, FMH} |
- {error, call_error(FMH)}.
-try_call(Subject, Make_request, Timeout) ->
- Reply_subject = new_subject(),
- Monitor = monitor_process(subject_owner(Subject)),
- send(Subject, Make_request(Reply_subject)),
- Result = begin
- _pipe = gleam_erlang_ffi:new_selector(),
- _pipe@1 = selecting(
- _pipe,
- Reply_subject,
- fun(Field@0) -> {ok, Field@0} end
- ),
- _pipe@2 = selecting_process_down(
- _pipe@1,
- Monitor,
- fun(Down) -> {error, {callee_down, erlang:element(3, Down)}} end
- ),
- gleam_erlang_ffi:select(_pipe@2, Timeout)
- end,
- gleam_erlang_ffi:demonitor(Monitor),
- case Result of
- {error, nil} ->
- {error, call_timeout};
-
- {ok, Res} ->
- Res
- end.
-
--spec call(subject(FMM), fun((subject(FMO)) -> FMM), integer()) -> FMO.
-call(Subject, Make_request, Timeout) ->
- _assert_subject = try_call(Subject, Make_request, Timeout),
- {ok, Resp} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam/erlang/process"/utf8>>,
- function => <<"call"/utf8>>,
- line => 593})
- end,
- Resp.
-
--spec link(pid_()) -> boolean().
-link(Pid) ->
- gleam_erlang_ffi:link(Pid).
-
--spec unlink(pid_()) -> nil.
-unlink(Pid) ->
- erlang:unlink(Pid),
- nil.
-
--spec send_after(subject(FMR), integer(), FMR) -> timer().
-send_after(Subject, Delay, Message) ->
- erlang:send_after(
- Delay,
- erlang:element(2, Subject),
- {erlang:element(3, Subject), Message}
- ).
-
--spec cancel_timer(timer()) -> cancelled().
-cancel_timer(Timer) ->
- case gleam@dynamic:int(erlang:cancel_timer(Timer)) of
- {ok, I} ->
- {cancelled, I};
-
- {error, _} ->
- timer_not_found
- end.
-
--spec kill(pid_()) -> nil.
-kill(Pid) ->
- erlang:exit(Pid, kill),
- nil.
-
--spec send_exit(pid_()) -> nil.
-send_exit(Pid) ->
- erlang:exit(Pid, normal),
- nil.
-
--spec send_abnormal_exit(pid_(), binary()) -> nil.
-send_abnormal_exit(Pid, Reason) ->
- erlang:exit(Pid, {abnormal, Reason}),
- nil.
-
--spec trap_exits(boolean()) -> nil.
-trap_exits(A) ->
- gleam_erlang_ffi:trap_exits(A).
-
--spec register(pid_(), gleam@erlang@atom:atom_()) -> {ok, nil} | {error, nil}.
-register(Pid, Name) ->
- gleam_erlang_ffi:register_process(Pid, Name).
-
--spec unregister(gleam@erlang@atom:atom_()) -> {ok, nil} | {error, nil}.
-unregister(Name) ->
- gleam_erlang_ffi:unregister_process(Name).
-
--spec named(gleam@erlang@atom:atom_()) -> {ok, pid_()} | {error, nil}.
-named(Name) ->
- gleam_erlang_ffi:process_named(Name).
diff --git a/aoc2023/build/packages/gleam_erlang/src/gleam_erlang.app.src b/aoc2023/build/packages/gleam_erlang/src/gleam_erlang.app.src
deleted file mode 100644
index bb1b8e6..0000000
--- a/aoc2023/build/packages/gleam_erlang/src/gleam_erlang.app.src
+++ /dev/null
@@ -1,14 +0,0 @@
-{application, gleam_erlang, [
- {vsn, "0.23.1"},
- {applications, [gleam_stdlib,
- gleeunit]},
- {description, "A Gleam library for working with Erlang"},
- {modules, [gleam@erlang,
- gleam@erlang@atom,
- gleam@erlang@charlist,
- gleam@erlang@file,
- gleam@erlang@node,
- gleam@erlang@os,
- gleam@erlang@process]},
- {registered, []}
-]}.
diff --git a/aoc2023/build/packages/gleam_erlang/src/gleam_erlang_ffi.erl b/aoc2023/build/packages/gleam_erlang/src/gleam_erlang_ffi.erl
deleted file mode 100644
index 872126f..0000000
--- a/aoc2023/build/packages/gleam_erlang/src/gleam_erlang_ffi.erl
+++ /dev/null
@@ -1,263 +0,0 @@
--module(gleam_erlang_ffi).
--export([
- atom_from_dynamic/1, rescue/1, atom_from_string/1, get_line/1,
- ensure_all_started/1, sleep/1, os_family/0, sleep_forever/0, read_file/1,
- append_file/2, write_file/2, delete_file/1, get_all_env/0, get_env/1,
- set_env/2, unset_env/1, delete_directory/1, recursive_delete/1,
- list_directory/1, demonitor/1, make_directory/1, new_selector/0, link/1,
- insert_selector_handler/3, select/1, select/2, trap_exits/1, map_selector/2,
- merge_selector/2, flush_messages/0, file_info/1, link_info/1,
- priv_directory/1, connect_node/1, register_process/2, unregister_process/1,
- process_named/1, identity/1
-]).
-
--define(is_posix_error(Error),
- Error =:= eacces orelse Error =:= eagain orelse Error =:= ebadf orelse
- Error =:= ebadmsg orelse Error =:= ebusy orelse Error =:= edeadlk orelse
- Error =:= edeadlock orelse Error =:= edquot orelse Error =:= eexist orelse
- Error =:= efault orelse Error =:= efbig orelse Error =:= eftype orelse
- Error =:= eintr orelse Error =:= einval orelse Error =:= eio orelse
- Error =:= eisdir orelse Error =:= eloop orelse Error =:= emfile orelse
- Error =:= emlink orelse Error =:= emultihop orelse Error =:= enametoolong orelse
- Error =:= enfile orelse Error =:= enobufs orelse Error =:= enodev orelse
- Error =:= enolck orelse Error =:= enolink orelse Error =:= enoent orelse
- Error =:= enomem orelse Error =:= enospc orelse Error =:= enosr orelse
- Error =:= enostr orelse Error =:= enosys orelse Error =:= enotblk orelse
- Error =:= enotdir orelse Error =:= enotsup orelse Error =:= enxio orelse
- Error =:= eopnotsupp orelse Error =:= eoverflow orelse Error =:= eperm orelse
- Error =:= epipe orelse Error =:= erange orelse Error =:= erofs orelse
- Error =:= espipe orelse Error =:= esrch orelse Error =:= estale orelse
- Error =:= etxtbsy orelse Error =:= exdev
-).
-
--spec atom_from_string(binary()) -> {ok, atom()} | {error, atom_not_loaded}.
-atom_from_string(S) ->
- try {ok, binary_to_existing_atom(S)}
- catch error:badarg -> {error, atom_not_loaded}
- end.
-
-atom_from_dynamic(Data) when is_atom(Data) ->
- {ok, Data};
-atom_from_dynamic(Data) ->
- {error, [{decode_error, <<"Atom">>, gleam@dynamic:classify(Data), []}]}.
-
--spec get_line(io:prompt()) -> {ok, unicode:unicode_binary()} | {error, eof | no_data}.
-get_line(Prompt) ->
- case io:get_line(Prompt) of
- eof -> {error, eof};
- {error, _} -> {error, no_data};
- Data when is_binary(Data) -> {ok, Data};
- Data when is_list(Data) -> {ok, unicode:characters_to_binary(Data)}
- end.
-
-rescue(F) ->
- try {ok, F()}
- catch
- throw:X -> {error, {thrown, X}};
- error:X -> {error, {errored, X}};
- exit:X -> {error, {exited, X}}
- end.
-
-ensure_all_started(Application) ->
- case application:ensure_all_started(Application) of
- {ok, _} = Ok -> Ok;
-
- {error, {ProblemApp, {"no such file or directory", _}}} ->
- {error, {unknown_application, ProblemApp}}
- end.
-
-sleep(Microseconds) ->
- timer:sleep(Microseconds),
- nil.
-
-sleep_forever() ->
- timer:sleep(infinity),
- nil.
-
-file_info_result(Result) ->
- case Result of
- {ok, {file_info, Size, Type, Access, Atime, Mtime, Ctime, Mode, Links, MajorDevice, MinorDevice, Inode, Uid, Gid}} when Access =:= none ->
- {ok, {file_info, Size, Type, no_access, Atime, Mtime, Ctime, Mode, Links, MajorDevice, MinorDevice, Inode, Uid, Gid}};
- {ok, _} ->
- Result;
- {error, Reason} when ?is_posix_error(Reason) ->
- Result
- end.
-
-file_info(Filename) ->
- file_info_result(file:read_file_info(Filename, [{time, posix}])).
-
-link_info(Filename) ->
- file_info_result(file:read_link_info(Filename, [{time, posix}])).
-
-posix_result(Result) ->
- case Result of
- ok -> {ok, nil};
- {ok, Value} -> {ok, Value};
- {error, Reason} when ?is_posix_error(Reason) -> {error, Reason}
- end.
-
-read_file(Filename) ->
- posix_result(file:read_file(Filename)).
-
-write_file(Contents, Filename) ->
- posix_result(file:write_file(Filename, Contents)).
-
-append_file(Contents, Filename) ->
- posix_result(file:write_file(Filename, Contents, [append])).
-
-delete_file(Filename) ->
- posix_result(file:delete(Filename)).
-
-make_directory(Dir) ->
- posix_result(file:make_dir(Dir)).
-
-list_directory(Dir) ->
- case file:list_dir(Dir) of
- {ok, Filenames} ->
- {ok, [list_to_binary(Filename) || Filename <- Filenames]};
- {error, Reason} when ?is_posix_error(Reason) ->
- {error, Reason}
- end.
-
-delete_directory(Dir) ->
- posix_result(file:del_dir(Dir)).
-
-recursive_delete(Dir) ->
- posix_result(file:del_dir_r(Dir)).
-
-get_all_env() ->
- BinVars = lists:map(fun(VarString) ->
- [VarName, VarVal] = string:split(VarString, "="),
- {list_to_binary(VarName), list_to_binary(VarVal)}
- end, os:getenv()),
- maps:from_list(BinVars).
-
-get_env(Name) ->
- case os:getenv(binary_to_list(Name)) of
- false -> {error, nil};
- Value -> {ok, list_to_binary(Value)}
- end.
-
-set_env(Name, Value) ->
- os:putenv(binary_to_list(Name), binary_to_list(Value)),
- nil.
-
-unset_env(Name) ->
- os:unsetenv(binary_to_list(Name)),
- nil.
-
-os_family() ->
- case os:type() of
- {win32, nt} ->
- windows_nt;
- {unix, linux} ->
- linux;
- {unix, darwin} ->
- darwin;
- {unix, freebsd} ->
- free_bsd;
- {_, Other} ->
- {other, atom_to_binary(Other, utf8)}
- end.
-
-new_selector() ->
- {selector, #{}}.
-
-map_selector({selector, Handlers}, Fn) ->
- MappedHandlers = maps:map(fun(_Tag, Handler) ->
- fun(Message) -> Fn(Handler(Message)) end
- end, Handlers),
- {selector, MappedHandlers}.
-
-merge_selector({selector, HandlersA}, {selector, HandlersB}) ->
- {selector, maps:merge(HandlersA, HandlersB)}.
-
-insert_selector_handler({selector, Handlers}, Tag, Fn) ->
- {selector, Handlers#{Tag => Fn}}.
-
-select(Selector) ->
- {ok, Message} = select(Selector, infinity),
- Message.
-
-select({selector, Handlers}, Timeout) ->
- AnythingHandler = maps:get(anything, Handlers, undefined),
- receive
- % Monitored process down messages.
- % This is special cased so we can selectively receive based on the
- % reference as well as the record tag.
- {'DOWN', Ref, process, Pid, Reason} when is_map_key(Ref, Handlers) ->
- Fn = maps:get(Ref, Handlers),
- {ok, Fn({process_down, Pid, Reason})};
-
- Msg when is_map_key({element(1, Msg), tuple_size(Msg)}, Handlers) ->
- Fn = maps:get({element(1, Msg), tuple_size(Msg)}, Handlers),
- {ok, Fn(Msg)};
-
- Msg when AnythingHandler =/= undefined ->
- {ok, AnythingHandler(Msg)}
- after Timeout ->
- {error, nil}
- end.
-
-demonitor({_, Reference}) ->
- erlang:demonitor(Reference, [flush]).
-
-link(Pid) ->
- try
- erlang:link(Pid)
- catch
- error:_ -> false
- end.
-
-trap_exits(ShouldTrap) ->
- erlang:process_flag(trap_exit, ShouldTrap),
- nil.
-
-flush_messages() ->
- receive _Message -> flush_messages()
- after 0 -> nil
- end.
-
-priv_directory(Name) ->
- try erlang:binary_to_existing_atom(Name) of
- Atom ->
- case code:priv_dir(Atom) of
- {error, _} -> {error, nil};
- Path -> {ok, unicode:characters_to_binary(Path)}
- end
- catch
- error:badarg -> {error, nil}
- end.
-
-connect_node(Node) ->
- case net_kernel:connect_node(Node) of
- true -> {ok, Node};
- false -> {error, failed_to_connect};
- ignored -> {error, local_node_is_not_alive}
- end.
-
-register_process(Pid, Name) ->
- try
- true = erlang:register(Name, Pid),
- {ok, nil}
- catch
- error:badarg -> {error, nil}
- end.
-
-unregister_process(Name) ->
- try
- true = erlang:unregister(Name),
- {ok, nil}
- catch
- error:badarg -> {error, nil}
- end.
-
-process_named(Name) ->
- case erlang:whereis(Name) of
- Pid when is_pid(Pid) -> {ok, Pid};
- _ -> {error, nil}
- end.
-
-identity(X) ->
- X.
diff --git a/aoc2023/build/packages/gleam_http/LICENSE b/aoc2023/build/packages/gleam_http/LICENSE
deleted file mode 100644
index 619ec77..0000000
--- a/aoc2023/build/packages/gleam_http/LICENSE
+++ /dev/null
@@ -1,191 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- Copyright 2019, Louis Pilfold <louis@lpil.uk>.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
diff --git a/aoc2023/build/packages/gleam_http/README.md b/aoc2023/build/packages/gleam_http/README.md
deleted file mode 100644
index 9e06952..0000000
--- a/aoc2023/build/packages/gleam_http/README.md
+++ /dev/null
@@ -1,67 +0,0 @@
-# Gleam HTTP
-
-Types and functions for HTTP clients and servers!
-
-## HTTP Service Example
-
-```gleam
-import gleam/http/elli
-import gleam/http/response.{Response}
-import gleam/http/request.{Request}
-import gleam/bit_builder.{BitBuilder}
-
-// Define a HTTP service
-//
-pub fn my_service(request: Request(t)) -> Response(BitBuilder) {
- let body = bit_builder.from_string("Hello, world!")
-
- response.new(200)
- |> response.prepend_header("made-with", "Gleam")
- |> response.set_body(body)
-}
-
-// Start it on port 3000 using the Elli web server
-//
-pub fn main() {
- elli.become(my_service, on_port: 3000)
-}
-```
-
-## Server adapters
-
-In the example above the Elli Erlang web server is used to run the Gleam HTTP
-service. Here's a full list of the server adapters available, sorted
-alphabetically.
-
-| Adapter | About |
-| --- | --- |
-| [Mist][mist] | [Mist][mist] is a high performance pure Gleam web server |
-| [gleam_cowboy][cowboy-adapter] | [Cowboy][cowboy] is an Erlang HTTP2 & HTTP1.1 web server |
-| [gleam_elli][elli-adapter] | [Elli][elli] is an Erlang HTTP1.1 web server |
-| [gleam_plug][plug-adapter] | [Plug][plug] is an Elixir web application interface |
-
-[cowboy]:https://github.com/ninenines/cowboy
-[cowboy-adapter]: https://github.com/gleam-lang/cowboy
-[elli]:https://github.com/elli-lib/elli
-[elli-adapter]: https://github.com/gleam-lang/elli
-[plug]:https://github.com/elixir-plug/plug
-[plug-adapter]: https://github.com/gleam-lang/plug
-[mist]: https://github.com/rawhat/mist
-
-## Client adapters
-
-Client adapters are used to send HTTP requests to services over the network.
-Here's a full list of the client adapters available, sorted alphabetically.
-
-| Adapter | About |
-| --- | --- |
-| [gleam_fetch][fetch-adapter] | [fetch][fetch] is a HTTP client included with JavaScript |
-| [gleam_hackney][hackney-adapter] | [Hackney][hackney] is a simple HTTP client for Erlang |
-| [gleam_httpc][httpc-adapter] | [httpc][httpc] is a HTTP client included with Erlang |
-
-[hackney]: https://github.com/benoitc/hackney
-[hackney-adapter]: https://github.com/gleam-lang/hackney
-[httpc]: https://erlang.org/doc/man/httpc.html
-[httpc-adapter]: https://github.com/gleam-lang/httpc
-[fetch]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API
-[fetch-adapter]: https://github.com/gleam-lang/fetch
diff --git a/aoc2023/build/packages/gleam_http/gleam.toml b/aoc2023/build/packages/gleam_http/gleam.toml
deleted file mode 100644
index ba733e8..0000000
--- a/aoc2023/build/packages/gleam_http/gleam.toml
+++ /dev/null
@@ -1,17 +0,0 @@
-name = "gleam_http"
-version = "3.5.2"
-licences = ["Apache-2.0"]
-description = "Types and functions for Gleam HTTP clients and servers"
-gleam = ">= 0.32.0"
-
-repository = { type = "github", user = "gleam-lang", repo = "http" }
-links = [
- { title = "Website", href = "https://gleam.run" },
- { title = "Sponsor", href = "https://github.com/sponsors/lpil" },
-]
-
-[dependencies]
-gleam_stdlib = "~> 0.32"
-
-[dev-dependencies]
-gleeunit = "~> 1.0"
diff --git a/aoc2023/build/packages/gleam_http/include/gleam@http@cookie_Attributes.hrl b/aoc2023/build/packages/gleam_http/include/gleam@http@cookie_Attributes.hrl
deleted file mode 100644
index 78a7d02..0000000
--- a/aoc2023/build/packages/gleam_http/include/gleam@http@cookie_Attributes.hrl
+++ /dev/null
@@ -1,8 +0,0 @@
--record(attributes, {
- max_age :: gleam@option:option(integer()),
- domain :: gleam@option:option(binary()),
- path :: gleam@option:option(binary()),
- secure :: boolean(),
- http_only :: boolean(),
- same_site :: gleam@option:option(gleam@http@cookie:same_site_policy())
-}).
diff --git a/aoc2023/build/packages/gleam_http/include/gleam@http@request_Request.hrl b/aoc2023/build/packages/gleam_http/include/gleam@http@request_Request.hrl
deleted file mode 100644
index c8bbae6..0000000
--- a/aoc2023/build/packages/gleam_http/include/gleam@http@request_Request.hrl
+++ /dev/null
@@ -1,10 +0,0 @@
--record(request, {
- method :: gleam@http:method(),
- headers :: list({binary(), binary()}),
- body :: any(),
- scheme :: gleam@http:scheme(),
- host :: binary(),
- port :: gleam@option:option(integer()),
- path :: binary(),
- 'query' :: gleam@option:option(binary())
-}).
diff --git a/aoc2023/build/packages/gleam_http/include/gleam@http@response_Response.hrl b/aoc2023/build/packages/gleam_http/include/gleam@http@response_Response.hrl
deleted file mode 100644
index ba6f077..0000000
--- a/aoc2023/build/packages/gleam_http/include/gleam@http@response_Response.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(response, {
- status :: integer(),
- headers :: list({binary(), binary()}),
- body :: any()
-}).
diff --git a/aoc2023/build/packages/gleam_http/include/gleam@http_MoreRequiredForBody.hrl b/aoc2023/build/packages/gleam_http/include/gleam@http_MoreRequiredForBody.hrl
deleted file mode 100644
index abd56dd..0000000
--- a/aoc2023/build/packages/gleam_http/include/gleam@http_MoreRequiredForBody.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(more_required_for_body, {
- chunk :: bitstring(),
- continuation :: fun((bitstring()) -> {ok, gleam@http:multipart_body()} |
- {error, nil})
-}).
diff --git a/aoc2023/build/packages/gleam_http/include/gleam@http_MoreRequiredForHeaders.hrl b/aoc2023/build/packages/gleam_http/include/gleam@http_MoreRequiredForHeaders.hrl
deleted file mode 100644
index 43729c1..0000000
--- a/aoc2023/build/packages/gleam_http/include/gleam@http_MoreRequiredForHeaders.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(more_required_for_headers, {
- continuation :: fun((bitstring()) -> {ok, gleam@http:multipart_headers()} |
- {error, nil})
-}).
diff --git a/aoc2023/build/packages/gleam_http/include/gleam@http_MultipartBody.hrl b/aoc2023/build/packages/gleam_http/include/gleam@http_MultipartBody.hrl
deleted file mode 100644
index 4521591..0000000
--- a/aoc2023/build/packages/gleam_http/include/gleam@http_MultipartBody.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(multipart_body, {
- chunk :: bitstring(),
- done :: boolean(),
- remaining :: bitstring()
-}).
diff --git a/aoc2023/build/packages/gleam_http/include/gleam@http_MultipartHeaders.hrl b/aoc2023/build/packages/gleam_http/include/gleam@http_MultipartHeaders.hrl
deleted file mode 100644
index d9fca5c..0000000
--- a/aoc2023/build/packages/gleam_http/include/gleam@http_MultipartHeaders.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(multipart_headers, {
- headers :: list({binary(), binary()}),
- remaining :: bitstring()
-}).
diff --git a/aoc2023/build/packages/gleam_http/src/gleam/http.gleam b/aoc2023/build/packages/gleam_http/src/gleam/http.gleam
deleted file mode 100644
index a892006..0000000
--- a/aoc2023/build/packages/gleam_http/src/gleam/http.gleam
+++ /dev/null
@@ -1,560 +0,0 @@
-//// Functions for working with HTTP data structures in Gleam.
-////
-//// This module makes it easy to create and modify Requests and Responses, data types.
-//// A general HTTP message type is defined that enables functions to work on both requests and responses.
-////
-//// This module does not implement a HTTP client or HTTP server, but it can be used as a base for them.
-
-import gleam/dynamic.{type DecodeError, type Dynamic, DecodeError}
-import gleam/string
-import gleam/bit_array
-import gleam/result
-import gleam/list
-import gleam/bool
-
-/// HTTP standard method as defined by [RFC 2616](https://tools.ietf.org/html/rfc2616),
-/// and PATCH which is defined by [RFC 5789](https://tools.ietf.org/html/rfc5789).
-pub type Method {
- Get
- Post
- Head
- Put
- Delete
- Trace
- Connect
- Options
- Patch
-
- /// Non-standard but valid HTTP methods.
- Other(String)
-}
-
-// TODO: check if the a is a valid HTTP method (i.e. it is a token, as per the
-// spec) and return Ok(Other(s)) if so.
-pub fn parse_method(s) -> Result(Method, Nil) {
- case string.lowercase(s) {
- "connect" -> Ok(Connect)
- "delete" -> Ok(Delete)
- "get" -> Ok(Get)
- "head" -> Ok(Head)
- "options" -> Ok(Options)
- "patch" -> Ok(Patch)
- "post" -> Ok(Post)
- "put" -> Ok(Put)
- "trace" -> Ok(Trace)
- _ -> Error(Nil)
- }
-}
-
-pub fn method_to_string(method: Method) -> String {
- case method {
- Connect -> "connect"
- Delete -> "delete"
- Get -> "get"
- Head -> "head"
- Options -> "options"
- Patch -> "patch"
- Post -> "post"
- Put -> "put"
- Trace -> "trace"
- Other(s) -> s
- }
-}
-
-/// The two URI schemes for HTTP
-///
-pub type Scheme {
- Http
- Https
-}
-
-/// Convert a scheme into a string.
-///
-/// # Examples
-///
-/// > scheme_to_string(Http)
-/// "http"
-///
-/// > scheme_to_string(Https)
-/// "https"
-///
-pub fn scheme_to_string(scheme: Scheme) -> String {
- case scheme {
- Http -> "http"
- Https -> "https"
- }
-}
-
-/// Parse a HTTP scheme from a string
-///
-/// # Examples
-///
-/// > scheme_from_string("http")
-/// Ok(Http)
-///
-/// > scheme_from_string("ftp")
-/// Error(Nil)
-///
-pub fn scheme_from_string(scheme: String) -> Result(Scheme, Nil) {
- case string.lowercase(scheme) {
- "http" -> Ok(Http)
- "https" -> Ok(Https)
- _ -> Error(Nil)
- }
-}
-
-pub fn method_from_dynamic(value: Dynamic) -> Result(Method, List(DecodeError)) {
- case do_method_from_dynamic(value) {
- Ok(method) -> Ok(method)
- Error(_) -> Error([DecodeError("HTTP method", dynamic.classify(value), [])])
- }
-}
-
-pub type MultipartHeaders {
- /// The headers for the part have been fully parsed.
- MultipartHeaders(
- headers: List(Header),
- /// The remaining content that has not yet been parsed. This will contain
- /// the body for this part, if any, and can be parsed with the
- /// `parse_multipart_body` function.
- remaining: BitArray,
- )
- /// More input is required to parse the headers for this part.
- MoreRequiredForHeaders(
- /// Call this function to continue parsing the headers for this part.
- continuation: fn(BitArray) -> Result(MultipartHeaders, Nil),
- )
-}
-
-pub type MultipartBody {
- /// The body for the part has been fully parsed.
- MultipartBody(
- // The rest of the body for this part. The full body of the part is this
- // concatenated onto the end of each chunk returned by any previous
- // `MoreRequiredForBody` returns.
- chunk: BitArray,
- /// This is `True` if this was the last part in the multipart message,
- /// otherwise there are more parts to parse.
- done: Bool,
- /// The remaining content that has not yet been parsed. This will contain
- /// the next part if `done` is `False`, otherwise it will contain the
- /// epilogue, if any.
- remaining: BitArray,
- )
- MoreRequiredForBody(
- // The body that has been parsed so far. The full body of the part is this
- // concatenated with the chunk returned by each `MoreRequiredForBody` return
- // value, and the final `MultipartBody` return value.
- chunk: BitArray,
- /// Call this function to continue parsing the body for this part.
- continuation: fn(BitArray) -> Result(MultipartBody, Nil),
- )
-}
-
-/// Parse the headers for part of a multipart message, as defined in RFC 2045.
-///
-/// This function skips any preamble before the boundary. The preamble may be
-/// retrieved using `parse_multipart_body`.
-///
-/// This function will accept input of any size, it is up to the caller to limit
-/// it if needed.
-///
-/// To enable streaming parsing of multipart messages, this function will return
-/// a continuation if there is not enough data to fully parse the headers.
-/// Further information is available in the documentation for `MultipartBody`.
-///
-pub fn parse_multipart_headers(
- data: BitArray,
- boundary: String,
-) -> Result(MultipartHeaders, Nil) {
- let boundary = bit_array.from_string(boundary)
- // TODO: rewrite this to use a bit pattern once JavaScript supports
- // the `b:binary-size(bsize)` pattern.
- let prefix = <<45, 45, boundary:bits>>
- case bit_array.slice(data, 0, bit_array.byte_size(prefix)) == Ok(prefix) {
- // There is no preamble, parse the headers.
- True -> parse_headers_after_prelude(data, boundary)
- // There is a preamble, skip it before parsing.
- False -> skip_preamble(data, boundary)
- }
-}
-
-/// Parse the body for part of a multipart message, as defined in RFC 2045. The
-/// body is everything until the next boundary. This function is generally to be
-/// called after calling `parse_multipart_headers` for a given part.
-///
-/// This function will accept input of any size, it is up to the caller to limit
-/// it if needed.
-///
-/// To enable streaming parsing of multipart messages, this function will return
-/// a continuation if there is not enough data to fully parse the body, along
-/// with the data that has been parsed so far. Further information is available
-/// in the documentation for `MultipartBody`.
-///
-pub fn parse_multipart_body(
- data: BitArray,
- boundary: String,
-) -> Result(MultipartBody, Nil) {
- boundary
- |> bit_array.from_string
- |> parse_body_with_bit_array(data, _)
-}
-
-fn parse_body_with_bit_array(
- data: BitArray,
- boundary: BitArray,
-) -> Result(MultipartBody, Nil) {
- let bsize = bit_array.byte_size(boundary)
- let prefix = bit_array.slice(data, 0, 2 + bsize)
- case prefix == Ok(<<45, 45, boundary:bits>>) {
- True -> Ok(MultipartBody(<<>>, done: False, remaining: data))
- False -> parse_body_loop(data, boundary, <<>>)
- }
-}
-
-fn parse_body_loop(
- data: BitArray,
- boundary: BitArray,
- body: BitArray,
-) -> Result(MultipartBody, Nil) {
- let dsize = bit_array.byte_size(data)
- let bsize = bit_array.byte_size(boundary)
- let required = 6 + bsize
- case data {
- _ if dsize < required -> {
- more_please_body(parse_body_loop(_, boundary, <<>>), body, data)
- }
-
- // TODO: flatten this into a single case expression once JavaScript supports
- // the `b:binary-size(bsize)` pattern.
- //
- // \r\n
- <<13, 10, data:bytes>> -> {
- let desired = <<45, 45, boundary:bits>>
- let size = bit_array.byte_size(desired)
- let dsize = bit_array.byte_size(data)
- let prefix = bit_array.slice(data, 0, size)
- let rest = bit_array.slice(data, size, dsize - size)
- case prefix == Ok(desired), rest {
- // --boundary\r\n
- True, Ok(<<13, 10, _:bytes>>) ->
- Ok(MultipartBody(body, done: False, remaining: data))
-
- // --boundary--
- True, Ok(<<45, 45, data:bytes>>) ->
- Ok(MultipartBody(body, done: True, remaining: data))
-
- False, _ -> parse_body_loop(data, boundary, <<body:bits, 13, 10>>)
- _, _ -> Error(Nil)
- }
- }
-
- <<char, data:bytes>> -> {
- parse_body_loop(data, boundary, <<body:bits, char>>)
- }
- }
-}
-
-fn parse_headers_after_prelude(
- data: BitArray,
- boundary: BitArray,
-) -> Result(MultipartHeaders, Nil) {
- let dsize = bit_array.byte_size(data)
- let bsize = bit_array.byte_size(boundary)
- let required_size = bsize + 4
-
- // TODO: this could be written as a single case expression if JavaScript had
- // support for the `b:binary-size(bsize)` pattern. Rewrite this once the
- // compiler support this.
-
- use <- bool.guard(
- when: dsize < required_size,
- return: more_please_headers(parse_headers_after_prelude(_, boundary), data),
- )
-
- use prefix <- result.try(bit_array.slice(data, 0, required_size - 2))
- use second <- result.try(bit_array.slice(data, 2 + bsize, 2))
- let desired = <<45, 45, boundary:bits>>
-
- use <- bool.guard(prefix != desired, return: Error(Nil))
-
- case second == <<45, 45>> {
- // --boundary--
- // The last boundary. Return the epilogue.
- True -> {
- let rest_size = dsize - required_size
- use data <- result.map(bit_array.slice(data, required_size, rest_size))
- MultipartHeaders([], remaining: data)
- }
-
- // --boundary
- False -> {
- let start = required_size - 2
- let rest_size = dsize - required_size + 2
- use data <- result.try(bit_array.slice(data, start, rest_size))
- do_parse_headers(data)
- }
- }
-}
-
-fn skip_preamble(
- data: BitArray,
- boundary: BitArray,
-) -> Result(MultipartHeaders, Nil) {
- let data_size = bit_array.byte_size(data)
- let boundary_size = bit_array.byte_size(boundary)
- let required = boundary_size + 4
- case data {
- _ if data_size < required ->
- more_please_headers(skip_preamble(_, boundary), data)
-
- // TODO: change this to use one non-nested case expression once the compiler
- // supports the `b:binary-size(bsize)` pattern on JS.
- // \r\n--
- <<13, 10, 45, 45, data:bytes>> -> {
- case bit_array.slice(data, 0, boundary_size) {
- // --boundary
- Ok(prefix) if prefix == boundary -> {
- let start = boundary_size
- let length = bit_array.byte_size(data) - boundary_size
- use rest <- result.try(bit_array.slice(data, start, length))
- do_parse_headers(rest)
- }
- Ok(_) -> skip_preamble(data, boundary)
- Error(_) -> Error(Nil)
- }
- }
-
- <<_, data:bytes>> -> skip_preamble(data, boundary)
- }
-}
-
-fn skip_whitespace(data: BitArray) -> BitArray {
- case data {
- // Space or tab.
- <<32, data:bytes>> | <<9, data:bytes>> -> skip_whitespace(data)
- _ -> data
- }
-}
-
-fn do_parse_headers(data: BitArray) -> Result(MultipartHeaders, Nil) {
- case data {
- // \r\n\r\n
- // We've reached the end, there are no headers.
- <<13, 10, 13, 10, data:bytes>> -> Ok(MultipartHeaders([], remaining: data))
-
- // \r\n
- // Skip the line break after the boundary.
- <<13, 10, data:bytes>> -> parse_header_name(data, [], <<>>)
-
- <<13>> | <<>> -> more_please_headers(do_parse_headers, data)
-
- _ -> Error(Nil)
- }
-}
-
-fn parse_header_name(
- data: BitArray,
- headers: List(Header),
- name: BitArray,
-) -> Result(MultipartHeaders, Nil) {
- case skip_whitespace(data) {
- // :
- <<58, data:bytes>> ->
- data
- |> skip_whitespace
- |> parse_header_value(headers, name, <<>>)
-
- <<char, data:bytes>> ->
- parse_header_name(data, headers, <<name:bits, char>>)
-
- <<>> -> more_please_headers(parse_header_name(_, headers, name), data)
- }
-}
-
-fn parse_header_value(
- data: BitArray,
- headers: List(Header),
- name: BitArray,
- value: BitArray,
-) -> Result(MultipartHeaders, Nil) {
- let size = bit_array.byte_size(data)
- case data {
- // We need at least 4 bytes to check for the end of the headers.
- _ if size < 4 ->
- fn(data) {
- data
- |> skip_whitespace
- |> parse_header_value(headers, name, value)
- }
- |> more_please_headers(data)
-
- // \r\n\r\n
- <<13, 10, 13, 10, data:bytes>> -> {
- use name <- result.try(bit_array.to_string(name))
- use value <- result.map(bit_array.to_string(value))
- let headers = list.reverse([#(string.lowercase(name), value), ..headers])
- MultipartHeaders(headers, data)
- }
-
- // \r\n\s
- // \r\n\t
- <<13, 10, 32, data:bytes>> | <<13, 10, 9, data:bytes>> ->
- parse_header_value(data, headers, name, value)
-
- // \r\n
- <<13, 10, data:bytes>> -> {
- use name <- result.try(bit_array.to_string(name))
- use value <- result.try(bit_array.to_string(value))
- let headers = [#(string.lowercase(name), value), ..headers]
- parse_header_name(data, headers, <<>>)
- }
-
- <<char, rest:bytes>> -> {
- let value = <<value:bits, char>>
- parse_header_value(rest, headers, name, value)
- }
-
- _ -> Error(Nil)
- }
-}
-
-fn more_please_headers(
- continuation: fn(BitArray) -> Result(MultipartHeaders, Nil),
- existing: BitArray,
-) -> Result(MultipartHeaders, Nil) {
- Ok(MoreRequiredForHeaders(fn(more) {
- use <- bool.guard(more == <<>>, return: Error(Nil))
- continuation(<<existing:bits, more:bits>>)
- }))
-}
-
-pub type ContentDisposition {
- ContentDisposition(String, parameters: List(#(String, String)))
-}
-
-pub fn parse_content_disposition(
- header: String,
-) -> Result(ContentDisposition, Nil) {
- parse_content_disposition_type(header, "")
-}
-
-fn parse_content_disposition_type(
- header: String,
- name: String,
-) -> Result(ContentDisposition, Nil) {
- case string.pop_grapheme(header) {
- Error(Nil) -> Ok(ContentDisposition(name, []))
-
- Ok(#(" ", rest)) | Ok(#("\t", rest)) | Ok(#(";", rest)) -> {
- let result = parse_rfc_2045_parameters(rest, [])
- use parameters <- result.map(result)
- ContentDisposition(name, parameters)
- }
-
- Ok(#(grapheme, rest)) ->
- parse_content_disposition_type(rest, name <> string.lowercase(grapheme))
- }
-}
-
-fn parse_rfc_2045_parameters(
- header: String,
- parameters: List(#(String, String)),
-) -> Result(List(#(String, String)), Nil) {
- case string.pop_grapheme(header) {
- Error(Nil) -> Ok(list.reverse(parameters))
-
- Ok(#(";", rest)) | Ok(#(" ", rest)) | Ok(#("\t", rest)) ->
- parse_rfc_2045_parameters(rest, parameters)
-
- Ok(#(grapheme, rest)) -> {
- let acc = string.lowercase(grapheme)
- use #(parameter, rest) <- result.try(parse_rfc_2045_parameter(rest, acc))
- parse_rfc_2045_parameters(rest, [parameter, ..parameters])
- }
- }
-}
-
-fn parse_rfc_2045_parameter(
- header: String,
- name: String,
-) -> Result(#(#(String, String), String), Nil) {
- use #(grapheme, rest) <- result.try(string.pop_grapheme(header))
- case grapheme {
- "=" -> parse_rfc_2045_parameter_value(rest, name)
- _ -> parse_rfc_2045_parameter(rest, name <> string.lowercase(grapheme))
- }
-}
-
-fn parse_rfc_2045_parameter_value(
- header: String,
- name: String,
-) -> Result(#(#(String, String), String), Nil) {
- case string.pop_grapheme(header) {
- Error(Nil) -> Error(Nil)
- Ok(#("\"", rest)) -> parse_rfc_2045_parameter_quoted_value(rest, name, "")
- Ok(#(grapheme, rest)) ->
- Ok(parse_rfc_2045_parameter_unquoted_value(rest, name, grapheme))
- }
-}
-
-fn parse_rfc_2045_parameter_quoted_value(
- header: String,
- name: String,
- value: String,
-) -> Result(#(#(String, String), String), Nil) {
- case string.pop_grapheme(header) {
- Error(Nil) -> Error(Nil)
- Ok(#("\"", rest)) -> Ok(#(#(name, value), rest))
- Ok(#("\\", rest)) -> {
- use #(grapheme, rest) <- result.try(string.pop_grapheme(rest))
- parse_rfc_2045_parameter_quoted_value(rest, name, value <> grapheme)
- }
- Ok(#(grapheme, rest)) ->
- parse_rfc_2045_parameter_quoted_value(rest, name, value <> grapheme)
- }
-}
-
-fn parse_rfc_2045_parameter_unquoted_value(
- header: String,
- name: String,
- value: String,
-) -> #(#(String, String), String) {
- case string.pop_grapheme(header) {
- Error(Nil) -> #(#(name, value), header)
-
- Ok(#(";", rest)) | Ok(#(" ", rest)) | Ok(#("\t", rest)) -> #(
- #(name, value),
- rest,
- )
-
- Ok(#(grapheme, rest)) ->
- parse_rfc_2045_parameter_unquoted_value(rest, name, value <> grapheme)
- }
-}
-
-fn more_please_body(
- continuation: fn(BitArray) -> Result(MultipartBody, Nil),
- chunk: BitArray,
- existing: BitArray,
-) -> Result(MultipartBody, Nil) {
- fn(more) {
- use <- bool.guard(more == <<>>, return: Error(Nil))
- continuation(<<existing:bits, more:bits>>)
- }
- |> MoreRequiredForBody(chunk, _)
- |> Ok
-}
-
-@target(erlang)
-@external(erlang, "gleam_http_native", "decode_method")
-fn do_method_from_dynamic(a: Dynamic) -> Result(Method, nil)
-
-@target(javascript)
-@external(javascript, "../gleam_http_native.mjs", "decode_method")
-fn do_method_from_dynamic(a: Dynamic) -> Result(Method, Nil)
-
-/// A HTTP header is a key-value pair. Header keys should be all lowercase
-/// characters.
-pub type Header =
- #(String, String)
diff --git a/aoc2023/build/packages/gleam_http/src/gleam/http/cookie.gleam b/aoc2023/build/packages/gleam_http/src/gleam/http/cookie.gleam
deleted file mode 100644
index e9ccb55..0000000
--- a/aoc2023/build/packages/gleam_http/src/gleam/http/cookie.gleam
+++ /dev/null
@@ -1,128 +0,0 @@
-import gleam/result
-import gleam/int
-import gleam/list
-import gleam/regex
-import gleam/string
-import gleam/option.{type Option, Some}
-import gleam/http.{type Scheme}
-
-/// Policy options for the SameSite cookie attribute
-///
-/// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite
-pub type SameSitePolicy {
- Lax
- Strict
- None
-}
-
-fn same_site_to_string(policy) {
- case policy {
- Lax -> "Lax"
- Strict -> "Strict"
- None -> "None"
- }
-}
-
-/// Attributes of a cookie when sent to a client in the `set-cookie` header.
-pub type Attributes {
- Attributes(
- max_age: Option(Int),
- domain: Option(String),
- path: Option(String),
- secure: Bool,
- http_only: Bool,
- same_site: Option(SameSitePolicy),
- )
-}
-
-/// Helper to create sensible default attributes for a set cookie.
-///
-/// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#Attributes
-pub fn defaults(scheme: Scheme) {
- Attributes(
- max_age: option.None,
- domain: option.None,
- path: option.Some("/"),
- secure: scheme == http.Https,
- http_only: True,
- same_site: Some(Lax),
- )
-}
-
-const epoch = "Expires=Thu, 01 Jan 1970 00:00:00 GMT"
-
-fn cookie_attributes_to_list(attributes) {
- let Attributes(
- max_age: max_age,
- domain: domain,
- path: path,
- secure: secure,
- http_only: http_only,
- same_site: same_site,
- ) = attributes
- [
- // Expires is a deprecated attribute for cookies, it has been replaced with MaxAge
- // MaxAge is widely supported and so Expires values are not set.
- // Only when deleting cookies is the exception made to use the old format,
- // to ensure complete clearup of cookies if required by an application.
- case max_age {
- option.Some(0) -> option.Some([epoch])
- _ -> option.None
- },
- option.map(max_age, fn(max_age) { ["Max-Age=", int.to_string(max_age)] }),
- option.map(domain, fn(domain) { ["Domain=", domain] }),
- option.map(path, fn(path) { ["Path=", path] }),
- case secure {
- True -> option.Some(["Secure"])
- False -> option.None
- },
- case http_only {
- True -> option.Some(["HttpOnly"])
- False -> option.None
- },
- option.map(
- same_site,
- fn(same_site) { ["SameSite=", same_site_to_string(same_site)] },
- ),
- ]
- |> list.filter_map(option.to_result(_, Nil))
-}
-
-pub fn set_header(name: String, value: String, attributes: Attributes) -> String {
- [[name, "=", value], ..cookie_attributes_to_list(attributes)]
- |> list.map(string.join(_, ""))
- |> string.join("; ")
-}
-
-/// Parse a list of cookies from a header string. Any malformed cookies will be
-/// discarded.
-///
-pub fn parse(cookie_string: String) -> List(#(String, String)) {
- let assert Ok(re) = regex.from_string("[,;]")
- regex.split(re, cookie_string)
- |> list.filter_map(fn(pair) {
- case string.split_once(string.trim(pair), "=") {
- Ok(#("", _)) -> Error(Nil)
- Ok(#(key, value)) -> {
- let key = string.trim(key)
- let value = string.trim(value)
- use _ <- result.then(check_token(key))
- use _ <- result.then(check_token(value))
- Ok(#(key, value))
- }
- Error(Nil) -> Error(Nil)
- }
- })
-}
-
-fn check_token(token: String) -> Result(Nil, Nil) {
- case string.pop_grapheme(token) {
- Error(Nil) -> Ok(Nil)
- Ok(#(" ", _)) -> Error(Nil)
- Ok(#("\t", _)) -> Error(Nil)
- Ok(#("\r", _)) -> Error(Nil)
- Ok(#("\n", _)) -> Error(Nil)
- Ok(#("\f", _)) -> Error(Nil)
- Ok(#(_, rest)) -> check_token(rest)
- }
-}
diff --git a/aoc2023/build/packages/gleam_http/src/gleam/http/request.gleam b/aoc2023/build/packages/gleam_http/src/gleam/http/request.gleam
deleted file mode 100644
index 0bf9af9..0000000
--- a/aoc2023/build/packages/gleam_http/src/gleam/http/request.gleam
+++ /dev/null
@@ -1,267 +0,0 @@
-import gleam/result
-// TODO: validate_req
-import gleam/http.{type Header, type Method, type Scheme, Get}
-import gleam/http/cookie
-import gleam/option.{type Option}
-import gleam/uri.{type Uri, Uri}
-import gleam/list
-import gleam/string
-import gleam/string_builder
-
-// TODO: document
-pub type Request(body) {
- Request(
- method: Method,
- headers: List(Header),
- body: body,
- scheme: Scheme,
- host: String,
- port: Option(Int),
- path: String,
- query: Option(String),
- )
-}
-
-/// Return the uri that a request was sent to.
-///
-pub fn to_uri(request: Request(a)) -> Uri {
- Uri(
- scheme: option.Some(http.scheme_to_string(request.scheme)),
- userinfo: option.None,
- host: option.Some(request.host),
- port: request.port,
- path: request.path,
- query: request.query,
- fragment: option.None,
- )
-}
-
-/// Construct a request from a URI.
-///
-pub fn from_uri(uri: Uri) -> Result(Request(String), Nil) {
- use scheme <- result.then(
- uri.scheme
- |> option.unwrap("")
- |> http.scheme_from_string,
- )
- use host <- result.then(
- uri.host
- |> option.to_result(Nil),
- )
- let req =
- Request(
- method: Get,
- headers: [],
- body: "",
- scheme: scheme,
- host: host,
- port: uri.port,
- path: uri.path,
- query: uri.query,
- )
- Ok(req)
-}
-
-/// Get the value for a given header.
-///
-/// If the request does not have that header then `Error(Nil)` is returned.
-///
-pub fn get_header(request: Request(body), key: String) -> Result(String, Nil) {
- list.key_find(request.headers, string.lowercase(key))
-}
-
-/// Set the header with the given value under the given header key.
-///
-/// If already present, it is replaced.
-pub fn set_header(
- request: Request(body),
- key: String,
- value: String,
-) -> Request(body) {
- let headers = list.key_set(request.headers, string.lowercase(key), value)
- Request(..request, headers: headers)
-}
-
-/// Prepend the header with the given value under the given header key.
-///
-/// Similar to `set_header` except if the header already exists it prepends
-/// another header with the same key.
-pub fn prepend_header(
- request: Request(body),
- key: String,
- value: String,
-) -> Request(body) {
- let headers = [#(string.lowercase(key), value), ..request.headers]
- Request(..request, headers: headers)
-}
-
-// TODO: record update syntax, which can't be done currently as body type changes
-/// Set the body of the request, overwriting any existing body.
-///
-pub fn set_body(req: Request(old_body), body: new_body) -> Request(new_body) {
- let Request(
- method: method,
- headers: headers,
- scheme: scheme,
- host: host,
- port: port,
- path: path,
- query: query,
- ..,
- ) = req
- Request(
- method: method,
- headers: headers,
- body: body,
- scheme: scheme,
- host: host,
- port: port,
- path: path,
- query: query,
- )
-}
-
-/// Update the body of a request using a given function.
-///
-pub fn map(
- request: Request(old_body),
- transform: fn(old_body) -> new_body,
-) -> Request(new_body) {
- request.body
- |> transform
- |> set_body(request, _)
-}
-
-/// Return the non-empty segments of a request path.
-///
-/// # Examples
-///
-/// ```gleam
-/// > new()
-/// > |> set_path("/one/two/three")
-/// > |> path_segments
-/// ["one", "two", "three"]
-/// ```
-///
-pub fn path_segments(request: Request(body)) -> List(String) {
- request.path
- |> uri.path_segments
-}
-
-/// Decode the query of a request.
-pub fn get_query(request: Request(body)) -> Result(List(#(String, String)), Nil) {
- case request.query {
- option.Some(query_string) -> uri.parse_query(query_string)
- option.None -> Ok([])
- }
-}
-
-// TODO: escape
-/// Set the query of the request.
-///
-pub fn set_query(
- req: Request(body),
- query: List(#(String, String)),
-) -> Request(body) {
- let pair = fn(t: #(String, String)) {
- string_builder.from_strings([t.0, "=", t.1])
- }
- let query =
- query
- |> list.map(pair)
- |> list.intersperse(string_builder.from_string("&"))
- |> string_builder.concat
- |> string_builder.to_string
- |> option.Some
- Request(..req, query: query)
-}
-
-/// Set the method of the request.
-///
-pub fn set_method(req: Request(body), method: Method) -> Request(body) {
- Request(..req, method: method)
-}
-
-/// A request with commonly used default values. This request can be used as
-/// an initial value and then update to create the desired request.
-///
-pub fn new() -> Request(String) {
- Request(
- method: Get,
- headers: [],
- body: "",
- scheme: http.Https,
- host: "localhost",
- port: option.None,
- path: "",
- query: option.None,
- )
-}
-
-/// Construct a request from a URL string
-///
-pub fn to(url: String) -> Result(Request(String), Nil) {
- url
- |> uri.parse
- |> result.then(from_uri)
-}
-
-/// Set the scheme (protocol) of the request.
-///
-pub fn set_scheme(req: Request(body), scheme: Scheme) -> Request(body) {
- Request(..req, scheme: scheme)
-}
-
-/// Set the method of the request.
-///
-pub fn set_host(req: Request(body), host: String) -> Request(body) {
- Request(..req, host: host)
-}
-
-/// Set the port of the request.
-///
-pub fn set_port(req: Request(body), port: Int) -> Request(body) {
- Request(..req, port: option.Some(port))
-}
-
-/// Set the path of the request.
-///
-pub fn set_path(req: Request(body), path: String) -> Request(body) {
- Request(..req, path: path)
-}
-
-/// Send a cookie with a request
-///
-/// Multiple cookies are added to the same cookie header.
-pub fn set_cookie(req: Request(body), name: String, value: String) {
- let new_cookie_string = string.join([name, value], "=")
-
- let #(cookies_string, headers) = case list.key_pop(req.headers, "cookie") {
- Ok(#(cookies_string, headers)) -> {
- let cookies_string =
- string.join([cookies_string, new_cookie_string], "; ")
- #(cookies_string, headers)
- }
- Error(Nil) -> #(new_cookie_string, req.headers)
- }
-
- Request(..req, headers: [#("cookie", cookies_string), ..headers])
-}
-
-/// Fetch the cookies sent in a request.
-///
-/// Note badly formed cookie pairs will be ignored.
-/// RFC6265 specifies that invalid cookie names/attributes should be ignored.
-pub fn get_cookies(req) -> List(#(String, String)) {
- let Request(headers: headers, ..) = req
-
- headers
- |> list.filter_map(fn(header) {
- let #(name, value) = header
- case name {
- "cookie" -> Ok(cookie.parse(value))
- _ -> Error(Nil)
- }
- })
- |> list.flatten()
-}
diff --git a/aoc2023/build/packages/gleam_http/src/gleam/http/response.gleam b/aoc2023/build/packages/gleam_http/src/gleam/http/response.gleam
deleted file mode 100644
index 87f9140..0000000
--- a/aoc2023/build/packages/gleam_http/src/gleam/http/response.gleam
+++ /dev/null
@@ -1,141 +0,0 @@
-import gleam/result
-import gleam/http.{type Header}
-import gleam/http/cookie
-import gleam/list
-import gleam/string
-import gleam/option
-
-// TODO: document
-pub type Response(body) {
- Response(status: Int, headers: List(Header), body: body)
-}
-
-/// Update the body of a response using a given result returning function.
-///
-/// If the given function returns an `Ok` value the body is set, if it returns
-/// an `Error` value then the error is returned.
-///
-pub fn try_map(
- response: Response(old_body),
- transform: fn(old_body) -> Result(new_body, error),
-) -> Result(Response(new_body), error) {
- use body <- result.then(transform(response.body))
- Ok(set_body(response, body))
-}
-
-/// Construct an empty Response.
-///
-/// The body type of the returned response is `String` and could be set with a
-/// call to `set_body`.
-///
-pub fn new(status: Int) -> Response(String) {
- Response(status: status, headers: [], body: "")
-}
-
-/// Get the value for a given header.
-///
-/// If the response does not have that header then `Error(Nil)` is returned.
-///
-pub fn get_header(response: Response(body), key: String) -> Result(String, Nil) {
- list.key_find(response.headers, string.lowercase(key))
-}
-
-/// Set the header with the given value under the given header key.
-///
-/// If the response already has that key, it is replaced.
-pub fn set_header(
- response: Response(body),
- key: String,
- value: String,
-) -> Response(body) {
- let headers = list.key_set(response.headers, string.lowercase(key), value)
- Response(..response, headers: headers)
-}
-
-/// Prepend the header with the given value under the given header key.
-///
-/// Similar to `set_header` except if the header already exists it prepends
-/// another header with the same key.
-pub fn prepend_header(
- response: Response(body),
- key: String,
- value: String,
-) -> Response(body) {
- let headers = [#(string.lowercase(key), value), ..response.headers]
- Response(..response, headers: headers)
-}
-
-/// Set the body of the response, overwriting any existing body.
-///
-pub fn set_body(
- response: Response(old_body),
- body: new_body,
-) -> Response(new_body) {
- let Response(status: status, headers: headers, ..) = response
- Response(status: status, headers: headers, body: body)
-}
-
-/// Update the body of a response using a given function.
-///
-pub fn map(
- response: Response(old_body),
- transform: fn(old_body) -> new_body,
-) -> Response(new_body) {
- response.body
- |> transform
- |> set_body(response, _)
-}
-
-/// Create a response that redirects to the given uri.
-///
-pub fn redirect(uri: String) -> Response(String) {
- Response(
- status: 303,
- headers: [#("location", uri)],
- body: string.append("You are being redirected to ", uri),
- )
-}
-
-/// Fetch the cookies sent in a response.
-///
-/// Badly formed cookies will be discarded.
-///
-pub fn get_cookies(resp) -> List(#(String, String)) {
- let Response(headers: headers, ..) = resp
- headers
- |> list.filter_map(fn(header) {
- let #(name, value) = header
- case name {
- "set-cookie" -> Ok(cookie.parse(value))
- _ -> Error(Nil)
- }
- })
- |> list.flatten()
-}
-
-/// Set a cookie value for a client
-///
-pub fn set_cookie(
- response: Response(t),
- name: String,
- value: String,
- attributes: cookie.Attributes,
-) -> Response(t) {
- prepend_header(
- response,
- "set-cookie",
- cookie.set_header(name, value, attributes),
- )
-}
-
-/// Expire a cookie value for a client
-///
-/// Note: The attributes value should be the same as when the response cookie was set.
-pub fn expire_cookie(
- response: Response(t),
- name: String,
- attributes: cookie.Attributes,
-) -> Response(t) {
- let attrs = cookie.Attributes(..attributes, max_age: option.Some(0))
- set_cookie(response, name, "", attrs)
-}
diff --git a/aoc2023/build/packages/gleam_http/src/gleam/http/service.gleam b/aoc2023/build/packages/gleam_http/src/gleam/http/service.gleam
deleted file mode 100644
index 3dfac87..0000000
--- a/aoc2023/build/packages/gleam_http/src/gleam/http/service.gleam
+++ /dev/null
@@ -1,82 +0,0 @@
-import gleam/http.{Delete, Patch, Post, Put}
-import gleam/http/request.{type Request}
-import gleam/http/response.{type Response}
-import gleam/list
-import gleam/result
-
-// TODO: document
-pub type Service(in, out) =
- fn(Request(in)) -> Response(out)
-
-pub type Middleware(before_req, before_resp, after_req, after_resp) =
- fn(Service(before_req, before_resp)) -> Service(after_req, after_resp)
-
-/// A middleware that transform the response body returned by the service using
-/// a given function.
-///
-pub fn map_response_body(
- service: Service(req, a),
- with mapper: fn(a) -> b,
-) -> Service(req, b) {
- fn(req) {
- req
- |> service
- |> response.map(mapper)
- }
-}
-
-/// A middleware that prepends a header to the request.
-///
-pub fn prepend_response_header(
- service: Service(req, resp),
- key: String,
- value: String,
-) -> Service(req, resp) {
- fn(req) {
- req
- |> service
- |> response.prepend_header(key, value)
- }
-}
-
-fn ensure_post(req: Request(a)) {
- case req.method {
- Post -> Ok(req)
- _ -> Error(Nil)
- }
-}
-
-fn get_override_method(request: Request(t)) -> Result(http.Method, Nil) {
- use query_params <- result.then(request.get_query(request))
- use method <- result.then(list.key_find(query_params, "_method"))
- use method <- result.then(http.parse_method(method))
- case method {
- Put | Patch | Delete -> Ok(method)
- _ -> Error(Nil)
- }
-}
-
-/// A middleware that overrides an incoming POST request with a method given in
-/// the request's `_method` query paramerter. This is useful as web browsers
-/// typically only support GET and POST requests, but our application may
-/// expect other HTTP methods that are more semantically correct.
-///
-/// The methods PUT, PATCH, and DELETE are accepted for overriding, all others
-/// are ignored.
-///
-/// The `_method` query paramerter can be specified in a HTML form like so:
-///
-/// <form method="POST" action="/item/1?_method=DELETE">
-/// <button type="submit">Delete item</button>
-/// </form>
-///
-pub fn method_override(service: Service(req, resp)) -> Service(req, resp) {
- fn(request) {
- request
- |> ensure_post
- |> result.then(get_override_method)
- |> result.map(request.set_method(request, _))
- |> result.unwrap(request)
- |> service
- }
-}
diff --git a/aoc2023/build/packages/gleam_http/src/gleam@http.erl b/aoc2023/build/packages/gleam_http/src/gleam@http.erl
deleted file mode 100644
index 91ee6e8..0000000
--- a/aoc2023/build/packages/gleam_http/src/gleam@http.erl
+++ /dev/null
@@ -1,626 +0,0 @@
--module(gleam@http).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([parse_method/1, method_to_string/1, scheme_to_string/1, scheme_from_string/1, parse_content_disposition/1, parse_multipart_body/2, method_from_dynamic/1, parse_multipart_headers/2]).
--export_type([method/0, scheme/0, multipart_headers/0, multipart_body/0, content_disposition/0]).
-
--type method() :: get |
- post |
- head |
- put |
- delete |
- trace |
- connect |
- options |
- patch |
- {other, binary()}.
-
--type scheme() :: http | https.
-
--type multipart_headers() :: {multipart_headers,
- list({binary(), binary()}),
- bitstring()} |
- {more_required_for_headers,
- fun((bitstring()) -> {ok, multipart_headers()} | {error, nil})}.
-
--type multipart_body() :: {multipart_body, bitstring(), boolean(), bitstring()} |
- {more_required_for_body,
- bitstring(),
- fun((bitstring()) -> {ok, multipart_body()} | {error, nil})}.
-
--type content_disposition() :: {content_disposition,
- binary(),
- list({binary(), binary()})}.
-
--spec parse_method(binary()) -> {ok, method()} | {error, nil}.
-parse_method(S) ->
- case gleam@string:lowercase(S) of
- <<"connect"/utf8>> ->
- {ok, connect};
-
- <<"delete"/utf8>> ->
- {ok, delete};
-
- <<"get"/utf8>> ->
- {ok, get};
-
- <<"head"/utf8>> ->
- {ok, head};
-
- <<"options"/utf8>> ->
- {ok, options};
-
- <<"patch"/utf8>> ->
- {ok, patch};
-
- <<"post"/utf8>> ->
- {ok, post};
-
- <<"put"/utf8>> ->
- {ok, put};
-
- <<"trace"/utf8>> ->
- {ok, trace};
-
- _ ->
- {error, nil}
- end.
-
--spec method_to_string(method()) -> binary().
-method_to_string(Method) ->
- case Method of
- connect ->
- <<"connect"/utf8>>;
-
- delete ->
- <<"delete"/utf8>>;
-
- get ->
- <<"get"/utf8>>;
-
- head ->
- <<"head"/utf8>>;
-
- options ->
- <<"options"/utf8>>;
-
- patch ->
- <<"patch"/utf8>>;
-
- post ->
- <<"post"/utf8>>;
-
- put ->
- <<"put"/utf8>>;
-
- trace ->
- <<"trace"/utf8>>;
-
- {other, S} ->
- S
- end.
-
--spec scheme_to_string(scheme()) -> binary().
-scheme_to_string(Scheme) ->
- case Scheme of
- http ->
- <<"http"/utf8>>;
-
- https ->
- <<"https"/utf8>>
- end.
-
--spec scheme_from_string(binary()) -> {ok, scheme()} | {error, nil}.
-scheme_from_string(Scheme) ->
- case gleam@string:lowercase(Scheme) of
- <<"http"/utf8>> ->
- {ok, http};
-
- <<"https"/utf8>> ->
- {ok, https};
-
- _ ->
- {error, nil}
- end.
-
--spec skip_whitespace(bitstring()) -> bitstring().
-skip_whitespace(Data) ->
- case Data of
- <<32, Data@1/binary>> ->
- skip_whitespace(Data@1);
-
- <<9, Data@1/binary>> ->
- skip_whitespace(Data@1);
-
- _ ->
- Data
- end.
-
--spec more_please_headers(
- fun((bitstring()) -> {ok, multipart_headers()} | {error, nil}),
- bitstring()
-) -> {ok, multipart_headers()} | {error, nil}.
-more_please_headers(Continuation, Existing) ->
- {ok,
- {more_required_for_headers,
- fun(More) ->
- gleam@bool:guard(
- More =:= <<>>,
- {error, nil},
- fun() ->
- Continuation(<<Existing/bitstring, More/bitstring>>)
- end
- )
- end}}.
-
--spec parse_rfc_2045_parameter_quoted_value(binary(), binary(), binary()) -> {ok,
- {{binary(), binary()}, binary()}} |
- {error, nil}.
-parse_rfc_2045_parameter_quoted_value(Header, Name, Value) ->
- case gleam@string:pop_grapheme(Header) of
- {error, nil} ->
- {error, nil};
-
- {ok, {<<"\""/utf8>>, Rest}} ->
- {ok, {{Name, Value}, Rest}};
-
- {ok, {<<"\\"/utf8>>, Rest@1}} ->
- gleam@result:'try'(
- gleam@string:pop_grapheme(Rest@1),
- fun(_use0) ->
- {Grapheme, Rest@2} = _use0,
- parse_rfc_2045_parameter_quoted_value(
- Rest@2,
- Name,
- <<Value/binary, Grapheme/binary>>
- )
- end
- );
-
- {ok, {Grapheme@1, Rest@3}} ->
- parse_rfc_2045_parameter_quoted_value(
- Rest@3,
- Name,
- <<Value/binary, Grapheme@1/binary>>
- )
- end.
-
--spec parse_rfc_2045_parameter_unquoted_value(binary(), binary(), binary()) -> {{binary(),
- binary()},
- binary()}.
-parse_rfc_2045_parameter_unquoted_value(Header, Name, Value) ->
- case gleam@string:pop_grapheme(Header) of
- {error, nil} ->
- {{Name, Value}, Header};
-
- {ok, {<<";"/utf8>>, Rest}} ->
- {{Name, Value}, Rest};
-
- {ok, {<<" "/utf8>>, Rest}} ->
- {{Name, Value}, Rest};
-
- {ok, {<<"\t"/utf8>>, Rest}} ->
- {{Name, Value}, Rest};
-
- {ok, {Grapheme, Rest@1}} ->
- parse_rfc_2045_parameter_unquoted_value(
- Rest@1,
- Name,
- <<Value/binary, Grapheme/binary>>
- )
- end.
-
--spec parse_rfc_2045_parameter_value(binary(), binary()) -> {ok,
- {{binary(), binary()}, binary()}} |
- {error, nil}.
-parse_rfc_2045_parameter_value(Header, Name) ->
- case gleam@string:pop_grapheme(Header) of
- {error, nil} ->
- {error, nil};
-
- {ok, {<<"\""/utf8>>, Rest}} ->
- parse_rfc_2045_parameter_quoted_value(Rest, Name, <<""/utf8>>);
-
- {ok, {Grapheme, Rest@1}} ->
- {ok,
- parse_rfc_2045_parameter_unquoted_value(Rest@1, Name, Grapheme)}
- end.
-
--spec parse_rfc_2045_parameter(binary(), binary()) -> {ok,
- {{binary(), binary()}, binary()}} |
- {error, nil}.
-parse_rfc_2045_parameter(Header, Name) ->
- gleam@result:'try'(
- gleam@string:pop_grapheme(Header),
- fun(_use0) ->
- {Grapheme, Rest} = _use0,
- case Grapheme of
- <<"="/utf8>> ->
- parse_rfc_2045_parameter_value(Rest, Name);
-
- _ ->
- parse_rfc_2045_parameter(
- Rest,
- <<Name/binary,
- (gleam@string:lowercase(Grapheme))/binary>>
- )
- end
- end
- ).
-
--spec parse_rfc_2045_parameters(binary(), list({binary(), binary()})) -> {ok,
- list({binary(), binary()})} |
- {error, nil}.
-parse_rfc_2045_parameters(Header, Parameters) ->
- case gleam@string:pop_grapheme(Header) of
- {error, nil} ->
- {ok, gleam@list:reverse(Parameters)};
-
- {ok, {<<";"/utf8>>, Rest}} ->
- parse_rfc_2045_parameters(Rest, Parameters);
-
- {ok, {<<" "/utf8>>, Rest}} ->
- parse_rfc_2045_parameters(Rest, Parameters);
-
- {ok, {<<"\t"/utf8>>, Rest}} ->
- parse_rfc_2045_parameters(Rest, Parameters);
-
- {ok, {Grapheme, Rest@1}} ->
- Acc = gleam@string:lowercase(Grapheme),
- gleam@result:'try'(
- parse_rfc_2045_parameter(Rest@1, Acc),
- fun(_use0) ->
- {Parameter, Rest@2} = _use0,
- parse_rfc_2045_parameters(Rest@2, [Parameter | Parameters])
- end
- )
- end.
-
--spec parse_content_disposition_type(binary(), binary()) -> {ok,
- content_disposition()} |
- {error, nil}.
-parse_content_disposition_type(Header, Name) ->
- case gleam@string:pop_grapheme(Header) of
- {error, nil} ->
- {ok, {content_disposition, Name, []}};
-
- {ok, {<<" "/utf8>>, Rest}} ->
- Result = parse_rfc_2045_parameters(Rest, []),
- gleam@result:map(
- Result,
- fun(Parameters) -> {content_disposition, Name, Parameters} end
- );
-
- {ok, {<<"\t"/utf8>>, Rest}} ->
- Result = parse_rfc_2045_parameters(Rest, []),
- gleam@result:map(
- Result,
- fun(Parameters) -> {content_disposition, Name, Parameters} end
- );
-
- {ok, {<<";"/utf8>>, Rest}} ->
- Result = parse_rfc_2045_parameters(Rest, []),
- gleam@result:map(
- Result,
- fun(Parameters) -> {content_disposition, Name, Parameters} end
- );
-
- {ok, {Grapheme, Rest@1}} ->
- parse_content_disposition_type(
- Rest@1,
- <<Name/binary, (gleam@string:lowercase(Grapheme))/binary>>
- )
- end.
-
--spec parse_content_disposition(binary()) -> {ok, content_disposition()} |
- {error, nil}.
-parse_content_disposition(Header) ->
- parse_content_disposition_type(Header, <<""/utf8>>).
-
--spec more_please_body(
- fun((bitstring()) -> {ok, multipart_body()} | {error, nil}),
- bitstring(),
- bitstring()
-) -> {ok, multipart_body()} | {error, nil}.
-more_please_body(Continuation, Chunk, Existing) ->
- _pipe = fun(More) ->
- gleam@bool:guard(
- More =:= <<>>,
- {error, nil},
- fun() -> Continuation(<<Existing/bitstring, More/bitstring>>) end
- )
- end,
- _pipe@1 = {more_required_for_body, Chunk, _pipe},
- {ok, _pipe@1}.
-
--spec parse_body_loop(bitstring(), bitstring(), bitstring()) -> {ok,
- multipart_body()} |
- {error, nil}.
-parse_body_loop(Data, Boundary, Body) ->
- Dsize = erlang:byte_size(Data),
- Bsize = erlang:byte_size(Boundary),
- Required = 6 + Bsize,
- case Data of
- _ when Dsize < Required ->
- more_please_body(
- fun(_capture) -> parse_body_loop(_capture, Boundary, <<>>) end,
- Body,
- Data
- );
-
- <<13, 10, Data@1/binary>> ->
- Desired = <<45, 45, Boundary/bitstring>>,
- Size = erlang:byte_size(Desired),
- Dsize@1 = erlang:byte_size(Data@1),
- Prefix = gleam_stdlib:bit_array_slice(Data@1, 0, Size),
- Rest = gleam_stdlib:bit_array_slice(Data@1, Size, Dsize@1 - Size),
- case {Prefix =:= {ok, Desired}, Rest} of
- {true, {ok, <<13, 10, _/binary>>}} ->
- {ok, {multipart_body, Body, false, Data@1}};
-
- {true, {ok, <<45, 45, Data@2/binary>>}} ->
- {ok, {multipart_body, Body, true, Data@2}};
-
- {false, _} ->
- parse_body_loop(
- Data@1,
- Boundary,
- <<Body/bitstring, 13, 10>>
- );
-
- {_, _} ->
- {error, nil}
- end;
-
- <<Char, Data@3/binary>> ->
- parse_body_loop(Data@3, Boundary, <<Body/bitstring, Char>>)
- end.
-
--spec parse_body_with_bit_array(bitstring(), bitstring()) -> {ok,
- multipart_body()} |
- {error, nil}.
-parse_body_with_bit_array(Data, Boundary) ->
- Bsize = erlang:byte_size(Boundary),
- Prefix = gleam_stdlib:bit_array_slice(Data, 0, 2 + Bsize),
- case Prefix =:= {ok, <<45, 45, Boundary/bitstring>>} of
- true ->
- {ok, {multipart_body, <<>>, false, Data}};
-
- false ->
- parse_body_loop(Data, Boundary, <<>>)
- end.
-
--spec parse_multipart_body(bitstring(), binary()) -> {ok, multipart_body()} |
- {error, nil}.
-parse_multipart_body(Data, Boundary) ->
- _pipe = Boundary,
- _pipe@1 = gleam_stdlib:identity(_pipe),
- parse_body_with_bit_array(Data, _pipe@1).
-
--spec method_from_dynamic(gleam@dynamic:dynamic_()) -> {ok, method()} |
- {error, list(gleam@dynamic:decode_error())}.
-method_from_dynamic(Value) ->
- case gleam_http_native:decode_method(Value) of
- {ok, Method} ->
- {ok, Method};
-
- {error, _} ->
- {error,
- [{decode_error,
- <<"HTTP method"/utf8>>,
- gleam@dynamic:classify(Value),
- []}]}
- end.
-
--spec parse_header_value(
- bitstring(),
- list({binary(), binary()}),
- bitstring(),
- bitstring()
-) -> {ok, multipart_headers()} | {error, nil}.
-parse_header_value(Data, Headers, Name, Value) ->
- Size = erlang:byte_size(Data),
- case Data of
- _ when Size < 4 ->
- _pipe@2 = fun(Data@1) -> _pipe = Data@1,
- _pipe@1 = skip_whitespace(_pipe),
- parse_header_value(_pipe@1, Headers, Name, Value) end,
- more_please_headers(_pipe@2, Data);
-
- <<13, 10, 13, 10, Data@2/binary>> ->
- gleam@result:'try'(
- gleam@bit_array:to_string(Name),
- fun(Name@1) ->
- gleam@result:map(
- gleam@bit_array:to_string(Value),
- fun(Value@1) ->
- Headers@1 = gleam@list:reverse(
- [{gleam@string:lowercase(Name@1), Value@1} |
- Headers]
- ),
- {multipart_headers, Headers@1, Data@2}
- end
- )
- end
- );
-
- <<13, 10, 32, Data@3/binary>> ->
- parse_header_value(Data@3, Headers, Name, Value);
-
- <<13, 10, 9, Data@3/binary>> ->
- parse_header_value(Data@3, Headers, Name, Value);
-
- <<13, 10, Data@4/binary>> ->
- gleam@result:'try'(
- gleam@bit_array:to_string(Name),
- fun(Name@2) ->
- gleam@result:'try'(
- gleam@bit_array:to_string(Value),
- fun(Value@2) ->
- Headers@2 = [{gleam@string:lowercase(Name@2),
- Value@2} |
- Headers],
- parse_header_name(Data@4, Headers@2, <<>>)
- end
- )
- end
- );
-
- <<Char, Rest/binary>> ->
- Value@3 = <<Value/bitstring, Char>>,
- parse_header_value(Rest, Headers, Name, Value@3);
-
- _ ->
- {error, nil}
- end.
-
--spec parse_header_name(bitstring(), list({binary(), binary()}), bitstring()) -> {ok,
- multipart_headers()} |
- {error, nil}.
-parse_header_name(Data, Headers, Name) ->
- case skip_whitespace(Data) of
- <<58, Data@1/binary>> ->
- _pipe = Data@1,
- _pipe@1 = skip_whitespace(_pipe),
- parse_header_value(_pipe@1, Headers, Name, <<>>);
-
- <<Char, Data@2/binary>> ->
- parse_header_name(Data@2, Headers, <<Name/bitstring, Char>>);
-
- <<>> ->
- more_please_headers(
- fun(_capture) -> parse_header_name(_capture, Headers, Name) end,
- Data
- )
- end.
-
--spec do_parse_headers(bitstring()) -> {ok, multipart_headers()} | {error, nil}.
-do_parse_headers(Data) ->
- case Data of
- <<13, 10, 13, 10, Data@1/binary>> ->
- {ok, {multipart_headers, [], Data@1}};
-
- <<13, 10, Data@2/binary>> ->
- parse_header_name(Data@2, [], <<>>);
-
- <<13>> ->
- more_please_headers(fun do_parse_headers/1, Data);
-
- <<>> ->
- more_please_headers(fun do_parse_headers/1, Data);
-
- _ ->
- {error, nil}
- end.
-
--spec parse_headers_after_prelude(bitstring(), bitstring()) -> {ok,
- multipart_headers()} |
- {error, nil}.
-parse_headers_after_prelude(Data, Boundary) ->
- Dsize = erlang:byte_size(Data),
- Bsize = erlang:byte_size(Boundary),
- Required_size = Bsize + 4,
- gleam@bool:guard(
- Dsize < Required_size,
- more_please_headers(
- fun(_capture) -> parse_headers_after_prelude(_capture, Boundary) end,
- Data
- ),
- fun() ->
- gleam@result:'try'(
- gleam_stdlib:bit_array_slice(Data, 0, Required_size - 2),
- fun(Prefix) ->
- gleam@result:'try'(
- gleam_stdlib:bit_array_slice(Data, 2 + Bsize, 2),
- fun(Second) ->
- Desired = <<45, 45, Boundary/bitstring>>,
- gleam@bool:guard(
- Prefix /= Desired,
- {error, nil},
- fun() -> case Second =:= <<45, 45>> of
- true ->
- Rest_size = Dsize - Required_size,
- gleam@result:map(
- gleam_stdlib:bit_array_slice(
- Data,
- Required_size,
- Rest_size
- ),
- fun(Data@1) ->
- {multipart_headers,
- [],
- Data@1}
- end
- );
-
- false ->
- Start = Required_size - 2,
- Rest_size@1 = (Dsize - Required_size)
- + 2,
- gleam@result:'try'(
- gleam_stdlib:bit_array_slice(
- Data,
- Start,
- Rest_size@1
- ),
- fun(Data@2) ->
- do_parse_headers(Data@2)
- end
- )
- end end
- )
- end
- )
- end
- )
- end
- ).
-
--spec skip_preamble(bitstring(), bitstring()) -> {ok, multipart_headers()} |
- {error, nil}.
-skip_preamble(Data, Boundary) ->
- Data_size = erlang:byte_size(Data),
- Boundary_size = erlang:byte_size(Boundary),
- Required = Boundary_size + 4,
- case Data of
- _ when Data_size < Required ->
- more_please_headers(
- fun(_capture) -> skip_preamble(_capture, Boundary) end,
- Data
- );
-
- <<13, 10, 45, 45, Data@1/binary>> ->
- case gleam_stdlib:bit_array_slice(Data@1, 0, Boundary_size) of
- {ok, Prefix} when Prefix =:= Boundary ->
- Start = Boundary_size,
- Length = erlang:byte_size(Data@1) - Boundary_size,
- gleam@result:'try'(
- gleam_stdlib:bit_array_slice(Data@1, Start, Length),
- fun(Rest) -> do_parse_headers(Rest) end
- );
-
- {ok, _} ->
- skip_preamble(Data@1, Boundary);
-
- {error, _} ->
- {error, nil}
- end;
-
- <<_, Data@2/binary>> ->
- skip_preamble(Data@2, Boundary)
- end.
-
--spec parse_multipart_headers(bitstring(), binary()) -> {ok,
- multipart_headers()} |
- {error, nil}.
-parse_multipart_headers(Data, Boundary) ->
- Boundary@1 = gleam_stdlib:identity(Boundary),
- Prefix = <<45, 45, Boundary@1/bitstring>>,
- case gleam_stdlib:bit_array_slice(Data, 0, erlang:byte_size(Prefix)) =:= {ok,
- Prefix} of
- true ->
- parse_headers_after_prelude(Data, Boundary@1);
-
- false ->
- skip_preamble(Data, Boundary@1)
- end.
diff --git a/aoc2023/build/packages/gleam_http/src/gleam@http@cookie.erl b/aoc2023/build/packages/gleam_http/src/gleam@http@cookie.erl
deleted file mode 100644
index 9d6d13e..0000000
--- a/aoc2023/build/packages/gleam_http/src/gleam@http@cookie.erl
+++ /dev/null
@@ -1,153 +0,0 @@
--module(gleam@http@cookie).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([defaults/1, set_header/3, parse/1]).
--export_type([same_site_policy/0, attributes/0]).
-
--type same_site_policy() :: lax | strict | none.
-
--type attributes() :: {attributes,
- gleam@option:option(integer()),
- gleam@option:option(binary()),
- gleam@option:option(binary()),
- boolean(),
- boolean(),
- gleam@option:option(same_site_policy())}.
-
--spec same_site_to_string(same_site_policy()) -> binary().
-same_site_to_string(Policy) ->
- case Policy of
- lax ->
- <<"Lax"/utf8>>;
-
- strict ->
- <<"Strict"/utf8>>;
-
- none ->
- <<"None"/utf8>>
- end.
-
--spec defaults(gleam@http:scheme()) -> attributes().
-defaults(Scheme) ->
- {attributes,
- none,
- none,
- {some, <<"/"/utf8>>},
- Scheme =:= https,
- true,
- {some, lax}}.
-
--spec cookie_attributes_to_list(attributes()) -> list(list(binary())).
-cookie_attributes_to_list(Attributes) ->
- {attributes, Max_age, Domain, Path, Secure, Http_only, Same_site} = Attributes,
- _pipe = [case Max_age of
- {some, 0} ->
- {some, [<<"Expires=Thu, 01 Jan 1970 00:00:00 GMT"/utf8>>]};
-
- _ ->
- none
- end, gleam@option:map(
- Max_age,
- fun(Max_age@1) ->
- [<<"Max-Age="/utf8>>, gleam@int:to_string(Max_age@1)]
- end
- ), gleam@option:map(
- Domain,
- fun(Domain@1) -> [<<"Domain="/utf8>>, Domain@1] end
- ), gleam@option:map(Path, fun(Path@1) -> [<<"Path="/utf8>>, Path@1] end), case Secure of
- true ->
- {some, [<<"Secure"/utf8>>]};
-
- false ->
- none
- end, case Http_only of
- true ->
- {some, [<<"HttpOnly"/utf8>>]};
-
- false ->
- none
- end, gleam@option:map(
- Same_site,
- fun(Same_site@1) ->
- [<<"SameSite="/utf8>>, same_site_to_string(Same_site@1)]
- end
- )],
- gleam@list:filter_map(
- _pipe,
- fun(_capture) -> gleam@option:to_result(_capture, nil) end
- ).
-
--spec set_header(binary(), binary(), attributes()) -> binary().
-set_header(Name, Value, Attributes) ->
- _pipe = [[Name, <<"="/utf8>>, Value] |
- cookie_attributes_to_list(Attributes)],
- _pipe@1 = gleam@list:map(
- _pipe,
- fun(_capture) -> gleam@string:join(_capture, <<""/utf8>>) end
- ),
- gleam@string:join(_pipe@1, <<"; "/utf8>>).
-
--spec check_token(binary()) -> {ok, nil} | {error, nil}.
-check_token(Token) ->
- case gleam@string:pop_grapheme(Token) of
- {error, nil} ->
- {ok, nil};
-
- {ok, {<<" "/utf8>>, _}} ->
- {error, nil};
-
- {ok, {<<"\t"/utf8>>, _}} ->
- {error, nil};
-
- {ok, {<<"\r"/utf8>>, _}} ->
- {error, nil};
-
- {ok, {<<"\n"/utf8>>, _}} ->
- {error, nil};
-
- {ok, {<<"\f"/utf8>>, _}} ->
- {error, nil};
-
- {ok, {_, Rest}} ->
- check_token(Rest)
- end.
-
--spec parse(binary()) -> list({binary(), binary()}).
-parse(Cookie_string) ->
- _assert_subject = gleam@regex:from_string(<<"[,;]"/utf8>>),
- {ok, Re} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam/http/cookie"/utf8>>,
- function => <<"parse"/utf8>>,
- line => 101})
- end,
- _pipe = gleam@regex:split(Re, Cookie_string),
- gleam@list:filter_map(
- _pipe,
- fun(Pair) ->
- case gleam@string:split_once(gleam@string:trim(Pair), <<"="/utf8>>) of
- {ok, {<<""/utf8>>, _}} ->
- {error, nil};
-
- {ok, {Key, Value}} ->
- Key@1 = gleam@string:trim(Key),
- Value@1 = gleam@string:trim(Value),
- gleam@result:then(
- check_token(Key@1),
- fun(_) ->
- gleam@result:then(
- check_token(Value@1),
- fun(_) -> {ok, {Key@1, Value@1}} end
- )
- end
- );
-
- {error, nil} ->
- {error, nil}
- end
- end
- ).
diff --git a/aoc2023/build/packages/gleam_http/src/gleam@http@request.erl b/aoc2023/build/packages/gleam_http/src/gleam@http@request.erl
deleted file mode 100644
index 630788d..0000000
--- a/aoc2023/build/packages/gleam_http/src/gleam@http@request.erl
+++ /dev/null
@@ -1,202 +0,0 @@
--module(gleam@http@request).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([to_uri/1, from_uri/1, get_header/2, set_header/3, prepend_header/3, set_body/2, map/2, path_segments/1, get_query/1, set_query/2, set_method/2, new/0, to/1, set_scheme/2, set_host/2, set_port/2, set_path/2, set_cookie/3, get_cookies/1]).
--export_type([request/1]).
-
--type request(FYJ) :: {request,
- gleam@http:method(),
- list({binary(), binary()}),
- FYJ,
- gleam@http:scheme(),
- binary(),
- gleam@option:option(integer()),
- binary(),
- gleam@option:option(binary())}.
-
--spec to_uri(request(any())) -> gleam@uri:uri().
-to_uri(Request) ->
- {uri,
- {some, gleam@http:scheme_to_string(erlang:element(5, Request))},
- none,
- {some, erlang:element(6, Request)},
- erlang:element(7, Request),
- erlang:element(8, Request),
- erlang:element(9, Request),
- none}.
-
--spec from_uri(gleam@uri:uri()) -> {ok, request(binary())} | {error, nil}.
-from_uri(Uri) ->
- gleam@result:then(
- begin
- _pipe = erlang:element(2, Uri),
- _pipe@1 = gleam@option:unwrap(_pipe, <<""/utf8>>),
- gleam@http:scheme_from_string(_pipe@1)
- end,
- fun(Scheme) ->
- gleam@result:then(
- begin
- _pipe@2 = erlang:element(4, Uri),
- gleam@option:to_result(_pipe@2, nil)
- end,
- fun(Host) ->
- Req = {request,
- get,
- [],
- <<""/utf8>>,
- Scheme,
- Host,
- erlang:element(5, Uri),
- erlang:element(6, Uri),
- erlang:element(7, Uri)},
- {ok, Req}
- end
- )
- end
- ).
-
--spec get_header(request(any()), binary()) -> {ok, binary()} | {error, nil}.
-get_header(Request, Key) ->
- gleam@list:key_find(erlang:element(3, Request), gleam@string:lowercase(Key)).
-
--spec set_header(request(FYT), binary(), binary()) -> request(FYT).
-set_header(Request, Key, Value) ->
- Headers = gleam@list:key_set(
- erlang:element(3, Request),
- gleam@string:lowercase(Key),
- Value
- ),
- erlang:setelement(3, Request, Headers).
-
--spec prepend_header(request(FYW), binary(), binary()) -> request(FYW).
-prepend_header(Request, Key, Value) ->
- Headers = [{gleam@string:lowercase(Key), Value} |
- erlang:element(3, Request)],
- erlang:setelement(3, Request, Headers).
-
--spec set_body(request(any()), FZB) -> request(FZB).
-set_body(Req, Body) ->
- {request, Method, Headers, _, Scheme, Host, Port, Path, Query} = Req,
- {request, Method, Headers, Body, Scheme, Host, Port, Path, Query}.
-
--spec map(request(FZD), fun((FZD) -> FZF)) -> request(FZF).
-map(Request, Transform) ->
- _pipe = erlang:element(4, Request),
- _pipe@1 = Transform(_pipe),
- set_body(Request, _pipe@1).
-
--spec path_segments(request(any())) -> list(binary()).
-path_segments(Request) ->
- _pipe = erlang:element(8, Request),
- gleam@uri:path_segments(_pipe).
-
--spec get_query(request(any())) -> {ok, list({binary(), binary()})} |
- {error, nil}.
-get_query(Request) ->
- case erlang:element(9, Request) of
- {some, Query_string} ->
- gleam@uri:parse_query(Query_string);
-
- none ->
- {ok, []}
- end.
-
--spec set_query(request(FZP), list({binary(), binary()})) -> request(FZP).
-set_query(Req, Query) ->
- Pair = fun(T) ->
- gleam@string_builder:from_strings(
- [erlang:element(1, T), <<"="/utf8>>, erlang:element(2, T)]
- )
- end,
- Query@1 = begin
- _pipe = Query,
- _pipe@1 = gleam@list:map(_pipe, Pair),
- _pipe@2 = gleam@list:intersperse(
- _pipe@1,
- gleam@string_builder:from_string(<<"&"/utf8>>)
- ),
- _pipe@3 = gleam@string_builder:concat(_pipe@2),
- _pipe@4 = gleam@string_builder:to_string(_pipe@3),
- {some, _pipe@4}
- end,
- erlang:setelement(9, Req, Query@1).
-
--spec set_method(request(FZT), gleam@http:method()) -> request(FZT).
-set_method(Req, Method) ->
- erlang:setelement(2, Req, Method).
-
--spec new() -> request(binary()).
-new() ->
- {request,
- get,
- [],
- <<""/utf8>>,
- https,
- <<"localhost"/utf8>>,
- none,
- <<""/utf8>>,
- none}.
-
--spec to(binary()) -> {ok, request(binary())} | {error, nil}.
-to(Url) ->
- _pipe = Url,
- _pipe@1 = gleam@uri:parse(_pipe),
- gleam@result:then(_pipe@1, fun from_uri/1).
-
--spec set_scheme(request(GAA), gleam@http:scheme()) -> request(GAA).
-set_scheme(Req, Scheme) ->
- erlang:setelement(5, Req, Scheme).
-
--spec set_host(request(GAD), binary()) -> request(GAD).
-set_host(Req, Host) ->
- erlang:setelement(6, Req, Host).
-
--spec set_port(request(GAG), integer()) -> request(GAG).
-set_port(Req, Port) ->
- erlang:setelement(7, Req, {some, Port}).
-
--spec set_path(request(GAJ), binary()) -> request(GAJ).
-set_path(Req, Path) ->
- erlang:setelement(8, Req, Path).
-
--spec set_cookie(request(GAM), binary(), binary()) -> request(GAM).
-set_cookie(Req, Name, Value) ->
- New_cookie_string = gleam@string:join([Name, Value], <<"="/utf8>>),
- {Cookies_string@2, Headers@1} = case gleam@list:key_pop(
- erlang:element(3, Req),
- <<"cookie"/utf8>>
- ) of
- {ok, {Cookies_string, Headers}} ->
- Cookies_string@1 = gleam@string:join(
- [Cookies_string, New_cookie_string],
- <<"; "/utf8>>
- ),
- {Cookies_string@1, Headers};
-
- {error, nil} ->
- {New_cookie_string, erlang:element(3, Req)}
- end,
- erlang:setelement(
- 3,
- Req,
- [{<<"cookie"/utf8>>, Cookies_string@2} | Headers@1]
- ).
-
--spec get_cookies(request(any())) -> list({binary(), binary()}).
-get_cookies(Req) ->
- {request, _, Headers, _, _, _, _, _, _} = Req,
- _pipe = Headers,
- _pipe@1 = gleam@list:filter_map(
- _pipe,
- fun(Header) ->
- {Name, Value} = Header,
- case Name of
- <<"cookie"/utf8>> ->
- {ok, gleam@http@cookie:parse(Value)};
-
- _ ->
- {error, nil}
- end
- end
- ),
- gleam@list:flatten(_pipe@1).
diff --git a/aoc2023/build/packages/gleam_http/src/gleam@http@response.erl b/aoc2023/build/packages/gleam_http/src/gleam@http@response.erl
deleted file mode 100644
index b073c1d..0000000
--- a/aoc2023/build/packages/gleam_http/src/gleam@http@response.erl
+++ /dev/null
@@ -1,97 +0,0 @@
--module(gleam@http@response).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([new/1, get_header/2, set_header/3, prepend_header/3, set_body/2, try_map/2, map/2, redirect/1, get_cookies/1, set_cookie/4, expire_cookie/3]).
--export_type([response/1]).
-
--type response(GFN) :: {response, integer(), list({binary(), binary()}), GFN}.
-
--spec new(integer()) -> response(binary()).
-new(Status) ->
- {response, Status, [], <<""/utf8>>}.
-
--spec get_header(response(any()), binary()) -> {ok, binary()} | {error, nil}.
-get_header(Response, Key) ->
- gleam@list:key_find(
- erlang:element(3, Response),
- gleam@string:lowercase(Key)
- ).
-
--spec set_header(response(GGC), binary(), binary()) -> response(GGC).
-set_header(Response, Key, Value) ->
- Headers = gleam@list:key_set(
- erlang:element(3, Response),
- gleam@string:lowercase(Key),
- Value
- ),
- erlang:setelement(3, Response, Headers).
-
--spec prepend_header(response(GGF), binary(), binary()) -> response(GGF).
-prepend_header(Response, Key, Value) ->
- Headers = [{gleam@string:lowercase(Key), Value} |
- erlang:element(3, Response)],
- erlang:setelement(3, Response, Headers).
-
--spec set_body(response(any()), GGK) -> response(GGK).
-set_body(Response, Body) ->
- {response, Status, Headers, _} = Response,
- {response, Status, Headers, Body}.
-
--spec try_map(response(GFO), fun((GFO) -> {ok, GFQ} | {error, GFR})) -> {ok,
- response(GFQ)} |
- {error, GFR}.
-try_map(Response, Transform) ->
- gleam@result:then(
- Transform(erlang:element(4, Response)),
- fun(Body) -> {ok, set_body(Response, Body)} end
- ).
-
--spec map(response(GGM), fun((GGM) -> GGO)) -> response(GGO).
-map(Response, Transform) ->
- _pipe = erlang:element(4, Response),
- _pipe@1 = Transform(_pipe),
- set_body(Response, _pipe@1).
-
--spec redirect(binary()) -> response(binary()).
-redirect(Uri) ->
- {response,
- 303,
- [{<<"location"/utf8>>, Uri}],
- gleam@string:append(<<"You are being redirected to "/utf8>>, Uri)}.
-
--spec get_cookies(response(any())) -> list({binary(), binary()}).
-get_cookies(Resp) ->
- {response, _, Headers, _} = Resp,
- _pipe = Headers,
- _pipe@1 = gleam@list:filter_map(
- _pipe,
- fun(Header) ->
- {Name, Value} = Header,
- case Name of
- <<"set-cookie"/utf8>> ->
- {ok, gleam@http@cookie:parse(Value)};
-
- _ ->
- {error, nil}
- end
- end
- ),
- gleam@list:flatten(_pipe@1).
-
--spec set_cookie(
- response(GGT),
- binary(),
- binary(),
- gleam@http@cookie:attributes()
-) -> response(GGT).
-set_cookie(Response, Name, Value, Attributes) ->
- prepend_header(
- Response,
- <<"set-cookie"/utf8>>,
- gleam@http@cookie:set_header(Name, Value, Attributes)
- ).
-
--spec expire_cookie(response(GGW), binary(), gleam@http@cookie:attributes()) -> response(GGW).
-expire_cookie(Response, Name, Attributes) ->
- Attrs = erlang:setelement(2, Attributes, {some, 0}),
- set_cookie(Response, Name, <<""/utf8>>, Attrs).
diff --git a/aoc2023/build/packages/gleam_http/src/gleam@http@service.erl b/aoc2023/build/packages/gleam_http/src/gleam@http@service.erl
deleted file mode 100644
index d07b31f..0000000
--- a/aoc2023/build/packages/gleam_http/src/gleam@http@service.erl
+++ /dev/null
@@ -1,82 +0,0 @@
--module(gleam@http@service).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([map_response_body/2, prepend_response_header/3, method_override/1]).
-
--spec map_response_body(
- fun((gleam@http@request:request(GJL)) -> gleam@http@response:response(GJM)),
- fun((GJM) -> GJP)
-) -> fun((gleam@http@request:request(GJL)) -> gleam@http@response:response(GJP)).
-map_response_body(Service, Mapper) ->
- fun(Req) -> _pipe = Req,
- _pipe@1 = Service(_pipe),
- gleam@http@response:map(_pipe@1, Mapper) end.
-
--spec prepend_response_header(
- fun((gleam@http@request:request(GJS)) -> gleam@http@response:response(GJT)),
- binary(),
- binary()
-) -> fun((gleam@http@request:request(GJS)) -> gleam@http@response:response(GJT)).
-prepend_response_header(Service, Key, Value) ->
- fun(Req) -> _pipe = Req,
- _pipe@1 = Service(_pipe),
- gleam@http@response:prepend_header(_pipe@1, Key, Value) end.
-
--spec ensure_post(gleam@http@request:request(GJY)) -> {ok,
- gleam@http@request:request(GJY)} |
- {error, nil}.
-ensure_post(Req) ->
- case erlang:element(2, Req) of
- post ->
- {ok, Req};
-
- _ ->
- {error, nil}
- end.
-
--spec get_override_method(gleam@http@request:request(any())) -> {ok,
- gleam@http:method()} |
- {error, nil}.
-get_override_method(Request) ->
- gleam@result:then(
- gleam@http@request:get_query(Request),
- fun(Query_params) ->
- gleam@result:then(
- gleam@list:key_find(Query_params, <<"_method"/utf8>>),
- fun(Method) ->
- gleam@result:then(
- gleam@http:parse_method(Method),
- fun(Method@1) -> case Method@1 of
- put ->
- {ok, Method@1};
-
- patch ->
- {ok, Method@1};
-
- delete ->
- {ok, Method@1};
-
- _ ->
- {error, nil}
- end end
- )
- end
- )
- end
- ).
-
--spec method_override(
- fun((gleam@http@request:request(GKF)) -> gleam@http@response:response(GKG))
-) -> fun((gleam@http@request:request(GKF)) -> gleam@http@response:response(GKG)).
-method_override(Service) ->
- fun(Request) -> _pipe = Request,
- _pipe@1 = ensure_post(_pipe),
- _pipe@2 = gleam@result:then(_pipe@1, fun get_override_method/1),
- _pipe@3 = gleam@result:map(
- _pipe@2,
- fun(_capture) ->
- gleam@http@request:set_method(Request, _capture)
- end
- ),
- _pipe@4 = gleam@result:unwrap(_pipe@3, Request),
- Service(_pipe@4) end.
diff --git a/aoc2023/build/packages/gleam_http/src/gleam_http.app.src b/aoc2023/build/packages/gleam_http/src/gleam_http.app.src
deleted file mode 100644
index c37ad54..0000000
--- a/aoc2023/build/packages/gleam_http/src/gleam_http.app.src
+++ /dev/null
@@ -1,12 +0,0 @@
-{application, gleam_http, [
- {vsn, "3.5.2"},
- {applications, [gleam_stdlib,
- gleeunit]},
- {description, "Types and functions for Gleam HTTP clients and servers"},
- {modules, [gleam@http,
- gleam@http@cookie,
- gleam@http@request,
- gleam@http@response,
- gleam@http@service]},
- {registered, []}
-]}.
diff --git a/aoc2023/build/packages/gleam_http/src/gleam_http_native.erl b/aoc2023/build/packages/gleam_http/src/gleam_http_native.erl
deleted file mode 100644
index bb499bb..0000000
--- a/aoc2023/build/packages/gleam_http/src/gleam_http_native.erl
+++ /dev/null
@@ -1,88 +0,0 @@
--module(gleam_http_native).
--export([decode_method/1]).
-
-decode_method(Term) ->
- case Term of
- "connect" -> {ok, connect};
- "delete" -> {ok, delete};
- "get" -> {ok, get};
- "head" -> {ok, head};
- "options" -> {ok, options};
- "patch" -> {ok, patch};
- "post" -> {ok, post};
- "put" -> {ok, put};
- "trace" -> {ok, trace};
- "CONNECT" -> {ok, connect};
- "DELETE" -> {ok, delete};
- "GET" -> {ok, get};
- "HEAD" -> {ok, head};
- "OPTIONS" -> {ok, options};
- "PATCH" -> {ok, patch};
- "POST" -> {ok, post};
- "PUT" -> {ok, put};
- "TRACE" -> {ok, trace};
- "Connect" -> {ok, connect};
- "Delete" -> {ok, delete};
- "Get" -> {ok, get};
- "Head" -> {ok, head};
- "Options" -> {ok, options};
- "Patch" -> {ok, patch};
- "Post" -> {ok, post};
- "Put" -> {ok, put};
- "Trace" -> {ok, trace};
- 'connect' -> {ok, connect};
- 'delete' -> {ok, delete};
- 'get' -> {ok, get};
- 'head' -> {ok, head};
- 'options' -> {ok, options};
- 'patch' -> {ok, patch};
- 'post' -> {ok, post};
- 'put' -> {ok, put};
- 'trace' -> {ok, trace};
- 'CONNECT' -> {ok, connect};
- 'DELETE' -> {ok, delete};
- 'GET' -> {ok, get};
- 'HEAD' -> {ok, head};
- 'OPTIONS' -> {ok, options};
- 'PATCH' -> {ok, patch};
- 'POST' -> {ok, post};
- 'PUT' -> {ok, put};
- 'TRACE' -> {ok, trace};
- 'Connect' -> {ok, connect};
- 'Delete' -> {ok, delete};
- 'Get' -> {ok, get};
- 'Head' -> {ok, head};
- 'Options' -> {ok, options};
- 'Patch' -> {ok, patch};
- 'Post' -> {ok, post};
- 'Put' -> {ok, put};
- 'Trace' -> {ok, trace};
- <<"connect">> -> {ok, connect};
- <<"delete">> -> {ok, delete};
- <<"get">> -> {ok, get};
- <<"head">> -> {ok, head};
- <<"options">> -> {ok, options};
- <<"patch">> -> {ok, patch};
- <<"post">> -> {ok, post};
- <<"put">> -> {ok, put};
- <<"trace">> -> {ok, trace};
- <<"CONNECT">> -> {ok, connect};
- <<"DELETE">> -> {ok, delete};
- <<"GET">> -> {ok, get};
- <<"HEAD">> -> {ok, head};
- <<"OPTIONS">> -> {ok, options};
- <<"PATCH">> -> {ok, patch};
- <<"POST">> -> {ok, post};
- <<"PUT">> -> {ok, put};
- <<"TRACE">> -> {ok, trace};
- <<"Connect">> -> {ok, connect};
- <<"Delete">> -> {ok, delete};
- <<"Get">> -> {ok, get};
- <<"Head">> -> {ok, head};
- <<"Options">> -> {ok, options};
- <<"Patch">> -> {ok, patch};
- <<"Post">> -> {ok, post};
- <<"Put">> -> {ok, put};
- <<"Trace">> -> {ok, trace};
- _ -> {error, nil}
- end.
diff --git a/aoc2023/build/packages/gleam_http/src/gleam_http_native.mjs b/aoc2023/build/packages/gleam_http/src/gleam_http_native.mjs
deleted file mode 100644
index c871a8b..0000000
--- a/aoc2023/build/packages/gleam_http/src/gleam_http_native.mjs
+++ /dev/null
@@ -1,38 +0,0 @@
-import { Ok, Error } from "./gleam.mjs";
-import {
- Get,
- Post,
- Head,
- Put,
- Delete,
- Trace,
- Connect,
- Options,
- Patch,
-} from "./gleam/http.mjs";
-
-export function decode_method(value) {
- try {
- switch (value.toLowerCase()) {
- case "get":
- return new Ok(new Get());
- case "post":
- return new Ok(new Post());
- case "head":
- return new Ok(new Head());
- case "put":
- return new Ok(new Put());
- case "delete":
- return new Ok(new Delete());
- case "trace":
- return new Ok(new Trace());
- case "connect":
- return new Ok(new Connect());
- case "options":
- return new Ok(new Options());
- case "patch":
- return new Ok(new Patch());
- }
- } catch {}
- return new Error(undefined);
-}
diff --git a/aoc2023/build/packages/gleam_httpc/LICENSE b/aoc2023/build/packages/gleam_httpc/LICENSE
deleted file mode 100644
index 59e1345..0000000
--- a/aoc2023/build/packages/gleam_httpc/LICENSE
+++ /dev/null
@@ -1,191 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- Copyright {{copyright_year}}, {{author_name}} <{{author_email}}>.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
diff --git a/aoc2023/build/packages/gleam_httpc/README.md b/aoc2023/build/packages/gleam_httpc/README.md
deleted file mode 100644
index c2363c5..0000000
--- a/aoc2023/build/packages/gleam_httpc/README.md
+++ /dev/null
@@ -1,52 +0,0 @@
-# httpc
-<a href="https://github.com/gleam-lang/httpc/releases"><img src="https://img.shields.io/github/release/gleam-lang/httpc" alt="GitHub release"></a>
-<a href="https://discord.gg/Fm8Pwmy"><img src="https://img.shields.io/discord/768594524158427167?color=blue" alt="Discord chat"></a>
-![CI](https://github.com/gleam-lang/httpc/workflows/test/badge.svg?branch=main)
-
-Bindings to Erlang's built in HTTP client, `httpc`.
-
-```gleam
-import gleam/httpc
-import gleam/http.{Get}
-import gleam/http/request
-import gleam/http/response
-import gleeunit/should
-
-pub fn main() {
- // Prepare a HTTP request record
- let request = request.new()
- |> request.set_method(Get)
- |> request.set_host("test-api.service.hmrc.gov.uk")
- |> request.set_path("/hello/world")
- |> request.prepend_header("accept", "application/vnd.hmrc.1.0+json")
-
- // Send the HTTP request to the server
- try resp = httpc.send(req)
-
- // We get a response record back
- resp.status
- |> should.equal(200)
-
- resp
- |> response.get_header("content-type")
- |> should.equal(Ok("application/json"))
-
- resp.body
- |> should.equal("{\"message\":\"Hello World\"}")
-
- Ok(resp)
-}
-```
-
-## Installation
-
-```shell
-gleam add gleam_httpc
-```
-
-## Use with Erlang/OTP versions older than 26.0
-
-Older versions of HTTPC do not verify TLS connections by default, so with them
-your connection may not be secure when using this library. Consider upgrading to
-a newer version of Erlang/OTP, or using a different HTTP client such as
-[hackney](https://github.com/gleam-lang/hackney).
diff --git a/aoc2023/build/packages/gleam_httpc/gleam.toml b/aoc2023/build/packages/gleam_httpc/gleam.toml
deleted file mode 100644
index d623a94..0000000
--- a/aoc2023/build/packages/gleam_httpc/gleam.toml
+++ /dev/null
@@ -1,23 +0,0 @@
-name = "gleam_httpc"
-version = "2.1.1"
-gleam = ">= 0.32.0"
-
-licences = ["Apache-2.0"]
-description = "Gleam bindings to Erlang's built in HTTP client, httpc"
-
-repository = { type = "github", user = "gleam-lang", repo = "httpc" }
-links = [
- { title = "Website", href = "https://gleam.run" },
- { title = "Sponsor", href = "https://github.com/sponsors/lpil" },
-]
-
-[erlang]
-extra_applications = ["inets", "ssl"]
-
-[dependencies]
-gleam_stdlib = "~> 0.32"
-gleam_http = "~> 3.0"
-
-[dev-dependencies]
-gleeunit = "~> 0.6"
-gleam_erlang = "~> 0.9"
diff --git a/aoc2023/build/packages/gleam_httpc/src/gleam/httpc.gleam b/aoc2023/build/packages/gleam_httpc/src/gleam/httpc.gleam
deleted file mode 100644
index cf166c3..0000000
--- a/aoc2023/build/packages/gleam_httpc/src/gleam/httpc.gleam
+++ /dev/null
@@ -1,105 +0,0 @@
-import gleam/dynamic.{type Dynamic}
-import gleam/http.{type Method}
-import gleam/http/response.{type Response, Response}
-import gleam/http/request.{type Request}
-import gleam/bit_array
-import gleam/result
-import gleam/list
-import gleam/uri
-
-type Charlist
-
-@external(erlang, "erlang", "binary_to_list")
-fn binary_to_list(a: String) -> Charlist
-
-@external(erlang, "erlang", "list_to_binary")
-fn list_to_binary(a: Charlist) -> String
-
-type ErlHttpOption
-
-type BodyFormat {
- Binary
-}
-
-type ErlOption {
- BodyFormat(BodyFormat)
-}
-
-@external(erlang, "httpc", "request")
-fn erl_request(
- a: Method,
- b: #(Charlist, List(#(Charlist, Charlist)), Charlist, BitArray),
- c: List(ErlHttpOption),
- d: List(ErlOption),
-) -> Result(
- #(#(Charlist, Int, Charlist), List(#(Charlist, Charlist)), BitArray),
- Dynamic,
-)
-
-@external(erlang, "httpc", "request")
-fn erl_request_no_body(
- a: Method,
- b: #(Charlist, List(#(Charlist, Charlist))),
- c: List(ErlHttpOption),
- d: List(ErlOption),
-) -> Result(
- #(#(Charlist, Int, Charlist), List(#(Charlist, Charlist)), BitArray),
- Dynamic,
-)
-
-fn charlist_header(header: #(String, String)) -> #(Charlist, Charlist) {
- let #(k, v) = header
- #(binary_to_list(k), binary_to_list(v))
-}
-
-fn string_header(header: #(Charlist, Charlist)) -> #(String, String) {
- let #(k, v) = header
- #(list_to_binary(k), list_to_binary(v))
-}
-
-// TODO: test
-// TODO: refine error type
-pub fn send_bits(req: Request(BitArray)) -> Result(Response(BitArray), Dynamic) {
- let erl_url =
- req
- |> request.to_uri
- |> uri.to_string
- |> binary_to_list
- let erl_headers = list.map(req.headers, charlist_header)
- let erl_http_options = []
- let erl_options = [BodyFormat(Binary)]
-
- use response <- result.then(case req.method {
- http.Options | http.Head | http.Get -> {
- let erl_req = #(erl_url, erl_headers)
- erl_request_no_body(req.method, erl_req, erl_http_options, erl_options)
- }
- _ -> {
- let erl_content_type =
- req
- |> request.get_header("content-type")
- |> result.unwrap("application/octet-stream")
- |> binary_to_list
- let erl_req = #(erl_url, erl_headers, erl_content_type, req.body)
- erl_request(req.method, erl_req, erl_http_options, erl_options)
- }
- })
-
- let #(#(_version, status, _status), headers, resp_body) = response
- Ok(Response(status, list.map(headers, string_header), resp_body))
-}
-
-// TODO: test
-// TODO: refine error type
-pub fn send(req: Request(String)) -> Result(Response(String), Dynamic) {
- use resp <- result.then(
- req
- |> request.map(bit_array.from_string)
- |> send_bits,
- )
-
- case bit_array.to_string(resp.body) {
- Ok(body) -> Ok(response.set_body(resp, body))
- Error(_) -> Error(dynamic.from("Response body was not valid UTF-8"))
- }
-}
diff --git a/aoc2023/build/packages/gleam_httpc/src/gleam@httpc.erl b/aoc2023/build/packages/gleam_httpc/src/gleam@httpc.erl
deleted file mode 100644
index 1d634df..0000000
--- a/aoc2023/build/packages/gleam_httpc/src/gleam@httpc.erl
+++ /dev/null
@@ -1,118 +0,0 @@
--module(gleam@httpc).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([send_bits/1, send/1]).
--export_type([charlist/0, erl_http_option/0, body_format/0, erl_option/0]).
-
--type charlist() :: any().
-
--type erl_http_option() :: any().
-
--type body_format() :: binary.
-
--type erl_option() :: {body_format, body_format()}.
-
--spec charlist_header({binary(), binary()}) -> {charlist(), charlist()}.
-charlist_header(Header) ->
- {K, V} = Header,
- {erlang:binary_to_list(K), erlang:binary_to_list(V)}.
-
--spec string_header({charlist(), charlist()}) -> {binary(), binary()}.
-string_header(Header) ->
- {K, V} = Header,
- {erlang:list_to_binary(K), erlang:list_to_binary(V)}.
-
--spec send_bits(gleam@http@request:request(bitstring())) -> {ok,
- gleam@http@response:response(bitstring())} |
- {error, gleam@dynamic:dynamic_()}.
-send_bits(Req) ->
- Erl_url = begin
- _pipe = Req,
- _pipe@1 = gleam@http@request:to_uri(_pipe),
- _pipe@2 = gleam@uri:to_string(_pipe@1),
- erlang:binary_to_list(_pipe@2)
- end,
- Erl_headers = gleam@list:map(erlang:element(3, Req), fun charlist_header/1),
- Erl_http_options = [],
- Erl_options = [{body_format, binary}],
- gleam@result:then(case erlang:element(2, Req) of
- options ->
- Erl_req = {Erl_url, Erl_headers},
- httpc:request(
- erlang:element(2, Req),
- Erl_req,
- Erl_http_options,
- Erl_options
- );
-
- head ->
- Erl_req = {Erl_url, Erl_headers},
- httpc:request(
- erlang:element(2, Req),
- Erl_req,
- Erl_http_options,
- Erl_options
- );
-
- get ->
- Erl_req = {Erl_url, Erl_headers},
- httpc:request(
- erlang:element(2, Req),
- Erl_req,
- Erl_http_options,
- Erl_options
- );
-
- _ ->
- Erl_content_type = begin
- _pipe@3 = Req,
- _pipe@4 = gleam@http@request:get_header(
- _pipe@3,
- <<"content-type"/utf8>>
- ),
- _pipe@5 = gleam@result:unwrap(
- _pipe@4,
- <<"application/octet-stream"/utf8>>
- ),
- erlang:binary_to_list(_pipe@5)
- end,
- Erl_req@1 = {Erl_url,
- Erl_headers,
- Erl_content_type,
- erlang:element(4, Req)},
- httpc:request(
- erlang:element(2, Req),
- Erl_req@1,
- Erl_http_options,
- Erl_options
- )
- end, fun(Response) ->
- {{_, Status, _}, Headers, Resp_body} = Response,
- {ok,
- {response,
- Status,
- gleam@list:map(Headers, fun string_header/1),
- Resp_body}}
- end).
-
--spec send(gleam@http@request:request(binary())) -> {ok,
- gleam@http@response:response(binary())} |
- {error, gleam@dynamic:dynamic_()}.
-send(Req) ->
- gleam@result:then(
- begin
- _pipe = Req,
- _pipe@1 = gleam@http@request:map(_pipe, fun gleam_stdlib:identity/1),
- send_bits(_pipe@1)
- end,
- fun(Resp) -> case gleam@bit_array:to_string(erlang:element(4, Resp)) of
- {ok, Body} ->
- {ok, gleam@http@response:set_body(Resp, Body)};
-
- {error, _} ->
- {error,
- gleam@dynamic:from(
- <<"Response body was not valid UTF-8"/utf8>>
- )}
- end end
- ).
diff --git a/aoc2023/build/packages/gleam_httpc/src/gleam_httpc.app.src b/aoc2023/build/packages/gleam_httpc/src/gleam_httpc.app.src
deleted file mode 100644
index c0d2b20..0000000
--- a/aoc2023/build/packages/gleam_httpc/src/gleam_httpc.app.src
+++ /dev/null
@@ -1,12 +0,0 @@
-{application, gleam_httpc, [
- {vsn, "2.1.1"},
- {applications, [gleam_erlang,
- gleam_http,
- gleam_stdlib,
- gleeunit,
- inets,
- ssl]},
- {description, "Gleam bindings to Erlang's built in HTTP client, httpc"},
- {modules, [gleam@httpc]},
- {registered, []}
-]}.
diff --git a/aoc2023/build/packages/gleam_otp/LICENCE b/aoc2023/build/packages/gleam_otp/LICENCE
deleted file mode 100644
index 619ec77..0000000
--- a/aoc2023/build/packages/gleam_otp/LICENCE
+++ /dev/null
@@ -1,191 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- Copyright 2019, Louis Pilfold <louis@lpil.uk>.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
diff --git a/aoc2023/build/packages/gleam_otp/README.md b/aoc2023/build/packages/gleam_otp/README.md
deleted file mode 100644
index 3c313a1..0000000
--- a/aoc2023/build/packages/gleam_otp/README.md
+++ /dev/null
@@ -1,91 +0,0 @@
-# Gleam OTP
-
-<a href="https://github.com/gleam-lang/otp/releases"><img src="https://img.shields.io/github/release/gleam-lang/otp" alt="GitHub release"></a>
-<a href="https://discord.gg/Fm8Pwmy"><img src="https://img.shields.io/discord/768594524158427167?color=blue" alt="Discord chat"></a>
-![CI](https://github.com/gleam-lang/otp/workflows/test/badge.svg?branch=main)
-
-A Gleam library for building fault tolerant multi-core programs using the
-actor model. It is compatible with Erlang's OTP framework.
-
-This library is experimental and will likely have many breaking changes in the
-future!
-
-Gleam’s actor system is built with a few primary goals:
-
-- Full type safety of actors and messages.
-- Be compatible with Erlang’s OTP actor framework.
-- Provide fault tolerance and self-healing through supervisors.
-- Have equivalent performance to Erlang’s OTP.
-
-This library documents its abstractions and functionality, but you may also wish
-to read the documentation or other material on Erlang’s OTP framework to get a
-fuller understanding of OTP, the problems it solves, and and the motivations for
-its design.
-
-## Usage
-
-Add this library to your Gleam project.
-
-```shell
-gleam add gleam_otp
-```
-
-## Actor hierarchy
-
-This library provides several different types of actor that can be used in
-Gleam programs.
-
-### Process
-
-The process is the lowest level building block of OTP, all other actors are
-built on top of processes either directly or indirectly. Typically this
-abstraction would be not be used very often in Gleam applications, favour
-other actor types that provide more functionality.
-
-Gleam's process module is defined in the `gleam_erlang` library.
-
-[[Documentation]](https://hexdocs.pm/gleam_erlang/gleam/erlang/process.html)
-
-### Actor
-
-The `actor` is the most commonly used process type in Gleam and serves as a good
-building block for other abstractions. Like Erlang's `gen_server` it handles
-OTP's system messages automatically to enable OTP's debugging and tracing
-functionality.
-
-[[Documentation]](https://hexdocs.pm/gleam_otp/gleam/otp/actor.html)
-
-### Task
-
-A task is a kind of process that performs a single task and then shuts down.
-Commonly tasks are used to convert sequential code into concurrent code by
-performing computation in another process.
-
-[[Documentation]](https://hexdocs.pm/gleam_otp/gleam/otp/task.html)
-
-### Supervisor
-
-Supervisors is a process that starts and then supervises a group of processes,
-restarting them if they crash. Supervisors can start other supervisors,
-resulting in a hierarchical process structure called a supervision tree,
-providing fault tolerance to a Gleam application.
-
-[[Documentation]](https://hexdocs.pm/gleam_otp/gleam/otp/supervisor.html)
-
-## Limitations and known issues
-
-This library is experimental there are some limitations that not yet been resolved.
-
-- There is no support for named processes. They are untyped global mutable
- variables which may be uninitialized, more research is needed to find a
- suitable type safe alternative.
-- There are relatively few actor abstractions provided by this library. More
- will be added in the future.
-- Actors do not yet support all OTP system messages. Unsupported messages are
- dropped.
-- Supervisors do not yet support different shutdown periods per child. In
- practice this means that children that are supervisors do not get an
- unlimited amount of time to shut down, as is expected in Erlang or Elixir.
-- This library has not seen much testing compared to the Erlang OTP
- libraries, both in terms of unit tests and real world testing in
- applications.
diff --git a/aoc2023/build/packages/gleam_otp/gleam.toml b/aoc2023/build/packages/gleam_otp/gleam.toml
deleted file mode 100644
index 26e451b..0000000
--- a/aoc2023/build/packages/gleam_otp/gleam.toml
+++ /dev/null
@@ -1,19 +0,0 @@
-name = "gleam_otp"
-version = "0.8.0"
-licences = ["Apache-2.0"]
-description = "Fault tolerant multicore Gleam programs with OTP"
-
-gleam = ">= 0.32.0"
-
-repository = { type = "github", user = "gleam-lang", repo = "otp" }
-links = [
- { title = "Website", href = "https://gleam.run" },
- { title = "Sponsor", href = "https://github.com/sponsors/lpil" },
-]
-
-[dependencies]
-gleam_stdlib = "~> 0.32"
-gleam_erlang = "~> 0.22"
-
-[dev-dependencies]
-gleeunit = "~> 1.0"
diff --git a/aoc2023/build/packages/gleam_otp/include/gleam@otp@actor_Continue.hrl b/aoc2023/build/packages/gleam_otp/include/gleam@otp@actor_Continue.hrl
deleted file mode 100644
index 85677d1..0000000
--- a/aoc2023/build/packages/gleam_otp/include/gleam@otp@actor_Continue.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(continue, {
- state :: any(),
- selector :: gleam@option:option(gleam@erlang@process:selector(any()))
-}).
diff --git a/aoc2023/build/packages/gleam_otp/include/gleam@otp@actor_Ready.hrl b/aoc2023/build/packages/gleam_otp/include/gleam@otp@actor_Ready.hrl
deleted file mode 100644
index 75faa95..0000000
--- a/aoc2023/build/packages/gleam_otp/include/gleam@otp@actor_Ready.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(ready, {state :: any(), selector :: gleam@erlang@process:selector(any())}).
diff --git a/aoc2023/build/packages/gleam_otp/include/gleam@otp@actor_Spec.hrl b/aoc2023/build/packages/gleam_otp/include/gleam@otp@actor_Spec.hrl
deleted file mode 100644
index 5287439..0000000
--- a/aoc2023/build/packages/gleam_otp/include/gleam@otp@actor_Spec.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(spec, {
- init :: fun(() -> gleam@otp@actor:init_result(any(), any())),
- init_timeout :: integer(),
- loop :: fun((any(), any()) -> gleam@otp@actor:next(any(), any()))
-}).
diff --git a/aoc2023/build/packages/gleam_otp/include/gleam@otp@intensity_tracker_IntensityTracker.hrl b/aoc2023/build/packages/gleam_otp/include/gleam@otp@intensity_tracker_IntensityTracker.hrl
deleted file mode 100644
index 3ed0b01..0000000
--- a/aoc2023/build/packages/gleam_otp/include/gleam@otp@intensity_tracker_IntensityTracker.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(intensity_tracker, {
- limit :: integer(),
- period :: integer(),
- events :: list(integer())
-}).
diff --git a/aoc2023/build/packages/gleam_otp/include/gleam@otp@supervisor_ChildSpec.hrl b/aoc2023/build/packages/gleam_otp/include/gleam@otp@supervisor_ChildSpec.hrl
deleted file mode 100644
index 7afd07f..0000000
--- a/aoc2023/build/packages/gleam_otp/include/gleam@otp@supervisor_ChildSpec.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(child_spec, {
- start :: fun((any()) -> {ok, gleam@erlang@process:subject(any())} |
- {error, gleam@otp@actor:start_error()}),
- returning :: fun((any(), gleam@erlang@process:subject(any())) -> any())
-}).
diff --git a/aoc2023/build/packages/gleam_otp/include/gleam@otp@supervisor_Spec.hrl b/aoc2023/build/packages/gleam_otp/include/gleam@otp@supervisor_Spec.hrl
deleted file mode 100644
index b10bd9f..0000000
--- a/aoc2023/build/packages/gleam_otp/include/gleam@otp@supervisor_Spec.hrl
+++ /dev/null
@@ -1,6 +0,0 @@
--record(spec, {
- argument :: any(),
- max_frequency :: integer(),
- frequency_period :: integer(),
- init :: fun((gleam@otp@supervisor:children(any())) -> gleam@otp@supervisor:children(any()))
-}).
diff --git a/aoc2023/build/packages/gleam_otp/include/gleam@otp@system_StatusInfo.hrl b/aoc2023/build/packages/gleam_otp/include/gleam@otp@system_StatusInfo.hrl
deleted file mode 100644
index 99ab4cb..0000000
--- a/aoc2023/build/packages/gleam_otp/include/gleam@otp@system_StatusInfo.hrl
+++ /dev/null
@@ -1,7 +0,0 @@
--record(status_info, {
- module :: gleam@erlang@atom:atom_(),
- parent :: gleam@erlang@process:pid_(),
- mode :: gleam@otp@system:mode(),
- debug_state :: gleam@otp@system:debug_state(),
- state :: gleam@dynamic:dynamic_()
-}).
diff --git a/aoc2023/build/packages/gleam_otp/include/gleam@otp@task_Exit.hrl b/aoc2023/build/packages/gleam_otp/include/gleam@otp@task_Exit.hrl
deleted file mode 100644
index 7c83874..0000000
--- a/aoc2023/build/packages/gleam_otp/include/gleam@otp@task_Exit.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(exit, {reason :: gleam@dynamic:dynamic_()}).
diff --git a/aoc2023/build/packages/gleam_otp/include/gleam@otp@task_Task.hrl b/aoc2023/build/packages/gleam_otp/include/gleam@otp@task_Task.hrl
deleted file mode 100644
index 959bea8..0000000
--- a/aoc2023/build/packages/gleam_otp/include/gleam@otp@task_Task.hrl
+++ /dev/null
@@ -1,6 +0,0 @@
--record(task, {
- owner :: gleam@erlang@process:pid_(),
- pid :: gleam@erlang@process:pid_(),
- monitor :: gleam@erlang@process:process_monitor(),
- selector :: gleam@erlang@process:selector(gleam@otp@task:message(any()))
-}).
diff --git a/aoc2023/build/packages/gleam_otp/src/gleam/otp/actor.gleam b/aoc2023/build/packages/gleam_otp/src/gleam/otp/actor.gleam
deleted file mode 100644
index 9f6a6c4..0000000
--- a/aoc2023/build/packages/gleam_otp/src/gleam/otp/actor.gleam
+++ /dev/null
@@ -1,504 +0,0 @@
-//// This module provides the _Actor_ abstraction, one of the most common
-//// building blocks of Gleam OTP programs.
-////
-//// An Actor is a process like any other BEAM process and can be be used to hold
-//// state, execute code, and communicate with other processes by sending and
-//// receiving messages. The advantage of using the actor abstraction over a bare
-//// process is that it provides a single interface for commonly needed
-//// functionality, including support for the [tracing and debugging
-//// features in OTP](erlang-sys).
-////
-//// Gleam's Actor is similar to Erlang's `gen_server` and Elixir's `GenServer`
-//// but differs in that it offers a fully typed interface. This different API is
-//// why Gleam uses the name Actor rather than some variation of generic-server.
-////
-//// [erlang-sys]: https://www.erlang.org/doc/man/sys.html
-////
-//// ## Example
-////
-//// An Actor can be used to create a client-server interaction between an Actor
-//// (the server) and other processes (the clients). In this example we have an
-//// Actor that works as a stack, allowing clients to push and pop elements.
-////
-//// ```gleam
-//// pub fn main() {
-//// // Start the actor with initial state of an empty list, and the
-//// // `handle_message` callback function (defined below).
-//// // We assert that it starts successfully.
-//// //
-//// // In real-world Gleam OTP programs we would likely write a wrapper functions
-//// // called `start`, `push` `pop`, `shutdown` to start and interact with the
-//// // Actor. We are not doing that here for the sake of showing how the Actor
-//// // API works.
-//// let assert Ok(actor) = actor.start([], handle_message)
-////
-//// // We can send a message to the actor to push elements onto the stack.
-//// process.send(actor, Push("Joe"))
-//// process.send(actor, Push("Mike"))
-//// process.send(actor, Push("Robert"))
-////
-//// // The `Push` message expects no response, these messages are sent purely for
-//// // the side effect of mutating the state held by the actor.
-//// //
-//// // We can also send the `Pop` message to take a value off of the actor's
-//// // stack. This message expects a response, so we use `process.call` to send a
-//// // message and wait until a reply is received.
-//// //
-//// // In this instance we are giving the actor 10 milliseconds to reply, if the
-//// // `call` function doesn't get a reply within this time it will panic and
-//// // crash the client process.
-//// let assert Ok("Robert") = process.call(actor, Pop, 10)
-//// let assert Ok("Mike") = process.call(actor, Pop, 10)
-//// let assert Ok("Joe") = process.call(actor, Pop, 10)
-////
-//// // The stack is now empty, so if we pop again the actor replies with an error.
-//// let assert Error(Nil) = process.call(actor, Pop, 10)
-////
-//// // Lastly, we can send a message to the actor asking it to shut down.
-//// process.send(actor, Shutdown)
-//// }
-//// ```
-////
-//// Here is the code that is used to implement this actor:
-////
-//// ```gleam
-//// // First step of implementing the stack Actor is to define the message type that
-//// // it can receive.
-//// //
-//// // The type of the elements in the stack is no fixed so a type parameter is used
-//// // for it instead of a concrete type such as `String` or `Int`.
-//// pub type Message(element) {
-//// // The `Shutdown` message is used to tell the actor to stop.
-//// // It is the simplest message type, it contains no data.
-//// Shutdown
-////
-//// // The `Push` message is used to add a new element to the stack.
-//// // It contains the item to add, the type of which is the `element`
-//// // parameterised type.
-//// Push(push: element)
-////
-//// // The `Pop` message is used to remove an element from the stack.
-//// // It contains a `Subject`, which is used to send the response back to the
-//// // message sender. In this case the reply is of type `Result(element, Nil)`.
-//// Pop(reply_with: Subject(Result(element, Nil)))
-//// }
-////
-//// // The last part is to implement the `handle_message` callback function.
-//// //
-//// // This function is called by the Actor each for each message it receives.
-//// // Actor is single threaded only does one thing at a time, so it handles
-//// // messages sequentially and one at a time, in the order they are received.
-//// //
-//// // The function takes the message and the current state, and returns a data
-//// // structure that indicates what to do next, along with the new state.
-//// fn handle_message(
-//// message: Message(e),
-//// stack: List(e),
-//// ) -> actor.Next(Message(e), List(e)) {
-//// case message {
-//// // For the `Shutdown` message we return the `actor.Stop` value, which causes
-//// // the actor to discard any remaining messages and stop.
-//// Shutdown -> actor.Stop(process.Normal)
-////
-//// // For the `Push` message we add the new element to the stack and return
-//// // `actor.continue` with this new stack, causing the actor to process any
-//// // queued messages or wait for more.
-//// Push(value) -> {
-//// let new_state = [value, ..stack]
-//// actor.continue(new_state)
-//// }
-////
-//// // For the `Pop` message we attempt to remove an element from the stack,
-//// // sending it or an error back to the caller, before continuing.
-//// Pop(client) ->
-//// case stack {
-//// [] -> {
-//// // When the stack is empty we can't pop an element, so we send an
-//// // error back.
-//// process.send(client, Error(Nil))
-//// actor.continue([])
-//// }
-////
-//// [first, ..rest] -> {
-//// // Otherwise we send the first element back and use the remaining
-//// // elements as the new state.
-//// process.send(client, Ok(first))
-//// actor.continue(rest)
-//// }
-//// }
-//// }
-//// }
-//// ```
-
-import gleam/erlang/process.{
- type ExitReason, type Pid, type Selector, type Subject, Abnormal,
-}
-import gleam/erlang/charlist.{type Charlist}
-import gleam/otp/system.{
- type DebugState, type Mode, type StatusInfo, type SystemMessage, GetState,
- GetStatus, Resume, Running, StatusInfo, Suspend, Suspended,
-}
-import gleam/string
-import gleam/dynamic.{type Dynamic}
-import gleam/erlang/atom
-import gleam/option.{type Option, None, Some}
-
-type Message(message) {
- /// A regular message excepted by the process
- Message(message)
-
- /// An OTP system message, for debugging or maintenance
- System(SystemMessage)
-
- /// An unexpected message
- Unexpected(Dynamic)
-}
-
-/// The type used to indicate what to do after handling a message.
-///
-pub type Next(message, state) {
- /// Continue handling messages.
- ///
- Continue(state: state, selector: Option(Selector(message)))
-
- /// Stop handling messages and shut down.
- ///
- Stop(ExitReason)
-}
-
-pub fn continue(state: state) -> Next(message, state) {
- Continue(state, None)
-}
-
-pub fn with_selector(
- value: Next(message, state),
- selector: Selector(message),
-) -> Next(message, state) {
- case value {
- Continue(state, _) -> Continue(state, Some(selector))
- _ -> value
- }
-}
-
-/// The type used to indicate whether an actor has started successfully or not.
-///
-pub type InitResult(state, message) {
- /// The actor has successfully initialised. The actor can start handling
- /// messages and actor's channel sender can be returned to the parent
- /// process.
- ///
- Ready(state: state, selector: Selector(message))
-
- /// The actor has failed to initialise. The actor shuts down and an error is
- /// returned to the parent process.
- ///
- Failed(String)
-}
-
-type Self(state, msg) {
- Self(
- mode: Mode,
- parent: Pid,
- state: state,
- subject: Subject(msg),
- selector: Selector(Message(msg)),
- debug_state: DebugState,
- message_handler: fn(msg, state) -> Next(msg, state),
- )
-}
-
-/// This data structure holds all the values required by the `start_spec`
-/// function in order to create an actor.
-///
-/// If you do not need to configure the initialisation behaviour of your actor
-/// consider using the `start` function.
-///
-pub type Spec(state, msg) {
- Spec(
- /// The initialisation functionality for the actor. This function is called
- /// just after the actor starts but before the channel sender is returned
- /// to the parent.
- ///
- /// This function is used to ensure that any required data or state is
- /// correct. If this function returns an error it means that the actor has
- /// failed to start and an error is returned to the parent.
- ///
- init: fn() -> InitResult(state, msg),
- /// How many milliseconds the `init` function has to return before it is
- /// considered to have taken too long and failed.
- ///
- init_timeout: Int,
- /// This function is called to handle each message that the actor receives.
- ///
- loop: fn(msg, state) -> Next(msg, state),
- )
-}
-
-// TODO: Check needed functionality here to be OTP compatible
-fn exit_process(reason: ExitReason) -> ExitReason {
- // TODO
- reason
-}
-
-fn receive_message(self: Self(state, msg)) -> Message(msg) {
- let selector = case self.mode {
- // When suspended we only respond to system messages
- Suspended ->
- process.new_selector()
- |> selecting_system_messages
-
- // When running we respond to all messages
- Running ->
- // We add the handler for unexpected messages first so that the user
- // supplied selector can override it if desired
- process.new_selector()
- |> process.selecting_anything(Unexpected)
- |> process.merge_selector(self.selector)
- |> selecting_system_messages
- }
-
- process.select_forever(selector)
-}
-
-fn selecting_system_messages(
- selector: Selector(Message(msg)),
-) -> Selector(Message(msg)) {
- selector
- |> process.selecting_record3(
- atom.create_from_string("system"),
- convert_system_message,
- )
-}
-
-@external(erlang, "gleam_otp_external", "convert_system_message")
-fn convert_system_message(a: Dynamic, b: Dynamic) -> Message(msg)
-
-fn process_status_info(self: Self(state, msg)) -> StatusInfo {
- StatusInfo(
- module: atom.create_from_string("gleam@otp@actor"),
- parent: self.parent,
- mode: self.mode,
- debug_state: self.debug_state,
- state: dynamic.from(self.state),
- )
-}
-
-fn loop(self: Self(state, msg)) -> ExitReason {
- case receive_message(self) {
- System(system) ->
- case system {
- GetState(callback) -> {
- callback(dynamic.from(self.state))
- loop(self)
- }
- Resume(callback) -> {
- callback()
- loop(Self(..self, mode: Running))
- }
- Suspend(callback) -> {
- callback()
- loop(Self(..self, mode: Suspended))
- }
- GetStatus(callback) -> {
- callback(process_status_info(self))
- loop(self)
- }
- }
-
- Unexpected(message) -> {
- log_warning(
- charlist.from_string("Actor discarding unexpected message: ~s"),
- [charlist.from_string(string.inspect(message))],
- )
- loop(self)
- }
-
- Message(msg) ->
- case self.message_handler(msg, self.state) {
- Stop(reason) -> exit_process(reason)
- Continue(state: state, selector: new_selector) -> {
- let selector =
- new_selector
- |> option.map(init_selector(self.subject, _))
- |> option.unwrap(self.selector)
- loop(Self(..self, state: state, selector: selector))
- }
- }
- }
-}
-
-// TODO: replace this when we have Gleam bindings to the logger
-@external(erlang, "logger", "warning")
-fn log_warning(a: Charlist, b: List(Charlist)) -> Nil
-
-fn initialise_actor(
- spec: Spec(state, msg),
- ack: Subject(Result(Subject(msg), ExitReason)),
-) {
- let subject = process.new_subject()
- case spec.init() {
- Ready(state, selector) -> {
- let selector = init_selector(subject, selector)
- // Signal to parent that the process has initialised successfully
- process.send(ack, Ok(subject))
- // Start message receive loop
- let self =
- Self(
- state: state,
- parent: process.subject_owner(ack),
- subject: subject,
- selector: selector,
- message_handler: spec.loop,
- debug_state: system.debug_state([]),
- mode: Running,
- )
- loop(self)
- }
-
- Failed(reason) -> {
- process.send(ack, Error(Abnormal(reason)))
- exit_process(Abnormal(reason))
- }
- }
-}
-
-fn init_selector(subject, selector) {
- process.new_selector()
- |> process.selecting(subject, Message)
- |> process.merge_selector(process.map_selector(selector, Message))
-}
-
-pub type StartError {
- InitTimeout
- InitFailed(ExitReason)
- InitCrashed(Dynamic)
-}
-
-/// The result of starting a Gleam actor.
-///
-/// This type is compatible with Gleam supervisors. If you wish to convert it
-/// to a type compatible with Erlang supervisors see the `ErlangStartResult`
-/// type and `erlang_start_result` function.
-///
-pub type StartResult(msg) =
- Result(Subject(msg), StartError)
-
-/// An Erlang supervisor compatible process start result.
-///
-/// If you wish to convert this into a `StartResult` compatible with Gleam
-/// supervisors see the `from_erlang_start_result` and `wrap_erlang_starter`
-/// functions.
-///
-pub type ErlangStartResult =
- Result(Pid, Dynamic)
-
-/// Convert a Gleam actor start result into an Erlang supervisor compatible
-/// process start result.
-///
-pub fn to_erlang_start_result(res: StartResult(msg)) -> ErlangStartResult {
- case res {
- Ok(x) -> Ok(process.subject_owner(x))
- Error(x) -> Error(dynamic.from(x))
- }
-}
-
-type StartInitMessage(msg) {
- Ack(Result(Subject(msg), ExitReason))
- Mon(process.ProcessDown)
-}
-
-// TODO: test init_timeout. Currently if we test it eunit prints an error from
-// the process death. How do we avoid this?
-//
-/// Start an actor from a given specification. If the actor's `init` function
-/// returns an error or does not return within `init_timeout` then an error is
-/// returned.
-///
-/// If you do not need to specify the initialisation behaviour of your actor
-/// consider using the `start` function.
-///
-pub fn start_spec(spec: Spec(state, msg)) -> Result(Subject(msg), StartError) {
- let ack_subject = process.new_subject()
-
- let child =
- process.start(
- linked: True,
- running: fn() { initialise_actor(spec, ack_subject) },
- )
-
- let monitor = process.monitor_process(child)
- let selector =
- process.new_selector()
- |> process.selecting(ack_subject, Ack)
- |> process.selecting_process_down(monitor, Mon)
-
- let result = case process.select(selector, spec.init_timeout) {
- // Child started OK
- Ok(Ack(Ok(channel))) -> Ok(channel)
-
- // Child initialiser returned an error
- Ok(Ack(Error(reason))) -> Error(InitFailed(reason))
-
- // Child went down while initialising
- Ok(Mon(down)) -> Error(InitCrashed(down.reason))
-
- // Child did not finish initialising in time
- Error(Nil) -> {
- process.kill(child)
- Error(InitTimeout)
- }
- }
-
- // Remove the monitor used for the starting of the actor as to avoid an extra
- // message arriving at the parent if the child dies later.
- process.demonitor_process(monitor)
-
- result
-}
-
-/// Start an actor with a given initial state and message handling loop
-/// function.
-///
-/// This function returns a `Result` but it will always be `Ok` so it is safe
-/// to use with `assert` if you are not starting this actor as part of a
-/// supervision tree.
-///
-/// If you wish to configure the initialisation behaviour of a new actor see
-/// the `Spec` record and the `start_spec` function.
-///
-pub fn start(
- state: state,
- loop: fn(msg, state) -> Next(msg, state),
-) -> Result(Subject(msg), StartError) {
- start_spec(Spec(
- init: fn() { Ready(state, process.new_selector()) },
- loop: loop,
- init_timeout: 5000,
- ))
-}
-
-/// Send a message over a given channel.
-///
-/// This is a re-export of `process.send`, for the sake of convenience.
-///
-pub fn send(subject: Subject(msg), msg: msg) -> Nil {
- process.send(subject, msg)
-}
-
-// TODO: test
-/// Send a synchronous message and wait for a response from the receiving
-/// process.
-///
-/// If a reply is not received within the given timeout then the sender process
-/// crashes. If you wish receive a `Result` rather than crashing see the
-/// `process.try_call` function.
-///
-/// This is a re-export of `process.call`, for the sake of convenience.
-///
-pub fn call(
- selector: Subject(message),
- make_message: fn(Subject(reply)) -> message,
- timeout: Int,
-) -> reply {
- process.call(selector, make_message, timeout)
-}
diff --git a/aoc2023/build/packages/gleam_otp/src/gleam/otp/intensity_tracker.gleam b/aoc2023/build/packages/gleam_otp/src/gleam/otp/intensity_tracker.gleam
deleted file mode 100644
index 2044be0..0000000
--- a/aoc2023/build/packages/gleam_otp/src/gleam/otp/intensity_tracker.gleam
+++ /dev/null
@@ -1,46 +0,0 @@
-//// The intensity tracker is used to monitor how frequently an event happens,
-//// erroring if it happens too many times within a period of time.
-
-import gleam/list
-
-// TODO: test
-pub opaque type IntensityTracker {
- IntensityTracker(limit: Int, period: Int, events: List(Int))
-}
-
-pub type TooIntense {
- TooIntense
-}
-
-pub fn new(limit limit: Int, period period: Int) -> IntensityTracker {
- IntensityTracker(limit: limit, period: period, events: [])
-}
-
-@external(erlang, "erlang", "monotonic_time")
-fn monotonic_time(a: Int) -> Int
-
-fn now_seconds() -> Int {
- monotonic_time(1)
-}
-
-pub fn trim_window(events: List(Int), now: Int, period: Int) -> List(Int) {
- case events {
- [] -> []
- [event, ..events] ->
- case now >= event + period {
- True -> [event, ..trim_window(events, now, period)]
- False -> []
- }
- }
-}
-
-pub fn add_event(
- tracker: IntensityTracker,
-) -> Result(IntensityTracker, TooIntense) {
- let now = now_seconds()
- let events = trim_window([now, ..tracker.events], now, tracker.period)
- case list.length(events) >= tracker.limit {
- True -> Error(TooIntense)
- False -> Ok(IntensityTracker(..tracker, events: events))
- }
-}
diff --git a/aoc2023/build/packages/gleam_otp/src/gleam/otp/port.gleam b/aoc2023/build/packages/gleam_otp/src/gleam/otp/port.gleam
deleted file mode 100644
index 4e1b4d8..0000000
--- a/aoc2023/build/packages/gleam_otp/src/gleam/otp/port.gleam
+++ /dev/null
@@ -1,9 +0,0 @@
-/// Ports are how code running on the Erlang virtual machine interacts with
-/// the outside world. Bytes of data can be sent to and read from ports,
-/// providing a form of message passing to an external program or resource.
-///
-/// For more information on ports see the [Erlang ports documentation][1].
-///
-/// [1]: https://erlang.org/doc/reference_manual/ports.html
-///
-pub type Port
diff --git a/aoc2023/build/packages/gleam_otp/src/gleam/otp/supervisor.gleam b/aoc2023/build/packages/gleam_otp/src/gleam/otp/supervisor.gleam
deleted file mode 100644
index b99ad8e..0000000
--- a/aoc2023/build/packages/gleam_otp/src/gleam/otp/supervisor.gleam
+++ /dev/null
@@ -1,410 +0,0 @@
-// TODO: specify amount of time permitted for shut-down
-import gleam/result
-import gleam/string
-import gleam/option.{type Option, None, Some}
-import gleam/erlang/process.{type Pid, type Subject}
-import gleam/otp/actor.{type StartError}
-import gleam/otp/intensity_tracker.{type IntensityTracker}
-import gleam/erlang/node.{type Node}
-
-/// This data structure holds all the values required by the `start_spec`
-/// function in order to create an supervisor.
-///
-/// If you do not need to configure the behaviour of your supervisor consider
-/// using the `start` function.
-///
-pub type Spec(argument, return) {
- Spec(
- argument: argument,
- max_frequency: Int,
- frequency_period: Int,
- init: fn(Children(argument)) -> Children(return),
- )
-}
-
-/// This type represents the starting children of a supervisor within the
-/// `init` function.
-///
-pub opaque type Children(argument) {
- Ready(Starter(argument))
- Failed(ChildStartError)
-}
-
-/// This type contains all the information required to start a new child and
-/// add it to the `Children`.
-///
-/// This is typically created with the `worker` function.
-///
-pub opaque type ChildSpec(msg, argument, returning) {
- ChildSpec(
- // TODO: merge this into one field
- start: fn(argument) -> Result(Subject(msg), StartError),
- returning: fn(argument, Subject(msg)) -> returning,
- )
-}
-
-type ChildStartError {
- ChildStartError(previous_pid: Option(Pid), error: StartError)
-}
-
-pub opaque type Message {
- Exit(process.ExitMessage)
- RetryRestart(Pid)
-}
-
-type Instruction {
- StartAll
- StartFrom(Pid)
-}
-
-type State(a) {
- State(
- restarts: IntensityTracker,
- starter: Starter(a),
- retry_restarts: Subject(Pid),
- )
-}
-
-type Starter(argument) {
- Starter(
- argument: argument,
- exec: Option(
- fn(Instruction) ->
- Result(#(Starter(argument), Instruction), ChildStartError),
- ),
- )
-}
-
-type Child(argument) {
- Child(pid: Pid, argument: argument)
-}
-
-fn start_child(
- child_spec: ChildSpec(msg, argument_in, argument_out),
- argument: argument_in,
-) -> Result(Child(argument_out), ChildStartError) {
- use subject <- result.then(
- child_spec.start(argument)
- |> result.map_error(ChildStartError(None, _)),
- )
-
- Ok(Child(
- pid: process.subject_owner(subject),
- // Merge the new child's pid into the argument to produce the new argument
- // used to start any remaining children.
- argument: child_spec.returning(argument, subject),
- ))
-}
-
-// TODO: more sophsiticated stopping of processes. i.e. give supervisors
-// more time to shut down.
-fn shutdown_child(pid: Pid, _spec: ChildSpec(msg, arg_1, arg_2)) -> Nil {
- process.send_exit(pid)
-}
-
-fn perform_instruction_for_child(
- argument: argument_in,
- instruction: Instruction,
- child_spec: ChildSpec(msg, argument_in, argument_out),
- child: Child(argument_out),
-) -> Result(#(Child(argument_out), Instruction), ChildStartError) {
- let current = child.pid
- case instruction {
- // This child is older than the StartFrom target, we don't need to
- // restart it
- StartFrom(target) if target != current -> Ok(#(child, instruction))
-
- // This pid either is the cause of the problem, or we have the StartAll
- // instruction. Either way it and its younger siblings need to be restarted.
- _ -> {
- shutdown_child(current, child_spec)
- use child <- result.then(start_child(child_spec, argument))
- Ok(#(child, StartAll))
- }
- }
-}
-
-fn add_child_to_starter(
- starter: Starter(argument_in),
- child_spec: ChildSpec(msg, argument_in, argument_out),
- child: Child(argument_out),
-) -> Starter(argument_out) {
- let starter = fn(instruction) {
- // Restart the older children. We use `try` to return early if the older
- // children failed to start
- use #(starter, instruction) <- result.then(case starter.exec {
- Some(start) -> start(instruction)
- None -> Ok(#(starter, instruction))
- })
-
- // Perform the instruction, restarting the child as required
- use #(child, instruction) <- result.then(perform_instruction_for_child(
- starter.argument,
- instruction,
- child_spec,
- child,
- ))
-
- // Create a new starter for the next time the supervisor needs to restart
- let starter = add_child_to_starter(starter, child_spec, child)
-
- Ok(#(starter, instruction))
- }
-
- Starter(exec: Some(starter), argument: child.argument)
-}
-
-fn start_and_add_child(
- state: Starter(argument_0),
- child_spec: ChildSpec(msg, argument_0, argument_1),
-) -> Children(argument_1) {
- case start_child(child_spec, state.argument) {
- Ok(child) -> Ready(add_child_to_starter(state, child_spec, child))
- Error(reason) -> Failed(reason)
- }
-}
-
-/// Add a child to the collection of children of the supervisor
-///
-/// This function starts the child from the child spec.
-///
-pub fn add(
- children: Children(argument),
- child_spec: ChildSpec(msg, argument, new_argument),
-) -> Children(new_argument) {
- case children {
- // If one of the previous children has failed then we cannot continue
- Failed(fail) -> Failed(fail)
-
- // If everything is OK so far then we can add the child
- Ready(state) -> start_and_add_child(state, child_spec)
- }
-}
-
-// TODO: test
-// TODO: unlimitd shut down duration
-/// Prepare a new supervisor type child.
-///
-/// If you wish to prepare a new non-supervisor type child see the `worker`
-/// function.
-///
-/// If you wish to change the type of the argument for later children see the
-/// `returning` function.
-///
-/// Note: Gleam supervisors do not yet support different shutdown periods per
-/// child so this function is currently identical in behaviour to `worker`. It is
-/// recommended to use this function for supervisor children nevertheless so the
-/// correct shut down behaviour is used in later releases of this library.
-///
-pub fn supervisor(
- start: fn(argument) -> Result(Subject(msg), StartError),
-) -> ChildSpec(msg, argument, argument) {
- ChildSpec(start: start, returning: fn(argument, _channel) { argument })
-}
-
-/// Prepare a new worker type child.
-///
-/// If you wish to prepare a new supervisor type child see the `supervisor`
-/// function.
-///
-/// If you wish to change the type of the argument for later children see the
-/// `returning` function.
-///
-pub fn worker(
- start: fn(argument) -> Result(Subject(msg), StartError),
-) -> ChildSpec(msg, argument, argument) {
- ChildSpec(start: start, returning: fn(argument, _channel) { argument })
-}
-
-// TODO: test
-/// As each child is added to a supervisors children a new argument is prepared
-/// with which to start the next child. By default argument is the same as the
-/// previous argument, but this function can be used to change it to something
-/// else by passing a function that takes the previous argument and the sender
-/// of the previous child.
-///
-pub fn returning(
- child: ChildSpec(msg, argument_a, argument_b),
- updater: fn(argument_a, Subject(msg)) -> argument_c,
-) -> ChildSpec(msg, argument_a, argument_c) {
- ChildSpec(start: child.start, returning: updater)
-}
-
-fn init(
- spec: Spec(argument, return),
-) -> actor.InitResult(State(return), Message) {
- // Create a subject so that we can asynchronously retry restarting when we
- // fail to bring an exited child
- let retry = process.new_subject()
-
- // Trap exits so that we get a message when a child crashes
- process.trap_exits(True)
-
- // Combine selectors
- let selector =
- process.new_selector()
- |> process.selecting(retry, RetryRestart)
- |> process.selecting_trapped_exits(Exit)
-
- // Start any children
- let result =
- Starter(argument: spec.argument, exec: None)
- |> Ready
- |> spec.init
-
- // Pass back up the result
- case result {
- Ready(starter) -> {
- let restarts =
- intensity_tracker.new(
- limit: spec.max_frequency,
- period: spec.frequency_period,
- )
- let state =
- State(starter: starter, restarts: restarts, retry_restarts: retry)
- actor.Ready(state, selector)
- }
-
- Failed(error) ->
- actor.Failed(case error.error {
- actor.InitTimeout -> "Child initialisation timed out"
- actor.InitCrashed(reason) ->
- string.append(
- "Child crashed during initialisation: ",
- string.inspect(reason),
- )
- actor.InitFailed(reason) ->
- string.append(
- "Child failed to start during initialisation: ",
- string.inspect(reason),
- )
- })
- }
-}
-
-type HandleExitError {
- RestartFailed(pid: Pid, restarts: IntensityTracker)
- TooManyRestarts
-}
-
-fn handle_exit(pid: Pid, state: State(a)) -> actor.Next(Message, State(a)) {
- let outcome = {
- // If we are handling an exit then we must have some children
- let assert Some(start) = state.starter.exec
-
- // Check to see if there has been too many restarts in this period
- use restarts <- result.then(
- state.restarts
- |> intensity_tracker.add_event
- |> result.map_error(fn(_) { TooManyRestarts }),
- )
-
- // Restart the exited child and any following children
- use #(starter, _) <- result.then(
- start(StartFrom(pid))
- |> result.map_error(fn(e: ChildStartError) {
- RestartFailed(option.unwrap(e.previous_pid, pid), restarts)
- }),
- )
-
- Ok(State(..state, starter: starter, restarts: restarts))
- }
-
- case outcome {
- Ok(state) -> actor.continue(state)
- Error(RestartFailed(failed_child, restarts)) -> {
- // Asynchronously enqueue the restarting of this child again as we were
- // unable to restart them this time. We do this asynchronously as we want
- // to have a chance to handle any system messages that have come in.
- process.send(state.retry_restarts, failed_child)
- let state = State(..state, restarts: restarts)
- actor.continue(state)
- }
- Error(TooManyRestarts) ->
- actor.Stop(process.Abnormal(
- "Child processes restarted too many times within allowed period",
- ))
- }
-}
-
-fn loop(
- message: Message,
- state: State(argument),
-) -> actor.Next(Message, State(argument)) {
- case message {
- Exit(exit_message) -> handle_exit(exit_message.pid, state)
- RetryRestart(pid) -> handle_exit(pid, state)
- }
-}
-
-/// Start a supervisor from a given specification.
-///
-pub fn start_spec(spec: Spec(a, b)) -> Result(Subject(Message), StartError) {
- actor.start_spec(actor.Spec(
- init: fn() { init(spec) },
- loop: loop,
- init_timeout: 60_000,
- ))
-}
-
-/// Start a supervisor from a given `init` function.
-///
-/// The init argument passed to children will be `Nil` and the maximum restart
-/// intensity will be 1 restart per 5 seconds (the same as the default for
-/// [Erlang supervisors][erl-sup]). If you wish to specify these values, see
-/// the `start_spec` function and the `Spec` type.
-///
-/// [erl-sup]: https://www.erlang.org/doc/design_principles/sup_princ.html#maximum-restart-intensity
-///
-pub fn start(
- init: fn(Children(Nil)) -> Children(a),
-) -> Result(Subject(Message), StartError) {
- start_spec(Spec(
- init: init,
- argument: Nil,
- max_frequency: 1,
- frequency_period: 5,
- ))
-}
-
-/// A type used to describe the situation in which an Erlang based application
-/// is starting.
-///
-/// For more information see the [Erlang distributed application
-/// documentation][1] and the Learn Your Some Erlang chapter on [distributed
-/// applications][2].
-///
-/// [1]: https://erlang.org/doc/design_principles/distributed_applications.html
-/// [2]: https://learnyousomeerlang.com/distributed-otp-applications
-///
-pub type ApplicationStartMode {
- Normal
- Takeover(Node)
- Failover(Node)
-}
-
-pub type ApplicationStop
-
-@external(erlang, "gleam_otp_external", "application_stopped")
-pub fn application_stopped() -> ApplicationStop
-
-/// The result of starting a Gleam actor.
-///
-/// This type is compatible with Gleam supervisors. If you wish to convert it
-/// to a type compatible with Erlang supervisors see the `ErlangStartResult`
-/// type and `erlang_start_result` function.
-///
-pub type StartResult(msg) =
- actor.StartResult(msg)
-
-/// An Erlang supervisor compatible process start result.
-///
-pub type ErlangStartResult =
- actor.ErlangStartResult
-
-/// Convert a Gleam actor start result into an Erlang supervisor compatible
-/// process start result.
-///
-pub fn to_erlang_start_result(res: StartResult(msg)) -> ErlangStartResult {
- actor.to_erlang_start_result(res)
-}
diff --git a/aoc2023/build/packages/gleam_otp/src/gleam/otp/system.gleam b/aoc2023/build/packages/gleam_otp/src/gleam/otp/system.gleam
deleted file mode 100644
index c05646b..0000000
--- a/aoc2023/build/packages/gleam_otp/src/gleam/otp/system.gleam
+++ /dev/null
@@ -1,89 +0,0 @@
-import gleam/dynamic.{type Dynamic}
-import gleam/erlang/atom.{type Atom}
-import gleam/erlang/process.{type Pid}
-
-pub type Mode {
- Running
- Suspended
-}
-
-pub type DebugOption {
- NoDebug
-}
-
-pub type DebugState
-
-@external(erlang, "sys", "debug_options")
-pub fn debug_state(a: List(DebugOption)) -> DebugState
-
-pub type StatusInfo {
- StatusInfo(
- module: Atom,
- parent: Pid,
- mode: Mode,
- debug_state: DebugState,
- state: Dynamic,
- )
-}
-
-// TODO: document
-// TODO: implement remaining messages
-pub type SystemMessage {
- // {replace_state, StateFn}
- // {change_code, Mod, Vsn, Extra}
- // {terminate, Reason}
- // {debug, {log, Flag}}
- // {debug, {trace, Flag}}
- // {debug, {log_to_file, FileName}}
- // {debug, {statistics, Flag}}
- // {debug, no_debug}
- // {debug, {install, {Func, FuncState}}}
- // {debug, {install, {FuncId, Func, FuncState}}}
- // {debug, {remove, FuncOrId}}
- Resume(fn() -> Nil)
- Suspend(fn() -> Nil)
- GetState(fn(Dynamic) -> Nil)
- GetStatus(fn(StatusInfo) -> Nil)
-}
-
-type DoNotLeak
-
-/// Get the state of a given OTP compatible process. This function is only
-/// intended for debugging.
-///
-/// For more information see the [Erlang documentation][1].
-///
-/// [1]: https://erlang.org/doc/man/sys.html#get_state-1
-///
-@external(erlang, "sys", "get_state")
-pub fn get_state(from from: Pid) -> Dynamic
-
-@external(erlang, "sys", "suspend")
-fn erl_suspend(a: Pid) -> DoNotLeak
-
-/// Request an OTP compatible process to suspend, causing it to only handle
-/// system messages.
-///
-/// For more information see the [Erlang documentation][1].
-///
-/// [1]: https://erlang.org/doc/man/sys.html#suspend-1
-///
-pub fn suspend(pid: Pid) -> Nil {
- erl_suspend(pid)
- Nil
-}
-
-@external(erlang, "sys", "resume")
-fn erl_resume(from from: Pid) -> DoNotLeak
-
-/// Request a suspended OTP compatible process to result, causing it to handle
-/// all messages rather than only system messages.
-///
-/// For more information see the [Erlang documentation][1].
-///
-/// [1]: https://erlang.org/doc/man/sys.html#resume-1
-///
-pub fn resume(pid: Pid) -> Nil {
- erl_resume(pid)
- Nil
-}
diff --git a/aoc2023/build/packages/gleam_otp/src/gleam/otp/task.gleam b/aoc2023/build/packages/gleam_otp/src/gleam/otp/task.gleam
deleted file mode 100644
index b2b2c5c..0000000
--- a/aoc2023/build/packages/gleam_otp/src/gleam/otp/task.gleam
+++ /dev/null
@@ -1,151 +0,0 @@
-//// A task is a kind of process that performs a single task and then shuts
-//// down. Commonly tasks are used to convert sequential code into concurrent
-//// code by performing computation in another process.
-////
-//// let task = task.async(fn() { do_some_work() })
-//// let value = do_some_other_work()
-//// value + task.await(task, 100)
-////
-//// Tasks spawned with async can be awaited on by their caller process (and
-//// only their caller) as shown in the example above. They are implemented by
-//// spawning a process that sends a message to the caller once the given
-//// computation is performed.
-////
-//// There are two important things to consider when using `async`:
-////
-//// 1. If you are using async tasks, you must await a reply as they are always
-//// sent.
-////
-//// 2. async tasks link the caller and the spawned process. This means that,
-//// if the caller crashes, the task will crash too and vice-versa. This is
-//// on purpose: if the process meant to receive the result no longer
-//// exists, there is no purpose in completing the computation.
-////
-//// This module is inspired by Elixir's [Task module][1].
-////
-//// [1]: https://hexdocs.pm/elixir/master/Task.html
-////
-
-// TODO: await_many
-import gleam/erlang/process.{type Pid, type ProcessMonitor, type Selector}
-import gleam/dynamic.{type Dynamic}
-
-pub opaque type Task(value) {
- Task(
- owner: Pid,
- pid: Pid,
- monitor: ProcessMonitor,
- selector: Selector(Message(value)),
- )
-}
-
-// TODO: test
-/// Spawn a task process that calls a given function in order to perform some
-/// work. The result of this function is send back to the parent and can be
-/// received using the `await` function.
-///
-/// See the top level module documentation for more information on async/await.
-///
-pub fn async(work: fn() -> value) -> Task(value) {
- let owner = process.self()
- let subject = process.new_subject()
- let pid =
- process.start(linked: True, running: fn() { process.send(subject, work()) })
- let monitor = process.monitor_process(pid)
- let selector =
- process.new_selector()
- |> process.selecting_process_down(monitor, FromMonitor)
- |> process.selecting(subject, FromSubject)
- Task(owner: owner, pid: pid, monitor: monitor, selector: selector)
-}
-
-pub type AwaitError {
- Timeout
- Exit(reason: Dynamic)
-}
-
-// We can only wait on a task if we are the owner of it so crash if we are
-// waiting on a task we don't own.
-fn assert_owner(task: Task(a)) -> Nil {
- let self = process.self()
- case task.owner == self {
- True -> Nil
- False ->
- process.send_abnormal_exit(
- self,
- "awaited on a task that does not belong to this process",
- )
- }
-}
-
-type Message(value) {
- FromMonitor(process.ProcessDown)
- FromSubject(value)
-}
-
-// TODO: test
-/// Wait for the value computed by a task.
-///
-/// If the a value is not received before the timeout has elapsed or if the
-/// task process crashes then an error is returned.
-///
-pub fn try_await(task: Task(value), timeout: Int) -> Result(value, AwaitError) {
- assert_owner(task)
- case process.select(task.selector, timeout) {
- // The task process has sent back a value
- Ok(FromSubject(x)) -> {
- process.demonitor_process(task.monitor)
- Ok(x)
- }
-
- // The task process crashed without sending a value
- Ok(FromMonitor(process.ProcessDown(reason: reason, ..))) ->
- Error(Exit(reason))
-
- // The task process is alive but has not sent a value yet
- Error(Nil) -> Error(Timeout)
- }
-}
-
-// TODO: test
-/// Wait for the value computed by a task.
-///
-/// If the a value is not received before the timeout has elapsed or if the
-/// task process crashes then this function crashes.
-///
-pub fn await(task: Task(value), timeout: Int) -> value {
- let assert Ok(value) = try_await(task, timeout)
- value
-}
-
-/// Wait endlessly for the value computed by a task.
-///
-/// Be Careful! This function does not return until there is a value to
-/// receive. If a value is not received then the process will be stuck waiting
-/// forever.
-///
-pub fn try_await_forever(task: Task(value)) -> Result(value, AwaitError) {
- assert_owner(task)
- case process.select_forever(task.selector) {
- // The task process has sent back a value
- FromSubject(x) -> {
- process.demonitor_process(task.monitor)
- Ok(x)
- }
-
- // The task process crashed without sending a value
- FromMonitor(process.ProcessDown(reason: reason, ..)) -> Error(Exit(reason))
- }
-}
-
-/// Wait endlessly for the value computed by a task.
-///
-/// Be Careful! Like `try_await_forever`, this function does not return until there is a value to
-/// receive.
-///
-/// If the task process crashes then this function crashes.
-///
-pub fn await_forever(task: Task(value)) -> value {
- let assert Ok(value) = try_await_forever(task)
- value
-}
diff --git a/aoc2023/build/packages/gleam_otp/src/gleam@otp@actor.erl b/aoc2023/build/packages/gleam_otp/src/gleam@otp@actor.erl
deleted file mode 100644
index 0606147..0000000
--- a/aoc2023/build/packages/gleam_otp/src/gleam@otp@actor.erl
+++ /dev/null
@@ -1,273 +0,0 @@
--module(gleam@otp@actor).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([continue/1, with_selector/2, to_erlang_start_result/1, start_spec/1, start/2, send/2, call/3]).
--export_type([message/1, next/2, init_result/2, self/2, spec/2, start_error/0, start_init_message/1]).
-
--type message(GAS) :: {message, GAS} |
- {system, gleam@otp@system:system_message()} |
- {unexpected, gleam@dynamic:dynamic_()}.
-
--type next(GAT, GAU) :: {continue,
- GAU,
- gleam@option:option(gleam@erlang@process:selector(GAT))} |
- {stop, gleam@erlang@process:exit_reason()}.
-
--type init_result(GAV, GAW) :: {ready, GAV, gleam@erlang@process:selector(GAW)} |
- {failed, binary()}.
-
--type self(GAX, GAY) :: {self,
- gleam@otp@system:mode(),
- gleam@erlang@process:pid_(),
- GAX,
- gleam@erlang@process:subject(GAY),
- gleam@erlang@process:selector(message(GAY)),
- gleam@otp@system:debug_state(),
- fun((GAY, GAX) -> next(GAY, GAX))}.
-
--type spec(GAZ, GBA) :: {spec,
- fun(() -> init_result(GAZ, GBA)),
- integer(),
- fun((GBA, GAZ) -> next(GBA, GAZ))}.
-
--type start_error() :: init_timeout |
- {init_failed, gleam@erlang@process:exit_reason()} |
- {init_crashed, gleam@dynamic:dynamic_()}.
-
--type start_init_message(GBB) :: {ack,
- {ok, gleam@erlang@process:subject(GBB)} |
- {error, gleam@erlang@process:exit_reason()}} |
- {mon, gleam@erlang@process:process_down()}.
-
--spec continue(GBI) -> next(any(), GBI).
-continue(State) ->
- {continue, State, none}.
-
--spec with_selector(next(GBM, GBN), gleam@erlang@process:selector(GBM)) -> next(GBM, GBN).
-with_selector(Value, Selector) ->
- case Value of
- {continue, State, _} ->
- {continue, State, {some, Selector}};
-
- _ ->
- Value
- end.
-
--spec exit_process(gleam@erlang@process:exit_reason()) -> gleam@erlang@process:exit_reason().
-exit_process(Reason) ->
- Reason.
-
--spec selecting_system_messages(gleam@erlang@process:selector(message(GBY))) -> gleam@erlang@process:selector(message(GBY)).
-selecting_system_messages(Selector) ->
- _pipe = Selector,
- gleam@erlang@process:selecting_record3(
- _pipe,
- erlang:binary_to_atom(<<"system"/utf8>>),
- fun gleam_otp_external:convert_system_message/2
- ).
-
--spec receive_message(self(any(), GBU)) -> message(GBU).
-receive_message(Self) ->
- Selector = case erlang:element(2, Self) of
- suspended ->
- _pipe = gleam_erlang_ffi:new_selector(),
- selecting_system_messages(_pipe);
-
- running ->
- _pipe@1 = gleam_erlang_ffi:new_selector(),
- _pipe@2 = gleam@erlang@process:selecting_anything(
- _pipe@1,
- fun(Field@0) -> {unexpected, Field@0} end
- ),
- _pipe@3 = gleam_erlang_ffi:merge_selector(
- _pipe@2,
- erlang:element(6, Self)
- ),
- selecting_system_messages(_pipe@3)
- end,
- gleam_erlang_ffi:select(Selector).
-
--spec process_status_info(self(any(), any())) -> gleam@otp@system:status_info().
-process_status_info(Self) ->
- {status_info,
- erlang:binary_to_atom(<<"gleam@otp@actor"/utf8>>),
- erlang:element(3, Self),
- erlang:element(2, Self),
- erlang:element(7, Self),
- gleam@dynamic:from(erlang:element(4, Self))}.
-
--spec init_selector(
- gleam@erlang@process:subject(GGN),
- gleam@erlang@process:selector(GGN)
-) -> gleam@erlang@process:selector(message(GGN)).
-init_selector(Subject, Selector) ->
- _pipe = gleam_erlang_ffi:new_selector(),
- _pipe@1 = gleam@erlang@process:selecting(
- _pipe,
- Subject,
- fun(Field@0) -> {message, Field@0} end
- ),
- gleam_erlang_ffi:merge_selector(
- _pipe@1,
- gleam_erlang_ffi:map_selector(
- Selector,
- fun(Field@0) -> {message, Field@0} end
- )
- ).
-
--spec loop(self(any(), any())) -> gleam@erlang@process:exit_reason().
-loop(Self) ->
- case receive_message(Self) of
- {system, System} ->
- case System of
- {get_state, Callback} ->
- Callback(gleam@dynamic:from(erlang:element(4, Self))),
- loop(Self);
-
- {resume, Callback@1} ->
- Callback@1(),
- loop(erlang:setelement(2, Self, running));
-
- {suspend, Callback@2} ->
- Callback@2(),
- loop(erlang:setelement(2, Self, suspended));
-
- {get_status, Callback@3} ->
- Callback@3(process_status_info(Self)),
- loop(Self)
- end;
-
- {unexpected, Message} ->
- logger:warning(
- unicode:characters_to_list(
- <<"Actor discarding unexpected message: ~s"/utf8>>
- ),
- [unicode:characters_to_list(gleam@string:inspect(Message))]
- ),
- loop(Self);
-
- {message, Msg} ->
- case (erlang:element(8, Self))(Msg, erlang:element(4, Self)) of
- {stop, Reason} ->
- exit_process(Reason);
-
- {continue, State, New_selector} ->
- Selector = begin
- _pipe = New_selector,
- _pipe@1 = gleam@option:map(
- _pipe,
- fun(_capture) ->
- init_selector(erlang:element(5, Self), _capture)
- end
- ),
- gleam@option:unwrap(_pipe@1, erlang:element(6, Self))
- end,
- loop(
- erlang:setelement(
- 6,
- erlang:setelement(4, Self, State),
- Selector
- )
- )
- end
- end.
-
--spec initialise_actor(
- spec(any(), GCP),
- gleam@erlang@process:subject({ok, gleam@erlang@process:subject(GCP)} |
- {error, gleam@erlang@process:exit_reason()})
-) -> gleam@erlang@process:exit_reason().
-initialise_actor(Spec, Ack) ->
- Subject = gleam@erlang@process:new_subject(),
- case (erlang:element(2, Spec))() of
- {ready, State, Selector} ->
- Selector@1 = init_selector(Subject, Selector),
- gleam@erlang@process:send(Ack, {ok, Subject}),
- Self = {self,
- running,
- gleam@erlang@process:subject_owner(Ack),
- State,
- Subject,
- Selector@1,
- sys:debug_options([]),
- erlang:element(4, Spec)},
- loop(Self);
-
- {failed, Reason} ->
- gleam@erlang@process:send(Ack, {error, {abnormal, Reason}}),
- exit_process({abnormal, Reason})
- end.
-
--spec to_erlang_start_result(
- {ok, gleam@erlang@process:subject(any())} | {error, start_error()}
-) -> {ok, gleam@erlang@process:pid_()} | {error, gleam@dynamic:dynamic_()}.
-to_erlang_start_result(Res) ->
- case Res of
- {ok, X} ->
- {ok, gleam@erlang@process:subject_owner(X)};
-
- {error, X@1} ->
- {error, gleam@dynamic:from(X@1)}
- end.
-
--spec start_spec(spec(any(), GDD)) -> {ok, gleam@erlang@process:subject(GDD)} |
- {error, start_error()}.
-start_spec(Spec) ->
- Ack_subject = gleam@erlang@process:new_subject(),
- Child = gleam@erlang@process:start(
- fun() -> initialise_actor(Spec, Ack_subject) end,
- true
- ),
- Monitor = gleam@erlang@process:monitor_process(Child),
- Selector = begin
- _pipe = gleam_erlang_ffi:new_selector(),
- _pipe@1 = gleam@erlang@process:selecting(
- _pipe,
- Ack_subject,
- fun(Field@0) -> {ack, Field@0} end
- ),
- gleam@erlang@process:selecting_process_down(
- _pipe@1,
- Monitor,
- fun(Field@0) -> {mon, Field@0} end
- )
- end,
- Result = case gleam_erlang_ffi:select(Selector, erlang:element(3, Spec)) of
- {ok, {ack, {ok, Channel}}} ->
- {ok, Channel};
-
- {ok, {ack, {error, Reason}}} ->
- {error, {init_failed, Reason}};
-
- {ok, {mon, Down}} ->
- {error, {init_crashed, erlang:element(3, Down)}};
-
- {error, nil} ->
- gleam@erlang@process:kill(Child),
- {error, init_timeout}
- end,
- gleam_erlang_ffi:demonitor(Monitor),
- Result.
-
--spec start(GDJ, fun((GDK, GDJ) -> next(GDK, GDJ))) -> {ok,
- gleam@erlang@process:subject(GDK)} |
- {error, start_error()}.
-start(State, Loop) ->
- start_spec(
- {spec,
- fun() -> {ready, State, gleam_erlang_ffi:new_selector()} end,
- 5000,
- Loop}
- ).
-
--spec send(gleam@erlang@process:subject(GDQ), GDQ) -> nil.
-send(Subject, Msg) ->
- gleam@erlang@process:send(Subject, Msg).
-
--spec call(
- gleam@erlang@process:subject(GDS),
- fun((gleam@erlang@process:subject(GDU)) -> GDS),
- integer()
-) -> GDU.
-call(Selector, Make_message, Timeout) ->
- gleam@erlang@process:call(Selector, Make_message, Timeout).
diff --git a/aoc2023/build/packages/gleam_otp/src/gleam@otp@intensity_tracker.erl b/aoc2023/build/packages/gleam_otp/src/gleam@otp@intensity_tracker.erl
deleted file mode 100644
index 8792f14..0000000
--- a/aoc2023/build/packages/gleam_otp/src/gleam@otp@intensity_tracker.erl
+++ /dev/null
@@ -1,53 +0,0 @@
--module(gleam@otp@intensity_tracker).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([new/2, trim_window/3, add_event/1]).
--export_type([intensity_tracker/0, too_intense/0]).
-
--opaque intensity_tracker() :: {intensity_tracker,
- integer(),
- integer(),
- list(integer())}.
-
--type too_intense() :: too_intense.
-
--spec new(integer(), integer()) -> intensity_tracker().
-new(Limit, Period) ->
- {intensity_tracker, Limit, Period, []}.
-
--spec now_seconds() -> integer().
-now_seconds() ->
- erlang:monotonic_time(1).
-
--spec trim_window(list(integer()), integer(), integer()) -> list(integer()).
-trim_window(Events, Now, Period) ->
- case Events of
- [] ->
- [];
-
- [Event | Events@1] ->
- case Now >= (Event + Period) of
- true ->
- [Event | trim_window(Events@1, Now, Period)];
-
- false ->
- []
- end
- end.
-
--spec add_event(intensity_tracker()) -> {ok, intensity_tracker()} |
- {error, too_intense()}.
-add_event(Tracker) ->
- Now = now_seconds(),
- Events = trim_window(
- [Now | erlang:element(4, Tracker)],
- Now,
- erlang:element(3, Tracker)
- ),
- case gleam@list:length(Events) >= erlang:element(2, Tracker) of
- true ->
- {error, too_intense};
-
- false ->
- {ok, erlang:setelement(4, Tracker, Events)}
- end.
diff --git a/aoc2023/build/packages/gleam_otp/src/gleam@otp@port.erl b/aoc2023/build/packages/gleam_otp/src/gleam@otp@port.erl
deleted file mode 100644
index b205739..0000000
--- a/aoc2023/build/packages/gleam_otp/src/gleam@otp@port.erl
+++ /dev/null
@@ -1,8 +0,0 @@
--module(gleam@otp@port).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export_type([port_/0]).
-
--type port_() :: any().
-
-
diff --git a/aoc2023/build/packages/gleam_otp/src/gleam@otp@supervisor.erl b/aoc2023/build/packages/gleam_otp/src/gleam@otp@supervisor.erl
deleted file mode 100644
index 39118f1..0000000
--- a/aoc2023/build/packages/gleam_otp/src/gleam@otp@supervisor.erl
+++ /dev/null
@@ -1,322 +0,0 @@
--module(gleam@otp@supervisor).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([add/2, supervisor/1, worker/1, returning/2, start_spec/1, start/1, application_stopped/0, to_erlang_start_result/1]).
--export_type([spec/2, children/1, child_spec/3, child_start_error/0, message/0, instruction/0, state/1, starter/1, child/1, handle_exit_error/0, application_start_mode/0, application_stop/0]).
-
--type spec(GLS, GLT) :: {spec,
- GLS,
- integer(),
- integer(),
- fun((children(GLS)) -> children(GLT))}.
-
--opaque children(GLU) :: {ready, starter(GLU)} | {failed, child_start_error()}.
-
--opaque child_spec(GLV, GLW, GLX) :: {child_spec,
- fun((GLW) -> {ok, gleam@erlang@process:subject(GLV)} |
- {error, gleam@otp@actor:start_error()}),
- fun((GLW, gleam@erlang@process:subject(GLV)) -> GLX)}.
-
--type child_start_error() :: {child_start_error,
- gleam@option:option(gleam@erlang@process:pid_()),
- gleam@otp@actor:start_error()}.
-
--opaque message() :: {exit, gleam@erlang@process:exit_message()} |
- {retry_restart, gleam@erlang@process:pid_()}.
-
--type instruction() :: start_all | {start_from, gleam@erlang@process:pid_()}.
-
--type state(GLY) :: {state,
- gleam@otp@intensity_tracker:intensity_tracker(),
- starter(GLY),
- gleam@erlang@process:subject(gleam@erlang@process:pid_())}.
-
--type starter(GLZ) :: {starter,
- GLZ,
- gleam@option:option(fun((instruction()) -> {ok,
- {starter(GLZ), instruction()}} |
- {error, child_start_error()}))}.
-
--type child(GMA) :: {child, gleam@erlang@process:pid_(), GMA}.
-
--type handle_exit_error() :: {restart_failed,
- gleam@erlang@process:pid_(),
- gleam@otp@intensity_tracker:intensity_tracker()} |
- too_many_restarts.
-
--type application_start_mode() :: normal |
- {takeover, gleam@erlang@node:node_()} |
- {failover, gleam@erlang@node:node_()}.
-
--type application_stop() :: any().
-
--spec start_child(child_spec(any(), GME, GMF), GME) -> {ok, child(GMF)} |
- {error, child_start_error()}.
-start_child(Child_spec, Argument) ->
- gleam@result:then(
- begin
- _pipe = (erlang:element(2, Child_spec))(Argument),
- gleam@result:map_error(
- _pipe,
- fun(_capture) -> {child_start_error, none, _capture} end
- )
- end,
- fun(Subject) ->
- {ok,
- {child,
- gleam@erlang@process:subject_owner(Subject),
- (erlang:element(3, Child_spec))(Argument, Subject)}}
- end
- ).
-
--spec shutdown_child(
- gleam@erlang@process:pid_(),
- child_spec(any(), any(), any())
-) -> nil.
-shutdown_child(Pid, _) ->
- gleam@erlang@process:send_exit(Pid).
-
--spec perform_instruction_for_child(
- GMS,
- instruction(),
- child_spec(any(), GMS, GMU),
- child(GMU)
-) -> {ok, {child(GMU), instruction()}} | {error, child_start_error()}.
-perform_instruction_for_child(Argument, Instruction, Child_spec, Child) ->
- Current = erlang:element(2, Child),
- case Instruction of
- {start_from, Target} when Target =/= Current ->
- {ok, {Child, Instruction}};
-
- _ ->
- shutdown_child(Current, Child_spec),
- gleam@result:then(
- start_child(Child_spec, Argument),
- fun(Child@1) -> {ok, {Child@1, start_all}} end
- )
- end.
-
--spec add_child_to_starter(
- starter(GNC),
- child_spec(any(), GNC, GNF),
- child(GNF)
-) -> starter(GNF).
-add_child_to_starter(Starter, Child_spec, Child) ->
- Starter@3 = fun(Instruction) ->
- gleam@result:then(case erlang:element(3, Starter) of
- {some, Start} ->
- Start(Instruction);
-
- none ->
- {ok, {Starter, Instruction}}
- end, fun(_use0) ->
- {Starter@1, Instruction@1} = _use0,
- gleam@result:then(
- perform_instruction_for_child(
- erlang:element(2, Starter@1),
- Instruction@1,
- Child_spec,
- Child
- ),
- fun(_use0@1) ->
- {Child@1, Instruction@2} = _use0@1,
- Starter@2 = add_child_to_starter(
- Starter@1,
- Child_spec,
- Child@1
- ),
- {ok, {Starter@2, Instruction@2}}
- end
- )
- end)
- end,
- {starter, erlang:element(3, Child), {some, Starter@3}}.
-
--spec start_and_add_child(starter(GNL), child_spec(any(), GNL, GNO)) -> children(GNO).
-start_and_add_child(State, Child_spec) ->
- case start_child(Child_spec, erlang:element(2, State)) of
- {ok, Child} ->
- {ready, add_child_to_starter(State, Child_spec, Child)};
-
- {error, Reason} ->
- {failed, Reason}
- end.
-
--spec add(children(GNT), child_spec(any(), GNT, GNW)) -> children(GNW).
-add(Children, Child_spec) ->
- case Children of
- {failed, Fail} ->
- {failed, Fail};
-
- {ready, State} ->
- start_and_add_child(State, Child_spec)
- end.
-
--spec supervisor(
- fun((GOB) -> {ok, gleam@erlang@process:subject(GOC)} |
- {error, gleam@otp@actor:start_error()})
-) -> child_spec(GOC, GOB, GOB).
-supervisor(Start) ->
- {child_spec, Start, fun(Argument, _) -> Argument end}.
-
--spec worker(
- fun((GOJ) -> {ok, gleam@erlang@process:subject(GOK)} |
- {error, gleam@otp@actor:start_error()})
-) -> child_spec(GOK, GOJ, GOJ).
-worker(Start) ->
- {child_spec, Start, fun(Argument, _) -> Argument end}.
-
--spec returning(
- child_spec(GOR, GOS, any()),
- fun((GOS, gleam@erlang@process:subject(GOR)) -> GOY)
-) -> child_spec(GOR, GOS, GOY).
-returning(Child, Updater) ->
- {child_spec, erlang:element(2, Child), Updater}.
-
--spec init(spec(any(), GPD)) -> gleam@otp@actor:init_result(state(GPD), message()).
-init(Spec) ->
- Retry = gleam@erlang@process:new_subject(),
- gleam_erlang_ffi:trap_exits(true),
- Selector = begin
- _pipe = gleam_erlang_ffi:new_selector(),
- _pipe@1 = gleam@erlang@process:selecting(
- _pipe,
- Retry,
- fun(Field@0) -> {retry_restart, Field@0} end
- ),
- gleam@erlang@process:selecting_trapped_exits(
- _pipe@1,
- fun(Field@0) -> {exit, Field@0} end
- )
- end,
- Result = begin
- _pipe@2 = {starter, erlang:element(2, Spec), none},
- _pipe@3 = {ready, _pipe@2},
- (erlang:element(5, Spec))(_pipe@3)
- end,
- case Result of
- {ready, Starter} ->
- Restarts = gleam@otp@intensity_tracker:new(
- erlang:element(3, Spec),
- erlang:element(4, Spec)
- ),
- State = {state, Restarts, Starter, Retry},
- {ready, State, Selector};
-
- {failed, Error} ->
- {failed, case erlang:element(3, Error) of
- init_timeout ->
- <<"Child initialisation timed out"/utf8>>;
-
- {init_crashed, Reason} ->
- gleam@string:append(
- <<"Child crashed during initialisation: "/utf8>>,
- gleam@string:inspect(Reason)
- );
-
- {init_failed, Reason@1} ->
- gleam@string:append(
- <<"Child failed to start during initialisation: "/utf8>>,
- gleam@string:inspect(Reason@1)
- )
- end}
- end.
-
--spec handle_exit(gleam@erlang@process:pid_(), state(GPJ)) -> gleam@otp@actor:next(message(), state(GPJ)).
-handle_exit(Pid, State) ->
- Outcome = begin
- _assert_subject = erlang:element(3, erlang:element(3, State)),
- {some, Start} = case _assert_subject of
- {some, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam/otp/supervisor"/utf8>>,
- function => <<"handle_exit"/utf8>>,
- line => 293})
- end,
- gleam@result:then(
- begin
- _pipe = erlang:element(2, State),
- _pipe@1 = gleam@otp@intensity_tracker:add_event(_pipe),
- gleam@result:map_error(_pipe@1, fun(_) -> too_many_restarts end)
- end,
- fun(Restarts) ->
- gleam@result:then(
- begin
- _pipe@2 = Start({start_from, Pid}),
- gleam@result:map_error(
- _pipe@2,
- fun(E) ->
- {restart_failed,
- gleam@option:unwrap(
- erlang:element(2, E),
- Pid
- ),
- Restarts}
- end
- )
- end,
- fun(_use0) ->
- {Starter, _} = _use0,
- {ok,
- erlang:setelement(
- 2,
- erlang:setelement(3, State, Starter),
- Restarts
- )}
- end
- )
- end
- )
- end,
- case Outcome of
- {ok, State@1} ->
- gleam@otp@actor:continue(State@1);
-
- {error, {restart_failed, Failed_child, Restarts@1}} ->
- gleam@erlang@process:send(erlang:element(4, State), Failed_child),
- State@2 = erlang:setelement(2, State, Restarts@1),
- gleam@otp@actor:continue(State@2);
-
- {error, too_many_restarts} ->
- {stop,
- {abnormal,
- <<"Child processes restarted too many times within allowed period"/utf8>>}}
- end.
-
--spec loop(message(), state(GPO)) -> gleam@otp@actor:next(message(), state(GPO)).
-loop(Message, State) ->
- case Message of
- {exit, Exit_message} ->
- handle_exit(erlang:element(2, Exit_message), State);
-
- {retry_restart, Pid} ->
- handle_exit(Pid, State)
- end.
-
--spec start_spec(spec(any(), any())) -> {ok,
- gleam@erlang@process:subject(message())} |
- {error, gleam@otp@actor:start_error()}.
-start_spec(Spec) ->
- gleam@otp@actor:start_spec(
- {spec, fun() -> init(Spec) end, 60000, fun loop/2}
- ).
-
--spec start(fun((children(nil)) -> children(any()))) -> {ok,
- gleam@erlang@process:subject(message())} |
- {error, gleam@otp@actor:start_error()}.
-start(Init) ->
- start_spec({spec, nil, 1, 5, Init}).
-
--spec application_stopped() -> application_stop().
-application_stopped() ->
- gleam_otp_external:application_stopped().
-
--spec to_erlang_start_result(
- {ok, gleam@erlang@process:subject(any())} |
- {error, gleam@otp@actor:start_error()}
-) -> {ok, gleam@erlang@process:pid_()} | {error, gleam@dynamic:dynamic_()}.
-to_erlang_start_result(Res) ->
- gleam@otp@actor:to_erlang_start_result(Res).
diff --git a/aoc2023/build/packages/gleam_otp/src/gleam@otp@system.erl b/aoc2023/build/packages/gleam_otp/src/gleam@otp@system.erl
deleted file mode 100644
index 622e5ea..0000000
--- a/aoc2023/build/packages/gleam_otp/src/gleam@otp@system.erl
+++ /dev/null
@@ -1,43 +0,0 @@
--module(gleam@otp@system).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([debug_state/1, get_state/1, suspend/1, resume/1]).
--export_type([mode/0, debug_option/0, debug_state/0, status_info/0, system_message/0, do_not_leak/0]).
-
--type mode() :: running | suspended.
-
--type debug_option() :: no_debug.
-
--type debug_state() :: any().
-
--type status_info() :: {status_info,
- gleam@erlang@atom:atom_(),
- gleam@erlang@process:pid_(),
- mode(),
- debug_state(),
- gleam@dynamic:dynamic_()}.
-
--type system_message() :: {resume, fun(() -> nil)} |
- {suspend, fun(() -> nil)} |
- {get_state, fun((gleam@dynamic:dynamic_()) -> nil)} |
- {get_status, fun((status_info()) -> nil)}.
-
--type do_not_leak() :: any().
-
--spec debug_state(list(debug_option())) -> debug_state().
-debug_state(A) ->
- sys:debug_options(A).
-
--spec get_state(gleam@erlang@process:pid_()) -> gleam@dynamic:dynamic_().
-get_state(From) ->
- sys:get_state(From).
-
--spec suspend(gleam@erlang@process:pid_()) -> nil.
-suspend(Pid) ->
- sys:suspend(Pid),
- nil.
-
--spec resume(gleam@erlang@process:pid_()) -> nil.
-resume(Pid) ->
- sys:resume(Pid),
- nil.
diff --git a/aoc2023/build/packages/gleam_otp/src/gleam@otp@task.erl b/aoc2023/build/packages/gleam_otp/src/gleam@otp@task.erl
deleted file mode 100644
index e004284..0000000
--- a/aoc2023/build/packages/gleam_otp/src/gleam@otp@task.erl
+++ /dev/null
@@ -1,111 +0,0 @@
--module(gleam@otp@task).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([async/1, try_await/2, await/2, try_await_forever/1, await_forever/1]).
--export_type([task/1, await_error/0, message/1]).
-
--opaque task(FWJ) :: {task,
- gleam@erlang@process:pid_(),
- gleam@erlang@process:pid_(),
- gleam@erlang@process:process_monitor(),
- gleam@erlang@process:selector(message(FWJ))}.
-
--type await_error() :: timeout | {exit, gleam@dynamic:dynamic_()}.
-
--type message(FWK) :: {from_monitor, gleam@erlang@process:process_down()} |
- {from_subject, FWK}.
-
--spec async(fun(() -> FWL)) -> task(FWL).
-async(Work) ->
- Owner = erlang:self(),
- Subject = gleam@erlang@process:new_subject(),
- Pid = gleam@erlang@process:start(
- fun() -> gleam@erlang@process:send(Subject, Work()) end,
- true
- ),
- Monitor = gleam@erlang@process:monitor_process(Pid),
- Selector = begin
- _pipe = gleam_erlang_ffi:new_selector(),
- _pipe@1 = gleam@erlang@process:selecting_process_down(
- _pipe,
- Monitor,
- fun(Field@0) -> {from_monitor, Field@0} end
- ),
- gleam@erlang@process:selecting(
- _pipe@1,
- Subject,
- fun(Field@0) -> {from_subject, Field@0} end
- )
- end,
- {task, Owner, Pid, Monitor, Selector}.
-
--spec assert_owner(task(any())) -> nil.
-assert_owner(Task) ->
- Self = erlang:self(),
- case erlang:element(2, Task) =:= Self of
- true ->
- nil;
-
- false ->
- gleam@erlang@process:send_abnormal_exit(
- Self,
- <<"awaited on a task that does not belong to this process"/utf8>>
- )
- end.
-
--spec try_await(task(FWP), integer()) -> {ok, FWP} | {error, await_error()}.
-try_await(Task, Timeout) ->
- assert_owner(Task),
- case gleam_erlang_ffi:select(erlang:element(5, Task), Timeout) of
- {ok, {from_subject, X}} ->
- gleam_erlang_ffi:demonitor(erlang:element(4, Task)),
- {ok, X};
-
- {ok, {from_monitor, {process_down, _, Reason}}} ->
- {error, {exit, Reason}};
-
- {error, nil} ->
- {error, timeout}
- end.
-
--spec await(task(FWT), integer()) -> FWT.
-await(Task, Timeout) ->
- _assert_subject = try_await(Task, Timeout),
- {ok, Value} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam/otp/task"/utf8>>,
- function => <<"await"/utf8>>,
- line => 117})
- end,
- Value.
-
--spec try_await_forever(task(FWV)) -> {ok, FWV} | {error, await_error()}.
-try_await_forever(Task) ->
- assert_owner(Task),
- case gleam_erlang_ffi:select(erlang:element(5, Task)) of
- {from_subject, X} ->
- gleam_erlang_ffi:demonitor(erlang:element(4, Task)),
- {ok, X};
-
- {from_monitor, {process_down, _, Reason}} ->
- {error, {exit, Reason}}
- end.
-
--spec await_forever(task(FWZ)) -> FWZ.
-await_forever(Task) ->
- _assert_subject = try_await_forever(Task),
- {ok, Value} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"gleam/otp/task"/utf8>>,
- function => <<"await_forever"/utf8>>,
- line => 149})
- end,
- Value.
diff --git a/aoc2023/build/packages/gleam_otp/src/gleam_otp.app.src b/aoc2023/build/packages/gleam_otp/src/gleam_otp.app.src
deleted file mode 100644
index 5c52295..0000000
--- a/aoc2023/build/packages/gleam_otp/src/gleam_otp.app.src
+++ /dev/null
@@ -1,15 +0,0 @@
-{application, gleam_otp, [
- {vsn, "0.8.0"},
- {applications, [gleam_erlang,
- gleam_stdlib,
- gleeunit]},
- {description, "Fault tolerant multicore Gleam programs with OTP"},
- {modules, [gleam@otp@actor,
- gleam@otp@intensity_tracker,
- gleam@otp@port,
- gleam@otp@supervisor,
- gleam@otp@system,
- gleam@otp@task,
- gleam_otp]},
- {registered, []}
-]}.
diff --git a/aoc2023/build/packages/gleam_otp/src/gleam_otp.erl b/aoc2023/build/packages/gleam_otp/src/gleam_otp.erl
deleted file mode 100644
index 9381ad2..0000000
--- a/aoc2023/build/packages/gleam_otp/src/gleam_otp.erl
+++ /dev/null
@@ -1,28 +0,0 @@
--module(gleam_otp).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([main/0]).
-
--spec spawn_task(integer()) -> gleam@otp@task:task(nil).
-spawn_task(I) ->
- gleam@otp@task:async(fun() -> case (I rem 500) =:= 0 of
- true ->
- gleam@io:println(
- <<"Hello from "/utf8, (gleam@int:to_string(I))/binary>>
- );
-
- false ->
- nil
- end end).
-
--spec main() -> integer().
-main() ->
- gleam@io:debug(
- gleam_otp_test_external:get_message_queue_length(erlang:self())
- ),
- _pipe = gleam@list:range(0, 1000000),
- _pipe@1 = gleam@list:map(_pipe, fun spawn_task/1),
- gleam@list:each(_pipe@1, fun gleam@otp@task:await_forever/1),
- gleam@io:debug(
- gleam_otp_test_external:get_message_queue_length(erlang:self())
- ).
diff --git a/aoc2023/build/packages/gleam_otp/src/gleam_otp.gleam b/aoc2023/build/packages/gleam_otp/src/gleam_otp.gleam
deleted file mode 100644
index 69cdd5b..0000000
--- a/aoc2023/build/packages/gleam_otp/src/gleam_otp.gleam
+++ /dev/null
@@ -1,27 +0,0 @@
-import gleam/io
-import gleam/int
-import gleam/list
-import gleam/otp/task
-import gleam/erlang/process.{type Pid}
-
-@external(erlang, "gleam_otp_test_external", "get_message_queue_length")
-fn get_message_queue_length(pid pid: Pid) -> Int
-
-fn spawn_task(i) {
- task.async(fn() {
- case i % 500 == 0 {
- True -> io.println("Hello from " <> int.to_string(i))
- False -> Nil
- }
- })
-}
-
-pub fn main() {
- io.debug(get_message_queue_length(process.self()))
-
- list.range(0, 1_000_000)
- |> list.map(spawn_task)
- |> list.each(task.await_forever)
-
- io.debug(get_message_queue_length(process.self()))
-}
diff --git a/aoc2023/build/packages/gleam_otp/src/gleam_otp_external.erl b/aoc2023/build/packages/gleam_otp/src/gleam_otp_external.erl
deleted file mode 100644
index 8910a67..0000000
--- a/aoc2023/build/packages/gleam_otp/src/gleam_otp_external.erl
+++ /dev/null
@@ -1,43 +0,0 @@
--module(gleam_otp_external).
-
--export([application_stopped/0, convert_system_message/2]).
-
-% TODO: support other system messages
-% {replace_state, StateFn}
-% {change_code, Mod, Vsn, Extra}
-% {terminate, Reason}
-% {debug, {log, Flag}}
-% {debug, {trace, Flag}}
-% {debug, {log_to_file, FileName}}
-% {debug, {statistics, Flag}}
-% {debug, no_debug}
-% {debug, {install, {Func, FuncState}}}
-% {debug, {install, {FuncId, Func, FuncState}}}
-% {debug, {remove, FuncOrId}}
-% GetStatus(Subject(StatusInfo))
-convert_system_message({From, Ref}, Request) when is_pid(From) ->
- Reply = fun(Msg) ->
- erlang:send(From, {Ref, Msg}),
- nil
- end,
- System = fun(Callback) ->
- {system, {Request, Callback}}
- end,
- case Request of
- get_status -> System(fun(Status) -> Reply(process_status(Status)) end);
- get_state -> System(Reply);
- suspend -> System(fun() -> Reply(ok) end);
- resume -> System(fun() -> Reply(ok) end);
- Other -> {unexpeceted, Other}
- end.
-
-process_status({status_info, Module, Parent, Mode, DebugState, State}) ->
- Data = [
- get(), Mode, Parent, DebugState,
- [{header, "Status for Gleam process " ++ pid_to_list(self())},
- {data, [{'Status', Mode}, {'Parent', Parent}, {'State', State}]}]
- ],
- {status, self(), {module, Module}, Data}.
-
-application_stopped() ->
- ok.
diff --git a/aoc2023/build/packages/gleam_stdlib/LICENCE b/aoc2023/build/packages/gleam_stdlib/LICENCE
deleted file mode 100644
index c1dabd0..0000000
--- a/aoc2023/build/packages/gleam_stdlib/LICENCE
+++ /dev/null
@@ -1,191 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- Copyright 2018, Louis Pilfold <louis@lpil.uk>.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
diff --git a/aoc2023/build/packages/gleam_stdlib/README.md b/aoc2023/build/packages/gleam_stdlib/README.md
deleted file mode 100644
index 05c68ca..0000000
--- a/aoc2023/build/packages/gleam_stdlib/README.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# stdlib
-
-<a href="https://github.com/gleam-lang/stdlib/releases"><img src="https://img.shields.io/github/release/gleam-lang/stdlib" alt="GitHub release"></a>
-<a href="https://discord.gg/Fm8Pwmy"><img src="https://img.shields.io/discord/768594524158427167?color=blue" alt="Discord chat"></a>
-![CI](https://github.com/gleam-lang/stdlib/workflows/CI/badge.svg?branch=main)
-
-Gleam's standard library!
-Documentation available on [HexDocs](https://hexdocs.pm/gleam_stdlib/).
-
-## Installation
-
-Add `gleam_stdlib` to your Gleam project.
-
-```sh
-gleam add gleam_stdlib
-```
-
-## Usage
-
-Import the modules you want to use and write some code!
-
-```gleam
-import gleam/string
-
-pub fn greet(name: String) -> String {
- string.concat(["Hello ", name, "!"])
-}
-```
-
-## Targets
-
-Gleam's standard library supports both targets: Erlang and JavaScript.
-
-### Compatibility
-
-This library is compatible with all versions of Erlang/OTP, NodeJS, and
-major browsers that are currently supported by their maintainers. If you
-have a compatibility issue with any platform open an issue and we'll see
-what we can do to help.
diff --git a/aoc2023/build/packages/gleam_stdlib/gleam.toml b/aoc2023/build/packages/gleam_stdlib/gleam.toml
deleted file mode 100644
index 0cb0531..0000000
--- a/aoc2023/build/packages/gleam_stdlib/gleam.toml
+++ /dev/null
@@ -1,16 +0,0 @@
-name = "gleam_stdlib"
-version = "0.33.0"
-gleam = ">= 0.32.0"
-licences = ["Apache-2.0"]
-description = "A standard library for the Gleam programming language"
-
-repository = { type = "github", user = "gleam-lang", repo = "stdlib" }
-links = [
- { title = "Website", href = "https://gleam.run" },
- { title = "Sponsor", href = "https://github.com/sponsors/lpil" },
-]
-
-[javascript.deno]
-allow_read = [
- "./",
-]
diff --git a/aoc2023/build/packages/gleam_stdlib/include/gleam@dynamic_DecodeError.hrl b/aoc2023/build/packages/gleam_stdlib/include/gleam@dynamic_DecodeError.hrl
deleted file mode 100644
index b1135f2..0000000
--- a/aoc2023/build/packages/gleam_stdlib/include/gleam@dynamic_DecodeError.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(decode_error, {
- expected :: binary(),
- found :: binary(),
- path :: list(binary())
-}).
diff --git a/aoc2023/build/packages/gleam_stdlib/include/gleam@iterator_Iterator.hrl b/aoc2023/build/packages/gleam_stdlib/include/gleam@iterator_Iterator.hrl
deleted file mode 100644
index b0d08dc..0000000
--- a/aoc2023/build/packages/gleam_stdlib/include/gleam@iterator_Iterator.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(iterator, {continuation :: fun(() -> gleam@iterator:action(any()))}).
diff --git a/aoc2023/build/packages/gleam_stdlib/include/gleam@iterator_Next.hrl b/aoc2023/build/packages/gleam_stdlib/include/gleam@iterator_Next.hrl
deleted file mode 100644
index 1f61922..0000000
--- a/aoc2023/build/packages/gleam_stdlib/include/gleam@iterator_Next.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(next, {element :: any(), accumulator :: any()}).
diff --git a/aoc2023/build/packages/gleam_stdlib/include/gleam@queue_Queue.hrl b/aoc2023/build/packages/gleam_stdlib/include/gleam@queue_Queue.hrl
deleted file mode 100644
index 88ac25e..0000000
--- a/aoc2023/build/packages/gleam_stdlib/include/gleam@queue_Queue.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(queue, {in :: list(any()), out :: list(any())}).
diff --git a/aoc2023/build/packages/gleam_stdlib/include/gleam@regex_CompileError.hrl b/aoc2023/build/packages/gleam_stdlib/include/gleam@regex_CompileError.hrl
deleted file mode 100644
index ad5511e..0000000
--- a/aoc2023/build/packages/gleam_stdlib/include/gleam@regex_CompileError.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(compile_error, {error :: binary(), byte_index :: integer()}).
diff --git a/aoc2023/build/packages/gleam_stdlib/include/gleam@regex_Match.hrl b/aoc2023/build/packages/gleam_stdlib/include/gleam@regex_Match.hrl
deleted file mode 100644
index 4216619..0000000
--- a/aoc2023/build/packages/gleam_stdlib/include/gleam@regex_Match.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(match, {
- content :: binary(),
- submatches :: list(gleam@option:option(binary()))
-}).
diff --git a/aoc2023/build/packages/gleam_stdlib/include/gleam@regex_Options.hrl b/aoc2023/build/packages/gleam_stdlib/include/gleam@regex_Options.hrl
deleted file mode 100644
index 0074603..0000000
--- a/aoc2023/build/packages/gleam_stdlib/include/gleam@regex_Options.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(options, {case_insensitive :: boolean(), multi_line :: boolean()}).
diff --git a/aoc2023/build/packages/gleam_stdlib/include/gleam@set_Set.hrl b/aoc2023/build/packages/gleam_stdlib/include/gleam@set_Set.hrl
deleted file mode 100644
index 6e1e226..0000000
--- a/aoc2023/build/packages/gleam_stdlib/include/gleam@set_Set.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(set, {map :: gleam@dict:dict(any(), list(nil))}).
diff --git a/aoc2023/build/packages/gleam_stdlib/include/gleam@uri_Uri.hrl b/aoc2023/build/packages/gleam_stdlib/include/gleam@uri_Uri.hrl
deleted file mode 100644
index 50150f4..0000000
--- a/aoc2023/build/packages/gleam_stdlib/include/gleam@uri_Uri.hrl
+++ /dev/null
@@ -1,9 +0,0 @@
--record(uri, {
- scheme :: gleam@option:option(binary()),
- userinfo :: gleam@option:option(binary()),
- host :: gleam@option:option(binary()),
- port :: gleam@option:option(integer()),
- path :: binary(),
- 'query' :: gleam@option:option(binary()),
- fragment :: gleam@option:option(binary())
-}).
diff --git a/aoc2023/build/packages/gleam_stdlib/src/dict.mjs b/aoc2023/build/packages/gleam_stdlib/src/dict.mjs
deleted file mode 100644
index a8309e0..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/dict.mjs
+++ /dev/null
@@ -1,957 +0,0 @@
-/**
- * This file uses jsdoc to annotate types.
- * These types can be checked using the typescript compiler with "checkjs" option.
- */
-
-import { isEqual } from "./gleam.mjs";
-
-const referenceMap = new WeakMap();
-const tempDataView = new DataView(new ArrayBuffer(8));
-let referenceUID = 0;
-/**
- * hash the object by reference using a weak map and incrementing uid
- * @param {any} o
- * @returns {number}
- */
-function hashByReference(o) {
- const known = referenceMap.get(o);
- if (known !== undefined) {
- return known;
- }
- const hash = referenceUID++;
- if (referenceUID === 0x7fffffff) {
- referenceUID = 0;
- }
- referenceMap.set(o, hash);
- return hash;
-}
-/**
- * merge two hashes in an order sensitive way
- * @param {number} a
- * @param {number} b
- * @returns {number}
- */
-function hashMerge(a, b) {
- return (a ^ (b + 0x9e3779b9 + (a << 6) + (a >> 2))) | 0;
-}
-/**
- * standard string hash popularised by java
- * @param {string} s
- * @returns {number}
- */
-function hashString(s) {
- let hash = 0;
- const len = s.length;
- for (let i = 0; i < len; i++) {
- hash = (Math.imul(31, hash) + s.charCodeAt(i)) | 0;
- }
- return hash;
-}
-/**
- * hash a number by converting to two integers and do some jumbling
- * @param {number} n
- * @returns {number}
- */
-function hashNumber(n) {
- tempDataView.setFloat64(0, n);
- const i = tempDataView.getInt32(0);
- const j = tempDataView.getInt32(4);
- return Math.imul(0x45d9f3b, (i >> 16) ^ i) ^ j;
-}
-/**
- * hash a BigInt by converting it to a string and hashing that
- * @param {BigInt} n
- * @returns {number}
- */
-function hashBigInt(n) {
- return hashString(n.toString());
-}
-/**
- * hash any js object
- * @param {any} o
- * @returns {number}
- */
-function hashObject(o) {
- const proto = Object.getPrototypeOf(o);
- if (proto !== null && typeof proto.hashCode === "function") {
- try {
- const code = o.hashCode(o);
- if (typeof code === "number") {
- return code;
- }
- } catch {}
- }
- if (o instanceof Promise || o instanceof WeakSet || o instanceof WeakMap) {
- return hashByReference(o);
- }
- if (o instanceof Date) {
- return hashNumber(o.getTime());
- }
- let h = 0;
- if (o instanceof ArrayBuffer) {
- o = new Uint8Array(o);
- }
- if (Array.isArray(o) || o instanceof Uint8Array) {
- for (let i = 0; i < o.length; i++) {
- h = (Math.imul(31, h) + getHash(o[i])) | 0;
- }
- } else if (o instanceof Set) {
- o.forEach((v) => {
- h = (h + getHash(v)) | 0;
- });
- } else if (o instanceof Map) {
- o.forEach((v, k) => {
- h = (h + hashMerge(getHash(v), getHash(k))) | 0;
- });
- } else {
- const keys = Object.keys(o);
- for (let i = 0; i < keys.length; i++) {
- const k = keys[i];
- const v = o[k];
- h = (h + hashMerge(getHash(v), hashString(k))) | 0;
- }
- }
- return h;
-}
-/**
- * hash any js value
- * @param {any} u
- * @returns {number}
- */
-export function getHash(u) {
- if (u === null) return 0x42108422;
- if (u === undefined) return 0x42108423;
- if (u === true) return 0x42108421;
- if (u === false) return 0x42108420;
- switch (typeof u) {
- case "number":
- return hashNumber(u);
- case "string":
- return hashString(u);
- case "bigint":
- return hashBigInt(u);
- case "object":
- return hashObject(u);
- case "symbol":
- return hashByReference(u);
- case "function":
- return hashByReference(u);
- default:
- return 0; // should be unreachable
- }
-}
-/**
- * @template K,V
- * @typedef {ArrayNode<K,V> | IndexNode<K,V> | CollisionNode<K,V>} Node
- */
-/**
- * @template K,V
- * @typedef {{ type: typeof ENTRY, k: K, v: V }} Entry
- */
-/**
- * @template K,V
- * @typedef {{ type: typeof ARRAY_NODE, size: number, array: (undefined | Entry<K,V> | Node<K,V>)[] }} ArrayNode
- */
-/**
- * @template K,V
- * @typedef {{ type: typeof INDEX_NODE, bitmap: number, array: (Entry<K,V> | Node<K,V>)[] }} IndexNode
- */
-/**
- * @template K,V
- * @typedef {{ type: typeof COLLISION_NODE, hash: number, array: Entry<K, V>[] }} CollisionNode
- */
-/**
- * @typedef {{ val: boolean }} Flag
- */
-const SHIFT = 5; // number of bits you need to shift by to get the next bucket
-const BUCKET_SIZE = Math.pow(2, SHIFT);
-const MASK = BUCKET_SIZE - 1; // used to zero out all bits not in the bucket
-const MAX_INDEX_NODE = BUCKET_SIZE / 2; // when does index node grow into array node
-const MIN_ARRAY_NODE = BUCKET_SIZE / 4; // when does array node shrink to index node
-const ENTRY = 0;
-const ARRAY_NODE = 1;
-const INDEX_NODE = 2;
-const COLLISION_NODE = 3;
-/** @type {IndexNode<any,any>} */
-const EMPTY = {
- type: INDEX_NODE,
- bitmap: 0,
- array: [],
-};
-/**
- * Mask the hash to get only the bucket corresponding to shift
- * @param {number} hash
- * @param {number} shift
- * @returns {number}
- */
-function mask(hash, shift) {
- return (hash >>> shift) & MASK;
-}
-/**
- * Set only the Nth bit where N is the masked hash
- * @param {number} hash
- * @param {number} shift
- * @returns {number}
- */
-function bitpos(hash, shift) {
- return 1 << mask(hash, shift);
-}
-/**
- * Count the number of 1 bits in a number
- * @param {number} x
- * @returns {number}
- */
-function bitcount(x) {
- x -= (x >> 1) & 0x55555555;
- x = (x & 0x33333333) + ((x >> 2) & 0x33333333);
- x = (x + (x >> 4)) & 0x0f0f0f0f;
- x += x >> 8;
- x += x >> 16;
- return x & 0x7f;
-}
-/**
- * Calculate the array index of an item in a bitmap index node
- * @param {number} bitmap
- * @param {number} bit
- * @returns {number}
- */
-function index(bitmap, bit) {
- return bitcount(bitmap & (bit - 1));
-}
-/**
- * Efficiently copy an array and set one value at an index
- * @template T
- * @param {T[]} arr
- * @param {number} at
- * @param {T} val
- * @returns {T[]}
- */
-function cloneAndSet(arr, at, val) {
- const len = arr.length;
- const out = new Array(len);
- for (let i = 0; i < len; ++i) {
- out[i] = arr[i];
- }
- out[at] = val;
- return out;
-}
-/**
- * Efficiently copy an array and insert one value at an index
- * @template T
- * @param {T[]} arr
- * @param {number} at
- * @param {T} val
- * @returns {T[]}
- */
-function spliceIn(arr, at, val) {
- const len = arr.length;
- const out = new Array(len + 1);
- let i = 0;
- let g = 0;
- while (i < at) {
- out[g++] = arr[i++];
- }
- out[g++] = val;
- while (i < len) {
- out[g++] = arr[i++];
- }
- return out;
-}
-/**
- * Efficiently copy an array and remove one value at an index
- * @template T
- * @param {T[]} arr
- * @param {number} at
- * @returns {T[]}
- */
-function spliceOut(arr, at) {
- const len = arr.length;
- const out = new Array(len - 1);
- let i = 0;
- let g = 0;
- while (i < at) {
- out[g++] = arr[i++];
- }
- ++i;
- while (i < len) {
- out[g++] = arr[i++];
- }
- return out;
-}
-/**
- * Create a new node containing two entries
- * @template K,V
- * @param {number} shift
- * @param {K} key1
- * @param {V} val1
- * @param {number} key2hash
- * @param {K} key2
- * @param {V} val2
- * @returns {Node<K,V>}
- */
-function createNode(shift, key1, val1, key2hash, key2, val2) {
- const key1hash = getHash(key1);
- if (key1hash === key2hash) {
- return {
- type: COLLISION_NODE,
- hash: key1hash,
- array: [
- { type: ENTRY, k: key1, v: val1 },
- { type: ENTRY, k: key2, v: val2 },
- ],
- };
- }
- const addedLeaf = { val: false };
- return assoc(
- assocIndex(EMPTY, shift, key1hash, key1, val1, addedLeaf),
- shift,
- key2hash,
- key2,
- val2,
- addedLeaf
- );
-}
-/**
- * @template T,K,V
- * @callback AssocFunction
- * @param {T} root
- * @param {number} shift
- * @param {number} hash
- * @param {K} key
- * @param {V} val
- * @param {Flag} addedLeaf
- * @returns {Node<K,V>}
- */
-/**
- * Associate a node with a new entry, creating a new node
- * @template T,K,V
- * @type {AssocFunction<Node<K,V>,K,V>}
- */
-function assoc(root, shift, hash, key, val, addedLeaf) {
- switch (root.type) {
- case ARRAY_NODE:
- return assocArray(root, shift, hash, key, val, addedLeaf);
- case INDEX_NODE:
- return assocIndex(root, shift, hash, key, val, addedLeaf);
- case COLLISION_NODE:
- return assocCollision(root, shift, hash, key, val, addedLeaf);
- }
-}
-/**
- * @template T,K,V
- * @type {AssocFunction<ArrayNode<K,V>,K,V>}
- */
-function assocArray(root, shift, hash, key, val, addedLeaf) {
- const idx = mask(hash, shift);
- const node = root.array[idx];
- // if the corresponding index is empty set the index to a newly created node
- if (node === undefined) {
- addedLeaf.val = true;
- return {
- type: ARRAY_NODE,
- size: root.size + 1,
- array: cloneAndSet(root.array, idx, { type: ENTRY, k: key, v: val }),
- };
- }
- if (node.type === ENTRY) {
- // if keys are equal replace the entry
- if (isEqual(key, node.k)) {
- if (val === node.v) {
- return root;
- }
- return {
- type: ARRAY_NODE,
- size: root.size,
- array: cloneAndSet(root.array, idx, {
- type: ENTRY,
- k: key,
- v: val,
- }),
- };
- }
- // otherwise upgrade the entry to a node and insert
- addedLeaf.val = true;
- return {
- type: ARRAY_NODE,
- size: root.size,
- array: cloneAndSet(
- root.array,
- idx,
- createNode(shift + SHIFT, node.k, node.v, hash, key, val)
- ),
- };
- }
- // otherwise call assoc on the child node
- const n = assoc(node, shift + SHIFT, hash, key, val, addedLeaf);
- // if the child node hasn't changed just return the old root
- if (n === node) {
- return root;
- }
- // otherwise set the index to the new node
- return {
- type: ARRAY_NODE,
- size: root.size,
- array: cloneAndSet(root.array, idx, n),
- };
-}
-/**
- * @template T,K,V
- * @type {AssocFunction<IndexNode<K,V>,K,V>}
- */
-function assocIndex(root, shift, hash, key, val, addedLeaf) {
- const bit = bitpos(hash, shift);
- const idx = index(root.bitmap, bit);
- // if there is already a item at this hash index..
- if ((root.bitmap & bit) !== 0) {
- // if there is a node at the index (not an entry), call assoc on the child node
- const node = root.array[idx];
- if (node.type !== ENTRY) {
- const n = assoc(node, shift + SHIFT, hash, key, val, addedLeaf);
- if (n === node) {
- return root;
- }
- return {
- type: INDEX_NODE,
- bitmap: root.bitmap,
- array: cloneAndSet(root.array, idx, n),
- };
- }
- // otherwise there is an entry at the index
- // if the keys are equal replace the entry with the updated value
- const nodeKey = node.k;
- if (isEqual(key, nodeKey)) {
- if (val === node.v) {
- return root;
- }
- return {
- type: INDEX_NODE,
- bitmap: root.bitmap,
- array: cloneAndSet(root.array, idx, {
- type: ENTRY,
- k: key,
- v: val,
- }),
- };
- }
- // if the keys are not equal, replace the entry with a new child node
- addedLeaf.val = true;
- return {
- type: INDEX_NODE,
- bitmap: root.bitmap,
- array: cloneAndSet(
- root.array,
- idx,
- createNode(shift + SHIFT, nodeKey, node.v, hash, key, val)
- ),
- };
- } else {
- // else there is currently no item at the hash index
- const n = root.array.length;
- // if the number of nodes is at the maximum, expand this node into an array node
- if (n >= MAX_INDEX_NODE) {
- // create a 32 length array for the new array node (one for each bit in the hash)
- const nodes = new Array(32);
- // create and insert a node for the new entry
- const jdx = mask(hash, shift);
- nodes[jdx] = assocIndex(EMPTY, shift + SHIFT, hash, key, val, addedLeaf);
- let j = 0;
- let bitmap = root.bitmap;
- // place each item in the index node into the correct spot in the array node
- // loop through all 32 bits / array positions
- for (let i = 0; i < 32; i++) {
- if ((bitmap & 1) !== 0) {
- const node = root.array[j++];
- nodes[i] = node;
- }
- // shift the bitmap to process the next bit
- bitmap = bitmap >>> 1;
- }
- return {
- type: ARRAY_NODE,
- size: n + 1,
- array: nodes,
- };
- } else {
- // else there is still space in this index node
- // simply insert a new entry at the hash index
- const newArray = spliceIn(root.array, idx, {
- type: ENTRY,
- k: key,
- v: val,
- });
- addedLeaf.val = true;
- return {
- type: INDEX_NODE,
- bitmap: root.bitmap | bit,
- array: newArray,
- };
- }
- }
-}
-/**
- * @template T,K,V
- * @type {AssocFunction<CollisionNode<K,V>,K,V>}
- */
-function assocCollision(root, shift, hash, key, val, addedLeaf) {
- // if there is a hash collision
- if (hash === root.hash) {
- const idx = collisionIndexOf(root, key);
- // if this key already exists replace the entry with the new value
- if (idx !== -1) {
- const entry = root.array[idx];
- if (entry.v === val) {
- return root;
- }
- return {
- type: COLLISION_NODE,
- hash: hash,
- array: cloneAndSet(root.array, idx, { type: ENTRY, k: key, v: val }),
- };
- }
- // otherwise insert the entry at the end of the array
- const size = root.array.length;
- addedLeaf.val = true;
- return {
- type: COLLISION_NODE,
- hash: hash,
- array: cloneAndSet(root.array, size, { type: ENTRY, k: key, v: val }),
- };
- }
- // if there is no hash collision, upgrade to an index node
- return assoc(
- {
- type: INDEX_NODE,
- bitmap: bitpos(root.hash, shift),
- array: [root],
- },
- shift,
- hash,
- key,
- val,
- addedLeaf
- );
-}
-/**
- * Find the index of a key in the collision node's array
- * @template K,V
- * @param {CollisionNode<K,V>} root
- * @param {K} key
- * @returns {number}
- */
-function collisionIndexOf(root, key) {
- const size = root.array.length;
- for (let i = 0; i < size; i++) {
- if (isEqual(key, root.array[i].k)) {
- return i;
- }
- }
- return -1;
-}
-/**
- * @template T,K,V
- * @callback FindFunction
- * @param {T} root
- * @param {number} shift
- * @param {number} hash
- * @param {K} key
- * @returns {undefined | Entry<K,V>}
- */
-/**
- * Return the found entry or undefined if not present in the root
- * @template K,V
- * @type {FindFunction<Node<K,V>,K,V>}
- */
-function find(root, shift, hash, key) {
- switch (root.type) {
- case ARRAY_NODE:
- return findArray(root, shift, hash, key);
- case INDEX_NODE:
- return findIndex(root, shift, hash, key);
- case COLLISION_NODE:
- return findCollision(root, key);
- }
-}
-/**
- * @template K,V
- * @type {FindFunction<ArrayNode<K,V>,K,V>}
- */
-function findArray(root, shift, hash, key) {
- const idx = mask(hash, shift);
- const node = root.array[idx];
- if (node === undefined) {
- return undefined;
- }
- if (node.type !== ENTRY) {
- return find(node, shift + SHIFT, hash, key);
- }
- if (isEqual(key, node.k)) {
- return node;
- }
- return undefined;
-}
-/**
- * @template K,V
- * @type {FindFunction<IndexNode<K,V>,K,V>}
- */
-function findIndex(root, shift, hash, key) {
- const bit = bitpos(hash, shift);
- if ((root.bitmap & bit) === 0) {
- return undefined;
- }
- const idx = index(root.bitmap, bit);
- const node = root.array[idx];
- if (node.type !== ENTRY) {
- return find(node, shift + SHIFT, hash, key);
- }
- if (isEqual(key, node.k)) {
- return node;
- }
- return undefined;
-}
-/**
- * @template K,V
- * @param {CollisionNode<K,V>} root
- * @param {K} key
- * @returns {undefined | Entry<K,V>}
- */
-function findCollision(root, key) {
- const idx = collisionIndexOf(root, key);
- if (idx < 0) {
- return undefined;
- }
- return root.array[idx];
-}
-/**
- * @template T,K,V
- * @callback WithoutFunction
- * @param {T} root
- * @param {number} shift
- * @param {number} hash
- * @param {K} key
- * @returns {undefined | Node<K,V>}
- */
-/**
- * Remove an entry from the root, returning the updated root.
- * Returns undefined if the node should be removed from the parent.
- * @template K,V
- * @type {WithoutFunction<Node<K,V>,K,V>}
- * */
-function without(root, shift, hash, key) {
- switch (root.type) {
- case ARRAY_NODE:
- return withoutArray(root, shift, hash, key);
- case INDEX_NODE:
- return withoutIndex(root, shift, hash, key);
- case COLLISION_NODE:
- return withoutCollision(root, key);
- }
-}
-/**
- * @template K,V
- * @type {WithoutFunction<ArrayNode<K,V>,K,V>}
- */
-function withoutArray(root, shift, hash, key) {
- const idx = mask(hash, shift);
- const node = root.array[idx];
- if (node === undefined) {
- return root; // already empty
- }
- let n = undefined;
- // if node is an entry and the keys are not equal there is nothing to remove
- // if node is not an entry do a recursive call
- if (node.type === ENTRY) {
- if (!isEqual(node.k, key)) {
- return root; // no changes
- }
- } else {
- n = without(node, shift + SHIFT, hash, key);
- if (n === node) {
- return root; // no changes
- }
- }
- // if the recursive call returned undefined the node should be removed
- if (n === undefined) {
- // if the number of child nodes is at the minimum, pack into an index node
- if (root.size <= MIN_ARRAY_NODE) {
- const arr = root.array;
- const out = new Array(root.size - 1);
- let i = 0;
- let j = 0;
- let bitmap = 0;
- while (i < idx) {
- const nv = arr[i];
- if (nv !== undefined) {
- out[j] = nv;
- bitmap |= 1 << i;
- ++j;
- }
- ++i;
- }
- ++i; // skip copying the removed node
- while (i < arr.length) {
- const nv = arr[i];
- if (nv !== undefined) {
- out[j] = nv;
- bitmap |= 1 << i;
- ++j;
- }
- ++i;
- }
- return {
- type: INDEX_NODE,
- bitmap: bitmap,
- array: out,
- };
- }
- return {
- type: ARRAY_NODE,
- size: root.size - 1,
- array: cloneAndSet(root.array, idx, n),
- };
- }
- return {
- type: ARRAY_NODE,
- size: root.size,
- array: cloneAndSet(root.array, idx, n),
- };
-}
-/**
- * @template K,V
- * @type {WithoutFunction<IndexNode<K,V>,K,V>}
- */
-function withoutIndex(root, shift, hash, key) {
- const bit = bitpos(hash, shift);
- if ((root.bitmap & bit) === 0) {
- return root; // already empty
- }
- const idx = index(root.bitmap, bit);
- const node = root.array[idx];
- // if the item is not an entry
- if (node.type !== ENTRY) {
- const n = without(node, shift + SHIFT, hash, key);
- if (n === node) {
- return root; // no changes
- }
- // if not undefined, the child node still has items, so update it
- if (n !== undefined) {
- return {
- type: INDEX_NODE,
- bitmap: root.bitmap,
- array: cloneAndSet(root.array, idx, n),
- };
- }
- // otherwise the child node should be removed
- // if it was the only child node, remove this node from the parent
- if (root.bitmap === bit) {
- return undefined;
- }
- // otherwise just remove the child node
- return {
- type: INDEX_NODE,
- bitmap: root.bitmap ^ bit,
- array: spliceOut(root.array, idx),
- };
- }
- // otherwise the item is an entry, remove it if the key matches
- if (isEqual(key, node.k)) {
- if (root.bitmap === bit) {
- return undefined;
- }
- return {
- type: INDEX_NODE,
- bitmap: root.bitmap ^ bit,
- array: spliceOut(root.array, idx),
- };
- }
- return root;
-}
-/**
- * @template K,V
- * @param {CollisionNode<K,V>} root
- * @param {K} key
- * @returns {undefined | Node<K,V>}
- */
-function withoutCollision(root, key) {
- const idx = collisionIndexOf(root, key);
- // if the key not found, no changes
- if (idx < 0) {
- return root;
- }
- // otherwise the entry was found, remove it
- // if it was the only entry in this node, remove the whole node
- if (root.array.length === 1) {
- return undefined;
- }
- // otherwise just remove the entry
- return {
- type: COLLISION_NODE,
- hash: root.hash,
- array: spliceOut(root.array, idx),
- };
-}
-/**
- * @template K,V
- * @param {undefined | Node<K,V>} root
- * @param {(value:V,key:K)=>void} fn
- * @returns {void}
- */
-function forEach(root, fn) {
- if (root === undefined) {
- return;
- }
- const items = root.array;
- const size = items.length;
- for (let i = 0; i < size; i++) {
- const item = items[i];
- if (item === undefined) {
- continue;
- }
- if (item.type === ENTRY) {
- fn(item.v, item.k);
- continue;
- }
- forEach(item, fn);
- }
-}
-/**
- * Extra wrapper to keep track of Dict size and clean up the API
- * @template K,V
- */
-export default class Dict {
- /**
- * @template V
- * @param {Record<string,V>} o
- * @returns {Dict<string,V>}
- */
- static fromObject(o) {
- const keys = Object.keys(o);
- /** @type Dict<string,V> */
- let m = Dict.new();
- for (let i = 0; i < keys.length; i++) {
- const k = keys[i];
- m = m.set(k, o[k]);
- }
- return m;
- }
- /**
- * @template K,V
- * @param {Map<K,V>} o
- * @returns {Dict<K,V>}
- */
- static fromMap(o) {
- /** @type Dict<K,V> */
- let m = Dict.new();
- o.forEach((v, k) => {
- m = m.set(k, v);
- });
- return m;
- }
- static new() {
- return new Dict(undefined, 0);
- }
- /**
- * @param {undefined | Node<K,V>} root
- * @param {number} size
- */
- constructor(root, size) {
- this.root = root;
- this.size = size;
- }
- /**
- * @template NotFound
- * @param {K} key
- * @param {NotFound} notFound
- * @returns {NotFound | V}
- */
- get(key, notFound) {
- if (this.root === undefined) {
- return notFound;
- }
- const found = find(this.root, 0, getHash(key), key);
- if (found === undefined) {
- return notFound;
- }
- return found.v;
- }
- /**
- * @param {K} key
- * @param {V} val
- * @returns {Dict<K,V>}
- */
- set(key, val) {
- const addedLeaf = { val: false };
- const root = this.root === undefined ? EMPTY : this.root;
- const newRoot = assoc(root, 0, getHash(key), key, val, addedLeaf);
- if (newRoot === this.root) {
- return this;
- }
- return new Dict(newRoot, addedLeaf.val ? this.size + 1 : this.size);
- }
- /**
- * @param {K} key
- * @returns {Dict<K,V>}
- */
- delete(key) {
- if (this.root === undefined) {
- return this;
- }
- const newRoot = without(this.root, 0, getHash(key), key);
- if (newRoot === this.root) {
- return this;
- }
- if (newRoot === undefined) {
- return Dict.new();
- }
- return new Dict(newRoot, this.size - 1);
- }
- /**
- * @param {K} key
- * @returns {boolean}
- */
- has(key) {
- if (this.root === undefined) {
- return false;
- }
- return find(this.root, 0, getHash(key), key) !== undefined;
- }
- /**
- * @returns {[K,V][]}
- */
- entries() {
- if (this.root === undefined) {
- return [];
- }
- /** @type [K,V][] */
- const result = [];
- this.forEach((v, k) => result.push([k, v]));
- return result;
- }
- /**
- *
- * @param {(val:V,key:K)=>void} fn
- */
- forEach(fn) {
- forEach(this.root, fn);
- }
- hashCode() {
- let h = 0;
- this.forEach((v, k) => {
- h = (h + hashMerge(getHash(v), getHash(k))) | 0;
- });
- return h;
- }
- /**
- * @param {unknown} o
- * @returns {boolean}
- */
- equals(o) {
- if (!(o instanceof Dict) || this.size !== o.size) {
- return false;
- }
- let equal = true;
- this.forEach((v, k) => {
- equal = equal && isEqual(o.get(k, !v), v);
- });
- return equal;
- }
-}
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam/base.gleam b/aoc2023/build/packages/gleam_stdlib/src/gleam/base.gleam
deleted file mode 100644
index eab2f0b..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam/base.gleam
+++ /dev/null
@@ -1,21 +0,0 @@
-import gleam/bit_array
-
-@deprecated("Please use `base64_encode` in the `gleam/bit_array` module instead.")
-pub fn encode64(input: BitArray, padding: Bool) -> String {
- bit_array.base64_encode(input, padding)
-}
-
-@deprecated("Please use `base64_decode` in the `gleam/bit_array` module instead.")
-pub fn decode64(encoded: String) -> Result(BitArray, Nil) {
- bit_array.base64_decode(encoded)
-}
-
-@deprecated("Please use `base64_url_encode` in the `gleam/bit_array` module instead.")
-pub fn url_encode64(input: BitArray, padding: Bool) -> String {
- bit_array.base64_url_encode(input, padding)
-}
-
-@deprecated("Please use `base64_url_decode` in the `gleam/bit_array` module instead.")
-pub fn url_decode64(encoded: String) -> Result(BitArray, Nil) {
- bit_array.base64_url_decode(encoded)
-}
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam/bit_array.gleam b/aoc2023/build/packages/gleam_stdlib/src/gleam/bit_array.gleam
deleted file mode 100644
index 79860e9..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam/bit_array.gleam
+++ /dev/null
@@ -1,157 +0,0 @@
-//// BitArrays are a sequence of binary data of any length.
-
-import gleam/string
-
-/// Converts a UTF-8 `String` type into a `BitArray`.
-///
-@external(erlang, "gleam_stdlib", "identity")
-@external(javascript, "../gleam_stdlib.mjs", "bit_array_from_string")
-pub fn from_string(x: String) -> BitArray
-
-/// Returns an integer which is the number of bytes in the bit array.
-///
-@external(erlang, "erlang", "byte_size")
-@external(javascript, "../gleam_stdlib.mjs", "length")
-pub fn byte_size(x: BitArray) -> Int
-
-/// Creates a new bit array by joining two bit arrays.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > append(to: from_string("butter"), suffix: from_string("fly"))
-/// from_string("butterfly")
-/// ```
-///
-pub fn append(to first: BitArray, suffix second: BitArray) -> BitArray {
- concat([first, second])
-}
-
-/// Extracts a sub-section of a bit array.
-///
-/// The slice will start at given position and continue up to specified
-/// length.
-/// A negative length can be used to extract bytes at the end of a bit array.
-///
-/// This function runs in constant time.
-///
-@external(erlang, "gleam_stdlib", "bit_array_slice")
-@external(javascript, "../gleam_stdlib.mjs", "bit_array_slice")
-pub fn slice(
- from string: BitArray,
- at position: Int,
- take length: Int,
-) -> Result(BitArray, Nil)
-
-/// Tests to see whether a bit array is valid UTF-8.
-///
-pub fn is_utf8(bits: BitArray) -> Bool {
- do_is_utf8(bits)
-}
-
-@target(erlang)
-fn do_is_utf8(bits: BitArray) -> Bool {
- case bits {
- <<>> -> True
- <<_:utf8, rest:bytes>> -> do_is_utf8(rest)
- _ -> False
- }
-}
-
-@target(javascript)
-fn do_is_utf8(bits: BitArray) -> Bool {
- case to_string(bits) {
- Ok(_) -> True
- _ -> False
- }
-}
-
-/// Converts a bit array to a string.
-///
-/// Returns an error if the bit array is invalid UTF-8 data.
-///
-pub fn to_string(bits: BitArray) -> Result(String, Nil) {
- do_to_string(bits)
-}
-
-@target(erlang)
-@external(erlang, "gleam_stdlib", "identity")
-fn unsafe_to_string(a: BitArray) -> String
-
-@target(erlang)
-fn do_to_string(bits: BitArray) -> Result(String, Nil) {
- case is_utf8(bits) {
- True -> Ok(unsafe_to_string(bits))
- False -> Error(Nil)
- }
-}
-
-@target(javascript)
-@external(javascript, "../gleam_stdlib.mjs", "bit_array_to_string")
-fn do_to_string(a: BitArray) -> Result(String, Nil)
-
-/// Creates a new bit array by joining multiple binaries.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > concat([from_string("butter"), from_string("fly")])
-/// from_string("butterfly")
-/// ```
-///
-@external(erlang, "gleam_stdlib", "bit_array_concat")
-@external(javascript, "../gleam_stdlib.mjs", "bit_array_concat")
-pub fn concat(bit_arrays: List(BitArray)) -> BitArray
-
-/// Encodes a BitArray into a base 64 encoded string.
-///
-pub fn base64_encode(input: BitArray, padding: Bool) -> String {
- let encoded = encode64(input)
- case padding {
- True -> encoded
- False -> string.replace(encoded, "=", "")
- }
-}
-
-@external(erlang, "base64", "encode")
-@external(javascript, "../gleam_stdlib.mjs", "encode64")
-fn encode64(a: BitArray) -> String
-
-/// Decodes a base 64 encoded string into a `BitArray`.
-///
-pub fn base64_decode(encoded: String) -> Result(BitArray, Nil) {
- let padded = case byte_size(from_string(encoded)) % 4 {
- 0 -> encoded
- n -> string.append(encoded, string.repeat("=", 4 - n))
- }
- decode64(padded)
-}
-
-@external(erlang, "gleam_stdlib", "base_decode64")
-@external(javascript, "../gleam_stdlib.mjs", "decode64")
-fn decode64(a: String) -> Result(BitArray, Nil)
-
-/// Encodes a `BitArray` into a base 64 encoded string with URL and filename safe alphabet.
-///
-pub fn base64_url_encode(input: BitArray, padding: Bool) -> String {
- base64_encode(input, padding)
- |> string.replace("+", "-")
- |> string.replace("/", "_")
-}
-
-/// Decodes a base 64 encoded string with URL and filename safe alphabet into a `BitArray`.
-///
-pub fn base64_url_decode(encoded: String) -> Result(BitArray, Nil) {
- encoded
- |> string.replace("-", "+")
- |> string.replace("_", "/")
- |> base64_decode()
-}
-
-@external(erlang, "binary", "encode_hex")
-@external(javascript, "../gleam_stdlib.mjs", "base16_encode")
-pub fn base16_encode(input: BitArray) -> String
-
-@external(erlang, "gleam_stdlib", "base16_decode")
-@external(javascript, "../gleam_stdlib.mjs", "base16_decode")
-pub fn base16_decode(input: String) -> Result(BitArray, Nil)
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam/bit_builder.gleam b/aoc2023/build/packages/gleam_stdlib/src/gleam/bit_builder.gleam
deleted file mode 100644
index ce6fe52..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam/bit_builder.gleam
+++ /dev/null
@@ -1,80 +0,0 @@
-//// This module has been deprecated in favour of `gleam/bytes_builder`.
-
-import gleam/bytes_builder
-import gleam/string_builder.{type StringBuilder}
-
-pub type BitBuilder =
- bytes_builder.BytesBuilder
-
-@deprecated("Please use the `gleam/bytes_builder` module instead.")
-pub fn new() -> BitBuilder {
- bytes_builder.new()
-}
-
-@deprecated("Please use the `gleam/bytes_builder` module instead.")
-pub fn prepend(to: BitBuilder, prefix: BitArray) -> BitBuilder {
- bytes_builder.prepend(to, prefix)
-}
-
-@deprecated("Please use the `gleam/bytes_builder` module instead.")
-pub fn append(to: BitBuilder, suffix: BitArray) -> BitBuilder {
- bytes_builder.append(to, suffix)
-}
-
-@deprecated("Please use the `gleam/bytes_builder` module instead.")
-pub fn prepend_builder(to: BitBuilder, prefix: BitBuilder) -> BitBuilder {
- bytes_builder.prepend_builder(to, prefix)
-}
-
-@deprecated("Please use the `gleam/bytes_builder` module instead.")
-pub fn append_builder(
- to first: BitBuilder,
- suffix second: BitBuilder,
-) -> BitBuilder {
- bytes_builder.append_builder(first, second)
-}
-
-@deprecated("Please use the `gleam/bytes_builder` module instead.")
-pub fn prepend_string(to: BitBuilder, prefix: String) -> BitBuilder {
- bytes_builder.prepend_string(to, prefix)
-}
-
-@deprecated("Please use the `gleam/bytes_builder` module instead.")
-pub fn append_string(to: BitBuilder, suffix: String) -> BitBuilder {
- bytes_builder.append_string(to, suffix)
-}
-
-@deprecated("Please use the `gleam/bytes_builder` module instead.")
-pub fn concat(builders: List(BitBuilder)) -> BitBuilder {
- bytes_builder.concat(builders)
-}
-
-@deprecated("Please use the `gleam/bytes_builder` module instead.")
-pub fn concat_bit_strings(bits: List(BitArray)) -> BitBuilder {
- bytes_builder.concat_bit_arrays(bits)
-}
-
-@deprecated("Please use the `gleam/bytes_builder` module instead.")
-pub fn from_string(string: String) -> BitBuilder {
- bytes_builder.from_string(string)
-}
-
-@deprecated("Please use the `gleam/bytes_builder` module instead.")
-pub fn from_string_builder(builder: StringBuilder) -> BitBuilder {
- bytes_builder.from_string_builder(builder)
-}
-
-@deprecated("Please use the `gleam/bytes_builder` module instead.")
-pub fn from_bit_string(bits: BitArray) -> BitBuilder {
- bytes_builder.from_bit_array(bits)
-}
-
-@deprecated("Please use the `gleam/bytes_builder` module instead.")
-pub fn to_bit_string(builder: BitBuilder) -> BitArray {
- bytes_builder.to_bit_array(builder)
-}
-
-@deprecated("Please use the `gleam/bytes_builder` module instead.")
-pub fn byte_size(builder: BitBuilder) -> Int {
- bytes_builder.byte_size(builder)
-}
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam/bit_string.gleam b/aoc2023/build/packages/gleam_stdlib/src/gleam/bit_string.gleam
deleted file mode 100644
index b703da0..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam/bit_string.gleam
+++ /dev/null
@@ -1,43 +0,0 @@
-//// This module has been deprecated. Please use the `gleam/bit_array` module
-//// instead.
-
-import gleam/bit_array
-
-@deprecated("Please use the `gleam/bit_array` module instead.")
-pub fn from_string(x: String) -> BitArray {
- bit_array.from_string(x)
-}
-
-@deprecated("Please use the `gleam/bit_array` module instead.")
-pub fn byte_size(x: BitArray) -> Int {
- bit_array.byte_size(x)
-}
-
-@deprecated("Please use the `gleam/bit_array` module instead.")
-pub fn append(to first: BitArray, suffix second: BitArray) -> BitArray {
- bit_array.append(first, second)
-}
-
-@deprecated("Please use the `gleam/bit_array` module instead.")
-pub fn slice(
- from string: BitArray,
- at position: Int,
- take length: Int,
-) -> Result(BitArray, Nil) {
- bit_array.slice(string, position, length)
-}
-
-@deprecated("Please use the `gleam/bit_array` module instead.")
-pub fn is_utf8(bits: BitArray) -> Bool {
- bit_array.is_utf8(bits)
-}
-
-@deprecated("Please use the `gleam/bit_array` module instead.")
-pub fn to_string(bits: BitArray) -> Result(String, Nil) {
- bit_array.to_string(bits)
-}
-
-@deprecated("Please use the `gleam/bit_array` module instead.")
-pub fn concat(bit_strings: List(BitArray)) -> BitArray {
- bit_array.concat(bit_strings)
-}
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam/bool.gleam b/aoc2023/build/packages/gleam_stdlib/src/gleam/bool.gleam
deleted file mode 100644
index 91bd6b7..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam/bool.gleam
+++ /dev/null
@@ -1,428 +0,0 @@
-//// A type with two possible values, `True` and `False`. Used to indicate whether
-//// things are... true or false!
-////
-//// Often is it clearer and offers more type safety to define a custom type
-//// than to use `Bool`. For example, rather than having a `is_teacher: Bool`
-//// field consider having a `role: SchoolRole` field where `SchoolRole` is a custom
-//// type that can be either `Student` or `Teacher`.
-
-import gleam/order.{type Order}
-
-/// Returns the and of two bools, but it evaluates both arguments.
-///
-/// It's the function equivalent of the `&&` operator.
-/// This function is useful in higher order functions or pipes.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > and(True, True)
-/// True
-/// ```
-///
-/// ```gleam
-/// > and(False, True)
-/// False
-/// ```
-///
-/// ```gleam
-/// > False |> and(True)
-/// False
-/// ```
-///
-pub fn and(a: Bool, b: Bool) -> Bool {
- a && b
-}
-
-/// Returns the or of two bools, but it evaluates both arguments.
-///
-/// It's the function equivalent of the `||` operator.
-/// This function is useful in higher order functions or pipes.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > or(True, True)
-/// True
-/// ```
-///
-/// ```gleam
-/// > or(False, True)
-/// True
-/// ```
-///
-/// ```gleam
-/// > False |> or(True)
-/// True
-/// ```
-///
-pub fn or(a: Bool, b: Bool) -> Bool {
- a || b
-}
-
-/// Returns the opposite bool value.
-///
-/// This is the same as the `!` or `not` operators in some other languages.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > negate(True)
-/// False
-/// ```
-///
-/// ```gleam
-/// > negate(False)
-/// True
-/// ```
-///
-pub fn negate(bool: Bool) -> Bool {
- case bool {
- True -> False
- False -> True
- }
-}
-
-/// Returns the nor of two bools.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > nor(False, False)
-/// True
-/// ```
-///
-/// ```gleam
-/// > nor(False, True)
-/// False
-/// ```
-///
-/// ```gleam
-/// > nor(True, False)
-/// False
-/// ```
-///
-/// ```gleam
-/// > nor(True, True)
-/// False
-/// ```
-///
-pub fn nor(a: Bool, b: Bool) -> Bool {
- case a, b {
- False, False -> True
- False, True -> False
- True, False -> False
- True, True -> False
- }
-}
-
-/// Returns the nand of two bools.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > nand(False, False)
-/// True
-/// ```
-///
-/// ```gleam
-/// > nand(False, True)
-/// True
-/// ```
-///
-/// ```gleam
-/// > nand(True, False)
-/// True
-/// ```
-///
-/// ```gleam
-/// > nand(True, True)
-/// False
-/// ```
-///
-pub fn nand(a: Bool, b: Bool) -> Bool {
- case a, b {
- False, False -> True
- False, True -> True
- True, False -> True
- True, True -> False
- }
-}
-
-/// Returns the exclusive or of two bools.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > exclusive_or(False, False)
-/// False
-/// ```
-///
-/// ```gleam
-/// > exclusive_or(False, True)
-/// True
-/// ```
-///
-/// ```gleam
-/// > exclusive_or(True, False)
-/// True
-/// ```
-///
-/// ```gleam
-/// > exclusive_or(True, True)
-/// False
-/// ```
-///
-pub fn exclusive_or(a: Bool, b: Bool) -> Bool {
- case a, b {
- False, False -> False
- False, True -> True
- True, False -> True
- True, True -> False
- }
-}
-
-/// Returns the exclusive nor of two bools.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > exclusive_nor(False, False)
-/// True
-/// ```
-///
-/// ```gleam
-/// > exclusive_nor(False, True)
-/// False
-/// ```
-///
-/// ```gleam
-/// > exclusive_nor(True, False)
-/// False
-/// ```
-///
-/// ```gleam
-/// > exclusive_nor(True, True)
-/// True
-/// ```
-///
-pub fn exclusive_nor(a: Bool, b: Bool) -> Bool {
- case a, b {
- False, False -> True
- False, True -> False
- True, False -> False
- True, True -> True
- }
-}
-
-/// Compares two bools and returns the first value's `Order` to the second.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > import gleam/order
-/// > compare(True, False)
-/// order.Gt
-/// ```
-///
-pub fn compare(a: Bool, with b: Bool) -> Order {
- case a, b {
- True, True -> order.Eq
- True, False -> order.Gt
- False, False -> order.Eq
- False, True -> order.Lt
- }
-}
-
-/// Returns `True` if either argument's value is `True`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > max(True, False)
-/// True
-/// ```
-///
-/// ```gleam
-/// > max(False, True)
-/// True
-/// ```
-///
-/// ```gleam
-/// > max(False, False)
-/// False
-/// ```
-///
-pub fn max(a: Bool, b: Bool) -> Bool {
- case a {
- True -> True
- False -> b
- }
-}
-
-/// Returns `False` if either bool value is `False`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > min(True, False)
-/// False
-/// ```
-///
-/// ```gleam
-/// > min(False, True)
-/// False
-///
-/// > min(False, False)
-/// False
-/// ```
-///
-pub fn min(a: Bool, b: Bool) -> Bool {
- case a {
- False -> False
- True -> b
- }
-}
-
-/// Returns a numeric representation of the given bool.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > to_int(True)
-/// 1
-///
-/// > to_int(False)
-/// 0
-/// ```
-///
-pub fn to_int(bool: Bool) -> Int {
- case bool {
- False -> 0
- True -> 1
- }
-}
-
-/// Returns a string representation of the given bool.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > to_string(True)
-/// "True"
-/// ```
-///
-/// ```gleam
-/// > to_string(False)
-/// "False"
-/// ```
-///
-pub fn to_string(bool: Bool) -> String {
- case bool {
- False -> "False"
- True -> "True"
- }
-}
-
-/// Run a callback function if the given bool is `False`, otherwise return a
-/// default value.
-///
-/// With a `use` expression this function can simulate the early-return pattern
-/// found in some other programming languages.
-///
-/// In a procedural language:
-///
-/// ```js
-/// if (predicate) return value;
-/// // ...
-/// ```
-///
-/// In Gleam with a `use` expression:
-///
-/// ```gleam
-/// use <- guard(when: predicate, return: value)
-/// // ...
-/// ```
-///
-/// Like everything in Gleam `use` is an expression, so it short circuits the
-/// current block, not the entire function. As a result you can assign the value
-/// to a variable:
-///
-/// ```gleam
-/// let x = {
-/// use <- guard(when: predicate, return: value)
-/// // ...
-/// }
-/// ```
-///
-/// Note that unlike in procedural languages the `return` value is evaluated
-/// even when the predicate is `False`, so it is advisable not to perform
-/// expensive computation there.
-///
-///
-/// ## Examples
-///
-/// ```gleam
-/// > let name = ""
-/// > use <- guard(when: name == "", return: "Welcome!")
-/// > "Hello, " <> name
-/// "Welcome!"
-/// ```
-///
-/// ```gleam
-/// > let name = "Kamaka"
-/// > use <- guard(when: name == "", return: "Welcome!")
-/// > "Hello, " <> name
-/// "Hello, Kamaka"
-/// ```
-///
-pub fn guard(
- when requirement: Bool,
- return consequence: t,
- otherwise alternative: fn() -> t,
-) -> t {
- case requirement {
- True -> consequence
- False -> alternative()
- }
-}
-
-/// Runs a callback function if the given bool is `True`, otherwise runs an
-/// alternative callback function.
-///
-/// Useful when further computation should be delayed regardless of the given
-/// bool's value.
-///
-/// See [`guard`](#guard) for more info.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > let name = "Kamaka"
-/// > let inquiry = fn() { "How may we address you?" }
-/// > use <- lazy_guard(when: name == "", return: inquiry)
-/// > "Hello, " <> name
-/// "Hello, Kamaka"
-/// ```
-///
-/// ```gleam
-/// > import gleam/int
-/// > let name = ""
-/// > let greeting = fn() { "Hello, " <> name }
-/// > use <- lazy_guard(when: name == "", otherwise: greeting)
-/// > let number = int.random(1, 99)
-/// > let name = "User " <> int.to_string(number)
-/// > "Welcome, " <> name
-/// "Welcome, User 54"
-/// ```
-///
-pub fn lazy_guard(
- when requirement: Bool,
- return consequence: fn() -> a,
- otherwise alternative: fn() -> a,
-) -> a {
- case requirement {
- True -> consequence()
- False -> alternative()
- }
-}
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam/bytes_builder.gleam b/aoc2023/build/packages/gleam_stdlib/src/gleam/bytes_builder.gleam
deleted file mode 100644
index 20c145d..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam/bytes_builder.gleam
+++ /dev/null
@@ -1,197 +0,0 @@
-//// BytesBuilder is a type used for efficiently concatenating bytes together
-//// without copying.
-////
-//// If we append one bit array to another the bit arrays must be copied to a
-//// new location in memory so that they can sit together. This behaviour
-//// enables efficient reading of the string but copying can be expensive,
-//// especially if we want to join many bit arrays together.
-////
-//// BytesBuilder is different in that it can be joined together in constant
-//// time using minimal memory, and then can be efficiently converted to a
-//// bit array using the `to_bit_array` function.
-////
-//// Byte builders are always byte aligned, so that a number of bits that is not
-//// divisible by 8 will be padded with 0s.
-////
-//// On Erlang this type is compatible with Erlang's iolists.
-
-// TODO: pad bit arrays to byte boundaries when adding to a builder.
-import gleam/string_builder.{type StringBuilder}
-import gleam/list
-import gleam/bit_array
-
-pub opaque type BytesBuilder {
- Bytes(BitArray)
- Text(StringBuilder)
- Many(List(BytesBuilder))
-}
-
-/// Create an empty `BytesBuilder`. Useful as the start of a pipe chaining many
-/// builders together.
-///
-pub fn new() -> BytesBuilder {
- concat([])
-}
-
-/// Prepends a bit array to the start of a builder.
-///
-/// Runs in constant time.
-///
-pub fn prepend(to second: BytesBuilder, prefix first: BitArray) -> BytesBuilder {
- append_builder(from_bit_array(first), second)
-}
-
-/// Appends a bit array to the end of a builder.
-///
-/// Runs in constant time.
-///
-pub fn append(to first: BytesBuilder, suffix second: BitArray) -> BytesBuilder {
- append_builder(first, from_bit_array(second))
-}
-
-/// Prepends a builder onto the start of another.
-///
-/// Runs in constant time.
-///
-pub fn prepend_builder(
- to second: BytesBuilder,
- prefix first: BytesBuilder,
-) -> BytesBuilder {
- append_builder(first, second)
-}
-
-/// Appends a builder onto the end of another.
-///
-/// Runs in constant time.
-///
-@external(erlang, "gleam_stdlib", "iodata_append")
-pub fn append_builder(
- to first: BytesBuilder,
- suffix second: BytesBuilder,
-) -> BytesBuilder {
- case second {
- Many(builders) -> Many([first, ..builders])
- _ -> Many([first, second])
- }
-}
-
-/// Prepends a string onto the start of a builder.
-///
-/// Runs in constant time when running on Erlang.
-/// Runs in linear time with the length of the string otherwise.
-///
-pub fn prepend_string(
- to second: BytesBuilder,
- prefix first: String,
-) -> BytesBuilder {
- append_builder(from_string(first), second)
-}
-
-/// Appends a string onto the end of a builder.
-///
-/// Runs in constant time when running on Erlang.
-/// Runs in linear time with the length of the string otherwise.
-///
-pub fn append_string(
- to first: BytesBuilder,
- suffix second: String,
-) -> BytesBuilder {
- append_builder(first, from_string(second))
-}
-
-/// Joins a list of builders into a single builder.
-///
-/// Runs in constant time.
-///
-@external(erlang, "gleam_stdlib", "identity")
-pub fn concat(builders: List(BytesBuilder)) -> BytesBuilder {
- Many(builders)
-}
-
-/// Joins a list of bit arrays into a single builder.
-///
-/// Runs in constant time.
-///
-@external(erlang, "gleam_stdlib", "identity")
-pub fn concat_bit_arrays(bits: List(BitArray)) -> BytesBuilder {
- bits
- |> list.map(fn(b) { from_bit_array(b) })
- |> concat()
-}
-
-/// Creates a new builder from a string.
-///
-/// Runs in constant time when running on Erlang.
-/// Runs in linear time otherwise.
-///
-@external(erlang, "gleam_stdlib", "wrap_list")
-pub fn from_string(string: String) -> BytesBuilder {
- Text(string_builder.from_string(string))
-}
-
-/// Creates a new builder from a string builder.
-///
-/// Runs in constant time when running on Erlang.
-/// Runs in linear time otherwise.
-///
-@external(erlang, "gleam_stdlib", "wrap_list")
-pub fn from_string_builder(builder: StringBuilder) -> BytesBuilder {
- Text(builder)
-}
-
-/// Creates a new builder from a bit array.
-///
-/// Runs in constant time.
-///
-@external(erlang, "gleam_stdlib", "wrap_list")
-pub fn from_bit_array(bits: BitArray) -> BytesBuilder {
- Bytes(bits)
-}
-
-/// Turns an builder into a bit array.
-///
-/// Runs in linear time.
-///
-/// When running on Erlang this function is implemented natively by the
-/// virtual machine and is highly optimised.
-///
-@external(erlang, "erlang", "list_to_bitstring")
-pub fn to_bit_array(builder: BytesBuilder) -> BitArray {
- [[builder]]
- |> to_list([])
- |> list.reverse
- |> bit_array.concat
-}
-
-fn to_list(
- stack: List(List(BytesBuilder)),
- acc: List(BitArray),
-) -> List(BitArray) {
- case stack {
- [] -> acc
-
- [[], ..remaining_stack] -> to_list(remaining_stack, acc)
-
- [[Bytes(bits), ..rest], ..remaining_stack] ->
- to_list([rest, ..remaining_stack], [bits, ..acc])
-
- [[Text(builder), ..rest], ..remaining_stack] -> {
- let bits = bit_array.from_string(string_builder.to_string(builder))
- to_list([rest, ..remaining_stack], [bits, ..acc])
- }
-
- [[Many(builders), ..rest], ..remaining_stack] ->
- to_list([builders, rest, ..remaining_stack], acc)
- }
-}
-
-/// Returns the size of the builder's content in bytes.
-///
-/// Runs in linear time.
-///
-@external(erlang, "erlang", "iolist_size")
-pub fn byte_size(builder: BytesBuilder) -> Int {
- [[builder]]
- |> to_list([])
- |> list.fold(0, fn(acc, builder) { bit_array.byte_size(builder) + acc })
-}
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam/dict.gleam b/aoc2023/build/packages/gleam_stdlib/src/gleam/dict.gleam
deleted file mode 100644
index 280bf9d..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam/dict.gleam
+++ /dev/null
@@ -1,544 +0,0 @@
-import gleam/option.{type Option}
-
-/// A dictionary of keys and values.
-///
-/// Any type can be used for the keys and values of a dict, but all the keys
-/// must be of the same type and all the values must be of the same type.
-///
-/// Each key can only be present in a dict once.
-///
-/// Dicts are not ordered in any way, and any unintentional ordering is not to
-/// be relied upon in your code as it may change in future versions of Erlang
-/// or Gleam.
-///
-/// See [the Erlang map module](https://erlang.org/doc/man/maps.html) for more
-/// information.
-///
-pub type Dict(key, value)
-
-/// Determines the number of key-value pairs in the dict.
-/// This function runs in constant time and does not need to iterate the dict.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > new() |> size()
-/// 0
-/// ```
-///
-/// ```gleam
-/// > new() |> insert("key", "value") |> size()
-/// 1
-/// ```
-///
-pub fn size(dict: Dict(k, v)) -> Int {
- do_size(dict)
-}
-
-@external(erlang, "maps", "size")
-@external(javascript, "../gleam_stdlib.mjs", "map_size")
-fn do_size(a: Dict(k, v)) -> Int
-
-/// Converts the dict to a list of 2-element tuples `#(key, value)`, one for
-/// each key-value pair in the dict.
-///
-/// The tuples in the list have no specific order.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > new() |> to_list()
-/// []
-/// ```
-///
-/// ```gleam
-/// > new() |> insert("key", 0) |> to_list()
-/// [#("key", 0)]
-/// ```
-///
-pub fn to_list(dict: Dict(key, value)) -> List(#(key, value)) {
- do_to_list(dict)
-}
-
-@external(erlang, "maps", "to_list")
-@external(javascript, "../gleam_stdlib.mjs", "map_to_list")
-fn do_to_list(a: Dict(key, value)) -> List(#(key, value))
-
-/// Converts a list of 2-element tuples `#(key, value)` to a dict.
-///
-/// If two tuples have the same key the last one in the list will be the one
-/// that is present in the dict.
-///
-pub fn from_list(list: List(#(k, v))) -> Dict(k, v) {
- do_from_list(list)
-}
-
-@target(erlang)
-@external(erlang, "maps", "from_list")
-fn do_from_list(a: List(#(key, value))) -> Dict(key, value)
-
-@target(javascript)
-fn fold_list_of_pair(
- over list: List(#(k, v)),
- from initial: Dict(k, v),
-) -> Dict(k, v) {
- case list {
- [] -> initial
- [x, ..rest] -> fold_list_of_pair(rest, insert(initial, x.0, x.1))
- }
-}
-
-@target(javascript)
-fn do_from_list(list: List(#(k, v))) -> Dict(k, v) {
- fold_list_of_pair(list, new())
-}
-
-/// Determines whether or not a value present in the dict for a given key.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > new() |> insert("a", 0) |> has_key("a")
-/// True
-/// ```
-///
-/// ```gleam
-/// > new() |> insert("a", 0) |> has_key("b")
-/// False
-/// ```
-///
-pub fn has_key(dict: Dict(k, v), key: k) -> Bool {
- do_has_key(key, dict)
-}
-
-@target(erlang)
-@external(erlang, "maps", "is_key")
-fn do_has_key(a: key, b: Dict(key, v)) -> Bool
-
-@target(javascript)
-fn do_has_key(key: k, dict: Dict(k, v)) -> Bool {
- get(dict, key) != Error(Nil)
-}
-
-/// Creates a fresh dict that contains no values.
-///
-pub fn new() -> Dict(key, value) {
- do_new()
-}
-
-@external(erlang, "maps", "new")
-@external(javascript, "../gleam_stdlib.mjs", "new_map")
-fn do_new() -> Dict(key, value)
-
-/// Fetches a value from a dict for a given key.
-///
-/// The dict may not have a value for the key, so the value is wrapped in a
-/// `Result`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > new() |> insert("a", 0) |> get("a")
-/// Ok(0)
-/// ```
-///
-/// ```gleam
-/// > new() |> insert("a", 0) |> get("b")
-/// Error(Nil)
-/// ```
-///
-pub fn get(from: Dict(key, value), get: key) -> Result(value, Nil) {
- do_get(from, get)
-}
-
-@external(erlang, "gleam_stdlib", "map_get")
-@external(javascript, "../gleam_stdlib.mjs", "map_get")
-fn do_get(a: Dict(key, value), b: key) -> Result(value, Nil)
-
-/// Inserts a value into the dict with the given key.
-///
-/// If the dict already has a value for the given key then the value is
-/// replaced with the new value.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > new() |> insert("a", 0) |> to_list
-/// [#("a", 0)]
-/// ```
-///
-/// ```gleam
-/// > new() |> insert("a", 0) |> insert("a", 5) |> to_list
-/// [#("a", 5)]
-/// ```
-///
-pub fn insert(into dict: Dict(k, v), for key: k, insert value: v) -> Dict(k, v) {
- do_insert(key, value, dict)
-}
-
-@external(erlang, "maps", "put")
-@external(javascript, "../gleam_stdlib.mjs", "map_insert")
-fn do_insert(a: key, b: value, c: Dict(key, value)) -> Dict(key, value)
-
-/// Updates all values in a given dict by calling a given function on each key
-/// and value.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > [#(3, 3), #(2, 4)]
-/// > |> from_list
-/// > |> map_values(fn(key, value) { key * value })
-/// [#(3, 9), #(2, 8)]
-/// ```
-///
-pub fn map_values(in dict: Dict(k, v), with fun: fn(k, v) -> w) -> Dict(k, w) {
- do_map_values(fun, dict)
-}
-
-@target(erlang)
-@external(erlang, "maps", "map")
-fn do_map_values(a: fn(key, value) -> b, b: Dict(key, value)) -> Dict(key, b)
-
-@target(javascript)
-fn do_map_values(f: fn(key, value) -> b, dict: Dict(key, value)) -> Dict(key, b) {
- let f = fn(dict, k, v) { insert(dict, k, f(k, v)) }
- dict
- |> fold(from: new(), with: f)
-}
-
-/// Gets a list of all keys in a given dict.
-///
-/// Dicts are not ordered so the keys are not returned in any specific order. Do
-/// not write code that relies on the order keys are returned by this function
-/// as it may change in later versions of Gleam or Erlang.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > keys([#("a", 0), #("b", 1)])
-/// ["a", "b"]
-/// ```
-///
-pub fn keys(dict: Dict(keys, v)) -> List(keys) {
- do_keys(dict)
-}
-
-@target(erlang)
-@external(erlang, "maps", "keys")
-fn do_keys(a: Dict(keys, v)) -> List(keys)
-
-@target(javascript)
-fn reverse_and_concat(remaining, accumulator) {
- case remaining {
- [] -> accumulator
- [item, ..rest] -> reverse_and_concat(rest, [item, ..accumulator])
- }
-}
-
-@target(javascript)
-fn do_keys_acc(list: List(#(k, v)), acc: List(k)) -> List(k) {
- case list {
- [] -> reverse_and_concat(acc, [])
- [x, ..xs] -> do_keys_acc(xs, [x.0, ..acc])
- }
-}
-
-@target(javascript)
-fn do_keys(dict: Dict(k, v)) -> List(k) {
- let list_of_pairs = to_list(dict)
- do_keys_acc(list_of_pairs, [])
-}
-
-/// Gets a list of all values in a given dict.
-///
-/// Dicts are not ordered so the values are not returned in any specific order. Do
-/// not write code that relies on the order values are returned by this function
-/// as it may change in later versions of Gleam or Erlang.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > values(from_list([#("a", 0), #("b", 1)]))
-/// [0, 1]
-/// ```
-///
-pub fn values(dict: Dict(k, values)) -> List(values) {
- do_values(dict)
-}
-
-@target(erlang)
-@external(erlang, "maps", "values")
-fn do_values(a: Dict(k, values)) -> List(values)
-
-@target(javascript)
-fn do_values_acc(list: List(#(k, v)), acc: List(v)) -> List(v) {
- case list {
- [] -> reverse_and_concat(acc, [])
- [x, ..xs] -> do_values_acc(xs, [x.1, ..acc])
- }
-}
-
-@target(javascript)
-fn do_values(dict: Dict(k, v)) -> List(v) {
- let list_of_pairs = to_list(dict)
- do_values_acc(list_of_pairs, [])
-}
-
-/// Creates a new dict from a given dict, minus any entries that a given function
-/// returns `False` for.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from_list([#("a", 0), #("b", 1)])
-/// > |> filter(fn(key, value) { value != 0 })
-/// from_list([#("b", 1)])
-/// ```
-///
-/// ```gleam
-/// > from_list([#("a", 0), #("b", 1)])
-/// > |> filter(fn(key, value) { True })
-/// from_list([#("a", 0), #("b", 1)])
-/// ```
-///
-pub fn filter(
- in dict: Dict(k, v),
- keeping predicate: fn(k, v) -> Bool,
-) -> Dict(k, v) {
- do_filter(predicate, dict)
-}
-
-@target(erlang)
-@external(erlang, "maps", "filter")
-fn do_filter(a: fn(key, value) -> Bool, b: Dict(key, value)) -> Dict(key, value)
-
-@target(javascript)
-fn do_filter(
- f: fn(key, value) -> Bool,
- dict: Dict(key, value),
-) -> Dict(key, value) {
- let insert = fn(dict, k, v) {
- case f(k, v) {
- True -> insert(dict, k, v)
- _ -> dict
- }
- }
- dict
- |> fold(from: new(), with: insert)
-}
-
-/// Creates a new dict from a given dict, only including any entries for which the
-/// keys are in a given list.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from_list([#("a", 0), #("b", 1)])
-/// > |> take(["b"])
-/// from_list([#("b", 1)])
-/// ```
-///
-/// ```gleam
-/// > from_list([#("a", 0), #("b", 1)])
-/// > |> take(["a", "b", "c"])
-/// from_list([#("a", 0), #("b", 1)])
-/// ```
-///
-pub fn take(from dict: Dict(k, v), keeping desired_keys: List(k)) -> Dict(k, v) {
- do_take(desired_keys, dict)
-}
-
-@target(erlang)
-@external(erlang, "maps", "with")
-fn do_take(a: List(k), b: Dict(k, v)) -> Dict(k, v)
-
-@target(javascript)
-fn insert_taken(
- dict: Dict(k, v),
- desired_keys: List(k),
- acc: Dict(k, v),
-) -> Dict(k, v) {
- let insert = fn(taken, key) {
- case get(dict, key) {
- Ok(value) -> insert(taken, key, value)
- _ -> taken
- }
- }
- case desired_keys {
- [] -> acc
- [x, ..xs] -> insert_taken(dict, xs, insert(acc, x))
- }
-}
-
-@target(javascript)
-fn do_take(desired_keys: List(k), dict: Dict(k, v)) -> Dict(k, v) {
- insert_taken(dict, desired_keys, new())
-}
-
-/// Creates a new dict from a pair of given dicts by combining their entries.
-///
-/// If there are entries with the same keys in both dicts the entry from the
-/// second dict takes precedence.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > let a = from_list([#("a", 0), #("b", 1)])
-/// > let b = from_list([#("b", 2), #("c", 3)])
-/// > merge(a, b)
-/// from_list([#("a", 0), #("b", 2), #("c", 3)])
-/// ```
-///
-pub fn merge(into dict: Dict(k, v), from new_entries: Dict(k, v)) -> Dict(k, v) {
- do_merge(dict, new_entries)
-}
-
-@target(erlang)
-@external(erlang, "maps", "merge")
-fn do_merge(a: Dict(k, v), b: Dict(k, v)) -> Dict(k, v)
-
-@target(javascript)
-fn insert_pair(dict: Dict(k, v), pair: #(k, v)) -> Dict(k, v) {
- insert(dict, pair.0, pair.1)
-}
-
-@target(javascript)
-fn fold_inserts(new_entries: List(#(k, v)), dict: Dict(k, v)) -> Dict(k, v) {
- case new_entries {
- [] -> dict
- [x, ..xs] -> fold_inserts(xs, insert_pair(dict, x))
- }
-}
-
-@target(javascript)
-fn do_merge(dict: Dict(k, v), new_entries: Dict(k, v)) -> Dict(k, v) {
- new_entries
- |> to_list
- |> fold_inserts(dict)
-}
-
-/// Creates a new dict from a given dict with all the same entries except for the
-/// one with a given key, if it exists.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > delete([#("a", 0), #("b", 1)], "a")
-/// from_list([#("b", 1)])
-/// ```
-///
-/// ```gleam
-/// > delete([#("a", 0), #("b", 1)], "c")
-/// from_list([#("a", 0), #("b", 1)])
-/// ```
-///
-pub fn delete(from dict: Dict(k, v), delete key: k) -> Dict(k, v) {
- do_delete(key, dict)
-}
-
-@external(erlang, "maps", "remove")
-@external(javascript, "../gleam_stdlib.mjs", "map_remove")
-fn do_delete(a: k, b: Dict(k, v)) -> Dict(k, v)
-
-/// Creates a new dict from a given dict with all the same entries except any with
-/// keys found in a given list.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > drop([#("a", 0), #("b", 1)], ["a"])
-/// from_list([#("b", 2)])
-/// ```
-///
-/// ```gleam
-/// > delete([#("a", 0), #("b", 1)], ["c"])
-/// from_list([#("a", 0), #("b", 1)])
-/// ```
-///
-/// ```gleam
-/// > drop([#("a", 0), #("b", 1)], ["a", "b", "c"])
-/// from_list([])
-/// ```
-///
-pub fn drop(from dict: Dict(k, v), drop disallowed_keys: List(k)) -> Dict(k, v) {
- case disallowed_keys {
- [] -> dict
- [x, ..xs] -> drop(delete(dict, x), xs)
- }
-}
-
-/// Creates a new dict with one entry updated using a given function.
-///
-/// If there was not an entry in the dict for the given key then the function
-/// gets `None` as its argument, otherwise it gets `Some(value)`.
-///
-/// ## Example
-///
-/// ```gleam
-/// > let increment = fn(x) {
-/// > case x {
-/// > Some(i) -> i + 1
-/// > None -> 0
-/// > }
-/// > }
-/// > let dict = from_list([#("a", 0)])
-/// >
-/// > update(dict, "a", increment)
-/// from_list([#("a", 1)])
-/// ```
-///
-/// ```gleam
-/// > update(dict, "b", increment)
-/// from_list([#("a", 0), #("b", 0)])
-/// ```
-///
-pub fn update(
- in dict: Dict(k, v),
- update key: k,
- with fun: fn(Option(v)) -> v,
-) -> Dict(k, v) {
- dict
- |> get(key)
- |> option.from_result
- |> fun
- |> insert(dict, key, _)
-}
-
-fn do_fold(list: List(#(k, v)), initial: acc, fun: fn(acc, k, v) -> acc) -> acc {
- case list {
- [] -> initial
- [#(k, v), ..rest] -> do_fold(rest, fun(initial, k, v), fun)
- }
-}
-
-/// Combines all entries into a single value by calling a given function on each
-/// one.
-///
-/// Dicts are not ordered so the values are not returned in any specific order. Do
-/// not write code that relies on the order entries are used by this function
-/// as it may change in later versions of Gleam or Erlang.
-///
-/// # Examples
-///
-/// ```gleam
-/// > let dict = from_list([#("a", 1), #("b", 3), #("c", 9)])
-/// > fold(dict, 0, fn(accumulator, key, value) { accumulator + value })
-/// 13
-/// ```
-///
-/// ```gleam
-/// > import gleam/string.{append}
-/// > fold(dict, "", fn(accumulator, key, value) { append(accumulator, key) })
-/// "abc"
-/// ```
-///
-pub fn fold(
- over dict: Dict(k, v),
- from initial: acc,
- with fun: fn(acc, k, v) -> acc,
-) -> acc {
- dict
- |> to_list
- |> do_fold(initial, fun)
-}
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam/dynamic.gleam b/aoc2023/build/packages/gleam_stdlib/src/gleam/dynamic.gleam
deleted file mode 100644
index c71c6f3..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam/dynamic.gleam
+++ /dev/null
@@ -1,1508 +0,0 @@
-import gleam/int
-import gleam/list
-import gleam/dict.{type Dict}
-import gleam/option.{type Option}
-import gleam/result
-import gleam/string_builder
-@target(erlang)
-import gleam/bit_array
-
-/// `Dynamic` data is data that we don't know the type of yet.
-/// We likely get data like this from interop with Erlang, or from
-/// IO with the outside world.
-///
-pub type Dynamic
-
-/// Error returned when unexpected data is encountered
-///
-pub type DecodeError {
- DecodeError(expected: String, found: String, path: List(String))
-}
-
-pub type DecodeErrors =
- List(DecodeError)
-
-pub type Decoder(t) =
- fn(Dynamic) -> Result(t, DecodeErrors)
-
-/// Converts any Gleam data into `Dynamic` data.
-///
-pub fn from(a) -> Dynamic {
- do_from(a)
-}
-
-@external(erlang, "gleam_stdlib", "identity")
-@external(javascript, "../gleam_stdlib.mjs", "identity")
-fn do_from(a: anything) -> Dynamic
-
-/// Unsafely casts a Dynamic value into any other type.
-///
-/// This is an escape hatch for the type system that may be useful when wrapping
-/// native Erlang APIs. It is to be used as a last measure only!
-///
-/// If you can avoid using this function, do!
-///
-pub fn unsafe_coerce(a: Dynamic) -> anything {
- do_unsafe_coerce(a)
-}
-
-@external(erlang, "gleam_stdlib", "identity")
-@external(javascript, "../gleam_stdlib.mjs", "identity")
-fn do_unsafe_coerce(a: Dynamic) -> a
-
-/// Decodes a `Dynamic` value from a `Dynamic` value.
-///
-/// This function doesn't seem very useful at first, but it can be convenient
-/// when you need to give a decoder function but you don't actually care what
-/// the to-decode value is.
-///
-pub fn dynamic(value: Dynamic) -> Result(Dynamic, List(DecodeError)) {
- Ok(value)
-}
-
-/// Checks to see whether a `Dynamic` value is a bit array, and returns that bit
-/// array if it is.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > bit_array(from("Hello")) == bit_array.from_string("Hello")
-/// True
-/// ```
-///
-/// ```gleam
-/// > bit_array(from(123))
-/// Error([DecodeError(expected: "BitArray", found: "Int", path: [])])
-/// ```
-///
-pub fn bit_array(from data: Dynamic) -> Result(BitArray, DecodeErrors) {
- decode_bit_array(data)
-}
-
-@deprecated("Please use `bit_array` instead")
-pub fn bit_string(from data: Dynamic) -> Result(BitArray, DecodeErrors) {
- bit_array(data)
-}
-
-@external(erlang, "gleam_stdlib", "decode_bit_array")
-@external(javascript, "../gleam_stdlib.mjs", "decode_bit_array")
-fn decode_bit_array(a: Dynamic) -> Result(BitArray, DecodeErrors)
-
-/// Checks to see whether a `Dynamic` value is a string, and returns that string if
-/// it is.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > string(from("Hello"))
-/// Ok("Hello")
-/// ```
-///
-/// ```gleam
-/// > string(from(123))
-/// Error([DecodeError(expected: "String", found: "Int", path: [])])
-/// ```
-///
-pub fn string(from data: Dynamic) -> Result(String, DecodeErrors) {
- decode_string(data)
-}
-
-fn map_errors(
- result: Result(t, DecodeErrors),
- f: fn(DecodeError) -> DecodeError,
-) -> Result(t, DecodeErrors) {
- result.map_error(result, list.map(_, f))
-}
-
-@target(erlang)
-fn decode_string(data: Dynamic) -> Result(String, DecodeErrors) {
- bit_array(data)
- |> map_errors(put_expected(_, "String"))
- |> result.try(fn(raw) {
- case bit_array.to_string(raw) {
- Ok(string) -> Ok(string)
- Error(Nil) ->
- Error([DecodeError(expected: "String", found: "BitArray", path: [])])
- }
- })
-}
-
-@target(erlang)
-fn put_expected(error: DecodeError, expected: String) -> DecodeError {
- DecodeError(..error, expected: expected)
-}
-
-@target(javascript)
-@external(javascript, "../gleam_stdlib.mjs", "decode_string")
-fn decode_string(a: Dynamic) -> Result(String, DecodeErrors)
-
-/// Return a string indicating the type of the dynamic value.
-///
-/// ```gleam
-/// > classify(from("Hello"))
-/// "String"
-/// ```
-///
-pub fn classify(data: Dynamic) -> String {
- do_classify(data)
-}
-
-@external(erlang, "gleam_stdlib", "classify_dynamic")
-@external(javascript, "../gleam_stdlib.mjs", "classify_dynamic")
-fn do_classify(a: Dynamic) -> String
-
-/// Checks to see whether a `Dynamic` value is an int, and returns that int if it
-/// is.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > int(from(123))
-/// Ok(123)
-/// ```
-///
-/// ```gleam
-/// > int(from("Hello"))
-/// Error([DecodeError(expected: "Int", found: "String", path: [])])
-/// ```
-///
-pub fn int(from data: Dynamic) -> Result(Int, DecodeErrors) {
- decode_int(data)
-}
-
-@external(erlang, "gleam_stdlib", "decode_int")
-@external(javascript, "../gleam_stdlib.mjs", "decode_int")
-fn decode_int(a: Dynamic) -> Result(Int, DecodeErrors)
-
-/// Checks to see whether a `Dynamic` value is a float, and returns that float if
-/// it is.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > float(from(2.0))
-/// Ok(2.0)
-/// ```
-///
-/// ```gleam
-/// > float(from(123))
-/// Error([DecodeError(expected: "Float", found: "Int", path: [])])
-/// ```
-///
-pub fn float(from data: Dynamic) -> Result(Float, DecodeErrors) {
- decode_float(data)
-}
-
-@external(erlang, "gleam_stdlib", "decode_float")
-@external(javascript, "../gleam_stdlib.mjs", "decode_float")
-fn decode_float(a: Dynamic) -> Result(Float, DecodeErrors)
-
-/// Checks to see whether a `Dynamic` value is a bool, and returns that bool if
-/// it is.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > bool(from(True))
-/// Ok(True)
-/// ```
-///
-/// ```gleam
-/// > bool(from(123))
-/// Error([DecodeError(expected: "Bool", found: "Int", path: [])])
-/// ```
-///
-pub fn bool(from data: Dynamic) -> Result(Bool, DecodeErrors) {
- decode_bool(data)
-}
-
-@external(erlang, "gleam_stdlib", "decode_bool")
-@external(javascript, "../gleam_stdlib.mjs", "decode_bool")
-fn decode_bool(a: Dynamic) -> Result(Bool, DecodeErrors)
-
-/// Checks to see whether a `Dynamic` value is a list, and returns that list if it
-/// is. The types of the elements are not checked.
-///
-/// If you wish to decode all the elements in the list use the `list` function
-/// instead.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > shallow_list(from(["a", "b", "c"]))
-/// Ok([from("a"), from("b"), from("c")])
-/// ```
-///
-/// ```gleam
-/// > shallow_list(1)
-/// Error([DecodeError(expected: "List", found: "Int", path: [])])
-/// ```
-///
-pub fn shallow_list(from value: Dynamic) -> Result(List(Dynamic), DecodeErrors) {
- decode_list(value)
-}
-
-@external(erlang, "gleam_stdlib", "decode_list")
-@external(javascript, "../gleam_stdlib.mjs", "decode_list")
-fn decode_list(a: Dynamic) -> Result(List(Dynamic), DecodeErrors)
-
-@external(erlang, "gleam_stdlib", "decode_result")
-@external(javascript, "../gleam_stdlib.mjs", "decode_result")
-fn decode_result(a: Dynamic) -> Result(Result(a, e), DecodeErrors)
-
-/// Checks to see whether a `Dynamic` value is a result of a particular type, and
-/// returns that result if it is.
-///
-/// The `ok` and `error` arguments are decoders for decoding the `Ok` and
-/// `Error` values of the result.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from(Ok(1))
-/// > |> result(ok: int, error: string)
-/// Ok(Ok(1))
-/// ```
-///
-/// ```gleam
-/// > from(Error("boom"))
-/// > |> result(ok: int, error: string)
-/// Ok(Error("boom"))
-/// ```
-///
-/// ```gleam
-/// > from(123)
-/// > |> result(ok: int, error: string)
-/// Error([DecodeError(expected: "Result", found: "Int", path: [])])
-/// ```
-///
-pub fn result(
- ok decode_ok: Decoder(a),
- error decode_error: Decoder(e),
-) -> Decoder(Result(a, e)) {
- fn(value) {
- use inner_result <- result.try(decode_result(value))
-
- case inner_result {
- Ok(raw) -> {
- use value <- result.try(
- decode_ok(raw)
- |> map_errors(push_path(_, "ok")),
- )
- Ok(Ok(value))
- }
- Error(raw) -> {
- use value <- result.try(
- decode_error(raw)
- |> map_errors(push_path(_, "error")),
- )
- Ok(Error(value))
- }
- }
- }
-}
-
-/// Checks to see whether a `Dynamic` value is a list of a particular type, and
-/// returns that list if it is.
-///
-/// The second argument is a decoder function used to decode the elements of
-/// the list. The list is only decoded if all elements in the list can be
-/// successfully decoded using this function.
-///
-/// If you do not wish to decode all the elements in the list use the `shallow_list`
-/// function instead.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from(["a", "b", "c"])
-/// > |> list(of: string)
-/// Ok(["a", "b", "c"])
-/// ```
-///
-/// ```gleam
-/// > from([1, 2, 3])
-/// > |> list(of: string)
-/// Error([DecodeError(expected: "String", found: "Int", path: ["*"])])
-/// ```
-///
-/// ```gleam
-/// > from("ok")
-/// > |> list(of: string)
-/// Error([DecodeError(expected: "List", found: "String", path: [])])
-/// ```
-///
-pub fn list(
- of decoder_type: fn(Dynamic) -> Result(inner, DecodeErrors),
-) -> Decoder(List(inner)) {
- fn(dynamic) {
- use list <- result.try(shallow_list(dynamic))
- list
- |> list.try_map(decoder_type)
- |> map_errors(push_path(_, "*"))
- }
-}
-
-/// Checks to see if a `Dynamic` value is a nullable version of a particular
-/// type, and returns a corresponding `Option` if it is.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from("Hello")
-/// > |> optional(string)
-/// Ok(Some("Hello"))
-/// ```
-///
-/// ```gleam
-/// > from("Hello")
-/// > |> optional(string)
-/// Ok(Some("Hello"))
-/// ```
-///
-/// ```gleam
-/// > from(atom.from_string("null"))
-/// > |> optional(string)
-/// Ok(None)
-/// ```
-///
-/// ```gleam
-/// > from(atom.from_string("nil"))
-/// > |> optional(string)
-/// Ok(None)
-/// ```
-///
-/// ```gleam
-/// > from(atom.from_string("undefined"))
-/// > |> optional(string)
-/// Ok(None)
-/// ```
-///
-/// ```gleam
-/// > from(123)
-/// > |> optional(string)
-/// Error([DecodeError(expected: "String", found: "Int", path: [])])
-/// ```
-///
-pub fn optional(of decode: Decoder(inner)) -> Decoder(Option(inner)) {
- fn(value) { decode_optional(value, decode) }
-}
-
-@external(erlang, "gleam_stdlib", "decode_option")
-@external(javascript, "../gleam_stdlib.mjs", "decode_option")
-fn decode_optional(a: Dynamic, b: Decoder(a)) -> Result(Option(a), DecodeErrors)
-
-/// Checks to see if a `Dynamic` value is a map with a specific field, and returns
-/// the value of that field if it is.
-///
-/// This will not succeed on a record.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > import gleam/dict
-/// > dict.new()
-/// > |> dict.insert("Hello", "World")
-/// > |> from
-/// > |> field(named: "Hello", of: string)
-/// Ok("World")
-/// ```
-///
-/// ```gleam
-/// > from(123)
-/// > |> field("Hello", string)
-/// Error([DecodeError(expected: "Map", found: "Int", path: [])])
-/// ```
-///
-pub fn field(named name: a, of inner_type: Decoder(t)) -> Decoder(t) {
- fn(value) {
- let missing_field_error =
- DecodeError(expected: "field", found: "nothing", path: [])
-
- use maybe_inner <- result.try(decode_field(value, name))
- maybe_inner
- |> option.to_result([missing_field_error])
- |> result.try(inner_type)
- |> map_errors(push_path(_, name))
- }
-}
-
-/// Checks to see if a `Dynamic` value is a map with a specific field.
-/// If the map does not have the specified field, returns an `Ok(None)` instead of failing; otherwise,
-/// returns the decoded field wrapped in `Some(_)`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > import gleam/dict
-/// > dict.new()
-/// > |> dict.insert("Hello", "World")
-/// > |> from
-/// > |> field(named: "Hello", of: string)
-/// Ok(Some("World"))
-/// ```
-///
-/// ```gleam
-/// > import gleam/dict
-/// > dict.new()
-/// > |> from
-/// > |> field(named: "Hello", of: string)
-/// Ok(None)
-/// ```
-///
-/// ```gleam
-/// > from(123)
-/// > |> field("Hello", string)
-/// Error([DecodeError(expected: "Map", found: "Int", path: [])])
-/// ```
-///
-pub fn optional_field(
- named name: a,
- of inner_type: Decoder(t),
-) -> Decoder(Option(t)) {
- fn(value) {
- use maybe_inner <- result.try(decode_field(value, name))
- case maybe_inner {
- option.None -> Ok(option.None)
- option.Some(dynamic_inner) ->
- dynamic_inner
- |> decode_optional(inner_type)
- |> map_errors(push_path(_, name))
- }
- }
-}
-
-@external(erlang, "gleam_stdlib", "decode_field")
-@external(javascript, "../gleam_stdlib.mjs", "decode_field")
-fn decode_field(a: Dynamic, b: name) -> Result(Option(Dynamic), DecodeErrors)
-
-/// Checks to see if a `Dynamic` value is a tuple large enough to have a certain
-/// index, and returns the value of that index if it is.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from(#(1, 2))
-/// > |> element(0, int)
-/// Ok(from(1))
-/// ```
-///
-/// ```gleam
-/// > from(#(1, 2))
-/// > |> element(2, int)
-/// Error([
-/// DecodeError(
-/// expected: "Tuple of at least 3 elements",
-/// found: "Tuple of 2 elements",
-/// path: [],
-/// ),
-/// ])
-/// ```
-///
-pub fn element(at index: Int, of inner_type: Decoder(t)) -> Decoder(t) {
- fn(data: Dynamic) {
- use tuple <- result.try(decode_tuple(data))
- let size = tuple_size(tuple)
- use data <- result.try(case index >= 0 {
- True ->
- case index < size {
- True -> tuple_get(tuple, index)
- False -> at_least_decode_tuple_error(index + 1, data)
- }
- False ->
- case int.absolute_value(index) <= size {
- True -> tuple_get(tuple, size + index)
- False -> at_least_decode_tuple_error(int.absolute_value(index), data)
- }
- })
- inner_type(data)
- |> map_errors(push_path(_, index))
- }
-}
-
-fn at_least_decode_tuple_error(
- size: Int,
- data: Dynamic,
-) -> Result(a, DecodeErrors) {
- let s = case size {
- 1 -> ""
- _ -> "s"
- }
- let error =
- ["Tuple of at least ", int.to_string(size), " element", s]
- |> string_builder.from_strings
- |> string_builder.to_string
- |> DecodeError(found: classify(data), path: [])
- Error([error])
-}
-
-// A tuple of unknown size
-type UnknownTuple
-
-@external(erlang, "gleam_stdlib", "decode_tuple")
-@external(javascript, "../gleam_stdlib.mjs", "decode_tuple")
-fn decode_tuple(a: Dynamic) -> Result(UnknownTuple, DecodeErrors)
-
-@external(erlang, "gleam_stdlib", "decode_tuple2")
-@external(javascript, "../gleam_stdlib.mjs", "decode_tuple2")
-fn decode_tuple2(a: Dynamic) -> Result(#(Dynamic, Dynamic), DecodeErrors)
-
-@external(erlang, "gleam_stdlib", "decode_tuple3")
-@external(javascript, "../gleam_stdlib.mjs", "decode_tuple3")
-fn decode_tuple3(
- a: Dynamic,
-) -> Result(#(Dynamic, Dynamic, Dynamic), DecodeErrors)
-
-@external(erlang, "gleam_stdlib", "decode_tuple4")
-@external(javascript, "../gleam_stdlib.mjs", "decode_tuple4")
-fn decode_tuple4(
- a: Dynamic,
-) -> Result(#(Dynamic, Dynamic, Dynamic, Dynamic), DecodeErrors)
-
-@external(erlang, "gleam_stdlib", "decode_tuple5")
-@external(javascript, "../gleam_stdlib.mjs", "decode_tuple5")
-fn decode_tuple5(
- a: Dynamic,
-) -> Result(#(Dynamic, Dynamic, Dynamic, Dynamic, Dynamic), DecodeErrors)
-
-@external(erlang, "gleam_stdlib", "decode_tuple6")
-@external(javascript, "../gleam_stdlib.mjs", "decode_tuple6")
-fn decode_tuple6(
- a: Dynamic,
-) -> Result(
- #(Dynamic, Dynamic, Dynamic, Dynamic, Dynamic, Dynamic),
- DecodeErrors,
-)
-
-@external(erlang, "gleam_stdlib", "tuple_get")
-@external(javascript, "../gleam_stdlib.mjs", "tuple_get")
-fn tuple_get(a: UnknownTuple, b: Int) -> Result(Dynamic, DecodeErrors)
-
-@external(erlang, "gleam_stdlib", "size_of_tuple")
-@external(javascript, "../gleam_stdlib.mjs", "length")
-fn tuple_size(a: UnknownTuple) -> Int
-
-fn tuple_errors(
- result: Result(a, List(DecodeError)),
- name: String,
-) -> List(DecodeError) {
- case result {
- Ok(_) -> []
- Error(errors) -> list.map(errors, push_path(_, name))
- }
-}
-
-fn push_path(error: DecodeError, name: t) -> DecodeError {
- let name = from(name)
- let decoder = any([string, fn(x) { result.map(int(x), int.to_string) }])
- let name = case decoder(name) {
- Ok(name) -> name
- Error(_) ->
- ["<", classify(name), ">"]
- |> string_builder.from_strings
- |> string_builder.to_string
- }
- DecodeError(..error, path: [name, ..error.path])
-}
-
-/// Checks to see if a `Dynamic` value is a 2-element tuple, list or array containing
-/// specifically typed elements.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from(#(1, 2))
-/// > |> tuple2(int, int)
-/// Ok(#(1, 2))
-/// ```
-///
-/// ```gleam
-/// > from(#(1, 2.0))
-/// > |> tuple2(int, float)
-/// Ok(#(1, 2.0))
-/// ```
-///
-/// ```gleam
-/// > from([1, 2])
-/// > |> tuple2(int, int)
-/// Ok(#(1, 2))
-/// ```
-///
-/// ```gleam
-/// > from([from(1), from(2.0)])
-/// > |> tuple2(int, float)
-/// Ok(#(1, 2.0))
-/// ```
-///
-/// ```gleam
-/// > from(#(1, 2, 3))
-/// > |> tuple2(int, float)
-/// Error([
-/// DecodeError(expected: "Tuple of 2 elements", found: "Tuple of 3 elements", path: []),
-/// ])
-/// ```
-///
-/// ```gleam
-/// > from("")
-/// > |> tuple2(int, float)
-/// Error([DecodeError(expected: "Tuple of 2 elements", found: "String", path: [])])
-/// ```
-///
-pub fn tuple2(
- first decode1: Decoder(a),
- second decode2: Decoder(b),
-) -> Decoder(#(a, b)) {
- fn(value) {
- use #(a, b) <- result.try(decode_tuple2(value))
- case decode1(a), decode2(b) {
- Ok(a), Ok(b) -> Ok(#(a, b))
- a, b ->
- tuple_errors(a, "0")
- |> list.append(tuple_errors(b, "1"))
- |> Error
- }
- }
-}
-
-/// Checks to see if a `Dynamic` value is a 3-element tuple, list or array containing
-/// specifically typed elements.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from(#(1, 2, 3))
-/// > |> tuple3(int, int, int)
-/// Ok(#(1, 2, 3))
-/// ```
-///
-/// ```gleam
-/// > from(#(1, 2.0, "3"))
-/// > |> tuple3(int, float, string)
-/// Ok(#(1, 2.0, "3"))
-/// ```
-///
-/// ```gleam
-/// > from([1, 2, 3])
-/// > |> tuple3(int, int, int)
-/// Ok(#(1, 2, 3))
-/// ```
-///
-/// ```gleam
-/// > from([from(1), from(2.0), from("3")])
-/// > |> tuple3(int, float, string)
-/// Ok(#(1, 2.0, "3"))
-/// ```
-///
-/// ```gleam
-/// > from(#(1, 2))
-/// > |> tuple3(int, float, string)
-/// Error([
-/// DecodeError(expected: "Tuple of 3 elements", found: "Tuple of 2 elements", path: [])),
-/// ])
-/// ```
-///
-/// ```gleam
-/// > from("")
-/// > |> tuple3(int, float, string)
-/// Error([
-/// DecodeError(expected: "Tuple of 3 elements", found: "String", path: []),
-/// ])
-/// ```
-///
-pub fn tuple3(
- first decode1: Decoder(a),
- second decode2: Decoder(b),
- third decode3: Decoder(c),
-) -> Decoder(#(a, b, c)) {
- fn(value) {
- use #(a, b, c) <- result.try(decode_tuple3(value))
- case decode1(a), decode2(b), decode3(c) {
- Ok(a), Ok(b), Ok(c) -> Ok(#(a, b, c))
- a, b, c ->
- tuple_errors(a, "0")
- |> list.append(tuple_errors(b, "1"))
- |> list.append(tuple_errors(c, "2"))
- |> Error
- }
- }
-}
-
-/// Checks to see if a `Dynamic` value is a 4-element tuple, list or array containing
-/// specifically typed elements.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from(#(1, 2, 3, 4))
-/// > |> tuple4(int, int, int, int)
-/// Ok(#(1, 2, 3, 4))
-/// ```
-///
-/// ```gleam
-/// > from(#(1, 2.0, "3", 4))
-/// > |> tuple4(int, float, string, int)
-/// Ok(#(1, 2.0, "3", 4))
-/// ```
-///
-/// ```gleam
-/// > from([1, 2, 3, 4])
-/// > |> tuple4(int, int, int, int)
-/// Ok(#(1, 2, 3, 4))
-/// ```
-///
-/// ```gleam
-/// > from([from(1), from(2.0), from("3"), from(4)])
-/// > |> tuple4(int, float, string, int)
-/// Ok(#(1, 2.0, "3", 4))
-/// ```
-///
-/// ```gleam
-/// > from(#(1, 2))
-/// > |> tuple4(int, float, string, int)
-/// Error([
-/// DecodeError(expected: "Tuple of 4 elements", found: "Tuple of 2 elements", path: []),
-/// ])
-/// ```
-///
-/// ```gleam
-/// > from("")
-/// > |> tuple4(int, float, string, int)
-/// Error([
-/// DecodeError(expected: "Tuple of 4 elements", found: "String", path: []),
-/// ])
-/// ```
-///
-pub fn tuple4(
- first decode1: Decoder(a),
- second decode2: Decoder(b),
- third decode3: Decoder(c),
- fourth decode4: Decoder(d),
-) -> Decoder(#(a, b, c, d)) {
- fn(value) {
- use #(a, b, c, d) <- result.try(decode_tuple4(value))
- case decode1(a), decode2(b), decode3(c), decode4(d) {
- Ok(a), Ok(b), Ok(c), Ok(d) -> Ok(#(a, b, c, d))
- a, b, c, d ->
- tuple_errors(a, "0")
- |> list.append(tuple_errors(b, "1"))
- |> list.append(tuple_errors(c, "2"))
- |> list.append(tuple_errors(d, "3"))
- |> Error
- }
- }
-}
-
-/// Checks to see if a `Dynamic` value is a 5-element tuple, list or array containing
-/// specifically typed elements.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from(#(1, 2, 3, 4, 5))
-/// > |> tuple5(int, int, int, int, int)
-/// Ok(#(1, 2, 3, 4, 5))
-/// ```
-///
-/// ```gleam
-/// > from(#(1, 2.0, "3", 4, 5))
-/// > |> tuple5(int, float, string, int, int)
-/// Ok(#(1, 2.0, "3", 4, 5))
-/// ```
-///
-/// ```gleam
-/// > from([1, 2, 3, 4, 5])
-/// > |> tuple5(int, int, int, int, int)
-/// Ok(#(1, 2, 3, 4, 5))
-/// ```
-///
-/// ```gleam
-/// > from([from(1), from(2.0), from("3"), from(4), from(True)])
-/// > |> tuple5(int, float, string, int, bool)
-/// Ok(#(1, 2.0, "3", 4, True))
-/// ```
-///
-/// ```gleam
-/// > from(#(1, 2))
-/// > |> tuple5(int, float, string, int, int)
-/// Error([
-/// DecodeError(expected: "Tuple of 5 elements", found: "Tuple of 2 elements", path: [])),
-/// ])
-/// ```
-///
-/// ```gleam
-/// > from("")
-/// > |> tuple5(int, float, string, int, int)
-/// Error([DecodeError(expected: "Tuple of 5 elements", found: "String", path: [])])
-/// ```
-///
-pub fn tuple5(
- first decode1: Decoder(a),
- second decode2: Decoder(b),
- third decode3: Decoder(c),
- fourth decode4: Decoder(d),
- fifth decode5: Decoder(e),
-) -> Decoder(#(a, b, c, d, e)) {
- fn(value) {
- use #(a, b, c, d, e) <- result.try(decode_tuple5(value))
- case decode1(a), decode2(b), decode3(c), decode4(d), decode5(e) {
- Ok(a), Ok(b), Ok(c), Ok(d), Ok(e) -> Ok(#(a, b, c, d, e))
- a, b, c, d, e ->
- tuple_errors(a, "0")
- |> list.append(tuple_errors(b, "1"))
- |> list.append(tuple_errors(c, "2"))
- |> list.append(tuple_errors(d, "3"))
- |> list.append(tuple_errors(e, "4"))
- |> Error
- }
- }
-}
-
-/// Checks to see if a `Dynamic` value is a 6-element tuple, list or array containing
-/// specifically typed elements.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from(#(1, 2, 3, 4, 5, 6))
-/// > |> tuple6(int, int, int, int, int, int)
-/// Ok(#(1, 2, 3, 4, 5, 6))
-/// ```
-///
-/// ```gleam
-/// > from(#(1, 2.0, "3", 4, 5, 6))
-/// > |> tuple6(int, float, string, int, int, int)
-/// Ok(#(1, 2.0, "3", 4, 5, 6))
-/// ```
-///
-/// ```gleam
-/// > from([1, 2, 3, 4, 5, 6])
-/// > |> tuple6(int, int, int, int, int, int)
-/// Ok(#(1, 2, 3, 4, 5, 6))
-/// ```
-///
-/// ```gleam
-/// > from([from(1), from(2.0), from("3"), from(4), from(True), from(False)])
-/// > |> tuple6(int, float, string, int, bool, bool)
-/// Ok(#(1, 2.0, "3", 4, True, False))
-/// ```
-///
-/// ```gleam
-/// > from(#(1, 2))
-/// > |> tuple6(int, float, string, int, int, int)
-/// Error([
-/// DecodeError(expected: "Tuple of 6 elements", found: "Tuple of 2 elements", path: []),
-/// ])
-/// ```
-///
-/// ```gleam
-/// > from("")
-/// > |> tuple6(int, float, string, int, int, int)
-/// Error([DecodeError(expected: "Tuple of 6 elements", found: "String", path: [])])
-/// ```
-///
-pub fn tuple6(
- first decode1: Decoder(a),
- second decode2: Decoder(b),
- third decode3: Decoder(c),
- fourth decode4: Decoder(d),
- fifth decode5: Decoder(e),
- sixth decode6: Decoder(f),
-) -> Decoder(#(a, b, c, d, e, f)) {
- fn(value) {
- use #(a, b, c, d, e, f) <- result.try(decode_tuple6(value))
- case
- decode1(a),
- decode2(b),
- decode3(c),
- decode4(d),
- decode5(e),
- decode6(f)
- {
- Ok(a), Ok(b), Ok(c), Ok(d), Ok(e), Ok(f) -> Ok(#(a, b, c, d, e, f))
- a, b, c, d, e, f ->
- tuple_errors(a, "0")
- |> list.append(tuple_errors(b, "1"))
- |> list.append(tuple_errors(c, "2"))
- |> list.append(tuple_errors(d, "3"))
- |> list.append(tuple_errors(e, "4"))
- |> list.append(tuple_errors(f, "5"))
- |> Error
- }
- }
-}
-
-/// Checks to see if a `Dynamic` value is a dict.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > import gleam/dict
-/// > dict.new() |> from |> map(string, int)
-/// Ok(dict.new())
-/// ```
-///
-/// ```gleam
-/// > from(1) |> map(string, int)
-/// Error(DecodeError(expected: "Map", found: "Int", path: []))
-/// ```
-///
-/// ```gleam
-/// > from("") |> map(string, int)
-/// Error(DecodeError(expected: "Map", found: "String", path: []))
-/// ```
-///
-pub fn dict(
- of key_type: Decoder(k),
- to value_type: Decoder(v),
-) -> Decoder(Dict(k, v)) {
- fn(value) {
- use map <- result.try(decode_map(value))
- use pairs <- result.try(
- map
- |> dict.to_list
- |> list.try_map(fn(pair) {
- let #(k, v) = pair
- use k <- result.try(
- key_type(k)
- |> map_errors(push_path(_, "keys")),
- )
- use v <- result.try(
- value_type(v)
- |> map_errors(push_path(_, "values")),
- )
- Ok(#(k, v))
- }),
- )
- Ok(dict.from_list(pairs))
- }
-}
-
-@deprecated("Use `dict` instead")
-pub fn map(
- of key_type: Decoder(k),
- to value_type: Decoder(v),
-) -> Decoder(Dict(k, v)) {
- dict(key_type, value_type)
-}
-
-@external(erlang, "gleam_stdlib", "decode_map")
-@external(javascript, "../gleam_stdlib.mjs", "decode_map")
-fn decode_map(a: Dynamic) -> Result(Dict(Dynamic, Dynamic), DecodeErrors)
-
-/// Joins multiple decoders into one. When run they will each be tried in turn
-/// until one succeeds, or they all fail.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > import gleam/result
-/// > let bool_or_string = any(of: [
-/// > string,
-/// > fn(x) { result.map(bool(x), fn(_) { "a bool" }) }
-/// > ])
-/// > bool_or_string(from("ok"))
-/// Ok("ok")
-/// ```
-///
-/// ```gleam
-/// > bool_or_string(from(True))
-/// Ok("a bool")
-/// ```
-///
-/// ```gleam
-/// > bool_or_string(from(1))
-/// Error(DecodeError(expected: "another type", found: "Int", path: []))
-/// ```
-///
-pub fn any(of decoders: List(Decoder(t))) -> Decoder(t) {
- fn(data) {
- case decoders {
- [] ->
- Error([
- DecodeError(found: classify(data), expected: "another type", path: []),
- ])
-
- [decoder, ..decoders] ->
- case decoder(data) {
- Ok(decoded) -> Ok(decoded)
- Error(_) -> any(decoders)(data)
- }
- }
- }
-}
-
-/// Decode 1 values from a `Dynamic` value.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from(#(1, 2.0, "3"))
-/// > |> decode1(MyRecord, element(0, int))
-/// Ok(MyRecord(1))
-/// ```
-///
-/// ```gleam
-/// > from(#("", "", ""))
-/// > |> decode1(MyRecord, element(0, int))
-/// Error([
-/// DecodeError(expected: "Int", found: "String", path: ["0"]),
-/// ])
-/// ```
-///
-pub fn decode1(constructor: fn(t1) -> t, t1: Decoder(t1)) -> Decoder(t) {
- fn(value) {
- case t1(value) {
- Ok(a) -> Ok(constructor(a))
- a -> Error(all_errors(a))
- }
- }
-}
-
-/// Decode 2 values from a `Dynamic` value.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from(#(1, 2.0, "3"))
-/// > |> decode2(MyRecord, element(0, int), element(1, float))
-/// Ok(MyRecord(1, 2.0))
-/// ```
-///
-/// ```gleam
-/// > from(#("", "", ""))
-/// > |> decode2(MyRecord, element(0, int), element(1, float))
-/// Error([
-/// DecodeError(expected: "Int", found: "String", path: ["0"]),
-/// DecodeError(expected: "Float", found: "String", path: ["1"]),
-/// ])
-/// ```
-///
-pub fn decode2(
- constructor: fn(t1, t2) -> t,
- t1: Decoder(t1),
- t2: Decoder(t2),
-) -> Decoder(t) {
- fn(value) {
- case t1(value), t2(value) {
- Ok(a), Ok(b) -> Ok(constructor(a, b))
- a, b -> Error(list.concat([all_errors(a), all_errors(b)]))
- }
- }
-}
-
-/// Decode 3 values from a `Dynamic` value.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from(#(1, 2.0, "3"))
-/// > |> decode3(MyRecord, element(0, int), element(1, float), element(2, string))
-/// Ok(MyRecord(1, 2.0, "3"))
-/// ```
-///
-/// ```gleam
-/// > from(#("", "", ""))
-/// > |> decode3(MyRecord, element(0, int), element(1, float), element(2, string))
-/// Error([
-/// DecodeError(expected: "Int", found: "String", path: ["0"]),
-/// DecodeError(expected: "Float", found: "String", path: ["1"]),
-/// ])
-/// ```
-///
-pub fn decode3(
- constructor: fn(t1, t2, t3) -> t,
- t1: Decoder(t1),
- t2: Decoder(t2),
- t3: Decoder(t3),
-) -> Decoder(t) {
- fn(value) {
- case t1(value), t2(value), t3(value) {
- Ok(a), Ok(b), Ok(c) -> Ok(constructor(a, b, c))
- a, b, c ->
- Error(list.concat([all_errors(a), all_errors(b), all_errors(c)]))
- }
- }
-}
-
-/// Decode 4 values from a `Dynamic` value.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from(#(1, 2.1, "3", "4"))
-/// > |> decode4(
-/// > MyRecord,
-/// > element(0, int),
-/// > element(1, float),
-/// > element(2, string),
-/// > element(3, string),
-/// > )
-/// Ok(MyRecord(1, 2.1, "3", "4"))
-/// ```
-///
-/// ```gleam
-/// > from(#("", "", "", ""))
-/// > |> decode4(
-/// > MyRecord,
-/// > element(0, int),
-/// > element(1, float),
-/// > element(2, string),
-/// > element(3, string),
-/// > )
-/// Error([
-/// DecodeError(expected: "Int", found: "String", path: ["0"]),
-/// DecodeError(expected: "Float", found: "String", path: ["1"]),
-/// ])
-/// ```
-///
-pub fn decode4(
- constructor: fn(t1, t2, t3, t4) -> t,
- t1: Decoder(t1),
- t2: Decoder(t2),
- t3: Decoder(t3),
- t4: Decoder(t4),
-) -> Decoder(t) {
- fn(x: Dynamic) {
- case t1(x), t2(x), t3(x), t4(x) {
- Ok(a), Ok(b), Ok(c), Ok(d) -> Ok(constructor(a, b, c, d))
- a, b, c, d ->
- Error(list.concat([
- all_errors(a),
- all_errors(b),
- all_errors(c),
- all_errors(d),
- ]))
- }
- }
-}
-
-/// Decode 5 values from a `Dynamic` value.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from(#(1, 2.1, "3", "4", "5"))
-/// > |> decode5(
-/// > MyRecord,
-/// > element(0, int),
-/// > element(1, float),
-/// > element(2, string),
-/// > element(3, string),
-/// > element(4, string),
-/// > )
-/// Ok(MyRecord(1, 2.1, "3", "4", "5"))
-/// ```
-///
-/// ```gleam
-/// > from(#("", "", "", "", ""))
-/// > |> decode5(
-/// > MyRecord,
-/// > element(0, int),
-/// > element(1, float),
-/// > element(2, string),
-/// > element(3, string),
-/// > element(4, string),
-/// > )
-/// Error([
-/// DecodeError(expected: "Int", found: "String", path: ["0"]),
-/// DecodeError(expected: "Float", found: "String", path: ["1"]),
-/// ])
-/// ```
-///
-pub fn decode5(
- constructor: fn(t1, t2, t3, t4, t5) -> t,
- t1: Decoder(t1),
- t2: Decoder(t2),
- t3: Decoder(t3),
- t4: Decoder(t4),
- t5: Decoder(t5),
-) -> Decoder(t) {
- fn(x: Dynamic) {
- case t1(x), t2(x), t3(x), t4(x), t5(x) {
- Ok(a), Ok(b), Ok(c), Ok(d), Ok(e) -> Ok(constructor(a, b, c, d, e))
- a, b, c, d, e ->
- Error(list.concat([
- all_errors(a),
- all_errors(b),
- all_errors(c),
- all_errors(d),
- all_errors(e),
- ]))
- }
- }
-}
-
-/// Decode 6 values from a `Dynamic` value.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from(#(1, 2.1, "3", "4", "5", "6"))
-/// > |> decode6(
-/// > MyRecord,
-/// > element(0, int),
-/// > element(1, float),
-/// > element(2, string),
-/// > element(3, string),
-/// > element(4, string),
-/// > element(5, string),
-/// > )
-/// Ok(MyRecord(1, 2.1, "3", "4", "5", "6"))
-/// ```
-///
-/// ```gleam
-/// > from(#("", "", "", "", "", ""))
-/// > |> decode6(
-/// > MyRecord,
-/// > element(0, int),
-/// > element(1, float),
-/// > element(2, string),
-/// > element(3, string),
-/// > element(4, string),
-/// > element(5, string),
-/// > )
-/// Error([
-/// DecodeError(expected: "Int", found: "String", path: ["0"]),
-/// DecodeError(expected: "Float", found: "String", path: ["1"]),
-/// ])
-/// ```
-///
-pub fn decode6(
- constructor: fn(t1, t2, t3, t4, t5, t6) -> t,
- t1: Decoder(t1),
- t2: Decoder(t2),
- t3: Decoder(t3),
- t4: Decoder(t4),
- t5: Decoder(t5),
- t6: Decoder(t6),
-) -> Decoder(t) {
- fn(x: Dynamic) {
- case t1(x), t2(x), t3(x), t4(x), t5(x), t6(x) {
- Ok(a), Ok(b), Ok(c), Ok(d), Ok(e), Ok(f) ->
- Ok(constructor(a, b, c, d, e, f))
- a, b, c, d, e, f ->
- Error(list.concat([
- all_errors(a),
- all_errors(b),
- all_errors(c),
- all_errors(d),
- all_errors(e),
- all_errors(f),
- ]))
- }
- }
-}
-
-/// Decode 7 values from a `Dynamic` value.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from(#(1, 2.1, "3", "4", "5", "6"))
-/// > |> decode7(
-/// > MyRecord,
-/// > element(0, int),
-/// > element(1, float),
-/// > element(2, string),
-/// > element(3, string),
-/// > element(4, string),
-/// > element(5, string),
-/// > element(6, string),
-/// > )
-/// Ok(MyRecord(1, 2.1, "3", "4", "5", "6", "7"))
-/// ```
-///
-/// ```gleam
-/// > from(#("", "", "", "", "", "", ""))
-/// > |> decode7(
-/// > MyRecord,
-/// > element(0, int),
-/// > element(1, float),
-/// > element(2, string),
-/// > element(3, string),
-/// > element(4, string),
-/// > element(5, string),
-/// > element(6, string),
-/// > )
-/// Error([
-/// DecodeError(expected: "Int", found: "String", path: ["0"]),
-/// DecodeError(expected: "Float", found: "String", path: ["1"]),
-/// ])
-/// ```
-///
-pub fn decode7(
- constructor: fn(t1, t2, t3, t4, t5, t6, t7) -> t,
- t1: Decoder(t1),
- t2: Decoder(t2),
- t3: Decoder(t3),
- t4: Decoder(t4),
- t5: Decoder(t5),
- t6: Decoder(t6),
- t7: Decoder(t7),
-) -> Decoder(t) {
- fn(x: Dynamic) {
- case t1(x), t2(x), t3(x), t4(x), t5(x), t6(x), t7(x) {
- Ok(a), Ok(b), Ok(c), Ok(d), Ok(e), Ok(f), Ok(g) ->
- Ok(constructor(a, b, c, d, e, f, g))
- a, b, c, d, e, f, g ->
- Error(list.concat([
- all_errors(a),
- all_errors(b),
- all_errors(c),
- all_errors(d),
- all_errors(e),
- all_errors(f),
- all_errors(g),
- ]))
- }
- }
-}
-
-/// Decode 8 values from a `Dynamic` value.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from(#(1, 2.1, "3", "4", "5", "6", "7", "8"))
-/// > |> decode8(
-/// > MyRecord,
-/// > element(0, int),
-/// > element(1, float),
-/// > element(2, string),
-/// > element(3, string),
-/// > element(4, string),
-/// > element(5, string),
-/// > element(6, string),
-/// > element(7, string),
-/// > )
-/// Ok(MyRecord(1, 2.1, "3", "4", "5", "6", "7", "8"))
-/// ```
-///
-/// ```gleam
-/// > from(#("", "", "", "", "", "", "", ""))
-/// > |> decode8(
-/// > MyRecord,
-/// > element(0, int),
-/// > element(1, float),
-/// > element(2, string),
-/// > element(3, string),
-/// > element(4, string),
-/// > element(5, string),
-/// > element(6, string),
-/// > element(7, string),
-/// > )
-/// Error([
-/// DecodeError(expected: "Int", found: "String", path: ["0"]),
-/// DecodeError(expected: "Float", found: "String", path: ["1"]),
-/// ])
-/// ```
-///
-pub fn decode8(
- constructor: fn(t1, t2, t3, t4, t5, t6, t7, t8) -> t,
- t1: Decoder(t1),
- t2: Decoder(t2),
- t3: Decoder(t3),
- t4: Decoder(t4),
- t5: Decoder(t5),
- t6: Decoder(t6),
- t7: Decoder(t7),
- t8: Decoder(t8),
-) -> Decoder(t) {
- fn(x: Dynamic) {
- case t1(x), t2(x), t3(x), t4(x), t5(x), t6(x), t7(x), t8(x) {
- Ok(a), Ok(b), Ok(c), Ok(d), Ok(e), Ok(f), Ok(g), Ok(h) ->
- Ok(constructor(a, b, c, d, e, f, g, h))
- a, b, c, d, e, f, g, h ->
- Error(list.concat([
- all_errors(a),
- all_errors(b),
- all_errors(c),
- all_errors(d),
- all_errors(e),
- all_errors(f),
- all_errors(g),
- all_errors(h),
- ]))
- }
- }
-}
-
-/// Decode 9 values from a `Dynamic` value.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from(#(1, 2.1, "3", "4", "5", "6", "7", "8", "9"))
-/// > |> decode9(
-/// > MyRecord,
-/// > element(0, int),
-/// > element(1, float),
-/// > element(2, string),
-/// > element(3, string),
-/// > element(4, string),
-/// > element(5, string),
-/// > element(6, string),
-/// > element(7, string),
-/// > element(8, string),
-/// > )
-/// Ok(MyRecord(1, 2.1, "3", "4", "5", "6", "7", "8", "9"))
-/// ```
-///
-/// ```gleam
-/// > from(#("", "", "", "", "", "", "", "", ""))
-/// > |> decode9(
-/// > MyRecord,
-/// > element(0, int),
-/// > element(1, float),
-/// > element(2, string),
-/// > element(3, string),
-/// > element(4, string),
-/// > element(5, string),
-/// > element(6, string),
-/// > element(7, string),
-/// > element(8, string),
-/// > )
-/// Error([
-/// DecodeError(expected: "Int", found: "String", path: ["0"]),
-/// DecodeError(expected: "Float", found: "String", path: ["1"]),
-/// ])
-/// ```
-///
-pub fn decode9(
- constructor: fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) -> t,
- t1: Decoder(t1),
- t2: Decoder(t2),
- t3: Decoder(t3),
- t4: Decoder(t4),
- t5: Decoder(t5),
- t6: Decoder(t6),
- t7: Decoder(t7),
- t8: Decoder(t8),
- t9: Decoder(t9),
-) -> Decoder(t) {
- fn(x: Dynamic) {
- case t1(x), t2(x), t3(x), t4(x), t5(x), t6(x), t7(x), t8(x), t9(x) {
- Ok(a), Ok(b), Ok(c), Ok(d), Ok(e), Ok(f), Ok(g), Ok(h), Ok(i) ->
- Ok(constructor(a, b, c, d, e, f, g, h, i))
- a, b, c, d, e, f, g, h, i ->
- Error(list.concat([
- all_errors(a),
- all_errors(b),
- all_errors(c),
- all_errors(d),
- all_errors(e),
- all_errors(f),
- all_errors(g),
- all_errors(h),
- all_errors(i),
- ]))
- }
- }
-}
-
-fn all_errors(result: Result(a, List(DecodeError))) -> List(DecodeError) {
- case result {
- Ok(_) -> []
- Error(errors) -> errors
- }
-}
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam/float.gleam b/aoc2023/build/packages/gleam_stdlib/src/gleam/float.gleam
deleted file mode 100644
index 5d62419..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam/float.gleam
+++ /dev/null
@@ -1,546 +0,0 @@
-//// Functions for working with floats.
-////
-//// ## Division by zero
-////
-//// Gleam runs on the Erlang virtual machine, which does not follow the IEEE
-//// 754 standard for floating point arithmetic and does not have an `Infinity`
-//// value. In Erlang division by zero results in a crash, however Gleam does
-//// not have partial functions and operators in core so instead division by zero
-//// returns zero, a behaviour taken from Pony, Coq, and Lean.
-////
-//// This may seem unexpected at first, but it is no less mathematically valid
-//// than crashing or returning a special value. Division by zero is undefined
-//// in mathematics.
-
-import gleam/order.{type Order}
-
-/// Attempts to parse a string as a `Float`, returning `Error(Nil)` if it was
-/// not possible.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > parse("2.3")
-/// Ok(2.3)
-/// ```
-///
-/// ```gleam
-/// > parse("ABC")
-/// Error(Nil)
-/// ```
-///
-pub fn parse(string: String) -> Result(Float, Nil) {
- do_parse(string)
-}
-
-@external(erlang, "gleam_stdlib", "parse_float")
-@external(javascript, "../gleam_stdlib.mjs", "parse_float")
-fn do_parse(a: String) -> Result(Float, Nil)
-
-/// Returns the string representation of the provided `Float`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > to_string(2.3)
-/// "2.3"
-/// ```
-///
-pub fn to_string(x: Float) -> String {
- do_to_string(x)
-}
-
-@external(erlang, "gleam_stdlib", "float_to_string")
-@external(javascript, "../gleam_stdlib.mjs", "float_to_string")
-fn do_to_string(a: Float) -> String
-
-/// Restricts a `Float` between a lower and upper bound.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > clamp(1.2, min: 1.4, max: 1.6)
-/// 1.4
-/// ```
-///
-pub fn clamp(x: Float, min min_bound: Float, max max_bound: Float) -> Float {
- x
- |> min(max_bound)
- |> max(min_bound)
-}
-
-/// Compares two `Float`s, returning an `Order`:
-/// `Lt` for lower than, `Eq` for equals, or `Gt` for greater than.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > compare(2.0, 2.3)
-/// Lt
-/// ```
-///
-/// To handle
-/// [Floating Point Imprecision](https://en.wikipedia.org/wiki/Floating-point_arithmetic#Accuracy_problems)
-/// you may use [`loosely_compare`](#loosely_compare) instead.
-///
-pub fn compare(a: Float, with b: Float) -> Order {
- case a == b {
- True -> order.Eq
- False ->
- case a <. b {
- True -> order.Lt
- False -> order.Gt
- }
- }
-}
-
-/// Compares two `Float`s within a tolerance, returning an `Order`:
-/// `Lt` for lower than, `Eq` for equals, or `Gt` for greater than.
-///
-/// This function allows Float comparison while handling
-/// [Floating Point Imprecision](https://en.wikipedia.org/wiki/Floating-point_arithmetic#Accuracy_problems).
-///
-/// Notice: For `Float`s the tolerance won't be exact:
-/// `5.3 - 5.0` is not exactly `0.3`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > loosely_compare(5.0, with: 5.3, tolerating: 0.5)
-/// Eq
-/// ```
-///
-/// If you want to check only for equality you may use
-/// [`loosely_equals`](#loosely_equals) instead.
-///
-pub fn loosely_compare(
- a: Float,
- with b: Float,
- tolerating tolerance: Float,
-) -> Order {
- let difference = absolute_value(a -. b)
- case difference <=. tolerance {
- True -> order.Eq
- False -> compare(a, b)
- }
-}
-
-/// Checks for equality of two `Float`s within a tolerance,
-/// returning an `Bool`.
-///
-/// This function allows Float comparison while handling
-/// [Floating Point Imprecision](https://en.wikipedia.org/wiki/Floating-point_arithmetic#Accuracy_problems).
-///
-/// Notice: For `Float`s the tolerance won't be exact:
-/// `5.3 - 5.0` is not exactly `0.3`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > loosely_equals(5.0, with: 5.3, tolerating: 0.5)
-/// True
-/// ```
-///
-/// ```gleam
-/// > loosely_equals(5.0, with: 5.1, tolerating: 0.1)
-/// False
-/// ```
-///
-pub fn loosely_equals(
- a: Float,
- with b: Float,
- tolerating tolerance: Float,
-) -> Bool {
- let difference = absolute_value(a -. b)
- difference <=. tolerance
-}
-
-/// Compares two `Float`s, returning the smaller of the two.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > min(2.0, 2.3)
-/// 2.0
-/// ```
-///
-pub fn min(a: Float, b: Float) -> Float {
- case a <. b {
- True -> a
- False -> b
- }
-}
-
-/// Compares two `Float`s, returning the larger of the two.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > max(2.0, 2.3)
-/// 2.3
-/// ```
-///
-pub fn max(a: Float, b: Float) -> Float {
- case a >. b {
- True -> a
- False -> b
- }
-}
-
-/// Rounds the value to the next highest whole number as a `Float`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > ceiling(2.3)
-/// 3.0
-/// ```
-///
-pub fn ceiling(x: Float) -> Float {
- do_ceiling(x)
-}
-
-@external(erlang, "math", "ceil")
-@external(javascript, "../gleam_stdlib.mjs", "ceiling")
-fn do_ceiling(a: Float) -> Float
-
-/// Rounds the value to the next lowest whole number as a `Float`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > floor(2.3)
-/// 2.0
-/// ```
-///
-pub fn floor(x: Float) -> Float {
- do_floor(x)
-}
-
-@external(erlang, "math", "floor")
-@external(javascript, "../gleam_stdlib.mjs", "floor")
-fn do_floor(a: Float) -> Float
-
-/// Rounds the value to the nearest whole number as an `Int`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > round(2.3)
-/// 2
-/// ```
-///
-/// ```gleam
-/// > round(2.5)
-/// 3
-/// ```
-///
-pub fn round(x: Float) -> Int {
- do_round(x)
-}
-
-@target(erlang)
-@external(erlang, "erlang", "round")
-fn do_round(a: Float) -> Int
-
-@target(javascript)
-fn do_round(x: Float) -> Int {
- case x >=. 0.0 {
- True -> js_round(x)
- _ -> 0 - js_round(negate(x))
- }
-}
-
-@target(javascript)
-@external(javascript, "../gleam_stdlib.mjs", "round")
-fn js_round(a: Float) -> Int
-
-/// Returns the value as an `Int`, truncating all decimal digits.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > truncate(2.4343434847383438)
-/// 2
-/// ```
-///
-pub fn truncate(x: Float) -> Int {
- do_truncate(x)
-}
-
-@external(erlang, "erlang", "trunc")
-@external(javascript, "../gleam_stdlib.mjs", "truncate")
-fn do_truncate(a: Float) -> Int
-
-/// Returns the absolute value of the input as a `Float`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > absolute_value(-12.5)
-/// 12.5
-/// ```
-///
-/// ```gleam
-/// > absolute_value(10.2)
-/// 10.2
-/// ```
-///
-pub fn absolute_value(x: Float) -> Float {
- case x >=. 0.0 {
- True -> x
- _ -> 0.0 -. x
- }
-}
-
-/// Returns the results of the base being raised to the power of the
-/// exponent, as a `Float`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > power(2.0, -1.0)
-/// Ok(0.5)
-/// ```
-///
-/// ```gleam
-/// > power(2.0, 2.0)
-/// Ok(4.0)
-/// ```
-///
-/// ```gleam
-/// > power(8.0, 1.5)
-/// Ok(22.627416997969522)
-/// ```
-///
-/// ```gleam
-/// > 4.0 |> power(of: 2.0)
-/// Ok(16.0)
-/// ```
-///
-/// ```gleam
-/// > power(-1.0, 0.5)
-/// Error(Nil)
-/// ```
-///
-pub fn power(base: Float, of exponent: Float) -> Result(Float, Nil) {
- let fractional: Bool = ceiling(exponent) -. exponent >. 0.0
- // In the following check:
- // 1. If the base is negative and the exponent is fractional then
- // return an error as it will otherwise be an imaginary number
- // 2. If the base is 0 and the exponent is negative then the expression
- // is equivalent to the exponent divided by 0 and an error should be
- // returned
- case base <. 0.0 && fractional || base == 0.0 && exponent <. 0.0 {
- True -> Error(Nil)
- False -> Ok(do_power(base, exponent))
- }
-}
-
-@external(erlang, "math", "pow")
-@external(javascript, "../gleam_stdlib.mjs", "power")
-fn do_power(a: Float, b: Float) -> Float
-
-/// Returns the square root of the input as a `Float`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > square_root(4.0)
-/// Ok(2.0)
-/// ```
-///
-/// ```gleam
-/// > square_root(-16.0)
-/// Error(Nil)
-/// ```
-///
-pub fn square_root(x: Float) -> Result(Float, Nil) {
- power(x, 0.5)
-}
-
-/// Returns the negative of the value provided.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > negate(1.0)
-/// -1.0
-/// ```
-///
-pub fn negate(x: Float) -> Float {
- -1.0 *. x
-}
-
-/// Sums a list of `Float`s.
-///
-/// ## Example
-///
-/// ```gleam
-/// > sum([1.0, 2.2, 3.3])
-/// 6.5
-/// ```
-///
-pub fn sum(numbers: List(Float)) -> Float {
- numbers
- |> do_sum(0.0)
-}
-
-fn do_sum(numbers: List(Float), initial: Float) -> Float {
- case numbers {
- [] -> initial
- [x, ..rest] -> do_sum(rest, x +. initial)
- }
-}
-
-/// Multiplies a list of `Float`s and returns the product.
-///
-/// ## Example
-///
-/// ```gleam
-/// > product([2.5, 3.2, 4.2])
-/// 33.6
-/// ```
-///
-pub fn product(numbers: List(Float)) -> Float {
- case numbers {
- [] -> 1.0
- _ -> do_product(numbers, 1.0)
- }
-}
-
-fn do_product(numbers: List(Float), initial: Float) -> Float {
- case numbers {
- [] -> initial
- [x, ..rest] -> do_product(rest, x *. initial)
- }
-}
-
-/// Generates a random float between the given minimum and maximum values.
-///
-///
-/// ## Examples
-///
-/// ```gleam
-/// > random(1.0, 5.0)
-/// 2.646355926896028
-/// ```
-///
-pub fn random(min: Float, max: Float) -> Float {
- do_random_uniform() *. { max -. min } +. min
-}
-
-/// Returns a random float uniformly distributed in the value range
-/// 0.0 =< X < 1.0 and updates the state in the process dictionary.
-/// See: <https://www.erlang.org/doc/man/rand.html#uniform-0>
-///
-@external(erlang, "rand", "uniform")
-@external(javascript, "../gleam_stdlib.mjs", "random_uniform")
-fn do_random_uniform() -> Float
-
-/// Returns division of the inputs as a `Result`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > divide(0.0, 1.0)
-/// Ok(1.0)
-/// ```
-///
-/// ```gleam
-/// > divide(1.0, 0.0)
-/// Error(Nil)
-/// ```
-///
-pub fn divide(a: Float, by b: Float) -> Result(Float, Nil) {
- case b {
- 0.0 -> Error(Nil)
- b -> Ok(a /. b)
- }
-}
-
-/// Adds two floats together.
-///
-/// It's the function equivalent of the `+.` operator.
-/// This function is useful in higher order functions or pipes.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > add(1.0, 2.0)
-/// 3.0
-/// ```
-///
-/// ```gleam
-/// > import gleam/list
-/// > list.fold([1.0, 2.0, 3.0], 0.0, add)
-/// 6.0
-/// ```
-///
-/// ```gleam
-/// > 3.0 |> add(2.0)
-/// 5.0
-/// ```
-///
-pub fn add(a: Float, b: Float) -> Float {
- a +. b
-}
-
-/// Multiplies two floats together.
-///
-/// It's the function equivalent of the `*.` operator.
-/// This function is useful in higher order functions or pipes.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > multiply(2.0, 4.0)
-/// 8.0
-/// ```
-///
-/// ```gleam
-/// import gleam/list
-/// > list.fold([2.0, 3.0, 4.0], 1.0, multiply)
-/// 24.0
-/// ```
-///
-/// ```gleam
-/// > 3.0 |> multiply(2.0)
-/// 6.0
-/// ```
-///
-pub fn multiply(a: Float, b: Float) -> Float {
- a *. b
-}
-
-/// Subtracts one float from another.
-///
-/// It's the function equivalent of the `-.` operator.
-/// This function is useful in higher order functions or pipes.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > subtract(3.0, 1.0)
-/// 2.0
-/// ```
-///
-/// ```gleam
-/// > import gleam/list
-/// > list.fold([1.0, 2.0, 3.0], 10.0, subtract)
-/// 4.0
-/// ```
-///
-/// ```gleam
-/// > 3.0 |> subtract(_, 2.0)
-/// 1.0
-/// ```
-///
-/// ```gleam
-/// > 3.0 |> subtract(2.0, _)
-/// -1.0
-/// ```
-///
-pub fn subtract(a: Float, b: Float) -> Float {
- a -. b
-}
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam/function.gleam b/aoc2023/build/packages/gleam_stdlib/src/gleam/function.gleam
deleted file mode 100644
index daa997d..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam/function.gleam
+++ /dev/null
@@ -1,162 +0,0 @@
-/// Takes two functions and chains them together to form one function that
-/// takes the input from the first and returns the output of the second.
-///
-pub fn compose(fun1: fn(a) -> b, fun2: fn(b) -> c) -> fn(a) -> c {
- fn(a) { fun2(fun1(a)) }
-}
-
-/// Takes a function with `2` arguments (an arity of `2`), and returns the
-/// curried equivalent.
-///
-/// `fn(a, b) -> c` becomes `fn(a) -> fn(b) -> c`.
-///
-/// ## Examples
-///
-/// *Currying* creates a new function that is identical to the given function
-/// except that arguments must now be supplied one by one over several function
-/// calls. It thus is the process of taking a function with `n` arguments
-/// and producing a sequence of `n` single-argument functions. Given:
-///
-/// ```gleam
-/// > fn my_fun(i: Int, s: String) -> String { ... }
-/// ```
-///
-/// …calling `curry2(my_fun)` would return the curried equivalent, like so:
-///
-/// ```gleam
-/// > curry2(my_fun)
-/// fn(Int) -> fn(String) -> String
-/// ```
-///
-/// Currying is useful when you want to partially apply a function with
-/// some arguments and then pass it somewhere else, for example:
-///
-/// ```gleam
-/// > import gleam/list
-/// > let multiply = curry2(fn(x, y) { x * y })
-/// > let doubles = list.map([1, 2, 3], multiply(2))
-/// [2, 4, 6]
-/// ```
-///
-pub fn curry2(fun: fn(a, b) -> value) {
- fn(a) { fn(b) { fun(a, b) } }
-}
-
-/// Takes a function with `3` arguments (an arity of `3`), and returns the
-/// curried equivalent.
-///
-/// `fn(a, b, c) -> d` becomes `fn(a) -> fn(b) -> fn(c) -> d`.
-///
-/// See [`curry2`](#curry2) for a detailed explanation.
-///
-pub fn curry3(fun: fn(a, b, c) -> value) {
- fn(a) { fn(b) { fn(c) { fun(a, b, c) } } }
-}
-
-/// Takes a function with `4` arguments (an arity of `4`), and returns the
-/// curried equivalent.
-///
-/// `fn(a, b, c, d) -> e` becomes `fn(a) -> fn(b) -> fn(c) -> fn(d) -> e`.
-///
-/// See [`curry2`](#curry2) for a detailed explanation.
-///
-pub fn curry4(fun: fn(a, b, c, d) -> value) {
- fn(a) { fn(b) { fn(c) { fn(d) { fun(a, b, c, d) } } } }
-}
-
-/// Takes a function with `5` arguments (an arity of `5`), and returns the
-/// curried equivalent.
-///
-/// `fn(a, b, c, d, e) -> f` becomes
-/// `fn(a) -> fn(b) -> fn(c) -> fn(d) -> fn(e) -> f`.
-///
-/// See [`curry2`](#curry2) for a detailed explanation.
-///
-pub fn curry5(fun: fn(a, b, c, d, e) -> value) {
- fn(a) { fn(b) { fn(c) { fn(d) { fn(e) { fun(a, b, c, d, e) } } } } }
-}
-
-/// Takes a function with `6` arguments (an arity of `6`), and returns the
-/// curried equivalent.
-///
-/// `fn(a, b, c, d, e, f) -> g` becomes
-/// `fn(a) -> fn(b) -> fn(c) -> fn(d) -> fn(e) -> fn(f) -> g`.
-///
-/// See [`curry2`](#curry2) for a detailed explanation.
-///
-pub fn curry6(fun: fn(a, b, c, d, e, f) -> value) {
- fn(a) {
- fn(b) { fn(c) { fn(d) { fn(e) { fn(f) { fun(a, b, c, d, e, f) } } } } }
- }
-}
-
-/// Takes a function that takes two arguments and returns a new function that
-/// takes the same two arguments, but in reverse order.
-///
-pub fn flip(fun: fn(a, b) -> c) -> fn(b, a) -> c {
- fn(b, a) { fun(a, b) }
-}
-
-/// Takes a single argument and always returns its input value.
-///
-pub fn identity(x: a) -> a {
- x
-}
-
-/// Takes a single argument and returns a new function that
-/// ignores its argument and always returns the input value.
-///
-pub fn constant(value: a) -> fn(b) -> a {
- fn(_) { value }
-}
-
-/// Takes an argument and a single function,
-/// calls that function with that argument
-/// and returns that argument instead of the function return value.
-/// Useful for running synchronous side effects in a pipeline.
-///
-pub fn tap(arg: a, effect: fn(a) -> b) -> a {
- effect(arg)
- arg
-}
-
-/// Takes a function with arity one and an argument,
-/// calls that function with the argument and returns the function return value.
-///
-/// Useful for concisely calling functions returned as a part of a pipeline.
-///
-/// ## Example
-///
-/// ```gleam
-/// > let doubler = fn() {
-/// > fn(x: Int) { x * 2 }
-/// > }
-/// >
-/// > doubler()
-/// > |> apply1(2)
-/// 4
-/// ```
-///
-pub fn apply1(fun: fn(a) -> value, arg1: a) -> value {
- fun(arg1)
-}
-
-/// Takes a function with arity two and two arguments,
-/// calls that function with the arguments
-/// and returns the function return value.
-///
-/// See [`apply1`](#apply1) for more details.
-///
-pub fn apply2(fun: fn(a, b) -> value, arg1: a, arg2: b) -> value {
- fun(arg1, arg2)
-}
-
-/// Takes a function with arity three and three arguments,
-/// calls that function with the arguments
-/// and returns the function return value.
-///
-/// See [`apply1`](#apply1) for more details.
-///
-pub fn apply3(fun: fn(a, b, c) -> value, arg1: a, arg2: b, arg3: c) -> value {
- fun(arg1, arg2, arg3)
-}
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam/int.gleam b/aoc2023/build/packages/gleam_stdlib/src/gleam/int.gleam
deleted file mode 100644
index d93c16a..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam/int.gleam
+++ /dev/null
@@ -1,874 +0,0 @@
-//// Functions for working with integers.
-////
-//// ## Division by zero
-////
-//// In Erlang division by zero results in a crash, however Gleam does not have
-//// partial functions and operators in core so instead division by zero returns
-//// zero, a behaviour taken from Pony, Coq, and Lean.
-////
-//// This may seem unexpected at first, but it is no less mathematically valid
-//// than crashing or returning a special value. Division by zero is undefined
-//// in mathematics.
-
-import gleam/float
-import gleam/order.{type Order}
-
-/// Returns the absolute value of the input.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > absolute_value(-12)
-/// 12
-/// ```
-///
-/// ```gleam
-/// > absolute_value(10)
-/// 10
-/// ```
-///
-pub fn absolute_value(x: Int) -> Int {
- case x >= 0 {
- True -> x
- False -> x * -1
- }
-}
-
-/// Returns the results of the base being raised to the power of the
-/// exponent, as a `Float`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > power(2, -1.0)
-/// Ok(0.5)
-/// ```
-///
-/// ```gleam
-/// > power(2, 2.0)
-/// Ok(4.0)
-/// ```
-///
-/// ```gleam
-/// > power(8, 1.5)
-/// Ok(22.627416997969522)
-/// ```
-///
-/// ```gleam
-/// > 4 |> power(of: 2.0)
-/// Ok(16.0)
-/// ```
-///
-/// ```gleam
-/// > power(-1, 0.5)
-/// Error(Nil)
-/// ```
-///
-pub fn power(base: Int, of exponent: Float) -> Result(Float, Nil) {
- base
- |> to_float()
- |> float.power(exponent)
-}
-
-/// Returns the square root of the input as a `Float`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > square_root(4)
-/// Ok(2.0)
-/// ```
-///
-/// ```gleam
-/// > square_root(-16)
-/// Error(Nil)
-/// ```
-///
-pub fn square_root(x: Int) -> Result(Float, Nil) {
- x
- |> to_float()
- |> float.square_root()
-}
-
-/// Parses a given string as an int if possible.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > parse("2")
-/// Ok(2)
-/// ```
-///
-/// ```gleam
-/// > parse("ABC")
-/// Error(Nil)
-/// ```
-///
-pub fn parse(string: String) -> Result(Int, Nil) {
- do_parse(string)
-}
-
-@external(erlang, "gleam_stdlib", "parse_int")
-@external(javascript, "../gleam_stdlib.mjs", "parse_int")
-fn do_parse(a: String) -> Result(Int, Nil)
-
-/// Parses a given string as an int in a given base if possible.
-/// Supports only bases 2 to 36, for values outside of which this function returns an `Error(Nil)`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > base_parse("10", 2)
-/// Ok(2)
-///
-/// > base_parse("30", 16)
-/// Ok(48)
-///
-/// > base_parse("1C", 36)
-/// Ok(48)
-///
-/// > base_parse("48", 1)
-/// Error(Nil)
-///
-/// > base_parse("48", 37)
-/// Error(Nil)
-/// ```
-///
-pub fn base_parse(string: String, base: Int) -> Result(Int, Nil) {
- case base >= 2 && base <= 36 {
- True -> do_base_parse(string, base)
- False -> Error(Nil)
- }
-}
-
-@external(erlang, "gleam_stdlib", "int_from_base_string")
-@external(javascript, "../gleam_stdlib.mjs", "int_from_base_string")
-fn do_base_parse(a: String, b: Int) -> Result(Int, Nil)
-
-/// Prints a given int to a string.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > to_string(2)
-/// "2"
-/// ```
-///
-pub fn to_string(x: Int) {
- do_to_string(x)
-}
-
-@external(erlang, "erlang", "integer_to_binary")
-@external(javascript, "../gleam_stdlib.mjs", "to_string")
-fn do_to_string(a: Int) -> String
-
-/// Error value when trying to operate with a base out of the allowed range.
-///
-pub type InvalidBase {
- InvalidBase
-}
-
-/// Prints a given int to a string using the base number provided.
-/// Supports only bases 2 to 36, for values outside of which this function returns an `Error(InvalidBase)`.
-/// For common bases (2, 8, 16, 36), use the `to_baseN` functions.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > to_base_string(2, 2)
-/// Ok("10")
-/// ```
-///
-/// ```gleam
-/// > to_base_string(48, 16)
-/// Ok("30")
-/// ```
-///
-/// ```gleam
-/// > to_base_string(48, 36)
-/// Ok("1C")
-/// ```
-///
-/// ```gleam
-/// > to_base_string(48, 1)
-/// Error(InvalidBase)
-/// ```
-///
-/// ```gleam
-/// > to_base_string(48, 37)
-/// Error(InvalidBase)
-/// ```
-///
-pub fn to_base_string(x: Int, base: Int) -> Result(String, InvalidBase) {
- case base >= 2 && base <= 36 {
- True -> Ok(do_to_base_string(x, base))
- False -> Error(InvalidBase)
- }
-}
-
-@external(erlang, "erlang", "integer_to_binary")
-@external(javascript, "../gleam_stdlib.mjs", "int_to_base_string")
-fn do_to_base_string(a: Int, b: Int) -> String
-
-/// Prints a given int to a string using base-2.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > to_base2(2)
-/// "10"
-/// ```
-///
-pub fn to_base2(x: Int) -> String {
- do_to_base_string(x, 2)
-}
-
-/// Prints a given int to a string using base-8.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > to_base8(15)
-/// "17"
-/// ```
-///
-pub fn to_base8(x: Int) -> String {
- do_to_base_string(x, 8)
-}
-
-/// Prints a given int to a string using base-16.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > to_base16(48)
-/// "30"
-/// ```
-///
-pub fn to_base16(x: Int) -> String {
- do_to_base_string(x, 16)
-}
-
-/// Prints a given int to a string using base-36.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > to_base36(48)
-/// "1C"
-/// ```
-///
-pub fn to_base36(x: Int) -> String {
- do_to_base_string(x, 36)
-}
-
-/// Takes an int and returns its value as a float.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > to_float(5)
-/// 5.0
-/// ```
-///
-/// ```gleam
-/// > to_float(0)
-/// 0.0
-/// ```
-///
-/// ```gleam
-/// > to_float(-3)
-/// -3.0
-/// ```
-///
-pub fn to_float(x: Int) -> Float {
- do_to_float(x)
-}
-
-@external(erlang, "erlang", "float")
-@external(javascript, "../gleam_stdlib.mjs", "identity")
-fn do_to_float(a: Int) -> Float
-
-/// Restricts an int between a lower and upper bound.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > clamp(40, min: 50, max: 60)
-/// 50
-/// ```
-///
-pub fn clamp(x: Int, min min_bound: Int, max max_bound: Int) -> Int {
- x
- |> min(max_bound)
- |> max(min_bound)
-}
-
-/// Compares two ints, returning an order.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > compare(2, 3)
-/// Lt
-/// ```
-///
-/// ```gleam
-/// > compare(4, 3)
-/// Gt
-/// ```
-///
-/// ```gleam
-/// > compare(3, 3)
-/// Eq
-/// ```
-///
-pub fn compare(a: Int, with b: Int) -> Order {
- case a == b {
- True -> order.Eq
- False ->
- case a < b {
- True -> order.Lt
- False -> order.Gt
- }
- }
-}
-
-/// Compares two ints, returning the smaller of the two.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > min(2, 3)
-/// 2
-/// ```
-///
-pub fn min(a: Int, b: Int) -> Int {
- case a < b {
- True -> a
- False -> b
- }
-}
-
-/// Compares two ints, returning the larger of the two.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > max(2, 3)
-/// 3
-/// ```
-///
-pub fn max(a: Int, b: Int) -> Int {
- case a > b {
- True -> a
- False -> b
- }
-}
-
-/// Returns whether the value provided is even.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > is_even(2)
-/// True
-/// ```
-///
-/// ```gleam
-/// > is_even(3)
-/// False
-/// ```
-///
-pub fn is_even(x: Int) -> Bool {
- x % 2 == 0
-}
-
-/// Returns whether the value provided is odd.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > is_odd(3)
-/// True
-/// ```
-///
-/// ```gleam
-/// > is_odd(2)
-/// False
-/// ```
-///
-pub fn is_odd(x: Int) -> Bool {
- x % 2 != 0
-}
-
-/// Returns the negative of the value provided.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > negate(1)
-/// -1
-/// ```
-///
-pub fn negate(x: Int) -> Int {
- -1 * x
-}
-
-/// Sums a list of ints.
-///
-/// ## Example
-///
-/// ```gleam
-/// > sum([1, 2, 3])
-/// 6
-/// ```
-///
-pub fn sum(numbers: List(Int)) -> Int {
- numbers
- |> do_sum(0)
-}
-
-fn do_sum(numbers: List(Int), initial: Int) -> Int {
- case numbers {
- [] -> initial
- [x, ..rest] -> do_sum(rest, x + initial)
- }
-}
-
-/// Multiplies a list of ints and returns the product.
-///
-/// ## Example
-///
-/// ```gleam
-/// > product([2, 3, 4])
-/// 24
-/// ```
-///
-pub fn product(numbers: List(Int)) -> Int {
- case numbers {
- [] -> 1
- _ -> do_product(numbers, 1)
- }
-}
-
-fn do_product(numbers: List(Int), initial: Int) -> Int {
- case numbers {
- [] -> initial
- [x, ..rest] -> do_product(rest, x * initial)
- }
-}
-
-/// Splits an integer into its digit representation in the specified base
-///
-/// ## Examples
-///
-/// ```gleam
-/// > digits(234, 10)
-/// Ok([2,3,4])
-/// ```
-///
-/// ```gleam
-/// > digits(234, 1)
-/// Error(InvalidBase)
-/// ```
-///
-pub fn digits(x: Int, base: Int) -> Result(List(Int), InvalidBase) {
- case base < 2 {
- True -> Error(InvalidBase)
- False -> Ok(do_digits(x, base, []))
- }
-}
-
-fn do_digits(x: Int, base: Int, acc: List(Int)) -> List(Int) {
- case absolute_value(x) < base {
- True -> [x, ..acc]
- False -> do_digits(x / base, base, [x % base, ..acc])
- }
-}
-
-/// Joins a list of digits into a single value.
-/// Returns an error if the base is less than 2 or if the list contains a digit greater than or equal to the specified base.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > undigits([2,3,4], 10)
-/// Ok(234)
-/// ```
-///
-/// ```gleam
-/// > undigits([2,3,4], 1)
-/// Error(InvalidBase)
-/// ```
-///
-/// ```gleam
-/// > undigits([2,3,4], 2)
-/// Error(InvalidBase)
-/// ```
-///
-pub fn undigits(numbers: List(Int), base: Int) -> Result(Int, InvalidBase) {
- case base < 2 {
- True -> Error(InvalidBase)
- False -> do_undigits(numbers, base, 0)
- }
-}
-
-fn do_undigits(
- numbers: List(Int),
- base: Int,
- acc: Int,
-) -> Result(Int, InvalidBase) {
- case numbers {
- [] -> Ok(acc)
- [digit, ..] if digit >= base -> Error(InvalidBase)
- [digit, ..rest] -> do_undigits(rest, base, acc * base + digit)
- }
-}
-
-/// Generates a random int between the given minimum and maximum values.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > random(1, 5)
-/// 2
-/// ```
-///
-pub fn random(min: Int, max: Int) -> Int {
- float.random(to_float(min), to_float(max))
- |> float.floor()
- |> float.round()
-}
-
-/// Performs a truncated integer division.
-///
-/// Returns division of the inputs as a `Result`: If the given divisor equals
-/// `0`, this function returns an `Error`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > divide(0, 1)
-/// Ok(1)
-/// ```
-///
-/// ```gleam
-/// > divide(1, 0)
-/// Error(Nil)
-/// ```
-///
-/// ```gleam
-/// > divide(5, 2)
-/// Ok(2)
-/// ```
-///
-/// ```gleam
-/// > divide(-99, 2)
-/// Ok(-49)
-/// ```
-///
-pub fn divide(dividend: Int, by divisor: Int) -> Result(Int, Nil) {
- case divisor {
- 0 -> Error(Nil)
- divisor -> Ok(dividend / divisor)
- }
-}
-
-/// Computes the remainder of an integer division of inputs as a `Result`.
-///
-/// Returns division of the inputs as a `Result`: If the given divisor equals
-/// `0`, this function returns an `Error`.
-///
-/// Most the time you will want to use the `%` operator instead of this
-/// function.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > remainder(3, 2)
-/// Ok(1)
-/// ```
-///
-/// ```gleam
-/// > remainder(1, 0)
-/// Error(Nil)
-/// ```
-///
-/// ```gleam
-/// > remainder(10, -1)
-/// Ok(0)
-/// ```
-///
-/// ```gleam
-/// > remainder(13, by: 3)
-/// Ok(1)
-/// ```
-///
-/// ```gleam
-/// > remainder(-13, by: 3)
-/// Ok(-1)
-/// ```
-///
-/// ```gleam
-/// > remainder(13, by: -3)
-/// Ok(1)
-/// ```
-///
-/// ```gleam
-/// > remainder(-13, by: -3)
-/// Ok(-1)
-/// ```
-///
-pub fn remainder(dividend: Int, by divisor: Int) -> Result(Int, Nil) {
- case divisor {
- 0 -> Error(Nil)
- divisor -> Ok(dividend % divisor)
- }
-}
-
-/// Computes the modulo of an integer division of inputs as a `Result`.
-///
-/// Returns division of the inputs as a `Result`: If the given divisor equals
-/// `0`, this function returns an `Error`.
-///
-/// Most the time you will want to use the `%` operator instead of this
-/// function.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > modulo(3, 2)
-/// Ok(1)
-/// ```
-///
-/// ```gleam
-/// > modulo(1, 0)
-/// Error(Nil)
-/// ```
-///
-/// ```gleam
-/// > modulo(10, -1)
-/// Ok(0)
-/// ```
-///
-/// ```gleam
-/// > modulo(13, by: 3)
-/// Ok(1)
-/// ```
-///
-/// ```gleam
-/// > modulo(-13, by: 3)
-/// Ok(2)
-/// ```
-///
-/// ```gleam
-/// > modulo(13, by: -3)
-/// Ok(-2)
-/// ```
-///
-/// ```gleam
-/// > modulo(-13, by: -3)
-/// Ok(-1)
-/// ```
-///
-pub fn modulo(dividend: Int, by divisor: Int) -> Result(Int, Nil) {
- case divisor {
- 0 -> Error(Nil)
- _ -> {
- let remainder = dividend % divisor
- case remainder * divisor < 0 {
- True -> Ok(remainder + divisor)
- False -> Ok(remainder)
- }
- }
- }
-}
-
-/// Performs a *floored* integer division, which means that the result will
-/// always be rounded towards negative infinity.
-///
-/// If you want to perform truncated integer division (rounding towards zero),
-/// use `int.divide()` or the `/` operator instead.
-///
-/// Returns division of the inputs as a `Result`: If the given divisor equals
-/// `0`, this function returns an `Error`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > floor_divide(1, 0)
-/// Error(Nil)
-/// ```
-///
-/// ```gleam
-/// > floor_divide(5, 2)
-/// Ok(2)
-/// ```
-///
-/// ```gleam
-/// > floor_divide(6, -4)
-/// Ok(-2)
-/// ```
-///
-/// ```gleam
-/// > floor_divide(-99, 2)
-/// Ok(-50)
-/// ```
-///
-pub fn floor_divide(dividend: Int, by divisor: Int) -> Result(Int, Nil) {
- case divisor {
- 0 -> Error(Nil)
- divisor ->
- case dividend * divisor < 0 && dividend % divisor != 0 {
- True -> Ok(dividend / divisor - 1)
- False -> Ok(dividend / divisor)
- }
- }
-}
-
-/// Adds two integers together.
-///
-/// It's the function equivalent of the `+` operator.
-/// This function is useful in higher order functions or pipes.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > add(1, 2)
-/// 3
-/// ```
-///
-/// ```gleam
-/// import gleam/list
-/// > list.fold([1, 2, 3], 0, add)
-/// 6
-/// ```
-///
-/// ```gleam
-/// > 3 |> add(2)
-/// 5
-/// ```
-///
-pub fn add(a: Int, b: Int) -> Int {
- a + b
-}
-
-/// Multiplies two integers together.
-///
-/// It's the function equivalent of the `*` operator.
-/// This function is useful in higher order functions or pipes.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > multiply(2, 4)
-/// 8
-/// ```
-///
-/// ```gleam
-/// import gleam/list
-/// > list.fold([2, 3, 4], 1, multiply)
-/// 24
-/// ```
-///
-/// ```gleam
-/// > 3 |> multiply(2)
-/// 6
-/// ```
-///
-pub fn multiply(a: Int, b: Int) -> Int {
- a * b
-}
-
-/// Subtracts one int from another.
-///
-/// It's the function equivalent of the `-` operator.
-/// This function is useful in higher order functions or pipes.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > subtract(3, 1)
-/// 2.0
-/// ```
-///
-/// ```gleam
-/// import gleam/list
-/// > list.fold([1, 2, 3], 10, subtract)
-/// 4
-/// ```
-///
-/// ```gleam
-/// > 3 |> subtract(2)
-/// 1
-/// ```
-///
-/// ```gleam
-/// > 3 |> subtract(2, _)
-/// -1
-/// ```
-///
-pub fn subtract(a: Int, b: Int) -> Int {
- a - b
-}
-
-/// Calculates the bitwise AND of its arguments.
-///
-/// The exact behaviour of this function depends on the target platform.
-/// On Erlang it is equivalent to bitwise operations on ints, on JavaScript it
-/// is equivalent to bitwise operations on big-ints.
-///
-@external(erlang, "erlang", "band")
-@external(javascript, "../gleam_stdlib.mjs", "bitwise_and")
-pub fn bitwise_and(x: Int, y: Int) -> Int
-
-/// Calculates the bitwise NOT of its argument.
-///
-/// The exact behaviour of this function depends on the target platform.
-/// On Erlang it is equivalent to bitwise operations on ints, on JavaScript it
-/// is equivalent to bitwise operations on big-ints.
-///
-@external(erlang, "erlang", "bnot")
-@external(javascript, "../gleam_stdlib.mjs", "bitwise_not")
-pub fn bitwise_not(x: Int) -> Int
-
-/// Calculates the bitwise OR of its arguments.
-///
-/// The exact behaviour of this function depends on the target platform.
-/// On Erlang it is equivalent to bitwise operations on ints, on JavaScript it
-/// is equivalent to bitwise operations on big-ints.
-///
-@external(erlang, "erlang", "bor")
-@external(javascript, "../gleam_stdlib.mjs", "bitwise_or")
-pub fn bitwise_or(x: Int, y: Int) -> Int
-
-/// Calculates the bitwise XOR of its arguments.
-///
-/// The exact behaviour of this function depends on the target platform.
-/// On Erlang it is equivalent to bitwise operations on ints, on JavaScript it
-/// is equivalent to bitwise operations on big-ints.
-///
-@external(erlang, "erlang", "bxor")
-@external(javascript, "../gleam_stdlib.mjs", "bitwise_exclusive_or")
-pub fn bitwise_exclusive_or(x: Int, y: Int) -> Int
-
-/// Calculates the result of an arithmetic left bitshift.
-///
-/// The exact behaviour of this function depends on the target platform.
-/// On Erlang it is equivalent to bitwise operations on ints, on JavaScript it
-/// is equivalent to bitwise operations on big-ints.
-///
-@external(erlang, "erlang", "bsl")
-@external(javascript, "../gleam_stdlib.mjs", "bitwise_shift_left")
-pub fn bitwise_shift_left(x: Int, y: Int) -> Int
-
-/// Calculates the result of an arithmetic right bitshift.
-///
-/// The exact behaviour of this function depends on the target platform.
-/// On Erlang it is equivalent to bitwise operations on ints, on JavaScript it
-/// is equivalent to bitwise operations on big-ints.
-///
-@external(erlang, "erlang", "bsr")
-@external(javascript, "../gleam_stdlib.mjs", "bitwise_shift_right")
-pub fn bitwise_shift_right(x: Int, y: Int) -> Int
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam/io.gleam b/aoc2023/build/packages/gleam_stdlib/src/gleam/io.gleam
deleted file mode 100644
index 0c0a3ee..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam/io.gleam
+++ /dev/null
@@ -1,117 +0,0 @@
-import gleam/string
-
-/// Writes a string to standard output.
-///
-/// If you want your output to be printed on its own line see `println`.
-///
-/// ## Example
-///
-/// ```gleam
-/// > io.print("Hi mum")
-/// // -> Hi mum
-/// Nil
-/// ```
-///
-pub fn print(string: String) -> Nil {
- do_print(string)
-}
-
-@external(erlang, "gleam_stdlib", "print")
-@external(javascript, "../gleam_stdlib.mjs", "print")
-fn do_print(string string: String) -> Nil
-
-/// Writes a string to standard error.
-///
-/// If you want your output to be printed on its own line see `println_error`.
-///
-/// ## Example
-///
-/// ```
-/// > io.print_error("Hi pop")
-/// // -> Hi pop
-/// Nil
-/// ```
-///
-pub fn print_error(string: String) -> Nil {
- do_print_error(string)
-}
-
-@external(erlang, "gleam_stdlib", "print_error")
-@external(javascript, "../gleam_stdlib.mjs", "print_error")
-fn do_print_error(string string: String) -> Nil
-
-/// Writes a string to standard output, appending a newline to the end.
-///
-/// ## Example
-///
-/// ```gleam
-/// > io.println("Hi mum")
-/// // -> Hi mum
-/// Nil
-/// ```
-///
-pub fn println(string: String) -> Nil {
- do_println(string)
-}
-
-@external(erlang, "gleam_stdlib", "println")
-@external(javascript, "../gleam_stdlib.mjs", "console_log")
-fn do_println(string string: String) -> Nil
-
-/// Writes a string to standard error, appending a newline to the end.
-///
-/// ## Example
-///
-/// ```gleam
-/// > io.println_error("Hi pop")
-/// // -> Hi mum
-/// Nil
-/// ```
-///
-pub fn println_error(string: String) -> Nil {
- do_println_error(string)
-}
-
-@external(erlang, "gleam_stdlib", "println_error")
-@external(javascript, "../gleam_stdlib.mjs", "console_error")
-fn do_println_error(string string: String) -> Nil
-
-/// Prints a value to standard error (stderr) yielding Gleam syntax.
-///
-/// The value is returned after being printed so it can be used in pipelines.
-///
-/// ## Example
-///
-/// ```gleam
-/// > debug("Hi mum")
-/// // -> <<"Hi mum">>
-/// "Hi mum"
-/// ```
-///
-/// ```gleam
-/// > debug(Ok(1))
-/// // -> {ok, 1}
-/// Ok(1)
-/// ```
-///
-/// ```gleam
-/// > import list
-/// > [1, 2]
-/// > |> list.map(fn(x) { x + 1 })
-/// > |> debug
-/// > |> list.map(fn(x) { x * 2 })
-/// // -> [2, 3]
-/// [4, 6]
-/// ```
-///
-pub fn debug(term: anything) -> anything {
- term
- |> string.inspect
- |> do_debug_println
-
- term
-}
-
-@external(erlang, "gleam_stdlib", "println_error")
-@external(javascript, "../gleam_stdlib.mjs", "print_debug")
-fn do_debug_println(string string: String) -> Nil
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam/iterator.gleam b/aoc2023/build/packages/gleam_stdlib/src/gleam/iterator.gleam
deleted file mode 100644
index c57e7fd..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam/iterator.gleam
+++ /dev/null
@@ -1,1530 +0,0 @@
-import gleam/result
-import gleam/int
-import gleam/list
-import gleam/dict.{type Dict}
-import gleam/option.{type Option, None, Some}
-import gleam/order
-
-// Internal private representation of an Iterator
-type Action(element) {
- // Dedicated to Electric Six
- // https://youtu.be/_30t2dzEgiw?t=162
- Stop
- Continue(element, fn() -> Action(element))
-}
-
-/// An iterator is a lazily evaluated sequence of element.
-///
-/// Iterators are useful when working with collections that are too large to
-/// fit in memory (or those that are infinite in size) as they only require the
-/// elements currently being processed to be in memory.
-///
-/// As a lazy data structure no work is done when an iterator is filters,
-/// mapped, etc, instead a new iterator is returned with these transformations
-/// applied to the stream. Once the stream has all the required transformations
-/// applied it can be evaluated using functions such as `fold` and `to_list`.
-///
-pub opaque type Iterator(element) {
- Iterator(continuation: fn() -> Action(element))
-}
-
-// Public API for iteration
-pub type Step(element, accumulator) {
- Next(element: element, accumulator: accumulator)
- Done
-}
-
-// Shortcut for an empty iterator.
-fn stop() -> Action(element) {
- Stop
-}
-
-// Creating Iterators
-fn do_unfold(
- initial: acc,
- f: fn(acc) -> Step(element, acc),
-) -> fn() -> Action(element) {
- fn() {
- case f(initial) {
- Next(x, acc) -> Continue(x, do_unfold(acc, f))
- Done -> Stop
- }
- }
-}
-
-/// Creates an iterator from a given function and accumulator.
-///
-/// The function is called on the accumulator and returns either `Done`,
-/// indicating the iterator has no more elements, or `Next` which contains a
-/// new element and accumulator. The element is yielded by the iterator and the
-/// new accumulator is used with the function to compute the next element in
-/// the sequence.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > unfold(from: 5, with: fn(n) {
-/// > case n {
-/// > 0 -> Done
-/// > n -> Next(element: n, accumulator: n - 1)
-/// > }
-/// > })
-/// > |> to_list
-/// [5, 4, 3, 2, 1]
-/// ```
-///
-pub fn unfold(
- from initial: acc,
- with f: fn(acc) -> Step(element, acc),
-) -> Iterator(element) {
- initial
- |> do_unfold(f)
- |> Iterator
-}
-
-// TODO: test
-/// Creates an iterator that yields values created by calling a given function
-/// repeatedly.
-///
-pub fn repeatedly(f: fn() -> element) -> Iterator(element) {
- unfold(Nil, fn(_) { Next(f(), Nil) })
-}
-
-/// Creates an iterator that returns the same value infinitely.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > repeat(10)
-/// > |> take(4)
-/// > |> to_list
-/// [10, 10, 10, 10]
-/// ```
-///
-pub fn repeat(x: element) -> Iterator(element) {
- repeatedly(fn() { x })
-}
-
-/// Creates an iterator that yields each element from the given list.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from_list([1, 2, 3, 4])
-/// > |> to_list
-/// [1, 2, 3, 4]
-/// ```
-///
-pub fn from_list(list: List(element)) -> Iterator(element) {
- let yield = fn(acc) {
- case acc {
- [] -> Done
- [head, ..tail] -> Next(head, tail)
- }
- }
- unfold(list, yield)
-}
-
-// Consuming Iterators
-fn do_transform(
- continuation: fn() -> Action(a),
- state: acc,
- f: fn(acc, a) -> Step(b, acc),
-) -> fn() -> Action(b) {
- fn() {
- case continuation() {
- Stop -> Stop
- Continue(el, next) ->
- case f(state, el) {
- Done -> Stop
- Next(yield, next_state) ->
- Continue(yield, do_transform(next, next_state, f))
- }
- }
- }
-}
-
-/// Creates an iterator from an existing iterator
-/// and a stateful function that may short-circuit.
-///
-/// `f` takes arguments `acc` for current state and `el` for current element from underlying iterator,
-/// and returns either `Next` with yielded element and new state value, or `Done` to halt the iterator.
-///
-/// ## Examples
-///
-/// Approximate implementation of `index` in terms of `transform`:
-///
-/// ```gleam
-/// > from_list(["a", "b", "c"])
-/// > |> transform(0, fn(i, el) { Next(#(i, el), i + 1) })
-/// > |> to_list
-/// [#(0, "a"), #(1, "b"), #(2, "c")]
-/// ```
-pub fn transform(
- over iterator: Iterator(a),
- from initial: acc,
- with f: fn(acc, a) -> Step(b, acc),
-) -> Iterator(b) {
- do_transform(iterator.continuation, initial, f)
- |> Iterator
-}
-
-fn do_fold(
- continuation: fn() -> Action(e),
- f: fn(acc, e) -> acc,
- accumulator: acc,
-) -> acc {
- case continuation() {
- Continue(elem, next) -> do_fold(next, f, f(accumulator, elem))
- Stop -> accumulator
- }
-}
-
-/// Reduces an iterator of elements into a single value by calling a given
-/// function on each element in turn.
-///
-/// If called on an iterator of infinite length then this function will never
-/// return.
-///
-/// If you do not care about the end value and only wish to evaluate the
-/// iterator for side effects consider using the `run` function instead.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > [1, 2, 3, 4]
-/// > |> from_list
-/// > |> fold(from: 0, with: fn(acc, element) { element + acc })
-/// 10
-/// ```
-///
-pub fn fold(
- over iterator: Iterator(e),
- from initial: acc,
- with f: fn(acc, e) -> acc,
-) -> acc {
- iterator.continuation
- |> do_fold(f, initial)
-}
-
-// TODO: test
-/// Evaluates all elements emitted by the given iterator. This function is useful for when
-/// you wish to trigger any side effects that would occur when evaluating
-/// the iterator.
-///
-pub fn run(iterator: Iterator(e)) -> Nil {
- fold(iterator, Nil, fn(_, _) { Nil })
-}
-
-/// Evaluates an iterator and returns all the elements as a list.
-///
-/// If called on an iterator of infinite length then this function will never
-/// return.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > [1, 2, 3]
-/// > |> from_list
-/// > |> map(fn(x) { x * 2 })
-/// > |> to_list
-/// [2, 4, 6]
-/// ```
-///
-pub fn to_list(iterator: Iterator(element)) -> List(element) {
- iterator
- |> fold([], fn(acc, e) { [e, ..acc] })
- |> list.reverse
-}
-
-/// Eagerly accesses the first value of an iterator, returning a `Next`
-/// that contains the first value and the rest of the iterator.
-///
-/// If called on an empty iterator, `Done` is returned.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > let assert Next(first, rest) = [1, 2, 3, 4]
-/// > |> from_list
-/// > |> step
-/// > first
-/// 1
-/// ```
-///
-/// ```gleam
-/// > rest |> to_list
-/// [2, 3, 4]
-/// ```
-///
-/// ```gleam
-/// > empty() |> step
-/// Done
-/// ```
-///
-pub fn step(iterator: Iterator(e)) -> Step(e, Iterator(e)) {
- case iterator.continuation() {
- Stop -> Done
- Continue(e, a) -> Next(e, Iterator(a))
- }
-}
-
-fn do_take(continuation: fn() -> Action(e), desired: Int) -> fn() -> Action(e) {
- fn() {
- case desired > 0 {
- False -> Stop
- True ->
- case continuation() {
- Stop -> Stop
- Continue(e, next) -> Continue(e, do_take(next, desired - 1))
- }
- }
- }
-}
-
-/// Creates an iterator that only yields the first `desired` elements.
-///
-/// If the iterator does not have enough elements all of them are yielded.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > [1, 2, 3, 4, 5]
-/// > |> from_list
-/// > |> take(up_to: 3)
-/// > |> to_list
-/// [1, 2, 3]
-/// ```
-///
-/// ```gleam
-/// > [1, 2]
-/// > |> from_list
-/// > |> take(up_to: 3)
-/// > |> to_list
-/// [1, 2]
-/// ```
-///
-pub fn take(from iterator: Iterator(e), up_to desired: Int) -> Iterator(e) {
- iterator.continuation
- |> do_take(desired)
- |> Iterator
-}
-
-fn do_drop(continuation: fn() -> Action(e), desired: Int) -> Action(e) {
- case continuation() {
- Stop -> Stop
- Continue(e, next) ->
- case desired > 0 {
- True -> do_drop(next, desired - 1)
- False -> Continue(e, next)
- }
- }
-}
-
-/// Evaluates and discards the first N elements in an iterator, returning a new
-/// iterator.
-///
-/// If the iterator does not have enough elements an empty iterator is
-/// returned.
-///
-/// This function does not evaluate the elements of the iterator, the
-/// computation is performed when the iterator is later run.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > [1, 2, 3, 4, 5]
-/// > |> from_list
-/// > |> drop(up_to: 3)
-/// > |> to_list
-/// [4, 5]
-/// ```
-///
-/// ```gleam
-/// > [1, 2]
-/// > |> from_list
-/// > |> drop(up_to: 3)
-/// > |> to_list
-/// []
-/// ```
-///
-pub fn drop(from iterator: Iterator(e), up_to desired: Int) -> Iterator(e) {
- fn() { do_drop(iterator.continuation, desired) }
- |> Iterator
-}
-
-fn do_map(continuation: fn() -> Action(a), f: fn(a) -> b) -> fn() -> Action(b) {
- fn() {
- case continuation() {
- Stop -> Stop
- Continue(e, continuation) -> Continue(f(e), do_map(continuation, f))
- }
- }
-}
-
-/// Creates an iterator from an existing iterator and a transformation function.
-///
-/// Each element in the new iterator will be the result of calling the given
-/// function on the elements in the given iterator.
-///
-/// This function does not evaluate the elements of the iterator, the
-/// computation is performed when the iterator is later run.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > [1, 2, 3]
-/// > |> from_list
-/// > |> map(fn(x) { x * 2 })
-/// > |> to_list
-/// [2, 4, 6]
-/// ```
-///
-pub fn map(over iterator: Iterator(a), with f: fn(a) -> b) -> Iterator(b) {
- iterator.continuation
- |> do_map(f)
- |> Iterator
-}
-
-fn do_map2(
- continuation1: fn() -> Action(a),
- continuation2: fn() -> Action(b),
- with fun: fn(a, b) -> c,
-) -> fn() -> Action(c) {
- fn() {
- case continuation1() {
- Stop -> Stop
- Continue(a, next_a) ->
- case continuation2() {
- Stop -> Stop
- Continue(b, next_b) ->
- Continue(fun(a, b), do_map2(next_a, next_b, fun))
- }
- }
- }
-}
-
-/// Combines two interators into a single one using the given function.
-///
-/// If an iterator is longer than the other the extra elements are dropped.
-///
-/// This function does not evaluate the elements of the two iterators, the
-/// computation is performed when the resulting iterator is later run.
-///
-/// ## Examples
-///
-/// ```gleam
-/// let first = from_list([1, 2, 3])
-/// let second = from_list([4, 5, 6])
-/// map2(first, second, fn(x, y) { x + y }) |> to_list
-/// // -> [5, 7, 9]
-/// ```
-///
-/// ```gleam
-/// let first = from_list([1, 2])
-/// let second = from_list(["a", "b", "c"])
-/// map2(first, second, fn(i, x) { #(i, x) }) |> to_list
-/// // -> [#(1, "a"), #(2, "b")]
-/// ```
-///
-pub fn map2(
- iterator1: Iterator(a),
- iterator2: Iterator(b),
- with fun: fn(a, b) -> c,
-) -> Iterator(c) {
- do_map2(iterator1.continuation, iterator2.continuation, fun)
- |> Iterator
-}
-
-fn do_append(first: fn() -> Action(a), second: fn() -> Action(a)) -> Action(a) {
- case first() {
- Continue(e, first) -> Continue(e, fn() { do_append(first, second) })
- Stop -> second()
- }
-}
-
-/// Appends two iterators, producing a new iterator.
-///
-/// This function does not evaluate the elements of the iterators, the
-/// computation is performed when the resulting iterator is later run.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > [1, 2]
-/// > |> from_list
-/// > |> append([3, 4] |> from_list)
-/// > |> to_list
-/// [1, 2, 3, 4]
-/// ```
-///
-pub fn append(to first: Iterator(a), suffix second: Iterator(a)) -> Iterator(a) {
- fn() { do_append(first.continuation, second.continuation) }
- |> Iterator
-}
-
-fn do_flatten(flattened: fn() -> Action(Iterator(a))) -> Action(a) {
- case flattened() {
- Stop -> Stop
- Continue(it, next_iterator) ->
- do_append(it.continuation, fn() { do_flatten(next_iterator) })
- }
-}
-
-/// Flattens an iterator of iterators, creating a new iterator.
-///
-/// This function does not evaluate the elements of the iterator, the
-/// computation is performed when the iterator is later run.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from_list([[1, 2], [3, 4]])
-/// > |> map(from_list)
-/// > |> flatten
-/// > |> to_list
-/// [1, 2, 3, 4]
-/// ```
-///
-pub fn flatten(iterator: Iterator(Iterator(a))) -> Iterator(a) {
- fn() { do_flatten(iterator.continuation) }
- |> Iterator
-}
-
-/// Joins a list of iterators into a single iterator.
-///
-/// This function does not evaluate the elements of the iterator, the
-/// computation is performed when the iterator is later run.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > [[1, 2], [3, 4]]
-/// > |> map(from_list)
-/// > |> concat
-/// > |> to_list
-/// [1, 2, 3, 4]
-/// ```
-///
-pub fn concat(iterators: List(Iterator(a))) -> Iterator(a) {
- flatten(from_list(iterators))
-}
-
-/// Creates an iterator from an existing iterator and a transformation function.
-///
-/// Each element in the new iterator will be the result of calling the given
-/// function on the elements in the given iterator and then flattening the
-/// results.
-///
-/// This function does not evaluate the elements of the iterator, the
-/// computation is performed when the iterator is later run.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > [1, 2]
-/// > |> from_list
-/// > |> flat_map(fn(x) { from_list([x, x + 1]) })
-/// > |> to_list
-/// [1, 2, 2, 3]
-/// ```
-///
-pub fn flat_map(
- over iterator: Iterator(a),
- with f: fn(a) -> Iterator(b),
-) -> Iterator(b) {
- iterator
- |> map(f)
- |> flatten
-}
-
-fn do_filter(
- continuation: fn() -> Action(e),
- predicate: fn(e) -> Bool,
-) -> Action(e) {
- case continuation() {
- Stop -> Stop
- Continue(e, iterator) ->
- case predicate(e) {
- True -> Continue(e, fn() { do_filter(iterator, predicate) })
- False -> do_filter(iterator, predicate)
- }
- }
-}
-
-/// Creates an iterator from an existing iterator and a predicate function.
-///
-/// The new iterator will contain elements from the first iterator for which
-/// the given function returns `True`.
-///
-/// This function does not evaluate the elements of the iterator, the
-/// computation is performed when the iterator is later run.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > import gleam/int
-/// > [1, 2, 3, 4]
-/// > |> from_list
-/// > |> filter(int.is_even)
-/// > |> to_list
-/// [2, 4]
-/// ```
-///
-pub fn filter(
- iterator: Iterator(a),
- keeping predicate: fn(a) -> Bool,
-) -> Iterator(a) {
- fn() { do_filter(iterator.continuation, predicate) }
- |> Iterator
-}
-
-/// Creates an iterator that repeats a given iterator infinitely.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > [1, 2]
-/// > |> from_list
-/// > |> cycle
-/// > |> take(6)
-/// > |> to_list
-/// [1, 2, 1, 2, 1, 2]
-/// ```
-///
-pub fn cycle(iterator: Iterator(a)) -> Iterator(a) {
- repeat(iterator)
- |> flatten
-}
-
-/// Creates an iterator of ints, starting at a given start int and stepping by
-/// one to a given end int.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > range(from: 1, to: 5) |> to_list
-/// [1, 2, 3, 4, 5]
-/// ```
-///
-/// ```gleam
-/// > range(from: 1, to: -2) |> to_list
-/// [1, 0, -1, -2]
-/// ```
-///
-/// ```gleam
-/// > range(from: 0, to: 0) |> to_list
-/// [0]
-/// ```
-///
-pub fn range(from start: Int, to stop: Int) -> Iterator(Int) {
- case int.compare(start, stop) {
- order.Eq -> once(fn() { start })
- order.Gt ->
- unfold(
- from: start,
- with: fn(current) {
- case current < stop {
- False -> Next(current, current - 1)
- True -> Done
- }
- },
- )
-
- order.Lt ->
- unfold(
- from: start,
- with: fn(current) {
- case current > stop {
- False -> Next(current, current + 1)
- True -> Done
- }
- },
- )
- }
-}
-
-fn do_find(continuation: fn() -> Action(a), f: fn(a) -> Bool) -> Result(a, Nil) {
- case continuation() {
- Stop -> Error(Nil)
- Continue(e, next) ->
- case f(e) {
- True -> Ok(e)
- False -> do_find(next, f)
- }
- }
-}
-
-/// Finds the first element in a given iterator for which the given function returns
-/// `True`.
-///
-/// Returns `Error(Nil)` if the function does not return `True` for any of the
-/// elements.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > find(from_list([1, 2, 3]), fn(x) { x > 2 })
-/// Ok(3)
-/// ```
-///
-/// ```gleam
-/// > find(from_list([1, 2, 3]), fn(x) { x > 4 })
-/// Error(Nil)
-/// ```
-///
-/// ```gleam
-/// > find(empty(), fn(_) { True })
-/// Error(Nil)
-/// ```
-///
-pub fn find(
- in haystack: Iterator(a),
- one_that is_desired: fn(a) -> Bool,
-) -> Result(a, Nil) {
- haystack.continuation
- |> do_find(is_desired)
-}
-
-fn do_index(
- continuation: fn() -> Action(element),
- next: Int,
-) -> fn() -> Action(#(Int, element)) {
- fn() {
- case continuation() {
- Stop -> Stop
- Continue(e, continuation) ->
- Continue(#(next, e), do_index(continuation, next + 1))
- }
- }
-}
-
-/// Wraps values yielded from an iterator with indices, starting from 0.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from_list(["a", "b", "c"]) |> index |> to_list
-/// [#(0, "a"), #(1, "b"), #(2, "c")]
-/// ```
-///
-pub fn index(over iterator: Iterator(element)) -> Iterator(#(Int, element)) {
- iterator.continuation
- |> do_index(0)
- |> Iterator
-}
-
-/// Creates an iterator that inifinitely applies a function to a value.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > iterate(1, fn(n) { n * 3 }) |> take(5) |> to_list
-/// [1, 3, 9, 27, 81]
-/// ```
-///
-pub fn iterate(
- from initial: element,
- with f: fn(element) -> element,
-) -> Iterator(element) {
- unfold(initial, fn(element) { Next(element, f(element)) })
-}
-
-fn do_take_while(
- continuation: fn() -> Action(element),
- predicate: fn(element) -> Bool,
-) -> fn() -> Action(element) {
- fn() {
- case continuation() {
- Stop -> Stop
- Continue(e, next) ->
- case predicate(e) {
- False -> Stop
- True -> Continue(e, do_take_while(next, predicate))
- }
- }
- }
-}
-
-/// Creates an iterator that yields elements while the predicate returns `True`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from_list([1, 2, 3, 2, 4])
-/// > |> take_while(satisfying: fn(x) { x < 3 })
-/// > |> to_list
-/// [1, 2]
-/// ```
-///
-pub fn take_while(
- in iterator: Iterator(element),
- satisfying predicate: fn(element) -> Bool,
-) -> Iterator(element) {
- iterator.continuation
- |> do_take_while(predicate)
- |> Iterator
-}
-
-fn do_drop_while(
- continuation: fn() -> Action(element),
- predicate: fn(element) -> Bool,
-) -> Action(element) {
- case continuation() {
- Stop -> Stop
- Continue(e, next) ->
- case predicate(e) {
- False -> Continue(e, next)
- True -> do_drop_while(next, predicate)
- }
- }
-}
-
-/// Creates an iterator that drops elements while the predicate returns `True`,
-/// and then yields the remaining elements.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from_list([1, 2, 3, 4, 2, 5])
-/// > |> drop_while(satisfying: fn(x) { x < 4 })
-/// > |> to_list
-/// [4, 2, 5]
-/// ```
-///
-pub fn drop_while(
- in iterator: Iterator(element),
- satisfying predicate: fn(element) -> Bool,
-) -> Iterator(element) {
- fn() { do_drop_while(iterator.continuation, predicate) }
- |> Iterator
-}
-
-fn do_scan(
- continuation: fn() -> Action(element),
- f: fn(acc, element) -> acc,
- accumulator: acc,
-) -> fn() -> Action(acc) {
- fn() {
- case continuation() {
- Stop -> Stop
- Continue(el, next) -> {
- let accumulated = f(accumulator, el)
- Continue(accumulated, do_scan(next, f, accumulated))
- }
- }
- }
-}
-
-/// Creates an iterator from an existing iterator and a stateful function.
-///
-/// Specifically, this behaves like `fold`, but yields intermediate results.
-///
-/// ## Examples
-///
-/// ```gleam
-/// // Generate a sequence of partial sums
-/// > from_list([1, 2, 3, 4, 5])
-/// > |> scan(from: 0, with: fn(acc, el) { acc + el })
-/// > |> to_list
-/// [1, 3, 6, 10, 15]
-/// ```
-///
-pub fn scan(
- over iterator: Iterator(element),
- from initial: acc,
- with f: fn(acc, element) -> acc,
-) -> Iterator(acc) {
- iterator.continuation
- |> do_scan(f, initial)
- |> Iterator
-}
-
-fn do_zip(
- left: fn() -> Action(a),
- right: fn() -> Action(b),
-) -> fn() -> Action(#(a, b)) {
- fn() {
- case left() {
- Stop -> Stop
- Continue(el_left, next_left) ->
- case right() {
- Stop -> Stop
- Continue(el_right, next_right) ->
- Continue(#(el_left, el_right), do_zip(next_left, next_right))
- }
- }
- }
-}
-
-/// Zips two iterators together, emitting values from both
-/// until the shorter one runs out.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from_list(["a", "b", "c"])
-/// > |> zip(range(20, 30))
-/// > |> to_list
-/// [#("a", 20), #("b", 21), #("c", 22)]
-/// ```
-///
-pub fn zip(left: Iterator(a), right: Iterator(b)) -> Iterator(#(a, b)) {
- do_zip(left.continuation, right.continuation)
- |> Iterator
-}
-
-// Result of collecting a single chunk by key
-type Chunk(element, key) {
- AnotherBy(List(element), key, element, fn() -> Action(element))
- LastBy(List(element))
-}
-
-fn next_chunk(
- continuation: fn() -> Action(element),
- f: fn(element) -> key,
- previous_key: key,
- current_chunk: List(element),
-) -> Chunk(element, key) {
- case continuation() {
- Stop -> LastBy(list.reverse(current_chunk))
- Continue(e, next) -> {
- let key = f(e)
- case key == previous_key {
- True -> next_chunk(next, f, key, [e, ..current_chunk])
- False -> AnotherBy(list.reverse(current_chunk), key, e, next)
- }
- }
- }
-}
-
-fn do_chunk(
- continuation: fn() -> Action(element),
- f: fn(element) -> key,
- previous_key: key,
- previous_element: element,
-) -> Action(List(element)) {
- case next_chunk(continuation, f, previous_key, [previous_element]) {
- LastBy(chunk) -> Continue(chunk, stop)
- AnotherBy(chunk, key, el, next) ->
- Continue(chunk, fn() { do_chunk(next, f, key, el) })
- }
-}
-
-/// Creates an iterator that emits chunks of elements
-/// for which `f` returns the same value.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from_list([1, 2, 2, 3, 4, 4, 6, 7, 7])
-/// > |> chunk(by: fn(n) { n % 2 })
-/// > |> to_list
-/// [[1], [2, 2], [3], [4, 4, 6], [7, 7]]
-/// ```
-///
-pub fn chunk(
- over iterator: Iterator(element),
- by f: fn(element) -> key,
-) -> Iterator(List(element)) {
- fn() {
- case iterator.continuation() {
- Stop -> Stop
- Continue(e, next) -> do_chunk(next, f, f(e), e)
- }
- }
- |> Iterator
-}
-
-// Result of collecting a single sized chunk
-type SizedChunk(element) {
- Another(List(element), fn() -> Action(element))
- Last(List(element))
- NoMore
-}
-
-fn next_sized_chunk(
- continuation: fn() -> Action(element),
- left: Int,
- current_chunk: List(element),
-) -> SizedChunk(element) {
- case continuation() {
- Stop ->
- case current_chunk {
- [] -> NoMore
- remaining -> Last(list.reverse(remaining))
- }
- Continue(e, next) -> {
- let chunk = [e, ..current_chunk]
- case left > 1 {
- False -> Another(list.reverse(chunk), next)
- True -> next_sized_chunk(next, left - 1, chunk)
- }
- }
- }
-}
-
-fn do_sized_chunk(
- continuation: fn() -> Action(element),
- count: Int,
-) -> fn() -> Action(List(element)) {
- fn() {
- case next_sized_chunk(continuation, count, []) {
- NoMore -> Stop
- Last(chunk) -> Continue(chunk, stop)
- Another(chunk, next_element) ->
- Continue(chunk, do_sized_chunk(next_element, count))
- }
- }
-}
-
-/// Creates an iterator that emits chunks of given size.
-///
-/// If the last chunk does not have `count` elements, it is yielded
-/// as a partial chunk, with less than `count` elements.
-///
-/// For any `count` less than 1 this function behaves as if it was set to 1.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from_list([1, 2, 3, 4, 5, 6])
-/// > |> sized_chunk(into: 2)
-/// > |> to_list
-/// [[1, 2], [3, 4], [5, 6]]
-/// ```
-///
-/// ```gleam
-/// > from_list([1, 2, 3, 4, 5, 6, 7, 8])
-/// > |> sized_chunk(into: 3)
-/// > |> to_list
-/// [[1, 2, 3], [4, 5, 6], [7, 8]]
-/// ```
-///
-pub fn sized_chunk(
- over iterator: Iterator(element),
- into count: Int,
-) -> Iterator(List(element)) {
- iterator.continuation
- |> do_sized_chunk(count)
- |> Iterator
-}
-
-fn do_intersperse(
- continuation: fn() -> Action(element),
- separator: element,
-) -> Action(element) {
- case continuation() {
- Stop -> Stop
- Continue(e, next) -> {
- let next_interspersed = fn() { do_intersperse(next, separator) }
- Continue(separator, fn() { Continue(e, next_interspersed) })
- }
- }
-}
-
-/// Creates an iterator that yields the given `elem` element
-/// between elements emitted by the underlying iterator.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > empty()
-/// > |> intersperse(with: 0)
-/// > |> to_list
-/// []
-///
-/// > from_list([1])
-/// > |> intersperse(with: 0)
-/// > |> to_list
-/// [1]
-///
-/// > from_list([1, 2, 3, 4, 5])
-/// > |> intersperse(with: 0)
-/// > |> to_list
-/// [1, 0, 2, 0, 3, 0, 4, 0, 5]
-/// ```
-///
-pub fn intersperse(
- over iterator: Iterator(element),
- with elem: element,
-) -> Iterator(element) {
- fn() {
- case iterator.continuation() {
- Stop -> Stop
- Continue(e, next) -> Continue(e, fn() { do_intersperse(next, elem) })
- }
- }
- |> Iterator
-}
-
-fn do_any(
- continuation: fn() -> Action(element),
- predicate: fn(element) -> Bool,
-) -> Bool {
- case continuation() {
- Stop -> False
- Continue(e, next) ->
- case predicate(e) {
- True -> True
- False -> do_any(next, predicate)
- }
- }
-}
-
-/// Returns `True` if any element emitted by the iterator satisfies the given predicate,
-/// `False` otherwise.
-///
-/// This function short-circuits once it finds a satisfying element.
-///
-/// An empty iterator results in `False`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > empty() |> any(fn(n) { n % 2 == 0 })
-/// False
-/// ```
-///
-/// ```gleam
-/// > from_list([1, 2, 5, 7, 9]) |> any(fn(n) { n % 2 == 0 })
-/// True
-/// ```
-///
-/// ```gleam
-/// > from_list([1, 3, 5, 7, 9]) |> any(fn(n) { n % 2 == 0 })
-/// False
-/// ```
-///
-pub fn any(
- in iterator: Iterator(element),
- satisfying predicate: fn(element) -> Bool,
-) -> Bool {
- iterator.continuation
- |> do_any(predicate)
-}
-
-fn do_all(
- continuation: fn() -> Action(element),
- predicate: fn(element) -> Bool,
-) -> Bool {
- case continuation() {
- Stop -> True
- Continue(e, next) ->
- case predicate(e) {
- True -> do_all(next, predicate)
- False -> False
- }
- }
-}
-
-/// Returns `True` if all elements emitted by the iterator satisfy the given predicate,
-/// `False` otherwise.
-///
-/// This function short-circuits once it finds a non-satisfying element.
-///
-/// An empty iterator results in `True`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > empty() |> all(fn(n) { n % 2 == 0 })
-/// True
-/// ```
-///
-/// ```gleam
-/// > from_list([2, 4, 6, 8]) |> all(fn(n) { n % 2 == 0 })
-/// True
-/// ```
-///
-/// ```gleam
-/// > from_list([2, 4, 5, 8]) |> all(fn(n) { n % 2 == 0 })
-/// False
-/// ```
-///
-pub fn all(
- in iterator: Iterator(element),
- satisfying predicate: fn(element) -> Bool,
-) -> Bool {
- iterator.continuation
- |> do_all(predicate)
-}
-
-fn update_group_with(el: element) -> fn(Option(List(element))) -> List(element) {
- fn(maybe_group) {
- case maybe_group {
- Some(group) -> [el, ..group]
- None -> [el]
- }
- }
-}
-
-fn group_updater(
- f: fn(element) -> key,
-) -> fn(Dict(key, List(element)), element) -> Dict(key, List(element)) {
- fn(groups, elem) {
- groups
- |> dict.update(f(elem), update_group_with(elem))
- }
-}
-
-/// Returns a `Dict(k, List(element))` of elements from the given iterator
-/// grouped with the given key function.
-///
-/// The order within each group is preserved from the iterator.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from_list([1, 2, 3, 4, 5, 6]) |> group(by: fn(n) { n % 3 })
-/// dict.from_list([#(0, [3, 6]), #(1, [1, 4]), #(2, [2, 5])])
-/// ```
-///
-pub fn group(
- in iterator: Iterator(element),
- by key: fn(element) -> key,
-) -> Dict(key, List(element)) {
- iterator
- |> fold(dict.new(), group_updater(key))
- |> dict.map_values(fn(_, group) { list.reverse(group) })
-}
-
-/// This function acts similar to fold, but does not take an initial state.
-/// Instead, it starts from the first yielded element
-/// and combines it with each subsequent element in turn using the given function.
-/// The function is called as `f(accumulator, current_element)`.
-///
-/// Returns `Ok` to indicate a successful run, and `Error` if called on an empty iterator.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from_list([]) |> reduce(fn(acc, x) { acc + x })
-/// Error(Nil)
-/// ```
-///
-/// ```gleam
-/// > from_list([1, 2, 3, 4, 5]) |> reduce(fn(acc, x) { acc + x })
-/// Ok(15)
-/// ```
-///
-pub fn reduce(
- over iterator: Iterator(e),
- with f: fn(e, e) -> e,
-) -> Result(e, Nil) {
- case iterator.continuation() {
- Stop -> Error(Nil)
- Continue(e, next) ->
- do_fold(next, f, e)
- |> Ok
- }
-}
-
-/// Returns the last element in the given iterator.
-///
-/// Returns `Error(Nil)` if the iterator is empty.
-///
-/// This function runs in linear time.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > empty() |> last
-/// Error(Nil)
-/// ```
-///
-/// ```gleam
-/// > range(1, 10) |> last
-/// Ok(9)
-/// ```
-///
-pub fn last(iterator: Iterator(element)) -> Result(element, Nil) {
- iterator
- |> reduce(fn(_, elem) { elem })
-}
-
-/// Creates an iterator that yields no elements.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > empty() |> to_list
-/// []
-/// ```
-///
-pub fn empty() -> Iterator(element) {
- Iterator(stop)
-}
-
-/// Creates an iterator that yields exactly one element provided by calling the given function.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > once(fn() { 1 }) |> to_list
-/// [1]
-/// ```
-///
-pub fn once(f: fn() -> element) -> Iterator(element) {
- fn() { Continue(f(), stop) }
- |> Iterator
-}
-
-/// Creates an iterator that yields the given element exactly once.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > single(1) |> to_list
-/// [1]
-/// ```
-///
-pub fn single(elem: element) -> Iterator(element) {
- once(fn() { elem })
-}
-
-fn do_interleave(
- current: fn() -> Action(element),
- next: fn() -> Action(element),
-) -> Action(element) {
- case current() {
- Stop -> next()
- Continue(e, next_other) ->
- Continue(e, fn() { do_interleave(next, next_other) })
- }
-}
-
-/// Creates an iterator that alternates between the two given iterators
-/// until both have run out.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from_list([1, 2, 3, 4]) |> interleave(from_list([11, 12, 13, 14])) |> to_list
-/// [1, 11, 2, 12, 3, 13, 4, 14]
-/// ```
-///
-/// ```gleam
-/// > from_list([1, 2, 3, 4]) |> interleave(from_list([100])) |> to_list
-/// [1, 100, 2, 3, 4]
-/// ```
-///
-pub fn interleave(
- left: Iterator(element),
- with right: Iterator(element),
-) -> Iterator(element) {
- fn() { do_interleave(left.continuation, right.continuation) }
- |> Iterator
-}
-
-fn do_fold_until(
- continuation: fn() -> Action(e),
- f: fn(acc, e) -> list.ContinueOrStop(acc),
- accumulator: acc,
-) -> acc {
- case continuation() {
- Stop -> accumulator
- Continue(elem, next) ->
- case f(accumulator, elem) {
- list.Continue(accumulator) -> do_fold_until(next, f, accumulator)
- list.Stop(accumulator) -> accumulator
- }
- }
-}
-
-/// Like `fold`, `fold_until` reduces an iterator of elements into a single value by calling a given
-/// function on each element in turn, but uses `list.ContinueOrStop` to determine
-/// whether or not to keep iterating.
-///
-/// If called on an iterator of infinite length then this function will only ever
-/// return if the function returns `list.Stop`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > import gleam/list
-/// > let f = fn(acc, e) {
-/// > case e {
-/// > _ if e < 4 -> list.Continue(e + acc)
-/// > _ -> list.Stop(acc)
-/// > }
-/// > }
-/// >
-/// > [1, 2, 3, 4]
-/// > |> from_list
-/// > |> fold_until(from: acc, with: f)
-/// 6
-/// ```
-///
-pub fn fold_until(
- over iterator: Iterator(e),
- from initial: acc,
- with f: fn(acc, e) -> list.ContinueOrStop(acc),
-) -> acc {
- iterator.continuation
- |> do_fold_until(f, initial)
-}
-
-fn do_try_fold(
- over continuation: fn() -> Action(a),
- with f: fn(acc, a) -> Result(acc, err),
- from accumulator: acc,
-) -> Result(acc, err) {
- case continuation() {
- Stop -> Ok(accumulator)
- Continue(elem, next) -> {
- use accumulator <- result.try(f(accumulator, elem))
- do_try_fold(next, f, accumulator)
- }
- }
-}
-
-/// A variant of fold that might fail.
-///
-/// The folding function should return `Result(accumulator, error)`.
-/// If the returned value is `Ok(accumulator)` try_fold will try the next value in the iterator.
-/// If the returned value is `Error(error)` try_fold will stop and return that error.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > [1, 2, 3, 4]
-/// > |> iterator.from_list()
-/// > |> try_fold(0, fn(acc, i) {
-/// > case i < 3 {
-/// > True -> Ok(acc + i)
-/// > False -> Error(Nil)
-/// > }
-/// > })
-/// Error(Nil)
-/// ```
-///
-pub fn try_fold(
- over iterator: Iterator(e),
- from initial: acc,
- with f: fn(acc, e) -> Result(acc, err),
-) -> Result(acc, err) {
- iterator.continuation
- |> do_try_fold(f, initial)
-}
-
-/// Returns the first element yielded by the given iterator, if it exists,
-/// or `Error(Nil)` otherwise.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from_list([1, 2, 3]) |> first
-/// Ok(1)
-/// ```
-///
-/// ```gleam
-/// > empty() |> first
-/// Error(Nil)
-/// ```
-pub fn first(from iterator: Iterator(e)) -> Result(e, Nil) {
- case iterator.continuation() {
- Stop -> Error(Nil)
- Continue(e, _) -> Ok(e)
- }
-}
-
-/// Returns nth element yielded by the given iterator, where `0` means the first element.
-///
-/// If there are not enough elements in the iterator, `Error(Nil)` is returned.
-///
-/// For any `index` less than `0` this function behaves as if it was set to `0`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from_list([1, 2, 3, 4]) |> at(2)
-/// Ok(3)
-/// ```
-///
-/// ```gleam
-/// > from_list([1, 2, 3, 4]) |> at(4)
-/// Error(Nil)
-/// ```
-///
-/// ```gleam
-/// > empty() |> at(0)
-/// Error(Nil)
-/// ```
-///
-pub fn at(in iterator: Iterator(e), get index: Int) -> Result(e, Nil) {
- iterator
- |> drop(index)
- |> first
-}
-
-fn do_length(over continuation: fn() -> Action(e), with length: Int) -> Int {
- case continuation() {
- Stop -> length
- Continue(_, next) -> do_length(next, length + 1)
- }
-}
-
-/// Counts the number of elements in the given iterator.
-///
-/// This function has to traverse the entire iterator to count its elements,
-/// so it runs in linear time.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > empty() |> length
-/// 0
-/// ```
-///
-/// ```gleam
-/// > from_list([1, 2, 3, 4]) |> length
-/// 4
-/// ```
-///
-pub fn length(over iterator: Iterator(e)) -> Int {
- iterator.continuation
- |> do_length(0)
-}
-
-/// Traverse an iterator, calling a function on each element.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > empty() |> each(io.println)
-/// Nil
-/// ```
-///
-/// ```gleam
-/// > from_list(["Tom", "Malory", "Louis"]) |> each(io.println)
-/// // -> Tom
-/// // -> Malory
-/// // -> Louis
-/// Nil
-/// ```
-///
-pub fn each(over iterator: Iterator(a), with f: fn(a) -> b) -> Nil {
- iterator
- |> map(f)
- |> run
-}
-
-/// Add a new element to the start of an iterator.
-///
-/// This function is for use with `use` expressions, to replicate the behaviour
-/// of the `yield` keyword found in other languages.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > use <- iterator.yield(1)
-/// > use <- iterator.yield(2)
-/// > use <- iterator.yield(3)
-/// > iterator.empty()
-/// iterator.from_list([1, 2, 3])
-/// ```
-///
-pub fn yield(element: a, next: fn() -> Iterator(a)) -> Iterator(a) {
- Iterator(fn() { Continue(element, next().continuation) })
-}
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam/list.gleam b/aoc2023/build/packages/gleam_stdlib/src/gleam/list.gleam
deleted file mode 100644
index a5cffa9..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam/list.gleam
+++ /dev/null
@@ -1,2154 +0,0 @@
-//// Lists are an ordered sequence of elements and are one of the most common
-//// data types in Gleam.
-////
-//// New elements can be added and removed from the front of a list in
-//// constant time, while adding and removing from the end requires traversing
-//// the copying the whole list, so keep this in mind when designing your
-//// programs.
-////
-//// There is a dedicated syntax for prefixing to a list:
-////
-//// ```gleam
-//// let new_list = [1, 2, ..existing_list]
-//// ```
-////
-//// And a matching syntax for getting the first elements of a list:
-////
-//// ```gleam
-//// case list {
-//// [first_element, ..rest] -> first_element
-//// _ -> "this pattern matches when the list is empty"
-//// }
-//// ```
-////
-
-import gleam/int
-import gleam/float
-import gleam/order.{type Order}
-import gleam/pair
-import gleam/dict.{type Dict}
-
-/// An error value returned by the `strict_zip` function.
-///
-pub type LengthMismatch {
- LengthMismatch
-}
-
-/// Counts the number of elements in a given list.
-///
-/// This function has to traverse the list to determine the number of elements,
-/// so it runs in linear time.
-///
-/// This function is natively implemented by the virtual machine and is highly
-/// optimised.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > length([])
-/// 0
-/// ```
-///
-/// ```gleam
-/// > length([1])
-/// 1
-/// ```
-///
-/// ```gleam
-/// > length([1, 2])
-/// 2
-/// ```
-///
-pub fn length(of list: List(a)) -> Int {
- do_length(list)
-}
-
-@target(erlang)
-@external(erlang, "erlang", "length")
-fn do_length(a: List(a)) -> Int
-
-@target(javascript)
-fn do_length(list: List(a)) -> Int {
- do_length_acc(list, 0)
-}
-
-@target(javascript)
-fn do_length_acc(list: List(a), count: Int) -> Int {
- case list {
- [_, ..list] -> do_length_acc(list, count + 1)
- _ -> count
- }
-}
-
-/// Creates a new list from a given list containing the same elements but in the
-/// opposite order.
-///
-/// This function has to traverse the list to create the new reversed list, so
-/// it runs in linear time.
-///
-/// This function is natively implemented by the virtual machine and is highly
-/// optimised.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > reverse([])
-/// []
-/// ```
-///
-/// ```gleam
-/// > reverse([1])
-/// [1]
-/// ```
-///
-/// ```gleam
-/// > reverse([1, 2])
-/// [2, 1]
-/// ```
-///
-pub fn reverse(xs: List(a)) -> List(a) {
- do_reverse(xs)
-}
-
-@target(erlang)
-@external(erlang, "lists", "reverse")
-fn do_reverse(a: List(a)) -> List(a)
-
-@target(javascript)
-fn do_reverse(list) {
- do_reverse_acc(list, [])
-}
-
-@target(javascript)
-fn do_reverse_acc(remaining, accumulator) {
- case remaining {
- [] -> accumulator
- [item, ..rest] -> do_reverse_acc(rest, [item, ..accumulator])
- }
-}
-
-/// Determines whether or not the list is empty.
-///
-/// This function runs in constant time.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > is_empty([])
-/// True
-/// ```
-///
-/// ```gleam
-/// > is_empty([1])
-/// False
-/// ```
-///
-/// ```gleam
-/// > is_empty([1, 1])
-/// False
-/// ```
-///
-pub fn is_empty(list: List(a)) -> Bool {
- list == []
-}
-
-/// Determines whether or not a given element exists within a given list.
-///
-/// This function traverses the list to find the element, so it runs in linear
-/// time.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > [] |> contains(any: 0)
-/// False
-/// ```
-///
-/// ```gleam
-/// > [0] |> contains(any: 0)
-/// True
-/// ```
-///
-/// ```gleam
-/// > [1] |> contains(any: 0)
-/// False
-/// ```
-///
-/// ```gleam
-/// > [1, 1] |> contains(any: 0)
-/// False
-/// ```
-///
-/// ```gleam
-/// > [1, 0] |> contains(any: 0)
-/// True
-/// ```
-///
-pub fn contains(list: List(a), any elem: a) -> Bool {
- case list {
- [] -> False
- [first, ..] if first == elem -> True
- [_, ..rest] -> contains(rest, elem)
- }
-}
-
-/// Gets the first element from the start of the list, if there is one.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > first([])
-/// Error(Nil)
-/// ```
-///
-/// ```gleam
-/// > first([0])
-/// Ok(0)
-/// ```
-///
-/// ```gleam
-/// > first([1, 2])
-/// Ok(1)
-/// ```
-///
-pub fn first(list: List(a)) -> Result(a, Nil) {
- case list {
- [] -> Error(Nil)
- [x, ..] -> Ok(x)
- }
-}
-
-/// Returns the list minus the first element. If the list is empty, `Error(Nil)` is
-/// returned.
-///
-/// This function runs in constant time and does not make a copy of the list.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > rest([])
-/// Error(Nil)
-/// ```
-///
-/// ```gleam
-/// > rest([0])
-/// Ok([])
-/// ```
-///
-/// ```gleam
-/// > rest([1, 2])
-/// Ok([2])
-/// ```
-///
-pub fn rest(list: List(a)) -> Result(List(a), Nil) {
- case list {
- [] -> Error(Nil)
- [_, ..xs] -> Ok(xs)
- }
-}
-
-fn update_group(
- f: fn(element) -> key,
-) -> fn(Dict(key, List(element)), element) -> Dict(key, List(element)) {
- fn(groups, elem) {
- case dict.get(groups, f(elem)) {
- Ok(existing) -> dict.insert(groups, f(elem), [elem, ..existing])
- Error(_) -> dict.insert(groups, f(elem), [elem])
- }
- }
-}
-
-/// Takes a list and groups the values by a key
-/// which is built from a key function.
-///
-/// Does not preserve the initial value order.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > [Ok(3), Error("Wrong"), Ok(200), Ok(73)]
-/// |> group(by: fn(i) {
-/// case i {
-/// Ok(_) -> "Successful"
-/// Error(_) -> "Failed"
-/// }
-/// })
-/// |> dict.to_list
-///
-/// [
-/// #("Failed", [Error("Wrong")]),
-/// #("Successful", [Ok(73), Ok(200), Ok(3)])
-/// ]
-///
-/// > group([1,2,3,4,5], by: fn(i) { i - i / 3 * 3 })
-/// |> dict.to_list
-/// [#(0, [3]), #(1, [4, 1]), #(2, [5, 2])]
-/// ```
-///
-pub fn group(list: List(v), by key: fn(v) -> k) -> Dict(k, List(v)) {
- fold(list, dict.new(), update_group(key))
-}
-
-fn do_filter(list: List(a), fun: fn(a) -> Bool, acc: List(a)) -> List(a) {
- case list {
- [] -> reverse(acc)
- [x, ..xs] -> {
- let new_acc = case fun(x) {
- True -> [x, ..acc]
- False -> acc
- }
- do_filter(xs, fun, new_acc)
- }
- }
-}
-
-/// Returns a new list containing only the elements from the first list for
-/// which the given functions returns `True`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > filter([2, 4, 6, 1], fn(x) { x > 2 })
-/// [4, 6]
-/// ```
-///
-/// ```gleam
-/// > filter([2, 4, 6, 1], fn(x) { x > 6 })
-/// []
-/// ```
-///
-pub fn filter(list: List(a), keeping predicate: fn(a) -> Bool) -> List(a) {
- do_filter(list, predicate, [])
-}
-
-fn do_filter_map(
- list: List(a),
- fun: fn(a) -> Result(b, e),
- acc: List(b),
-) -> List(b) {
- case list {
- [] -> reverse(acc)
- [x, ..xs] -> {
- let new_acc = case fun(x) {
- Ok(x) -> [x, ..acc]
- Error(_) -> acc
- }
- do_filter_map(xs, fun, new_acc)
- }
- }
-}
-
-/// Returns a new list containing only the elements from the first list for
-/// which the given functions returns `Ok(_)`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > filter_map([2, 4, 6, 1], Error)
-/// []
-/// ```
-///
-/// ```gleam
-/// > filter_map([2, 4, 6, 1], fn(x) { Ok(x + 1) })
-/// [3, 5, 7, 2]
-/// ```
-///
-pub fn filter_map(list: List(a), with fun: fn(a) -> Result(b, e)) -> List(b) {
- do_filter_map(list, fun, [])
-}
-
-fn do_map(list: List(a), fun: fn(a) -> b, acc: List(b)) -> List(b) {
- case list {
- [] -> reverse(acc)
- [x, ..xs] -> do_map(xs, fun, [fun(x), ..acc])
- }
-}
-
-/// Returns a new list containing only the elements of the first list after the
-/// function has been applied to each one.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > map([2, 4, 6], fn(x) { x * 2 })
-/// [4, 8, 12]
-/// ```
-///
-pub fn map(list: List(a), with fun: fn(a) -> b) -> List(b) {
- do_map(list, fun, [])
-}
-
-/// Combines two lists into a single list using the given function.
-///
-/// If a list is longer than the other the extra elements are dropped.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > map2([1, 2, 3], [4, 5, 6], fn(x, y) { x + y })
-/// [5, 7, 9]
-/// ```
-///
-/// ```gleam
-/// > map2([1, 2], ["a", "b", "c"], fn(i, x) { #(i, x) })
-/// [#(1, "a"), #(2, "b")]
-/// ```
-///
-pub fn map2(list1: List(a), list2: List(b), with fun: fn(a, b) -> c) -> List(c) {
- do_map2(list1, list2, fun, [])
-}
-
-fn do_map2(
- list1: List(a),
- list2: List(b),
- fun: fn(a, b) -> c,
- acc: List(c),
-) -> List(c) {
- case list1, list2 {
- [], _ | _, [] -> reverse(acc)
- [a, ..as_], [b, ..bs] -> do_map2(as_, bs, fun, [fun(a, b), ..acc])
- }
-}
-
-/// Similar to `map` but also lets you pass around an accumulated value.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > map_fold(
-/// over: [1, 2, 3],
-/// from: 100,
-/// with: fn(memo, i) { #(memo + i, i * 2) }
-/// )
-/// #(106, [2, 4, 6])
-/// ```
-///
-pub fn map_fold(
- over list: List(a),
- from acc: acc,
- with fun: fn(acc, a) -> #(acc, b),
-) -> #(acc, List(b)) {
- fold(
- over: list,
- from: #(acc, []),
- with: fn(acc, item) {
- let #(current_acc, items) = acc
- let #(next_acc, next_item) = fun(current_acc, item)
- #(next_acc, [next_item, ..items])
- },
- )
- |> pair.map_second(reverse)
-}
-
-fn do_index_map(
- list: List(a),
- fun: fn(Int, a) -> b,
- index: Int,
- acc: List(b),
-) -> List(b) {
- case list {
- [] -> reverse(acc)
- [x, ..xs] -> {
- let acc = [fun(index, x), ..acc]
- do_index_map(xs, fun, index + 1, acc)
- }
- }
-}
-
-/// Returns a new list containing only the elements of the first list after the
-/// function has been applied to each one and their index.
-///
-/// The index starts at 0, so the first element is 0, the second is 1, and so
-/// on.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > index_map(["a", "b"], fn(i, x) { #(i, x) })
-/// [#(0, "a"), #(1, "b")]
-/// ```
-///
-pub fn index_map(list: List(a), with fun: fn(Int, a) -> b) -> List(b) {
- do_index_map(list, fun, 0, [])
-}
-
-fn do_try_map(
- list: List(a),
- fun: fn(a) -> Result(b, e),
- acc: List(b),
-) -> Result(List(b), e) {
- case list {
- [] -> Ok(reverse(acc))
- [x, ..xs] ->
- case fun(x) {
- Ok(y) -> do_try_map(xs, fun, [y, ..acc])
- Error(error) -> Error(error)
- }
- }
-}
-
-/// Takes a function that returns a `Result` and applies it to each element in a
-/// given list in turn.
-///
-/// If the function returns `Ok(new_value)` for all elements in the list then a
-/// list of the new values is returned.
-///
-/// If the function returns `Error(reason)` for any of the elements then it is
-/// returned immediately. None of the elements in the list are processed after
-/// one returns an `Error`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > try_map([1, 2, 3], fn(x) { Ok(x + 2) })
-/// Ok([3, 4, 5])
-/// ```
-///
-/// ```gleam
-/// > try_map([1, 2, 3], fn(_) { Error(0) })
-/// Error(0)
-/// ```
-///
-/// ```gleam
-/// > try_map([[1], [2, 3]], first)
-/// Ok([1, 2])
-/// ```
-///
-/// ```gleam
-/// > try_map([[1], [], [2]], first)
-/// Error(Nil)
-/// ```
-///
-pub fn try_map(
- over list: List(a),
- with fun: fn(a) -> Result(b, e),
-) -> Result(List(b), e) {
- do_try_map(list, fun, [])
-}
-
-/// Returns a list that is the given list with up to the given number of
-/// elements removed from the front of the list.
-///
-/// If the element has less than the number of elements an empty list is
-/// returned.
-///
-/// This function runs in linear time but does not copy the list.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > drop([1, 2, 3, 4], 2)
-/// [3, 4]
-/// ```
-///
-/// ```gleam
-/// > drop([1, 2, 3, 4], 9)
-/// []
-/// ```
-///
-pub fn drop(from list: List(a), up_to n: Int) -> List(a) {
- case n <= 0 {
- True -> list
- False ->
- case list {
- [] -> []
- [_, ..xs] -> drop(xs, n - 1)
- }
- }
-}
-
-fn do_take(list: List(a), n: Int, acc: List(a)) -> List(a) {
- case n <= 0 {
- True -> reverse(acc)
- False ->
- case list {
- [] -> reverse(acc)
- [x, ..xs] -> do_take(xs, n - 1, [x, ..acc])
- }
- }
-}
-
-/// Returns a list containing the first given number of elements from the given
-/// list.
-///
-/// If the element has less than the number of elements then the full list is
-/// returned.
-///
-/// This function runs in linear time but does not copy the list.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > take([1, 2, 3, 4], 2)
-/// [1, 2]
-/// ```
-///
-/// ```gleam
-/// > take([1, 2, 3, 4], 9)
-/// [1, 2, 3, 4]
-/// ```
-///
-pub fn take(from list: List(a), up_to n: Int) -> List(a) {
- do_take(list, n, [])
-}
-
-/// Returns a new empty list.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > new()
-/// []
-/// ```
-///
-pub fn new() -> List(a) {
- []
-}
-
-/// Joins one list onto the end of another.
-///
-/// This function runs in linear time, and it traverses and copies the first
-/// list.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > append([1, 2], [3])
-/// [1, 2, 3]
-/// ```
-///
-pub fn append(first: List(a), second: List(a)) -> List(a) {
- do_append(first, second)
-}
-
-@target(erlang)
-@external(erlang, "lists", "append")
-fn do_append(a: List(a), b: List(a)) -> List(a)
-
-@target(javascript)
-fn do_append(first: List(a), second: List(a)) -> List(a) {
- do_append_acc(reverse(first), second)
-}
-
-@target(javascript)
-fn do_append_acc(first: List(a), second: List(a)) -> List(a) {
- case first {
- [] -> second
- [item, ..rest] -> do_append_acc(rest, [item, ..second])
- }
-}
-
-/// Prefixes an item to a list. This can also be done using the dedicated
-/// syntax instead
-///
-/// ```gleam
-/// let new_list = [1, ..existing_list]
-/// ```
-///
-pub fn prepend(to list: List(a), this item: a) -> List(a) {
- [item, ..list]
-}
-
-// Reverses a list and prepends it to another list
-fn reverse_and_prepend(list prefix: List(a), to suffix: List(a)) -> List(a) {
- case prefix {
- [] -> suffix
- [first, ..rest] -> reverse_and_prepend(list: rest, to: [first, ..suffix])
- }
-}
-
-fn do_concat(lists: List(List(a)), acc: List(a)) -> List(a) {
- case lists {
- [] -> reverse(acc)
- [list, ..further_lists] ->
- do_concat(further_lists, reverse_and_prepend(list: list, to: acc))
- }
-}
-
-/// Joins a list of lists into a single list.
-///
-/// This function traverses all elements twice.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > concat([[1], [2, 3], []])
-/// [1, 2, 3]
-/// ```
-///
-pub fn concat(lists: List(List(a))) -> List(a) {
- do_concat(lists, [])
-}
-
-/// This is the same as `concat`: it joins a list of lists into a single
-/// list.
-///
-/// This function traverses all elements twice.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > flatten([[1], [2, 3], []])
-/// [1, 2, 3]
-/// ```
-///
-pub fn flatten(lists: List(List(a))) -> List(a) {
- do_concat(lists, [])
-}
-
-/// Maps the list with the given function into a list of lists, and then flattens it.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > flat_map([2, 4, 6], fn(x) { [x, x + 1] })
-/// [2, 3, 4, 5, 6, 7]
-/// ```
-///
-pub fn flat_map(over list: List(a), with fun: fn(a) -> List(b)) -> List(b) {
- map(list, fun)
- |> concat
-}
-
-/// Reduces a list of elements into a single value by calling a given function
-/// on each element, going from left to right.
-///
-/// `fold([1, 2, 3], 0, add)` is the equivalent of
-/// `add(add(add(0, 1), 2), 3)`.
-///
-/// This function runs in linear time.
-///
-pub fn fold(
- over list: List(a),
- from initial: acc,
- with fun: fn(acc, a) -> acc,
-) -> acc {
- case list {
- [] -> initial
- [x, ..rest] -> fold(rest, fun(initial, x), fun)
- }
-}
-
-/// Reduces a list of elements into a single value by calling a given function
-/// on each element, going from right to left.
-///
-/// `fold_right([1, 2, 3], 0, add)` is the equivalent of
-/// `add(add(add(0, 3), 2), 1)`.
-///
-/// This function runs in linear time.
-///
-/// Unlike `fold` this function is not tail recursive. Where possible use
-/// `fold` instead as it will use less memory.
-///
-pub fn fold_right(
- over list: List(a),
- from initial: acc,
- with fun: fn(acc, a) -> acc,
-) -> acc {
- case list {
- [] -> initial
- [x, ..rest] -> fun(fold_right(rest, initial, fun), x)
- }
-}
-
-fn do_index_fold(
- over: List(a),
- acc: acc,
- with: fn(acc, a, Int) -> acc,
- index: Int,
-) -> acc {
- case over {
- [] -> acc
- [first, ..rest] ->
- do_index_fold(rest, with(acc, first, index), with, index + 1)
- }
-}
-
-/// Like fold but the folding function also receives the index of the current element.
-///
-/// ## Examples
-///
-/// ```gleam
-/// ["a", "b", "c"]
-/// |> index_fold([], fn(acc, item, index) { ... })
-/// ```
-///
-pub fn index_fold(
- over over: List(a),
- from initial: acc,
- with fun: fn(acc, a, Int) -> acc,
-) -> acc {
- do_index_fold(over, initial, fun, 0)
-}
-
-/// A variant of fold that might fail.
-///
-/// The folding function should return `Result(accumulator, error)`.
-/// If the returned value is `Ok(accumulator)` try_fold will try the next value in the list.
-/// If the returned value is `Error(error)` try_fold will stop and return that error.
-///
-/// ## Examples
-///
-/// ```gleam
-/// [1, 2, 3, 4]
-/// |> try_fold(0, fn(acc, i) {
-/// case i < 3 {
-/// True -> Ok(acc + i)
-/// False -> Error(Nil)
-/// }
-/// })
-/// ```
-///
-pub fn try_fold(
- over collection: List(a),
- from accumulator: acc,
- with fun: fn(acc, a) -> Result(acc, e),
-) -> Result(acc, e) {
- case collection {
- [] -> Ok(accumulator)
- [first, ..rest] ->
- case fun(accumulator, first) {
- Ok(result) -> try_fold(rest, result, fun)
- Error(_) as error -> error
- }
- }
-}
-
-pub type ContinueOrStop(a) {
- Continue(a)
- Stop(a)
-}
-
-/// A variant of fold that allows to stop folding earlier.
-///
-/// The folding function should return `ContinueOrStop(accumulator)`.
-/// If the returned value is `Continue(accumulator)` fold_until will try the next value in the list.
-/// If the returned value is `Stop(accumulator)` fold_until will stop and return that accumulator.
-///
-/// ## Examples
-///
-/// ```gleam
-/// [1, 2, 3, 4]
-/// |> fold_until(0, fn(acc, i) {
-/// case i < 3 {
-/// True -> Continue(acc + i)
-/// False -> Stop(acc)
-/// }
-/// })
-/// ```
-///
-pub fn fold_until(
- over collection: List(a),
- from accumulator: acc,
- with fun: fn(acc, a) -> ContinueOrStop(acc),
-) -> acc {
- case collection {
- [] -> accumulator
- [first, ..rest] ->
- case fun(accumulator, first) {
- Continue(next_accumulator) -> fold_until(rest, next_accumulator, fun)
- Stop(b) -> b
- }
- }
-}
-
-/// Finds the first element in a given list for which the given function returns
-/// `True`.
-///
-/// Returns `Error(Nil)` if no such element is found.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > find([1, 2, 3], fn(x) { x > 2 })
-/// Ok(3)
-/// ```
-///
-/// ```gleam
-/// > find([1, 2, 3], fn(x) { x > 4 })
-/// Error(Nil)
-/// ```
-///
-/// ```gleam
-/// > find([], fn(_) { True })
-/// Error(Nil)
-/// ```
-///
-pub fn find(
- in haystack: List(a),
- one_that is_desired: fn(a) -> Bool,
-) -> Result(a, Nil) {
- case haystack {
- [] -> Error(Nil)
- [x, ..rest] ->
- case is_desired(x) {
- True -> Ok(x)
- _ -> find(in: rest, one_that: is_desired)
- }
- }
-}
-
-/// Finds the first element in a given list for which the given function returns
-/// `Ok(new_value)`, then returns the wrapped `new_value`.
-///
-/// Returns `Error(Nil)` if no such element is found.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > find_map([[], [2], [3]], first)
-/// Ok(2)
-/// ```
-///
-/// ```gleam
-/// > find_map([[], []], first)
-/// Error(Nil)
-/// ```
-///
-/// ```gleam
-/// > find_map([], first)
-/// Error(Nil)
-/// ```
-///
-pub fn find_map(
- in haystack: List(a),
- with fun: fn(a) -> Result(b, c),
-) -> Result(b, Nil) {
- case haystack {
- [] -> Error(Nil)
- [x, ..rest] ->
- case fun(x) {
- Ok(x) -> Ok(x)
- _ -> find_map(in: rest, with: fun)
- }
- }
-}
-
-/// Returns `True` if the given function returns `True` for all the elements in
-/// the given list. If the function returns `False` for any of the elements it
-/// immediately returns `False` without checking the rest of the list.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > all([], fn(x) { x > 3 })
-/// True
-/// ```
-///
-/// ```gleam
-/// > all([4, 5], fn(x) { x > 3 })
-/// True
-/// ```
-///
-/// ```gleam
-/// > all([4, 3], fn(x) { x > 3 })
-/// False
-/// ```
-///
-pub fn all(in list: List(a), satisfying predicate: fn(a) -> Bool) -> Bool {
- case list {
- [] -> True
- [first, ..rest] ->
- case predicate(first) {
- True -> all(rest, predicate)
- False -> False
- }
- }
-}
-
-/// Returns `True` if the given function returns `True` for any the elements in
-/// the given list. If the function returns `True` for any of the elements it
-/// immediately returns `True` without checking the rest of the list.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > any([], fn(x) { x > 3 })
-/// False
-/// ```
-///
-/// ```gleam
-/// > any([4, 5], fn(x) { x > 3 })
-/// True
-/// ```
-///
-/// ```gleam
-/// > any([4, 3], fn(x) { x > 4 })
-/// False
-/// ```
-///
-/// ```gleam
-/// > any([3, 4], fn(x) { x > 3 })
-/// True
-/// ```
-///
-pub fn any(in list: List(a), satisfying predicate: fn(a) -> Bool) -> Bool {
- case list {
- [] -> False
- [first, ..rest] ->
- case predicate(first) {
- True -> True
- False -> any(rest, predicate)
- }
- }
-}
-
-fn do_zip(xs: List(a), ys: List(b), acc: List(#(a, b))) -> List(#(a, b)) {
- case xs, ys {
- [x, ..xs], [y, ..ys] -> do_zip(xs, ys, [#(x, y), ..acc])
- _, _ -> reverse(acc)
- }
-}
-
-/// Takes two lists and returns a single list of 2-element tuples.
-///
-/// If one of the lists is longer than the other, the remaining elements from
-/// the longer list are not used.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > zip([], [])
-/// []
-/// ```
-///
-/// ```gleam
-/// > zip([1, 2], [3])
-/// [#(1, 3)]
-/// ```
-///
-/// ```gleam
-/// > zip([1], [3, 4])
-/// [#(1, 3)]
-/// ```
-///
-/// ```gleam
-/// > zip([1, 2], [3, 4])
-/// [#(1, 3), #(2, 4)]
-/// ```
-///
-pub fn zip(list: List(a), with other: List(b)) -> List(#(a, b)) {
- do_zip(list, other, [])
-}
-
-/// Takes two lists and returns a single list of 2-element tuples.
-///
-/// If one of the lists is longer than the other, an `Error` is returned.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > strict_zip([], [])
-/// Ok([])
-/// ```
-///
-/// ```gleam
-/// > strict_zip([1, 2], [3])
-/// Error(LengthMismatch)
-/// ```
-///
-/// ```gleam
-/// > strict_zip([1], [3, 4])
-/// Error(LengthMismatch)
-/// ```
-///
-/// ```gleam
-/// > strict_zip([1, 2], [3, 4])
-/// Ok([#(1, 3), #(2, 4)])
-/// ```
-///
-pub fn strict_zip(
- list: List(a),
- with other: List(b),
-) -> Result(List(#(a, b)), LengthMismatch) {
- case length(of: list) == length(of: other) {
- True -> Ok(zip(list, other))
- False -> Error(LengthMismatch)
- }
-}
-
-fn do_unzip(input, xs, ys) {
- case input {
- [] -> #(reverse(xs), reverse(ys))
- [#(x, y), ..rest] -> do_unzip(rest, [x, ..xs], [y, ..ys])
- }
-}
-
-/// Takes a single list of 2-element tuples and returns two lists.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > unzip([#(1, 2), #(3, 4)])
-/// #([1, 3], [2, 4])
-/// ```
-///
-/// ```gleam
-/// > unzip([])
-/// #([], [])
-/// ```
-///
-pub fn unzip(input: List(#(a, b))) -> #(List(a), List(b)) {
- do_unzip(input, [], [])
-}
-
-fn do_intersperse(list: List(a), separator: a, acc: List(a)) -> List(a) {
- case list {
- [] -> reverse(acc)
- [x, ..rest] -> do_intersperse(rest, separator, [x, separator, ..acc])
- }
-}
-
-/// Inserts a given value between each existing element in a given list.
-///
-/// This function runs in linear time and copies the list.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > intersperse([1, 1, 1], 2)
-/// [1, 2, 1, 2, 1]
-/// ```
-///
-/// ```gleam
-/// > intersperse([], 2)
-/// []
-/// ```
-///
-pub fn intersperse(list: List(a), with elem: a) -> List(a) {
- case list {
- [] | [_] -> list
- [x, ..rest] -> do_intersperse(rest, elem, [x])
- }
-}
-
-/// Returns the element in the Nth position in the list, with 0 being the first
-/// position.
-///
-/// `Error(Nil)` is returned if the list is not long enough for the given index
-/// or if the index is less than 0.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > at([1, 2, 3], 1)
-/// Ok(2)
-/// ```
-///
-/// ```gleam
-/// > at([1, 2, 3], 5)
-/// Error(Nil)
-/// ```
-///
-pub fn at(in list: List(a), get index: Int) -> Result(a, Nil) {
- case index >= 0 {
- True ->
- list
- |> drop(index)
- |> first
- False -> Error(Nil)
- }
-}
-
-/// Removes any duplicate elements from a given list.
-///
-/// This function returns in loglinear time.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > unique([1, 1, 1, 4, 7, 3, 3, 4])
-/// [1, 4, 7, 3]
-/// ```
-///
-pub fn unique(list: List(a)) -> List(a) {
- case list {
- [] -> []
- [x, ..rest] -> [x, ..unique(filter(rest, fn(y) { y != x }))]
- }
-}
-
-/// Merge lists `a` and `b` in ascending order
-/// but only up to `na` and `nb` number of items respectively.
-///
-fn merge_up(
- na: Int,
- nb: Int,
- a: List(a),
- b: List(a),
- acc: List(a),
- compare: fn(a, a) -> Order,
-) {
- case na, nb, a, b {
- 0, 0, _, _ -> acc
- _, 0, [ax, ..ar], _ -> merge_up(na - 1, nb, ar, b, [ax, ..acc], compare)
- 0, _, _, [bx, ..br] -> merge_up(na, nb - 1, a, br, [bx, ..acc], compare)
- _, _, [ax, ..ar], [bx, ..br] ->
- case compare(ax, bx) {
- order.Gt -> merge_up(na, nb - 1, a, br, [bx, ..acc], compare)
- _ -> merge_up(na - 1, nb, ar, b, [ax, ..acc], compare)
- }
- _, _, _, _ -> acc
- }
-}
-
-/// Merge lists `a` and `b` in descending order
-/// but only up to `na` and `nb` number of items respectively.
-///
-fn merge_down(
- na: Int,
- nb: Int,
- a: List(a),
- b: List(a),
- acc: List(a),
- compare: fn(a, a) -> Order,
-) {
- case na, nb, a, b {
- 0, 0, _, _ -> acc
- _, 0, [ax, ..ar], _ -> merge_down(na - 1, nb, ar, b, [ax, ..acc], compare)
- 0, _, _, [bx, ..br] -> merge_down(na, nb - 1, a, br, [bx, ..acc], compare)
- _, _, [ax, ..ar], [bx, ..br] ->
- case compare(bx, ax) {
- order.Lt -> merge_down(na - 1, nb, ar, b, [ax, ..acc], compare)
- _ -> merge_down(na, nb - 1, a, br, [bx, ..acc], compare)
- }
- _, _, _, _ -> acc
- }
-}
-
-/// Merge sort that alternates merging in ascending and descending order
-/// because the merge process also reverses the list.
-///
-/// Some copying is avoided by merging only a subset of the lists
-/// instead of creating and merging new smaller lists.
-///
-fn merge_sort(
- l: List(a),
- ln: Int,
- compare: fn(a, a) -> Order,
- down: Bool,
-) -> List(a) {
- let n = ln / 2
- let a = l
- let b = drop(l, n)
- case ln < 3 {
- True ->
- case down {
- True -> merge_down(n, ln - n, a, b, [], compare)
- False -> merge_up(n, ln - n, a, b, [], compare)
- }
- False ->
- case down {
- True ->
- merge_down(
- n,
- ln - n,
- merge_sort(a, n, compare, False),
- merge_sort(b, ln - n, compare, False),
- [],
- compare,
- )
- False ->
- merge_up(
- n,
- ln - n,
- merge_sort(a, n, compare, True),
- merge_sort(b, ln - n, compare, True),
- [],
- compare,
- )
- }
- }
-}
-
-/// Sorts from smallest to largest based upon the ordering specified by a given
-/// function.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > import gleam/int
-/// > list.sort([4, 3, 6, 5, 4, 1, 2], by: int.compare)
-/// [1, 2, 3, 4, 4, 5, 6]
-/// ```
-///
-pub fn sort(list: List(a), by compare: fn(a, a) -> Order) -> List(a) {
- merge_sort(list, length(list), compare, True)
-}
-
-/// Creates a list of ints ranging from a given start and finish.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > range(0, 0)
-/// [0]
-/// ```
-///
-/// ```gleam
-/// > range(0, 5)
-/// [0, 1, 2, 3, 4, 5]
-/// ```
-///
-/// ```gleam
-/// > range(1, -5)
-/// [1, 0, -1, -2, -3, -4, -5]
-/// ```
-///
-pub fn range(from start: Int, to stop: Int) -> List(Int) {
- tail_recursive_range(start, stop, [])
-}
-
-fn tail_recursive_range(start: Int, stop: Int, acc: List(Int)) -> List(Int) {
- case int.compare(start, stop) {
- order.Eq -> [stop, ..acc]
- order.Gt -> tail_recursive_range(start, stop + 1, [stop, ..acc])
- order.Lt -> tail_recursive_range(start, stop - 1, [stop, ..acc])
- }
-}
-
-fn do_repeat(a: a, times: Int, acc: List(a)) -> List(a) {
- case times <= 0 {
- True -> acc
- False -> do_repeat(a, times - 1, [a, ..acc])
- }
-}
-
-/// Builds a list of a given value a given number of times.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > repeat("a", times: 0)
-/// []
-/// ```
-///
-/// ```gleam
-/// > repeat("a", times: 5)
-/// ["a", "a", "a", "a", "a"]
-/// ```
-///
-pub fn repeat(item a: a, times times: Int) -> List(a) {
- do_repeat(a, times, [])
-}
-
-fn do_split(list: List(a), n: Int, taken: List(a)) -> #(List(a), List(a)) {
- case n <= 0 {
- True -> #(reverse(taken), list)
- False ->
- case list {
- [] -> #(reverse(taken), [])
- [x, ..xs] -> do_split(xs, n - 1, [x, ..taken])
- }
- }
-}
-
-/// Splits a list in two before the given index.
-///
-/// If the list is not long enough to have the given index the before list will
-/// be the input list, and the after list will be empty.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > split([6, 7, 8, 9], 0)
-/// #([], [6, 7, 8, 9])
-/// ```
-///
-/// ```gleam
-/// > split([6, 7, 8, 9], 2)
-/// #([6, 7], [8, 9])
-/// ```
-///
-/// ```gleam
-/// > split([6, 7, 8, 9], 4)
-/// #([6, 7, 8, 9], [])
-/// ```
-///
-pub fn split(list list: List(a), at index: Int) -> #(List(a), List(a)) {
- do_split(list, index, [])
-}
-
-fn do_split_while(
- list: List(a),
- f: fn(a) -> Bool,
- acc: List(a),
-) -> #(List(a), List(a)) {
- case list {
- [] -> #(reverse(acc), [])
- [x, ..xs] ->
- case f(x) {
- False -> #(reverse(acc), list)
- _ -> do_split_while(xs, f, [x, ..acc])
- }
- }
-}
-
-/// Splits a list in two before the first element that a given function returns
-/// `False` for.
-///
-/// If the function returns `True` for all elements the first list will be the
-/// input list, and the second list will be empty.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > split_while([1, 2, 3, 4, 5], fn(x) { x <= 3 })
-/// #([1, 2, 3], [4, 5])
-/// ```
-///
-/// ```gleam
-/// > split_while([1, 2, 3, 4, 5], fn(x) { x <= 5 })
-/// #([1, 2, 3, 4, 5], [])
-/// ```
-///
-pub fn split_while(
- list list: List(a),
- satisfying predicate: fn(a) -> Bool,
-) -> #(List(a), List(a)) {
- do_split_while(list, predicate, [])
-}
-
-/// Given a list of 2-element tuples, finds the first tuple that has a given
-/// key as the first element and returns the second element.
-///
-/// If no tuple is found with the given key then `Error(Nil)` is returned.
-///
-/// This function may be useful for interacting with Erlang code where lists of
-/// tuples are common.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > key_find([#("a", 0), #("b", 1)], "a")
-/// Ok(0)
-/// ```
-///
-/// ```gleam
-/// > key_find([#("a", 0), #("b", 1)], "b")
-/// Ok(1)
-/// ```
-///
-/// ```gleam
-/// > key_find([#("a", 0), #("b", 1)], "c")
-/// Error(Nil)
-/// ```
-///
-pub fn key_find(
- in keyword_list: List(#(k, v)),
- find desired_key: k,
-) -> Result(v, Nil) {
- find_map(
- keyword_list,
- fn(keyword) {
- let #(key, value) = keyword
- case key == desired_key {
- True -> Ok(value)
- False -> Error(Nil)
- }
- },
- )
-}
-
-/// Given a list of 2-element tuples, finds all tuples that have a given
-/// key as the first element and returns the second element.
-///
-/// This function may be useful for interacting with Erlang code where lists of
-/// tuples are common.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > key_filter([#("a", 0), #("b", 1), #("a", 2)], "a")
-/// [0, 2]
-/// ```
-///
-/// ```gleam
-/// > key_filter([#("a", 0), #("b", 1)], "c")
-/// []
-/// ```
-///
-pub fn key_filter(
- in keyword_list: List(#(k, v)),
- find desired_key: k,
-) -> List(v) {
- filter_map(
- keyword_list,
- fn(keyword) {
- let #(key, value) = keyword
- case key == desired_key {
- True -> Ok(value)
- False -> Error(Nil)
- }
- },
- )
-}
-
-fn do_pop(haystack, predicate, checked) {
- case haystack {
- [] -> Error(Nil)
- [x, ..rest] ->
- case predicate(x) {
- True -> Ok(#(x, append(reverse(checked), rest)))
- False -> do_pop(rest, predicate, [x, ..checked])
- }
- }
-}
-
-/// Removes the first element in a given list for which the predicate function returns `True`.
-///
-/// Returns `Error(Nil)` if no such element is found.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > pop([1, 2, 3], fn(x) { x > 2 })
-/// Ok(#(3, [1, 2]))
-/// ```
-///
-/// ```gleam
-/// > pop([1, 2, 3], fn(x) { x > 4 })
-/// Error(Nil)
-/// ```
-///
-/// ```gleam
-/// > pop([], fn(_) { True })
-/// Error(Nil)
-/// ```
-///
-pub fn pop(
- in haystack: List(a),
- one_that is_desired: fn(a) -> Bool,
-) -> Result(#(a, List(a)), Nil) {
- do_pop(haystack, is_desired, [])
-}
-
-fn do_pop_map(haystack, mapper, checked) {
- case haystack {
- [] -> Error(Nil)
- [x, ..rest] ->
- case mapper(x) {
- Ok(y) -> Ok(#(y, append(reverse(checked), rest)))
- Error(_) -> do_pop_map(rest, mapper, [x, ..checked])
- }
- }
-}
-
-/// Removes the first element in a given list for which the given function returns
-/// `Ok(new_value)`, then returns the wrapped `new_value` as well as list with the value removed.
-///
-/// Returns `Error(Nil)` if no such element is found.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > pop_map([[], [2], [3]], first)
-/// Ok(#(2, [[], [3]]))
-/// ```
-///
-/// ```gleam
-/// > pop_map([[], []], first)
-/// Error(Nil)
-/// ```
-///
-/// ```gleam
-/// > pop_map([], first)
-/// Error(Nil)
-/// ```
-///
-pub fn pop_map(
- in haystack: List(a),
- one_that is_desired: fn(a) -> Result(b, c),
-) -> Result(#(b, List(a)), Nil) {
- do_pop_map(haystack, is_desired, [])
-}
-
-/// Given a list of 2-element tuples, finds the first tuple that has a given
-/// key as the first element. This function will return the second element
-/// of the found tuple and list with tuple removed.
-///
-/// If no tuple is found with the given key then `Error(Nil)` is returned.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > key_pop([#("a", 0), #("b", 1)], "a")
-/// Ok(#(0, [#("b", 1)]))
-/// ```
-///
-/// ```gleam
-/// > key_pop([#("a", 0), #("b", 1)], "b")
-/// Ok(#(1, [#("a", 0)]))
-/// ```
-///
-/// ```gleam
-/// > key_pop([#("a", 0), #("b", 1)], "c")
-/// Error(Nil)
-/// ```
-///
-pub fn key_pop(
- haystack: List(#(k, v)),
- key: k,
-) -> Result(#(v, List(#(k, v))), Nil) {
- pop_map(
- haystack,
- fn(entry) {
- let #(k, v) = entry
- case k {
- k if k == key -> Ok(v)
- _ -> Error(Nil)
- }
- },
- )
-}
-
-/// Given a list of 2-element tuples, inserts a key and value into the list.
-///
-/// If there was already a tuple with the key then it is replaced, otherwise it
-/// is added to the end of the list.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > key_set([#(5, 0), #(4, 1)], 4, 100)
-/// [#(5, 0), #(4, 100)]
-/// ```
-///
-/// ```gleam
-/// > key_set([#(5, 0), #(4, 1)], 1, 100)
-/// [#(5, 0), #(4, 1), #(1, 100)]
-/// ```
-///
-pub fn key_set(list: List(#(a, b)), key: a, value: b) -> List(#(a, b)) {
- case list {
- [] -> [#(key, value)]
- [#(k, _), ..rest] if k == key -> [#(key, value), ..rest]
- [first, ..rest] -> [first, ..key_set(rest, key, value)]
- }
-}
-
-/// Calls a function for each element in a list, discarding the return value.
-///
-/// Useful for calling a side effect for every item of a list.
-///
-/// ```gleam
-/// > list.each([1, 2, 3], io.println)
-/// Nil
-/// ```
-///
-pub fn each(list: List(a), f: fn(a) -> b) -> Nil {
- case list {
- [] -> Nil
- [x, ..xs] -> {
- f(x)
- each(xs, f)
- }
- }
-}
-
-/// Calls a `Result` returning function for each element in a list, discarding
-/// the return value. If the function returns `Error` then the iteration is
-/// stopped and the error is returned.
-///
-/// Useful for calling a side effect for every item of a list.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > try_each(
-/// > over: [1, 2, 3],
-/// > with: function_that_might_fail,
-/// > )
-/// Ok(Nil)
-/// ```
-///
-pub fn try_each(
- over list: List(a),
- with fun: fn(a) -> Result(b, e),
-) -> Result(Nil, e) {
- case list {
- [] -> Ok(Nil)
- [x, ..xs] ->
- case fun(x) {
- Ok(_) -> try_each(over: xs, with: fun)
- Error(e) -> Error(e)
- }
- }
-}
-
-fn do_partition(list, categorise, trues, falses) {
- case list {
- [] -> #(reverse(trues), reverse(falses))
- [x, ..xs] ->
- case categorise(x) {
- True -> do_partition(xs, categorise, [x, ..trues], falses)
- False -> do_partition(xs, categorise, trues, [x, ..falses])
- }
- }
-}
-
-/// Partitions a list into a tuple/pair of lists
-/// by a given categorisation function.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > [1, 2, 3, 4, 5] |> list.partition(int.is_odd)
-/// #([1, 3, 5], [2, 4])
-/// ```
-///
-pub fn partition(
- list: List(a),
- with categorise: fn(a) -> Bool,
-) -> #(List(a), List(a)) {
- do_partition(list, categorise, [], [])
-}
-
-/// Returns all the permutations of a list.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > permutations([1, 2])
-/// [[1, 2], [2, 1]]
-/// ```
-///
-pub fn permutations(l: List(a)) -> List(List(a)) {
- case l {
- [] -> [[]]
- _ ->
- l
- |> index_map(fn(i_idx, i) {
- l
- |> index_fold(
- [],
- fn(acc, j, j_idx) {
- case i_idx == j_idx {
- True -> acc
- False -> [j, ..acc]
- }
- },
- )
- |> reverse
- |> permutations
- |> map(fn(permutation) { [i, ..permutation] })
- })
- |> concat
- }
-}
-
-fn do_window(acc: List(List(a)), l: List(a), n: Int) -> List(List(a)) {
- let window = take(l, n)
-
- case length(window) == n {
- True -> do_window([window, ..acc], drop(l, 1), n)
- False -> acc
- }
-}
-
-/// Returns a list of sliding windows.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > window([1,2,3,4,5], 3)
-/// [[1, 2, 3], [2, 3, 4], [3, 4, 5]]
-/// ```
-///
-/// ```gleam
-/// > window([1, 2], 4)
-/// []
-/// ```
-///
-pub fn window(l: List(a), by n: Int) -> List(List(a)) {
- do_window([], l, n)
- |> reverse
-}
-
-/// Returns a list of tuples containing two contiguous elements.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > window_by_2([1,2,3,4])
-/// [#(1, 2), #(2, 3), #(3, 4)]
-/// ```
-///
-/// ```gleam
-/// > window_by_2([1])
-/// []
-/// ```
-///
-pub fn window_by_2(l: List(a)) -> List(#(a, a)) {
- zip(l, drop(l, 1))
-}
-
-/// Drops the first elements in a given list for which the predicate function returns `True`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > drop_while([1, 2, 3, 4], fn (x) { x < 3 })
-/// [3, 4]
-/// ```
-///
-pub fn drop_while(
- in list: List(a),
- satisfying predicate: fn(a) -> Bool,
-) -> List(a) {
- case list {
- [] -> []
- [x, ..xs] ->
- case predicate(x) {
- True -> drop_while(xs, predicate)
- False -> [x, ..xs]
- }
- }
-}
-
-fn do_take_while(
- list: List(a),
- predicate: fn(a) -> Bool,
- acc: List(a),
-) -> List(a) {
- case list {
- [] -> reverse(acc)
- [first, ..rest] ->
- case predicate(first) {
- True -> do_take_while(rest, predicate, [first, ..acc])
- False -> reverse(acc)
- }
- }
-}
-
-/// Takes the first elements in a given list for which the predicate function returns `True`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > take_while([1, 2, 3, 2, 4], fn (x) { x < 3 })
-/// [1, 2]
-/// ```
-///
-pub fn take_while(
- in list: List(a),
- satisfying predicate: fn(a) -> Bool,
-) -> List(a) {
- do_take_while(list, predicate, [])
-}
-
-fn do_chunk(
- list: List(a),
- f: fn(a) -> key,
- previous_key: key,
- current_chunk: List(a),
- acc: List(List(a)),
-) -> List(List(a)) {
- case list {
- [first, ..rest] -> {
- let key = f(first)
- case key == previous_key {
- False -> {
- let new_acc = [reverse(current_chunk), ..acc]
- do_chunk(rest, f, key, [first], new_acc)
- }
- _true -> do_chunk(rest, f, key, [first, ..current_chunk], acc)
- }
- }
- _empty -> reverse([reverse(current_chunk), ..acc])
- }
-}
-
-/// Returns a list of chunks in which
-/// the return value of calling `f` on each element is the same.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > [1, 2, 2, 3, 4, 4, 6, 7, 7] |> chunk(by: fn(n) { n % 2 })
-/// [[1], [2, 2], [3], [4, 4, 6], [7, 7]]
-/// ```
-///
-pub fn chunk(in list: List(a), by f: fn(a) -> key) -> List(List(a)) {
- case list {
- [] -> []
- [first, ..rest] -> do_chunk(rest, f, f(first), [first], [])
- }
-}
-
-fn do_sized_chunk(
- list: List(a),
- count: Int,
- left: Int,
- current_chunk: List(a),
- acc: List(List(a)),
-) -> List(List(a)) {
- case list {
- [] ->
- case current_chunk {
- [] -> reverse(acc)
- remaining -> reverse([reverse(remaining), ..acc])
- }
- [first, ..rest] -> {
- let chunk = [first, ..current_chunk]
- case left > 1 {
- False -> do_sized_chunk(rest, count, count, [], [reverse(chunk), ..acc])
- True -> do_sized_chunk(rest, count, left - 1, chunk, acc)
- }
- }
- }
-}
-
-/// Returns a list of chunks containing `count` elements each.
-///
-/// If the last chunk does not have `count` elements, it is instead
-/// a partial chunk, with less than `count` elements.
-///
-/// For any `count` less than 1 this function behaves as if it was set to 1.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > [1, 2, 3, 4, 5, 6] |> sized_chunk(into: 2)
-/// [[1, 2], [3, 4], [5, 6]]
-/// ```
-///
-/// ```gleam
-/// > [1, 2, 3, 4, 5, 6, 7, 8] |> sized_chunk(into: 3)
-/// [[1, 2, 3], [4, 5, 6], [7, 8]]
-/// ```
-///
-pub fn sized_chunk(in list: List(a), into count: Int) -> List(List(a)) {
- do_sized_chunk(list, count, count, [], [])
-}
-
-/// This function acts similar to fold, but does not take an initial state.
-/// Instead, it starts from the first element in the list
-/// and combines it with each subsequent element in turn using the given
-/// function. The function is called as `fun(accumulator, current_element)`.
-///
-/// Returns `Ok` to indicate a successful run, and `Error` if called on an
-/// empty list.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > [] |> reduce(fn(acc, x) { acc + x })
-/// Error(Nil)
-/// ```
-///
-/// ```gleam
-/// > [1, 2, 3, 4, 5] |> reduce(fn(acc, x) { acc + x })
-/// Ok(15)
-/// ```
-///
-pub fn reduce(over list: List(a), with fun: fn(a, a) -> a) -> Result(a, Nil) {
- case list {
- [] -> Error(Nil)
- [first, ..rest] -> Ok(fold(rest, first, fun))
- }
-}
-
-fn do_scan(
- list: List(a),
- accumulator: acc,
- accumulated: List(acc),
- fun: fn(acc, a) -> acc,
-) -> List(acc) {
- case list {
- [] -> reverse(accumulated)
- [x, ..xs] -> {
- let next = fun(accumulator, x)
- do_scan(xs, next, [next, ..accumulated], fun)
- }
- }
-}
-
-/// Similar to `fold`, but yields the state of the accumulator at each stage.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > scan(over: [1, 2, 3], from: 100, with: fn(acc, i) { acc + i })
-/// [101, 103, 106]
-/// ```
-///
-pub fn scan(
- over list: List(a),
- from initial: acc,
- with fun: fn(acc, a) -> acc,
-) -> List(acc) {
- do_scan(list, initial, [], fun)
-}
-
-/// Returns the last element in the given list.
-///
-/// Returns `Error(Nil)` if the list is empty.
-///
-/// This function runs in linear time.
-/// For a collection oriented around performant access at either end,
-/// see `gleam/queue.Queue`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > last([])
-/// Error(Nil)
-/// ```
-///
-/// ```gleam
-/// > last([1, 2, 3, 4, 5])
-/// Ok(5)
-/// ```
-///
-pub fn last(list: List(a)) -> Result(a, Nil) {
- list
- |> reduce(fn(_, elem) { elem })
-}
-
-/// Return unique combinations of elements in the list.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > combinations([1, 2, 3], 2)
-/// [[1, 2], [1, 3], [2, 3]]
-/// ```
-///
-/// ```gleam
-/// > combinations([1, 2, 3, 4], 3)
-/// [[1, 2, 3], [1, 2, 4], [1, 3, 4], [2, 3, 4]]
-/// ```
-///
-pub fn combinations(items: List(a), by n: Int) -> List(List(a)) {
- case n {
- 0 -> [[]]
- _ ->
- case items {
- [] -> []
- [x, ..xs] -> {
- let first_combinations =
- map(combinations(xs, n - 1), with: fn(com) { [x, ..com] })
- |> reverse
- fold(
- first_combinations,
- combinations(xs, n),
- fn(acc, c) { [c, ..acc] },
- )
- }
- }
- }
-}
-
-fn do_combination_pairs(items: List(a)) -> List(List(#(a, a))) {
- case items {
- [] -> []
- [x, ..xs] -> {
- let first_combinations = map(xs, with: fn(other) { #(x, other) })
- [first_combinations, ..do_combination_pairs(xs)]
- }
- }
-}
-
-/// Return unique pair combinations of elements in the list
-///
-/// ## Examples
-///
-/// ```gleam
-/// > combination_pairs([1, 2, 3])
-/// [#(1, 2), #(1, 3), #(2, 3)]
-/// ```
-///
-pub fn combination_pairs(items: List(a)) -> List(#(a, a)) {
- do_combination_pairs(items)
- |> concat
-}
-
-/// Make a list alternating the elements from the given lists
-///
-/// ## Examples
-///
-/// ```gleam
-/// > list.interleave([[1, 2], [101, 102], [201, 202]])
-/// [1, 101, 201, 2, 102, 202]
-/// ```
-///
-pub fn interleave(list: List(List(a))) -> List(a) {
- transpose(list)
- |> concat
-}
-
-/// Transpose rows and columns of the list of lists.
-///
-/// Notice: This function is not tail recursive,
-/// and thus may exceed stack size if called,
-/// with large lists (on target JavaScript).
-///
-/// ## Examples
-///
-/// ```gleam
-/// > transpose([[1, 2, 3], [101, 102, 103]])
-/// [[1, 101], [2, 102], [3, 103]]
-/// ```
-///
-pub fn transpose(list_of_list: List(List(a))) -> List(List(a)) {
- let take_first = fn(list) {
- case list {
- [] -> []
- [f] -> [f]
- [f, ..] -> [f]
- }
- }
-
- case list_of_list {
- [] -> []
- [[], ..xss] -> transpose(xss)
- rows -> {
- let firsts =
- rows
- |> map(take_first)
- |> concat
- let rest = transpose(map(rows, drop(_, 1)))
- [firsts, ..rest]
- }
- }
-}
-
-fn do_shuffle_pair_unwrap(list: List(#(Float, a)), acc: List(a)) -> List(a) {
- case list {
- [] -> acc
- [elem_pair, ..enumerable] ->
- do_shuffle_pair_unwrap(enumerable, [elem_pair.1, ..acc])
- }
-}
-
-fn do_shuffle_by_pair_indexes(
- list_of_pairs: List(#(Float, a)),
-) -> List(#(Float, a)) {
- sort(
- list_of_pairs,
- fn(a_pair: #(Float, a), b_pair: #(Float, a)) -> Order {
- float.compare(a_pair.0, b_pair.0)
- },
- )
-}
-
-/// Takes a list, randomly sorts all items and returns the shuffled list.
-///
-/// This function uses Erlang's `:rand` module or Javascript's
-/// `Math.random()` to calculate the index shuffling.
-///
-/// ## Example
-///
-/// ```gleam
-/// > range(1, 10)
-/// > |> shuffle()
-/// [1, 6, 9, 10, 3, 8, 4, 2, 7, 5]
-/// ```
-///
-pub fn shuffle(list: List(a)) -> List(a) {
- list
- |> fold(from: [], with: fn(acc, a) { [#(float.random(0.0, 1.0), a), ..acc] })
- |> do_shuffle_by_pair_indexes()
- |> do_shuffle_pair_unwrap([])
-}
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam/map.gleam b/aoc2023/build/packages/gleam_stdlib/src/gleam/map.gleam
deleted file mode 100644
index 1f8b228..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam/map.gleam
+++ /dev/null
@@ -1,127 +0,0 @@
-import gleam/option.{type Option}
-import gleam/dict
-
-@deprecated("Please use the `gleam/dict` module instead")
-pub type Map(key, value) =
- dict.Dict(key, value)
-
-@deprecated("Please use the `gleam/dict` module instead")
-pub fn size(map) -> Int {
- dict.size(map)
-}
-
-@deprecated("Please use the `gleam/dict` module instead")
-pub fn to_list(map) -> List(#(key, value)) {
- dict.to_list(map)
-}
-
-@deprecated("Please use the `gleam/dict` module instead")
-pub fn from_list(list: List(#(k, v))) {
- dict.from_list(list)
-}
-
-@deprecated("Please use the `gleam/dict` module instead")
-pub fn has_key(map, key: k) -> Bool {
- dict.has_key(map, key)
-}
-
-@deprecated("Please use the `gleam/dict` module instead")
-pub fn new() {
- dict.new()
-}
-
-@deprecated("Please use the `gleam/dict` module instead")
-pub fn get(from, get: key) -> Result(value, Nil) {
- dict.get(from, get)
-}
-
-@deprecated("Please use the `gleam/dict` module instead")
-pub fn insert(into map, for key: k, insert value: v) {
- dict.insert(map, key, value)
-}
-
-@deprecated("Please use the `gleam/dict` module instead")
-pub fn map_values(in map, with fun: fn(k, v) -> w) {
- dict.map_values(map, fun)
-}
-
-@deprecated("Please use the `gleam/dict` module instead")
-pub fn keys(map) -> List(keys) {
- dict.keys(map)
-}
-
-@target(javascript)
-fn reverse_and_concat(remaining, accumulator) {
- case remaining {
- [] -> accumulator
- [item, ..rest] -> reverse_and_concat(rest, [item, ..accumulator])
- }
-}
-
-@target(javascript)
-fn do_keys_acc(list: List(#(k, v)), acc: List(k)) -> List(k) {
- case list {
- [] -> reverse_and_concat(acc, [])
- [x, ..xs] -> do_keys_acc(xs, [x.0, ..acc])
- }
-}
-
-@target(javascript)
-fn do_keys(map) -> List(k) {
- let list_of_pairs =
- map
- |> to_list
- do_keys_acc(list_of_pairs, [])
-}
-
-@deprecated("Please use the `gleam/dict` module instead")
-pub fn values(map) -> List(values) {
- dict.values(map)
-}
-
-@deprecated("Please use the `gleam/dict` module instead")
-pub fn filter(in map, keeping predicate: fn(k, v) -> Bool) {
- dict.filter(map, predicate)
-}
-
-@target(javascript)
-fn do_filter(f: fn(key, value) -> Bool, map) {
- let insert = fn(map, k, v) {
- case f(k, v) {
- True -> insert(map, k, v)
- _ -> map
- }
- }
- map
- |> fold(from: new(), with: insert)
-}
-
-@deprecated("Please use the `gleam/dict` module instead")
-pub fn take(from map, keeping desired_keys: List(k)) {
- dict.take(map, desired_keys)
-}
-
-@deprecated("Please use the `gleam/dict` module instead")
-pub fn merge(into map, from new_entries) {
- dict.merge(map, new_entries)
-}
-
-@deprecated("Please use the `gleam/dict` module instead")
-pub fn delete(from map, delete key: k) {
- dict.delete(map, key)
-}
-
-@deprecated("Please use the `gleam/dict` module instead")
-pub fn drop(from map, drop disallowed_keys: List(k)) {
- dict.drop(map, disallowed_keys)
-}
-
-@deprecated("Please use the `gleam/dict` module instead")
-pub fn update(in map, update key: k, with fun: fn(Option(v)) -> v) {
- dict.update(map, key, fun)
-}
-
-@deprecated("Please use the `gleam/dict` module instead")
-pub fn fold(over map, from initial: acc, with fun: fn(acc, k, v) -> acc) -> acc {
- dict.fold(map, initial, fun)
-}
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam/option.gleam b/aoc2023/build/packages/gleam_stdlib/src/gleam/option.gleam
deleted file mode 100644
index 6015c0f..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam/option.gleam
+++ /dev/null
@@ -1,346 +0,0 @@
-/// `Option` represents a value that may be present or not. `Some` means the value is
-/// present, `None` means the value is not.
-///
-/// This is Gleam's alternative to having a value that could be Null, as is
-/// possible in some other languages.
-///
-pub type Option(a) {
- Some(a)
- None
-}
-
-fn do_all(list: List(Option(a)), acc: List(a)) -> Option(List(a)) {
- case list {
- [] -> Some(acc)
- [x, ..rest] -> {
- let accumulate = fn(acc, item) {
- case acc, item {
- Some(values), Some(value) -> Some([value, ..values])
- _, _ -> None
- }
- }
- accumulate(do_all(rest, acc), x)
- }
- }
-}
-
-/// Combines a list of `Option`s into a single `Option`.
-/// If all elements in the list are `Some` then returns a `Some` holding the list of values.
-/// If any element is `None` then returns`None`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > all([Some(1), Some(2)])
-/// Some([1, 2])
-/// ```
-///
-/// ```gleam
-/// > all([Some(1), None])
-/// None
-/// ```
-///
-pub fn all(list: List(Option(a))) -> Option(List(a)) {
- do_all(list, [])
-}
-
-/// Checks whether the `Option` is a `Some` value.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > is_some(Some(1))
-/// True
-/// ```
-///
-/// ```gleam
-/// > is_some(None)
-/// False
-/// ```
-///
-pub fn is_some(option: Option(a)) -> Bool {
- option != None
-}
-
-/// Checks whether the `Option` is a `None` value.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > is_none(Some(1))
-/// False
-/// ```
-///
-/// ```gleam
-/// > is_none(None)
-/// True
-/// ```
-///
-pub fn is_none(option: Option(a)) -> Bool {
- option == None
-}
-
-/// Converts an `Option` type to a `Result` type.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > to_result(Some(1), "some_error")
-/// Ok(1)
-/// ```
-///
-/// ```gleam
-/// > to_result(None, "some_error")
-/// Error("some_error")
-/// ```
-///
-pub fn to_result(option: Option(a), e) -> Result(a, e) {
- case option {
- Some(a) -> Ok(a)
- _ -> Error(e)
- }
-}
-
-/// Converts a `Result` type to an `Option` type.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from_result(Ok(1))
-/// Some(1)
-/// ```
-///
-/// ```gleam
-/// > from_result(Error("some_error"))
-/// None
-/// ```
-///
-pub fn from_result(result: Result(a, e)) -> Option(a) {
- case result {
- Ok(a) -> Some(a)
- _ -> None
- }
-}
-
-/// Extracts the value from an `Option`, returning a default value if there is none.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > unwrap(Some(1), 0)
-/// 1
-/// ```
-///
-/// ```gleam
-/// > unwrap(None, 0)
-/// 0
-/// ```
-///
-pub fn unwrap(option: Option(a), or default: a) -> a {
- case option {
- Some(x) -> x
- None -> default
- }
-}
-
-/// Extracts the value from an `Option`, evaluating the default function if the option is `None`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > lazy_unwrap(Some(1), fn() { 0 })
-/// 1
-/// ```
-///
-/// ```gleam
-/// > lazy_unwrap(None, fn() { 0 })
-/// 0
-/// ```
-///
-pub fn lazy_unwrap(option: Option(a), or default: fn() -> a) -> a {
- case option {
- Some(x) -> x
- None -> default()
- }
-}
-
-/// Updates a value held within the `Some` of an `Option` by calling a given function
-/// on it.
-///
-/// If the `Option` is a `None` rather than `Some`, the function is not called and the
-/// `Option` stays the same.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > map(over: Some(1), with: fn(x) { x + 1 })
-/// Some(2)
-/// ```
-///
-/// ```gleam
-/// > map(over: None, with: fn(x) { x + 1 })
-/// None
-/// ```
-///
-pub fn map(over option: Option(a), with fun: fn(a) -> b) -> Option(b) {
- case option {
- Some(x) -> Some(fun(x))
- None -> None
- }
-}
-
-/// Merges a nested `Option` into a single layer.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > flatten(Some(Some(1)))
-/// Some(1)
-/// ```
-///
-/// ```gleam
-/// > flatten(Some(None))
-/// None
-/// ```
-///
-/// ```gleam
-/// > flatten(None)
-/// None
-/// ```
-///
-pub fn flatten(option: Option(Option(a))) -> Option(a) {
- case option {
- Some(x) -> x
- None -> None
- }
-}
-
-/// Updates a value held within the `Some` of an `Option` by calling a given function
-/// on it, where the given function also returns an `Option`. The two options are
-/// then merged together into one `Option`.
-///
-/// If the `Option` is a `None` rather than `Some` the function is not called and the
-/// option stays the same.
-///
-/// This function is the equivalent of calling `map` followed by `flatten`, and
-/// it is useful for chaining together multiple functions that return `Option`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > then(Some(1), fn(x) { Some(x + 1) })
-/// Some(2)
-/// ```
-///
-/// ```gleam
-/// > then(Some(1), fn(x) { Some(#("a", x)) })
-/// Some(#("a", 1))
-/// ```
-///
-/// ```gleam
-/// > then(Some(1), fn(_) { None })
-/// None
-/// ```
-///
-/// ```gleam
-/// > then(None, fn(x) { Some(x + 1) })
-/// None
-/// ```
-///
-pub fn then(option: Option(a), apply fun: fn(a) -> Option(b)) -> Option(b) {
- case option {
- Some(x) -> fun(x)
- None -> None
- }
-}
-
-/// Returns the first value if it is `Some`, otherwise returns the second value.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > or(Some(1), Some(2))
-/// Some(1)
-/// ```
-///
-/// ```gleam
-/// > or(Some(1), None)
-/// Some(1)
-/// ```
-///
-/// ```gleam
-/// > or(None, Some(2))
-/// Some(2)
-/// ```
-///
-/// ```gleam
-/// > or(None, None)
-/// None
-/// ```
-///
-pub fn or(first: Option(a), second: Option(a)) -> Option(a) {
- case first {
- Some(_) -> first
- None -> second
- }
-}
-
-/// Returns the first value if it is `Some`, otherwise evaluates the given function for a fallback value.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > lazy_or(Some(1), fn() { Some(2) })
-/// Some(1)
-/// ```
-///
-/// ```gleam
-/// > lazy_or(Some(1), fn() { None })
-/// Some(1)
-/// ```
-///
-/// ```gleam
-/// > lazy_or(None, fn() { Some(2) })
-/// Some(2)
-/// ```
-///
-/// ```gleam
-/// > lazy_or(None, fn() { None })
-/// None
-/// ```
-///
-pub fn lazy_or(first: Option(a), second: fn() -> Option(a)) -> Option(a) {
- case first {
- Some(_) -> first
- None -> second()
- }
-}
-
-fn do_values(list: List(Option(a)), acc: List(a)) -> List(a) {
- case list {
- [] -> acc
- [x, ..xs] -> {
- let accumulate = fn(acc, item) {
- case item {
- Some(value) -> [value, ..acc]
- None -> acc
- }
- }
- accumulate(do_values(xs, acc), x)
- }
- }
-}
-
-/// Given a list of `Option`s,
-/// returns only the values inside `Some`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > values([Some(1), None, Some(3)])
-/// [1, 3]
-/// ```
-///
-pub fn values(options: List(Option(a))) -> List(a) {
- do_values(options, [])
-}
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam/order.gleam b/aoc2023/build/packages/gleam_stdlib/src/gleam/order.gleam
deleted file mode 100644
index 12ce011..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam/order.gleam
+++ /dev/null
@@ -1,133 +0,0 @@
-/// Represents the result of a single comparison to determine the precise
-/// ordering of two values.
-///
-pub type Order {
- /// Less-than
- Lt
-
- /// Equal
- Eq
-
- /// Greater than
- Gt
-}
-
-/// Inverts an order, so less-than becomes greater-than and greater-than
-/// becomes less-than.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > negate(Lt)
-/// Gt
-/// ```
-///
-/// ```gleam
-/// > negate(Eq)
-/// Eq
-/// ```
-///
-/// ```gleam
-/// > negate(Lt)
-/// Gt
-/// ```
-///
-pub fn negate(order: Order) -> Order {
- case order {
- Lt -> Gt
- Eq -> Eq
- Gt -> Lt
- }
-}
-
-/// Produces a numeric representation of the order.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > to_int(Lt)
-/// -1
-/// ```
-///
-/// ```gleam
-/// > to_int(Eq)
-/// 0
-/// ```
-///
-/// ```gleam
-/// > to_int(Gt)
-/// 1
-/// ```
-///
-pub fn to_int(order: Order) -> Int {
- case order {
- Lt -> -1
- Eq -> 0
- Gt -> 1
- }
-}
-
-/// Compares two `Order` values to one another, producing a new `Order`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > compare(Eq, with: Lt)
-/// Gt
-/// ```
-///
-pub fn compare(a: Order, with b: Order) -> Order {
- case a, b {
- x, y if x == y -> Eq
- Lt, _ | Eq, Gt -> Lt
- _, _ -> Gt
- }
-}
-
-/// Returns the largest of two orders given that `Gt > Eq > Lt`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > max(Eq, Lt)
-/// Eq
-/// ```
-///
-pub fn max(a: Order, b: Order) -> Order {
- case a, b {
- Gt, _ -> Gt
- Eq, Lt -> Eq
- _, _ -> b
- }
-}
-
-/// Returns the smallest of two orders given that `Gt > Eq > Lt`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > min(Eq, Lt)
-/// Lt
-/// ```
-///
-pub fn min(a: Order, b: Order) -> Order {
- case a, b {
- Lt, _ -> Lt
- Eq, Gt -> Eq
- _, _ -> b
- }
-}
-
-/// Inverts an ordering function, so less-than becomes greater-than and greater-than
-/// becomes less-than.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > list.sort([1, 5, 4], by: reverse(int.compare))
-/// [5, 4, 1]
-/// ```
-///
-pub fn reverse(orderer: fn(a, a) -> Order) -> fn(a, a) -> Order {
- fn(a, b) { orderer(b, a) }
-}
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam/pair.gleam b/aoc2023/build/packages/gleam_stdlib/src/gleam/pair.gleam
deleted file mode 100644
index 894e6a8..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam/pair.gleam
+++ /dev/null
@@ -1,85 +0,0 @@
-/// Returns the first element in a pair.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > first(#(1, 2))
-/// 1
-/// ```
-///
-pub fn first(pair: #(a, b)) -> a {
- let #(a, _) = pair
- a
-}
-
-/// Returns the second element in a pair.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > second(#(1, 2))
-/// 2
-/// ```
-///
-pub fn second(pair: #(a, b)) -> b {
- let #(_, a) = pair
- a
-}
-
-/// Returns a new pair with the elements swapped.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > swap(#(1, 2))
-/// #(2, 1)
-/// ```
-///
-pub fn swap(pair: #(a, b)) -> #(b, a) {
- let #(a, b) = pair
- #(b, a)
-}
-
-/// Returns a new pair with the first element having had `with` applied to
-/// it.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > #(1, 2) |> map_first(fn(n) { n * 2 })
-/// #(2, 2)
-/// ```
-///
-pub fn map_first(of pair: #(a, b), with fun: fn(a) -> c) -> #(c, b) {
- let #(a, b) = pair
- #(fun(a), b)
-}
-
-/// Returns a new pair with the second element having had `with` applied to
-/// it.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > #(1, 2) |> map_second(fn(n) { n * 2 })
-/// #(1, 4)
-/// ```
-///
-pub fn map_second(of pair: #(a, b), with fun: fn(b) -> c) -> #(a, c) {
- let #(a, b) = pair
- #(a, fun(b))
-}
-
-/// Returns a new pair with the given elements. This can also be done using the dedicated
-/// syntax instead: `new(1, 2) == #(1, 2)`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > new(1, 2)
-/// #(1, 2)
-/// ```
-///
-pub fn new(first: a, second: b) -> #(a, b) {
- #(first, second)
-}
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam/queue.gleam b/aoc2023/build/packages/gleam_stdlib/src/gleam/queue.gleam
deleted file mode 100644
index 5bf60c8..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam/queue.gleam
+++ /dev/null
@@ -1,292 +0,0 @@
-import gleam/list
-
-/// A queue is an ordered collection of elements. It is similar to a list, but
-/// unlike a list elements can be added to or removed from either the front or
-/// the back in a performant fashion.
-///
-/// The internal representation may be different for two queues with the same
-/// elements in the same order if the queues were constructed in different
-/// ways. This is the price paid for a queue's fast access at both the front
-/// and the back.
-///
-/// Because of unpredictable internal representation the equality operator `==`
-/// may return surprising results, and the `is_equal` and `is_logically_equal`
-/// functions are the recommended way to test queues for equality.
-///
-pub opaque type Queue(element) {
- Queue(in: List(element), out: List(element))
-}
-
-/// Creates a fresh queue that contains no values.
-///
-pub fn new() -> Queue(a) {
- Queue(in: [], out: [])
-}
-
-/// Converts a list of elements into a queue of the same elements in the same
-/// order. The first element in the list becomes the front element in the queue.
-///
-/// This function runs in constant time.
-///
-/// # Examples
-///
-/// ```gleam
-/// > [1, 2, 3] |> from_list |> length
-/// 3
-/// ```
-///
-pub fn from_list(list: List(a)) -> Queue(a) {
- Queue(in: [], out: list)
-}
-
-/// Converts a queue of elements into a list of the same elements in the same
-/// order. The front element in the queue becomes the first element in the list.
-///
-/// This function runs in linear time.
-///
-/// # Examples
-///
-/// ```gleam
-/// > new() |> push_back(1) |> push_back(2) |> to_list
-/// [1, 2]
-/// ```
-///
-pub fn to_list(queue: Queue(a)) -> List(a) {
- queue.out
- |> list.append(list.reverse(queue.in))
-}
-
-/// Determines whether or not the queue is empty.
-///
-/// This function runs in constant time.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > [] |> from_list |> is_empty
-/// True
-/// ```
-///
-/// ```gleam
-/// > [1] |> from_list |> is_empty
-/// False
-/// ```
-///
-/// ```gleam
-/// > [1, 2] |> from_list |> is_empty
-/// False
-/// ```
-///
-pub fn is_empty(queue: Queue(a)) -> Bool {
- queue.in == [] && queue.out == []
-}
-
-/// Counts the number of elements in a given queue.
-///
-/// This function has to traverse the queue to determine the number of elements,
-/// so it runs in linear time.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > length(from_list([]))
-/// 0
-/// ```
-///
-/// ```gleam
-/// > length(from_list([1]))
-/// 1
-/// ```
-///
-/// ```gleam
-/// > length(from_list([1, 2]))
-/// 2
-/// ```
-///
-pub fn length(queue: Queue(a)) -> Int {
- list.length(queue.in) + list.length(queue.out)
-}
-
-/// Pushes an element onto the back of the queue.
-///
-/// # Examples
-///
-/// ```gleam
-/// > [1, 2] |> from_list |> push_back(3) |> to_list
-/// [1, 2, 3]
-/// ```
-///
-pub fn push_back(onto queue: Queue(a), this item: a) -> Queue(a) {
- Queue(in: [item, ..queue.in], out: queue.out)
-}
-
-/// Pushes an element onto the front of the queue.
-///
-/// # Examples
-///
-/// ```gleam
-/// > [0, 0] |> from_list |> push_front(1) |> to_list
-/// [1, 0, 0]
-/// ```
-///
-pub fn push_front(onto queue: Queue(a), this item: a) -> Queue(a) {
- Queue(in: queue.in, out: [item, ..queue.out])
-}
-
-/// Gets the last element from the queue, returning the
-/// element and a new queue without that element.
-///
-/// This function typically runs in constant time, but will occasionally run in
-/// linear time.
-///
-/// # Examples
-///
-/// ```gleam
-/// > new()
-/// > |> push_back(0)
-/// > |> push_back(1)
-/// > |> pop_back()
-/// Ok(#(1, push_front(new(), 0)))
-/// ```
-///
-/// ```gleam
-/// > new()
-/// > |> push_front(0)
-/// > |> pop_back()
-/// Ok(#(0, new()))
-/// ```
-///
-/// ```gleam
-/// > new()
-/// > |> pop_back()
-/// Error(Nil)
-/// ```
-///
-pub fn pop_back(from queue: Queue(a)) -> Result(#(a, Queue(a)), Nil) {
- case queue {
- Queue(in: [], out: []) -> Error(Nil)
- Queue(in: [], out: out) -> pop_back(Queue(in: list.reverse(out), out: []))
- Queue(in: [first, ..rest], out: out) -> {
- let queue = Queue(in: rest, out: out)
- Ok(#(first, queue))
- }
- }
-}
-
-/// Gets the first element from the queue, returning the
-/// element and a new queue without that element.
-///
-/// This function typically runs in constant time, but will occasionally run in
-/// linear time.
-///
-/// # Examples
-///
-/// ```gleam
-/// > queue.new()
-/// > |> queue.push_front(1)
-/// > |> queue.push_front(0)
-/// > |> queue.pop_front()
-/// Ok(#(0, queue.push_back(queue.new(), 1)))
-/// ```
-///
-/// ```gleam
-/// > queue.new()
-/// > |> queue.push_back(0)
-/// > |> queue.pop_front()
-/// Ok(#(0, queue.new()))
-/// ```
-///
-/// ```gleam
-/// > queue.new()
-/// > |> queue.pop_back()
-/// Error(Nil)
-/// ```
-///
-pub fn pop_front(from queue: Queue(a)) -> Result(#(a, Queue(a)), Nil) {
- case queue {
- Queue(in: [], out: []) -> Error(Nil)
- Queue(in: in, out: []) -> pop_front(Queue(in: [], out: list.reverse(in)))
- Queue(in: in, out: [first, ..rest]) -> {
- let queue = Queue(in: in, out: rest)
- Ok(#(first, queue))
- }
- }
-}
-
-/// Creates a new queue from a given queue containing the same elements, but in
-/// the opposite order.
-///
-/// This function runs in constant time.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > [] |> from_list |> reverse |> to_list
-/// []
-/// ```
-///
-/// ```gleam
-/// > [1] |> from_list |> reverse |> to_list
-/// [1]
-/// ```
-///
-/// ```gleam
-/// > [1, 2] |> from_list |> reverse |> to_list
-/// [2, 1]
-/// ```
-///
-pub fn reverse(queue: Queue(a)) -> Queue(a) {
- Queue(in: queue.out, out: queue.in)
-}
-
-fn check_equal(
- xs: List(t),
- x_tail: List(t),
- ys: List(t),
- y_tail: List(t),
- eq: fn(t, t) -> Bool,
-) -> Bool {
- case xs, x_tail, ys, y_tail {
- [], [], [], [] -> True
- [x, ..xs], _, [y, ..ys], _ ->
- case eq(x, y) {
- False -> False
- True -> check_equal(xs, x_tail, ys, y_tail, eq)
- }
- [], [_, ..], _, _ -> check_equal(list.reverse(x_tail), [], ys, y_tail, eq)
- _, _, [], [_, ..] -> check_equal(xs, x_tail, list.reverse(y_tail), [], eq)
- _, _, _, _ -> False
- }
-}
-
-/// Checks whether two queues have equal elements in the same order, where the
-/// equality of elements is determined by a given equality checking function.
-///
-/// This function is useful as the internal representation may be different for
-/// two queues with the same elements in the same order depending on how they
-/// were constructed, so the equality operator `==` may return surprising
-/// results.
-///
-/// This function runs in linear time multiplied by the time taken by the
-/// element equality checking function.
-///
-pub fn is_logically_equal(
- a: Queue(t),
- to b: Queue(t),
- checking element_is_equal: fn(t, t) -> Bool,
-) -> Bool {
- check_equal(a.out, a.in, b.out, b.in, element_is_equal)
-}
-
-/// Checks whether two queues have the same elements in the same order.
-///
-/// This function is useful as the internal representation may be different for
-/// two queues with the same elements in the same order depending on how they
-/// were constructed, so the equality operator `==` may return surprising
-/// results.
-///
-/// This function runs in linear time.
-///
-pub fn is_equal(a: Queue(t), to b: Queue(t)) -> Bool {
- check_equal(a.out, a.in, b.out, b.in, fn(a, b) { a == b })
-}
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam/regex.gleam b/aoc2023/build/packages/gleam_stdlib/src/gleam/regex.gleam
deleted file mode 100644
index 9ffda78..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam/regex.gleam
+++ /dev/null
@@ -1,214 +0,0 @@
-//// This module contains regular expression matching functions for strings.
-//// The matching algorithms of the library are based on the PCRE library, but not
-//// all of the PCRE library is interfaced and some parts of the library go beyond
-//// what PCRE offers. Currently PCRE version 8.40 (release date 2017-01-11) is used.
-
-import gleam/option.{type Option}
-
-pub type Regex
-
-/// The details about a particular match:
-///
-pub type Match {
- Match(
- /// The full string of the match.
- content: String,
- /// A `Regex` can have subpatterns, sup-parts that are in parentheses.
- submatches: List(Option(String)),
- )
-}
-
-/// When a regular expression fails to compile:
-///
-pub type CompileError {
- CompileError(
- /// The problem encountered that caused the compilation to fail
- error: String,
- /// The byte index into the string to where the problem was found
- /// This value may not be correct in JavaScript environments.
- byte_index: Int,
- )
-}
-
-pub type Options {
- Options(case_insensitive: Bool, multi_line: Bool)
-}
-
-/// Creates a `Regex` with some additional options.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > let options = Options(case_insensitive: False, multi_line: True)
-/// > let assert Ok(re) = compile("^[0-9]", with: options)
-/// > check(re, "abc\n123")
-/// True
-/// ```
-///
-/// ```gleam
-/// > let options = Options(case_insensitive: True, multi_line: False)
-/// > let assert Ok(re) = compile("[A-Z]", with: options)
-/// > check(re, "abc123")
-/// True
-/// ```
-///
-pub fn compile(
- pattern: String,
- with options: Options,
-) -> Result(Regex, CompileError) {
- do_compile(pattern, options)
-}
-
-@external(erlang, "gleam_stdlib", "compile_regex")
-@external(javascript, "../gleam_stdlib.mjs", "compile_regex")
-fn do_compile(a: String, with with: Options) -> Result(Regex, CompileError)
-
-/// Creates a new `Regex`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > let assert Ok(re) = from_string("[0-9]")
-/// > check(re, "abc123")
-/// True
-/// ```
-///
-/// ```gleam
-/// > check(re, "abcxyz")
-/// False
-/// ```
-///
-/// ```gleam
-/// > from_string("[0-9")
-/// Error(
-/// CompileError(
-/// error: "missing terminating ] for character class",
-/// byte_index: 4
-/// )
-/// )
-/// ```
-///
-pub fn from_string(pattern: String) -> Result(Regex, CompileError) {
- compile(pattern, Options(case_insensitive: False, multi_line: False))
-}
-
-/// Returns a boolean indicating whether there was a match or not.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > let assert Ok(re) = from_string("^f.o.?")
-/// > check(with: re, content: "foo")
-/// True
-/// ```
-///
-/// ```gleam
-/// > check(with: re, content: "boo")
-/// False
-/// ```
-///
-pub fn check(with regex: Regex, content content: String) -> Bool {
- do_check(regex, content)
-}
-
-@external(erlang, "gleam_stdlib", "regex_check")
-@external(javascript, "../gleam_stdlib.mjs", "regex_check")
-fn do_check(a: Regex, b: String) -> Bool
-
-/// Splits a string.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > let assert Ok(re) = from_string(" *, *")
-/// > split(with: re, content: "foo,32, 4, 9 ,0")
-/// ["foo", "32", "4", "9", "0"]
-/// ```
-///
-pub fn split(with regex: Regex, content string: String) -> List(String) {
- do_split(regex, string)
-}
-
-@target(erlang)
-@external(erlang, "gleam_stdlib", "regex_split")
-fn do_split(a: Regex, b: String) -> List(String)
-
-@target(javascript)
-fn do_split(regex, string) -> List(String) {
- js_split(string, regex)
-}
-
-@target(javascript)
-@external(javascript, "../gleam_stdlib.mjs", "split")
-fn js_split(a: String, b: Regex) -> List(String)
-
-/// Collects all matches of the regular expression.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > let assert Ok(re) = from_string("[oi]n a (\\w+)")
-/// > scan(with: re, content: "I am on a boat in a lake.")
-/// [
-/// Match(
-/// content: "on a boat",
-/// submatches: [Some("boat")]
-/// ),
-/// Match(
-/// content: "in a lake",
-/// submatches: [Some("lake")]
-/// )
-/// ]
-/// ```
-///
-/// ```gleam
-/// > let assert Ok(re) = regex.from_string("([+|\\-])?(\\d+)(\\w+)?")
-/// > scan(with: re, content: "-36")
-/// [
-/// Match(
-/// content: "-36",
-/// submatches: [Some("-"), Some("36")]
-/// )
-/// ]
-///
-/// > scan(with: re, content: "36")
-/// [
-/// Match(
-/// content: "36",
-/// submatches: [None, Some("36")]
-/// )
-/// ]
-/// ```
-///
-/// ```gleam
-/// > let assert Ok(re) = regex.from_string("var\\s*(\\w+)\\s*(int|string)?\\s*=\\s*(.*)")
-/// > scan(with: re, content: "var age = 32")
-/// [
-/// Match(
-/// content: "var age = 32",
-/// submatches: [Some("age"), None, Some("32")]
-/// )
-/// ]
-/// ```
-///
-/// ```gleam
-/// > let assert Ok(re) = regex.from_string("let (\\w+) = (\\w+)")
-/// > scan(with: re, content: "let age = 32")
-/// [
-/// Match(
-/// content: "let age = 32",
-/// submatches: [Some("age"), Some("32")]
-/// )
-/// ]
-///
-/// > scan(with: re, content: "const age = 32")
-/// []
-/// ```
-///
-pub fn scan(with regex: Regex, content string: String) -> List(Match) {
- do_scan(regex, string)
-}
-
-@external(erlang, "gleam_stdlib", "regex_scan")
-@external(javascript, "../gleam_stdlib.mjs", "regex_scan")
-fn do_scan(a: Regex, b: String) -> List(Match)
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam/result.gleam b/aoc2023/build/packages/gleam_stdlib/src/gleam/result.gleam
deleted file mode 100644
index fb6dddb..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam/result.gleam
+++ /dev/null
@@ -1,482 +0,0 @@
-//// Result represents the result of something that may succeed or not.
-//// `Ok` means it was successful, `Error` means it was not successful.
-
-import gleam/list
-
-/// Checks whether the result is an `Ok` value.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > is_ok(Ok(1))
-/// True
-/// ```
-///
-/// ```gleam
-/// > is_ok(Error(Nil))
-/// False
-/// ```
-///
-pub fn is_ok(result: Result(a, e)) -> Bool {
- case result {
- Error(_) -> False
- Ok(_) -> True
- }
-}
-
-/// Checks whether the result is an `Error` value.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > is_error(Ok(1))
-/// False
-/// ```
-///
-/// ```gleam
-/// > is_error(Error(Nil))
-/// True
-/// ```
-///
-pub fn is_error(result: Result(a, e)) -> Bool {
- case result {
- Ok(_) -> False
- Error(_) -> True
- }
-}
-
-/// Updates a value held within the `Ok` of a result by calling a given function
-/// on it.
-///
-/// If the result is an `Error` rather than `Ok` the function is not called and the
-/// result stays the same.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > map(over: Ok(1), with: fn(x) { x + 1 })
-/// Ok(2)
-/// ```
-///
-/// ```gleam
-/// > map(over: Error(1), with: fn(x) { x + 1 })
-/// Error(1)
-/// ```
-///
-pub fn map(over result: Result(a, e), with fun: fn(a) -> b) -> Result(b, e) {
- case result {
- Ok(x) -> Ok(fun(x))
- Error(e) -> Error(e)
- }
-}
-
-/// Updates a value held within the `Error` of a result by calling a given function
-/// on it.
-///
-/// If the result is `Ok` rather than `Error` the function is not called and the
-/// result stays the same.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > map_error(over: Error(1), with: fn(x) { x + 1 })
-/// Error(2)
-/// ```
-///
-/// ```gleam
-/// > map_error(over: Ok(1), with: fn(x) { x + 1 })
-/// Ok(1)
-/// ```
-///
-pub fn map_error(
- over result: Result(a, e),
- with fun: fn(e) -> f,
-) -> Result(a, f) {
- case result {
- Ok(x) -> Ok(x)
- Error(error) -> Error(fun(error))
- }
-}
-
-/// Merges a nested `Result` into a single layer.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > flatten(Ok(Ok(1)))
-/// Ok(1)
-/// ```
-///
-/// ```gleam
-/// > flatten(Ok(Error("")))
-/// Error("")
-/// ```
-///
-/// ```gleam
-/// > flatten(Error(Nil))
-/// Error(Nil)
-/// ```
-///
-pub fn flatten(result: Result(Result(a, e), e)) -> Result(a, e) {
- case result {
- Ok(x) -> x
- Error(error) -> Error(error)
- }
-}
-
-/// "Updates" an `Ok` result by passing its value to a function that yields a result,
-/// and returning the yielded result. (This may "replace" the `Ok` with an `Error`.)
-///
-/// If the input is an `Error` rather than an `Ok`, the function is not called and
-/// the original `Error` is returned.
-///
-/// This function is the equivalent of calling `map` followed by `flatten`, and
-/// it is useful for chaining together multiple functions that may fail.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > try(Ok(1), fn(x) { Ok(x + 1) })
-/// Ok(2)
-/// ```
-///
-/// ```gleam
-/// > try(Ok(1), fn(x) { Ok(#("a", x)) })
-/// Ok(#("a", 1))
-/// ```
-///
-/// ```gleam
-/// > try(Ok(1), fn(_) { Error("Oh no") })
-/// Error("Oh no")
-/// ```
-///
-/// ```gleam
-/// > try(Error(Nil), fn(x) { Ok(x + 1) })
-/// Error(Nil)
-/// ```
-///
-pub fn try(
- result: Result(a, e),
- apply fun: fn(a) -> Result(b, e),
-) -> Result(b, e) {
- case result {
- Ok(x) -> fun(x)
- Error(e) -> Error(e)
- }
-}
-
-/// An alias for `try`. See the documentation for that function for more information.
-///
-pub fn then(
- result: Result(a, e),
- apply fun: fn(a) -> Result(b, e),
-) -> Result(b, e) {
- try(result, fun)
-}
-
-/// Extracts the `Ok` value from a result, returning a default value if the result
-/// is an `Error`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > unwrap(Ok(1), 0)
-/// 1
-/// ```
-///
-/// ```gleam
-/// > unwrap(Error(""), 0)
-/// 0
-/// ```
-///
-pub fn unwrap(result: Result(a, e), or default: a) -> a {
- case result {
- Ok(v) -> v
- Error(_) -> default
- }
-}
-
-/// Extracts the `Ok` value from a result, evaluating the default function if the result
-/// is an `Error`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > lazy_unwrap(Ok(1), fn() { 0 })
-/// 1
-/// ```
-///
-/// ```gleam
-/// > lazy_unwrap(Error(""), fn() { 0 })
-/// 0
-/// ```
-///
-pub fn lazy_unwrap(result: Result(a, e), or default: fn() -> a) -> a {
- case result {
- Ok(v) -> v
- Error(_) -> default()
- }
-}
-
-/// Extracts the `Error` value from a result, returning a default value if the result
-/// is an `Ok`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > unwrap_error(Error(1), 0)
-/// 1
-/// ```
-///
-/// ```gleam
-/// > unwrap_error(Ok(""), 0)
-/// 0
-/// ```
-///
-pub fn unwrap_error(result: Result(a, e), or default: e) -> e {
- case result {
- Ok(_) -> default
- Error(e) -> e
- }
-}
-
-/// Extracts the inner value from a result. Both the value and error must be of
-/// the same type.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > unwrap_both(Error(1))
-/// 1
-/// ```
-///
-/// ```gleam
-/// > unwrap_both(Ok(2))
-/// 2
-/// ```
-///
-pub fn unwrap_both(result: Result(a, a)) -> a {
- case result {
- Ok(a) -> a
- Error(a) -> a
- }
-}
-
-/// Transforms any error into `Error(Nil)`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > nil_error(Error(1))
-/// Error(Nil)
-/// ```
-///
-/// ```gleam
-/// > nil_error(Ok(1))
-/// Ok(1)
-/// ```
-///
-pub fn nil_error(result: Result(a, e)) -> Result(a, Nil) {
- map_error(result, fn(_) { Nil })
-}
-
-/// Returns the first value if it is `Ok`, otherwise returns the second value.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > or(Ok(1), Ok(2))
-/// Ok(1)
-/// ```
-///
-/// ```gleam
-/// > or(Ok(1), Error("Error 2"))
-/// Ok(1)
-/// ```
-///
-/// ```gleam
-/// > or(Error("Error 1"), Ok(2))
-/// Ok(2)
-/// ```
-///
-/// ```gleam
-/// > or(Error("Error 1"), Error("Error 2"))
-/// Error("Error 2")
-/// ```
-///
-pub fn or(first: Result(a, e), second: Result(a, e)) -> Result(a, e) {
- case first {
- Ok(_) -> first
- Error(_) -> second
- }
-}
-
-/// Returns the first value if it is `Ok`, otherwise evaluates the given function for a fallback value.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > lazy_or(Ok(1), fn() { Ok(2) })
-/// Ok(1)
-/// ```
-///
-/// ```gleam
-/// > lazy_or(Ok(1), fn() { Error("Error 2") })
-/// Ok(1)
-/// ```
-///
-/// ```gleam
-/// > lazy_or(Error("Error 1"), fn() { Ok(2) })
-/// Ok(2)
-/// ```
-///
-/// ```gleam
-/// > lazy_or(Error("Error 1"), fn() { Error("Error 2") })
-/// Error("Error 2")
-/// ```
-///
-pub fn lazy_or(
- first: Result(a, e),
- second: fn() -> Result(a, e),
-) -> Result(a, e) {
- case first {
- Ok(_) -> first
- Error(_) -> second()
- }
-}
-
-/// Combines a list of results into a single result.
-/// If all elements in the list are `Ok` then returns an `Ok` holding the list of values.
-/// If any element is `Error` then returns the first error.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > all([Ok(1), Ok(2)])
-/// Ok([1, 2])
-/// ```
-///
-/// ```gleam
-/// > all([Ok(1), Error("e")])
-/// Error("e")
-/// ```
-///
-pub fn all(results: List(Result(a, e))) -> Result(List(a), e) {
- list.try_map(results, fn(x) { x })
-}
-
-/// Given a list of results, returns a pair where the first element is a list
-/// of all the values inside `Ok` and the second element is a list with all the
-/// values inside `Error`. The values in both lists appear in reverse order with
-/// respect to their position in the original list of results.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > partition([Ok(1), Error("a"), Error("b"), Ok(2)])
-/// #([2, 1], ["b", "a"])
-/// ```
-///
-pub fn partition(results: List(Result(a, e))) -> #(List(a), List(e)) {
- do_partition(results, [], [])
-}
-
-fn do_partition(results: List(Result(a, e)), oks: List(a), errors: List(e)) {
- case results {
- [] -> #(oks, errors)
- [Ok(a), ..rest] -> do_partition(rest, [a, ..oks], errors)
- [Error(e), ..rest] -> do_partition(rest, oks, [e, ..errors])
- }
-}
-
-/// Replace the value within a result
-///
-/// ## Examples
-///
-/// ```gleam
-/// > replace(Ok(1), Nil)
-/// Ok(Nil)
-/// ```
-///
-/// ```gleam
-/// > replace(Error(1), Nil)
-/// Error(1)
-/// ```
-///
-pub fn replace(result: Result(a, e), value: b) -> Result(b, e) {
- case result {
- Ok(_) -> Ok(value)
- Error(error) -> Error(error)
- }
-}
-
-/// Replace the error within a result
-///
-/// ## Examples
-///
-/// ```gleam
-/// > replace_error(Error(1), Nil)
-/// Error(Nil)
-/// ```
-///
-/// ```gleam
-/// > replace_error(Ok(1), Nil)
-/// Ok(1)
-/// ```
-///
-pub fn replace_error(result: Result(a, e1), error: e2) -> Result(a, e2) {
- case result {
- Ok(x) -> Ok(x)
- Error(_) -> Error(error)
- }
-}
-
-/// Given a list of results, returns only the values inside `Ok`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > values([Ok(1), Error("a"), Ok(3)])
-/// [1, 3]
-/// ```
-///
-pub fn values(results: List(Result(a, e))) -> List(a) {
- list.filter_map(results, fn(r) { r })
-}
-
-/// Updates a value held within the `Error` of a result by calling a given function
-/// on it, where the given function also returns a result. The two results are
-/// then merged together into one result.
-///
-/// If the result is an `Ok` rather than `Error` the function is not called and the
-/// result stays the same.
-///
-/// This function is useful for chaining together computations that may fail
-/// and trying to recover from possible errors.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > Ok(1) |> try_recover(with: fn(_) { Error("failed to recover") })
-/// Ok(1)
-/// ```
-///
-/// ```gleam
-/// > Error(1) |> try_recover(with: fn(error) { Ok(error + 1) })
-/// Ok(2)
-/// ```
-///
-/// ```gleam
-/// > Error(1) |> try_recover(with: fn(error) { Error("failed to recover") })
-/// Error("failed to recover")
-/// ```
-///
-pub fn try_recover(
- result: Result(a, e),
- with fun: fn(e) -> Result(a, f),
-) -> Result(a, f) {
- case result {
- Ok(value) -> Ok(value)
- Error(error) -> fun(error)
- }
-}
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam/set.gleam b/aoc2023/build/packages/gleam_stdlib/src/gleam/set.gleam
deleted file mode 100644
index df8d500..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam/set.gleam
+++ /dev/null
@@ -1,264 +0,0 @@
-import gleam/list
-import gleam/dict.{type Dict}
-import gleam/result
-
-// A list is used as the map value as an empty list has the smallest
-// representation in Erlang's binary format
-@target(erlang)
-type Token =
- List(Nil)
-
-@target(erlang)
-const token = []
-
-@target(javascript)
-type Token =
- Nil
-
-@target(javascript)
-const token = Nil
-
-/// A set is a collection of unique members of the same type.
-///
-/// It is implemented using the `gleam/map` module, so inserts and lookups have
-/// logarithmic time complexity.
-///
-pub opaque type Set(member) {
- Set(map: Dict(member, Token))
-}
-
-/// Creates a new empty set.
-///
-pub fn new() -> Set(member) {
- Set(dict.new())
-}
-
-/// Gets the number of members in a set.
-///
-/// This function runs in constant time.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > new()
-/// > |> insert(1)
-/// > |> insert(2)
-/// > |> size
-/// 2
-/// ```
-///
-pub fn size(set: Set(member)) -> Int {
- dict.size(set.map)
-}
-
-/// Inserts an member into the set.
-///
-/// This function runs in logarithmic time.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > new()
-/// > |> insert(1)
-/// > |> insert(2)
-/// > |> size
-/// 2
-/// ```
-///
-pub fn insert(into set: Set(member), this member: member) -> Set(member) {
- Set(map: dict.insert(set.map, member, token))
-}
-
-/// Checks whether a set contains a given member.
-///
-/// This function runs in logarithmic time.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > new()
-/// > |> insert(2)
-/// > |> contains(2)
-/// True
-/// ```
-///
-/// ```gleam
-/// > new()
-/// > |> insert(2)
-/// > |> contains(1)
-/// False
-/// ```
-///
-pub fn contains(in set: Set(member), this member: member) -> Bool {
- set.map
- |> dict.get(member)
- |> result.is_ok
-}
-
-/// Removes a member from a set. If the set does not contain the member then
-/// the set is returned unchanged.
-///
-/// This function runs in logarithmic time.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > new()
-/// > |> insert(2)
-/// > |> delete(2)
-/// > |> contains(1)
-/// False
-/// ```
-///
-pub fn delete(from set: Set(member), this member: member) -> Set(member) {
- Set(map: dict.delete(set.map, member))
-}
-
-/// Converts the set into a list of the contained members.
-///
-/// The list has no specific ordering, any unintentional ordering may change in
-/// future versions of Gleam or Erlang.
-///
-/// This function runs in linear time.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > new() |> insert(2) |> to_list
-/// [2]
-/// ```
-///
-pub fn to_list(set: Set(member)) -> List(member) {
- dict.keys(set.map)
-}
-
-/// Creates a new set of the members in a given list.
-///
-/// This function runs in loglinear time.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > import gleam/list
-/// > [1, 1, 2, 4, 3, 2] |> from_list |> to_list |> list.sort
-/// [1, 3, 3, 4]
-/// ```
-///
-pub fn from_list(members: List(member)) -> Set(member) {
- let map =
- list.fold(
- over: members,
- from: dict.new(),
- with: fn(m, k) { dict.insert(m, k, token) },
- )
- Set(map)
-}
-
-/// Combines all entries into a single value by calling a given function on each
-/// one.
-///
-/// Sets are not ordered so the values are not returned in any specific order.
-/// Do not write code that relies on the order entries are used by this
-/// function as it may change in later versions of Gleam or Erlang.
-///
-/// # Examples
-///
-/// ```gleam
-/// > from_list([1, 3, 9])
-/// > |> fold(0, fn(member, accumulator) { accumulator + member })
-/// 13
-/// ```
-///
-pub fn fold(
- over set: Set(member),
- from initial: acc,
- with reducer: fn(acc, member) -> acc,
-) -> acc {
- dict.fold(over: set.map, from: initial, with: fn(a, k, _) { reducer(a, k) })
-}
-
-/// Creates a new set from an existing set, minus any members that a given
-/// function returns `False` for.
-///
-/// This function runs in loglinear time.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > import gleam/int
-/// > from_list([1, 4, 6, 3, 675, 44, 67])
-/// > |> filter(for: int.is_even)
-/// > |> to_list
-/// [4, 6, 44]
-/// ```
-///
-pub fn filter(
- in set: Set(member),
- keeping predicate: fn(member) -> Bool,
-) -> Set(member) {
- Set(dict.filter(in: set.map, keeping: fn(m, _) { predicate(m) }))
-}
-
-pub fn drop(from set: Set(member), drop disallowed: List(member)) -> Set(member) {
- list.fold(over: disallowed, from: set, with: delete)
-}
-
-/// Creates a new map from a given map, only including any members which are in
-/// a given list.
-///
-/// This function runs in loglinear time.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from_list([1, 2, 3])
-/// > |> take([1, 3, 5])
-/// > |> to_list
-/// [1, 3]
-/// ```
-///
-pub fn take(from set: Set(member), keeping desired: List(member)) -> Set(member) {
- Set(dict.take(from: set.map, keeping: desired))
-}
-
-fn order(first: Set(member), second: Set(member)) -> #(Set(member), Set(member)) {
- case dict.size(first.map) > dict.size(second.map) {
- True -> #(first, second)
- False -> #(second, first)
- }
-}
-
-/// Creates a new set that contains all members of both given sets.
-///
-/// This function runs in loglinear time.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > union(from_list([1, 2]), from_list([2, 3])) |> to_list
-/// [1, 2, 3]
-/// ```
-///
-pub fn union(of first: Set(member), and second: Set(member)) -> Set(member) {
- let #(larger, smaller) = order(first, second)
- fold(over: smaller, from: larger, with: insert)
-}
-
-/// Creates a new set that contains members that are present in both given sets.
-///
-/// This function runs in loglinear time.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > intersection(from_list([1, 2]), from_list([2, 3])) |> to_list
-/// [2]
-/// ```
-///
-pub fn intersection(
- of first: Set(member),
- and second: Set(member),
-) -> Set(member) {
- let #(larger, smaller) = order(first, second)
- take(from: larger, keeping: to_list(smaller))
-}
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam/string.gleam b/aoc2023/build/packages/gleam_stdlib/src/gleam/string.gleam
deleted file mode 100644
index d4496f3..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam/string.gleam
+++ /dev/null
@@ -1,906 +0,0 @@
-//// Strings in Gleam are UTF-8 binaries. They can be written in your code as
-//// text surrounded by `"double quotes"`.
-
-import gleam/iterator.{type Iterator}
-import gleam/list
-import gleam/option.{type Option, None, Some}
-import gleam/order
-import gleam/string_builder.{type StringBuilder}
-
-/// Determines if a `String` is empty.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > is_empty("")
-/// True
-/// ```
-///
-/// ```gleam
-/// > is_empty("the world")
-/// False
-/// ```
-///
-pub fn is_empty(str: String) -> Bool {
- str == ""
-}
-
-/// Gets the number of grapheme clusters in a given `String`.
-///
-/// This function has to iterate across the whole string to count the number of
-/// graphemes, so it runs in linear time.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > length("Gleam")
-/// 5
-/// ```
-///
-/// ```gleam
-/// > length("ß↑e̊")
-/// 3
-/// ```
-///
-/// ```gleam
-/// > length("")
-/// 0
-/// ```
-///
-pub fn length(string: String) -> Int {
- do_length(string)
-}
-
-@external(erlang, "string", "length")
-@external(javascript, "../gleam_stdlib.mjs", "string_length")
-fn do_length(a: String) -> Int
-
-/// Reverses a `String`.
-///
-/// This function has to iterate across the whole `String` so it runs in linear
-/// time.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > reverse("stressed")
-/// "desserts"
-/// ```
-///
-pub fn reverse(string: String) -> String {
- do_reverse(string)
-}
-
-@target(erlang)
-fn do_reverse(string: String) -> String {
- string
- |> string_builder.from_string
- |> string_builder.reverse
- |> string_builder.to_string
-}
-
-@target(javascript)
-fn do_reverse(string: String) -> String {
- string
- |> to_graphemes
- |> list.reverse
- |> concat
-}
-
-/// Creates a new `String` by replacing all occurrences of a given substring.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > replace("www.example.com", each: ".", with: "-")
-/// "www-example-com"
-/// ```
-///
-/// ```gleam
-/// > replace("a,b,c,d,e", each: ",", with: "/")
-/// "a/b/c/d/e"
-/// ```
-///
-pub fn replace(
- in string: String,
- each pattern: String,
- with substitute: String,
-) -> String {
- string
- |> string_builder.from_string
- |> string_builder.replace(each: pattern, with: substitute)
- |> string_builder.to_string
-}
-
-/// Creates a new `String` with all the graphemes in the input `String` converted to
-/// lowercase.
-///
-/// Useful for case-insensitive comparisons.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > lowercase("X-FILES")
-/// "x-files"
-/// ```
-///
-pub fn lowercase(string: String) -> String {
- do_lowercase(string)
-}
-
-@external(erlang, "string", "lowercase")
-@external(javascript, "../gleam_stdlib.mjs", "lowercase")
-fn do_lowercase(a: String) -> String
-
-/// Creates a new `String` with all the graphemes in the input `String` converted to
-/// uppercase.
-///
-/// Useful for case-insensitive comparisons and VIRTUAL YELLING.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > uppercase("skinner")
-/// "SKINNER"
-/// ```
-///
-pub fn uppercase(string: String) -> String {
- do_uppercase(string)
-}
-
-@external(erlang, "string", "uppercase")
-@external(javascript, "../gleam_stdlib.mjs", "uppercase")
-fn do_uppercase(a: String) -> String
-
-/// Compares two `String`s to see which is "larger" by comparing their graphemes.
-///
-/// This does not compare the size or length of the given `String`s.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > compare("Anthony", "Anthony")
-/// order.Eq
-/// ```
-///
-/// ```gleam
-/// > compare("A", "B")
-/// order.Lt
-/// ```
-///
-pub fn compare(a: String, b: String) -> order.Order {
- case a == b {
- True -> order.Eq
- _ ->
- case less_than(a, b) {
- True -> order.Lt
- _ -> order.Gt
- }
- }
-}
-
-@external(erlang, "gleam_stdlib", "less_than")
-@external(javascript, "../gleam_stdlib.mjs", "less_than")
-fn less_than(a: String, b: String) -> Bool
-
-/// Takes a substring given a start grapheme index and a length. Negative indexes
-/// are taken starting from the *end* of the list.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > slice(from: "gleam", at_index: 1, length: 2)
-/// "le"
-/// ```
-///
-/// ```gleam
-/// > slice(from: "gleam", at_index: 1, length: 10)
-/// "leam"
-/// ```
-///
-/// ```gleam
-/// > slice(from: "gleam", at_index: 10, length: 3)
-/// ""
-/// ```
-///
-/// ```gleam
-/// > slice(from: "gleam", at_index: -2, length: 2)
-/// "am"
-/// ```
-///
-/// ```gleam
-/// > slice(from: "gleam", at_index: -12, length: 2)
-/// ""
-/// ```
-///
-pub fn slice(from string: String, at_index idx: Int, length len: Int) -> String {
- case len < 0 {
- True -> ""
- False ->
- case idx < 0 {
- True -> {
- let translated_idx = length(string) + idx
- case translated_idx < 0 {
- True -> ""
- False -> do_slice(string, translated_idx, len)
- }
- }
- False -> do_slice(string, idx, len)
- }
- }
-}
-
-@target(erlang)
-@external(erlang, "string", "slice")
-fn do_slice(a: String, b: Int, c: Int) -> String
-
-@target(javascript)
-fn do_slice(string: String, idx: Int, len: Int) -> String {
- string
- |> to_graphemes
- |> list.drop(idx)
- |> list.take(len)
- |> concat
-}
-
-/// Drops contents of the first `String` that occur before the second `String`.
-/// If the `from` string does not contain the `before` string, `from` is returned unchanged.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > crop(from: "The Lone Gunmen", before: "Lone")
-/// "Lone Gunmen"
-/// ```
-///
-@external(erlang, "gleam_stdlib", "crop_string")
-@external(javascript, "../gleam_stdlib.mjs", "crop_string")
-pub fn crop(from string: String, before substring: String) -> String
-
-/// Drops *n* graphemes from the left side of a `String`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > drop_left(from: "The Lone Gunmen", up_to: 2)
-/// "e Lone Gunmen"
-/// ```
-///
-pub fn drop_left(from string: String, up_to num_graphemes: Int) -> String {
- case num_graphemes < 0 {
- True -> string
- False -> slice(string, num_graphemes, length(string) - num_graphemes)
- }
-}
-
-/// Drops *n* graphemes from the right side of a `String`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > drop_right(from: "Cigarette Smoking Man", up_to: 2)
-/// "Cigarette Smoking M"
-/// ```
-///
-pub fn drop_right(from string: String, up_to num_graphemes: Int) -> String {
- case num_graphemes < 0 {
- True -> string
- False -> slice(string, 0, length(string) - num_graphemes)
- }
-}
-
-/// Checks if the first `String` contains the second.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > contains(does: "theory", contain: "ory")
-/// True
-/// ```
-///
-/// ```gleam
-/// > contains(does: "theory", contain: "the")
-/// True
-/// ```
-///
-/// ```gleam
-/// > contains(does: "theory", contain: "THE")
-/// False
-/// ```
-///
-@external(erlang, "gleam_stdlib", "contains_string")
-@external(javascript, "../gleam_stdlib.mjs", "contains_string")
-pub fn contains(does haystack: String, contain needle: String) -> Bool
-
-/// Checks whether the first `String` starts with the second one.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > starts_with("theory", "ory")
-/// False
-/// ```
-///
-pub fn starts_with(string: String, prefix: String) -> Bool {
- do_starts_with(string, prefix)
-}
-
-@external(erlang, "gleam_stdlib", "string_starts_with")
-@external(javascript, "../gleam_stdlib.mjs", "starts_with")
-fn do_starts_with(a: String, b: String) -> Bool
-
-/// Checks whether the first `String` ends with the second one.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > ends_with("theory", "ory")
-/// True
-/// ```
-///
-pub fn ends_with(string: String, suffix: String) -> Bool {
- do_ends_with(string, suffix)
-}
-
-@external(erlang, "gleam_stdlib", "string_ends_with")
-@external(javascript, "../gleam_stdlib.mjs", "ends_with")
-fn do_ends_with(a: String, b: String) -> Bool
-
-/// Creates a list of `String`s by splitting a given string on a given substring.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > split("home/gleam/desktop/", on: "/")
-/// ["home", "gleam", "desktop", ""]
-/// ```
-///
-pub fn split(x: String, on substring: String) -> List(String) {
- case substring {
- "" -> to_graphemes(x)
- _ ->
- x
- |> string_builder.from_string
- |> string_builder.split(on: substring)
- |> list.map(with: string_builder.to_string)
- }
-}
-
-/// Splits a `String` a single time on the given substring.
-///
-/// Returns an `Error` if substring not present.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > split_once("home/gleam/desktop/", on: "/")
-/// Ok(#("home", "gleam/desktop/"))
-/// ```
-///
-/// ```gleam
-/// > split_once("home/gleam/desktop/", on: "?")
-/// Error(Nil)
-/// ```
-///
-pub fn split_once(
- x: String,
- on substring: String,
-) -> Result(#(String, String), Nil) {
- do_split_once(x, substring)
-}
-
-@target(erlang)
-@external(erlang, "string", "split")
-fn erl_split(a: String, b: String) -> List(String)
-
-@target(erlang)
-fn do_split_once(x: String, substring: String) -> Result(#(String, String), Nil) {
- case erl_split(x, substring) {
- [first, rest] -> Ok(#(first, rest))
- _ -> Error(Nil)
- }
-}
-
-@target(javascript)
-@external(javascript, "../gleam_stdlib.mjs", "split_once")
-fn do_split_once(
- x x: String,
- substring substring: String,
-) -> Result(#(String, String), Nil)
-
-/// Creates a new `String` by joining two `String`s together.
-///
-/// This function copies both `String`s and runs in linear time. If you find
-/// yourself joining `String`s frequently consider using the [`string_builder`](../gleam/string_builder.html)
-/// module as it can append `String`s much faster!
-///
-/// ## Examples
-///
-/// ```gleam
-/// > append(to: "butter", suffix: "fly")
-/// "butterfly"
-/// ```
-///
-pub fn append(to first: String, suffix second: String) -> String {
- first
- |> string_builder.from_string
- |> string_builder.append(second)
- |> string_builder.to_string
-}
-
-/// Creates a new `String` by joining many `String`s together.
-///
-/// This function copies both `String`s and runs in linear time. If you find
-/// yourself joining `String`s frequently consider using the [`string_builder`](../gleam/string_builder.html)
-/// module as it can append `String`s much faster!
-///
-/// ## Examples
-///
-/// ```gleam
-/// > concat(["never", "the", "less"])
-/// "nevertheless"
-/// ```
-///
-pub fn concat(strings: List(String)) -> String {
- strings
- |> string_builder.from_strings
- |> string_builder.to_string
-}
-
-/// Creates a new `String` by repeating a `String` a given number of times.
-///
-/// This function runs in linear time.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > repeat("ha", times: 3)
-/// "hahaha"
-/// ```
-///
-pub fn repeat(string: String, times times: Int) -> String {
- iterator.repeat(string)
- |> iterator.take(times)
- |> iterator.to_list
- |> concat
-}
-
-/// Joins many `String`s together with a given separator.
-///
-/// This function runs in linear time.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > join(["home","evan","Desktop"], with: "/")
-/// "home/evan/Desktop"
-/// ```
-///
-pub fn join(strings: List(String), with separator: String) -> String {
- do_join(strings, separator)
-}
-
-@target(erlang)
-fn do_join(strings: List(String), separator: String) -> String {
- strings
- |> list.intersperse(with: separator)
- |> concat
-}
-
-@target(javascript)
-@external(javascript, "../gleam_stdlib.mjs", "join")
-fn do_join(strings strings: List(String), string string: String) -> String
-
-/// Pads a `String` on the left until it has at least given number of graphemes.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > pad_left("121", to: 5, with: ".")
-/// "..121"
-/// ```
-///
-/// ```gleam
-/// > pad_left("121", to: 3, with: ".")
-/// "121"
-/// ```
-///
-/// ```gleam
-/// > pad_left("121", to: 2, with: ".")
-/// "121"
-/// ```
-///
-pub fn pad_left(string: String, to desired_length: Int, with pad_string: String) {
- let current_length = length(string)
- let to_pad_length = desired_length - current_length
- padding(to_pad_length, pad_string)
- |> iterator.append(iterator.single(string))
- |> iterator.to_list
- |> concat
-}
-
-/// Pads a `String` on the right until it has a given length.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > pad_right("123", to: 5, with: ".")
-/// "123.."
-/// ```
-///
-/// ```gleam
-/// > pad_right("123", to: 3, with: ".")
-/// "123"
-/// ```
-///
-/// ```gleam
-/// > pad_right("123", to: 2, with: ".")
-/// "123"
-/// ```
-///
-pub fn pad_right(
- string: String,
- to desired_length: Int,
- with pad_string: String,
-) {
- let current_length = length(string)
- let to_pad_length = desired_length - current_length
- iterator.single(string)
- |> iterator.append(padding(to_pad_length, pad_string))
- |> iterator.to_list
- |> concat
-}
-
-fn padding(size: Int, pad_string: String) -> Iterator(String) {
- let pad_length = length(pad_string)
- let num_pads = size / pad_length
- let extra = size % pad_length
- iterator.repeat(pad_string)
- |> iterator.take(num_pads)
- |> iterator.append(iterator.single(slice(pad_string, 0, extra)))
-}
-
-/// Removes whitespace on both sides of a `String`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > trim(" hats \n")
-/// "hats"
-/// ```
-///
-pub fn trim(string: String) -> String {
- do_trim(string)
-}
-
-@target(erlang)
-fn do_trim(string: String) -> String {
- erl_trim(string, Both)
-}
-
-@target(erlang)
-type Direction {
- Leading
- Trailing
- Both
-}
-
-@target(erlang)
-@external(erlang, "string", "trim")
-fn erl_trim(a: String, b: Direction) -> String
-
-@target(javascript)
-@external(javascript, "../gleam_stdlib.mjs", "trim")
-fn do_trim(string string: String) -> String
-
-/// Removes whitespace on the left of a `String`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > trim_left(" hats \n")
-/// "hats \n"
-/// ```
-///
-pub fn trim_left(string: String) -> String {
- do_trim_left(string)
-}
-
-@target(erlang)
-fn do_trim_left(string: String) -> String {
- erl_trim(string, Leading)
-}
-
-@target(javascript)
-@external(javascript, "../gleam_stdlib.mjs", "trim_left")
-fn do_trim_left(string string: String) -> String
-
-/// Removes whitespace on the right of a `String`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > trim_right(" hats \n")
-/// " hats"
-/// ```
-///
-pub fn trim_right(string: String) -> String {
- do_trim_right(string)
-}
-
-@target(erlang)
-fn do_trim_right(string: String) -> String {
- erl_trim(string, Trailing)
-}
-
-@target(javascript)
-@external(javascript, "../gleam_stdlib.mjs", "trim_right")
-fn do_trim_right(string string: String) -> String
-
-/// Splits a non-empty `String` into its first element (head) and rest (tail).
-/// This lets you pattern match on `String`s exactly as you would with lists.
-///
-/// Note on JavaScript using the function to iterate over a string will likely
-/// be slower than using `to_graphemes` due to string slicing being more
-/// expensive on JavaScript than Erlang.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > pop_grapheme("gleam")
-/// Ok(#("g", "leam"))
-/// ```
-///
-/// ```gleam
-/// > pop_grapheme("")
-/// Error(Nil)
-/// ```
-///
-pub fn pop_grapheme(string: String) -> Result(#(String, String), Nil) {
- do_pop_grapheme(string)
-}
-
-@external(erlang, "gleam_stdlib", "string_pop_grapheme")
-@external(javascript, "../gleam_stdlib.mjs", "pop_grapheme")
-fn do_pop_grapheme(string string: String) -> Result(#(String, String), Nil)
-
-/// Converts a `String` to a list of
-/// [graphemes](https://en.wikipedia.org/wiki/Grapheme).
-///
-/// ```gleam
-/// > to_graphemes("abc")
-/// ["a", "b", "c"]
-/// ```
-///
-@external(javascript, "../gleam_stdlib.mjs", "graphemes")
-pub fn to_graphemes(string: String) -> List(String) {
- do_to_graphemes(string, [])
- |> list.reverse
-}
-
-fn do_to_graphemes(string: String, acc: List(String)) -> List(String) {
- case pop_grapheme(string) {
- Ok(#(grapheme, rest)) -> do_to_graphemes(rest, [grapheme, ..acc])
- _ -> acc
- }
-}
-
-@external(erlang, "gleam_stdlib", "identity")
-@external(javascript, "../gleam_stdlib.mjs", "codepoint")
-fn unsafe_int_to_utf_codepoint(a: Int) -> UtfCodepoint
-
-/// Converts a `String` to a `List` of `UtfCodepoint`.
-///
-/// See <https://en.wikipedia.org/wiki/Code_point> and
-/// <https://en.wikipedia.org/wiki/Unicode#Codespace_and_Code_Points> for an
-/// explanation on code points.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > "a" |> to_utf_codepoints
-/// [UtfCodepoint(97)]
-/// ```
-///
-/// ```gleam
-/// // Semantically the same as:
-/// // ["🏳", "️", "‍", "🌈"] or:
-/// // [waving_white_flag, variant_selector_16, zero_width_joiner, rainbow]
-/// > "🏳️‍🌈" |> to_utf_codepoints
-/// [UtfCodepoint(127987), UtfCodepoint(65039), UtfCodepoint(8205), UtfCodepoint(127752)]
-/// ```
-///
-pub fn to_utf_codepoints(string: String) -> List(UtfCodepoint) {
- do_to_utf_codepoints(string)
-}
-
-@target(erlang)
-fn do_to_utf_codepoints(string: String) -> List(UtfCodepoint) {
- do_to_utf_codepoints_impl(<<string:utf8>>, [])
- |> list.reverse
-}
-
-@target(erlang)
-fn do_to_utf_codepoints_impl(
- bit_array: BitArray,
- acc: List(UtfCodepoint),
-) -> List(UtfCodepoint) {
- case bit_array {
- <<first:utf8_codepoint, rest:bytes>> ->
- do_to_utf_codepoints_impl(rest, [first, ..acc])
- _ -> acc
- }
-}
-
-@target(javascript)
-fn do_to_utf_codepoints(string: String) -> List(UtfCodepoint) {
- string
- |> string_to_codepoint_integer_list
- |> list.map(unsafe_int_to_utf_codepoint)
-}
-
-@target(javascript)
-@external(javascript, "../gleam_stdlib.mjs", "string_to_codepoint_integer_list")
-fn string_to_codepoint_integer_list(a: String) -> List(Int)
-
-/// Converts a `List` of `UtfCodepoint`s to a `String`.
-///
-/// See <https://en.wikipedia.org/wiki/Code_point> and
-/// <https://en.wikipedia.org/wiki/Unicode#Codespace_and_Code_Points> for an
-/// explanation on code points.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > {
-/// > let assert #(Ok(a), Ok(b), Ok(c)) = #(
-/// > utf_codepoint(97),
-/// > utf_codepoint(98),
-/// > utf_codepoint(99),
-/// > )
-/// > [a, b, c]
-/// > }
-/// > |> from_utf_codepoints
-/// "abc"
-/// ```
-///
-@external(erlang, "gleam_stdlib", "utf_codepoint_list_to_string")
-@external(javascript, "../gleam_stdlib.mjs", "utf_codepoint_list_to_string")
-pub fn from_utf_codepoints(utf_codepoints: List(UtfCodepoint)) -> String
-
-/// Converts an integer to a `UtfCodepoint`.
-///
-/// Returns an `Error` if the integer does not represent a valid UTF codepoint.
-///
-pub fn utf_codepoint(value: Int) -> Result(UtfCodepoint, Nil) {
- case value {
- i if i > 1_114_111 -> Error(Nil)
- 65_534 | 65_535 -> Error(Nil)
- i if i >= 55_296 && i <= 57_343 -> Error(Nil)
- i -> Ok(unsafe_int_to_utf_codepoint(i))
- }
-}
-
-/// Converts an UtfCodepoint to its ordinal code point value.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > let assert [utf_codepoint, ..] = to_utf_codepoints("💜")
-/// > utf_codepoint_to_int(utf_codepoint)
-/// 128156
-/// ```
-///
-pub fn utf_codepoint_to_int(cp: UtfCodepoint) -> Int {
- do_utf_codepoint_to_int(cp)
-}
-
-@external(erlang, "gleam_stdlib", "identity")
-@external(javascript, "../gleam_stdlib.mjs", "utf_codepoint_to_int")
-fn do_utf_codepoint_to_int(cp cp: UtfCodepoint) -> Int
-
-/// Converts a `String` into `Option(String)` where an empty `String` becomes
-/// `None`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > to_option("")
-/// None
-/// ```
-///
-/// ```gleam
-/// > to_option("hats")
-/// Some("hats")
-/// ```
-///
-pub fn to_option(s: String) -> Option(String) {
- case s {
- "" -> None
- _ -> Some(s)
- }
-}
-
-/// Returns the first grapheme cluster in a given `String` and wraps it in a
-/// `Result(String, Nil)`. If the `String` is empty, it returns `Error(Nil)`.
-/// Otherwise, it returns `Ok(String)`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > first("")
-/// Error(Nil)
-/// ```
-///
-/// ```gleam
-/// > first("icecream")
-/// Ok("i")
-/// ```
-///
-pub fn first(s: String) -> Result(String, Nil) {
- case pop_grapheme(s) {
- Ok(#(first, _)) -> Ok(first)
- Error(e) -> Error(e)
- }
-}
-
-/// Returns the last grapheme cluster in a given `String` and wraps it in a
-/// `Result(String, Nil)`. If the `String` is empty, it returns `Error(Nil)`.
-/// Otherwise, it returns `Ok(String)`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > last("")
-/// Error(Nil)
-/// ```
-///
-/// ```gleam
-/// > last("icecream")
-/// Ok("m")
-/// ```
-///
-pub fn last(s: String) -> Result(String, Nil) {
- case pop_grapheme(s) {
- Ok(#(first, "")) -> Ok(first)
- Ok(#(_, rest)) -> Ok(slice(rest, -1, 1))
- Error(e) -> Error(e)
- }
-}
-
-/// Creates a new `String` with the first grapheme in the input `String`
-/// converted to uppercase and the remaining graphemes to lowercase.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > capitalise("mamouna")
-/// "Mamouna"
-/// ```
-///
-pub fn capitalise(s: String) -> String {
- case pop_grapheme(s) {
- Ok(#(first, rest)) -> append(to: uppercase(first), suffix: lowercase(rest))
- _ -> ""
- }
-}
-
-/// Returns a `String` representation of a term in Gleam syntax.
-///
-pub fn inspect(term: anything) -> String {
- do_inspect(term)
- |> string_builder.to_string
-}
-
-@external(erlang, "gleam_stdlib", "inspect")
-@external(javascript, "../gleam_stdlib.mjs", "inspect")
-fn do_inspect(term term: anything) -> StringBuilder
-
-/// Returns the number of bytes in a `String`.
-///
-/// This function runs in constant time on Erlang and in linear time on
-/// JavaScript.
-///
-@external(erlang, "erlang", "byte_size")
-@external(javascript, "../gleam_stdlib.mjs", "byte_size")
-pub fn byte_size(string: String) -> Int
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam/string_builder.gleam b/aoc2023/build/packages/gleam_stdlib/src/gleam/string_builder.gleam
deleted file mode 100644
index 5792ca8..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam/string_builder.gleam
+++ /dev/null
@@ -1,298 +0,0 @@
-import gleam/list
-
-/// `StringBuilder` is a type used for efficiently building strings.
-///
-/// When we append one string to another the strings must be copied to a
-/// new location in memory so that they can sit together. This behaviour
-/// enables efficient reading of the string but copying can be expensive,
-/// especially if we want to join many strings together.
-///
-/// `StringBuilder` is different in that it can be joined together in constant time
-/// using minimal memory, and then can be efficiently converted to a string
-/// using the `to_string` function.
-///
-/// On Erlang this type is compatible with Erlang's iodata. On JavaScript this
-/// type is compatible with normal strings.
-///
-pub type StringBuilder
-
-/// Create an empty `StringBuilder`. Useful as the start of a pipe chaining many
-/// builders together.
-///
-pub fn new() -> StringBuilder {
- do_from_strings([])
-}
-
-/// Prepends a `String` onto the start of some `StringBuilder`.
-///
-/// Runs in constant time.
-///
-pub fn prepend(
- to builder: StringBuilder,
- prefix prefix: String,
-) -> StringBuilder {
- append_builder(from_string(prefix), builder)
-}
-
-/// Appends a `String` onto the end of some `StringBuilder`.
-///
-/// Runs in constant time.
-///
-pub fn append(to builder: StringBuilder, suffix second: String) -> StringBuilder {
- append_builder(builder, from_string(second))
-}
-
-/// Prepends some `StringBuilder` onto the start of another.
-///
-/// Runs in constant time.
-///
-pub fn prepend_builder(
- to builder: StringBuilder,
- prefix prefix: StringBuilder,
-) -> StringBuilder {
- do_append(prefix, builder)
-}
-
-/// Appends some `StringBuilder` onto the end of another.
-///
-/// Runs in constant time.
-///
-pub fn append_builder(
- to builder: StringBuilder,
- suffix suffix: StringBuilder,
-) -> StringBuilder {
- do_append(builder, suffix)
-}
-
-@external(erlang, "gleam_stdlib", "iodata_append")
-@external(javascript, "../gleam_stdlib.mjs", "add")
-fn do_append(a: StringBuilder, b: StringBuilder) -> StringBuilder
-
-/// Converts a list of strings into a builder.
-///
-/// Runs in constant time.
-///
-pub fn from_strings(strings: List(String)) -> StringBuilder {
- do_from_strings(strings)
-}
-
-@external(erlang, "gleam_stdlib", "identity")
-@external(javascript, "../gleam_stdlib.mjs", "concat")
-fn do_from_strings(a: List(String)) -> StringBuilder
-
-/// Joins a list of builders into a single builder.
-///
-/// Runs in constant time.
-///
-pub fn concat(builders: List(StringBuilder)) -> StringBuilder {
- do_concat(builders)
-}
-
-@external(erlang, "gleam_stdlib", "identity")
-@external(javascript, "../gleam_stdlib.mjs", "concat")
-fn do_concat(a: List(StringBuilder)) -> StringBuilder
-
-/// Converts a string into a builder.
-///
-/// Runs in constant time.
-///
-pub fn from_string(string: String) -> StringBuilder {
- do_from_string(string)
-}
-
-@external(erlang, "gleam_stdlib", "identity")
-@external(javascript, "../gleam_stdlib.mjs", "identity")
-fn do_from_string(a: String) -> StringBuilder
-
-/// Turns an `StringBuilder` into a `String`
-///
-/// This function is implemented natively by the virtual machine and is highly
-/// optimised.
-///
-pub fn to_string(builder: StringBuilder) -> String {
- do_to_string(builder)
-}
-
-@external(erlang, "unicode", "characters_to_binary")
-@external(javascript, "../gleam_stdlib.mjs", "identity")
-fn do_to_string(a: StringBuilder) -> String
-
-/// Returns the size of the `StringBuilder` in bytes.
-///
-pub fn byte_size(builder: StringBuilder) -> Int {
- do_byte_size(builder)
-}
-
-@external(erlang, "erlang", "iolist_size")
-@external(javascript, "../gleam_stdlib.mjs", "length")
-fn do_byte_size(a: StringBuilder) -> Int
-
-/// Joins the given builders into a new builder separated with the given string
-///
-pub fn join(builders: List(StringBuilder), with sep: String) -> StringBuilder {
- builders
- |> list.intersperse(from_string(sep))
- |> concat
-}
-
-/// Converts a builder to a new builder where the contents have been
-/// lowercased.
-///
-pub fn lowercase(builder: StringBuilder) -> StringBuilder {
- do_lowercase(builder)
-}
-
-@external(erlang, "string", "lowercase")
-@external(javascript, "../gleam_stdlib.mjs", "lowercase")
-fn do_lowercase(a: StringBuilder) -> StringBuilder
-
-/// Converts a builder to a new builder where the contents have been
-/// uppercased.
-///
-pub fn uppercase(builder: StringBuilder) -> StringBuilder {
- do_uppercase(builder)
-}
-
-@external(erlang, "string", "uppercase")
-@external(javascript, "../gleam_stdlib.mjs", "uppercase")
-fn do_uppercase(a: StringBuilder) -> StringBuilder
-
-/// Converts a builder to a new builder with the contents reversed.
-///
-pub fn reverse(builder: StringBuilder) -> StringBuilder {
- do_reverse(builder)
-}
-
-@target(erlang)
-@external(erlang, "string", "reverse")
-fn do_reverse(a: StringBuilder) -> StringBuilder
-
-@target(javascript)
-fn do_reverse(builder: StringBuilder) -> StringBuilder {
- builder
- |> to_string
- |> do_to_graphemes
- |> list.reverse
- |> from_strings
-}
-
-@target(javascript)
-@external(javascript, "../gleam_stdlib.mjs", "graphemes")
-fn do_to_graphemes(string string: String) -> List(String)
-
-/// Splits a builder on a given pattern into a list of builders.
-///
-pub fn split(iodata: StringBuilder, on pattern: String) -> List(StringBuilder) {
- do_split(iodata, pattern)
-}
-
-@target(erlang)
-type Direction {
- All
-}
-
-@target(erlang)
-@external(erlang, "string", "split")
-fn erl_split(a: StringBuilder, b: String, c: Direction) -> List(StringBuilder)
-
-@target(erlang)
-fn do_split(iodata: StringBuilder, pattern: String) -> List(StringBuilder) {
- erl_split(iodata, pattern, All)
-}
-
-@target(javascript)
-@external(javascript, "../gleam_stdlib.mjs", "split")
-fn do_split(
- builder builder: StringBuilder,
- pattern pattern: String,
-) -> List(StringBuilder)
-
-/// Replaces all instances of a pattern with a given string substitute.
-///
-pub fn replace(
- in builder: StringBuilder,
- each pattern: String,
- with substitute: String,
-) -> StringBuilder {
- do_replace(builder, pattern, substitute)
-}
-
-@target(erlang)
-fn do_replace(
- iodata: StringBuilder,
- pattern: String,
- substitute: String,
-) -> StringBuilder {
- erl_replace(iodata, pattern, substitute, All)
-}
-
-@target(erlang)
-@external(erlang, "string", "replace")
-fn erl_replace(
- a: StringBuilder,
- b: String,
- c: String,
- d: Direction,
-) -> StringBuilder
-
-@target(javascript)
-@external(javascript, "../gleam_stdlib.mjs", "string_replace")
-fn do_replace(a: StringBuilder, b: String, c: String) -> StringBuilder
-
-/// Compares two builders to determine if they have the same textual content.
-///
-/// Comparing two iodata using the `==` operator may return `False` even if they
-/// have the same content as they may have been build in different ways, so
-/// using this function is often preferred.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from_strings(["a", "b"]) == from_string("ab")
-/// False
-/// ```
-///
-/// ```gleam
-/// > is_equal(from_strings(["a", "b"]), from_string("ab"))
-/// True
-/// ```
-///
-pub fn is_equal(a: StringBuilder, b: StringBuilder) -> Bool {
- do_is_equal(a, b)
-}
-
-@external(erlang, "string", "equal")
-@external(javascript, "../gleam_stdlib.mjs", "equal")
-fn do_is_equal(a: StringBuilder, b: StringBuilder) -> Bool
-
-/// Inspects a builder to determine if it is equivalent to an empty string.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > from_string("ok") |> is_empty
-/// False
-/// ```
-///
-/// ```gleam
-/// > from_string("") |> is_empty
-/// True
-/// ```
-///
-/// ```gleam
-/// > from_strings([]) |> is_empty
-/// True
-/// ```
-///
-pub fn is_empty(builder: StringBuilder) -> Bool {
- do_is_empty(builder)
-}
-
-@target(erlang)
-@external(erlang, "string", "is_empty")
-fn do_is_empty(a: StringBuilder) -> Bool
-
-@target(javascript)
-fn do_is_empty(builder: StringBuilder) -> Bool {
- from_string("") == builder
-}
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam/uri.gleam b/aoc2023/build/packages/gleam_stdlib/src/gleam/uri.gleam
deleted file mode 100644
index 11f6ea6..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam/uri.gleam
+++ /dev/null
@@ -1,462 +0,0 @@
-//// Utilities for working with URIs
-////
-//// This module provides functions for working with URIs (for example, parsing
-//// URIs or encoding query strings). The functions in this module are implemented
-//// according to [RFC 3986](https://tools.ietf.org/html/rfc3986).
-////
-//// Query encoding (Form encoding) is defined in the
-//// [W3C specification](https://www.w3.org/TR/html52/sec-forms.html#urlencoded-form-data).
-
-import gleam/int
-import gleam/list
-import gleam/option.{type Option, None, Some}
-import gleam/string
-import gleam/string_builder.{type StringBuilder}
-@target(javascript)
-import gleam/pair
-@target(javascript)
-import gleam/regex
-@target(javascript)
-import gleam/result
-
-/// Type representing holding the parsed components of an URI.
-/// All components of a URI are optional, except the path.
-///
-pub type Uri {
- Uri(
- scheme: Option(String),
- userinfo: Option(String),
- host: Option(String),
- port: Option(Int),
- path: String,
- query: Option(String),
- fragment: Option(String),
- )
-}
-
-/// Parses a compliant URI string into the `Uri` Type.
-/// If the string is not a valid URI string then an error is returned.
-///
-/// The opposite operation is `uri.to_string`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > parse("https://example.com:1234/a/b?query=true#fragment")
-/// Ok(
-/// Uri(
-/// scheme: Some("https"),
-/// userinfo: None,
-/// host: Some("example.com"),
-/// port: Some(1234),
-/// path: "/a/b",
-/// query: Some("query=true"),
-/// fragment: Some("fragment")
-/// )
-/// )
-/// ```
-///
-pub fn parse(uri_string: String) -> Result(Uri, Nil) {
- do_parse(uri_string)
-}
-
-@target(erlang)
-@external(erlang, "gleam_stdlib", "uri_parse")
-fn do_parse(a: String) -> Result(Uri, Nil)
-
-@target(javascript)
-fn do_parse(uri_string: String) -> Result(Uri, Nil) {
- // From https://tools.ietf.org/html/rfc3986#appendix-B
- let pattern =
- // 12 3 4 5 6 7 8
- "^(([a-z][a-z0-9\\+\\-\\.]*):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#.*)?"
- let matches =
- pattern
- |> regex_submatches(uri_string)
- |> pad_list(8)
-
- let #(scheme, authority, path, query, fragment) = case matches {
- [
- _scheme_with_colon,
- scheme,
- authority_with_slashes,
- _authority,
- path,
- query_with_question_mark,
- _query,
- fragment,
- ] -> #(
- scheme,
- authority_with_slashes,
- path,
- query_with_question_mark,
- fragment,
- )
- _ -> #(None, None, None, None, None)
- }
-
- let scheme = noneify_empty_string(scheme)
- let path = option.unwrap(path, "")
- let query = noneify_query(query)
- let #(userinfo, host, port) = split_authority(authority)
- let fragment =
- fragment
- |> option.to_result(Nil)
- |> result.try(string.pop_grapheme)
- |> result.map(pair.second)
- |> option.from_result
- let scheme =
- scheme
- |> noneify_empty_string
- |> option.map(string.lowercase)
- Ok(Uri(
- scheme: scheme,
- userinfo: userinfo,
- host: host,
- port: port,
- path: path,
- query: query,
- fragment: fragment,
- ))
-}
-
-@target(javascript)
-fn regex_submatches(pattern: String, string: String) -> List(Option(String)) {
- pattern
- |> regex.compile(regex.Options(case_insensitive: True, multi_line: False))
- |> result.nil_error
- |> result.map(regex.scan(_, string))
- |> result.try(list.first)
- |> result.map(fn(m: regex.Match) { m.submatches })
- |> result.unwrap([])
-}
-
-@target(javascript)
-fn noneify_query(x: Option(String)) -> Option(String) {
- case x {
- None -> None
- Some(x) ->
- case string.pop_grapheme(x) {
- Ok(#("?", query)) -> Some(query)
- _ -> None
- }
- }
-}
-
-@target(javascript)
-fn noneify_empty_string(x: Option(String)) -> Option(String) {
- case x {
- Some("") | None -> None
- Some(_) -> x
- }
-}
-
-// Split an authority into its userinfo, host and port parts.
-@target(javascript)
-fn split_authority(
- authority: Option(String),
-) -> #(Option(String), Option(String), Option(Int)) {
- case option.unwrap(authority, "") {
- "" -> #(None, None, None)
- "//" -> #(None, Some(""), None)
- authority -> {
- let matches =
- "^(//)?((.*)@)?(\\[[a-zA-Z0-9:.]*\\]|[^:]*)(:(\\d*))?"
- |> regex_submatches(authority)
- |> pad_list(6)
- case matches {
- [_, _, userinfo, host, _, port] -> {
- let userinfo = noneify_empty_string(userinfo)
- let host = noneify_empty_string(host)
- let port =
- port
- |> option.unwrap("")
- |> int.parse
- |> option.from_result
- #(userinfo, host, port)
- }
- _ -> #(None, None, None)
- }
- }
- }
-}
-
-@target(javascript)
-fn pad_list(list: List(Option(a)), size: Int) -> List(Option(a)) {
- list
- |> list.append(list.repeat(None, extra_required(list, size)))
-}
-
-@target(javascript)
-fn extra_required(list: List(a), remaining: Int) -> Int {
- case list {
- _ if remaining == 0 -> 0
- [] -> remaining
- [_, ..xs] -> extra_required(xs, remaining - 1)
- }
-}
-
-/// Parses an urlencoded query string into a list of key value pairs.
-/// Returns an error for invalid encoding.
-///
-/// The opposite operation is `uri.query_to_string`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > parse_query("a=1&b=2")
-/// Ok([#("a", "1"), #("b", "2")])
-/// ```
-///
-pub fn parse_query(query: String) -> Result(List(#(String, String)), Nil) {
- do_parse_query(query)
-}
-
-@external(erlang, "gleam_stdlib", "parse_query")
-@external(javascript, "../gleam_stdlib.mjs", "parse_query")
-fn do_parse_query(a: String) -> Result(List(#(String, String)), Nil)
-
-/// Encodes a list of key value pairs as a URI query string.
-///
-/// The opposite operation is `uri.parse_query`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > query_to_string([#("a", "1"), #("b", "2")])
-/// "a=1&b=2"
-/// ```
-///
-pub fn query_to_string(query: List(#(String, String))) -> String {
- query
- |> list.map(query_pair)
- |> list.intersperse(string_builder.from_string("&"))
- |> string_builder.concat
- |> string_builder.to_string
-}
-
-fn query_pair(pair: #(String, String)) -> StringBuilder {
- string_builder.from_strings([
- percent_encode(pair.0),
- "=",
- percent_encode(pair.1),
- ])
-}
-
-/// Encodes a string into a percent encoded representation.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > percent_encode("100% great")
-/// "100%25%20great"
-/// ```
-///
-pub fn percent_encode(value: String) -> String {
- do_percent_encode(value)
-}
-
-@external(erlang, "gleam_stdlib", "percent_encode")
-@external(javascript, "../gleam_stdlib.mjs", "percent_encode")
-fn do_percent_encode(a: String) -> String
-
-/// Decodes a percent encoded string.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > percent_decode("100%25+great")
-/// Ok("100% great")
-/// ```
-///
-pub fn percent_decode(value: String) -> Result(String, Nil) {
- do_percent_decode(value)
-}
-
-@external(erlang, "gleam_stdlib", "percent_decode")
-@external(javascript, "../gleam_stdlib.mjs", "percent_decode")
-fn do_percent_decode(a: String) -> Result(String, Nil)
-
-fn do_remove_dot_segments(
- input: List(String),
- accumulator: List(String),
-) -> List(String) {
- case input {
- [] -> list.reverse(accumulator)
- [segment, ..rest] -> {
- let accumulator = case segment, accumulator {
- "", accumulator -> accumulator
- ".", accumulator -> accumulator
- "..", [] -> []
- "..", [_, ..accumulator] -> accumulator
- segment, accumulator -> [segment, ..accumulator]
- }
- do_remove_dot_segments(rest, accumulator)
- }
- }
-}
-
-fn remove_dot_segments(input: List(String)) -> List(String) {
- do_remove_dot_segments(input, [])
-}
-
-/// Splits the path section of a URI into it's constituent segments.
-///
-/// Removes empty segments and resolves dot-segments as specified in
-/// [section 5.2](https://www.ietf.org/rfc/rfc3986.html#section-5.2) of the RFC.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > path_segments("/users/1")
-/// ["users" ,"1"]
-/// ```
-///
-pub fn path_segments(path: String) -> List(String) {
- remove_dot_segments(string.split(path, "/"))
-}
-
-/// Encodes a `Uri` value as a URI string.
-///
-/// The opposite operation is `uri.parse`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > let uri = Uri(Some("http"), None, Some("example.com"), ...)
-/// > to_string(uri)
-/// "http://example.com"
-/// ```
-///
-pub fn to_string(uri: Uri) -> String {
- let parts = case uri.fragment {
- Some(fragment) -> ["#", fragment]
- _ -> []
- }
- let parts = case uri.query {
- Some(query) -> ["?", query, ..parts]
- _ -> parts
- }
- let parts = [uri.path, ..parts]
- let parts = case uri.host, string.starts_with(uri.path, "/") {
- Some(host), False if host != "" -> ["/", ..parts]
- _, _ -> parts
- }
- let parts = case uri.host, uri.port {
- Some(_), Some(port) -> [":", int.to_string(port), ..parts]
- _, _ -> parts
- }
- let parts = case uri.scheme, uri.userinfo, uri.host {
- Some(s), Some(u), Some(h) -> [s, "://", u, "@", h, ..parts]
- Some(s), None, Some(h) -> [s, "://", h, ..parts]
- Some(s), Some(_), None | Some(s), None, None -> [s, ":", ..parts]
- None, None, Some(h) -> ["//", h, ..parts]
- _, _, _ -> parts
- }
- string.concat(parts)
-}
-
-/// Fetches the origin of a URI.
-///
-/// Returns the origin of a uri as defined in
-/// [RFC 6454](https://tools.ietf.org/html/rfc6454)
-///
-/// The supported URI schemes are `http` and `https`.
-/// URLs without a scheme will return `Error`.
-///
-/// ## Examples
-///
-/// ```gleam
-/// > let assert Ok(uri) = parse("http://example.com/path?foo#bar")
-/// > origin(uri)
-/// Ok("http://example.com")
-/// ```
-///
-pub fn origin(uri: Uri) -> Result(String, Nil) {
- let Uri(scheme: scheme, host: host, port: port, ..) = uri
- case scheme {
- Some("https") if port == Some(443) -> {
- let origin = Uri(scheme, None, host, None, "", None, None)
- Ok(to_string(origin))
- }
- Some("http") if port == Some(80) -> {
- let origin = Uri(scheme, None, host, None, "", None, None)
- Ok(to_string(origin))
- }
- Some(s) if s == "http" || s == "https" -> {
- let origin = Uri(scheme, None, host, port, "", None, None)
- Ok(to_string(origin))
- }
- _ -> Error(Nil)
- }
-}
-
-fn drop_last(elements: List(a)) -> List(a) {
- list.take(from: elements, up_to: list.length(elements) - 1)
-}
-
-fn join_segments(segments: List(String)) -> String {
- string.join(["", ..segments], "/")
-}
-
-/// Resolves a URI with respect to the given base URI.
-///
-/// The base URI must be an absolute URI or this function will return an error.
-/// The algorithm for merging uris is described in
-/// [RFC 3986](https://tools.ietf.org/html/rfc3986#section-5.2).
-///
-pub fn merge(base: Uri, relative: Uri) -> Result(Uri, Nil) {
- case base {
- Uri(scheme: Some(_), host: Some(_), ..) ->
- case relative {
- Uri(host: Some(_), ..) -> {
- let path =
- string.split(relative.path, "/")
- |> remove_dot_segments()
- |> join_segments()
- let resolved =
- Uri(
- option.or(relative.scheme, base.scheme),
- None,
- relative.host,
- option.or(relative.port, base.port),
- path,
- relative.query,
- relative.fragment,
- )
- Ok(resolved)
- }
- _ -> {
- let #(new_path, new_query) = case relative.path {
- "" -> #(base.path, option.or(relative.query, base.query))
- _ -> {
- let path_segments = case string.starts_with(relative.path, "/") {
- True -> string.split(relative.path, "/")
- False ->
- string.split(base.path, "/")
- |> drop_last()
- |> list.append(string.split(relative.path, "/"))
- }
- let path =
- path_segments
- |> remove_dot_segments()
- |> join_segments()
- #(path, relative.query)
- }
- }
- let resolved =
- Uri(
- base.scheme,
- None,
- base.host,
- base.port,
- new_path,
- new_query,
- relative.fragment,
- )
- Ok(resolved)
- }
- }
- _ -> Error(Nil)
- }
-}
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam@base.erl b/aoc2023/build/packages/gleam_stdlib/src/gleam@base.erl
deleted file mode 100644
index 65bc3f6..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam@base.erl
+++ /dev/null
@@ -1,20 +0,0 @@
--module(gleam@base).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([encode64/2, decode64/1, url_encode64/2, url_decode64/1]).
-
--spec encode64(bitstring(), boolean()) -> binary().
-encode64(Input, Padding) ->
- gleam@bit_array:base64_encode(Input, Padding).
-
--spec decode64(binary()) -> {ok, bitstring()} | {error, nil}.
-decode64(Encoded) ->
- gleam@bit_array:base64_decode(Encoded).
-
--spec url_encode64(bitstring(), boolean()) -> binary().
-url_encode64(Input, Padding) ->
- gleam@bit_array:base64_url_encode(Input, Padding).
-
--spec url_decode64(binary()) -> {ok, bitstring()} | {error, nil}.
-url_decode64(Encoded) ->
- gleam@bit_array:base64_url_decode(Encoded).
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam@bit_array.erl b/aoc2023/build/packages/gleam_stdlib/src/gleam@bit_array.erl
deleted file mode 100644
index ba18dfa..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam@bit_array.erl
+++ /dev/null
@@ -1,102 +0,0 @@
--module(gleam@bit_array).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([from_string/1, byte_size/1, slice/3, is_utf8/1, to_string/1, concat/1, append/2, base64_encode/2, base64_decode/1, base64_url_encode/2, base64_url_decode/1, base16_encode/1, base16_decode/1]).
-
--spec from_string(binary()) -> bitstring().
-from_string(X) ->
- gleam_stdlib:identity(X).
-
--spec byte_size(bitstring()) -> integer().
-byte_size(X) ->
- erlang:byte_size(X).
-
--spec slice(bitstring(), integer(), integer()) -> {ok, bitstring()} |
- {error, nil}.
-slice(String, Position, Length) ->
- gleam_stdlib:bit_array_slice(String, Position, Length).
-
--spec do_is_utf8(bitstring()) -> boolean().
-do_is_utf8(Bits) ->
- case Bits of
- <<>> ->
- true;
-
- <<_/utf8, Rest/binary>> ->
- do_is_utf8(Rest);
-
- _ ->
- false
- end.
-
--spec is_utf8(bitstring()) -> boolean().
-is_utf8(Bits) ->
- do_is_utf8(Bits).
-
--spec do_to_string(bitstring()) -> {ok, binary()} | {error, nil}.
-do_to_string(Bits) ->
- case is_utf8(Bits) of
- true ->
- {ok, gleam_stdlib:identity(Bits)};
-
- false ->
- {error, nil}
- end.
-
--spec to_string(bitstring()) -> {ok, binary()} | {error, nil}.
-to_string(Bits) ->
- do_to_string(Bits).
-
--spec concat(list(bitstring())) -> bitstring().
-concat(Bit_arrays) ->
- gleam_stdlib:bit_array_concat(Bit_arrays).
-
--spec append(bitstring(), bitstring()) -> bitstring().
-append(First, Second) ->
- gleam_stdlib:bit_array_concat([First, Second]).
-
--spec base64_encode(bitstring(), boolean()) -> binary().
-base64_encode(Input, Padding) ->
- Encoded = base64:encode(Input),
- case Padding of
- true ->
- Encoded;
-
- false ->
- gleam@string:replace(Encoded, <<"="/utf8>>, <<""/utf8>>)
- end.
-
--spec base64_decode(binary()) -> {ok, bitstring()} | {error, nil}.
-base64_decode(Encoded) ->
- Padded = case erlang:byte_size(gleam_stdlib:identity(Encoded)) rem 4 of
- 0 ->
- Encoded;
-
- N ->
- gleam@string:append(
- Encoded,
- gleam@string:repeat(<<"="/utf8>>, 4 - N)
- )
- end,
- gleam_stdlib:base_decode64(Padded).
-
--spec base64_url_encode(bitstring(), boolean()) -> binary().
-base64_url_encode(Input, Padding) ->
- _pipe = base64_encode(Input, Padding),
- _pipe@1 = gleam@string:replace(_pipe, <<"+"/utf8>>, <<"-"/utf8>>),
- gleam@string:replace(_pipe@1, <<"/"/utf8>>, <<"_"/utf8>>).
-
--spec base64_url_decode(binary()) -> {ok, bitstring()} | {error, nil}.
-base64_url_decode(Encoded) ->
- _pipe = Encoded,
- _pipe@1 = gleam@string:replace(_pipe, <<"-"/utf8>>, <<"+"/utf8>>),
- _pipe@2 = gleam@string:replace(_pipe@1, <<"_"/utf8>>, <<"/"/utf8>>),
- base64_decode(_pipe@2).
-
--spec base16_encode(bitstring()) -> binary().
-base16_encode(Input) ->
- binary:encode_hex(Input).
-
--spec base16_decode(binary()) -> {ok, bitstring()} | {error, nil}.
-base16_decode(Input) ->
- gleam_stdlib:base16_decode(Input).
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam@bit_builder.erl b/aoc2023/build/packages/gleam_stdlib/src/gleam@bit_builder.erl
deleted file mode 100644
index 284c6d4..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam@bit_builder.erl
+++ /dev/null
@@ -1,66 +0,0 @@
--module(gleam@bit_builder).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([new/0, prepend/2, append/2, prepend_builder/2, append_builder/2, prepend_string/2, append_string/2, concat/1, concat_bit_strings/1, from_string/1, from_string_builder/1, from_bit_string/1, to_bit_string/1, byte_size/1]).
-
--spec new() -> gleam@bytes_builder:bytes_builder().
-new() ->
- gleam@bytes_builder:new().
-
--spec prepend(gleam@bytes_builder:bytes_builder(), bitstring()) -> gleam@bytes_builder:bytes_builder().
-prepend(To, Prefix) ->
- gleam@bytes_builder:prepend(To, Prefix).
-
--spec append(gleam@bytes_builder:bytes_builder(), bitstring()) -> gleam@bytes_builder:bytes_builder().
-append(To, Suffix) ->
- gleam@bytes_builder:append(To, Suffix).
-
--spec prepend_builder(
- gleam@bytes_builder:bytes_builder(),
- gleam@bytes_builder:bytes_builder()
-) -> gleam@bytes_builder:bytes_builder().
-prepend_builder(To, Prefix) ->
- gleam@bytes_builder:prepend_builder(To, Prefix).
-
--spec append_builder(
- gleam@bytes_builder:bytes_builder(),
- gleam@bytes_builder:bytes_builder()
-) -> gleam@bytes_builder:bytes_builder().
-append_builder(First, Second) ->
- gleam_stdlib:iodata_append(First, Second).
-
--spec prepend_string(gleam@bytes_builder:bytes_builder(), binary()) -> gleam@bytes_builder:bytes_builder().
-prepend_string(To, Prefix) ->
- gleam@bytes_builder:prepend_string(To, Prefix).
-
--spec append_string(gleam@bytes_builder:bytes_builder(), binary()) -> gleam@bytes_builder:bytes_builder().
-append_string(To, Suffix) ->
- gleam@bytes_builder:append_string(To, Suffix).
-
--spec concat(list(gleam@bytes_builder:bytes_builder())) -> gleam@bytes_builder:bytes_builder().
-concat(Builders) ->
- gleam_stdlib:identity(Builders).
-
--spec concat_bit_strings(list(bitstring())) -> gleam@bytes_builder:bytes_builder().
-concat_bit_strings(Bits) ->
- gleam_stdlib:identity(Bits).
-
--spec from_string(binary()) -> gleam@bytes_builder:bytes_builder().
-from_string(String) ->
- gleam_stdlib:wrap_list(String).
-
--spec from_string_builder(gleam@string_builder:string_builder()) -> gleam@bytes_builder:bytes_builder().
-from_string_builder(Builder) ->
- gleam_stdlib:wrap_list(Builder).
-
--spec from_bit_string(bitstring()) -> gleam@bytes_builder:bytes_builder().
-from_bit_string(Bits) ->
- gleam_stdlib:wrap_list(Bits).
-
--spec to_bit_string(gleam@bytes_builder:bytes_builder()) -> bitstring().
-to_bit_string(Builder) ->
- erlang:list_to_bitstring(Builder).
-
--spec byte_size(gleam@bytes_builder:bytes_builder()) -> integer().
-byte_size(Builder) ->
- erlang:iolist_size(Builder).
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam@bit_string.erl b/aoc2023/build/packages/gleam_stdlib/src/gleam@bit_string.erl
deleted file mode 100644
index 7dabaa3..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam@bit_string.erl
+++ /dev/null
@@ -1,33 +0,0 @@
--module(gleam@bit_string).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([from_string/1, byte_size/1, append/2, slice/3, is_utf8/1, to_string/1, concat/1]).
-
--spec from_string(binary()) -> bitstring().
-from_string(X) ->
- gleam_stdlib:identity(X).
-
--spec byte_size(bitstring()) -> integer().
-byte_size(X) ->
- erlang:byte_size(X).
-
--spec append(bitstring(), bitstring()) -> bitstring().
-append(First, Second) ->
- gleam@bit_array:append(First, Second).
-
--spec slice(bitstring(), integer(), integer()) -> {ok, bitstring()} |
- {error, nil}.
-slice(String, Position, Length) ->
- gleam_stdlib:bit_array_slice(String, Position, Length).
-
--spec is_utf8(bitstring()) -> boolean().
-is_utf8(Bits) ->
- gleam@bit_array:is_utf8(Bits).
-
--spec to_string(bitstring()) -> {ok, binary()} | {error, nil}.
-to_string(Bits) ->
- gleam@bit_array:to_string(Bits).
-
--spec concat(list(bitstring())) -> bitstring().
-concat(Bit_strings) ->
- gleam_stdlib:bit_array_concat(Bit_strings).
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam@bool.erl b/aoc2023/build/packages/gleam_stdlib/src/gleam@bool.erl
deleted file mode 100644
index cd55358..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam@bool.erl
+++ /dev/null
@@ -1,162 +0,0 @@
--module(gleam@bool).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export(['and'/2, 'or'/2, negate/1, nor/2, nand/2, exclusive_or/2, exclusive_nor/2, compare/2, max/2, min/2, to_int/1, to_string/1, guard/3, lazy_guard/3]).
-
--spec 'and'(boolean(), boolean()) -> boolean().
-'and'(A, B) ->
- A andalso B.
-
--spec 'or'(boolean(), boolean()) -> boolean().
-'or'(A, B) ->
- A orelse B.
-
--spec negate(boolean()) -> boolean().
-negate(Bool) ->
- case Bool of
- true ->
- false;
-
- false ->
- true
- end.
-
--spec nor(boolean(), boolean()) -> boolean().
-nor(A, B) ->
- case {A, B} of
- {false, false} ->
- true;
-
- {false, true} ->
- false;
-
- {true, false} ->
- false;
-
- {true, true} ->
- false
- end.
-
--spec nand(boolean(), boolean()) -> boolean().
-nand(A, B) ->
- case {A, B} of
- {false, false} ->
- true;
-
- {false, true} ->
- true;
-
- {true, false} ->
- true;
-
- {true, true} ->
- false
- end.
-
--spec exclusive_or(boolean(), boolean()) -> boolean().
-exclusive_or(A, B) ->
- case {A, B} of
- {false, false} ->
- false;
-
- {false, true} ->
- true;
-
- {true, false} ->
- true;
-
- {true, true} ->
- false
- end.
-
--spec exclusive_nor(boolean(), boolean()) -> boolean().
-exclusive_nor(A, B) ->
- case {A, B} of
- {false, false} ->
- true;
-
- {false, true} ->
- false;
-
- {true, false} ->
- false;
-
- {true, true} ->
- true
- end.
-
--spec compare(boolean(), boolean()) -> gleam@order:order().
-compare(A, B) ->
- case {A, B} of
- {true, true} ->
- eq;
-
- {true, false} ->
- gt;
-
- {false, false} ->
- eq;
-
- {false, true} ->
- lt
- end.
-
--spec max(boolean(), boolean()) -> boolean().
-max(A, B) ->
- case A of
- true ->
- true;
-
- false ->
- B
- end.
-
--spec min(boolean(), boolean()) -> boolean().
-min(A, B) ->
- case A of
- false ->
- false;
-
- true ->
- B
- end.
-
--spec to_int(boolean()) -> integer().
-to_int(Bool) ->
- case Bool of
- false ->
- 0;
-
- true ->
- 1
- end.
-
--spec to_string(boolean()) -> binary().
-to_string(Bool) ->
- case Bool of
- false ->
- <<"False"/utf8>>;
-
- true ->
- <<"True"/utf8>>
- end.
-
--spec guard(boolean(), DDZ, fun(() -> DDZ)) -> DDZ.
-guard(Requirement, Consequence, Alternative) ->
- case Requirement of
- true ->
- Consequence;
-
- false ->
- Alternative()
- end.
-
--spec lazy_guard(boolean(), fun(() -> DEA), fun(() -> DEA)) -> DEA.
-lazy_guard(Requirement, Consequence, Alternative) ->
- case Requirement of
- true ->
- Consequence();
-
- false ->
- Alternative()
- end.
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam@bytes_builder.erl b/aoc2023/build/packages/gleam_stdlib/src/gleam@bytes_builder.erl
deleted file mode 100644
index 2f6dd93..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam@bytes_builder.erl
+++ /dev/null
@@ -1,87 +0,0 @@
--module(gleam@bytes_builder).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([append_builder/2, prepend_builder/2, concat/1, new/0, from_string/1, prepend_string/2, append_string/2, from_string_builder/1, from_bit_array/1, prepend/2, append/2, concat_bit_arrays/1, to_bit_array/1, byte_size/1]).
--export_type([bytes_builder/0]).
-
--opaque bytes_builder() :: {bytes, bitstring()} |
- {text, gleam@string_builder:string_builder()} |
- {many, list(bytes_builder())}.
-
--spec append_builder(bytes_builder(), bytes_builder()) -> bytes_builder().
-append_builder(First, Second) ->
- gleam_stdlib:iodata_append(First, Second).
-
--spec prepend_builder(bytes_builder(), bytes_builder()) -> bytes_builder().
-prepend_builder(Second, First) ->
- gleam_stdlib:iodata_append(First, Second).
-
--spec concat(list(bytes_builder())) -> bytes_builder().
-concat(Builders) ->
- gleam_stdlib:identity(Builders).
-
--spec new() -> bytes_builder().
-new() ->
- gleam_stdlib:identity([]).
-
--spec from_string(binary()) -> bytes_builder().
-from_string(String) ->
- gleam_stdlib:wrap_list(String).
-
--spec prepend_string(bytes_builder(), binary()) -> bytes_builder().
-prepend_string(Second, First) ->
- gleam_stdlib:iodata_append(gleam_stdlib:wrap_list(First), Second).
-
--spec append_string(bytes_builder(), binary()) -> bytes_builder().
-append_string(First, Second) ->
- gleam_stdlib:iodata_append(First, gleam_stdlib:wrap_list(Second)).
-
--spec from_string_builder(gleam@string_builder:string_builder()) -> bytes_builder().
-from_string_builder(Builder) ->
- gleam_stdlib:wrap_list(Builder).
-
--spec from_bit_array(bitstring()) -> bytes_builder().
-from_bit_array(Bits) ->
- gleam_stdlib:wrap_list(Bits).
-
--spec prepend(bytes_builder(), bitstring()) -> bytes_builder().
-prepend(Second, First) ->
- gleam_stdlib:iodata_append(gleam_stdlib:wrap_list(First), Second).
-
--spec append(bytes_builder(), bitstring()) -> bytes_builder().
-append(First, Second) ->
- gleam_stdlib:iodata_append(First, gleam_stdlib:wrap_list(Second)).
-
--spec concat_bit_arrays(list(bitstring())) -> bytes_builder().
-concat_bit_arrays(Bits) ->
- gleam_stdlib:identity(Bits).
-
--spec to_list(list(list(bytes_builder())), list(bitstring())) -> list(bitstring()).
-to_list(Stack, Acc) ->
- case Stack of
- [] ->
- Acc;
-
- [[] | Remaining_stack] ->
- to_list(Remaining_stack, Acc);
-
- [[{bytes, Bits} | Rest] | Remaining_stack@1] ->
- to_list([Rest | Remaining_stack@1], [Bits | Acc]);
-
- [[{text, Builder} | Rest@1] | Remaining_stack@2] ->
- Bits@1 = gleam_stdlib:identity(
- gleam@string_builder:to_string(Builder)
- ),
- to_list([Rest@1 | Remaining_stack@2], [Bits@1 | Acc]);
-
- [[{many, Builders} | Rest@2] | Remaining_stack@3] ->
- to_list([Builders, Rest@2 | Remaining_stack@3], Acc)
- end.
-
--spec to_bit_array(bytes_builder()) -> bitstring().
-to_bit_array(Builder) ->
- erlang:list_to_bitstring(Builder).
-
--spec byte_size(bytes_builder()) -> integer().
-byte_size(Builder) ->
- erlang:iolist_size(Builder).
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam@dict.erl b/aoc2023/build/packages/gleam_stdlib/src/gleam@dict.erl
deleted file mode 100644
index 44b89ea..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam@dict.erl
+++ /dev/null
@@ -1,97 +0,0 @@
--module(gleam@dict).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([size/1, to_list/1, from_list/1, has_key/2, new/0, get/2, insert/3, map_values/2, keys/1, values/1, filter/2, take/2, merge/2, delete/2, drop/2, update/3, fold/3]).
--export_type([dict/2]).
-
--type dict(KS, KT) :: any() | {gleam_phantom, KS, KT}.
-
--spec size(dict(any(), any())) -> integer().
-size(Dict) ->
- maps:size(Dict).
-
--spec to_list(dict(LC, LD)) -> list({LC, LD}).
-to_list(Dict) ->
- maps:to_list(Dict).
-
--spec from_list(list({LM, LN})) -> dict(LM, LN).
-from_list(List) ->
- maps:from_list(List).
-
--spec has_key(dict(LW, any()), LW) -> boolean().
-has_key(Dict, Key) ->
- maps:is_key(Key, Dict).
-
--spec new() -> dict(any(), any()).
-new() ->
- maps:new().
-
--spec get(dict(MM, MN), MM) -> {ok, MN} | {error, nil}.
-get(From, Get) ->
- gleam_stdlib:map_get(From, Get).
-
--spec insert(dict(MY, MZ), MY, MZ) -> dict(MY, MZ).
-insert(Dict, Key, Value) ->
- maps:put(Key, Value, Dict).
-
--spec map_values(dict(NK, NL), fun((NK, NL) -> NO)) -> dict(NK, NO).
-map_values(Dict, Fun) ->
- maps:map(Fun, Dict).
-
--spec keys(dict(NY, any())) -> list(NY).
-keys(Dict) ->
- maps:keys(Dict).
-
--spec values(dict(any(), OJ)) -> list(OJ).
-values(Dict) ->
- maps:values(Dict).
-
--spec filter(dict(OS, OT), fun((OS, OT) -> boolean())) -> dict(OS, OT).
-filter(Dict, Predicate) ->
- maps:filter(Predicate, Dict).
-
--spec take(dict(PE, PF), list(PE)) -> dict(PE, PF).
-take(Dict, Desired_keys) ->
- maps:with(Desired_keys, Dict).
-
--spec merge(dict(PS, PT), dict(PS, PT)) -> dict(PS, PT).
-merge(Dict, New_entries) ->
- maps:merge(Dict, New_entries).
-
--spec delete(dict(QI, QJ), QI) -> dict(QI, QJ).
-delete(Dict, Key) ->
- maps:remove(Key, Dict).
-
--spec drop(dict(QU, QV), list(QU)) -> dict(QU, QV).
-drop(Dict, Disallowed_keys) ->
- case Disallowed_keys of
- [] ->
- Dict;
-
- [X | Xs] ->
- drop(delete(Dict, X), Xs)
- end.
-
--spec update(dict(RB, RC), RB, fun((gleam@option:option(RC)) -> RC)) -> dict(RB, RC).
-update(Dict, Key, Fun) ->
- _pipe = Dict,
- _pipe@1 = get(_pipe, Key),
- _pipe@2 = gleam@option:from_result(_pipe@1),
- _pipe@3 = Fun(_pipe@2),
- insert(Dict, Key, _pipe@3).
-
--spec do_fold(list({RI, RJ}), RL, fun((RL, RI, RJ) -> RL)) -> RL.
-do_fold(List, Initial, Fun) ->
- case List of
- [] ->
- Initial;
-
- [{K, V} | Rest] ->
- do_fold(Rest, Fun(Initial, K, V), Fun)
- end.
-
--spec fold(dict(RM, RN), RQ, fun((RQ, RM, RN) -> RQ)) -> RQ.
-fold(Dict, Initial, Fun) ->
- _pipe = Dict,
- _pipe@1 = to_list(_pipe),
- do_fold(_pipe@1, Initial, Fun).
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam@dynamic.erl b/aoc2023/build/packages/gleam_stdlib/src/gleam@dynamic.erl
deleted file mode 100644
index 38f4b4e..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam@dynamic.erl
+++ /dev/null
@@ -1,808 +0,0 @@
--module(gleam@dynamic).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([from/1, unsafe_coerce/1, dynamic/1, bit_array/1, bit_string/1, classify/1, int/1, float/1, bool/1, shallow_list/1, optional/1, any/1, decode1/2, result/2, list/1, string/1, field/2, optional_field/2, element/2, tuple2/2, tuple3/3, tuple4/4, tuple5/5, tuple6/6, dict/2, map/2, decode2/3, decode3/4, decode4/5, decode5/6, decode6/7, decode7/8, decode8/9, decode9/10]).
--export_type([dynamic_/0, decode_error/0, unknown_tuple/0]).
-
--type dynamic_() :: any().
-
--type decode_error() :: {decode_error, binary(), binary(), list(binary())}.
-
--type unknown_tuple() :: any().
-
--spec from(any()) -> dynamic_().
-from(A) ->
- gleam_stdlib:identity(A).
-
--spec unsafe_coerce(dynamic_()) -> any().
-unsafe_coerce(A) ->
- gleam_stdlib:identity(A).
-
--spec dynamic(dynamic_()) -> {ok, dynamic_()} | {error, list(decode_error())}.
-dynamic(Value) ->
- {ok, Value}.
-
--spec bit_array(dynamic_()) -> {ok, bitstring()} | {error, list(decode_error())}.
-bit_array(Data) ->
- gleam_stdlib:decode_bit_array(Data).
-
--spec bit_string(dynamic_()) -> {ok, bitstring()} |
- {error, list(decode_error())}.
-bit_string(Data) ->
- bit_array(Data).
-
--spec put_expected(decode_error(), binary()) -> decode_error().
-put_expected(Error, Expected) ->
- erlang:setelement(2, Error, Expected).
-
--spec classify(dynamic_()) -> binary().
-classify(Data) ->
- gleam_stdlib:classify_dynamic(Data).
-
--spec int(dynamic_()) -> {ok, integer()} | {error, list(decode_error())}.
-int(Data) ->
- gleam_stdlib:decode_int(Data).
-
--spec float(dynamic_()) -> {ok, float()} | {error, list(decode_error())}.
-float(Data) ->
- gleam_stdlib:decode_float(Data).
-
--spec bool(dynamic_()) -> {ok, boolean()} | {error, list(decode_error())}.
-bool(Data) ->
- gleam_stdlib:decode_bool(Data).
-
--spec shallow_list(dynamic_()) -> {ok, list(dynamic_())} |
- {error, list(decode_error())}.
-shallow_list(Value) ->
- gleam_stdlib:decode_list(Value).
-
--spec optional(fun((dynamic_()) -> {ok, DZX} | {error, list(decode_error())})) -> fun((dynamic_()) -> {ok,
- gleam@option:option(DZX)} |
- {error, list(decode_error())}).
-optional(Decode) ->
- fun(Value) -> gleam_stdlib:decode_option(Value, Decode) end.
-
--spec at_least_decode_tuple_error(integer(), dynamic_()) -> {ok, any()} |
- {error, list(decode_error())}.
-at_least_decode_tuple_error(Size, Data) ->
- S = case Size of
- 1 ->
- <<""/utf8>>;
-
- _ ->
- <<"s"/utf8>>
- end,
- Error = begin
- _pipe = [<<"Tuple of at least "/utf8>>,
- gleam@int:to_string(Size),
- <<" element"/utf8>>,
- S],
- _pipe@1 = gleam@string_builder:from_strings(_pipe),
- _pipe@2 = gleam@string_builder:to_string(_pipe@1),
- {decode_error, _pipe@2, classify(Data), []}
- end,
- {error, [Error]}.
-
--spec any(list(fun((dynamic_()) -> {ok, EEE} | {error, list(decode_error())}))) -> fun((dynamic_()) -> {ok,
- EEE} |
- {error, list(decode_error())}).
-any(Decoders) ->
- fun(Data) -> case Decoders of
- [] ->
- {error,
- [{decode_error, <<"another type"/utf8>>, classify(Data), []}]};
-
- [Decoder | Decoders@1] ->
- case Decoder(Data) of
- {ok, Decoded} ->
- {ok, Decoded};
-
- {error, _} ->
- (any(Decoders@1))(Data)
- end
- end end.
-
--spec all_errors({ok, any()} | {error, list(decode_error())}) -> list(decode_error()).
-all_errors(Result) ->
- case Result of
- {ok, _} ->
- [];
-
- {error, Errors} ->
- Errors
- end.
-
--spec decode1(
- fun((EEI) -> EEJ),
- fun((dynamic_()) -> {ok, EEI} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, EEJ} | {error, list(decode_error())}).
-decode1(Constructor, T1) ->
- fun(Value) -> case T1(Value) of
- {ok, A} ->
- {ok, Constructor(A)};
-
- A@1 ->
- {error, all_errors(A@1)}
- end end.
-
--spec push_path(decode_error(), any()) -> decode_error().
-push_path(Error, Name) ->
- Name@1 = from(Name),
- Decoder = any(
- [fun string/1,
- fun(X) -> gleam@result:map(int(X), fun gleam@int:to_string/1) end]
- ),
- Name@3 = case Decoder(Name@1) of
- {ok, Name@2} ->
- Name@2;
-
- {error, _} ->
- _pipe = [<<"<"/utf8>>, classify(Name@1), <<">"/utf8>>],
- _pipe@1 = gleam@string_builder:from_strings(_pipe),
- gleam@string_builder:to_string(_pipe@1)
- end,
- erlang:setelement(4, Error, [Name@3 | erlang:element(4, Error)]).
-
--spec result(
- fun((dynamic_()) -> {ok, DZL} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, DZN} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, {ok, DZL} | {error, DZN}} |
- {error, list(decode_error())}).
-result(Decode_ok, Decode_error) ->
- fun(Value) ->
- gleam@result:'try'(
- gleam_stdlib:decode_result(Value),
- fun(Inner_result) -> case Inner_result of
- {ok, Raw} ->
- gleam@result:'try'(
- begin
- _pipe = Decode_ok(Raw),
- map_errors(
- _pipe,
- fun(_capture) ->
- push_path(_capture, <<"ok"/utf8>>)
- end
- )
- end,
- fun(Value@1) -> {ok, {ok, Value@1}} end
- );
-
- {error, Raw@1} ->
- gleam@result:'try'(
- begin
- _pipe@1 = Decode_error(Raw@1),
- map_errors(
- _pipe@1,
- fun(_capture@1) ->
- push_path(_capture@1, <<"error"/utf8>>)
- end
- )
- end,
- fun(Value@2) -> {ok, {error, Value@2}} end
- )
- end end
- )
- end.
-
--spec list(fun((dynamic_()) -> {ok, DZS} | {error, list(decode_error())})) -> fun((dynamic_()) -> {ok,
- list(DZS)} |
- {error, list(decode_error())}).
-list(Decoder_type) ->
- fun(Dynamic) ->
- gleam@result:'try'(shallow_list(Dynamic), fun(List) -> _pipe = List,
- _pipe@1 = gleam@list:try_map(_pipe, Decoder_type),
- map_errors(
- _pipe@1,
- fun(_capture) -> push_path(_capture, <<"*"/utf8>>) end
- ) end)
- end.
-
--spec map_errors(
- {ok, DYG} | {error, list(decode_error())},
- fun((decode_error()) -> decode_error())
-) -> {ok, DYG} | {error, list(decode_error())}.
-map_errors(Result, F) ->
- gleam@result:map_error(
- Result,
- fun(_capture) -> gleam@list:map(_capture, F) end
- ).
-
--spec decode_string(dynamic_()) -> {ok, binary()} |
- {error, list(decode_error())}.
-decode_string(Data) ->
- _pipe = bit_array(Data),
- _pipe@1 = map_errors(
- _pipe,
- fun(_capture) -> put_expected(_capture, <<"String"/utf8>>) end
- ),
- gleam@result:'try'(
- _pipe@1,
- fun(Raw) -> case gleam@bit_array:to_string(Raw) of
- {ok, String} ->
- {ok, String};
-
- {error, nil} ->
- {error,
- [{decode_error,
- <<"String"/utf8>>,
- <<"BitArray"/utf8>>,
- []}]}
- end end
- ).
-
--spec string(dynamic_()) -> {ok, binary()} | {error, list(decode_error())}.
-string(Data) ->
- decode_string(Data).
-
--spec field(
- any(),
- fun((dynamic_()) -> {ok, EAH} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, EAH} | {error, list(decode_error())}).
-field(Name, Inner_type) ->
- fun(Value) ->
- Missing_field_error = {decode_error,
- <<"field"/utf8>>,
- <<"nothing"/utf8>>,
- []},
- gleam@result:'try'(
- gleam_stdlib:decode_field(Value, Name),
- fun(Maybe_inner) -> _pipe = Maybe_inner,
- _pipe@1 = gleam@option:to_result(_pipe, [Missing_field_error]),
- _pipe@2 = gleam@result:'try'(_pipe@1, Inner_type),
- map_errors(
- _pipe@2,
- fun(_capture) -> push_path(_capture, Name) end
- ) end
- )
- end.
-
--spec optional_field(
- any(),
- fun((dynamic_()) -> {ok, EAL} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, gleam@option:option(EAL)} |
- {error, list(decode_error())}).
-optional_field(Name, Inner_type) ->
- fun(Value) ->
- gleam@result:'try'(
- gleam_stdlib:decode_field(Value, Name),
- fun(Maybe_inner) -> case Maybe_inner of
- none ->
- {ok, none};
-
- {some, Dynamic_inner} ->
- _pipe = Dynamic_inner,
- _pipe@1 = gleam_stdlib:decode_option(_pipe, Inner_type),
- map_errors(
- _pipe@1,
- fun(_capture) -> push_path(_capture, Name) end
- )
- end end
- )
- end.
-
--spec element(
- integer(),
- fun((dynamic_()) -> {ok, EAT} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, EAT} | {error, list(decode_error())}).
-element(Index, Inner_type) ->
- fun(Data) ->
- gleam@result:'try'(
- gleam_stdlib:decode_tuple(Data),
- fun(Tuple) ->
- Size = gleam_stdlib:size_of_tuple(Tuple),
- gleam@result:'try'(case Index >= 0 of
- true ->
- case Index < Size of
- true ->
- gleam_stdlib:tuple_get(Tuple, Index);
-
- false ->
- at_least_decode_tuple_error(Index + 1, Data)
- end;
-
- false ->
- case gleam@int:absolute_value(Index) =< Size of
- true ->
- gleam_stdlib:tuple_get(Tuple, Size + Index);
-
- false ->
- at_least_decode_tuple_error(
- gleam@int:absolute_value(Index),
- Data
- )
- end
- end, fun(Data@1) -> _pipe = Inner_type(Data@1),
- map_errors(
- _pipe,
- fun(_capture) -> push_path(_capture, Index) end
- ) end)
- end
- )
- end.
-
--spec tuple_errors({ok, any()} | {error, list(decode_error())}, binary()) -> list(decode_error()).
-tuple_errors(Result, Name) ->
- case Result of
- {ok, _} ->
- [];
-
- {error, Errors} ->
- gleam@list:map(
- Errors,
- fun(_capture) -> push_path(_capture, Name) end
- )
- end.
-
--spec tuple2(
- fun((dynamic_()) -> {ok, EBT} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EBV} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, {EBT, EBV}} | {error, list(decode_error())}).
-tuple2(Decode1, Decode2) ->
- fun(Value) ->
- gleam@result:'try'(
- gleam_stdlib:decode_tuple2(Value),
- fun(_use0) ->
- {A, B} = _use0,
- case {Decode1(A), Decode2(B)} of
- {{ok, A@1}, {ok, B@1}} ->
- {ok, {A@1, B@1}};
-
- {A@2, B@2} ->
- _pipe = tuple_errors(A@2, <<"0"/utf8>>),
- _pipe@1 = gleam@list:append(
- _pipe,
- tuple_errors(B@2, <<"1"/utf8>>)
- ),
- {error, _pipe@1}
- end
- end
- )
- end.
-
--spec tuple3(
- fun((dynamic_()) -> {ok, EBY} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, ECA} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, ECC} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, {EBY, ECA, ECC}} | {error, list(decode_error())}).
-tuple3(Decode1, Decode2, Decode3) ->
- fun(Value) ->
- gleam@result:'try'(
- gleam_stdlib:decode_tuple3(Value),
- fun(_use0) ->
- {A, B, C} = _use0,
- case {Decode1(A), Decode2(B), Decode3(C)} of
- {{ok, A@1}, {ok, B@1}, {ok, C@1}} ->
- {ok, {A@1, B@1, C@1}};
-
- {A@2, B@2, C@2} ->
- _pipe = tuple_errors(A@2, <<"0"/utf8>>),
- _pipe@1 = gleam@list:append(
- _pipe,
- tuple_errors(B@2, <<"1"/utf8>>)
- ),
- _pipe@2 = gleam@list:append(
- _pipe@1,
- tuple_errors(C@2, <<"2"/utf8>>)
- ),
- {error, _pipe@2}
- end
- end
- )
- end.
-
--spec tuple4(
- fun((dynamic_()) -> {ok, ECF} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, ECH} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, ECJ} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, ECL} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, {ECF, ECH, ECJ, ECL}} |
- {error, list(decode_error())}).
-tuple4(Decode1, Decode2, Decode3, Decode4) ->
- fun(Value) ->
- gleam@result:'try'(
- gleam_stdlib:decode_tuple4(Value),
- fun(_use0) ->
- {A, B, C, D} = _use0,
- case {Decode1(A), Decode2(B), Decode3(C), Decode4(D)} of
- {{ok, A@1}, {ok, B@1}, {ok, C@1}, {ok, D@1}} ->
- {ok, {A@1, B@1, C@1, D@1}};
-
- {A@2, B@2, C@2, D@2} ->
- _pipe = tuple_errors(A@2, <<"0"/utf8>>),
- _pipe@1 = gleam@list:append(
- _pipe,
- tuple_errors(B@2, <<"1"/utf8>>)
- ),
- _pipe@2 = gleam@list:append(
- _pipe@1,
- tuple_errors(C@2, <<"2"/utf8>>)
- ),
- _pipe@3 = gleam@list:append(
- _pipe@2,
- tuple_errors(D@2, <<"3"/utf8>>)
- ),
- {error, _pipe@3}
- end
- end
- )
- end.
-
--spec tuple5(
- fun((dynamic_()) -> {ok, ECO} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, ECQ} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, ECS} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, ECU} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, ECW} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, {ECO, ECQ, ECS, ECU, ECW}} |
- {error, list(decode_error())}).
-tuple5(Decode1, Decode2, Decode3, Decode4, Decode5) ->
- fun(Value) ->
- gleam@result:'try'(
- gleam_stdlib:decode_tuple5(Value),
- fun(_use0) ->
- {A, B, C, D, E} = _use0,
- case {Decode1(A),
- Decode2(B),
- Decode3(C),
- Decode4(D),
- Decode5(E)} of
- {{ok, A@1}, {ok, B@1}, {ok, C@1}, {ok, D@1}, {ok, E@1}} ->
- {ok, {A@1, B@1, C@1, D@1, E@1}};
-
- {A@2, B@2, C@2, D@2, E@2} ->
- _pipe = tuple_errors(A@2, <<"0"/utf8>>),
- _pipe@1 = gleam@list:append(
- _pipe,
- tuple_errors(B@2, <<"1"/utf8>>)
- ),
- _pipe@2 = gleam@list:append(
- _pipe@1,
- tuple_errors(C@2, <<"2"/utf8>>)
- ),
- _pipe@3 = gleam@list:append(
- _pipe@2,
- tuple_errors(D@2, <<"3"/utf8>>)
- ),
- _pipe@4 = gleam@list:append(
- _pipe@3,
- tuple_errors(E@2, <<"4"/utf8>>)
- ),
- {error, _pipe@4}
- end
- end
- )
- end.
-
--spec tuple6(
- fun((dynamic_()) -> {ok, ECZ} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EDB} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EDD} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EDF} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EDH} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EDJ} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, {ECZ, EDB, EDD, EDF, EDH, EDJ}} |
- {error, list(decode_error())}).
-tuple6(Decode1, Decode2, Decode3, Decode4, Decode5, Decode6) ->
- fun(Value) ->
- gleam@result:'try'(
- gleam_stdlib:decode_tuple6(Value),
- fun(_use0) ->
- {A, B, C, D, E, F} = _use0,
- case {Decode1(A),
- Decode2(B),
- Decode3(C),
- Decode4(D),
- Decode5(E),
- Decode6(F)} of
- {{ok, A@1},
- {ok, B@1},
- {ok, C@1},
- {ok, D@1},
- {ok, E@1},
- {ok, F@1}} ->
- {ok, {A@1, B@1, C@1, D@1, E@1, F@1}};
-
- {A@2, B@2, C@2, D@2, E@2, F@2} ->
- _pipe = tuple_errors(A@2, <<"0"/utf8>>),
- _pipe@1 = gleam@list:append(
- _pipe,
- tuple_errors(B@2, <<"1"/utf8>>)
- ),
- _pipe@2 = gleam@list:append(
- _pipe@1,
- tuple_errors(C@2, <<"2"/utf8>>)
- ),
- _pipe@3 = gleam@list:append(
- _pipe@2,
- tuple_errors(D@2, <<"3"/utf8>>)
- ),
- _pipe@4 = gleam@list:append(
- _pipe@3,
- tuple_errors(E@2, <<"4"/utf8>>)
- ),
- _pipe@5 = gleam@list:append(
- _pipe@4,
- tuple_errors(F@2, <<"5"/utf8>>)
- ),
- {error, _pipe@5}
- end
- end
- )
- end.
-
--spec dict(
- fun((dynamic_()) -> {ok, EDM} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EDO} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, gleam@dict:dict(EDM, EDO)} |
- {error, list(decode_error())}).
-dict(Key_type, Value_type) ->
- fun(Value) ->
- gleam@result:'try'(
- gleam_stdlib:decode_map(Value),
- fun(Map) ->
- gleam@result:'try'(
- begin
- _pipe = Map,
- _pipe@1 = gleam@dict:to_list(_pipe),
- gleam@list:try_map(
- _pipe@1,
- fun(Pair) ->
- {K, V} = Pair,
- gleam@result:'try'(
- begin
- _pipe@2 = Key_type(K),
- map_errors(
- _pipe@2,
- fun(_capture) ->
- push_path(
- _capture,
- <<"keys"/utf8>>
- )
- end
- )
- end,
- fun(K@1) ->
- gleam@result:'try'(
- begin
- _pipe@3 = Value_type(V),
- map_errors(
- _pipe@3,
- fun(_capture@1) ->
- push_path(
- _capture@1,
- <<"values"/utf8>>
- )
- end
- )
- end,
- fun(V@1) -> {ok, {K@1, V@1}} end
- )
- end
- )
- end
- )
- end,
- fun(Pairs) -> {ok, gleam@dict:from_list(Pairs)} end
- )
- end
- )
- end.
-
--spec map(
- fun((dynamic_()) -> {ok, EDT} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EDV} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, gleam@dict:dict(EDT, EDV)} |
- {error, list(decode_error())}).
-map(Key_type, Value_type) ->
- dict(Key_type, Value_type).
-
--spec decode2(
- fun((EEM, EEN) -> EEO),
- fun((dynamic_()) -> {ok, EEM} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EEN} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, EEO} | {error, list(decode_error())}).
-decode2(Constructor, T1, T2) ->
- fun(Value) -> case {T1(Value), T2(Value)} of
- {{ok, A}, {ok, B}} ->
- {ok, Constructor(A, B)};
-
- {A@1, B@1} ->
- {error, gleam@list:concat([all_errors(A@1), all_errors(B@1)])}
- end end.
-
--spec decode3(
- fun((EES, EET, EEU) -> EEV),
- fun((dynamic_()) -> {ok, EES} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EET} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EEU} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, EEV} | {error, list(decode_error())}).
-decode3(Constructor, T1, T2, T3) ->
- fun(Value) -> case {T1(Value), T2(Value), T3(Value)} of
- {{ok, A}, {ok, B}, {ok, C}} ->
- {ok, Constructor(A, B, C)};
-
- {A@1, B@1, C@1} ->
- {error,
- gleam@list:concat(
- [all_errors(A@1), all_errors(B@1), all_errors(C@1)]
- )}
- end end.
-
--spec decode4(
- fun((EFA, EFB, EFC, EFD) -> EFE),
- fun((dynamic_()) -> {ok, EFA} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EFB} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EFC} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EFD} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, EFE} | {error, list(decode_error())}).
-decode4(Constructor, T1, T2, T3, T4) ->
- fun(X) -> case {T1(X), T2(X), T3(X), T4(X)} of
- {{ok, A}, {ok, B}, {ok, C}, {ok, D}} ->
- {ok, Constructor(A, B, C, D)};
-
- {A@1, B@1, C@1, D@1} ->
- {error,
- gleam@list:concat(
- [all_errors(A@1),
- all_errors(B@1),
- all_errors(C@1),
- all_errors(D@1)]
- )}
- end end.
-
--spec decode5(
- fun((EFK, EFL, EFM, EFN, EFO) -> EFP),
- fun((dynamic_()) -> {ok, EFK} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EFL} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EFM} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EFN} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EFO} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, EFP} | {error, list(decode_error())}).
-decode5(Constructor, T1, T2, T3, T4, T5) ->
- fun(X) -> case {T1(X), T2(X), T3(X), T4(X), T5(X)} of
- {{ok, A}, {ok, B}, {ok, C}, {ok, D}, {ok, E}} ->
- {ok, Constructor(A, B, C, D, E)};
-
- {A@1, B@1, C@1, D@1, E@1} ->
- {error,
- gleam@list:concat(
- [all_errors(A@1),
- all_errors(B@1),
- all_errors(C@1),
- all_errors(D@1),
- all_errors(E@1)]
- )}
- end end.
-
--spec decode6(
- fun((EFW, EFX, EFY, EFZ, EGA, EGB) -> EGC),
- fun((dynamic_()) -> {ok, EFW} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EFX} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EFY} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EFZ} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EGA} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EGB} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, EGC} | {error, list(decode_error())}).
-decode6(Constructor, T1, T2, T3, T4, T5, T6) ->
- fun(X) -> case {T1(X), T2(X), T3(X), T4(X), T5(X), T6(X)} of
- {{ok, A}, {ok, B}, {ok, C}, {ok, D}, {ok, E}, {ok, F}} ->
- {ok, Constructor(A, B, C, D, E, F)};
-
- {A@1, B@1, C@1, D@1, E@1, F@1} ->
- {error,
- gleam@list:concat(
- [all_errors(A@1),
- all_errors(B@1),
- all_errors(C@1),
- all_errors(D@1),
- all_errors(E@1),
- all_errors(F@1)]
- )}
- end end.
-
--spec decode7(
- fun((EGK, EGL, EGM, EGN, EGO, EGP, EGQ) -> EGR),
- fun((dynamic_()) -> {ok, EGK} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EGL} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EGM} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EGN} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EGO} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EGP} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EGQ} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, EGR} | {error, list(decode_error())}).
-decode7(Constructor, T1, T2, T3, T4, T5, T6, T7) ->
- fun(X) -> case {T1(X), T2(X), T3(X), T4(X), T5(X), T6(X), T7(X)} of
- {{ok, A}, {ok, B}, {ok, C}, {ok, D}, {ok, E}, {ok, F}, {ok, G}} ->
- {ok, Constructor(A, B, C, D, E, F, G)};
-
- {A@1, B@1, C@1, D@1, E@1, F@1, G@1} ->
- {error,
- gleam@list:concat(
- [all_errors(A@1),
- all_errors(B@1),
- all_errors(C@1),
- all_errors(D@1),
- all_errors(E@1),
- all_errors(F@1),
- all_errors(G@1)]
- )}
- end end.
-
--spec decode8(
- fun((EHA, EHB, EHC, EHD, EHE, EHF, EHG, EHH) -> EHI),
- fun((dynamic_()) -> {ok, EHA} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EHB} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EHC} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EHD} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EHE} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EHF} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EHG} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EHH} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, EHI} | {error, list(decode_error())}).
-decode8(Constructor, T1, T2, T3, T4, T5, T6, T7, T8) ->
- fun(X) -> case {T1(X), T2(X), T3(X), T4(X), T5(X), T6(X), T7(X), T8(X)} of
- {{ok, A},
- {ok, B},
- {ok, C},
- {ok, D},
- {ok, E},
- {ok, F},
- {ok, G},
- {ok, H}} ->
- {ok, Constructor(A, B, C, D, E, F, G, H)};
-
- {A@1, B@1, C@1, D@1, E@1, F@1, G@1, H@1} ->
- {error,
- gleam@list:concat(
- [all_errors(A@1),
- all_errors(B@1),
- all_errors(C@1),
- all_errors(D@1),
- all_errors(E@1),
- all_errors(F@1),
- all_errors(G@1),
- all_errors(H@1)]
- )}
- end end.
-
--spec decode9(
- fun((EHS, EHT, EHU, EHV, EHW, EHX, EHY, EHZ, EIA) -> EIB),
- fun((dynamic_()) -> {ok, EHS} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EHT} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EHU} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EHV} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EHW} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EHX} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EHY} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EHZ} | {error, list(decode_error())}),
- fun((dynamic_()) -> {ok, EIA} | {error, list(decode_error())})
-) -> fun((dynamic_()) -> {ok, EIB} | {error, list(decode_error())}).
-decode9(Constructor, T1, T2, T3, T4, T5, T6, T7, T8, T9) ->
- fun(X) ->
- case {T1(X), T2(X), T3(X), T4(X), T5(X), T6(X), T7(X), T8(X), T9(X)} of
- {{ok, A},
- {ok, B},
- {ok, C},
- {ok, D},
- {ok, E},
- {ok, F},
- {ok, G},
- {ok, H},
- {ok, I}} ->
- {ok, Constructor(A, B, C, D, E, F, G, H, I)};
-
- {A@1, B@1, C@1, D@1, E@1, F@1, G@1, H@1, I@1} ->
- {error,
- gleam@list:concat(
- [all_errors(A@1),
- all_errors(B@1),
- all_errors(C@1),
- all_errors(D@1),
- all_errors(E@1),
- all_errors(F@1),
- all_errors(G@1),
- all_errors(H@1),
- all_errors(I@1)]
- )}
- end
- end.
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam@float.erl b/aoc2023/build/packages/gleam_stdlib/src/gleam@float.erl
deleted file mode 100644
index 33b3d4a..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam@float.erl
+++ /dev/null
@@ -1,181 +0,0 @@
--module(gleam@float).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([parse/1, to_string/1, compare/2, min/2, max/2, clamp/3, ceiling/1, floor/1, round/1, truncate/1, absolute_value/1, loosely_compare/3, loosely_equals/3, power/2, square_root/1, negate/1, sum/1, product/1, random/2, divide/2, add/2, multiply/2, subtract/2]).
-
--spec parse(binary()) -> {ok, float()} | {error, nil}.
-parse(String) ->
- gleam_stdlib:parse_float(String).
-
--spec to_string(float()) -> binary().
-to_string(X) ->
- gleam_stdlib:float_to_string(X).
-
--spec compare(float(), float()) -> gleam@order:order().
-compare(A, B) ->
- case A =:= B of
- true ->
- eq;
-
- false ->
- case A < B of
- true ->
- lt;
-
- false ->
- gt
- end
- end.
-
--spec min(float(), float()) -> float().
-min(A, B) ->
- case A < B of
- true ->
- A;
-
- false ->
- B
- end.
-
--spec max(float(), float()) -> float().
-max(A, B) ->
- case A > B of
- true ->
- A;
-
- false ->
- B
- end.
-
--spec clamp(float(), float(), float()) -> float().
-clamp(X, Min_bound, Max_bound) ->
- _pipe = X,
- _pipe@1 = min(_pipe, Max_bound),
- max(_pipe@1, Min_bound).
-
--spec ceiling(float()) -> float().
-ceiling(X) ->
- math:ceil(X).
-
--spec floor(float()) -> float().
-floor(X) ->
- math:floor(X).
-
--spec round(float()) -> integer().
-round(X) ->
- erlang:round(X).
-
--spec truncate(float()) -> integer().
-truncate(X) ->
- erlang:trunc(X).
-
--spec absolute_value(float()) -> float().
-absolute_value(X) ->
- case X >= +0.0 of
- true ->
- X;
-
- _ ->
- +0.0 - X
- end.
-
--spec loosely_compare(float(), float(), float()) -> gleam@order:order().
-loosely_compare(A, B, Tolerance) ->
- Difference = absolute_value(A - B),
- case Difference =< Tolerance of
- true ->
- eq;
-
- false ->
- compare(A, B)
- end.
-
--spec loosely_equals(float(), float(), float()) -> boolean().
-loosely_equals(A, B, Tolerance) ->
- Difference = absolute_value(A - B),
- Difference =< Tolerance.
-
--spec power(float(), float()) -> {ok, float()} | {error, nil}.
-power(Base, Exponent) ->
- Fractional = (ceiling(Exponent) - Exponent) > +0.0,
- case ((Base < +0.0) andalso Fractional) orelse ((Base =:= +0.0) andalso (Exponent
- < +0.0)) of
- true ->
- {error, nil};
-
- false ->
- {ok, math:pow(Base, Exponent)}
- end.
-
--spec square_root(float()) -> {ok, float()} | {error, nil}.
-square_root(X) ->
- power(X, 0.5).
-
--spec negate(float()) -> float().
-negate(X) ->
- -1.0 * X.
-
--spec do_sum(list(float()), float()) -> float().
-do_sum(Numbers, Initial) ->
- case Numbers of
- [] ->
- Initial;
-
- [X | Rest] ->
- do_sum(Rest, X + Initial)
- end.
-
--spec sum(list(float())) -> float().
-sum(Numbers) ->
- _pipe = Numbers,
- do_sum(_pipe, +0.0).
-
--spec do_product(list(float()), float()) -> float().
-do_product(Numbers, Initial) ->
- case Numbers of
- [] ->
- Initial;
-
- [X | Rest] ->
- do_product(Rest, X * Initial)
- end.
-
--spec product(list(float())) -> float().
-product(Numbers) ->
- case Numbers of
- [] ->
- 1.0;
-
- _ ->
- do_product(Numbers, 1.0)
- end.
-
--spec random(float(), float()) -> float().
-random(Min, Max) ->
- (rand:uniform() * (Max - Min)) + Min.
-
--spec divide(float(), float()) -> {ok, float()} | {error, nil}.
-divide(A, B) ->
- case B of
- +0.0 ->
- {error, nil};
-
- B@1 ->
- {ok, case B@1 of
- +0.0 -> +0.0;
- -0.0 -> -0.0;
- Gleam@denominator -> A / Gleam@denominator
- end}
- end.
-
--spec add(float(), float()) -> float().
-add(A, B) ->
- A + B.
-
--spec multiply(float(), float()) -> float().
-multiply(A, B) ->
- A * B.
-
--spec subtract(float(), float()) -> float().
-subtract(A, B) ->
- A - B.
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam@function.erl b/aoc2023/build/packages/gleam_stdlib/src/gleam@function.erl
deleted file mode 100644
index 3496318..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam@function.erl
+++ /dev/null
@@ -1,67 +0,0 @@
--module(gleam@function).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([compose/2, curry2/1, curry3/1, curry4/1, curry5/1, curry6/1, flip/1, identity/1, constant/1, tap/2, apply1/2, apply2/3, apply3/4]).
-
--spec compose(fun((DOO) -> DOP), fun((DOP) -> DOQ)) -> fun((DOO) -> DOQ).
-compose(Fun1, Fun2) ->
- fun(A) -> Fun2(Fun1(A)) end.
-
--spec curry2(fun((DOR, DOS) -> DOT)) -> fun((DOR) -> fun((DOS) -> DOT)).
-curry2(Fun) ->
- fun(A) -> fun(B) -> Fun(A, B) end end.
-
--spec curry3(fun((DOV, DOW, DOX) -> DOY)) -> fun((DOV) -> fun((DOW) -> fun((DOX) -> DOY))).
-curry3(Fun) ->
- fun(A) -> fun(B) -> fun(C) -> Fun(A, B, C) end end end.
-
--spec curry4(fun((DPA, DPB, DPC, DPD) -> DPE)) -> fun((DPA) -> fun((DPB) -> fun((DPC) -> fun((DPD) -> DPE)))).
-curry4(Fun) ->
- fun(A) -> fun(B) -> fun(C) -> fun(D) -> Fun(A, B, C, D) end end end end.
-
--spec curry5(fun((DPG, DPH, DPI, DPJ, DPK) -> DPL)) -> fun((DPG) -> fun((DPH) -> fun((DPI) -> fun((DPJ) -> fun((DPK) -> DPL))))).
-curry5(Fun) ->
- fun(A) ->
- fun(B) ->
- fun(C) -> fun(D) -> fun(E) -> Fun(A, B, C, D, E) end end end
- end
- end.
-
--spec curry6(fun((DPN, DPO, DPP, DPQ, DPR, DPS) -> DPT)) -> fun((DPN) -> fun((DPO) -> fun((DPP) -> fun((DPQ) -> fun((DPR) -> fun((DPS) -> DPT)))))).
-curry6(Fun) ->
- fun(A) ->
- fun(B) ->
- fun(C) ->
- fun(D) -> fun(E) -> fun(F) -> Fun(A, B, C, D, E, F) end end end
- end
- end
- end.
-
--spec flip(fun((DPV, DPW) -> DPX)) -> fun((DPW, DPV) -> DPX).
-flip(Fun) ->
- fun(B, A) -> Fun(A, B) end.
-
--spec identity(DPY) -> DPY.
-identity(X) ->
- X.
-
--spec constant(DPZ) -> fun((any()) -> DPZ).
-constant(Value) ->
- fun(_) -> Value end.
-
--spec tap(DQB, fun((DQB) -> any())) -> DQB.
-tap(Arg, Effect) ->
- Effect(Arg),
- Arg.
-
--spec apply1(fun((DQD) -> DQE), DQD) -> DQE.
-apply1(Fun, Arg1) ->
- Fun(Arg1).
-
--spec apply2(fun((DQF, DQG) -> DQH), DQF, DQG) -> DQH.
-apply2(Fun, Arg1, Arg2) ->
- Fun(Arg1, Arg2).
-
--spec apply3(fun((DQI, DQJ, DQK) -> DQL), DQI, DQJ, DQK) -> DQL.
-apply3(Fun, Arg1, Arg2, Arg3) ->
- Fun(Arg1, Arg2, Arg3).
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam@int.erl b/aoc2023/build/packages/gleam_stdlib/src/gleam@int.erl
deleted file mode 100644
index 2a5dd2c..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam@int.erl
+++ /dev/null
@@ -1,332 +0,0 @@
--module(gleam@int).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([absolute_value/1, parse/1, base_parse/2, to_string/1, to_base_string/2, to_base2/1, to_base8/1, to_base16/1, to_base36/1, to_float/1, power/2, square_root/1, compare/2, min/2, max/2, clamp/3, is_even/1, is_odd/1, negate/1, sum/1, product/1, digits/2, undigits/2, random/2, divide/2, remainder/2, modulo/2, floor_divide/2, add/2, multiply/2, subtract/2, bitwise_and/2, bitwise_not/1, bitwise_or/2, bitwise_exclusive_or/2, bitwise_shift_left/2, bitwise_shift_right/2]).
--export_type([invalid_base/0]).
-
--type invalid_base() :: invalid_base.
-
--spec absolute_value(integer()) -> integer().
-absolute_value(X) ->
- case X >= 0 of
- true ->
- X;
-
- false ->
- X * -1
- end.
-
--spec parse(binary()) -> {ok, integer()} | {error, nil}.
-parse(String) ->
- gleam_stdlib:parse_int(String).
-
--spec base_parse(binary(), integer()) -> {ok, integer()} | {error, nil}.
-base_parse(String, Base) ->
- case (Base >= 2) andalso (Base =< 36) of
- true ->
- gleam_stdlib:int_from_base_string(String, Base);
-
- false ->
- {error, nil}
- end.
-
--spec to_string(integer()) -> binary().
-to_string(X) ->
- erlang:integer_to_binary(X).
-
--spec to_base_string(integer(), integer()) -> {ok, binary()} |
- {error, invalid_base()}.
-to_base_string(X, Base) ->
- case (Base >= 2) andalso (Base =< 36) of
- true ->
- {ok, erlang:integer_to_binary(X, Base)};
-
- false ->
- {error, invalid_base}
- end.
-
--spec to_base2(integer()) -> binary().
-to_base2(X) ->
- erlang:integer_to_binary(X, 2).
-
--spec to_base8(integer()) -> binary().
-to_base8(X) ->
- erlang:integer_to_binary(X, 8).
-
--spec to_base16(integer()) -> binary().
-to_base16(X) ->
- erlang:integer_to_binary(X, 16).
-
--spec to_base36(integer()) -> binary().
-to_base36(X) ->
- erlang:integer_to_binary(X, 36).
-
--spec to_float(integer()) -> float().
-to_float(X) ->
- erlang:float(X).
-
--spec power(integer(), float()) -> {ok, float()} | {error, nil}.
-power(Base, Exponent) ->
- _pipe = Base,
- _pipe@1 = to_float(_pipe),
- gleam@float:power(_pipe@1, Exponent).
-
--spec square_root(integer()) -> {ok, float()} | {error, nil}.
-square_root(X) ->
- _pipe = X,
- _pipe@1 = to_float(_pipe),
- gleam@float:square_root(_pipe@1).
-
--spec compare(integer(), integer()) -> gleam@order:order().
-compare(A, B) ->
- case A =:= B of
- true ->
- eq;
-
- false ->
- case A < B of
- true ->
- lt;
-
- false ->
- gt
- end
- end.
-
--spec min(integer(), integer()) -> integer().
-min(A, B) ->
- case A < B of
- true ->
- A;
-
- false ->
- B
- end.
-
--spec max(integer(), integer()) -> integer().
-max(A, B) ->
- case A > B of
- true ->
- A;
-
- false ->
- B
- end.
-
--spec clamp(integer(), integer(), integer()) -> integer().
-clamp(X, Min_bound, Max_bound) ->
- _pipe = X,
- _pipe@1 = min(_pipe, Max_bound),
- max(_pipe@1, Min_bound).
-
--spec is_even(integer()) -> boolean().
-is_even(X) ->
- (X rem 2) =:= 0.
-
--spec is_odd(integer()) -> boolean().
-is_odd(X) ->
- (X rem 2) /= 0.
-
--spec negate(integer()) -> integer().
-negate(X) ->
- -1 * X.
-
--spec do_sum(list(integer()), integer()) -> integer().
-do_sum(Numbers, Initial) ->
- case Numbers of
- [] ->
- Initial;
-
- [X | Rest] ->
- do_sum(Rest, X + Initial)
- end.
-
--spec sum(list(integer())) -> integer().
-sum(Numbers) ->
- _pipe = Numbers,
- do_sum(_pipe, 0).
-
--spec do_product(list(integer()), integer()) -> integer().
-do_product(Numbers, Initial) ->
- case Numbers of
- [] ->
- Initial;
-
- [X | Rest] ->
- do_product(Rest, X * Initial)
- end.
-
--spec product(list(integer())) -> integer().
-product(Numbers) ->
- case Numbers of
- [] ->
- 1;
-
- _ ->
- do_product(Numbers, 1)
- end.
-
--spec do_digits(integer(), integer(), list(integer())) -> list(integer()).
-do_digits(X, Base, Acc) ->
- case absolute_value(X) < Base of
- true ->
- [X | Acc];
-
- false ->
- do_digits(case Base of
- 0 -> 0;
- Gleam@denominator -> X div Gleam@denominator
- end, Base, [case Base of
- 0 -> 0;
- Gleam@denominator@1 -> X rem Gleam@denominator@1
- end | Acc])
- end.
-
--spec digits(integer(), integer()) -> {ok, list(integer())} |
- {error, invalid_base()}.
-digits(X, Base) ->
- case Base < 2 of
- true ->
- {error, invalid_base};
-
- false ->
- {ok, do_digits(X, Base, [])}
- end.
-
--spec do_undigits(list(integer()), integer(), integer()) -> {ok, integer()} |
- {error, invalid_base()}.
-do_undigits(Numbers, Base, Acc) ->
- case Numbers of
- [] ->
- {ok, Acc};
-
- [Digit | _] when Digit >= Base ->
- {error, invalid_base};
-
- [Digit@1 | Rest] ->
- do_undigits(Rest, Base, (Acc * Base) + Digit@1)
- end.
-
--spec undigits(list(integer()), integer()) -> {ok, integer()} |
- {error, invalid_base()}.
-undigits(Numbers, Base) ->
- case Base < 2 of
- true ->
- {error, invalid_base};
-
- false ->
- do_undigits(Numbers, Base, 0)
- end.
-
--spec random(integer(), integer()) -> integer().
-random(Min, Max) ->
- _pipe = gleam@float:random(to_float(Min), to_float(Max)),
- _pipe@1 = gleam@float:floor(_pipe),
- gleam@float:round(_pipe@1).
-
--spec divide(integer(), integer()) -> {ok, integer()} | {error, nil}.
-divide(Dividend, Divisor) ->
- case Divisor of
- 0 ->
- {error, nil};
-
- Divisor@1 ->
- {ok, case Divisor@1 of
- 0 -> 0;
- Gleam@denominator -> Dividend div Gleam@denominator
- end}
- end.
-
--spec remainder(integer(), integer()) -> {ok, integer()} | {error, nil}.
-remainder(Dividend, Divisor) ->
- case Divisor of
- 0 ->
- {error, nil};
-
- Divisor@1 ->
- {ok, case Divisor@1 of
- 0 -> 0;
- Gleam@denominator -> Dividend rem Gleam@denominator
- end}
- end.
-
--spec modulo(integer(), integer()) -> {ok, integer()} | {error, nil}.
-modulo(Dividend, Divisor) ->
- case Divisor of
- 0 ->
- {error, nil};
-
- _ ->
- Remainder = case Divisor of
- 0 -> 0;
- Gleam@denominator -> Dividend rem Gleam@denominator
- end,
- case (Remainder * Divisor) < 0 of
- true ->
- {ok, Remainder + Divisor};
-
- false ->
- {ok, Remainder}
- end
- end.
-
--spec floor_divide(integer(), integer()) -> {ok, integer()} | {error, nil}.
-floor_divide(Dividend, Divisor) ->
- case Divisor of
- 0 ->
- {error, nil};
-
- Divisor@1 ->
- case ((Dividend * Divisor@1) < 0) andalso ((case Divisor@1 of
- 0 -> 0;
- Gleam@denominator -> Dividend rem Gleam@denominator
- end) /= 0) of
- true ->
- {ok, (case Divisor@1 of
- 0 -> 0;
- Gleam@denominator@1 -> Dividend div Gleam@denominator@1
- end) - 1};
-
- false ->
- {ok, case Divisor@1 of
- 0 -> 0;
- Gleam@denominator@2 -> Dividend div Gleam@denominator@2
- end}
- end
- end.
-
--spec add(integer(), integer()) -> integer().
-add(A, B) ->
- A + B.
-
--spec multiply(integer(), integer()) -> integer().
-multiply(A, B) ->
- A * B.
-
--spec subtract(integer(), integer()) -> integer().
-subtract(A, B) ->
- A - B.
-
--spec bitwise_and(integer(), integer()) -> integer().
-bitwise_and(X, Y) ->
- erlang:'band'(X, Y).
-
--spec bitwise_not(integer()) -> integer().
-bitwise_not(X) ->
- erlang:'bnot'(X).
-
--spec bitwise_or(integer(), integer()) -> integer().
-bitwise_or(X, Y) ->
- erlang:'bor'(X, Y).
-
--spec bitwise_exclusive_or(integer(), integer()) -> integer().
-bitwise_exclusive_or(X, Y) ->
- erlang:'bxor'(X, Y).
-
--spec bitwise_shift_left(integer(), integer()) -> integer().
-bitwise_shift_left(X, Y) ->
- erlang:'bsl'(X, Y).
-
--spec bitwise_shift_right(integer(), integer()) -> integer().
-bitwise_shift_right(X, Y) ->
- erlang:'bsr'(X, Y).
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam@io.erl b/aoc2023/build/packages/gleam_stdlib/src/gleam@io.erl
deleted file mode 100644
index a46eae3..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam@io.erl
+++ /dev/null
@@ -1,27 +0,0 @@
--module(gleam@io).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([print/1, print_error/1, println/1, println_error/1, debug/1]).
-
--spec print(binary()) -> nil.
-print(String) ->
- gleam_stdlib:print(String).
-
--spec print_error(binary()) -> nil.
-print_error(String) ->
- gleam_stdlib:print_error(String).
-
--spec println(binary()) -> nil.
-println(String) ->
- gleam_stdlib:println(String).
-
--spec println_error(binary()) -> nil.
-println_error(String) ->
- gleam_stdlib:println_error(String).
-
--spec debug(CZT) -> CZT.
-debug(Term) ->
- _pipe = Term,
- _pipe@1 = gleam@string:inspect(_pipe),
- gleam_stdlib:println_error(_pipe@1),
- Term.
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam@iterator.erl b/aoc2023/build/packages/gleam_stdlib/src/gleam@iterator.erl
deleted file mode 100644
index aa84139..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam@iterator.erl
+++ /dev/null
@@ -1,744 +0,0 @@
--module(gleam@iterator).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([unfold/2, repeatedly/1, repeat/1, from_list/1, transform/3, fold/3, run/1, to_list/1, step/1, take/2, drop/2, map/2, map2/3, append/2, flatten/1, concat/1, flat_map/2, filter/2, cycle/1, find/2, index/1, iterate/2, take_while/2, drop_while/2, scan/3, zip/2, chunk/2, sized_chunk/2, intersperse/2, any/2, all/2, group/2, reduce/2, last/1, empty/0, once/1, range/2, single/1, interleave/2, fold_until/3, try_fold/3, first/1, at/2, length/1, each/2, yield/2]).
--export_type([action/1, iterator/1, step/2, chunk/2, sized_chunk/1]).
-
--type action(BPF) :: stop | {continue, BPF, fun(() -> action(BPF))}.
-
--opaque iterator(BPG) :: {iterator, fun(() -> action(BPG))}.
-
--type step(BPH, BPI) :: {next, BPH, BPI} | done.
-
--type chunk(BPJ, BPK) :: {another_by,
- list(BPJ),
- BPK,
- BPJ,
- fun(() -> action(BPJ))} |
- {last_by, list(BPJ)}.
-
--type sized_chunk(BPL) :: {another, list(BPL), fun(() -> action(BPL))} |
- {last, list(BPL)} |
- no_more.
-
--spec stop() -> action(any()).
-stop() ->
- stop.
-
--spec do_unfold(BPO, fun((BPO) -> step(BPP, BPO))) -> fun(() -> action(BPP)).
-do_unfold(Initial, F) ->
- fun() -> case F(Initial) of
- {next, X, Acc} ->
- {continue, X, do_unfold(Acc, F)};
-
- done ->
- stop
- end end.
-
--spec unfold(BPT, fun((BPT) -> step(BPU, BPT))) -> iterator(BPU).
-unfold(Initial, F) ->
- _pipe = Initial,
- _pipe@1 = do_unfold(_pipe, F),
- {iterator, _pipe@1}.
-
--spec repeatedly(fun(() -> BPY)) -> iterator(BPY).
-repeatedly(F) ->
- unfold(nil, fun(_) -> {next, F(), nil} end).
-
--spec repeat(BQA) -> iterator(BQA).
-repeat(X) ->
- repeatedly(fun() -> X end).
-
--spec from_list(list(BQC)) -> iterator(BQC).
-from_list(List) ->
- Yield = fun(Acc) -> case Acc of
- [] ->
- done;
-
- [Head | Tail] ->
- {next, Head, Tail}
- end end,
- unfold(List, Yield).
-
--spec do_transform(
- fun(() -> action(BQF)),
- BQH,
- fun((BQH, BQF) -> step(BQI, BQH))
-) -> fun(() -> action(BQI)).
-do_transform(Continuation, State, F) ->
- fun() -> case Continuation() of
- stop ->
- stop;
-
- {continue, El, Next} ->
- case F(State, El) of
- done ->
- stop;
-
- {next, Yield, Next_state} ->
- {continue, Yield, do_transform(Next, Next_state, F)}
- end
- end end.
-
--spec transform(iterator(BQM), BQO, fun((BQO, BQM) -> step(BQP, BQO))) -> iterator(BQP).
-transform(Iterator, Initial, F) ->
- _pipe = do_transform(erlang:element(2, Iterator), Initial, F),
- {iterator, _pipe}.
-
--spec do_fold(fun(() -> action(BQT)), fun((BQV, BQT) -> BQV), BQV) -> BQV.
-do_fold(Continuation, F, Accumulator) ->
- case Continuation() of
- {continue, Elem, Next} ->
- do_fold(Next, F, F(Accumulator, Elem));
-
- stop ->
- Accumulator
- end.
-
--spec fold(iterator(BQW), BQY, fun((BQY, BQW) -> BQY)) -> BQY.
-fold(Iterator, Initial, F) ->
- _pipe = erlang:element(2, Iterator),
- do_fold(_pipe, F, Initial).
-
--spec run(iterator(any())) -> nil.
-run(Iterator) ->
- fold(Iterator, nil, fun(_, _) -> nil end).
-
--spec to_list(iterator(BRB)) -> list(BRB).
-to_list(Iterator) ->
- _pipe = Iterator,
- _pipe@1 = fold(_pipe, [], fun(Acc, E) -> [E | Acc] end),
- gleam@list:reverse(_pipe@1).
-
--spec step(iterator(BRE)) -> step(BRE, iterator(BRE)).
-step(Iterator) ->
- case (erlang:element(2, Iterator))() of
- stop ->
- done;
-
- {continue, E, A} ->
- {next, E, {iterator, A}}
- end.
-
--spec do_take(fun(() -> action(BRJ)), integer()) -> fun(() -> action(BRJ)).
-do_take(Continuation, Desired) ->
- fun() -> case Desired > 0 of
- false ->
- stop;
-
- true ->
- case Continuation() of
- stop ->
- stop;
-
- {continue, E, Next} ->
- {continue, E, do_take(Next, Desired - 1)}
- end
- end end.
-
--spec take(iterator(BRM), integer()) -> iterator(BRM).
-take(Iterator, Desired) ->
- _pipe = erlang:element(2, Iterator),
- _pipe@1 = do_take(_pipe, Desired),
- {iterator, _pipe@1}.
-
--spec do_drop(fun(() -> action(BRP)), integer()) -> action(BRP).
-do_drop(Continuation, Desired) ->
- case Continuation() of
- stop ->
- stop;
-
- {continue, E, Next} ->
- case Desired > 0 of
- true ->
- do_drop(Next, Desired - 1);
-
- false ->
- {continue, E, Next}
- end
- end.
-
--spec drop(iterator(BRS), integer()) -> iterator(BRS).
-drop(Iterator, Desired) ->
- _pipe = fun() -> do_drop(erlang:element(2, Iterator), Desired) end,
- {iterator, _pipe}.
-
--spec do_map(fun(() -> action(BRV)), fun((BRV) -> BRX)) -> fun(() -> action(BRX)).
-do_map(Continuation, F) ->
- fun() -> case Continuation() of
- stop ->
- stop;
-
- {continue, E, Continuation@1} ->
- {continue, F(E), do_map(Continuation@1, F)}
- end end.
-
--spec map(iterator(BRZ), fun((BRZ) -> BSB)) -> iterator(BSB).
-map(Iterator, F) ->
- _pipe = erlang:element(2, Iterator),
- _pipe@1 = do_map(_pipe, F),
- {iterator, _pipe@1}.
-
--spec do_map2(
- fun(() -> action(BSD)),
- fun(() -> action(BSF)),
- fun((BSD, BSF) -> BSH)
-) -> fun(() -> action(BSH)).
-do_map2(Continuation1, Continuation2, Fun) ->
- fun() -> case Continuation1() of
- stop ->
- stop;
-
- {continue, A, Next_a} ->
- case Continuation2() of
- stop ->
- stop;
-
- {continue, B, Next_b} ->
- {continue, Fun(A, B), do_map2(Next_a, Next_b, Fun)}
- end
- end end.
-
--spec map2(iterator(BSJ), iterator(BSL), fun((BSJ, BSL) -> BSN)) -> iterator(BSN).
-map2(Iterator1, Iterator2, Fun) ->
- _pipe = do_map2(
- erlang:element(2, Iterator1),
- erlang:element(2, Iterator2),
- Fun
- ),
- {iterator, _pipe}.
-
--spec do_append(fun(() -> action(BSP)), fun(() -> action(BSP))) -> action(BSP).
-do_append(First, Second) ->
- case First() of
- {continue, E, First@1} ->
- {continue, E, fun() -> do_append(First@1, Second) end};
-
- stop ->
- Second()
- end.
-
--spec append(iterator(BST), iterator(BST)) -> iterator(BST).
-append(First, Second) ->
- _pipe = fun() ->
- do_append(erlang:element(2, First), erlang:element(2, Second))
- end,
- {iterator, _pipe}.
-
--spec do_flatten(fun(() -> action(iterator(BSX)))) -> action(BSX).
-do_flatten(Flattened) ->
- case Flattened() of
- stop ->
- stop;
-
- {continue, It, Next_iterator} ->
- do_append(
- erlang:element(2, It),
- fun() -> do_flatten(Next_iterator) end
- )
- end.
-
--spec flatten(iterator(iterator(BTB))) -> iterator(BTB).
-flatten(Iterator) ->
- _pipe = fun() -> do_flatten(erlang:element(2, Iterator)) end,
- {iterator, _pipe}.
-
--spec concat(list(iterator(BTF))) -> iterator(BTF).
-concat(Iterators) ->
- flatten(from_list(Iterators)).
-
--spec flat_map(iterator(BTJ), fun((BTJ) -> iterator(BTL))) -> iterator(BTL).
-flat_map(Iterator, F) ->
- _pipe = Iterator,
- _pipe@1 = map(_pipe, F),
- flatten(_pipe@1).
-
--spec do_filter(fun(() -> action(BTO)), fun((BTO) -> boolean())) -> action(BTO).
-do_filter(Continuation, Predicate) ->
- case Continuation() of
- stop ->
- stop;
-
- {continue, E, Iterator} ->
- case Predicate(E) of
- true ->
- {continue, E, fun() -> do_filter(Iterator, Predicate) end};
-
- false ->
- do_filter(Iterator, Predicate)
- end
- end.
-
--spec filter(iterator(BTR), fun((BTR) -> boolean())) -> iterator(BTR).
-filter(Iterator, Predicate) ->
- _pipe = fun() -> do_filter(erlang:element(2, Iterator), Predicate) end,
- {iterator, _pipe}.
-
--spec cycle(iterator(BTU)) -> iterator(BTU).
-cycle(Iterator) ->
- _pipe = repeat(Iterator),
- flatten(_pipe).
-
--spec do_find(fun(() -> action(BTY)), fun((BTY) -> boolean())) -> {ok, BTY} |
- {error, nil}.
-do_find(Continuation, F) ->
- case Continuation() of
- stop ->
- {error, nil};
-
- {continue, E, Next} ->
- case F(E) of
- true ->
- {ok, E};
-
- false ->
- do_find(Next, F)
- end
- end.
-
--spec find(iterator(BUC), fun((BUC) -> boolean())) -> {ok, BUC} | {error, nil}.
-find(Haystack, Is_desired) ->
- _pipe = erlang:element(2, Haystack),
- do_find(_pipe, Is_desired).
-
--spec do_index(fun(() -> action(BUG)), integer()) -> fun(() -> action({integer(),
- BUG})).
-do_index(Continuation, Next) ->
- fun() -> case Continuation() of
- stop ->
- stop;
-
- {continue, E, Continuation@1} ->
- {continue, {Next, E}, do_index(Continuation@1, Next + 1)}
- end end.
-
--spec index(iterator(BUJ)) -> iterator({integer(), BUJ}).
-index(Iterator) ->
- _pipe = erlang:element(2, Iterator),
- _pipe@1 = do_index(_pipe, 0),
- {iterator, _pipe@1}.
-
--spec iterate(BUM, fun((BUM) -> BUM)) -> iterator(BUM).
-iterate(Initial, F) ->
- unfold(Initial, fun(Element) -> {next, Element, F(Element)} end).
-
--spec do_take_while(fun(() -> action(BUO)), fun((BUO) -> boolean())) -> fun(() -> action(BUO)).
-do_take_while(Continuation, Predicate) ->
- fun() -> case Continuation() of
- stop ->
- stop;
-
- {continue, E, Next} ->
- case Predicate(E) of
- false ->
- stop;
-
- true ->
- {continue, E, do_take_while(Next, Predicate)}
- end
- end end.
-
--spec take_while(iterator(BUR), fun((BUR) -> boolean())) -> iterator(BUR).
-take_while(Iterator, Predicate) ->
- _pipe = erlang:element(2, Iterator),
- _pipe@1 = do_take_while(_pipe, Predicate),
- {iterator, _pipe@1}.
-
--spec do_drop_while(fun(() -> action(BUU)), fun((BUU) -> boolean())) -> action(BUU).
-do_drop_while(Continuation, Predicate) ->
- case Continuation() of
- stop ->
- stop;
-
- {continue, E, Next} ->
- case Predicate(E) of
- false ->
- {continue, E, Next};
-
- true ->
- do_drop_while(Next, Predicate)
- end
- end.
-
--spec drop_while(iterator(BUX), fun((BUX) -> boolean())) -> iterator(BUX).
-drop_while(Iterator, Predicate) ->
- _pipe = fun() -> do_drop_while(erlang:element(2, Iterator), Predicate) end,
- {iterator, _pipe}.
-
--spec do_scan(fun(() -> action(BVA)), fun((BVC, BVA) -> BVC), BVC) -> fun(() -> action(BVC)).
-do_scan(Continuation, F, Accumulator) ->
- fun() -> case Continuation() of
- stop ->
- stop;
-
- {continue, El, Next} ->
- Accumulated = F(Accumulator, El),
- {continue, Accumulated, do_scan(Next, F, Accumulated)}
- end end.
-
--spec scan(iterator(BVE), BVG, fun((BVG, BVE) -> BVG)) -> iterator(BVG).
-scan(Iterator, Initial, F) ->
- _pipe = erlang:element(2, Iterator),
- _pipe@1 = do_scan(_pipe, F, Initial),
- {iterator, _pipe@1}.
-
--spec do_zip(fun(() -> action(BVI)), fun(() -> action(BVK))) -> fun(() -> action({BVI,
- BVK})).
-do_zip(Left, Right) ->
- fun() -> case Left() of
- stop ->
- stop;
-
- {continue, El_left, Next_left} ->
- case Right() of
- stop ->
- stop;
-
- {continue, El_right, Next_right} ->
- {continue,
- {El_left, El_right},
- do_zip(Next_left, Next_right)}
- end
- end end.
-
--spec zip(iterator(BVN), iterator(BVP)) -> iterator({BVN, BVP}).
-zip(Left, Right) ->
- _pipe = do_zip(erlang:element(2, Left), erlang:element(2, Right)),
- {iterator, _pipe}.
-
--spec next_chunk(fun(() -> action(BVS)), fun((BVS) -> BVU), BVU, list(BVS)) -> chunk(BVS, BVU).
-next_chunk(Continuation, F, Previous_key, Current_chunk) ->
- case Continuation() of
- stop ->
- {last_by, gleam@list:reverse(Current_chunk)};
-
- {continue, E, Next} ->
- Key = F(E),
- case Key =:= Previous_key of
- true ->
- next_chunk(Next, F, Key, [E | Current_chunk]);
-
- false ->
- {another_by,
- gleam@list:reverse(Current_chunk),
- Key,
- E,
- Next}
- end
- end.
-
--spec do_chunk(fun(() -> action(BVY)), fun((BVY) -> BWA), BWA, BVY) -> action(list(BVY)).
-do_chunk(Continuation, F, Previous_key, Previous_element) ->
- case next_chunk(Continuation, F, Previous_key, [Previous_element]) of
- {last_by, Chunk} ->
- {continue, Chunk, fun stop/0};
-
- {another_by, Chunk@1, Key, El, Next} ->
- {continue, Chunk@1, fun() -> do_chunk(Next, F, Key, El) end}
- end.
-
--spec chunk(iterator(BWD), fun((BWD) -> any())) -> iterator(list(BWD)).
-chunk(Iterator, F) ->
- _pipe = fun() -> case (erlang:element(2, Iterator))() of
- stop ->
- stop;
-
- {continue, E, Next} ->
- do_chunk(Next, F, F(E), E)
- end end,
- {iterator, _pipe}.
-
--spec next_sized_chunk(fun(() -> action(BWI)), integer(), list(BWI)) -> sized_chunk(BWI).
-next_sized_chunk(Continuation, Left, Current_chunk) ->
- case Continuation() of
- stop ->
- case Current_chunk of
- [] ->
- no_more;
-
- Remaining ->
- {last, gleam@list:reverse(Remaining)}
- end;
-
- {continue, E, Next} ->
- Chunk = [E | Current_chunk],
- case Left > 1 of
- false ->
- {another, gleam@list:reverse(Chunk), Next};
-
- true ->
- next_sized_chunk(Next, Left - 1, Chunk)
- end
- end.
-
--spec do_sized_chunk(fun(() -> action(BWM)), integer()) -> fun(() -> action(list(BWM))).
-do_sized_chunk(Continuation, Count) ->
- fun() -> case next_sized_chunk(Continuation, Count, []) of
- no_more ->
- stop;
-
- {last, Chunk} ->
- {continue, Chunk, fun stop/0};
-
- {another, Chunk@1, Next_element} ->
- {continue, Chunk@1, do_sized_chunk(Next_element, Count)}
- end end.
-
--spec sized_chunk(iterator(BWQ), integer()) -> iterator(list(BWQ)).
-sized_chunk(Iterator, Count) ->
- _pipe = erlang:element(2, Iterator),
- _pipe@1 = do_sized_chunk(_pipe, Count),
- {iterator, _pipe@1}.
-
--spec do_intersperse(fun(() -> action(BWU)), BWU) -> action(BWU).
-do_intersperse(Continuation, Separator) ->
- case Continuation() of
- stop ->
- stop;
-
- {continue, E, Next} ->
- Next_interspersed = fun() -> do_intersperse(Next, Separator) end,
- {continue, Separator, fun() -> {continue, E, Next_interspersed} end}
- end.
-
--spec intersperse(iterator(BWX), BWX) -> iterator(BWX).
-intersperse(Iterator, Elem) ->
- _pipe = fun() -> case (erlang:element(2, Iterator))() of
- stop ->
- stop;
-
- {continue, E, Next} ->
- {continue, E, fun() -> do_intersperse(Next, Elem) end}
- end end,
- {iterator, _pipe}.
-
--spec do_any(fun(() -> action(BXA)), fun((BXA) -> boolean())) -> boolean().
-do_any(Continuation, Predicate) ->
- case Continuation() of
- stop ->
- false;
-
- {continue, E, Next} ->
- case Predicate(E) of
- true ->
- true;
-
- false ->
- do_any(Next, Predicate)
- end
- end.
-
--spec any(iterator(BXC), fun((BXC) -> boolean())) -> boolean().
-any(Iterator, Predicate) ->
- _pipe = erlang:element(2, Iterator),
- do_any(_pipe, Predicate).
-
--spec do_all(fun(() -> action(BXE)), fun((BXE) -> boolean())) -> boolean().
-do_all(Continuation, Predicate) ->
- case Continuation() of
- stop ->
- true;
-
- {continue, E, Next} ->
- case Predicate(E) of
- true ->
- do_all(Next, Predicate);
-
- false ->
- false
- end
- end.
-
--spec all(iterator(BXG), fun((BXG) -> boolean())) -> boolean().
-all(Iterator, Predicate) ->
- _pipe = erlang:element(2, Iterator),
- do_all(_pipe, Predicate).
-
--spec update_group_with(BXI) -> fun((gleam@option:option(list(BXI))) -> list(BXI)).
-update_group_with(El) ->
- fun(Maybe_group) -> case Maybe_group of
- {some, Group} ->
- [El | Group];
-
- none ->
- [El]
- end end.
-
--spec group_updater(fun((BXM) -> BXN)) -> fun((gleam@dict:dict(BXN, list(BXM)), BXM) -> gleam@dict:dict(BXN, list(BXM))).
-group_updater(F) ->
- fun(Groups, Elem) -> _pipe = Groups,
- gleam@dict:update(_pipe, F(Elem), update_group_with(Elem)) end.
-
--spec group(iterator(BXU), fun((BXU) -> BXW)) -> gleam@dict:dict(BXW, list(BXU)).
-group(Iterator, Key) ->
- _pipe = Iterator,
- _pipe@1 = fold(_pipe, gleam@dict:new(), group_updater(Key)),
- gleam@dict:map_values(
- _pipe@1,
- fun(_, Group) -> gleam@list:reverse(Group) end
- ).
-
--spec reduce(iterator(BYA), fun((BYA, BYA) -> BYA)) -> {ok, BYA} | {error, nil}.
-reduce(Iterator, F) ->
- case (erlang:element(2, Iterator))() of
- stop ->
- {error, nil};
-
- {continue, E, Next} ->
- _pipe = do_fold(Next, F, E),
- {ok, _pipe}
- end.
-
--spec last(iterator(BYE)) -> {ok, BYE} | {error, nil}.
-last(Iterator) ->
- _pipe = Iterator,
- reduce(_pipe, fun(_, Elem) -> Elem end).
-
--spec empty() -> iterator(any()).
-empty() ->
- {iterator, fun stop/0}.
-
--spec once(fun(() -> BYK)) -> iterator(BYK).
-once(F) ->
- _pipe = fun() -> {continue, F(), fun stop/0} end,
- {iterator, _pipe}.
-
--spec range(integer(), integer()) -> iterator(integer()).
-range(Start, Stop) ->
- case gleam@int:compare(Start, Stop) of
- eq ->
- once(fun() -> Start end);
-
- gt ->
- unfold(Start, fun(Current) -> case Current < Stop of
- false ->
- {next, Current, Current - 1};
-
- true ->
- done
- end end);
-
- lt ->
- unfold(Start, fun(Current@1) -> case Current@1 > Stop of
- false ->
- {next, Current@1, Current@1 + 1};
-
- true ->
- done
- end end)
- end.
-
--spec single(BYM) -> iterator(BYM).
-single(Elem) ->
- once(fun() -> Elem end).
-
--spec do_interleave(fun(() -> action(BYO)), fun(() -> action(BYO))) -> action(BYO).
-do_interleave(Current, Next) ->
- case Current() of
- stop ->
- Next();
-
- {continue, E, Next_other} ->
- {continue, E, fun() -> do_interleave(Next, Next_other) end}
- end.
-
--spec interleave(iterator(BYS), iterator(BYS)) -> iterator(BYS).
-interleave(Left, Right) ->
- _pipe = fun() ->
- do_interleave(erlang:element(2, Left), erlang:element(2, Right))
- end,
- {iterator, _pipe}.
-
--spec do_fold_until(
- fun(() -> action(BYW)),
- fun((BYY, BYW) -> gleam@list:continue_or_stop(BYY)),
- BYY
-) -> BYY.
-do_fold_until(Continuation, F, Accumulator) ->
- case Continuation() of
- stop ->
- Accumulator;
-
- {continue, Elem, Next} ->
- case F(Accumulator, Elem) of
- {continue, Accumulator@1} ->
- do_fold_until(Next, F, Accumulator@1);
-
- {stop, Accumulator@2} ->
- Accumulator@2
- end
- end.
-
--spec fold_until(
- iterator(BZA),
- BZC,
- fun((BZC, BZA) -> gleam@list:continue_or_stop(BZC))
-) -> BZC.
-fold_until(Iterator, Initial, F) ->
- _pipe = erlang:element(2, Iterator),
- do_fold_until(_pipe, F, Initial).
-
--spec do_try_fold(
- fun(() -> action(BZE)),
- fun((BZG, BZE) -> {ok, BZG} | {error, BZH}),
- BZG
-) -> {ok, BZG} | {error, BZH}.
-do_try_fold(Continuation, F, Accumulator) ->
- case Continuation() of
- stop ->
- {ok, Accumulator};
-
- {continue, Elem, Next} ->
- gleam@result:'try'(
- F(Accumulator, Elem),
- fun(Accumulator@1) -> do_try_fold(Next, F, Accumulator@1) end
- )
- end.
-
--spec try_fold(iterator(BZM), BZO, fun((BZO, BZM) -> {ok, BZO} | {error, BZP})) -> {ok,
- BZO} |
- {error, BZP}.
-try_fold(Iterator, Initial, F) ->
- _pipe = erlang:element(2, Iterator),
- do_try_fold(_pipe, F, Initial).
-
--spec first(iterator(BZU)) -> {ok, BZU} | {error, nil}.
-first(Iterator) ->
- case (erlang:element(2, Iterator))() of
- stop ->
- {error, nil};
-
- {continue, E, _} ->
- {ok, E}
- end.
-
--spec at(iterator(BZY), integer()) -> {ok, BZY} | {error, nil}.
-at(Iterator, Index) ->
- _pipe = Iterator,
- _pipe@1 = drop(_pipe, Index),
- first(_pipe@1).
-
--spec do_length(fun(() -> action(any())), integer()) -> integer().
-do_length(Continuation, Length) ->
- case Continuation() of
- stop ->
- Length;
-
- {continue, _, Next} ->
- do_length(Next, Length + 1)
- end.
-
--spec length(iterator(any())) -> integer().
-length(Iterator) ->
- _pipe = erlang:element(2, Iterator),
- do_length(_pipe, 0).
-
--spec each(iterator(CAG), fun((CAG) -> any())) -> nil.
-each(Iterator, F) ->
- _pipe = Iterator,
- _pipe@1 = map(_pipe, F),
- run(_pipe@1).
-
--spec yield(CAJ, fun(() -> iterator(CAJ))) -> iterator(CAJ).
-yield(Element, Next) ->
- {iterator, fun() -> {continue, Element, erlang:element(2, Next())} end}.
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam@list.erl b/aoc2023/build/packages/gleam_stdlib/src/gleam@list.erl
deleted file mode 100644
index 6c2e684..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam@list.erl
+++ /dev/null
@@ -1,1129 +0,0 @@
--module(gleam@list).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([length/1, reverse/1, is_empty/1, contains/2, first/1, rest/1, filter/2, filter_map/2, map/2, map2/3, index_map/2, try_map/2, drop/2, take/2, new/0, append/2, prepend/2, concat/1, flatten/1, flat_map/2, fold/3, group/2, map_fold/3, fold_right/3, index_fold/3, try_fold/3, fold_until/3, find/2, find_map/2, all/2, any/2, zip/2, strict_zip/2, unzip/1, intersperse/2, at/2, unique/1, sort/2, range/2, repeat/2, split/2, split_while/2, key_find/2, key_filter/2, pop/2, pop_map/2, key_pop/2, key_set/3, each/2, try_each/2, partition/2, permutations/1, window/2, window_by_2/1, drop_while/2, take_while/2, chunk/2, sized_chunk/2, reduce/2, scan/3, last/1, combinations/2, combination_pairs/1, transpose/1, interleave/1, shuffle/1]).
--export_type([length_mismatch/0, continue_or_stop/1]).
-
--type length_mismatch() :: length_mismatch.
-
--type continue_or_stop(UD) :: {continue, UD} | {stop, UD}.
-
--spec length(list(any())) -> integer().
-length(List) ->
- erlang:length(List).
-
--spec reverse(list(UI)) -> list(UI).
-reverse(Xs) ->
- lists:reverse(Xs).
-
--spec is_empty(list(any())) -> boolean().
-is_empty(List) ->
- List =:= [].
-
--spec contains(list(UQ), UQ) -> boolean().
-contains(List, Elem) ->
- case List of
- [] ->
- false;
-
- [First | _] when First =:= Elem ->
- true;
-
- [_ | Rest] ->
- contains(Rest, Elem)
- end.
-
--spec first(list(US)) -> {ok, US} | {error, nil}.
-first(List) ->
- case List of
- [] ->
- {error, nil};
-
- [X | _] ->
- {ok, X}
- end.
-
--spec rest(list(UW)) -> {ok, list(UW)} | {error, nil}.
-rest(List) ->
- case List of
- [] ->
- {error, nil};
-
- [_ | Xs] ->
- {ok, Xs}
- end.
-
--spec update_group(fun((VB) -> VC)) -> fun((gleam@dict:dict(VC, list(VB)), VB) -> gleam@dict:dict(VC, list(VB))).
-update_group(F) ->
- fun(Groups, Elem) -> case gleam@dict:get(Groups, F(Elem)) of
- {ok, Existing} ->
- gleam@dict:insert(Groups, F(Elem), [Elem | Existing]);
-
- {error, _} ->
- gleam@dict:insert(Groups, F(Elem), [Elem])
- end end.
-
--spec do_filter(list(VP), fun((VP) -> boolean()), list(VP)) -> list(VP).
-do_filter(List, Fun, Acc) ->
- case List of
- [] ->
- reverse(Acc);
-
- [X | Xs] ->
- New_acc = case Fun(X) of
- true ->
- [X | Acc];
-
- false ->
- Acc
- end,
- do_filter(Xs, Fun, New_acc)
- end.
-
--spec filter(list(VT), fun((VT) -> boolean())) -> list(VT).
-filter(List, Predicate) ->
- do_filter(List, Predicate, []).
-
--spec do_filter_map(list(VW), fun((VW) -> {ok, VY} | {error, any()}), list(VY)) -> list(VY).
-do_filter_map(List, Fun, Acc) ->
- case List of
- [] ->
- reverse(Acc);
-
- [X | Xs] ->
- New_acc = case Fun(X) of
- {ok, X@1} ->
- [X@1 | Acc];
-
- {error, _} ->
- Acc
- end,
- do_filter_map(Xs, Fun, New_acc)
- end.
-
--spec filter_map(list(WE), fun((WE) -> {ok, WG} | {error, any()})) -> list(WG).
-filter_map(List, Fun) ->
- do_filter_map(List, Fun, []).
-
--spec do_map(list(WL), fun((WL) -> WN), list(WN)) -> list(WN).
-do_map(List, Fun, Acc) ->
- case List of
- [] ->
- reverse(Acc);
-
- [X | Xs] ->
- do_map(Xs, Fun, [Fun(X) | Acc])
- end.
-
--spec map(list(WQ), fun((WQ) -> WS)) -> list(WS).
-map(List, Fun) ->
- do_map(List, Fun, []).
-
--spec do_map2(list(XA), list(XC), fun((XA, XC) -> XE), list(XE)) -> list(XE).
-do_map2(List1, List2, Fun, Acc) ->
- case {List1, List2} of
- {[], _} ->
- reverse(Acc);
-
- {_, []} ->
- reverse(Acc);
-
- {[A | As_], [B | Bs]} ->
- do_map2(As_, Bs, Fun, [Fun(A, B) | Acc])
- end.
-
--spec map2(list(WU), list(WW), fun((WU, WW) -> WY)) -> list(WY).
-map2(List1, List2, Fun) ->
- do_map2(List1, List2, Fun, []).
-
--spec do_index_map(list(XM), fun((integer(), XM) -> XO), integer(), list(XO)) -> list(XO).
-do_index_map(List, Fun, Index, Acc) ->
- case List of
- [] ->
- reverse(Acc);
-
- [X | Xs] ->
- Acc@1 = [Fun(Index, X) | Acc],
- do_index_map(Xs, Fun, Index + 1, Acc@1)
- end.
-
--spec index_map(list(XR), fun((integer(), XR) -> XT)) -> list(XT).
-index_map(List, Fun) ->
- do_index_map(List, Fun, 0, []).
-
--spec do_try_map(list(XV), fun((XV) -> {ok, XX} | {error, XY}), list(XX)) -> {ok,
- list(XX)} |
- {error, XY}.
-do_try_map(List, Fun, Acc) ->
- case List of
- [] ->
- {ok, reverse(Acc)};
-
- [X | Xs] ->
- case Fun(X) of
- {ok, Y} ->
- do_try_map(Xs, Fun, [Y | Acc]);
-
- {error, Error} ->
- {error, Error}
- end
- end.
-
--spec try_map(list(YF), fun((YF) -> {ok, YH} | {error, YI})) -> {ok, list(YH)} |
- {error, YI}.
-try_map(List, Fun) ->
- do_try_map(List, Fun, []).
-
--spec drop(list(YO), integer()) -> list(YO).
-drop(List, N) ->
- case N =< 0 of
- true ->
- List;
-
- false ->
- case List of
- [] ->
- [];
-
- [_ | Xs] ->
- drop(Xs, N - 1)
- end
- end.
-
--spec do_take(list(YR), integer(), list(YR)) -> list(YR).
-do_take(List, N, Acc) ->
- case N =< 0 of
- true ->
- reverse(Acc);
-
- false ->
- case List of
- [] ->
- reverse(Acc);
-
- [X | Xs] ->
- do_take(Xs, N - 1, [X | Acc])
- end
- end.
-
--spec take(list(YV), integer()) -> list(YV).
-take(List, N) ->
- do_take(List, N, []).
-
--spec new() -> list(any()).
-new() ->
- [].
-
--spec append(list(AAA), list(AAA)) -> list(AAA).
-append(First, Second) ->
- lists:append(First, Second).
-
--spec prepend(list(AAI), AAI) -> list(AAI).
-prepend(List, Item) ->
- [Item | List].
-
--spec reverse_and_prepend(list(AAL), list(AAL)) -> list(AAL).
-reverse_and_prepend(Prefix, Suffix) ->
- case Prefix of
- [] ->
- Suffix;
-
- [First | Rest] ->
- reverse_and_prepend(Rest, [First | Suffix])
- end.
-
--spec do_concat(list(list(AAP)), list(AAP)) -> list(AAP).
-do_concat(Lists, Acc) ->
- case Lists of
- [] ->
- reverse(Acc);
-
- [List | Further_lists] ->
- do_concat(Further_lists, reverse_and_prepend(List, Acc))
- end.
-
--spec concat(list(list(AAU))) -> list(AAU).
-concat(Lists) ->
- do_concat(Lists, []).
-
--spec flatten(list(list(AAY))) -> list(AAY).
-flatten(Lists) ->
- do_concat(Lists, []).
-
--spec flat_map(list(ABC), fun((ABC) -> list(ABE))) -> list(ABE).
-flat_map(List, Fun) ->
- _pipe = map(List, Fun),
- concat(_pipe).
-
--spec fold(list(ABH), ABJ, fun((ABJ, ABH) -> ABJ)) -> ABJ.
-fold(List, Initial, Fun) ->
- case List of
- [] ->
- Initial;
-
- [X | Rest] ->
- fold(Rest, Fun(Initial, X), Fun)
- end.
-
--spec group(list(VJ), fun((VJ) -> VL)) -> gleam@dict:dict(VL, list(VJ)).
-group(List, Key) ->
- fold(List, gleam@dict:new(), update_group(Key)).
-
--spec map_fold(list(XH), XJ, fun((XJ, XH) -> {XJ, XK})) -> {XJ, list(XK)}.
-map_fold(List, Acc, Fun) ->
- _pipe = fold(
- List,
- {Acc, []},
- fun(Acc@1, Item) ->
- {Current_acc, Items} = Acc@1,
- {Next_acc, Next_item} = Fun(Current_acc, Item),
- {Next_acc, [Next_item | Items]}
- end
- ),
- gleam@pair:map_second(_pipe, fun reverse/1).
-
--spec fold_right(list(ABK), ABM, fun((ABM, ABK) -> ABM)) -> ABM.
-fold_right(List, Initial, Fun) ->
- case List of
- [] ->
- Initial;
-
- [X | Rest] ->
- Fun(fold_right(Rest, Initial, Fun), X)
- end.
-
--spec do_index_fold(
- list(ABN),
- ABP,
- fun((ABP, ABN, integer()) -> ABP),
- integer()
-) -> ABP.
-do_index_fold(Over, Acc, With, Index) ->
- case Over of
- [] ->
- Acc;
-
- [First | Rest] ->
- do_index_fold(Rest, With(Acc, First, Index), With, Index + 1)
- end.
-
--spec index_fold(list(ABQ), ABS, fun((ABS, ABQ, integer()) -> ABS)) -> ABS.
-index_fold(Over, Initial, Fun) ->
- do_index_fold(Over, Initial, Fun, 0).
-
--spec try_fold(list(ABT), ABV, fun((ABV, ABT) -> {ok, ABV} | {error, ABW})) -> {ok,
- ABV} |
- {error, ABW}.
-try_fold(Collection, Accumulator, Fun) ->
- case Collection of
- [] ->
- {ok, Accumulator};
-
- [First | Rest] ->
- case Fun(Accumulator, First) of
- {ok, Result} ->
- try_fold(Rest, Result, Fun);
-
- {error, _} = Error ->
- Error
- end
- end.
-
--spec fold_until(list(ACB), ACD, fun((ACD, ACB) -> continue_or_stop(ACD))) -> ACD.
-fold_until(Collection, Accumulator, Fun) ->
- case Collection of
- [] ->
- Accumulator;
-
- [First | Rest] ->
- case Fun(Accumulator, First) of
- {continue, Next_accumulator} ->
- fold_until(Rest, Next_accumulator, Fun);
-
- {stop, B} ->
- B
- end
- end.
-
--spec find(list(ACF), fun((ACF) -> boolean())) -> {ok, ACF} | {error, nil}.
-find(Haystack, Is_desired) ->
- case Haystack of
- [] ->
- {error, nil};
-
- [X | Rest] ->
- case Is_desired(X) of
- true ->
- {ok, X};
-
- _ ->
- find(Rest, Is_desired)
- end
- end.
-
--spec find_map(list(ACJ), fun((ACJ) -> {ok, ACL} | {error, any()})) -> {ok, ACL} |
- {error, nil}.
-find_map(Haystack, Fun) ->
- case Haystack of
- [] ->
- {error, nil};
-
- [X | Rest] ->
- case Fun(X) of
- {ok, X@1} ->
- {ok, X@1};
-
- _ ->
- find_map(Rest, Fun)
- end
- end.
-
--spec all(list(ACR), fun((ACR) -> boolean())) -> boolean().
-all(List, Predicate) ->
- case List of
- [] ->
- true;
-
- [First | Rest] ->
- case Predicate(First) of
- true ->
- all(Rest, Predicate);
-
- false ->
- false
- end
- end.
-
--spec any(list(ACT), fun((ACT) -> boolean())) -> boolean().
-any(List, Predicate) ->
- case List of
- [] ->
- false;
-
- [First | Rest] ->
- case Predicate(First) of
- true ->
- true;
-
- false ->
- any(Rest, Predicate)
- end
- end.
-
--spec do_zip(list(ACV), list(ACX), list({ACV, ACX})) -> list({ACV, ACX}).
-do_zip(Xs, Ys, Acc) ->
- case {Xs, Ys} of
- {[X | Xs@1], [Y | Ys@1]} ->
- do_zip(Xs@1, Ys@1, [{X, Y} | Acc]);
-
- {_, _} ->
- reverse(Acc)
- end.
-
--spec zip(list(ADB), list(ADD)) -> list({ADB, ADD}).
-zip(List, Other) ->
- do_zip(List, Other, []).
-
--spec strict_zip(list(ADG), list(ADI)) -> {ok, list({ADG, ADI})} |
- {error, length_mismatch()}.
-strict_zip(List, Other) ->
- case length(List) =:= length(Other) of
- true ->
- {ok, zip(List, Other)};
-
- false ->
- {error, length_mismatch}
- end.
-
--spec do_unzip(list({ATA, ATB}), list(ATA), list(ATB)) -> {list(ATA), list(ATB)}.
-do_unzip(Input, Xs, Ys) ->
- case Input of
- [] ->
- {reverse(Xs), reverse(Ys)};
-
- [{X, Y} | Rest] ->
- do_unzip(Rest, [X | Xs], [Y | Ys])
- end.
-
--spec unzip(list({ADR, ADS})) -> {list(ADR), list(ADS)}.
-unzip(Input) ->
- do_unzip(Input, [], []).
-
--spec do_intersperse(list(ADW), ADW, list(ADW)) -> list(ADW).
-do_intersperse(List, Separator, Acc) ->
- case List of
- [] ->
- reverse(Acc);
-
- [X | Rest] ->
- do_intersperse(Rest, Separator, [X, Separator | Acc])
- end.
-
--spec intersperse(list(AEA), AEA) -> list(AEA).
-intersperse(List, Elem) ->
- case List of
- [] ->
- List;
-
- [_] ->
- List;
-
- [X | Rest] ->
- do_intersperse(Rest, Elem, [X])
- end.
-
--spec at(list(AED), integer()) -> {ok, AED} | {error, nil}.
-at(List, Index) ->
- case Index >= 0 of
- true ->
- _pipe = List,
- _pipe@1 = drop(_pipe, Index),
- first(_pipe@1);
-
- false ->
- {error, nil}
- end.
-
--spec unique(list(AEH)) -> list(AEH).
-unique(List) ->
- case List of
- [] ->
- [];
-
- [X | Rest] ->
- [X | unique(filter(Rest, fun(Y) -> Y /= X end))]
- end.
-
--spec merge_up(
- integer(),
- integer(),
- list(AEK),
- list(AEK),
- list(AEK),
- fun((AEK, AEK) -> gleam@order:order())
-) -> list(AEK).
-merge_up(Na, Nb, A, B, Acc, Compare) ->
- case {Na, Nb, A, B} of
- {0, 0, _, _} ->
- Acc;
-
- {_, 0, [Ax | Ar], _} ->
- merge_up(Na - 1, Nb, Ar, B, [Ax | Acc], Compare);
-
- {0, _, _, [Bx | Br]} ->
- merge_up(Na, Nb - 1, A, Br, [Bx | Acc], Compare);
-
- {_, _, [Ax@1 | Ar@1], [Bx@1 | Br@1]} ->
- case Compare(Ax@1, Bx@1) of
- gt ->
- merge_up(Na, Nb - 1, A, Br@1, [Bx@1 | Acc], Compare);
-
- _ ->
- merge_up(Na - 1, Nb, Ar@1, B, [Ax@1 | Acc], Compare)
- end;
-
- {_, _, _, _} ->
- Acc
- end.
-
--spec merge_down(
- integer(),
- integer(),
- list(AEP),
- list(AEP),
- list(AEP),
- fun((AEP, AEP) -> gleam@order:order())
-) -> list(AEP).
-merge_down(Na, Nb, A, B, Acc, Compare) ->
- case {Na, Nb, A, B} of
- {0, 0, _, _} ->
- Acc;
-
- {_, 0, [Ax | Ar], _} ->
- merge_down(Na - 1, Nb, Ar, B, [Ax | Acc], Compare);
-
- {0, _, _, [Bx | Br]} ->
- merge_down(Na, Nb - 1, A, Br, [Bx | Acc], Compare);
-
- {_, _, [Ax@1 | Ar@1], [Bx@1 | Br@1]} ->
- case Compare(Bx@1, Ax@1) of
- lt ->
- merge_down(Na - 1, Nb, Ar@1, B, [Ax@1 | Acc], Compare);
-
- _ ->
- merge_down(Na, Nb - 1, A, Br@1, [Bx@1 | Acc], Compare)
- end;
-
- {_, _, _, _} ->
- Acc
- end.
-
--spec merge_sort(
- list(AEU),
- integer(),
- fun((AEU, AEU) -> gleam@order:order()),
- boolean()
-) -> list(AEU).
-merge_sort(L, Ln, Compare, Down) ->
- N = Ln div 2,
- A = L,
- B = drop(L, N),
- case Ln < 3 of
- true ->
- case Down of
- true ->
- merge_down(N, Ln - N, A, B, [], Compare);
-
- false ->
- merge_up(N, Ln - N, A, B, [], Compare)
- end;
-
- false ->
- case Down of
- true ->
- merge_down(
- N,
- Ln - N,
- merge_sort(A, N, Compare, false),
- merge_sort(B, Ln - N, Compare, false),
- [],
- Compare
- );
-
- false ->
- merge_up(
- N,
- Ln - N,
- merge_sort(A, N, Compare, true),
- merge_sort(B, Ln - N, Compare, true),
- [],
- Compare
- )
- end
- end.
-
--spec sort(list(AEX), fun((AEX, AEX) -> gleam@order:order())) -> list(AEX).
-sort(List, Compare) ->
- merge_sort(List, length(List), Compare, true).
-
--spec tail_recursive_range(integer(), integer(), list(integer())) -> list(integer()).
-tail_recursive_range(Start, Stop, Acc) ->
- case gleam@int:compare(Start, Stop) of
- eq ->
- [Stop | Acc];
-
- gt ->
- tail_recursive_range(Start, Stop + 1, [Stop | Acc]);
-
- lt ->
- tail_recursive_range(Start, Stop - 1, [Stop | Acc])
- end.
-
--spec range(integer(), integer()) -> list(integer()).
-range(Start, Stop) ->
- tail_recursive_range(Start, Stop, []).
-
--spec do_repeat(AFD, integer(), list(AFD)) -> list(AFD).
-do_repeat(A, Times, Acc) ->
- case Times =< 0 of
- true ->
- Acc;
-
- false ->
- do_repeat(A, Times - 1, [A | Acc])
- end.
-
--spec repeat(AFG, integer()) -> list(AFG).
-repeat(A, Times) ->
- do_repeat(A, Times, []).
-
--spec do_split(list(AFI), integer(), list(AFI)) -> {list(AFI), list(AFI)}.
-do_split(List, N, Taken) ->
- case N =< 0 of
- true ->
- {reverse(Taken), List};
-
- false ->
- case List of
- [] ->
- {reverse(Taken), []};
-
- [X | Xs] ->
- do_split(Xs, N - 1, [X | Taken])
- end
- end.
-
--spec split(list(AFN), integer()) -> {list(AFN), list(AFN)}.
-split(List, Index) ->
- do_split(List, Index, []).
-
--spec do_split_while(list(AFR), fun((AFR) -> boolean()), list(AFR)) -> {list(AFR),
- list(AFR)}.
-do_split_while(List, F, Acc) ->
- case List of
- [] ->
- {reverse(Acc), []};
-
- [X | Xs] ->
- case F(X) of
- false ->
- {reverse(Acc), List};
-
- _ ->
- do_split_while(Xs, F, [X | Acc])
- end
- end.
-
--spec split_while(list(AFW), fun((AFW) -> boolean())) -> {list(AFW), list(AFW)}.
-split_while(List, Predicate) ->
- do_split_while(List, Predicate, []).
-
--spec key_find(list({AGA, AGB}), AGA) -> {ok, AGB} | {error, nil}.
-key_find(Keyword_list, Desired_key) ->
- find_map(
- Keyword_list,
- fun(Keyword) ->
- {Key, Value} = Keyword,
- case Key =:= Desired_key of
- true ->
- {ok, Value};
-
- false ->
- {error, nil}
- end
- end
- ).
-
--spec key_filter(list({AGF, AGG}), AGF) -> list(AGG).
-key_filter(Keyword_list, Desired_key) ->
- filter_map(
- Keyword_list,
- fun(Keyword) ->
- {Key, Value} = Keyword,
- case Key =:= Desired_key of
- true ->
- {ok, Value};
-
- false ->
- {error, nil}
- end
- end
- ).
-
--spec do_pop(list(AWT), fun((AWT) -> boolean()), list(AWT)) -> {ok,
- {AWT, list(AWT)}} |
- {error, nil}.
-do_pop(Haystack, Predicate, Checked) ->
- case Haystack of
- [] ->
- {error, nil};
-
- [X | Rest] ->
- case Predicate(X) of
- true ->
- {ok, {X, append(reverse(Checked), Rest)}};
-
- false ->
- do_pop(Rest, Predicate, [X | Checked])
- end
- end.
-
--spec pop(list(AGN), fun((AGN) -> boolean())) -> {ok, {AGN, list(AGN)}} |
- {error, nil}.
-pop(Haystack, Is_desired) ->
- do_pop(Haystack, Is_desired, []).
-
--spec do_pop_map(list(AXH), fun((AXH) -> {ok, AXU} | {error, any()}), list(AXH)) -> {ok,
- {AXU, list(AXH)}} |
- {error, nil}.
-do_pop_map(Haystack, Mapper, Checked) ->
- case Haystack of
- [] ->
- {error, nil};
-
- [X | Rest] ->
- case Mapper(X) of
- {ok, Y} ->
- {ok, {Y, append(reverse(Checked), Rest)}};
-
- {error, _} ->
- do_pop_map(Rest, Mapper, [X | Checked])
- end
- end.
-
--spec pop_map(list(AGW), fun((AGW) -> {ok, AGY} | {error, any()})) -> {ok,
- {AGY, list(AGW)}} |
- {error, nil}.
-pop_map(Haystack, Is_desired) ->
- do_pop_map(Haystack, Is_desired, []).
-
--spec key_pop(list({AHF, AHG}), AHF) -> {ok, {AHG, list({AHF, AHG})}} |
- {error, nil}.
-key_pop(Haystack, Key) ->
- pop_map(
- Haystack,
- fun(Entry) ->
- {K, V} = Entry,
- case K of
- K@1 when K@1 =:= Key ->
- {ok, V};
-
- _ ->
- {error, nil}
- end
- end
- ).
-
--spec key_set(list({AHL, AHM}), AHL, AHM) -> list({AHL, AHM}).
-key_set(List, Key, Value) ->
- case List of
- [] ->
- [{Key, Value}];
-
- [{K, _} | Rest] when K =:= Key ->
- [{Key, Value} | Rest];
-
- [First | Rest@1] ->
- [First | key_set(Rest@1, Key, Value)]
- end.
-
--spec each(list(AHP), fun((AHP) -> any())) -> nil.
-each(List, F) ->
- case List of
- [] ->
- nil;
-
- [X | Xs] ->
- F(X),
- each(Xs, F)
- end.
-
--spec try_each(list(AHS), fun((AHS) -> {ok, any()} | {error, AHV})) -> {ok, nil} |
- {error, AHV}.
-try_each(List, Fun) ->
- case List of
- [] ->
- {ok, nil};
-
- [X | Xs] ->
- case Fun(X) of
- {ok, _} ->
- try_each(Xs, Fun);
-
- {error, E} ->
- {error, E}
- end
- end.
-
--spec do_partition(list(AZB), fun((AZB) -> boolean()), list(AZB), list(AZB)) -> {list(AZB),
- list(AZB)}.
-do_partition(List, Categorise, Trues, Falses) ->
- case List of
- [] ->
- {reverse(Trues), reverse(Falses)};
-
- [X | Xs] ->
- case Categorise(X) of
- true ->
- do_partition(Xs, Categorise, [X | Trues], Falses);
-
- false ->
- do_partition(Xs, Categorise, Trues, [X | Falses])
- end
- end.
-
--spec partition(list(AIF), fun((AIF) -> boolean())) -> {list(AIF), list(AIF)}.
-partition(List, Categorise) ->
- do_partition(List, Categorise, [], []).
-
--spec permutations(list(AIJ)) -> list(list(AIJ)).
-permutations(L) ->
- case L of
- [] ->
- [[]];
-
- _ ->
- _pipe = L,
- _pipe@5 = index_map(_pipe, fun(I_idx, I) -> _pipe@1 = L,
- _pipe@2 = index_fold(
- _pipe@1,
- [],
- fun(Acc, J, J_idx) -> case I_idx =:= J_idx of
- true ->
- Acc;
-
- false ->
- [J | Acc]
- end end
- ),
- _pipe@3 = reverse(_pipe@2),
- _pipe@4 = permutations(_pipe@3),
- map(_pipe@4, fun(Permutation) -> [I | Permutation] end) end),
- concat(_pipe@5)
- end.
-
--spec do_window(list(list(AIN)), list(AIN), integer()) -> list(list(AIN)).
-do_window(Acc, L, N) ->
- Window = take(L, N),
- case length(Window) =:= N of
- true ->
- do_window([Window | Acc], drop(L, 1), N);
-
- false ->
- Acc
- end.
-
--spec window(list(AIT), integer()) -> list(list(AIT)).
-window(L, N) ->
- _pipe = do_window([], L, N),
- reverse(_pipe).
-
--spec window_by_2(list(AIX)) -> list({AIX, AIX}).
-window_by_2(L) ->
- zip(L, drop(L, 1)).
-
--spec drop_while(list(AJA), fun((AJA) -> boolean())) -> list(AJA).
-drop_while(List, Predicate) ->
- case List of
- [] ->
- [];
-
- [X | Xs] ->
- case Predicate(X) of
- true ->
- drop_while(Xs, Predicate);
-
- false ->
- [X | Xs]
- end
- end.
-
--spec do_take_while(list(AJD), fun((AJD) -> boolean()), list(AJD)) -> list(AJD).
-do_take_while(List, Predicate, Acc) ->
- case List of
- [] ->
- reverse(Acc);
-
- [First | Rest] ->
- case Predicate(First) of
- true ->
- do_take_while(Rest, Predicate, [First | Acc]);
-
- false ->
- reverse(Acc)
- end
- end.
-
--spec take_while(list(AJH), fun((AJH) -> boolean())) -> list(AJH).
-take_while(List, Predicate) ->
- do_take_while(List, Predicate, []).
-
--spec do_chunk(list(AJK), fun((AJK) -> AJM), AJM, list(AJK), list(list(AJK))) -> list(list(AJK)).
-do_chunk(List, F, Previous_key, Current_chunk, Acc) ->
- case List of
- [First | Rest] ->
- Key = F(First),
- case Key =:= Previous_key of
- false ->
- New_acc = [reverse(Current_chunk) | Acc],
- do_chunk(Rest, F, Key, [First], New_acc);
-
- _ ->
- do_chunk(Rest, F, Key, [First | Current_chunk], Acc)
- end;
-
- _ ->
- reverse([reverse(Current_chunk) | Acc])
- end.
-
--spec chunk(list(AJS), fun((AJS) -> any())) -> list(list(AJS)).
-chunk(List, F) ->
- case List of
- [] ->
- [];
-
- [First | Rest] ->
- do_chunk(Rest, F, F(First), [First], [])
- end.
-
--spec do_sized_chunk(
- list(AJX),
- integer(),
- integer(),
- list(AJX),
- list(list(AJX))
-) -> list(list(AJX)).
-do_sized_chunk(List, Count, Left, Current_chunk, Acc) ->
- case List of
- [] ->
- case Current_chunk of
- [] ->
- reverse(Acc);
-
- Remaining ->
- reverse([reverse(Remaining) | Acc])
- end;
-
- [First | Rest] ->
- Chunk = [First | Current_chunk],
- case Left > 1 of
- false ->
- do_sized_chunk(
- Rest,
- Count,
- Count,
- [],
- [reverse(Chunk) | Acc]
- );
-
- true ->
- do_sized_chunk(Rest, Count, Left - 1, Chunk, Acc)
- end
- end.
-
--spec sized_chunk(list(AKE), integer()) -> list(list(AKE)).
-sized_chunk(List, Count) ->
- do_sized_chunk(List, Count, Count, [], []).
-
--spec reduce(list(AKI), fun((AKI, AKI) -> AKI)) -> {ok, AKI} | {error, nil}.
-reduce(List, Fun) ->
- case List of
- [] ->
- {error, nil};
-
- [First | Rest] ->
- {ok, fold(Rest, First, Fun)}
- end.
-
--spec do_scan(list(AKM), AKO, list(AKO), fun((AKO, AKM) -> AKO)) -> list(AKO).
-do_scan(List, Accumulator, Accumulated, Fun) ->
- case List of
- [] ->
- reverse(Accumulated);
-
- [X | Xs] ->
- Next = Fun(Accumulator, X),
- do_scan(Xs, Next, [Next | Accumulated], Fun)
- end.
-
--spec scan(list(AKR), AKT, fun((AKT, AKR) -> AKT)) -> list(AKT).
-scan(List, Initial, Fun) ->
- do_scan(List, Initial, [], Fun).
-
--spec last(list(AKV)) -> {ok, AKV} | {error, nil}.
-last(List) ->
- _pipe = List,
- reduce(_pipe, fun(_, Elem) -> Elem end).
-
--spec combinations(list(AKZ), integer()) -> list(list(AKZ)).
-combinations(Items, N) ->
- case N of
- 0 ->
- [[]];
-
- _ ->
- case Items of
- [] ->
- [];
-
- [X | Xs] ->
- First_combinations = begin
- _pipe = map(
- combinations(Xs, N - 1),
- fun(Com) -> [X | Com] end
- ),
- reverse(_pipe)
- end,
- fold(
- First_combinations,
- combinations(Xs, N),
- fun(Acc, C) -> [C | Acc] end
- )
- end
- end.
-
--spec do_combination_pairs(list(ALD)) -> list(list({ALD, ALD})).
-do_combination_pairs(Items) ->
- case Items of
- [] ->
- [];
-
- [X | Xs] ->
- First_combinations = map(Xs, fun(Other) -> {X, Other} end),
- [First_combinations | do_combination_pairs(Xs)]
- end.
-
--spec combination_pairs(list(ALH)) -> list({ALH, ALH}).
-combination_pairs(Items) ->
- _pipe = do_combination_pairs(Items),
- concat(_pipe).
-
--spec transpose(list(list(ALO))) -> list(list(ALO)).
-transpose(List_of_list) ->
- Take_first = fun(List) -> case List of
- [] ->
- [];
-
- [F] ->
- [F];
-
- [F@1 | _] ->
- [F@1]
- end end,
- case List_of_list of
- [] ->
- [];
-
- [[] | Xss] ->
- transpose(Xss);
-
- Rows ->
- Firsts = begin
- _pipe = Rows,
- _pipe@1 = map(_pipe, Take_first),
- concat(_pipe@1)
- end,
- Rest = transpose(map(Rows, fun(_capture) -> drop(_capture, 1) end)),
- [Firsts | Rest]
- end.
-
--spec interleave(list(list(ALK))) -> list(ALK).
-interleave(List) ->
- _pipe = transpose(List),
- concat(_pipe).
-
--spec do_shuffle_pair_unwrap(list({float(), ALT}), list(ALT)) -> list(ALT).
-do_shuffle_pair_unwrap(List, Acc) ->
- case List of
- [] ->
- Acc;
-
- [Elem_pair | Enumerable] ->
- do_shuffle_pair_unwrap(
- Enumerable,
- [erlang:element(2, Elem_pair) | Acc]
- )
- end.
-
--spec do_shuffle_by_pair_indexes(list({float(), ALX})) -> list({float(), ALX}).
-do_shuffle_by_pair_indexes(List_of_pairs) ->
- sort(
- List_of_pairs,
- fun(A_pair, B_pair) ->
- gleam@float:compare(
- erlang:element(1, A_pair),
- erlang:element(1, B_pair)
- )
- end
- ).
-
--spec shuffle(list(AMA)) -> list(AMA).
-shuffle(List) ->
- _pipe = List,
- _pipe@1 = fold(
- _pipe,
- [],
- fun(Acc, A) -> [{gleam@float:random(+0.0, 1.0), A} | Acc] end
- ),
- _pipe@2 = do_shuffle_by_pair_indexes(_pipe@1),
- do_shuffle_pair_unwrap(_pipe@2, []).
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam@map.erl b/aoc2023/build/packages/gleam_stdlib/src/gleam@map.erl
deleted file mode 100644
index 33e89a9..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam@map.erl
+++ /dev/null
@@ -1,76 +0,0 @@
--module(gleam@map).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([size/1, to_list/1, from_list/1, has_key/2, new/0, get/2, insert/3, map_values/2, keys/1, values/1, filter/2, take/2, merge/2, delete/2, drop/2, update/3, fold/3]).
-
--spec size(gleam@dict:dict(any(), any())) -> integer().
-size(Map) ->
- gleam@dict:size(Map).
-
--spec to_list(gleam@dict:dict(DAJ, DAK)) -> list({DAJ, DAK}).
-to_list(Map) ->
- gleam@dict:to_list(Map).
-
--spec from_list(list({DAM, DAN})) -> gleam@dict:dict(DAM, DAN).
-from_list(List) ->
- gleam@dict:from_list(List).
-
--spec has_key(gleam@dict:dict(DAR, any()), DAR) -> boolean().
-has_key(Map, Key) ->
- gleam@dict:has_key(Map, Key).
-
--spec new() -> gleam@dict:dict(any(), any()).
-new() ->
- gleam@dict:new().
-
--spec get(gleam@dict:dict(DAU, DAV), DAU) -> {ok, DAV} | {error, nil}.
-get(From, Get) ->
- gleam@dict:get(From, Get).
-
--spec insert(gleam@dict:dict(DAZ, DBA), DAZ, DBA) -> gleam@dict:dict(DAZ, DBA).
-insert(Map, Key, Value) ->
- gleam@dict:insert(Map, Key, Value).
-
--spec map_values(gleam@dict:dict(DBD, DBE), fun((DBD, DBE) -> DBF)) -> gleam@dict:dict(DBD, DBF).
-map_values(Map, Fun) ->
- gleam@dict:map_values(Map, Fun).
-
--spec keys(gleam@dict:dict(DBI, any())) -> list(DBI).
-keys(Map) ->
- gleam@dict:keys(Map).
-
--spec values(gleam@dict:dict(any(), DBL)) -> list(DBL).
-values(Map) ->
- gleam@dict:values(Map).
-
--spec filter(gleam@dict:dict(DBO, DBP), fun((DBO, DBP) -> boolean())) -> gleam@dict:dict(DBO, DBP).
-filter(Map, Predicate) ->
- gleam@dict:filter(Map, Predicate).
-
--spec take(gleam@dict:dict(DBS, DDM), list(DBS)) -> gleam@dict:dict(DBS, DDM).
-take(Map, Desired_keys) ->
- gleam@dict:take(Map, Desired_keys).
-
--spec merge(gleam@dict:dict(DDN, DDO), gleam@dict:dict(DDN, DDO)) -> gleam@dict:dict(DDN, DDO).
-merge(Map, New_entries) ->
- gleam@dict:merge(Map, New_entries).
-
--spec delete(gleam@dict:dict(DBZ, DDQ), DBZ) -> gleam@dict:dict(DBZ, DDQ).
-delete(Map, Key) ->
- gleam@dict:delete(Map, Key).
-
--spec drop(gleam@dict:dict(DCC, DDS), list(DCC)) -> gleam@dict:dict(DCC, DDS).
-drop(Map, Disallowed_keys) ->
- gleam@dict:drop(Map, Disallowed_keys).
-
--spec update(
- gleam@dict:dict(DCG, DCH),
- DCG,
- fun((gleam@option:option(DCH)) -> DCH)
-) -> gleam@dict:dict(DCG, DCH).
-update(Map, Key, Fun) ->
- gleam@dict:update(Map, Key, Fun).
-
--spec fold(gleam@dict:dict(DCM, DCN), DCL, fun((DCL, DCM, DCN) -> DCL)) -> DCL.
-fold(Map, Initial, Fun) ->
- gleam@dict:fold(Map, Initial, Fun).
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam@option.erl b/aoc2023/build/packages/gleam_stdlib/src/gleam@option.erl
deleted file mode 100644
index 5c20713..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam@option.erl
+++ /dev/null
@@ -1,147 +0,0 @@
--module(gleam@option).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([all/1, is_some/1, is_none/1, to_result/2, from_result/1, unwrap/2, lazy_unwrap/2, map/2, flatten/1, then/2, 'or'/2, lazy_or/2, values/1]).
--export_type([option/1]).
-
--type option(GB) :: {some, GB} | none.
-
--spec do_all(list(option(GC)), list(GC)) -> option(list(GC)).
-do_all(List, Acc) ->
- case List of
- [] ->
- {some, Acc};
-
- [X | Rest] ->
- Accumulate = fun(Acc@1, Item) -> case {Acc@1, Item} of
- {{some, Values}, {some, Value}} ->
- {some, [Value | Values]};
-
- {_, _} ->
- none
- end end,
- Accumulate(do_all(Rest, Acc), X)
- end.
-
--spec all(list(option(GI))) -> option(list(GI)).
-all(List) ->
- do_all(List, []).
-
--spec is_some(option(any())) -> boolean().
-is_some(Option) ->
- Option /= none.
-
--spec is_none(option(any())) -> boolean().
-is_none(Option) ->
- Option =:= none.
-
--spec to_result(option(GR), GU) -> {ok, GR} | {error, GU}.
-to_result(Option, E) ->
- case Option of
- {some, A} ->
- {ok, A};
-
- _ ->
- {error, E}
- end.
-
--spec from_result({ok, GX} | {error, any()}) -> option(GX).
-from_result(Result) ->
- case Result of
- {ok, A} ->
- {some, A};
-
- _ ->
- none
- end.
-
--spec unwrap(option(HC), HC) -> HC.
-unwrap(Option, Default) ->
- case Option of
- {some, X} ->
- X;
-
- none ->
- Default
- end.
-
--spec lazy_unwrap(option(HE), fun(() -> HE)) -> HE.
-lazy_unwrap(Option, Default) ->
- case Option of
- {some, X} ->
- X;
-
- none ->
- Default()
- end.
-
--spec map(option(HG), fun((HG) -> HI)) -> option(HI).
-map(Option, Fun) ->
- case Option of
- {some, X} ->
- {some, Fun(X)};
-
- none ->
- none
- end.
-
--spec flatten(option(option(HK))) -> option(HK).
-flatten(Option) ->
- case Option of
- {some, X} ->
- X;
-
- none ->
- none
- end.
-
--spec then(option(HO), fun((HO) -> option(HQ))) -> option(HQ).
-then(Option, Fun) ->
- case Option of
- {some, X} ->
- Fun(X);
-
- none ->
- none
- end.
-
--spec 'or'(option(HT), option(HT)) -> option(HT).
-'or'(First, Second) ->
- case First of
- {some, _} ->
- First;
-
- none ->
- Second
- end.
-
--spec lazy_or(option(HX), fun(() -> option(HX))) -> option(HX).
-lazy_or(First, Second) ->
- case First of
- {some, _} ->
- First;
-
- none ->
- Second()
- end.
-
--spec do_values(list(option(IB)), list(IB)) -> list(IB).
-do_values(List, Acc) ->
- case List of
- [] ->
- Acc;
-
- [X | Xs] ->
- Accumulate = fun(Acc@1, Item) -> case Item of
- {some, Value} ->
- [Value | Acc@1];
-
- none ->
- Acc@1
- end end,
- Accumulate(do_values(Xs, Acc), X)
- end.
-
--spec values(list(option(IG))) -> list(IG).
-values(Options) ->
- do_values(Options, []).
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam@order.erl b/aoc2023/build/packages/gleam_stdlib/src/gleam@order.erl
deleted file mode 100644
index 61649b9..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam@order.erl
+++ /dev/null
@@ -1,79 +0,0 @@
--module(gleam@order).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([negate/1, to_int/1, compare/2, max/2, min/2, reverse/1]).
--export_type([order/0]).
-
--type order() :: lt | eq | gt.
-
--spec negate(order()) -> order().
-negate(Order) ->
- case Order of
- lt ->
- gt;
-
- eq ->
- eq;
-
- gt ->
- lt
- end.
-
--spec to_int(order()) -> integer().
-to_int(Order) ->
- case Order of
- lt ->
- -1;
-
- eq ->
- 0;
-
- gt ->
- 1
- end.
-
--spec compare(order(), order()) -> order().
-compare(A, B) ->
- case {A, B} of
- {X, Y} when X =:= Y ->
- eq;
-
- {lt, _} ->
- lt;
-
- {eq, gt} ->
- lt;
-
- {_, _} ->
- gt
- end.
-
--spec max(order(), order()) -> order().
-max(A, B) ->
- case {A, B} of
- {gt, _} ->
- gt;
-
- {eq, lt} ->
- eq;
-
- {_, _} ->
- B
- end.
-
--spec min(order(), order()) -> order().
-min(A, B) ->
- case {A, B} of
- {lt, _} ->
- lt;
-
- {eq, gt} ->
- eq;
-
- {_, _} ->
- B
- end.
-
--spec reverse(fun((I, I) -> order())) -> fun((I, I) -> order()).
-reverse(Orderer) ->
- fun(A, B) -> Orderer(B, A) end.
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam@pair.erl b/aoc2023/build/packages/gleam_stdlib/src/gleam@pair.erl
deleted file mode 100644
index f4eff52..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam@pair.erl
+++ /dev/null
@@ -1,33 +0,0 @@
--module(gleam@pair).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([first/1, second/1, swap/1, map_first/2, map_second/2, new/2]).
-
--spec first({FM, any()}) -> FM.
-first(Pair) ->
- {A, _} = Pair,
- A.
-
--spec second({any(), FP}) -> FP.
-second(Pair) ->
- {_, A} = Pair,
- A.
-
--spec swap({FQ, FR}) -> {FR, FQ}.
-swap(Pair) ->
- {A, B} = Pair,
- {B, A}.
-
--spec map_first({FS, FT}, fun((FS) -> FU)) -> {FU, FT}.
-map_first(Pair, Fun) ->
- {A, B} = Pair,
- {Fun(A), B}.
-
--spec map_second({FV, FW}, fun((FW) -> FX)) -> {FV, FX}.
-map_second(Pair, Fun) ->
- {A, B} = Pair,
- {A, Fun(B)}.
-
--spec new(FY, FZ) -> {FY, FZ}.
-new(First, Second) ->
- {First, Second}.
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam@queue.erl b/aoc2023/build/packages/gleam_stdlib/src/gleam@queue.erl
deleted file mode 100644
index 6b587e7..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam@queue.erl
+++ /dev/null
@@ -1,121 +0,0 @@
--module(gleam@queue).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([new/0, from_list/1, to_list/1, is_empty/1, length/1, push_back/2, push_front/2, pop_back/1, pop_front/1, reverse/1, is_logically_equal/3, is_equal/2]).
--export_type([queue/1]).
-
--opaque queue(DRL) :: {queue, list(DRL), list(DRL)}.
-
--spec new() -> queue(any()).
-new() ->
- {queue, [], []}.
-
--spec from_list(list(DRO)) -> queue(DRO).
-from_list(List) ->
- {queue, [], List}.
-
--spec to_list(queue(DRR)) -> list(DRR).
-to_list(Queue) ->
- _pipe = erlang:element(3, Queue),
- gleam@list:append(_pipe, gleam@list:reverse(erlang:element(2, Queue))).
-
--spec is_empty(queue(any())) -> boolean().
-is_empty(Queue) ->
- (erlang:element(2, Queue) =:= []) andalso (erlang:element(3, Queue) =:= []).
-
--spec length(queue(any())) -> integer().
-length(Queue) ->
- gleam@list:length(erlang:element(2, Queue)) + gleam@list:length(
- erlang:element(3, Queue)
- ).
-
--spec push_back(queue(DRY), DRY) -> queue(DRY).
-push_back(Queue, Item) ->
- {queue, [Item | erlang:element(2, Queue)], erlang:element(3, Queue)}.
-
--spec push_front(queue(DSB), DSB) -> queue(DSB).
-push_front(Queue, Item) ->
- {queue, erlang:element(2, Queue), [Item | erlang:element(3, Queue)]}.
-
--spec pop_back(queue(DSE)) -> {ok, {DSE, queue(DSE)}} | {error, nil}.
-pop_back(Queue) ->
- case Queue of
- {queue, [], []} ->
- {error, nil};
-
- {queue, [], Out} ->
- pop_back({queue, gleam@list:reverse(Out), []});
-
- {queue, [First | Rest], Out@1} ->
- Queue@1 = {queue, Rest, Out@1},
- {ok, {First, Queue@1}}
- end.
-
--spec pop_front(queue(DSJ)) -> {ok, {DSJ, queue(DSJ)}} | {error, nil}.
-pop_front(Queue) ->
- case Queue of
- {queue, [], []} ->
- {error, nil};
-
- {queue, In, []} ->
- pop_front({queue, [], gleam@list:reverse(In)});
-
- {queue, In@1, [First | Rest]} ->
- Queue@1 = {queue, In@1, Rest},
- {ok, {First, Queue@1}}
- end.
-
--spec reverse(queue(DSO)) -> queue(DSO).
-reverse(Queue) ->
- {queue, erlang:element(3, Queue), erlang:element(2, Queue)}.
-
--spec check_equal(
- list(DSR),
- list(DSR),
- list(DSR),
- list(DSR),
- fun((DSR, DSR) -> boolean())
-) -> boolean().
-check_equal(Xs, X_tail, Ys, Y_tail, Eq) ->
- case {Xs, X_tail, Ys, Y_tail} of
- {[], [], [], []} ->
- true;
-
- {[X | Xs@1], _, [Y | Ys@1], _} ->
- case Eq(X, Y) of
- false ->
- false;
-
- true ->
- check_equal(Xs@1, X_tail, Ys@1, Y_tail, Eq)
- end;
-
- {[], [_ | _], _, _} ->
- check_equal(gleam@list:reverse(X_tail), [], Ys, Y_tail, Eq);
-
- {_, _, [], [_ | _]} ->
- check_equal(Xs, X_tail, gleam@list:reverse(Y_tail), [], Eq);
-
- {_, _, _, _} ->
- false
- end.
-
--spec is_logically_equal(queue(DSW), queue(DSW), fun((DSW, DSW) -> boolean())) -> boolean().
-is_logically_equal(A, B, Element_is_equal) ->
- check_equal(
- erlang:element(3, A),
- erlang:element(2, A),
- erlang:element(3, B),
- erlang:element(2, B),
- Element_is_equal
- ).
-
--spec is_equal(queue(DSZ), queue(DSZ)) -> boolean().
-is_equal(A, B) ->
- check_equal(
- erlang:element(3, A),
- erlang:element(2, A),
- erlang:element(3, B),
- erlang:element(2, B),
- fun(A@1, B@1) -> A@1 =:= B@1 end
- ).
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam@regex.erl b/aoc2023/build/packages/gleam_stdlib/src/gleam@regex.erl
deleted file mode 100644
index 2d1c5fc..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam@regex.erl
+++ /dev/null
@@ -1,33 +0,0 @@
--module(gleam@regex).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([compile/2, from_string/1, check/2, split/2, scan/2]).
--export_type([regex/0, match/0, compile_error/0, options/0]).
-
--type regex() :: any().
-
--type match() :: {match, binary(), list(gleam@option:option(binary()))}.
-
--type compile_error() :: {compile_error, binary(), integer()}.
-
--type options() :: {options, boolean(), boolean()}.
-
--spec compile(binary(), options()) -> {ok, regex()} | {error, compile_error()}.
-compile(Pattern, Options) ->
- gleam_stdlib:compile_regex(Pattern, Options).
-
--spec from_string(binary()) -> {ok, regex()} | {error, compile_error()}.
-from_string(Pattern) ->
- compile(Pattern, {options, false, false}).
-
--spec check(regex(), binary()) -> boolean().
-check(Regex, Content) ->
- gleam_stdlib:regex_check(Regex, Content).
-
--spec split(regex(), binary()) -> list(binary()).
-split(Regex, String) ->
- gleam_stdlib:regex_split(Regex, String).
-
--spec scan(regex(), binary()) -> list(match()).
-scan(Regex, String) ->
- gleam_stdlib:regex_scan(Regex, String).
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam@result.erl b/aoc2023/build/packages/gleam_stdlib/src/gleam@result.erl
deleted file mode 100644
index 7324e45..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam@result.erl
+++ /dev/null
@@ -1,201 +0,0 @@
--module(gleam@result).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([is_ok/1, is_error/1, map/2, map_error/2, flatten/1, 'try'/2, then/2, unwrap/2, lazy_unwrap/2, unwrap_error/2, unwrap_both/1, nil_error/1, 'or'/2, lazy_or/2, all/1, partition/1, replace/2, replace_error/2, values/1, try_recover/2]).
-
--spec is_ok({ok, any()} | {error, any()}) -> boolean().
-is_ok(Result) ->
- case Result of
- {error, _} ->
- false;
-
- {ok, _} ->
- true
- end.
-
--spec is_error({ok, any()} | {error, any()}) -> boolean().
-is_error(Result) ->
- case Result of
- {ok, _} ->
- false;
-
- {error, _} ->
- true
- end.
-
--spec map({ok, BFM} | {error, BFN}, fun((BFM) -> BFQ)) -> {ok, BFQ} |
- {error, BFN}.
-map(Result, Fun) ->
- case Result of
- {ok, X} ->
- {ok, Fun(X)};
-
- {error, E} ->
- {error, E}
- end.
-
--spec map_error({ok, BFT} | {error, BFU}, fun((BFU) -> BFX)) -> {ok, BFT} |
- {error, BFX}.
-map_error(Result, Fun) ->
- case Result of
- {ok, X} ->
- {ok, X};
-
- {error, Error} ->
- {error, Fun(Error)}
- end.
-
--spec flatten({ok, {ok, BGA} | {error, BGB}} | {error, BGB}) -> {ok, BGA} |
- {error, BGB}.
-flatten(Result) ->
- case Result of
- {ok, X} ->
- X;
-
- {error, Error} ->
- {error, Error}
- end.
-
--spec 'try'({ok, BGI} | {error, BGJ}, fun((BGI) -> {ok, BGM} | {error, BGJ})) -> {ok,
- BGM} |
- {error, BGJ}.
-'try'(Result, Fun) ->
- case Result of
- {ok, X} ->
- Fun(X);
-
- {error, E} ->
- {error, E}
- end.
-
--spec then({ok, BGR} | {error, BGS}, fun((BGR) -> {ok, BGV} | {error, BGS})) -> {ok,
- BGV} |
- {error, BGS}.
-then(Result, Fun) ->
- 'try'(Result, Fun).
-
--spec unwrap({ok, BHA} | {error, any()}, BHA) -> BHA.
-unwrap(Result, Default) ->
- case Result of
- {ok, V} ->
- V;
-
- {error, _} ->
- Default
- end.
-
--spec lazy_unwrap({ok, BHE} | {error, any()}, fun(() -> BHE)) -> BHE.
-lazy_unwrap(Result, Default) ->
- case Result of
- {ok, V} ->
- V;
-
- {error, _} ->
- Default()
- end.
-
--spec unwrap_error({ok, any()} | {error, BHJ}, BHJ) -> BHJ.
-unwrap_error(Result, Default) ->
- case Result of
- {ok, _} ->
- Default;
-
- {error, E} ->
- E
- end.
-
--spec unwrap_both({ok, BHM} | {error, BHM}) -> BHM.
-unwrap_both(Result) ->
- case Result of
- {ok, A} ->
- A;
-
- {error, A@1} ->
- A@1
- end.
-
--spec nil_error({ok, BHP} | {error, any()}) -> {ok, BHP} | {error, nil}.
-nil_error(Result) ->
- map_error(Result, fun(_) -> nil end).
-
--spec 'or'({ok, BHV} | {error, BHW}, {ok, BHV} | {error, BHW}) -> {ok, BHV} |
- {error, BHW}.
-'or'(First, Second) ->
- case First of
- {ok, _} ->
- First;
-
- {error, _} ->
- Second
- end.
-
--spec lazy_or({ok, BID} | {error, BIE}, fun(() -> {ok, BID} | {error, BIE})) -> {ok,
- BID} |
- {error, BIE}.
-lazy_or(First, Second) ->
- case First of
- {ok, _} ->
- First;
-
- {error, _} ->
- Second()
- end.
-
--spec all(list({ok, BIL} | {error, BIM})) -> {ok, list(BIL)} | {error, BIM}.
-all(Results) ->
- gleam@list:try_map(Results, fun(X) -> X end).
-
--spec do_partition(list({ok, BJA} | {error, BJB}), list(BJA), list(BJB)) -> {list(BJA),
- list(BJB)}.
-do_partition(Results, Oks, Errors) ->
- case Results of
- [] ->
- {Oks, Errors};
-
- [{ok, A} | Rest] ->
- do_partition(Rest, [A | Oks], Errors);
-
- [{error, E} | Rest@1] ->
- do_partition(Rest@1, Oks, [E | Errors])
- end.
-
--spec partition(list({ok, BIT} | {error, BIU})) -> {list(BIT), list(BIU)}.
-partition(Results) ->
- do_partition(Results, [], []).
-
--spec replace({ok, any()} | {error, BJJ}, BJM) -> {ok, BJM} | {error, BJJ}.
-replace(Result, Value) ->
- case Result of
- {ok, _} ->
- {ok, Value};
-
- {error, Error} ->
- {error, Error}
- end.
-
--spec replace_error({ok, BJP} | {error, any()}, BJT) -> {ok, BJP} | {error, BJT}.
-replace_error(Result, Error) ->
- case Result of
- {ok, X} ->
- {ok, X};
-
- {error, _} ->
- {error, Error}
- end.
-
--spec values(list({ok, BJW} | {error, any()})) -> list(BJW).
-values(Results) ->
- gleam@list:filter_map(Results, fun(R) -> R end).
-
--spec try_recover(
- {ok, BKC} | {error, BKD},
- fun((BKD) -> {ok, BKC} | {error, BKG})
-) -> {ok, BKC} | {error, BKG}.
-try_recover(Result, Fun) ->
- case Result of
- {ok, Value} ->
- {ok, Value};
-
- {error, Error} ->
- Fun(Error)
- end.
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam@set.erl b/aoc2023/build/packages/gleam_stdlib/src/gleam@set.erl
deleted file mode 100644
index df87b13..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam@set.erl
+++ /dev/null
@@ -1,85 +0,0 @@
--module(gleam@set).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([new/0, size/1, insert/2, contains/2, delete/2, to_list/1, from_list/1, fold/3, filter/2, drop/2, take/2, union/2, intersection/2]).
--export_type([set/1]).
-
--opaque set(DJZ) :: {set, gleam@dict:dict(DJZ, list(nil))}.
-
--spec new() -> set(any()).
-new() ->
- {set, gleam@dict:new()}.
-
--spec size(set(any())) -> integer().
-size(Set) ->
- gleam@dict:size(erlang:element(2, Set)).
-
--spec insert(set(DKF), DKF) -> set(DKF).
-insert(Set, Member) ->
- {set, gleam@dict:insert(erlang:element(2, Set), Member, [])}.
-
--spec contains(set(DKI), DKI) -> boolean().
-contains(Set, Member) ->
- _pipe = erlang:element(2, Set),
- _pipe@1 = gleam@dict:get(_pipe, Member),
- gleam@result:is_ok(_pipe@1).
-
--spec delete(set(DKK), DKK) -> set(DKK).
-delete(Set, Member) ->
- {set, gleam@dict:delete(erlang:element(2, Set), Member)}.
-
--spec to_list(set(DKN)) -> list(DKN).
-to_list(Set) ->
- gleam@dict:keys(erlang:element(2, Set)).
-
--spec from_list(list(DKQ)) -> set(DKQ).
-from_list(Members) ->
- Map = gleam@list:fold(
- Members,
- gleam@dict:new(),
- fun(M, K) -> gleam@dict:insert(M, K, []) end
- ),
- {set, Map}.
-
--spec fold(set(DKT), DKV, fun((DKV, DKT) -> DKV)) -> DKV.
-fold(Set, Initial, Reducer) ->
- gleam@dict:fold(
- erlang:element(2, Set),
- Initial,
- fun(A, K, _) -> Reducer(A, K) end
- ).
-
--spec filter(set(DKW), fun((DKW) -> boolean())) -> set(DKW).
-filter(Set, Predicate) ->
- {set,
- gleam@dict:filter(erlang:element(2, Set), fun(M, _) -> Predicate(M) end)}.
-
--spec drop(set(DKZ), list(DKZ)) -> set(DKZ).
-drop(Set, Disallowed) ->
- gleam@list:fold(Disallowed, Set, fun delete/2).
-
--spec take(set(DLD), list(DLD)) -> set(DLD).
-take(Set, Desired) ->
- {set, gleam@dict:take(erlang:element(2, Set), Desired)}.
-
--spec order(set(DLH), set(DLH)) -> {set(DLH), set(DLH)}.
-order(First, Second) ->
- case gleam@dict:size(erlang:element(2, First)) > gleam@dict:size(
- erlang:element(2, Second)
- ) of
- true ->
- {First, Second};
-
- false ->
- {Second, First}
- end.
-
--spec union(set(DLM), set(DLM)) -> set(DLM).
-union(First, Second) ->
- {Larger, Smaller} = order(First, Second),
- fold(Smaller, Larger, fun insert/2).
-
--spec intersection(set(DLQ), set(DLQ)) -> set(DLQ).
-intersection(First, Second) ->
- {Larger, Smaller} = order(First, Second),
- take(Larger, to_list(Smaller)).
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam@string.erl b/aoc2023/build/packages/gleam_stdlib/src/gleam@string.erl
deleted file mode 100644
index 6cba31d..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam@string.erl
+++ /dev/null
@@ -1,352 +0,0 @@
--module(gleam@string).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([is_empty/1, length/1, reverse/1, replace/3, lowercase/1, uppercase/1, compare/2, slice/3, crop/2, drop_left/2, drop_right/2, contains/2, starts_with/2, ends_with/2, split_once/2, append/2, concat/1, repeat/2, join/2, pad_left/3, pad_right/3, trim/1, trim_left/1, trim_right/1, pop_grapheme/1, to_graphemes/1, split/2, to_utf_codepoints/1, from_utf_codepoints/1, utf_codepoint/1, utf_codepoint_to_int/1, to_option/1, first/1, last/1, capitalise/1, inspect/1, byte_size/1]).
--export_type([direction/0]).
-
--type direction() :: leading | trailing | both.
-
--spec is_empty(binary()) -> boolean().
-is_empty(Str) ->
- Str =:= <<""/utf8>>.
-
--spec length(binary()) -> integer().
-length(String) ->
- string:length(String).
-
--spec do_reverse(binary()) -> binary().
-do_reverse(String) ->
- _pipe = String,
- _pipe@1 = gleam@string_builder:from_string(_pipe),
- _pipe@2 = gleam@string_builder:reverse(_pipe@1),
- gleam@string_builder:to_string(_pipe@2).
-
--spec reverse(binary()) -> binary().
-reverse(String) ->
- do_reverse(String).
-
--spec replace(binary(), binary(), binary()) -> binary().
-replace(String, Pattern, Substitute) ->
- _pipe = String,
- _pipe@1 = gleam@string_builder:from_string(_pipe),
- _pipe@2 = gleam@string_builder:replace(_pipe@1, Pattern, Substitute),
- gleam@string_builder:to_string(_pipe@2).
-
--spec lowercase(binary()) -> binary().
-lowercase(String) ->
- string:lowercase(String).
-
--spec uppercase(binary()) -> binary().
-uppercase(String) ->
- string:uppercase(String).
-
--spec compare(binary(), binary()) -> gleam@order:order().
-compare(A, B) ->
- case A =:= B of
- true ->
- eq;
-
- _ ->
- case gleam_stdlib:less_than(A, B) of
- true ->
- lt;
-
- _ ->
- gt
- end
- end.
-
--spec slice(binary(), integer(), integer()) -> binary().
-slice(String, Idx, Len) ->
- case Len < 0 of
- true ->
- <<""/utf8>>;
-
- false ->
- case Idx < 0 of
- true ->
- Translated_idx = length(String) + Idx,
- case Translated_idx < 0 of
- true ->
- <<""/utf8>>;
-
- false ->
- string:slice(String, Translated_idx, Len)
- end;
-
- false ->
- string:slice(String, Idx, Len)
- end
- end.
-
--spec crop(binary(), binary()) -> binary().
-crop(String, Substring) ->
- gleam_stdlib:crop_string(String, Substring).
-
--spec drop_left(binary(), integer()) -> binary().
-drop_left(String, Num_graphemes) ->
- case Num_graphemes < 0 of
- true ->
- String;
-
- false ->
- slice(String, Num_graphemes, length(String) - Num_graphemes)
- end.
-
--spec drop_right(binary(), integer()) -> binary().
-drop_right(String, Num_graphemes) ->
- case Num_graphemes < 0 of
- true ->
- String;
-
- false ->
- slice(String, 0, length(String) - Num_graphemes)
- end.
-
--spec contains(binary(), binary()) -> boolean().
-contains(Haystack, Needle) ->
- gleam_stdlib:contains_string(Haystack, Needle).
-
--spec starts_with(binary(), binary()) -> boolean().
-starts_with(String, Prefix) ->
- gleam_stdlib:string_starts_with(String, Prefix).
-
--spec ends_with(binary(), binary()) -> boolean().
-ends_with(String, Suffix) ->
- gleam_stdlib:string_ends_with(String, Suffix).
-
--spec do_split_once(binary(), binary()) -> {ok, {binary(), binary()}} |
- {error, nil}.
-do_split_once(X, Substring) ->
- case string:split(X, Substring) of
- [First, Rest] ->
- {ok, {First, Rest}};
-
- _ ->
- {error, nil}
- end.
-
--spec split_once(binary(), binary()) -> {ok, {binary(), binary()}} |
- {error, nil}.
-split_once(X, Substring) ->
- do_split_once(X, Substring).
-
--spec append(binary(), binary()) -> binary().
-append(First, Second) ->
- _pipe = First,
- _pipe@1 = gleam@string_builder:from_string(_pipe),
- _pipe@2 = gleam@string_builder:append(_pipe@1, Second),
- gleam@string_builder:to_string(_pipe@2).
-
--spec concat(list(binary())) -> binary().
-concat(Strings) ->
- _pipe = Strings,
- _pipe@1 = gleam@string_builder:from_strings(_pipe),
- gleam@string_builder:to_string(_pipe@1).
-
--spec repeat(binary(), integer()) -> binary().
-repeat(String, Times) ->
- _pipe = gleam@iterator:repeat(String),
- _pipe@1 = gleam@iterator:take(_pipe, Times),
- _pipe@2 = gleam@iterator:to_list(_pipe@1),
- concat(_pipe@2).
-
--spec do_join(list(binary()), binary()) -> binary().
-do_join(Strings, Separator) ->
- _pipe = Strings,
- _pipe@1 = gleam@list:intersperse(_pipe, Separator),
- concat(_pipe@1).
-
--spec join(list(binary()), binary()) -> binary().
-join(Strings, Separator) ->
- do_join(Strings, Separator).
-
--spec padding(integer(), binary()) -> gleam@iterator:iterator(binary()).
-padding(Size, Pad_string) ->
- Pad_length = length(Pad_string),
- Num_pads = case Pad_length of
- 0 -> 0;
- Gleam@denominator -> Size div Gleam@denominator
- end,
- Extra = case Pad_length of
- 0 -> 0;
- Gleam@denominator@1 -> Size rem Gleam@denominator@1
- end,
- _pipe = gleam@iterator:repeat(Pad_string),
- _pipe@1 = gleam@iterator:take(_pipe, Num_pads),
- gleam@iterator:append(
- _pipe@1,
- gleam@iterator:single(slice(Pad_string, 0, Extra))
- ).
-
--spec pad_left(binary(), integer(), binary()) -> binary().
-pad_left(String, Desired_length, Pad_string) ->
- Current_length = length(String),
- To_pad_length = Desired_length - Current_length,
- _pipe = padding(To_pad_length, Pad_string),
- _pipe@1 = gleam@iterator:append(_pipe, gleam@iterator:single(String)),
- _pipe@2 = gleam@iterator:to_list(_pipe@1),
- concat(_pipe@2).
-
--spec pad_right(binary(), integer(), binary()) -> binary().
-pad_right(String, Desired_length, Pad_string) ->
- Current_length = length(String),
- To_pad_length = Desired_length - Current_length,
- _pipe = gleam@iterator:single(String),
- _pipe@1 = gleam@iterator:append(_pipe, padding(To_pad_length, Pad_string)),
- _pipe@2 = gleam@iterator:to_list(_pipe@1),
- concat(_pipe@2).
-
--spec do_trim(binary()) -> binary().
-do_trim(String) ->
- string:trim(String, both).
-
--spec trim(binary()) -> binary().
-trim(String) ->
- do_trim(String).
-
--spec do_trim_left(binary()) -> binary().
-do_trim_left(String) ->
- string:trim(String, leading).
-
--spec trim_left(binary()) -> binary().
-trim_left(String) ->
- do_trim_left(String).
-
--spec do_trim_right(binary()) -> binary().
-do_trim_right(String) ->
- string:trim(String, trailing).
-
--spec trim_right(binary()) -> binary().
-trim_right(String) ->
- do_trim_right(String).
-
--spec pop_grapheme(binary()) -> {ok, {binary(), binary()}} | {error, nil}.
-pop_grapheme(String) ->
- gleam_stdlib:string_pop_grapheme(String).
-
--spec do_to_graphemes(binary(), list(binary())) -> list(binary()).
-do_to_graphemes(String, Acc) ->
- case pop_grapheme(String) of
- {ok, {Grapheme, Rest}} ->
- do_to_graphemes(Rest, [Grapheme | Acc]);
-
- _ ->
- Acc
- end.
-
--spec to_graphemes(binary()) -> list(binary()).
-to_graphemes(String) ->
- _pipe = do_to_graphemes(String, []),
- gleam@list:reverse(_pipe).
-
--spec split(binary(), binary()) -> list(binary()).
-split(X, Substring) ->
- case Substring of
- <<""/utf8>> ->
- to_graphemes(X);
-
- _ ->
- _pipe = X,
- _pipe@1 = gleam@string_builder:from_string(_pipe),
- _pipe@2 = gleam@string_builder:split(_pipe@1, Substring),
- gleam@list:map(_pipe@2, fun gleam@string_builder:to_string/1)
- end.
-
--spec do_to_utf_codepoints_impl(bitstring(), list(integer())) -> list(integer()).
-do_to_utf_codepoints_impl(Bit_array, Acc) ->
- case Bit_array of
- <<First/utf8, Rest/binary>> ->
- do_to_utf_codepoints_impl(Rest, [First | Acc]);
-
- _ ->
- Acc
- end.
-
--spec do_to_utf_codepoints(binary()) -> list(integer()).
-do_to_utf_codepoints(String) ->
- _pipe = do_to_utf_codepoints_impl(<<String/binary>>, []),
- gleam@list:reverse(_pipe).
-
--spec to_utf_codepoints(binary()) -> list(integer()).
-to_utf_codepoints(String) ->
- do_to_utf_codepoints(String).
-
--spec from_utf_codepoints(list(integer())) -> binary().
-from_utf_codepoints(Utf_codepoints) ->
- gleam_stdlib:utf_codepoint_list_to_string(Utf_codepoints).
-
--spec utf_codepoint(integer()) -> {ok, integer()} | {error, nil}.
-utf_codepoint(Value) ->
- case Value of
- I when I > 1114111 ->
- {error, nil};
-
- 65534 ->
- {error, nil};
-
- 65535 ->
- {error, nil};
-
- I@1 when (I@1 >= 55296) andalso (I@1 =< 57343) ->
- {error, nil};
-
- I@2 ->
- {ok, gleam_stdlib:identity(I@2)}
- end.
-
--spec utf_codepoint_to_int(integer()) -> integer().
-utf_codepoint_to_int(Cp) ->
- gleam_stdlib:identity(Cp).
-
--spec to_option(binary()) -> gleam@option:option(binary()).
-to_option(S) ->
- case S of
- <<""/utf8>> ->
- none;
-
- _ ->
- {some, S}
- end.
-
--spec first(binary()) -> {ok, binary()} | {error, nil}.
-first(S) ->
- case pop_grapheme(S) of
- {ok, {First, _}} ->
- {ok, First};
-
- {error, E} ->
- {error, E}
- end.
-
--spec last(binary()) -> {ok, binary()} | {error, nil}.
-last(S) ->
- case pop_grapheme(S) of
- {ok, {First, <<""/utf8>>}} ->
- {ok, First};
-
- {ok, {_, Rest}} ->
- {ok, slice(Rest, -1, 1)};
-
- {error, E} ->
- {error, E}
- end.
-
--spec capitalise(binary()) -> binary().
-capitalise(S) ->
- case pop_grapheme(S) of
- {ok, {First, Rest}} ->
- append(uppercase(First), lowercase(Rest));
-
- _ ->
- <<""/utf8>>
- end.
-
--spec inspect(any()) -> binary().
-inspect(Term) ->
- _pipe = gleam_stdlib:inspect(Term),
- gleam@string_builder:to_string(_pipe).
-
--spec byte_size(binary()) -> integer().
-byte_size(String) ->
- erlang:byte_size(String).
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam@string_builder.erl b/aoc2023/build/packages/gleam_stdlib/src/gleam@string_builder.erl
deleted file mode 100644
index 693e840..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam@string_builder.erl
+++ /dev/null
@@ -1,91 +0,0 @@
--module(gleam@string_builder).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([prepend_builder/2, append_builder/2, new/0, from_strings/1, concat/1, from_string/1, prepend/2, append/2, to_string/1, byte_size/1, join/2, lowercase/1, uppercase/1, reverse/1, split/2, replace/3, is_equal/2, is_empty/1]).
--export_type([string_builder/0, direction/0]).
-
--type string_builder() :: any().
-
--type direction() :: all.
-
--spec prepend_builder(string_builder(), string_builder()) -> string_builder().
-prepend_builder(Builder, Prefix) ->
- gleam_stdlib:iodata_append(Prefix, Builder).
-
--spec append_builder(string_builder(), string_builder()) -> string_builder().
-append_builder(Builder, Suffix) ->
- gleam_stdlib:iodata_append(Builder, Suffix).
-
--spec new() -> string_builder().
-new() ->
- gleam_stdlib:identity([]).
-
--spec from_strings(list(binary())) -> string_builder().
-from_strings(Strings) ->
- gleam_stdlib:identity(Strings).
-
--spec concat(list(string_builder())) -> string_builder().
-concat(Builders) ->
- gleam_stdlib:identity(Builders).
-
--spec from_string(binary()) -> string_builder().
-from_string(String) ->
- gleam_stdlib:identity(String).
-
--spec prepend(string_builder(), binary()) -> string_builder().
-prepend(Builder, Prefix) ->
- append_builder(from_string(Prefix), Builder).
-
--spec append(string_builder(), binary()) -> string_builder().
-append(Builder, Second) ->
- append_builder(Builder, from_string(Second)).
-
--spec to_string(string_builder()) -> binary().
-to_string(Builder) ->
- unicode:characters_to_binary(Builder).
-
--spec byte_size(string_builder()) -> integer().
-byte_size(Builder) ->
- erlang:iolist_size(Builder).
-
--spec join(list(string_builder()), binary()) -> string_builder().
-join(Builders, Sep) ->
- _pipe = Builders,
- _pipe@1 = gleam@list:intersperse(_pipe, from_string(Sep)),
- concat(_pipe@1).
-
--spec lowercase(string_builder()) -> string_builder().
-lowercase(Builder) ->
- string:lowercase(Builder).
-
--spec uppercase(string_builder()) -> string_builder().
-uppercase(Builder) ->
- string:uppercase(Builder).
-
--spec reverse(string_builder()) -> string_builder().
-reverse(Builder) ->
- string:reverse(Builder).
-
--spec do_split(string_builder(), binary()) -> list(string_builder()).
-do_split(Iodata, Pattern) ->
- string:split(Iodata, Pattern, all).
-
--spec split(string_builder(), binary()) -> list(string_builder()).
-split(Iodata, Pattern) ->
- do_split(Iodata, Pattern).
-
--spec do_replace(string_builder(), binary(), binary()) -> string_builder().
-do_replace(Iodata, Pattern, Substitute) ->
- string:replace(Iodata, Pattern, Substitute, all).
-
--spec replace(string_builder(), binary(), binary()) -> string_builder().
-replace(Builder, Pattern, Substitute) ->
- do_replace(Builder, Pattern, Substitute).
-
--spec is_equal(string_builder(), string_builder()) -> boolean().
-is_equal(A, B) ->
- string:equal(A, B).
-
--spec is_empty(string_builder()) -> boolean().
-is_empty(Builder) ->
- string:is_empty(Builder).
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam@uri.erl b/aoc2023/build/packages/gleam_stdlib/src/gleam@uri.erl
deleted file mode 100644
index 7ec4fe7..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam@uri.erl
+++ /dev/null
@@ -1,252 +0,0 @@
--module(gleam@uri).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([parse/1, parse_query/1, percent_encode/1, query_to_string/1, percent_decode/1, path_segments/1, to_string/1, origin/1, merge/2]).
--export_type([uri/0]).
-
--type uri() :: {uri,
- gleam@option:option(binary()),
- gleam@option:option(binary()),
- gleam@option:option(binary()),
- gleam@option:option(integer()),
- binary(),
- gleam@option:option(binary()),
- gleam@option:option(binary())}.
-
--spec parse(binary()) -> {ok, uri()} | {error, nil}.
-parse(Uri_string) ->
- gleam_stdlib:uri_parse(Uri_string).
-
--spec parse_query(binary()) -> {ok, list({binary(), binary()})} | {error, nil}.
-parse_query(Query) ->
- gleam_stdlib:parse_query(Query).
-
--spec percent_encode(binary()) -> binary().
-percent_encode(Value) ->
- gleam_stdlib:percent_encode(Value).
-
--spec query_pair({binary(), binary()}) -> gleam@string_builder:string_builder().
-query_pair(Pair) ->
- gleam@string_builder:from_strings(
- [percent_encode(erlang:element(1, Pair)),
- <<"="/utf8>>,
- percent_encode(erlang:element(2, Pair))]
- ).
-
--spec query_to_string(list({binary(), binary()})) -> binary().
-query_to_string(Query) ->
- _pipe = Query,
- _pipe@1 = gleam@list:map(_pipe, fun query_pair/1),
- _pipe@2 = gleam@list:intersperse(
- _pipe@1,
- gleam@string_builder:from_string(<<"&"/utf8>>)
- ),
- _pipe@3 = gleam@string_builder:concat(_pipe@2),
- gleam@string_builder:to_string(_pipe@3).
-
--spec percent_decode(binary()) -> {ok, binary()} | {error, nil}.
-percent_decode(Value) ->
- gleam_stdlib:percent_decode(Value).
-
--spec do_remove_dot_segments(list(binary()), list(binary())) -> list(binary()).
-do_remove_dot_segments(Input, Accumulator) ->
- case Input of
- [] ->
- gleam@list:reverse(Accumulator);
-
- [Segment | Rest] ->
- Accumulator@5 = case {Segment, Accumulator} of
- {<<""/utf8>>, Accumulator@1} ->
- Accumulator@1;
-
- {<<"."/utf8>>, Accumulator@2} ->
- Accumulator@2;
-
- {<<".."/utf8>>, []} ->
- [];
-
- {<<".."/utf8>>, [_ | Accumulator@3]} ->
- Accumulator@3;
-
- {Segment@1, Accumulator@4} ->
- [Segment@1 | Accumulator@4]
- end,
- do_remove_dot_segments(Rest, Accumulator@5)
- end.
-
--spec remove_dot_segments(list(binary())) -> list(binary()).
-remove_dot_segments(Input) ->
- do_remove_dot_segments(Input, []).
-
--spec path_segments(binary()) -> list(binary()).
-path_segments(Path) ->
- remove_dot_segments(gleam@string:split(Path, <<"/"/utf8>>)).
-
--spec to_string(uri()) -> binary().
-to_string(Uri) ->
- Parts = case erlang:element(8, Uri) of
- {some, Fragment} ->
- [<<"#"/utf8>>, Fragment];
-
- _ ->
- []
- end,
- Parts@1 = case erlang:element(7, Uri) of
- {some, Query} ->
- [<<"?"/utf8>>, Query | Parts];
-
- _ ->
- Parts
- end,
- Parts@2 = [erlang:element(6, Uri) | Parts@1],
- Parts@3 = case {erlang:element(4, Uri),
- gleam@string:starts_with(erlang:element(6, Uri), <<"/"/utf8>>)} of
- {{some, Host}, false} when Host =/= <<""/utf8>> ->
- [<<"/"/utf8>> | Parts@2];
-
- {_, _} ->
- Parts@2
- end,
- Parts@4 = case {erlang:element(4, Uri), erlang:element(5, Uri)} of
- {{some, _}, {some, Port}} ->
- [<<":"/utf8>>, gleam@int:to_string(Port) | Parts@3];
-
- {_, _} ->
- Parts@3
- end,
- Parts@5 = case {erlang:element(2, Uri),
- erlang:element(3, Uri),
- erlang:element(4, Uri)} of
- {{some, S}, {some, U}, {some, H}} ->
- [S, <<"://"/utf8>>, U, <<"@"/utf8>>, H | Parts@4];
-
- {{some, S@1}, none, {some, H@1}} ->
- [S@1, <<"://"/utf8>>, H@1 | Parts@4];
-
- {{some, S@2}, {some, _}, none} ->
- [S@2, <<":"/utf8>> | Parts@4];
-
- {{some, S@2}, none, none} ->
- [S@2, <<":"/utf8>> | Parts@4];
-
- {none, none, {some, H@2}} ->
- [<<"//"/utf8>>, H@2 | Parts@4];
-
- {_, _, _} ->
- Parts@4
- end,
- gleam@string:concat(Parts@5).
-
--spec origin(uri()) -> {ok, binary()} | {error, nil}.
-origin(Uri) ->
- {uri, Scheme, _, Host, Port, _, _, _} = Uri,
- case Scheme of
- {some, <<"https"/utf8>>} when Port =:= {some, 443} ->
- Origin = {uri, Scheme, none, Host, none, <<""/utf8>>, none, none},
- {ok, to_string(Origin)};
-
- {some, <<"http"/utf8>>} when Port =:= {some, 80} ->
- Origin@1 = {uri, Scheme, none, Host, none, <<""/utf8>>, none, none},
- {ok, to_string(Origin@1)};
-
- {some, S} when (S =:= <<"http"/utf8>>) orelse (S =:= <<"https"/utf8>>) ->
- Origin@2 = {uri, Scheme, none, Host, Port, <<""/utf8>>, none, none},
- {ok, to_string(Origin@2)};
-
- _ ->
- {error, nil}
- end.
-
--spec drop_last(list(DFL)) -> list(DFL).
-drop_last(Elements) ->
- gleam@list:take(Elements, gleam@list:length(Elements) - 1).
-
--spec join_segments(list(binary())) -> binary().
-join_segments(Segments) ->
- gleam@string:join([<<""/utf8>> | Segments], <<"/"/utf8>>).
-
--spec merge(uri(), uri()) -> {ok, uri()} | {error, nil}.
-merge(Base, Relative) ->
- case Base of
- {uri, {some, _}, _, {some, _}, _, _, _, _} ->
- case Relative of
- {uri, _, _, {some, _}, _, _, _, _} ->
- Path = begin
- _pipe = gleam@string:split(
- erlang:element(6, Relative),
- <<"/"/utf8>>
- ),
- _pipe@1 = remove_dot_segments(_pipe),
- join_segments(_pipe@1)
- end,
- Resolved = {uri,
- gleam@option:'or'(
- erlang:element(2, Relative),
- erlang:element(2, Base)
- ),
- none,
- erlang:element(4, Relative),
- gleam@option:'or'(
- erlang:element(5, Relative),
- erlang:element(5, Base)
- ),
- Path,
- erlang:element(7, Relative),
- erlang:element(8, Relative)},
- {ok, Resolved};
-
- _ ->
- {New_path, New_query} = case erlang:element(6, Relative) of
- <<""/utf8>> ->
- {erlang:element(6, Base),
- gleam@option:'or'(
- erlang:element(7, Relative),
- erlang:element(7, Base)
- )};
-
- _ ->
- Path_segments = case gleam@string:starts_with(
- erlang:element(6, Relative),
- <<"/"/utf8>>
- ) of
- true ->
- gleam@string:split(
- erlang:element(6, Relative),
- <<"/"/utf8>>
- );
-
- false ->
- _pipe@2 = gleam@string:split(
- erlang:element(6, Base),
- <<"/"/utf8>>
- ),
- _pipe@3 = drop_last(_pipe@2),
- gleam@list:append(
- _pipe@3,
- gleam@string:split(
- erlang:element(6, Relative),
- <<"/"/utf8>>
- )
- )
- end,
- Path@1 = begin
- _pipe@4 = Path_segments,
- _pipe@5 = remove_dot_segments(_pipe@4),
- join_segments(_pipe@5)
- end,
- {Path@1, erlang:element(7, Relative)}
- end,
- Resolved@1 = {uri,
- erlang:element(2, Base),
- none,
- erlang:element(4, Base),
- erlang:element(5, Base),
- New_path,
- New_query,
- erlang:element(8, Relative)},
- {ok, Resolved@1}
- end;
-
- _ ->
- {error, nil}
- end.
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam_stdlib.app.src b/aoc2023/build/packages/gleam_stdlib/src/gleam_stdlib.app.src
deleted file mode 100644
index bcf08e2..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam_stdlib.app.src
+++ /dev/null
@@ -1,31 +0,0 @@
-{application, gleam_stdlib, [
- {vsn, "0.33.0"},
- {applications, []},
- {description, "A standard library for the Gleam programming language"},
- {modules, [gleam@base,
- gleam@bit_array,
- gleam@bit_builder,
- gleam@bit_string,
- gleam@bool,
- gleam@bytes_builder,
- gleam@dict,
- gleam@dynamic,
- gleam@float,
- gleam@function,
- gleam@int,
- gleam@io,
- gleam@iterator,
- gleam@list,
- gleam@map,
- gleam@option,
- gleam@order,
- gleam@pair,
- gleam@queue,
- gleam@regex,
- gleam@result,
- gleam@set,
- gleam@string,
- gleam@string_builder,
- gleam@uri]},
- {registered, []}
-]}.
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam_stdlib.erl b/aoc2023/build/packages/gleam_stdlib/src/gleam_stdlib.erl
deleted file mode 100644
index c6ea125..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam_stdlib.erl
+++ /dev/null
@@ -1,529 +0,0 @@
--module(gleam_stdlib).
-
--export([
- map_get/2, iodata_append/2, identity/1, decode_int/1, decode_bool/1,
- decode_float/1, decode_list/1, decode_option/2, decode_field/2, parse_int/1,
- parse_float/1, less_than/2, string_pop_grapheme/1, string_starts_with/2,
- wrap_list/1, string_ends_with/2, string_pad/4, decode_map/1, uri_parse/1,
- bit_array_int_to_u32/1, bit_array_int_from_u32/1, decode_result/1,
- bit_array_slice/3, decode_bit_array/1, compile_regex/2, regex_scan/2,
- percent_encode/1, percent_decode/1, regex_check/2, regex_split/2,
- base_decode64/1, parse_query/1, bit_array_concat/1, size_of_tuple/1,
- decode_tuple/1, decode_tuple2/1, decode_tuple3/1, decode_tuple4/1,
- decode_tuple5/1, decode_tuple6/1, tuple_get/2, classify_dynamic/1, print/1,
- println/1, print_error/1, println_error/1, inspect/1, float_to_string/1,
- int_from_base_string/2, utf_codepoint_list_to_string/1, contains_string/2,
- crop_string/2, base16_decode/1
-]).
-
-%% Taken from OTP's uri_string module
--define(DEC2HEX(X),
- if ((X) >= 0) andalso ((X) =< 9) -> (X) + $0;
- ((X) >= 10) andalso ((X) =< 15) -> (X) + $A - 10
- end).
-
-%% Taken from OTP's uri_string module
--define(HEX2DEC(X),
- if ((X) >= $0) andalso ((X) =< $9) -> (X) - $0;
- ((X) >= $A) andalso ((X) =< $F) -> (X) - $A + 10;
- ((X) >= $a) andalso ((X) =< $f) -> (X) - $a + 10
- end).
-
--define(is_lowercase_char(X), (X > 96 andalso X < 123)).
--define(is_underscore_char(X), (X == 95)).
--define(is_digit_char(X), (X > 47 andalso X < 58)).
-
-uppercase(X) -> X - 32.
-
-map_get(Map, Key) ->
- case maps:find(Key, Map) of
- error -> {error, nil};
- OkFound -> OkFound
- end.
-
-iodata_append(Iodata, String) -> [Iodata, String].
-
-identity(X) -> X.
-
-decode_error_msg(Expected, Data) when is_binary(Expected) ->
- decode_error(Expected, classify_dynamic(Data)).
-decode_error(Expected, Got) when is_binary(Expected) andalso is_binary(Got) ->
- {error, [{decode_error, Expected, Got, []}]}.
-
-classify_dynamic(nil) -> <<"Nil">>;
-classify_dynamic(X) when is_atom(X) -> <<"Atom">>;
-classify_dynamic(X) when is_binary(X) -> <<"String">>;
-classify_dynamic(X) when is_bitstring(X) -> <<"BitArray">>;
-classify_dynamic(X) when is_integer(X) -> <<"Int">>;
-classify_dynamic(X) when is_float(X) -> <<"Float">>;
-classify_dynamic(X) when is_list(X) -> <<"List">>;
-classify_dynamic(X) when is_boolean(X) -> <<"Bool">>;
-classify_dynamic(X) when is_map(X) -> <<"Map">>;
-classify_dynamic(X) when is_tuple(X) ->
- iolist_to_binary(["Tuple of ", integer_to_list(tuple_size(X)), " elements"]);
-classify_dynamic(X) when
- is_function(X, 0) orelse is_function(X, 1) orelse is_function(X, 2) orelse
- is_function(X, 3) orelse is_function(X, 4) orelse is_function(X, 5) orelse
- is_function(X, 6) orelse is_function(X, 7) orelse is_function(X, 8) orelse
- is_function(X, 9) orelse is_function(X, 10) orelse is_function(X, 11) orelse
- is_function(X, 12) -> <<"Function">>;
-classify_dynamic(_) -> <<"Some other type">>.
-
-decode_map(Data) when is_map(Data) -> {ok, Data};
-decode_map(Data) -> decode_error_msg(<<"Map">>, Data).
-
-decode_bit_array(Data) when is_bitstring(Data) -> {ok, Data};
-decode_bit_array(Data) -> decode_error_msg(<<"BitArray">>, Data).
-
-decode_int(Data) when is_integer(Data) -> {ok, Data};
-decode_int(Data) -> decode_error_msg(<<"Int">>, Data).
-
-decode_float(Data) when is_float(Data) -> {ok, Data};
-decode_float(Data) -> decode_error_msg(<<"Float">>, Data).
-
-decode_bool(Data) when is_boolean(Data) -> {ok, Data};
-decode_bool(Data) -> decode_error_msg(<<"Bool">>, Data).
-
-decode_list(Data) when is_list(Data) -> {ok, Data};
-decode_list(Data) -> decode_error_msg(<<"List">>, Data).
-
-decode_field(Data, Key) when is_map(Data) ->
- case Data of
- #{Key := Value} -> {ok, {some, Value}};
- _ ->
- {ok, none}
- end;
-decode_field(Data, _) ->
- decode_error_msg(<<"Map">>, Data).
-
-size_of_tuple(Data) -> tuple_size(Data).
-
-tuple_get(_tup, Index) when Index < 0 -> {error, nil};
-tuple_get(Data, Index) when Index >= tuple_size(Data) -> {error, nil};
-tuple_get(Data, Index) -> {ok, element(Index + 1, Data)}.
-
-decode_tuple(Data) when is_tuple(Data) -> {ok, Data};
-decode_tuple(Data) -> decode_error_msg(<<"Tuple">>, Data).
-
-decode_tuple2({_,_} = A) -> {ok, A};
-decode_tuple2([A,B]) -> {ok, {A,B}};
-decode_tuple2(Data) -> decode_error_msg(<<"Tuple of 2 elements">>, Data).
-
-decode_tuple3({_,_,_} = A) -> {ok, A};
-decode_tuple3([A,B,C]) -> {ok, {A,B,C}};
-decode_tuple3(Data) -> decode_error_msg(<<"Tuple of 3 elements">>, Data).
-
-decode_tuple4({_,_,_,_} = A) -> {ok, A};
-decode_tuple4([A,B,C,D]) -> {ok, {A,B,C,D}};
-decode_tuple4(Data) -> decode_error_msg(<<"Tuple of 4 elements">>, Data).
-
-decode_tuple5({_,_,_,_,_} = A) -> {ok, A};
-decode_tuple5([A,B,C,D,E]) -> {ok, {A,B,C,D,E}};
-decode_tuple5(Data) -> decode_error_msg(<<"Tuple of 5 elements">>, Data).
-
-decode_tuple6({_,_,_,_,_,_} = A) -> {ok, A};
-decode_tuple6([A,B,C,D,E,F]) -> {ok, {A,B,C,D,E,F}};
-decode_tuple6(Data) -> decode_error_msg(<<"Tuple of 6 elements">>, Data).
-
-decode_option(Term, F) ->
- Decode = fun(Inner) ->
- case F(Inner) of
- {ok, Decoded} -> {ok, {some, Decoded}};
- Error -> Error
- end
- end,
- case Term of
- undefined -> {ok, none};
- error -> {ok, none};
- null -> {ok, none};
- none -> {ok, none};
- nil -> {ok, none};
- {some, Inner} -> Decode(Inner);
- _ -> Decode(Term)
- end.
-
-decode_result(Term) ->
- case Term of
- {ok, Inner} -> {ok, {ok, Inner}};
- ok -> {ok, {ok, nil}};
- {error, Inner} -> {ok, {error, Inner}};
- error -> {ok, {error, nil}};
- _ -> decode_error_msg(<<"Result">>, Term)
- end.
-
-int_from_base_string(String, Base) ->
- case catch binary_to_integer(String, Base) of
- Int when is_integer(Int) -> {ok, Int};
- _ -> {error, nil}
- end.
-
-parse_int(String) ->
- case catch binary_to_integer(String) of
- Int when is_integer(Int) -> {ok, Int};
- _ -> {error, nil}
- end.
-
-parse_float(String) ->
- case catch binary_to_float(String) of
- Float when is_float(Float) -> {ok, Float};
- _ -> {error, nil}
- end.
-
-less_than(Lhs, Rhs) ->
- Lhs < Rhs.
-
-string_starts_with(_, <<>>) -> true;
-string_starts_with(String, Prefix) when byte_size(Prefix) > byte_size(String) -> false;
-string_starts_with(String, Prefix) ->
- PrefixSize = byte_size(Prefix),
- Prefix == binary_part(String, 0, PrefixSize).
-
-string_ends_with(_, <<>>) -> true;
-string_ends_with(String, Suffix) when byte_size(Suffix) > byte_size(String) -> false;
-string_ends_with(String, Suffix) ->
- SuffixSize = byte_size(Suffix),
- Suffix == binary_part(String, byte_size(String) - SuffixSize, SuffixSize).
-
-string_pad(String, Length, Dir, PadString) ->
- Chars = string:pad(String, Length, Dir, binary_to_list(PadString)),
- case unicode:characters_to_binary(Chars) of
- Bin when is_binary(Bin) -> Bin;
- Error -> erlang:error({gleam_error, {string_invalid_utf8, Error}})
- end.
-
-string_pop_grapheme(String) ->
- case string:next_grapheme(String) of
- [ Next | Rest ] ->
- {ok, {unicode:characters_to_binary([Next]), unicode:characters_to_binary(Rest)}};
- _ -> {error, nil}
- end.
-
-bit_array_concat(BitArrays) ->
- list_to_bitstring(BitArrays).
-
-bit_array_slice(Bin, Pos, Len) ->
- try {ok, binary:part(Bin, Pos, Len)}
- catch error:badarg -> {error, nil}
- end.
-
-bit_array_int_to_u32(I) when 0 =< I, I < 4294967296 ->
- {ok, <<I:32>>};
-bit_array_int_to_u32(_) ->
- {error, nil}.
-
-bit_array_int_from_u32(<<I:32>>) ->
- {ok, I};
-bit_array_int_from_u32(_) ->
- {error, nil}.
-
-compile_regex(String, Options) ->
- {options, Caseless, Multiline} = Options,
- OptionsList = [
- unicode,
- ucp,
- Caseless andalso caseless,
- Multiline andalso multiline
- ],
- FilteredOptions = [Option || Option <- OptionsList, Option /= false],
- case re:compile(String, FilteredOptions) of
- {ok, MP} -> {ok, MP};
- {error, {Str, Pos}} ->
- {error, {compile_error, unicode:characters_to_binary(Str), Pos}}
- end.
-
-regex_check(Regex, String) ->
- re:run(String, Regex) /= nomatch.
-
-regex_split(Regex, String) ->
- re:split(String, Regex).
-
-regex_submatches(_, {-1, 0}) -> none;
-regex_submatches(String, {Start, Length}) ->
- BinarySlice = binary:part(String, {Start, Length}),
- case string:is_empty(binary_to_list(BinarySlice)) of
- true -> none;
- false -> {some, BinarySlice}
- end.
-
-regex_matches(String, [{Start, Length} | Submatches]) ->
- Submatches1 = lists:map(fun(X) -> regex_submatches(String, X) end, Submatches),
- {match, binary:part(String, Start, Length), Submatches1}.
-
-regex_scan(Regex, String) ->
- case re:run(String, Regex, [global]) of
- {match, Captured} -> lists:map(fun(X) -> regex_matches(String, X) end, Captured);
- nomatch -> []
- end.
-
-base_decode64(S) ->
- try {ok, base64:decode(S)}
- catch error:_ -> {error, nil}
- end.
-
-wrap_list(X) when is_list(X) -> X;
-wrap_list(X) -> [X].
-
-parse_query(Query) ->
- case uri_string:dissect_query(Query) of
- {error, _, _} -> {error, nil};
- Pairs ->
- Pairs1 = lists:map(fun
- ({K, true}) -> {K, <<"">>};
- (Pair) -> Pair
- end, Pairs),
- {ok, Pairs1}
- end.
-
-percent_encode(B) -> percent_encode(B, <<>>).
-percent_encode(<<>>, Acc) ->
- Acc;
-percent_encode(<<H,T/binary>>, Acc) ->
- case percent_ok(H) of
- true ->
- percent_encode(T, <<Acc/binary,H>>);
- false ->
- <<A:4,B:4>> = <<H>>,
- percent_encode(T, <<Acc/binary,$%,(?DEC2HEX(A)),(?DEC2HEX(B))>>)
- end.
-
-percent_decode(Cs) -> percent_decode(Cs, <<>>).
-percent_decode(<<$%, C0, C1, Cs/binary>>, Acc) ->
- case is_hex_digit(C0) andalso is_hex_digit(C1) of
- true ->
- B = ?HEX2DEC(C0)*16+?HEX2DEC(C1),
- percent_decode(Cs, <<Acc/binary, B>>);
- false ->
- {error, nil}
- end;
-percent_decode(<<C,Cs/binary>>, Acc) ->
- percent_decode(Cs, <<Acc/binary, C>>);
-percent_decode(<<>>, Acc) ->
- check_utf8(Acc).
-
-percent_ok($!) -> true;
-percent_ok($$) -> true;
-percent_ok($') -> true;
-percent_ok($() -> true;
-percent_ok($)) -> true;
-percent_ok($*) -> true;
-percent_ok($+) -> true;
-percent_ok($-) -> true;
-percent_ok($.) -> true;
-percent_ok($_) -> true;
-percent_ok($~) -> true;
-percent_ok(C) when $0 =< C, C =< $9 -> true;
-percent_ok(C) when $A =< C, C =< $Z -> true;
-percent_ok(C) when $a =< C, C =< $z -> true;
-percent_ok(_) -> false.
-
-is_hex_digit(C) ->
- ($0 =< C andalso C =< $9) orelse ($a =< C andalso C =< $f) orelse ($A =< C andalso C =< $F).
-
-check_utf8(Cs) ->
- case unicode:characters_to_list(Cs) of
- {incomplete, _, _} -> {error, nil};
- {error, _, _} -> {error, nil};
- _ -> {ok, Cs}
- end.
-
-uri_parse(String) ->
- case uri_string:parse(String) of
- {error, _, _} -> {error, nil};
- Uri ->
- {ok, {uri,
- maps_get_optional(Uri, scheme),
- maps_get_optional(Uri, userinfo),
- maps_get_optional(Uri, host),
- maps_get_optional(Uri, port),
- maps_get_or(Uri, path, <<>>),
- maps_get_optional(Uri, query),
- maps_get_optional(Uri, fragment)
- }}
- end.
-
-maps_get_optional(Map, Key) ->
- try {some, maps:get(Key, Map)}
- catch _:_ -> none
- end.
-
-maps_get_or(Map, Key, Default) ->
- try maps:get(Key, Map)
- catch _:_ -> Default
- end.
-
-print(String) ->
- io:put_chars(String),
- nil.
-
-println(String) ->
- io:put_chars([String, $\n]),
- nil.
-
-print_error(String) ->
- io:put_chars(standard_error, String),
- nil.
-
-println_error(String) ->
- io:put_chars(standard_error, [String, $\n]),
- nil.
-
-inspect(true) ->
- "True";
-inspect(false) ->
- "False";
-inspect(nil) ->
- "Nil";
-inspect(Data) when is_map(Data) ->
- Fields = [
- [<<"#(">>, inspect(Key), <<", ">>, inspect(Value), <<")">>]
- || {Key, Value} <- maps:to_list(Data)
- ],
- ["dict.from_list([", lists:join(", ", Fields), "])"];
-inspect(Atom) when is_atom(Atom) ->
- Binary = erlang:atom_to_binary(Atom),
- case inspect_maybe_gleam_atom(Binary, none, <<>>) of
- {ok, Inspected} -> Inspected;
- {error, _} -> ["atom.create_from_string(\"", Binary, "\")"]
- end;
-inspect(Any) when is_integer(Any) ->
- erlang:integer_to_list(Any);
-inspect(Any) when is_float(Any) ->
- io_lib_format:fwrite_g(Any);
-inspect(Binary) when is_binary(Binary) ->
- case inspect_maybe_utf8_string(Binary, <<>>) of
- {ok, InspectedUtf8String} -> InspectedUtf8String;
- {error, not_a_utf8_string} ->
- Segments = [erlang:integer_to_list(X) || <<X>> <= Binary],
- ["<<", lists:join(", ", Segments), ">>"]
- end;
-inspect(Bits) when is_bitstring(Bits) ->
- inspect_bit_array(Bits);
-inspect(List) when is_list(List) ->
- case inspect_list(List) of
- {proper, Elements} -> ["[", Elements, "]"];
- {improper, Elements} -> ["//erl([", Elements, "])"]
- end;
-inspect(Any) when is_tuple(Any) % Record constructors
- andalso is_atom(element(1, Any))
- andalso element(1, Any) =/= false
- andalso element(1, Any) =/= true
- andalso element(1, Any) =/= nil
-->
- [Atom | ArgsList] = erlang:tuple_to_list(Any),
- Args = lists:join(<<", ">>,
- lists:map(fun inspect/1, ArgsList)
- ),
- [inspect(Atom), "(", Args, ")"];
-inspect(Tuple) when is_tuple(Tuple) ->
- Elements = lists:map(fun inspect/1, erlang:tuple_to_list(Tuple)),
- ["#(", lists:join(", ", Elements), ")"];
-inspect(Any) when is_function(Any) ->
- {arity, Arity} = erlang:fun_info(Any, arity),
- ArgsAsciiCodes = lists:seq($a, $a + Arity - 1),
- Args = lists:join(<<", ">>,
- lists:map(fun(Arg) -> <<Arg>> end, ArgsAsciiCodes)
- ),
- ["//fn(", Args, ") { ... }"];
-inspect(Any) ->
- ["//erl(", io_lib:format("~p", [Any]), ")"].
-
-
-inspect_maybe_gleam_atom(<<>>, none, _) ->
- {error, nil};
-inspect_maybe_gleam_atom(<<First, _Rest/binary>>, none, _) when ?is_digit_char(First) ->
- {error, nil};
-inspect_maybe_gleam_atom(<<"_", _Rest/binary>>, none, _) ->
- {error, nil};
-inspect_maybe_gleam_atom(<<"_">>, _PrevChar, _Acc) ->
- {error, nil};
-inspect_maybe_gleam_atom(<<"_", _Rest/binary>>, $_, _Acc) ->
- {error, nil};
-inspect_maybe_gleam_atom(<<First, _Rest/binary>>, _PrevChar, _Acc)
- when not (?is_lowercase_char(First) orelse ?is_underscore_char(First) orelse ?is_digit_char(First)) ->
- {error, nil};
-inspect_maybe_gleam_atom(<<First, Rest/binary>>, none, Acc) ->
- inspect_maybe_gleam_atom(Rest, First, <<Acc/binary, (uppercase(First))>>);
-inspect_maybe_gleam_atom(<<"_", Rest/binary>>, _PrevChar, Acc) ->
- inspect_maybe_gleam_atom(Rest, $_, Acc);
-inspect_maybe_gleam_atom(<<First, Rest/binary>>, $_, Acc) ->
- inspect_maybe_gleam_atom(Rest, First, <<Acc/binary, (uppercase(First))>>);
-inspect_maybe_gleam_atom(<<First, Rest/binary>>, _PrevChar, Acc) ->
- inspect_maybe_gleam_atom(Rest, First, <<Acc/binary, First>>);
-inspect_maybe_gleam_atom(<<>>, _PrevChar, Acc) ->
- {ok, Acc};
-inspect_maybe_gleam_atom(A, B, C) ->
- erlang:display({A, B, C}),
- throw({gleam_error, A, B, C}).
-
-inspect_list([]) ->
- {proper, []};
-inspect_list([First]) ->
- {proper, [inspect(First)]};
-inspect_list([First | Rest]) when is_list(Rest) ->
- {Kind, Inspected} = inspect_list(Rest),
- {Kind, [inspect(First), <<", ">> | Inspected]};
-inspect_list([First | ImproperTail]) ->
- {improper, [inspect(First), <<" | ">>, inspect(ImproperTail)]}.
-
-inspect_bit_array(Bits) ->
- Text = inspect_bit_array(Bits, <<"<<">>),
- <<Text/binary, ">>">>.
-
-inspect_bit_array(<<>>, Acc) ->
- Acc;
-inspect_bit_array(<<X, Rest/bitstring>>, Acc) ->
- inspect_bit_array(Rest, append_segment(Acc, erlang:integer_to_binary(X)));
-inspect_bit_array(Rest, Acc) ->
- Size = bit_size(Rest),
- <<X:Size>> = Rest,
- X1 = erlang:integer_to_binary(X),
- Size1 = erlang:integer_to_binary(Size),
- Segment = <<X1/binary, ":size(", Size1/binary, ")">>,
- inspect_bit_array(<<>>, append_segment(Acc, Segment)).
-
-append_segment(<<"<<">>, Segment) ->
- <<"<<", Segment/binary>>;
-append_segment(Acc, Segment) ->
- <<Acc/binary, ", ", Segment/binary>>.
-
-
-inspect_maybe_utf8_string(Binary, Acc) ->
- case Binary of
- <<>> -> {ok, <<$", Acc/binary, $">>};
- <<First/utf8, Rest/binary>> ->
- Escaped = case First of
- $" -> <<$\\, $">>;
- $\\ -> <<$\\, $\\>>;
- $\r -> <<$\\, $r>>;
- $\n -> <<$\\, $n>>;
- $\t -> <<$\\, $t>>;
- Other -> <<Other/utf8>>
- end,
- inspect_maybe_utf8_string(Rest, <<Acc/binary, Escaped/binary>>);
- _ -> {error, not_a_utf8_string}
- end.
-
-float_to_string(Float) when is_float(Float) ->
- erlang:iolist_to_binary(io_lib_format:fwrite_g(Float)).
-
-utf_codepoint_list_to_string(List) ->
- case unicode:characters_to_binary(List) of
- {error, _} -> erlang:error({gleam_error, {string_invalid_utf8, List}});
- Binary -> Binary
- end.
-
-crop_string(String, Prefix) ->
- case string:find(String, Prefix) of
- nomatch -> String;
- New -> New
- end.
-
-contains_string(String, Substring) ->
- is_bitstring(string:find(String, Substring)).
-
-base16_decode(String) ->
- try
- {ok, binary:decode_hex(String)}
- catch
- _:_ -> {error, nil}
- end.
diff --git a/aoc2023/build/packages/gleam_stdlib/src/gleam_stdlib.mjs b/aoc2023/build/packages/gleam_stdlib/src/gleam_stdlib.mjs
deleted file mode 100644
index a908b23..0000000
--- a/aoc2023/build/packages/gleam_stdlib/src/gleam_stdlib.mjs
+++ /dev/null
@@ -1,875 +0,0 @@
-import {
- BitArray,
- Error,
- List,
- Ok,
- Result,
- UtfCodepoint,
- stringBits,
- toBitArray,
- NonEmpty,
- CustomType,
-} from "./gleam.mjs";
-import {
- CompileError as RegexCompileError,
- Match as RegexMatch,
-} from "./gleam/regex.mjs";
-import { DecodeError } from "./gleam/dynamic.mjs";
-import { Some, None } from "./gleam/option.mjs";
-import Dict from "./dict.mjs";
-
-const Nil = undefined;
-const NOT_FOUND = {};
-
-export function identity(x) {
- return x;
-}
-
-export function parse_int(value) {
- if (/^[-+]?(\d+)$/.test(value)) {
- return new Ok(parseInt(value));
- } else {
- return new Error(Nil);
- }
-}
-
-export function parse_float(value) {
- if (/^[-+]?(\d+)\.(\d+)$/.test(value)) {
- return new Ok(parseFloat(value));
- } else {
- return new Error(Nil);
- }
-}
-
-export function to_string(term) {
- return term.toString();
-}
-
-export function float_to_string(float) {
- const string = float.toString();
- if (string.indexOf(".") >= 0) {
- return string;
- } else {
- return string + ".0";
- }
-}
-
-export function int_to_base_string(int, base) {
- return int.toString(base).toUpperCase();
-}
-
-const int_base_patterns = {
- 2: /[^0-1]/,
- 3: /[^0-2]/,
- 4: /[^0-3]/,
- 5: /[^0-4]/,
- 6: /[^0-5]/,
- 7: /[^0-6]/,
- 8: /[^0-7]/,
- 9: /[^0-8]/,
- 10: /[^0-9]/,
- 11: /[^0-9a]/,
- 12: /[^0-9a-b]/,
- 13: /[^0-9a-c]/,
- 14: /[^0-9a-d]/,
- 15: /[^0-9a-e]/,
- 16: /[^0-9a-f]/,
- 17: /[^0-9a-g]/,
- 18: /[^0-9a-h]/,
- 19: /[^0-9a-i]/,
- 20: /[^0-9a-j]/,
- 21: /[^0-9a-k]/,
- 22: /[^0-9a-l]/,
- 23: /[^0-9a-m]/,
- 24: /[^0-9a-n]/,
- 25: /[^0-9a-o]/,
- 26: /[^0-9a-p]/,
- 27: /[^0-9a-q]/,
- 28: /[^0-9a-r]/,
- 29: /[^0-9a-s]/,
- 30: /[^0-9a-t]/,
- 31: /[^0-9a-u]/,
- 32: /[^0-9a-v]/,
- 33: /[^0-9a-w]/,
- 34: /[^0-9a-x]/,
- 35: /[^0-9a-y]/,
- 36: /[^0-9a-z]/,
-};
-
-export function int_from_base_string(string, base) {
- if (int_base_patterns[base].test(string.replace(/^-/, "").toLowerCase())) {
- return new Error(Nil);
- }
-
- const result = parseInt(string, base);
-
- if (isNaN(result)) {
- return new Error(Nil);
- }
-
- return new Ok(result);
-}
-
-export function string_replace(string, target, substitute) {
- if (typeof string.replaceAll !== "undefined") {
- return string.replaceAll(target, substitute);
- }
- // Fallback for older Node.js versions:
- // 1. <https://stackoverflow.com/a/1144788>
- // 2. <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping>
- // TODO: This fallback could be remove once Node.js 14 is EOL
- // aka <https://nodejs.org/en/about/releases/> on or after 2024-04-30
- return string.replace(
- // $& means the whole matched string
- new RegExp(target.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), "g"),
- substitute
- );
-}
-
-export function string_reverse(string) {
- return [...string].reverse().join("");
-}
-
-export function string_length(string) {
- if (string === "") {
- return 0;
- }
- const iterator = graphemes_iterator(string);
- if (iterator) {
- let i = 0;
- for (const _ of iterator) {
- i++;
- }
- return i;
- } else {
- return string.match(/./gsu).length;
- }
-}
-
-export function graphemes(string) {
- return List.fromArray(
- Array.from(graphemes_iterator(string)).map((item) => item.segment)
- );
-}
-
-function graphemes_iterator(string) {
- if (Intl && Intl.Segmenter) {
- return new Intl.Segmenter().segment(string)[Symbol.iterator]();
- }
-}
-
-export function pop_grapheme(string) {
- let first;
- const iterator = graphemes_iterator(string);
- if (iterator) {
- first = iterator.next().value?.segment;
- } else {
- first = string.match(/./su)?.[0];
- }
- if (first) {
- return new Ok([first, string.slice(first.length)]);
- } else {
- return new Error(Nil);
- }
-}
-
-export function lowercase(string) {
- return string.toLowerCase();
-}
-
-export function uppercase(string) {
- return string.toUpperCase();
-}
-
-export function less_than(a, b) {
- return a < b;
-}
-
-export function add(a, b) {
- return a + b;
-}
-
-export function equal(a, b) {
- return a === b;
-}
-
-export function split(xs, pattern) {
- return List.fromArray(xs.split(pattern));
-}
-
-export function join(xs, separator) {
- const iterator = xs[Symbol.iterator]();
- let result = iterator.next().value || "";
- let current = iterator.next();
- while (!current.done) {
- result = result + separator + current.value;
- current = iterator.next();
- }
- return result;
-}
-
-export function concat(xs) {
- let result = "";
- for (const x of xs) {
- result = result + x;
- }
- return result;
-}
-
-export function length(data) {
- return data.length;
-}
-
-export function crop_string(string, substring) {
- return string.substring(string.indexOf(substring));
-}
-
-export function contains_string(haystack, needle) {
- return haystack.indexOf(needle) >= 0;
-}
-
-export function starts_with(haystack, needle) {
- return haystack.startsWith(needle);
-}
-
-export function ends_with(haystack, needle) {
- return haystack.endsWith(needle);
-}
-
-export function split_once(haystack, needle) {
- const index = haystack.indexOf(needle);
- if (index >= 0) {
- const before = haystack.slice(0, index);
- const after = haystack.slice(index + needle.length);
- return new Ok([before, after]);
- } else {
- return new Error(Nil);
- }
-}
-
-export function trim(string) {
- return string.trim();
-}
-
-export function trim_left(string) {
- return string.trimLeft();
-}
-
-export function trim_right(string) {
- return string.trimRight();
-}
-
-export function bit_array_from_string(string) {
- return toBitArray([stringBits(string)]);
-}
-
-export function bit_array_concat(bit_arrays) {
- return toBitArray(bit_arrays.toArray().map((b) => b.buffer));
-}
-
-export function console_log(term) {
- console.log(term);
-}
-
-export function console_error(term) {
- console.error(term);
-}
-
-export function crash(message) {
- throw new globalThis.Error(message);
-}
-
-export function bit_array_to_string(bit_array) {
- try {
- const decoder = new TextDecoder("utf-8", { fatal: true });
- return new Ok(decoder.decode(bit_array.buffer));
- } catch (_error) {
- return new Error(Nil);
- }
-}
-
-export function print(string) {
- if (typeof process === "object") {
- process.stdout.write(string); // We can write without a trailing newline
- } else if (typeof Deno === "object") {
- Deno.stdout.writeSync(new TextEncoder().encode(string)); // We can write without a trailing newline
- } else {
- console.log(string); // We're in a browser. Newlines are mandated
- }
-}
-
-export function print_error(string) {
- if (typeof process === "object" && process.stderr?.write) {
- process.stderr.write(string); // We can write without a trailing newline
- } else if (typeof Deno === "object") {
- Deno.stderr.writeSync(new TextEncoder().encode(string)); // We can write without a trailing newline
- } else {
- console.error(string); // We're in a browser. Newlines are mandated
- }
-}
-
-export function print_debug(string) {
- if (typeof process === "object" && process.stderr?.write) {
- process.stderr.write(string + "\n"); // If we're in Node.js, use `stderr`
- } else if (typeof Deno === "object") {
- Deno.stderr.writeSync(new TextEncoder().encode(string + "\n")); // If we're in Deno, use `stderr`
- } else {
- console.log(string); // Otherwise, use `console.log` (so that it doesn't look like an error)
- }
-}
-
-export function ceiling(float) {
- return Math.ceil(float);
-}
-
-export function floor(float) {
- return Math.floor(float);
-}
-
-export function round(float) {
- return Math.round(float);
-}
-
-export function truncate(float) {
- return Math.trunc(float);
-}
-
-export function power(base, exponent) {
- // It is checked in Gleam that:
- // - The base is non-negative and that the exponent is not fractional.
- // - The base is non-zero and the exponent is non-negative (otherwise
- // the result will essentially be division by zero).
- // It can thus be assumed that valid input is passed to the Math.pow
- // function and a NaN or Infinity value will not be produced.
- return Math.pow(base, exponent);
-}
-
-export function random_uniform() {
- const random_uniform_result = Math.random();
- // With round-to-nearest-even behavior, the ranges claimed for the functions below
- // (excluding the one for Math.random() itself) aren't exact.
- // If extremely large bounds are chosen (2^53 or higher),
- // it's possible in extremely rare cases to calculate the usually-excluded upper bound.
- // Note that as numbers in JavaScript are IEEE 754 floating point numbers
- // See: <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random>
- // Because of this, we just loop 'until' we get a valid result where 0.0 <= x < 1.0:
- if (random_uniform_result === 1.0) {
- return random_uniform();
- }
- return random_uniform_result;
-}
-
-export function bit_array_slice(bits, position, length) {
- const start = Math.min(position, position + length);
- const end = Math.max(position, position + length);
- if (start < 0 || end > bits.length) return new Error(Nil);
- const buffer = new Uint8Array(bits.buffer.buffer, start, Math.abs(length));
- return new Ok(new BitArray(buffer));
-}
-
-export function codepoint(int) {
- return new UtfCodepoint(int);
-}
-
-export function string_to_codepoint_integer_list(string) {
- return List.fromArray(Array.from(string).map((item) => item.codePointAt(0)));
-}
-
-export function utf_codepoint_list_to_string(utf_codepoint_integer_list) {
- return utf_codepoint_integer_list
- .toArray()
- .map((x) => String.fromCodePoint(x.value))
- .join("");
-}
-
-export function utf_codepoint_to_int(utf_codepoint) {
- return utf_codepoint.value;
-}
-
-export function regex_check(regex, string) {
- regex.lastIndex = 0;
- return regex.test(string);
-}
-
-export function compile_regex(pattern, options) {
- try {
- let flags = "gu";
- if (options.case_insensitive) flags += "i";
- if (options.multi_line) flags += "m";
- return new Ok(new RegExp(pattern, flags));
- } catch (error) {
- const number = (error.columnNumber || 0) | 0;
- return new Error(new RegexCompileError(error.message, number));
- }
-}
-
-export function regex_scan(regex, string) {
- const matches = Array.from(string.matchAll(regex)).map((match) => {
- const content = match[0];
- const submatches = [];
- for (let n = match.length - 1; n > 0; n--) {
- if (match[n]) {
- submatches[n - 1] = new Some(match[n]);
- continue;
- }
- if (submatches.length > 0) {
- submatches[n - 1] = new None();
- }
- }
- return new RegexMatch(content, List.fromArray(submatches));
- });
- return List.fromArray(matches);
-}
-
-export function new_map() {
- return Dict.new();
-}
-
-export function map_size(map) {
- return map.size;
-}
-
-export function map_to_list(map) {
- return List.fromArray(map.entries());
-}
-
-export function map_remove(key, map) {
- return map.delete(key);
-}
-
-export function map_get(map, key) {
- const value = map.get(key, NOT_FOUND);
- if (value === NOT_FOUND) {
- return new Error(Nil);
- }
- return new Ok(value);
-}
-
-export function map_insert(key, value, map) {
- return map.set(key, value);
-}
-
-function unsafe_percent_decode(string) {
- return decodeURIComponent((string || "").replace("+", " "));
-}
-
-export function percent_decode(string) {
- try {
- return new Ok(unsafe_percent_decode(string));
- } catch (_error) {
- return new Error(Nil);
- }
-}
-
-export function percent_encode(string) {
- return encodeURIComponent(string);
-}
-
-export function parse_query(query) {
- try {
- const pairs = [];
- for (const section of query.split("&")) {
- const [key, value] = section.split("=");
- if (!key) continue;
- pairs.push([unsafe_percent_decode(key), unsafe_percent_decode(value)]);
- }
- return new Ok(List.fromArray(pairs));
- } catch (_error) {
- return new Error(Nil);
- }
-}
-
-// From https://developer.mozilla.org/en-US/docs/Glossary/Base64#Solution_2_%E2%80%93_rewrite_the_DOMs_atob()_and_btoa()_using_JavaScript's_TypedArrays_and_UTF-8
-export function encode64(bit_array) {
- const aBytes = bit_array.buffer;
- let nMod3 = 2;
- let sB64Enc = "";
-
- for (let nLen = aBytes.length, nUint24 = 0, nIdx = 0; nIdx < nLen; nIdx++) {
- nMod3 = nIdx % 3;
- if (nIdx > 0 && ((nIdx * 4) / 3) % 76 === 0) {
- sB64Enc += "\r\n";
- }
- nUint24 |= aBytes[nIdx] << ((16 >>> nMod3) & 24);
- if (nMod3 === 2 || aBytes.length - nIdx === 1) {
- sB64Enc += String.fromCharCode(
- uint6ToB64((nUint24 >>> 18) & 63),
- uint6ToB64((nUint24 >>> 12) & 63),
- uint6ToB64((nUint24 >>> 6) & 63),
- uint6ToB64(nUint24 & 63)
- );
- nUint24 = 0;
- }
- }
-
- return (
- sB64Enc.substr(0, sB64Enc.length - 2 + nMod3) +
- (nMod3 === 2 ? "" : nMod3 === 1 ? "=" : "==")
- );
-}
-
-// From https://developer.mozilla.org/en-US/docs/Glossary/Base64#Solution_2_%E2%80%93_rewrite_the_DOMs_atob()_and_btoa()_using_JavaScript's_TypedArrays_and_UTF-8
-function uint6ToB64(nUint6) {
- return nUint6 < 26
- ? nUint6 + 65
- : nUint6 < 52
- ? nUint6 + 71
- : nUint6 < 62
- ? nUint6 - 4
- : nUint6 === 62
- ? 43
- : nUint6 === 63
- ? 47
- : 65;
-}
-
-// From https://developer.mozilla.org/en-US/docs/Glossary/Base64#Solution_2_%E2%80%93_rewrite_the_DOMs_atob()_and_btoa()_using_JavaScript's_TypedArrays_and_UTF-8
-function b64ToUint6(nChr) {
- return nChr > 64 && nChr < 91
- ? nChr - 65
- : nChr > 96 && nChr < 123
- ? nChr - 71
- : nChr > 47 && nChr < 58
- ? nChr + 4
- : nChr === 43
- ? 62
- : nChr === 47
- ? 63
- : 0;
-}
-
-// From https://developer.mozilla.org/en-US/docs/Glossary/Base64#Solution_2_%E2%80%93_rewrite_the_DOMs_atob()_and_btoa()_using_JavaScript's_TypedArrays_and_UTF-8
-export function decode64(sBase64) {
- if (sBase64.match(/[^A-Za-z0-9\+\/=]/g)) return new Error(Nil);
- const sB64Enc = sBase64.replace(/=/g, "");
- const nInLen = sB64Enc.length;
- const nOutLen = (nInLen * 3 + 1) >> 2;
- const taBytes = new Uint8Array(nOutLen);
-
- for (
- let nMod3, nMod4, nUint24 = 0, nOutIdx = 0, nInIdx = 0;
- nInIdx < nInLen;
- nInIdx++
- ) {
- nMod4 = nInIdx & 3;
- nUint24 |= b64ToUint6(sB64Enc.charCodeAt(nInIdx)) << (6 * (3 - nMod4));
- if (nMod4 === 3 || nInLen - nInIdx === 1) {
- for (nMod3 = 0; nMod3 < 3 && nOutIdx < nOutLen; nMod3++, nOutIdx++) {
- taBytes[nOutIdx] = (nUint24 >>> ((16 >>> nMod3) & 24)) & 255;
- }
- nUint24 = 0;
- }
- }
-
- return new Ok(new BitArray(taBytes));
-}
-
-export function classify_dynamic(data) {
- if (typeof data === "string") {
- return "String";
- } else if (data instanceof Result) {
- return "Result";
- } else if (data instanceof List) {
- return "List";
- } else if (data instanceof BitArray) {
- return "BitArray";
- } else if (data instanceof Dict) {
- return "Map";
- } else if (Number.isInteger(data)) {
- return "Int";
- } else if (Array.isArray(data)) {
- return `Tuple of ${data.length} elements`;
- } else if (typeof data === "number") {
- return "Float";
- } else if (data === null) {
- return "Null";
- } else if (data === undefined) {
- return "Nil";
- } else {
- const type = typeof data;
- return type.charAt(0).toUpperCase() + type.slice(1);
- }
-}
-
-function decoder_error(expected, got) {
- return decoder_error_no_classify(expected, classify_dynamic(got));
-}
-
-function decoder_error_no_classify(expected, got) {
- return new Error(
- List.fromArray([new DecodeError(expected, got, List.fromArray([]))])
- );
-}
-
-export function decode_string(data) {
- return typeof data === "string"
- ? new Ok(data)
- : decoder_error("String", data);
-}
-
-export function decode_int(data) {
- return Number.isInteger(data) ? new Ok(data) : decoder_error("Int", data);
-}
-
-export function decode_float(data) {
- return typeof data === "number" ? new Ok(data) : decoder_error("Float", data);
-}
-
-export function decode_bool(data) {
- return typeof data === "boolean" ? new Ok(data) : decoder_error("Bool", data);
-}
-
-export function decode_bit_array(data) {
- if (data instanceof BitArray) {
- return new Ok(data);
- }
- if (data instanceof Uint8Array) {
- return new Ok(new BitArray(data));
- }
- return decoder_error("BitArray", data);
-}
-
-export function decode_tuple(data) {
- return Array.isArray(data) ? new Ok(data) : decoder_error("Tuple", data);
-}
-
-export function decode_tuple2(data) {
- return decode_tupleN(data, 2);
-}
-
-export function decode_tuple3(data) {
- return decode_tupleN(data, 3);
-}
-
-export function decode_tuple4(data) {
- return decode_tupleN(data, 4);
-}
-
-export function decode_tuple5(data) {
- return decode_tupleN(data, 5);
-}
-
-export function decode_tuple6(data) {
- return decode_tupleN(data, 6);
-}
-
-function decode_tupleN(data, n) {
- if (Array.isArray(data) && data.length == n) {
- return new Ok(data);
- }
-
- const list = decode_exact_length_list(data, n);
- if (list) return new Ok(list);
-
- return decoder_error(`Tuple of ${n} elements`, data);
-}
-
-function decode_exact_length_list(data, n) {
- if (!(data instanceof List)) return;
-
- const elements = [];
- let current = data;
-
- for (let i = 0; i < n; i++) {
- if (!(current instanceof NonEmpty)) break;
- elements.push(current.head);
- current = current.tail;
- }
-
- if (elements.length === n && !(current instanceof NonEmpty)) return elements;
-}
-
-export function tuple_get(data, index) {
- return index >= 0 && data.length > index
- ? new Ok(data[index])
- : new Error(Nil);
-}
-
-export function decode_list(data) {
- if (Array.isArray(data)) {
- return new Ok(List.fromArray(data));
- }
- return data instanceof List ? new Ok(data) : decoder_error("List", data);
-}
-
-export function decode_result(data) {
- return data instanceof Result ? new Ok(data) : decoder_error("Result", data);
-}
-
-export function decode_map(data) {
- if (data instanceof Dict) {
- return new Ok(Dict.fromMap(data));
- }
- if (data == null) {
- return decoder_error("Map", data);
- }
- if (typeof data !== "object") {
- return decoder_error("Map", data);
- }
- const proto = Object.getPrototypeOf(data);
- if (proto === Object.prototype || proto === null) {
- return new Ok(Dict.fromObject(data));
- }
- return decoder_error("Map", data);
-}
-
-export function decode_option(data, decoder) {
- if (data === null || data === undefined || data instanceof None)
- return new Ok(new None());
- if (data instanceof Some) data = data[0];
- const result = decoder(data);
- if (result.isOk()) {
- return new Ok(new Some(result[0]));
- } else {
- return result;
- }
-}
-
-export function decode_field(value, name) {
- const not_a_map_error = () => decoder_error("Map", value);
-
- if (
- value instanceof Dict ||
- value instanceof WeakMap ||
- value instanceof Map
- ) {
- const entry = map_get(value, name);
- return new Ok(entry.isOk() ? new Some(entry[0]) : new None());
- } else if (Object.getPrototypeOf(value) == Object.prototype) {
- return try_get_field(value, name, () => new Ok(new None()));
- } else {
- return try_get_field(value, name, not_a_map_error);
- }
-}
-
-function try_get_field(value, field, or_else) {
- try {
- return field in value ? new Ok(new Some(value[field])) : or_else();
- } catch {
- return or_else();
- }
-}
-
-export function byte_size(string) {
- return new TextEncoder().encode(string).length;
-}
-
-// In Javascript bitwise operations convert numbers to a sequence of 32 bits
-// while Erlang uses arbitrary precision.
-// To get around this problem and get consistent results use BigInt and then
-// downcast the value back to a Number value.
-
-export function bitwise_and(x, y) {
- return Number(BigInt(x) & BigInt(y));
-}
-
-export function bitwise_not(x) {
- return Number(~BigInt(x));
-}
-
-export function bitwise_or(x, y) {
- return Number(BigInt(x) | BigInt(y));
-}
-
-export function bitwise_exclusive_or(x, y) {
- return Number(BigInt(x) ^ BigInt(y));
-}
-
-export function bitwise_shift_left(x, y) {
- return Number(BigInt(x) << BigInt(y));
-}
-
-export function bitwise_shift_right(x, y) {
- return Number(BigInt(x) >> BigInt(y));
-}
-
-export function inspect(v) {
- const t = typeof v;
- if (v === true) return "True";
- if (v === false) return "False";
- if (v === null) return "//js(null)";
- if (v === undefined) return "Nil";
- if (t === "string") return JSON.stringify(v);
- if (t === "bigint" || t === "number") return v.toString();
- if (Array.isArray(v)) return `#(${v.map(inspect).join(", ")})`;
- if (v instanceof List) return inspectList(v);
- if (v instanceof UtfCodepoint) return inspectUtfCodepoint(v);
- if (v instanceof BitArray) return inspectBitArray(v);
- if (v instanceof CustomType) return inspectCustomType(v);
- if (v instanceof Dict) return inspectDict(v);
- if (v instanceof Set) return `//js(Set(${[...v].map(inspect).join(", ")}))`;
- if (v instanceof RegExp) return `//js(${v})`;
- if (v instanceof Date) return `//js(Date("${v.toISOString()}"))`;
- if (v instanceof Function) {
- const args = [];
- for (const i of Array(v.length).keys())
- args.push(String.fromCharCode(i + 97));
- return `//fn(${args.join(", ")}) { ... }`;
- }
- return inspectObject(v);
-}
-
-function inspectDict(map) {
- let body = "dict.from_list([";
- let first = true;
- map.forEach((value, key) => {
- if (!first) body = body + ", ";
- body = body + "#(" + inspect(key) + ", " + inspect(value) + ")";
- first = false;
- });
- return body + "])";
-}
-
-function inspectObject(v) {
- const name = Object.getPrototypeOf(v)?.constructor?.name || "Object";
- const props = [];
- for (const k of Object.keys(v)) {
- props.push(`${inspect(k)}: ${inspect(v[k])}`);
- }
- const body = props.length ? " " + props.join(", ") + " " : "";
- const head = name === "Object" ? "" : name + " ";
- return `//js(${head}{${body}})`;
-}
-
-function inspectCustomType(record) {
- const props = Object.keys(record)
- .map((label) => {
- const value = inspect(record[label]);
- return isNaN(parseInt(label)) ? `${label}: ${value}` : value;
- })
- .join(", ");
- return props
- ? `${record.constructor.name}(${props})`
- : record.constructor.name;
-}
-
-export function inspectList(list) {
- return `[${list.toArray().map(inspect).join(", ")}]`;
-}
-
-export function inspectBitArray(bits) {
- return `<<${Array.from(bits.buffer).join(", ")}>>`;
-}
-
-export function inspectUtfCodepoint(codepoint) {
- return `//utfcodepoint(${String.fromCodePoint(codepoint.value)})`;
-}
-
-export function base16_encode(bit_array) {
- let result = "";
- for (const byte of bit_array.buffer) {
- result += byte.toString(16).padStart(2, "0").toUpperCase();
- }
- return result;
-}
-
-export function base16_decode(string) {
- const bytes = new Uint8Array(string.length / 2);
- for (let i = 0; i < string.length; i += 2) {
- const a = parseInt(string[i], 16);
- const b = parseInt(string[i + 1], 16);
- if (isNaN(a) || isNaN(b)) return new Error(Nil);
- bytes[i / 2] = a * 16 + b;
- }
- return new Ok(new BitArray(bytes));
-}
diff --git a/aoc2023/build/packages/glint/LICENSE b/aoc2023/build/packages/glint/LICENSE
deleted file mode 100644
index 261eeb9..0000000
--- a/aoc2023/build/packages/glint/LICENSE
+++ /dev/null
@@ -1,201 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/aoc2023/build/packages/glint/README.md b/aoc2023/build/packages/glint/README.md
deleted file mode 100644
index d6d5821..0000000
--- a/aoc2023/build/packages/glint/README.md
+++ /dev/null
@@ -1,104 +0,0 @@
-# glint
-
-[![Hex Package](https://img.shields.io/hexpm/v/glint?color=ffaff3&label=%F0%9F%93%A6)](https://hex.pm/packages/glint)
-[![Hex.pm](https://img.shields.io/hexpm/dt/glint?color=ffaff3)](https://hex.pm/packages/glint)
-[![Hex Docs](https://img.shields.io/badge/hex-docs-ffaff3?label=%F0%9F%93%9A)](https://hexdocs.pm/glint/)
-[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/tanklesxl/glint/main)](https://github.com/tanklesxl/glint/actions)
-
-Gleam command line argument parsing with basic flag support.
-
-## Installation
-
-To install from hex:
-
-```sh
-gleam add glint
-```
-
-## Usage
-
-### Glint's Core
-
-`glint` is conceptually quite small, your general flow will be:
-
-1. create a new glint instance with `glint.new`
-1. configure it with `glint.with_pretty_help` and other configuration functions
-1. add commands with `glint.add`
- 1. create a new command with `glint.cmd`
- 1. assign that command any flags required
- 1. assign the command a custom description
-1. run your cli with `glnt.run`, run with a function to handle command output with `glint.run_and_handle`
-
-### Mini Example
-
-You can import `glint` as a dependency and use it to build simple command-line applications like the following simplified version of the [the hello world example](https://github.com/TanklesXL/glint/tree/main/examples/hello/README.md)
-
-```gleam
-// stdlib imports
-import gleam/io
-import gleam/list
-import gleam/result
-import gleam/string.{uppercase}
-// external dep imports
-import snag
-// glint imports
-import glint
-import glint/flag
-// erlang-specific imports
-
-@target(erlang)
-import gleam/erlang.{start_arguments}
-
-/// the key for the caps flag
-const caps = "caps"
-
-/// a boolean flag with default False to control message capitalization.
-///
-fn caps_flag() -> flag.FlagBuilder(Bool) {
- flag.bool()
- |> flag.default(False)
- |> flag.description("Capitalize the provided name")
-}
-
-/// the command function that will be executed
-///
-fn hello(input: glint.CommandInput) -> Nil {
- let assert Ok(caps) = flag.get_bool(from: input.flags, for: caps)
-
- let name =
- case input.args {
- [] -> "Joe"
- [name,..] -> name
- }
-
- let msg = "Hello, " <> name <> "!"
-
-
- case caps {
- True -> uppercase(msg)
- False -> msg
- }
- |> io.println
-}
-
-pub fn main() {
- // create a new glint instance
- glint.new()
- // with an app name of "hello", this is used when printing help text
- |> glint.with_name("hello")
- // with pretty help enabled, using the built-in colours
- |> glint.with_pretty_help(glint.default_pretty_help())
- // with a root command that executes the `hello` function
- |> glint.add(
- // add the command to the root
- at: [],
- // create the command, add any flags
- do: glint.command(hello)
- // with flag `caps`
- |> glint.flag(caps, caps_flag())
- // with a short description
- |> glint.description("Prints Hello, <NAME>!"),
- )
- |> glint.run(start_arguments())
-}
-```
diff --git a/aoc2023/build/packages/glint/gleam.toml b/aoc2023/build/packages/glint/gleam.toml
deleted file mode 100644
index e8ac4ae..0000000
--- a/aoc2023/build/packages/glint/gleam.toml
+++ /dev/null
@@ -1,23 +0,0 @@
-name = "glint"
-version = "0.13.0"
-
-# Fill out these fields if you intend to generate HTML documentation or publishname = "glint"
-# your project to the Hex package manager.
-#
-licences = ["Apache-2.0"]
-description = "Gleam command line argument parsing with basic flag support."
-repository = { type = "github", user = "TanklesXL", repo = "glint" }
-links = [
- { title = "Hex", href = "https://hex.pm/packages/glint" },
- { title = "Docs", href = "https://hexdocs.pm/glint/" },
-]
-gleam = ">= 0.32.0"
-
-[dependencies]
-gleam_stdlib = "~> 0.19"
-snag = "~> 0.2"
-gleam_community_ansi = "~> 1.0"
-gleam_community_colour = "~> 1.0"
-
-[dev-dependencies]
-gleeunit = "~> 0.5"
diff --git a/aoc2023/build/packages/glint/include/glint@flag_Flag.hrl b/aoc2023/build/packages/glint/include/glint@flag_Flag.hrl
deleted file mode 100644
index 645cb12..0000000
--- a/aoc2023/build/packages/glint/include/glint@flag_Flag.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(flag, {value :: glint@flag:value(), description :: binary()}).
diff --git a/aoc2023/build/packages/glint/include/glint@flag_FlagBuilder.hrl b/aoc2023/build/packages/glint/include/glint@flag_FlagBuilder.hrl
deleted file mode 100644
index b5e21a2..0000000
--- a/aoc2023/build/packages/glint/include/glint@flag_FlagBuilder.hrl
+++ /dev/null
@@ -1,6 +0,0 @@
--record(flag_builder, {
- desc :: binary(),
- parser :: fun((binary()) -> {ok, any()} | {error, snag:snag()}),
- value :: fun((glint@flag:internal(any())) -> glint@flag:value()),
- default :: gleam@option:option(any())
-}).
diff --git a/aoc2023/build/packages/glint/include/glint@flag_Internal.hrl b/aoc2023/build/packages/glint/include/glint@flag_Internal.hrl
deleted file mode 100644
index 281bbd0..0000000
--- a/aoc2023/build/packages/glint/include/glint@flag_Internal.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(internal, {
- value :: gleam@option:option(any()),
- parser :: fun((binary()) -> {ok, any()} | {error, snag:snag()})
-}).
diff --git a/aoc2023/build/packages/glint/include/glint_Command.hrl b/aoc2023/build/packages/glint/include/glint_Command.hrl
deleted file mode 100644
index 00a03e3..0000000
--- a/aoc2023/build/packages/glint/include/glint_Command.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(command, {
- do :: fun((glint:command_input()) -> any()),
- flags :: gleam@map:map_(binary(), glint@flag:flag()),
- description :: binary()
-}).
diff --git a/aoc2023/build/packages/glint/include/glint_CommandInput.hrl b/aoc2023/build/packages/glint/include/glint_CommandInput.hrl
deleted file mode 100644
index 72c9641..0000000
--- a/aoc2023/build/packages/glint/include/glint_CommandInput.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(command_input, {
- args :: list(binary()),
- flags :: gleam@map:map_(binary(), glint@flag:flag())
-}).
diff --git a/aoc2023/build/packages/glint/include/glint_Config.hrl b/aoc2023/build/packages/glint/include/glint_Config.hrl
deleted file mode 100644
index 70cf645..0000000
--- a/aoc2023/build/packages/glint/include/glint_Config.hrl
+++ /dev/null
@@ -1,4 +0,0 @@
--record(config, {
- pretty_help :: gleam@option:option(glint:pretty_help()),
- name :: gleam@option:option(binary())
-}).
diff --git a/aoc2023/build/packages/glint/include/glint_Glint.hrl b/aoc2023/build/packages/glint/include/glint_Glint.hrl
deleted file mode 100644
index 7ece11d..0000000
--- a/aoc2023/build/packages/glint/include/glint_Glint.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(glint, {
- config :: glint:config(),
- cmd :: glint:command_node(any()),
- global_flags :: gleam@map:map_(binary(), glint@flag:flag())
-}).
diff --git a/aoc2023/build/packages/glint/include/glint_PrettyHelp.hrl b/aoc2023/build/packages/glint/include/glint_PrettyHelp.hrl
deleted file mode 100644
index 79bd887..0000000
--- a/aoc2023/build/packages/glint/include/glint_PrettyHelp.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(pretty_help, {
- usage :: gleam_community@colour:colour(),
- flags :: gleam_community@colour:colour(),
- subcommands :: gleam_community@colour:colour()
-}).
diff --git a/aoc2023/build/packages/glint/include/glint_Stub.hrl b/aoc2023/build/packages/glint/include/glint_Stub.hrl
deleted file mode 100644
index 5aa5d83..0000000
--- a/aoc2023/build/packages/glint/include/glint_Stub.hrl
+++ /dev/null
@@ -1,6 +0,0 @@
--record(stub, {
- path :: list(binary()),
- run :: fun((glint:command_input()) -> any()),
- flags :: list({binary(), glint@flag:flag()}),
- description :: binary()
-}).
diff --git a/aoc2023/build/packages/glint/src/glint.app.src b/aoc2023/build/packages/glint/src/glint.app.src
deleted file mode 100644
index 7eb7649..0000000
--- a/aoc2023/build/packages/glint/src/glint.app.src
+++ /dev/null
@@ -1,13 +0,0 @@
-{application, glint, [
- {vsn, "0.13.0"},
- {applications, [gleam_community_ansi,
- gleam_community_colour,
- gleam_stdlib,
- gleeunit,
- snag]},
- {description, "Gleam command line argument parsing with basic flag support."},
- {modules, [glint,
- glint@flag,
- glint@flag@constraint]},
- {registered, []}
-]}.
diff --git a/aoc2023/build/packages/glint/src/glint.erl b/aoc2023/build/packages/glint/src/glint.erl
deleted file mode 100644
index 0501cc6..0000000
--- a/aoc2023/build/packages/glint/src/glint.erl
+++ /dev/null
@@ -1,513 +0,0 @@
--module(glint).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([with_config/2, with_pretty_help/2, without_pretty_help/1, with_name/2, new/0, command/1, description/2, flag/3, flag_tuple/2, flags/2, global_flag/3, global_flag_tuple/2, global_flags/2, default_pretty_help/0, add/3, help_flag/0, execute/2, run_and_handle/3, run/2, add_command_from_stub/2]).
--export_type([config/0, pretty_help/0, glint/1, command/1, command_input/0, command_node/1, out/1, stub/1]).
-
--type config() :: {config,
- gleam@option:option(pretty_help()),
- gleam@option:option(binary())}.
-
--type pretty_help() :: {pretty_help,
- gleam_community@colour:colour(),
- gleam_community@colour:colour(),
- gleam_community@colour:colour()}.
-
--opaque glint(GHR) :: {glint,
- config(),
- command_node(GHR),
- gleam@map:map_(binary(), glint@flag:flag())}.
-
--opaque command(GHS) :: {command,
- fun((command_input()) -> GHS),
- gleam@map:map_(binary(), glint@flag:flag()),
- binary()}.
-
--type command_input() :: {command_input,
- list(binary()),
- gleam@map:map_(binary(), glint@flag:flag())}.
-
--type command_node(GHT) :: {command_node,
- gleam@option:option(command(GHT)),
- gleam@map:map_(binary(), command_node(GHT))}.
-
--type out(GHU) :: {out, GHU} | {help, binary()}.
-
--type stub(GHV) :: {stub,
- list(binary()),
- fun((command_input()) -> GHV),
- list({binary(), glint@flag:flag()}),
- binary()}.
-
--spec with_config(glint(GIA), config()) -> glint(GIA).
-with_config(Glint, Config) ->
- erlang:setelement(2, Glint, Config).
-
--spec with_pretty_help(glint(GID), pretty_help()) -> glint(GID).
-with_pretty_help(Glint, Pretty) ->
- _pipe = erlang:setelement(2, erlang:element(2, Glint), {some, Pretty}),
- with_config(Glint, _pipe).
-
--spec without_pretty_help(glint(GIG)) -> glint(GIG).
-without_pretty_help(Glint) ->
- _pipe = erlang:setelement(2, erlang:element(2, Glint), none),
- with_config(Glint, _pipe).
-
--spec with_name(glint(GIJ), binary()) -> glint(GIJ).
-with_name(Glint, Name) ->
- _pipe = erlang:setelement(3, erlang:element(2, Glint), {some, Name}),
- with_config(Glint, _pipe).
-
--spec empty_command() -> command_node(any()).
-empty_command() ->
- {command_node, none, gleam@map:new()}.
-
--spec new() -> glint(any()).
-new() ->
- {glint, {config, none, none}, empty_command(), gleam@map:new()}.
-
--spec do_add(command_node(GIT), list(binary()), command(GIT)) -> command_node(GIT).
-do_add(Root, Path, Contents) ->
- case Path of
- [] ->
- erlang:setelement(2, Root, {some, Contents});
-
- [X | Xs] ->
- erlang:setelement(
- 3,
- Root,
- (gleam@map:update(
- erlang:element(3, Root),
- X,
- fun(Node) -> _pipe = Node,
- _pipe@1 = gleam@option:lazy_unwrap(
- _pipe,
- fun empty_command/0
- ),
- do_add(_pipe@1, Xs, Contents) end
- ))
- )
- end.
-
--spec command(fun((command_input()) -> GJC)) -> command(GJC).
-command(Runner) ->
- {command, Runner, gleam@map:new(), <<""/utf8>>}.
-
--spec description(command(GJF), binary()) -> command(GJF).
-description(Cmd, Description) ->
- erlang:setelement(4, Cmd, Description).
-
--spec flag(command(GJI), binary(), glint@flag:flag_builder(any())) -> command(GJI).
-flag(Cmd, Key, Flag) ->
- erlang:setelement(
- 3,
- Cmd,
- gleam@map:insert(erlang:element(3, Cmd), Key, glint@flag:build(Flag))
- ).
-
--spec flag_tuple(command(GJN), {binary(), glint@flag:flag_builder(any())}) -> command(GJN).
-flag_tuple(Cmd, Tup) ->
- flag(Cmd, erlang:element(1, Tup), erlang:element(2, Tup)).
-
--spec flags(command(GJS), list({binary(), glint@flag:flag()})) -> command(GJS).
-flags(Cmd, Flags) ->
- gleam@list:fold(
- Flags,
- Cmd,
- fun(Cmd@1, _use1) ->
- {Key, Flag} = _use1,
- erlang:setelement(
- 3,
- Cmd@1,
- gleam@map:insert(erlang:element(3, Cmd@1), Key, Flag)
- )
- end
- ).
-
--spec global_flag(glint(GJW), binary(), glint@flag:flag_builder(any())) -> glint(GJW).
-global_flag(Glint, Key, Flag) ->
- erlang:setelement(
- 4,
- Glint,
- gleam@map:insert(erlang:element(4, Glint), Key, glint@flag:build(Flag))
- ).
-
--spec global_flag_tuple(glint(GKB), {binary(), glint@flag:flag_builder(any())}) -> glint(GKB).
-global_flag_tuple(Glint, Tup) ->
- global_flag(Glint, erlang:element(1, Tup), erlang:element(2, Tup)).
-
--spec global_flags(glint(GKG), list({binary(), glint@flag:flag()})) -> glint(GKG).
-global_flags(Glint, Flags) ->
- erlang:setelement(
- 4,
- Glint,
- (gleam@list:fold(
- Flags,
- erlang:element(4, Glint),
- fun(Acc, Tup) ->
- gleam@map:insert(
- Acc,
- erlang:element(1, Tup),
- erlang:element(2, Tup)
- )
- end
- ))
- ).
-
--spec execute_root(
- command_node(GKU),
- gleam@map:map_(binary(), glint@flag:flag()),
- list(binary()),
- list(binary())
-) -> {ok, out(GKU)} | {error, snag:snag()}.
-execute_root(Cmd, Global_flags, Args, Flag_inputs) ->
- _pipe@3 = case erlang:element(2, Cmd) of
- {some, Contents} ->
- gleam@result:'try'(
- gleam@list:try_fold(
- Flag_inputs,
- gleam@map:merge(Global_flags, erlang:element(3, Contents)),
- fun glint@flag:update_flags/2
- ),
- fun(New_flags) -> _pipe = {command_input, Args, New_flags},
- _pipe@1 = (erlang:element(2, Contents))(_pipe),
- _pipe@2 = {out, _pipe@1},
- {ok, _pipe@2} end
- );
-
- none ->
- snag:error(<<"command not found"/utf8>>)
- end,
- snag:context(_pipe@3, <<"failed to run command"/utf8>>).
-
--spec default_pretty_help() -> pretty_help().
-default_pretty_help() ->
- _assert_subject = gleam_community@colour:from_rgb255(182, 255, 234),
- {ok, Usage_colour} = case _assert_subject of
- {ok, _} -> _assert_subject;
- _assert_fail ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail,
- module => <<"glint"/utf8>>,
- function => <<"default_pretty_help"/utf8>>,
- line => 404})
- end,
- _assert_subject@1 = gleam_community@colour:from_rgb255(255, 175, 243),
- {ok, Flags_colour} = case _assert_subject@1 of
- {ok, _} -> _assert_subject@1;
- _assert_fail@1 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@1,
- module => <<"glint"/utf8>>,
- function => <<"default_pretty_help"/utf8>>,
- line => 405})
- end,
- _assert_subject@2 = gleam_community@colour:from_rgb255(252, 226, 174),
- {ok, Subcommands_colour} = case _assert_subject@2 of
- {ok, _} -> _assert_subject@2;
- _assert_fail@2 ->
- erlang:error(#{gleam_error => let_assert,
- message => <<"Assertion pattern match failed"/utf8>>,
- value => _assert_fail@2,
- module => <<"glint"/utf8>>,
- function => <<"default_pretty_help"/utf8>>,
- line => 406})
- end,
- {pretty_help, Usage_colour, Flags_colour, Subcommands_colour}.
-
--spec is_not_empty(binary()) -> boolean().
-is_not_empty(S) ->
- S /= <<""/utf8>>.
-
--spec sanitize_path(list(binary())) -> list(binary()).
-sanitize_path(Path) ->
- _pipe = Path,
- _pipe@1 = gleam@list:map(_pipe, fun gleam@string:trim/1),
- gleam@list:filter(_pipe@1, fun is_not_empty/1).
-
--spec add(glint(GIO), list(binary()), command(GIO)) -> glint(GIO).
-add(Glint, Path, Contents) ->
- erlang:setelement(
- 3,
- Glint,
- begin
- _pipe = Path,
- _pipe@1 = sanitize_path(_pipe),
- do_add(erlang:element(3, Glint), _pipe@1, Contents)
- end
- ).
-
--spec help_flag() -> binary().
-help_flag() ->
- <<(<<"--"/utf8>>)/binary, "help"/utf8>>.
-
--spec wrap_with_space(binary()) -> binary().
-wrap_with_space(S) ->
- case S of
- <<""/utf8>> ->
- <<" "/utf8>>;
-
- _ ->
- <<<<" "/utf8, S/binary>>/binary, " "/utf8>>
- end.
-
--spec subcommand_help(binary(), command_node(any())) -> binary().
-subcommand_help(Name, Cmd) ->
- case erlang:element(2, Cmd) of
- none ->
- Name;
-
- {some, Contents} ->
- <<<<Name/binary, "\t\t"/utf8>>/binary,
- (erlang:element(4, Contents))/binary>>
- end.
-
--spec subcommands_help(gleam@map:map_(binary(), command_node(any()))) -> binary().
-subcommands_help(Cmds) ->
- _pipe = Cmds,
- _pipe@1 = gleam@map:map_values(_pipe, fun subcommand_help/2),
- _pipe@2 = gleam@map:values(_pipe@1),
- _pipe@3 = gleam@list:sort(_pipe@2, fun gleam@string:compare/2),
- gleam@string:join(_pipe@3, <<"\n\t"/utf8>>).
-
--spec heading_style(binary(), gleam_community@colour:colour()) -> binary().
-heading_style(Heading, Colour) ->
- _pipe = Heading,
- _pipe@1 = gleam_community@ansi:bold(_pipe),
- _pipe@2 = gleam_community@ansi:underline(_pipe@1),
- _pipe@3 = gleam_community@ansi:italic(_pipe@2),
- _pipe@4 = gleam_community@ansi:hex(
- _pipe@3,
- gleam_community@colour:to_rgb_hex(Colour)
- ),
- gleam_community@ansi:reset(_pipe@4).
-
--spec usage_help(
- binary(),
- gleam@map:map_(binary(), glint@flag:flag()),
- config()
-) -> binary().
-usage_help(Cmd_name, Flags, Config) ->
- App_name = gleam@option:unwrap(
- erlang:element(3, Config),
- <<"gleam run"/utf8>>
- ),
- Flags@1 = begin
- _pipe = Flags,
- _pipe@1 = gleam@map:to_list(_pipe),
- _pipe@2 = gleam@list:map(_pipe@1, fun glint@flag:flag_type_help/1),
- gleam@list:sort(_pipe@2, fun gleam@string:compare/2)
- end,
- Flag_sb = case Flags@1 of
- [] ->
- gleam@string_builder:new();
-
- _ ->
- _pipe@3 = Flags@1,
- _pipe@4 = gleam@list:intersperse(_pipe@3, <<" "/utf8>>),
- _pipe@5 = gleam@string_builder:from_strings(_pipe@4),
- _pipe@6 = gleam@string_builder:prepend(_pipe@5, <<" [ "/utf8>>),
- gleam@string_builder:append(_pipe@6, <<" ]"/utf8>>)
- end,
- _pipe@7 = [App_name, wrap_with_space(Cmd_name), <<"[ ARGS ]"/utf8>>],
- _pipe@8 = gleam@string_builder:from_strings(_pipe@7),
- _pipe@9 = gleam@string_builder:append_builder(_pipe@8, Flag_sb),
- _pipe@12 = gleam@string_builder:prepend(
- _pipe@9,
- <<(begin
- _pipe@10 = erlang:element(2, Config),
- _pipe@11 = gleam@option:map(
- _pipe@10,
- fun(Styling) ->
- heading_style(
- <<"USAGE:"/utf8>>,
- erlang:element(2, Styling)
- )
- end
- ),
- gleam@option:unwrap(_pipe@11, <<"USAGE:"/utf8>>)
- end)/binary,
- "\n\t"/utf8>>
- ),
- gleam@string_builder:to_string(_pipe@12).
-
--spec cmd_help(
- list(binary()),
- command_node(any()),
- config(),
- gleam@map:map_(binary(), glint@flag:flag())
-) -> binary().
-cmd_help(Path, Cmd, Config, Global_flags) ->
- Name = begin
- _pipe = Path,
- _pipe@1 = gleam@list:reverse(_pipe),
- gleam@string:join(_pipe@1, <<" "/utf8>>)
- end,
- Flags = begin
- _pipe@2 = gleam@option:map(
- erlang:element(2, Cmd),
- fun(Contents) -> erlang:element(3, Contents) end
- ),
- _pipe@3 = gleam@option:lazy_unwrap(_pipe@2, fun gleam@map:new/0),
- gleam@map:merge(Global_flags, _pipe@3)
- end,
- Flags_help_body = <<<<(begin
- _pipe@4 = erlang:element(2, Config),
- _pipe@5 = gleam@option:map(
- _pipe@4,
- fun(P) ->
- heading_style(<<"FLAGS:"/utf8>>, erlang:element(3, P))
- end
- ),
- gleam@option:unwrap(_pipe@5, <<"FLAGS:"/utf8>>)
- end)/binary,
- "\n\t"/utf8>>/binary,
- (gleam@string:join(
- gleam@list:sort(
- [<<"--help\t\t\tPrint help information"/utf8>> |
- glint@flag:flags_help(Flags)],
- fun gleam@string:compare/2
- ),
- <<"\n\t"/utf8>>
- ))/binary>>,
- Usage = usage_help(Name, Flags, Config),
- Description = begin
- _pipe@6 = erlang:element(2, Cmd),
- _pipe@7 = gleam@option:map(
- _pipe@6,
- fun(Contents@1) -> erlang:element(4, Contents@1) end
- ),
- gleam@option:unwrap(_pipe@7, <<""/utf8>>)
- end,
- Header_items = begin
- _pipe@8 = [Name, Description],
- _pipe@9 = gleam@list:filter(_pipe@8, fun is_not_empty/1),
- gleam@string:join(_pipe@9, <<"\n"/utf8>>)
- end,
- Subcommands = case subcommands_help(erlang:element(3, Cmd)) of
- <<""/utf8>> ->
- <<""/utf8>>;
-
- Subcommands_help_body ->
- <<<<(begin
- _pipe@10 = erlang:element(2, Config),
- _pipe@11 = gleam@option:map(
- _pipe@10,
- fun(P@1) ->
- heading_style(
- <<"SUBCOMMANDS:"/utf8>>,
- erlang:element(4, P@1)
- )
- end
- ),
- gleam@option:unwrap(_pipe@11, <<"SUBCOMMANDS:"/utf8>>)
- end)/binary,
- "\n\t"/utf8>>/binary,
- Subcommands_help_body/binary>>
- end,
- _pipe@12 = [Header_items, Usage, Flags_help_body, Subcommands],
- _pipe@13 = gleam@list:filter(_pipe@12, fun is_not_empty/1),
- gleam@string:join(_pipe@13, <<"\n\n"/utf8>>).
-
--spec do_execute(
- command_node(GKO),
- config(),
- gleam@map:map_(binary(), glint@flag:flag()),
- list(binary()),
- list(binary()),
- boolean(),
- list(binary())
-) -> {ok, out(GKO)} | {error, snag:snag()}.
-do_execute(Cmd, Config, Global_flags, Args, Flags, Help, Command_path) ->
- case Args of
- [] when Help ->
- _pipe = Command_path,
- _pipe@1 = cmd_help(_pipe, Cmd, Config, Global_flags),
- _pipe@2 = {help, _pipe@1},
- {ok, _pipe@2};
-
- [] ->
- execute_root(Cmd, Global_flags, [], Flags);
-
- [Arg | Rest] ->
- case gleam@map:get(erlang:element(3, Cmd), Arg) of
- {ok, Cmd@1} ->
- do_execute(
- Cmd@1,
- Config,
- Global_flags,
- Rest,
- Flags,
- Help,
- [Arg | Command_path]
- );
-
- _ when Help ->
- _pipe@3 = Command_path,
- _pipe@4 = cmd_help(_pipe@3, Cmd, Config, Global_flags),
- _pipe@5 = {help, _pipe@4},
- {ok, _pipe@5};
-
- _ ->
- execute_root(Cmd, Global_flags, Args, Flags)
- end
- end.
-
--spec execute(glint(GKK), list(binary())) -> {ok, out(GKK)} |
- {error, snag:snag()}.
-execute(Glint, Args) ->
- Help_flag = help_flag(),
- {Help, Args@2} = case gleam@list:pop(Args, fun(S) -> S =:= Help_flag end) of
- {ok, {_, Args@1}} ->
- {true, Args@1};
-
- _ ->
- {false, Args}
- end,
- {Flags, Args@3} = gleam@list:partition(
- Args@2,
- fun(_capture) -> gleam@string:starts_with(_capture, <<"--"/utf8>>) end
- ),
- do_execute(
- erlang:element(3, Glint),
- erlang:element(2, Glint),
- erlang:element(4, Glint),
- Args@3,
- Flags,
- Help,
- []
- ).
-
--spec run_and_handle(glint(GLC), list(binary()), fun((GLC) -> any())) -> nil.
-run_and_handle(Glint, Args, Handle) ->
- case execute(Glint, Args) of
- {error, Err} ->
- _pipe = Err,
- _pipe@1 = snag:pretty_print(_pipe),
- gleam@io:println(_pipe@1);
-
- {ok, {help, Help}} ->
- gleam@io:println(Help);
-
- {ok, {out, Out}} ->
- Handle(Out),
- nil
- end.
-
--spec run(glint(any()), list(binary())) -> nil.
-run(Glint, Args) ->
- run_and_handle(Glint, Args, gleam@function:constant(nil)).
-
--spec add_command_from_stub(glint(GLP), stub(GLP)) -> glint(GLP).
-add_command_from_stub(Glint, Stub) ->
- add(
- Glint,
- erlang:element(2, Stub),
- begin
- _pipe = command(erlang:element(3, Stub)),
- _pipe@1 = flags(_pipe, erlang:element(4, Stub)),
- description(_pipe@1, erlang:element(5, Stub))
- end
- ).
diff --git a/aoc2023/build/packages/glint/src/glint.gleam b/aoc2023/build/packages/glint/src/glint.gleam
deleted file mode 100644
index b159016..0000000
--- a/aoc2023/build/packages/glint/src/glint.gleam
+++ /dev/null
@@ -1,588 +0,0 @@
-import gleam/map.{type Map}
-import gleam/option.{type Option, None, Some}
-import gleam/list
-import gleam/io
-import gleam/string
-import snag.{type Result}
-import glint/flag.{type Flag, type Map as FlagMap}
-import gleam/string_builder as sb
-import gleam_community/ansi
-import gleam_community/colour.{type Colour}
-import gleam/result
-import gleam/function
-
-// --- CONFIGURATION ---
-
-// -- CONFIGURATION: TYPES --
-
-/// Config for glint
-///
-pub type Config {
- Config(pretty_help: Option(PrettyHelp), name: Option(String))
-}
-
-/// PrettyHelp defines the header colours to be used when styling help text
-///
-pub type PrettyHelp {
- PrettyHelp(usage: Colour, flags: Colour, subcommands: Colour)
-}
-
-// -- CONFIGURATION: CONSTANTS --
-
-/// Default config
-///
-pub const default_config = Config(pretty_help: None, name: None)
-
-// -- CONFIGURATION: FUNCTIONS --
-
-/// Add the provided config to the existing command tree
-///
-pub fn with_config(glint: Glint(a), config: Config) -> Glint(a) {
- Glint(..glint, config: config)
-}
-
-/// Enable custom colours for help text headers
-/// For a pre-made colouring use `default_pretty_help()`
-///
-pub fn with_pretty_help(glint: Glint(a), pretty: PrettyHelp) -> Glint(a) {
- Config(..glint.config, pretty_help: Some(pretty))
- |> with_config(glint, _)
-}
-
-/// Disable custom colours for help text headers
-///
-pub fn without_pretty_help(glint: Glint(a)) -> Glint(a) {
- Config(..glint.config, pretty_help: None)
- |> with_config(glint, _)
-}
-
-pub fn with_name(glint: Glint(a), name: String) -> Glint(a) {
- Config(..glint.config, name: Some(name))
- |> with_config(glint, _)
-}
-
-// --- CORE ---
-
-// -- CORE: TYPES --
-
-/// Glint container type for config and commands
-///
-pub opaque type Glint(a) {
- Glint(config: Config, cmd: CommandNode(a), global_flags: FlagMap)
-}
-
-/// CommandNode contents
-///
-pub opaque type Command(a) {
- Command(do: Runner(a), flags: FlagMap, description: String)
-}
-
-/// Input type for `Runner`.
-///
-pub type CommandInput {
- CommandInput(args: List(String), flags: FlagMap)
-}
-
-/// Function type to be run by `glint`.
-///
-pub type Runner(a) =
- fn(CommandInput) -> a
-
-/// CommandNode tree representation.
-///
-type CommandNode(a) {
- CommandNode(
- contents: Option(Command(a)),
- subcommands: Map(String, CommandNode(a)),
- )
-}
-
-/// Ok type for command execution
-///
-pub type Out(a) {
- /// Container for the command return value
- Out(a)
- /// Container for the generated help string
- Help(String)
-}
-
-/// Result type for command execution
-///
-pub type CmdResult(a) =
- Result(Out(a))
-
-// -- CORE: BUILDER FUNCTIONS --
-
-/// Creates a new command tree.
-///
-pub fn new() -> Glint(a) {
- Glint(config: default_config, cmd: empty_command(), global_flags: map.new())
-}
-
-/// Adds a new command to be run at the specified path.
-///
-/// If the path is `[]`, the root command is set with the provided function and
-/// flags.
-///
-/// Note: all command paths are sanitized by stripping whitespace and removing any empty string elements.
-///
-pub fn add(
- to glint: Glint(a),
- at path: List(String),
- do contents: Command(a),
-) -> Glint(a) {
- Glint(
- ..glint,
- cmd: path
- |> sanitize_path
- |> do_add(to: glint.cmd, put: contents),
- )
-}
-
-/// Recursive traversal of the command tree to find where to puth the provided command
-///
-fn do_add(
- to root: CommandNode(a),
- at path: List(String),
- put contents: Command(a),
-) -> CommandNode(a) {
- case path {
- // update current command with provided contents
- [] -> CommandNode(..root, contents: Some(contents))
- // continue down the path, creating empty command nodes along the way
- [x, ..xs] ->
- CommandNode(
- ..root,
- subcommands: {
- use node <- map.update(root.subcommands, x)
- node
- |> option.lazy_unwrap(empty_command)
- |> do_add(xs, contents)
- },
- )
- }
-}
-
-/// Helper for initializing empty commands
-///
-fn empty_command() -> CommandNode(a) {
- CommandNode(contents: None, subcommands: map.new())
-}
-
-/// Trim each path element and remove any resulting empty strings.
-///
-fn sanitize_path(path: List(String)) -> List(String) {
- path
- |> list.map(string.trim)
- |> list.filter(is_not_empty)
-}
-
-/// Create a Command(a) from a Runner(a)
-///
-pub fn command(do runner: Runner(a)) -> Command(a) {
- Command(do: runner, flags: map.new(), description: "")
-}
-
-/// Attach a description to a Command(a)
-///
-pub fn description(cmd: Command(a), description: String) -> Command(a) {
- Command(..cmd, description: description)
-}
-
-/// add a `flag.Flag` to a `Command`
-///
-pub fn flag(
- cmd: Command(a),
- at key: String,
- of flag: flag.FlagBuilder(_),
-) -> Command(a) {
- Command(..cmd, flags: map.insert(cmd.flags, key, flag.build(flag)))
-}
-
-/// Add a `flag.Flag to a `Command` when the flag name and builder are bundled as a #(String, flag.FlagBuilder(a)).
-///
-/// This is merely a convenience function and calls `glint.flag` under the hood.
-///
-pub fn flag_tuple(
- cmd: Command(a),
- with tup: #(String, flag.FlagBuilder(_)),
-) -> Command(a) {
- flag(cmd, tup.0, tup.1)
-}
-
-/// Add multiple `Flag`s to a `Command`, note that this function uses `Flag` and not `FlagBuilder(_)`, so the user will need to call `flag.build` before providing the flags here.
-///
-/// It is recommended to call `glint.flag` instead.
-///
-pub fn flags(cmd: Command(a), with flags: List(#(String, Flag))) -> Command(a) {
- use cmd, #(key, flag) <- list.fold(flags, cmd)
- Command(..cmd, flags: map.insert(cmd.flags, key, flag))
-}
-
-/// Add global flags to the existing command tree
-///
-pub fn global_flag(
- glint: Glint(a),
- at key: String,
- of flag: flag.FlagBuilder(_),
-) -> Glint(a) {
- Glint(
- ..glint,
- global_flags: map.insert(glint.global_flags, key, flag.build(flag)),
- )
-}
-
-/// Add global flags to the existing command tree.
-///
-pub fn global_flag_tuple(
- glint: Glint(a),
- with tup: #(String, flag.FlagBuilder(_)),
-) -> Glint(a) {
- global_flag(glint, tup.0, tup.1)
-}
-
-/// Add global flags to the existing command tree.
-///
-/// Like `glint.flags`, this function requires `Flag`s insead of `FlagBuilder(_)`.
-///
-/// It is recommended to use `glint.global_flag` instead.
-///
-pub fn global_flags(glint: Glint(a), flags: List(#(String, Flag))) -> Glint(a) {
- Glint(
- ..glint,
- global_flags: {
- list.fold(
- flags,
- glint.global_flags,
- fn(acc, tup) { map.insert(acc, tup.0, tup.1) },
- )
- },
- )
-}
-
-// -- CORE: EXECUTION FUNCTIONS --
-
-/// Determines which command to run and executes it.
-///
-/// Sets any provided flags if necessary.
-///
-/// Each value prefixed with `--` is parsed as a flag.
-///
-/// This function does not print its output and is mainly intended for use within `glint` itself.
-/// If you would like to print or handle the output of a command please see the `run_and_handle` function.
-///
-pub fn execute(glint: Glint(a), args: List(String)) -> CmdResult(a) {
- // create help flag to check for
- let help_flag = help_flag()
-
- // check if help flag is present
- let #(help, args) = case list.pop(args, fn(s) { s == help_flag }) {
- Ok(#(_, args)) -> #(True, args)
- _ -> #(False, args)
- }
-
- // split flags out from the args list
- let #(flags, args) = list.partition(args, string.starts_with(_, flag.prefix))
-
- // search for command and execute
- do_execute(glint.cmd, glint.config, glint.global_flags, args, flags, help, [])
-}
-
-/// Find which command to execute and run it with computed flags and args
-///
-fn do_execute(
- cmd: CommandNode(a),
- config: Config,
- global_flags: FlagMap,
- args: List(String),
- flags: List(String),
- help: Bool,
- command_path: List(String),
-) -> CmdResult(a) {
- case args {
- // when there are no more available arguments
- // and help flag has been passed, generate help message
- [] if help ->
- command_path
- |> cmd_help(cmd, config, global_flags)
- |> Help
- |> Ok
-
- // when there are no more available arguments
- // run the current command
- [] -> execute_root(cmd, global_flags, [], flags)
-
- // when there are arguments remaining
- // check if the next one is a subcommand of the current command
- [arg, ..rest] ->
- case map.get(cmd.subcommands, arg) {
- // subcommand found, continue
- Ok(cmd) ->
- do_execute(
- cmd,
- config,
- global_flags,
- rest,
- flags,
- help,
- [arg, ..command_path],
- )
- // subcommand not found, but help flag has been passed
- // generate and return help message
- _ if help ->
- command_path
- |> cmd_help(cmd, config, global_flags)
- |> Help
- |> Ok
- // subcommand not found, but help flag has not been passed
- // execute the current command
- _ -> execute_root(cmd, global_flags, args, flags)
- }
- }
-}
-
-/// Executes the current root command.
-///
-fn execute_root(
- cmd: CommandNode(a),
- global_flags: FlagMap,
- args: List(String),
- flag_inputs: List(String),
-) -> CmdResult(a) {
- case cmd.contents {
- Some(contents) -> {
- use new_flags <- result.try(list.try_fold(
- over: flag_inputs,
- from: map.merge(global_flags, contents.flags),
- with: flag.update_flags,
- ))
- CommandInput(args, new_flags)
- |> contents.do
- |> Out
- |> Ok
- }
- None -> snag.error("command not found")
- }
- |> snag.context("failed to run command")
-}
-
-/// A wrapper for `execute` that prints any errors enountered or the help text if requested.
-/// This function ignores any value returned by the command that was run.
-/// If you would like to do something with the command output please see the run_and_handle function.
-///
-pub fn run(from glint: Glint(a), for args: List(String)) -> Nil {
- run_and_handle(from: glint, for: args, with: function.constant(Nil))
-}
-
-/// A wrapper for `execute` that prints any errors enountered or the help text if requested.
-/// This function calls the provided handler with the value returned by the command that was run.
-///
-pub fn run_and_handle(
- from glint: Glint(a),
- for args: List(String),
- with handle: fn(a) -> _,
-) -> Nil {
- case execute(glint, args) {
- Error(err) ->
- err
- |> snag.pretty_print
- |> io.println
- Ok(Help(help)) -> io.println(help)
- Ok(Out(out)) -> {
- handle(out)
- Nil
- }
- }
-}
-
-/// Default pretty help heading colouring
-/// mint (r: 182, g: 255, b: 234) colour for usage
-/// pink (r: 255, g: 175, b: 243) colour for flags
-/// buttercup (r: 252, g: 226, b: 174) colour for subcommands
-///
-pub fn default_pretty_help() -> PrettyHelp {
- let assert Ok(usage_colour) = colour.from_rgb255(182, 255, 234)
- let assert Ok(flags_colour) = colour.from_rgb255(255, 175, 243)
- let assert Ok(subcommands_colour) = colour.from_rgb255(252, 226, 174)
-
- PrettyHelp(
- usage: usage_colour,
- flags: flags_colour,
- subcommands: subcommands_colour,
- )
-}
-
-// constants for setting up sections of the help message
-const flags_heading = "FLAGS:"
-
-const subcommands_heading = "SUBCOMMANDS:"
-
-const usage_heading = "USAGE:"
-
-/// Helper for filtering out empty strings
-///
-fn is_not_empty(s: String) -> Bool {
- s != ""
-}
-
-const help_flag_name = "help"
-
-const help_flag_message = "--help\t\t\tPrint help information"
-
-/// Function to create the help flag string
-/// Exported for testing purposes only
-///
-pub fn help_flag() -> String {
- flag.prefix <> help_flag_name
-}
-
-// -- HELP: FUNCTIONS --
-
-fn wrap_with_space(s: String) -> String {
- case s {
- "" -> " "
- _ -> " " <> s <> " "
- }
-}
-
-/// generate the usage help string for a command
-fn usage_help(cmd_name: String, flags: FlagMap, config: Config) -> String {
- let app_name = option.unwrap(config.name, "gleam run")
- let flags =
- flags
- |> map.to_list
- |> list.map(flag.flag_type_help)
- |> list.sort(string.compare)
-
- let flag_sb = case flags {
- [] -> sb.new()
- _ ->
- flags
- |> list.intersperse(" ")
- |> sb.from_strings()
- |> sb.prepend(prefix: " [ ")
- |> sb.append(suffix: " ]")
- }
-
- [app_name, wrap_with_space(cmd_name), "[ ARGS ]"]
- |> sb.from_strings
- |> sb.append_builder(flag_sb)
- |> sb.prepend(
- config.pretty_help
- |> option.map(fn(styling) { heading_style(usage_heading, styling.usage) })
- |> option.unwrap(usage_heading) <> "\n\t",
- )
- |> sb.to_string
-}
-
-/// generate the help text for a command
-fn cmd_help(
- path: List(String),
- cmd: CommandNode(a),
- config: Config,
- global_flags: FlagMap,
-) -> String {
- // recreate the path of the current command
- // reverse the path because it is created by prepending each section as do_execute walks down the tree
- let name =
- path
- |> list.reverse
- |> string.join(" ")
-
- let flags =
- option.map(cmd.contents, fn(contents) { contents.flags })
- |> option.lazy_unwrap(map.new)
- |> map.merge(global_flags, _)
-
- let flags_help_body =
- config.pretty_help
- |> option.map(fn(p) { heading_style(flags_heading, p.flags) })
- |> option.unwrap(flags_heading) <> "\n\t" <> string.join(
- list.sort([help_flag_message, ..flag.flags_help(flags)], string.compare),
- "\n\t",
- )
-
- let usage = usage_help(name, flags, config)
-
- let description =
- cmd.contents
- |> option.map(fn(contents) { contents.description })
- |> option.unwrap("")
-
- // create the header block from the name and description
- let header_items =
- [name, description]
- |> list.filter(is_not_empty)
- |> string.join("\n")
-
- // create the subcommands help block
- let subcommands = case subcommands_help(cmd.subcommands) {
- "" -> ""
- subcommands_help_body ->
- config.pretty_help
- |> option.map(fn(p) { heading_style(subcommands_heading, p.subcommands) })
- |> option.unwrap(subcommands_heading) <> "\n\t" <> subcommands_help_body
- }
-
- // join the resulting help blocks into the final help message
- [header_items, usage, flags_help_body, subcommands]
- |> list.filter(is_not_empty)
- |> string.join("\n\n")
-}
-
-// create the help text for subcommands
-fn subcommands_help(cmds: Map(String, CommandNode(a))) -> String {
- cmds
- |> map.map_values(subcommand_help)
- |> map.values
- |> list.sort(string.compare)
- |> string.join("\n\t")
-}
-
-// generate the help text for a subcommand
-fn subcommand_help(name: String, cmd: CommandNode(_)) -> String {
- case cmd.contents {
- None -> name
- Some(contents) -> name <> "\t\t" <> contents.description
- }
-}
-
-/// Style heading text with the provided rgb colouring
-/// this is only intended for use within glint itself.
-///
-fn heading_style(heading: String, colour: Colour) -> String {
- heading
- |> ansi.bold
- |> ansi.underline
- |> ansi.italic
- |> ansi.hex(colour.to_rgb_hex(colour))
- |> ansi.reset
-}
-
-// -- DEPRECATED: STUBS --
-
-/// DEPRECATED: use `glint.cmd` and related new functions instead to create a Command
-///
-/// Create command stubs to be used in `add_command_from_stub`
-///
-pub type Stub(a) {
- Stub(
- path: List(String),
- run: Runner(a),
- flags: List(#(String, Flag)),
- description: String,
- )
-}
-
-/// Add a command to the root given a stub
-///
-@deprecated("use `glint.cmd` and related new functions instead to create a Command")
-pub fn add_command_from_stub(to glint: Glint(a), with stub: Stub(a)) -> Glint(a) {
- add(
- to: glint,
- at: stub.path,
- do: command(stub.run)
- |> flags(stub.flags)
- |> description(stub.description),
- )
-}
diff --git a/aoc2023/build/packages/glint/src/glint/flag.gleam b/aoc2023/build/packages/glint/src/glint/flag.gleam
deleted file mode 100644
index 0a6cae1..0000000
--- a/aoc2023/build/packages/glint/src/glint/flag.gleam
+++ /dev/null
@@ -1,478 +0,0 @@
-import gleam/map
-import gleam/string
-import gleam/result
-import gleam/int
-import gleam/list
-import gleam/float
-import snag.{type Result, type Snag}
-import gleam/option.{type Option, None, Some}
-import glint/flag/constraint.{type Constraint}
-import gleam
-
-/// Flag inputs must start with this prefix
-///
-pub const prefix = "--"
-
-/// The separation character for flag names and their values
-const delimiter = "="
-
-/// Supported flag types.
-///
-pub type Value {
- /// Boolean flags, to be passed in as `--flag=true` or `--flag=false`.
- /// Can be toggled by omitting the desired value like `--flag`.
- /// Toggling will negate the existing value.
- ///
- B(Internal(Bool))
-
- /// Int flags, to be passed in as `--flag=1`
- ///
- I(Internal(Int))
-
- /// List(Int) flags, to be passed in as `--flag=1,2,3`
- ///
- LI(Internal(List(Int)))
-
- /// Float flags, to be passed in as `--flag=1.0`
- ///
- F(Internal(Float))
-
- /// List(Float) flags, to be passed in as `--flag=1.0,2.0`
- ///
- LF(Internal(List(Float)))
-
- /// String flags, to be passed in as `--flag=hello`
- ///
- S(Internal(String))
-
- /// List(String) flags, to be passed in as `--flag=hello,world`
- ///
- LS(Internal(List(String)))
-}
-
-/// A type that facilitates the creation of `Flag`s
-///
-pub opaque type FlagBuilder(a) {
- FlagBuilder(
- desc: Description,
- parser: Parser(a, Snag),
- value: fn(Internal(a)) -> Value,
- default: Option(a),
- )
-}
-
-/// An internal representation of flag contents
-///
-pub opaque type Internal(a) {
- Internal(value: Option(a), parser: Parser(a, Snag))
-}
-
-// Builder initializers
-
-type Parser(a, b) =
- fn(String) -> gleam.Result(a, b)
-
-/// initialise an int flag builder
-///
-pub fn int() -> FlagBuilder(Int) {
- use input <- new(I)
- input
- |> int.parse
- |> result.replace_error(cannot_parse(input, "int"))
-}
-
-/// initialise an int list flag builder
-///
-pub fn int_list() -> FlagBuilder(List(Int)) {
- use input <- new(LI)
- input
- |> string.split(",")
- |> list.try_map(int.parse)
- |> result.replace_error(cannot_parse(input, "int list"))
-}
-
-/// initialise a float flag builder
-///
-pub fn float() -> FlagBuilder(Float) {
- use input <- new(F)
- input
- |> float.parse
- |> result.replace_error(cannot_parse(input, "float"))
-}
-
-/// initialise a float list flag builder
-///
-pub fn float_list() -> FlagBuilder(List(Float)) {
- use input <- new(LF)
- input
- |> string.split(",")
- |> list.try_map(float.parse)
- |> result.replace_error(cannot_parse(input, "float list"))
-}
-
-/// initialise a string flag builder
-///
-pub fn string() -> FlagBuilder(String) {
- new(S, fn(s) { Ok(s) })
-}
-
-/// intitialise a string list flag builder
-///
-pub fn string_list() -> FlagBuilder(List(String)) {
- use input <- new(LS)
- input
- |> string.split(",")
- |> Ok
-}
-
-/// initialise a bool flag builder
-///
-pub fn bool() -> FlagBuilder(Bool) {
- use input <- new(B)
- case string.lowercase(input) {
- "true" | "t" -> Ok(True)
- "false" | "f" -> Ok(False)
- _ -> Error(cannot_parse(input, "bool"))
- }
-}
-
-/// initialize custom builders using a Value constructor and a parsing function
-///
-fn new(valuer: fn(Internal(a)) -> Value, p: Parser(a, Snag)) -> FlagBuilder(a) {
- FlagBuilder(desc: "", parser: p, value: valuer, default: None)
-}
-
-/// convert a FlagBuilder(a) into its corresponding Flag representation
-///
-pub fn build(fb: FlagBuilder(a)) -> Flag {
- Flag(
- value: fb.value(Internal(value: fb.default, parser: fb.parser)),
- description: fb.desc,
- )
-}
-
-/// attach a constraint to a `Flag`
-///
-pub fn constraint(
- builder: FlagBuilder(a),
- constraint: Constraint(a),
-) -> FlagBuilder(a) {
- FlagBuilder(
- ..builder,
- parser: wrap_with_constraint(builder.parser, constraint),
- )
-}
-
-/// attach a Constraint(a) to a Parser(a,Snag)
-/// this function should not be used directly unless
-fn wrap_with_constraint(
- p: Parser(a, Snag),
- constraint: Constraint(a),
-) -> Parser(a, Snag) {
- fn(input: String) -> Result(a) { attempt(p(input), constraint) }
-}
-
-fn attempt(
- val: gleam.Result(a, e),
- f: fn(a) -> gleam.Result(_, e),
-) -> gleam.Result(a, e) {
- use a <- result.try(val)
- result.replace(f(a), a)
-}
-
-/// Flag descriptions
-///
-pub type Description =
- String
-
-/// Flag data and descriptions
-///
-pub type Flag {
- Flag(value: Value, description: Description)
-}
-
-/// attach a description to a `Flag`
-///
-pub fn description(
- for builder: FlagBuilder(a),
- of description: Description,
-) -> FlagBuilder(a) {
- FlagBuilder(..builder, desc: description)
-}
-
-/// Set the default value for a flag `Value`
-///
-pub fn default(for builder: FlagBuilder(a), of default: a) -> FlagBuilder(a) {
- FlagBuilder(..builder, default: Some(default))
-}
-
-/// Associate flag names to their current values.
-///
-pub type Map =
- map.Map(String, Flag)
-
-/// Convert a list of flags to a Map.
-///
-pub fn build_map(flags: List(#(String, Flag))) -> Map {
- map.from_list(flags)
-}
-
-/// Updates a flag value, ensuring that the new value can satisfy the required type.
-/// Assumes that all flag inputs passed in start with --
-/// This function is only intended to be used from glint.execute_root
-///
-pub fn update_flags(in flags: Map, with flag_input: String) -> Result(Map) {
- let flag_input = string.drop_left(flag_input, string.length(prefix))
-
- case string.split_once(flag_input, delimiter) {
- Ok(data) -> update_flag_value(flags, data)
- Error(_) -> attempt_toggle_flag(flags, flag_input)
- }
-}
-
-fn update_flag_value(in flags: Map, with data: #(String, String)) -> Result(Map) {
- let #(key, input) = data
- use contents <- result.try(access(flags, key))
- use value <- result.map(
- compute_flag(with: input, given: contents.value)
- |> result.map_error(layer_invalid_flag(_, key)),
- )
- map.insert(flags, key, Flag(..contents, value: value))
-}
-
-fn attempt_toggle_flag(in flags: Map, at key: String) -> Result(Map) {
- use contents <- result.try(access(flags, key))
- case contents.value {
- B(Internal(None, ..) as internal) ->
- Internal(..internal, value: Some(True))
- |> B
- |> fn(val) { Flag(..contents, value: val) }
- |> map.insert(into: flags, for: key)
- |> Ok()
- B(Internal(Some(val), ..) as internal) ->
- Internal(..internal, value: Some(!val))
- |> B
- |> fn(val) { Flag(..contents, value: val) }
- |> map.insert(into: flags, for: key)
- |> Ok()
- _ -> Error(no_value_flag_err(key))
- }
-}
-
-fn access_type_error(flag_type) {
- snag.error("cannot access flag as " <> flag_type)
-}
-
-fn flag_not_provided_error() {
- snag.error("no value provided")
-}
-
-fn construct_value(
- input: String,
- internal: Internal(a),
- constructor: fn(Internal(a)) -> Value,
-) -> Result(Value) {
- use val <- result.map(internal.parser(input))
- constructor(Internal(..internal, value: Some(val)))
-}
-
-/// Computes the new flag value given the input and the expected flag type
-///
-fn compute_flag(with input: String, given current: Value) -> Result(Value) {
- input
- |> case current {
- I(internal) -> construct_value(_, internal, I)
- LI(internal) -> construct_value(_, internal, LI)
- F(internal) -> construct_value(_, internal, F)
- LF(internal) -> construct_value(_, internal, LF)
- S(internal) -> construct_value(_, internal, S)
- LS(internal) -> construct_value(_, internal, LS)
- B(internal) -> construct_value(_, internal, B)
- }
- |> snag.context("failed to compute value for flag")
-}
-
-// Error creation and manipulation functions
-fn layer_invalid_flag(err: Snag, flag: String) -> Snag {
- snag.layer(err, "invalid flag '" <> flag <> "'")
-}
-
-fn no_value_flag_err(flag_input: String) -> Snag {
- { "flag '" <> flag_input <> "' has no assigned value" }
- |> snag.new()
- |> layer_invalid_flag(flag_input)
-}
-
-fn undefined_flag_err(key: String) -> Snag {
- "flag provided but not defined"
- |> snag.new()
- |> layer_invalid_flag(key)
-}
-
-fn cannot_parse(with value: String, is kind: String) -> Snag {
- { "cannot parse value '" <> value <> "' as " <> kind }
- |> snag.new()
-}
-
-// Help Message Functions
-/// Generate the help message contents for a single flag
-///
-pub fn flag_type_help(flag: #(String, Flag)) {
- let #(name, contents) = flag
- let kind = case contents.value {
- I(_) -> "INT"
- B(_) -> "BOOL"
- F(_) -> "FLOAT"
- LF(_) -> "FLOAT_LIST"
- LI(_) -> "INT_LIST"
- LS(_) -> "STRING_LIST"
- S(_) -> "STRING"
- }
-
- prefix <> name <> delimiter <> "<" <> kind <> ">"
-}
-
-/// Generate help message line for a single flag
-///
-fn flag_help(flag: #(String, Flag)) -> String {
- flag_type_help(flag) <> "\t\t" <> { flag.1 }.description
-}
-
-/// Generate help messages for all flags
-///
-pub fn flags_help(flags: Map) -> List(String) {
- flags
- |> map.to_list
- |> list.map(flag_help)
-}
-
-// -- FLAG ACCESS FUNCTIONS --
-
-/// Access the contents for the associated flag
-///
-fn access(flags: Map, name: String) -> Result(Flag) {
- map.get(flags, name)
- |> result.replace_error(undefined_flag_err(name))
-}
-
-fn get_value(
- from flags: Map,
- at key: String,
- expecting kind: fn(Flag) -> Result(a),
-) -> Result(a) {
- access(flags, key)
- |> result.try(kind)
- |> snag.context("failed to retrieve value for flag '" <> key <> "'")
-}
-
-/// Gets the current value for the provided int flag
-///
-pub fn get_int_value(from flag: Flag) -> Result(Int) {
- case flag.value {
- I(Internal(value: Some(val), ..)) -> Ok(val)
- I(Internal(value: None, ..)) -> flag_not_provided_error()
- _ -> access_type_error("int")
- }
-}
-
-/// Gets the current value for the associated int flag
-///
-pub fn get_int(from flags: Map, for name: String) -> Result(Int) {
- get_value(flags, name, get_int_value)
-}
-
-/// Gets the current value for the provided ints flag
-///
-pub fn get_ints_value(from flag: Flag) -> Result(List(Int)) {
- case flag.value {
- LI(Internal(value: Some(val), ..)) -> Ok(val)
- LI(Internal(value: None, ..)) -> flag_not_provided_error()
- _ -> access_type_error("int list")
- }
-}
-
-/// Gets the current value for the associated ints flag
-///
-pub fn get_ints(from flags: Map, for name: String) -> Result(List(Int)) {
- get_value(flags, name, get_ints_value)
-}
-
-/// Gets the current value for the provided bool flag
-///
-pub fn get_bool_value(from flag: Flag) -> Result(Bool) {
- case flag.value {
- B(Internal(Some(val), ..)) -> Ok(val)
- B(Internal(None, ..)) -> flag_not_provided_error()
- _ -> access_type_error("bool")
- }
-}
-
-/// Gets the current value for the associated bool flag
-///
-pub fn get_bool(from flags: Map, for name: String) -> Result(Bool) {
- get_value(flags, name, get_bool_value)
-}
-
-/// Gets the current value for the provided string flag
-///
-pub fn get_string_value(from flag: Flag) -> Result(String) {
- case flag.value {
- S(Internal(value: Some(val), ..)) -> Ok(val)
- S(Internal(value: None, ..)) -> flag_not_provided_error()
- _ -> access_type_error("string")
- }
-}
-
-/// Gets the current value for the associated string flag
-///
-pub fn get_string(from flags: Map, for name: String) -> Result(String) {
- get_value(flags, name, get_string_value)
-}
-
-/// Gets the current value for the provided strings flag
-///
-pub fn get_strings_value(from flag: Flag) -> Result(List(String)) {
- case flag.value {
- LS(Internal(value: Some(val), ..)) -> Ok(val)
- LS(Internal(value: None, ..)) -> flag_not_provided_error()
- _ -> access_type_error("string list")
- }
-}
-
-/// Gets the current value for the associated strings flag
-///
-pub fn get_strings(from flags: Map, for name: String) -> Result(List(String)) {
- get_value(flags, name, get_strings_value)
-}
-
-/// Gets the current value for the provided float flag
-///
-pub fn get_float_value(from flag: Flag) -> Result(Float) {
- case flag.value {
- F(Internal(value: Some(val), ..)) -> Ok(val)
- F(Internal(value: None, ..)) -> flag_not_provided_error()
- _ -> access_type_error("float")
- }
-}
-
-/// Gets the current value for the associated float flag
-///
-pub fn get_float(from flags: Map, for name: String) -> Result(Float) {
- get_value(flags, name, get_float_value)
-}
-
-/// Gets the current value for the provided floats flag
-///
-pub fn get_floats_value(from flag: Flag) -> Result(List(Float)) {
- case flag.value {
- LF(Internal(value: Some(val), ..)) -> Ok(val)
- LF(Internal(value: None, ..)) -> flag_not_provided_error()
- _ -> access_type_error("float list")
- }
-}
-
-/// Gets the current value for the associated floats flag
-///
-pub fn get_floats(from flags: Map, for name: String) -> Result(List(Float)) {
- get_value(flags, name, get_floats_value)
-}
diff --git a/aoc2023/build/packages/glint/src/glint/flag/constraint.gleam b/aoc2023/build/packages/glint/src/glint/flag/constraint.gleam
deleted file mode 100644
index e474bc2..0000000
--- a/aoc2023/build/packages/glint/src/glint/flag/constraint.gleam
+++ /dev/null
@@ -1,66 +0,0 @@
-import gleam/list
-import gleam/result
-import gleam/string
-import gleam/set
-import snag.{type Result}
-
-/// Constraint type for verifying flag values
-///
-pub type Constraint(a) =
- fn(a) -> Result(Nil)
-
-/// one_of returns a Constraint that ensures the parsed flag value is
-/// one of the allowed values.
-///
-pub fn one_of(allowed: List(a)) -> Constraint(a) {
- let allowed_set = set.from_list(allowed)
- fn(val: a) -> Result(Nil) {
- case set.contains(allowed_set, val) {
- True -> Ok(Nil)
- False ->
- snag.error(
- "invalid value '" <> string.inspect(val) <> "', must be one of: [" <> {
- allowed
- |> list.map(fn(a) { "'" <> string.inspect(a) <> "'" })
- |> string.join(", ") <> "]"
- },
- )
- }
- }
-}
-
-/// none_of returns a Constraint that ensures the parsed flag value is not one of the disallowed values.
-///
-pub fn none_of(disallowed: List(a)) -> Constraint(a) {
- let disallowed_set = set.from_list(disallowed)
- fn(val: a) -> Result(Nil) {
- case set.contains(disallowed_set, val) {
- False -> Ok(Nil)
- True ->
- snag.error(
- "invalid value '" <> string.inspect(val) <> "', must not be one of: [" <> {
- {
- disallowed
- |> list.map(fn(a) { "'" <> string.inspect(a) <> "'" })
- |> string.join(", ") <> "]"
- }
- },
- )
- }
- }
-}
-
-/// each is a convenience function for applying a Constraint(a) to a List(a).
-/// This is useful because the default behaviour for constraints on lists is that they will apply to the list as a whole.
-///
-/// For example, to apply one_of to all items in a `List(Int)`:
-/// ```gleam
-/// [1, 2, 3, 4] |> one_of |> each
-/// ```
-pub fn each(constraint: Constraint(a)) -> Constraint(List(a)) {
- fn(l: List(a)) -> Result(Nil) {
- l
- |> list.try_map(constraint)
- |> result.replace(Nil)
- }
-}
diff --git a/aoc2023/build/packages/glint/src/glint@flag.erl b/aoc2023/build/packages/glint/src/glint@flag.erl
deleted file mode 100644
index bcce6db..0000000
--- a/aoc2023/build/packages/glint/src/glint@flag.erl
+++ /dev/null
@@ -1,523 +0,0 @@
--module(glint@flag).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([string/0, string_list/0, build/1, constraint/2, description/2, default/2, build_map/1, int/0, int_list/0, float/0, float_list/0, bool/0, flag_type_help/1, flags_help/1, update_flags/2, get_int_value/1, get_int/2, get_ints_value/1, get_ints/2, get_bool_value/1, get_bool/2, get_string_value/1, get_string/2, get_strings_value/1, get_strings/2, get_float_value/1, get_float/2, get_floats_value/1, get_floats/2]).
--export_type([value/0, flag_builder/1, internal/1, flag/0]).
-
--type value() :: {b, internal(boolean())} |
- {i, internal(integer())} |
- {li, internal(list(integer()))} |
- {f, internal(float())} |
- {lf, internal(list(float()))} |
- {s, internal(binary())} |
- {ls, internal(list(binary()))}.
-
--opaque flag_builder(FTZ) :: {flag_builder,
- binary(),
- fun((binary()) -> {ok, FTZ} | {error, snag:snag()}),
- fun((internal(FTZ)) -> value()),
- gleam@option:option(FTZ)}.
-
--opaque internal(FUA) :: {internal,
- gleam@option:option(FUA),
- fun((binary()) -> {ok, FUA} | {error, snag:snag()})}.
-
--type flag() :: {flag, value(), binary()}.
-
--spec new(
- fun((internal(FUR)) -> value()),
- fun((binary()) -> {ok, FUR} | {error, snag:snag()})
-) -> flag_builder(FUR).
-new(Valuer, P) ->
- {flag_builder, <<""/utf8>>, P, Valuer, none}.
-
--spec string() -> flag_builder(binary()).
-string() ->
- new(fun(Field@0) -> {s, Field@0} end, fun(S) -> {ok, S} end).
-
--spec string_list() -> flag_builder(list(binary())).
-string_list() ->
- new(fun(Field@0) -> {ls, Field@0} end, fun(Input) -> _pipe = Input,
- _pipe@1 = gleam@string:split(_pipe, <<","/utf8>>),
- {ok, _pipe@1} end).
-
--spec build(flag_builder(any())) -> flag().
-build(Fb) ->
- {flag,
- (erlang:element(4, Fb))(
- {internal, erlang:element(5, Fb), erlang:element(3, Fb)}
- ),
- erlang:element(2, Fb)}.
-
--spec attempt(
- {ok, FVI} | {error, FVJ},
- fun((FVI) -> {ok, any()} | {error, FVJ})
-) -> {ok, FVI} | {error, FVJ}.
-attempt(Val, F) ->
- gleam@result:'try'(Val, fun(A) -> gleam@result:replace(F(A), A) end).
-
--spec wrap_with_constraint(
- fun((binary()) -> {ok, FVC} | {error, snag:snag()}),
- fun((FVC) -> {ok, nil} | {error, snag:snag()})
-) -> fun((binary()) -> {ok, FVC} | {error, snag:snag()}).
-wrap_with_constraint(P, Constraint) ->
- fun(Input) -> attempt(P(Input), Constraint) end.
-
--spec constraint(
- flag_builder(FUY),
- fun((FUY) -> {ok, nil} | {error, snag:snag()})
-) -> flag_builder(FUY).
-constraint(Builder, Constraint) ->
- erlang:setelement(
- 3,
- Builder,
- wrap_with_constraint(erlang:element(3, Builder), Constraint)
- ).
-
--spec description(flag_builder(FVR), binary()) -> flag_builder(FVR).
-description(Builder, Description) ->
- erlang:setelement(2, Builder, Description).
-
--spec default(flag_builder(FVU), FVU) -> flag_builder(FVU).
-default(Builder, Default) ->
- erlang:setelement(5, Builder, {some, Default}).
-
--spec build_map(list({binary(), flag()})) -> gleam@map:map_(binary(), flag()).
-build_map(Flags) ->
- gleam@map:from_list(Flags).
-
--spec access_type_error(binary()) -> {ok, any()} | {error, snag:snag()}.
-access_type_error(Flag_type) ->
- snag:error(<<"cannot access flag as "/utf8, Flag_type/binary>>).
-
--spec flag_not_provided_error() -> {ok, any()} | {error, snag:snag()}.
-flag_not_provided_error() ->
- snag:error(<<"no value provided"/utf8>>).
-
--spec construct_value(binary(), internal(FWE), fun((internal(FWE)) -> value())) -> {ok,
- value()} |
- {error, snag:snag()}.
-construct_value(Input, Internal, Constructor) ->
- gleam@result:map(
- (erlang:element(3, Internal))(Input),
- fun(Val) -> Constructor(erlang:setelement(2, Internal, {some, Val})) end
- ).
-
--spec compute_flag(binary(), value()) -> {ok, value()} | {error, snag:snag()}.
-compute_flag(Input, Current) ->
- _pipe = Input,
- _pipe@1 = case Current of
- {i, Internal} ->
- fun(_capture) ->
- construct_value(
- _capture,
- Internal,
- fun(Field@0) -> {i, Field@0} end
- )
- end;
-
- {li, Internal@1} ->
- fun(_capture@1) ->
- construct_value(
- _capture@1,
- Internal@1,
- fun(Field@0) -> {li, Field@0} end
- )
- end;
-
- {f, Internal@2} ->
- fun(_capture@2) ->
- construct_value(
- _capture@2,
- Internal@2,
- fun(Field@0) -> {f, Field@0} end
- )
- end;
-
- {lf, Internal@3} ->
- fun(_capture@3) ->
- construct_value(
- _capture@3,
- Internal@3,
- fun(Field@0) -> {lf, Field@0} end
- )
- end;
-
- {s, Internal@4} ->
- fun(_capture@4) ->
- construct_value(
- _capture@4,
- Internal@4,
- fun(Field@0) -> {s, Field@0} end
- )
- end;
-
- {ls, Internal@5} ->
- fun(_capture@5) ->
- construct_value(
- _capture@5,
- Internal@5,
- fun(Field@0) -> {ls, Field@0} end
- )
- end;
-
- {b, Internal@6} ->
- fun(_capture@6) ->
- construct_value(
- _capture@6,
- Internal@6,
- fun(Field@0) -> {b, Field@0} end
- )
- end
- end(_pipe),
- snag:context(_pipe@1, <<"failed to compute value for flag"/utf8>>).
-
--spec layer_invalid_flag(snag:snag(), binary()) -> snag:snag().
-layer_invalid_flag(Err, Flag) ->
- snag:layer(Err, <<<<"invalid flag '"/utf8, Flag/binary>>/binary, "'"/utf8>>).
-
--spec no_value_flag_err(binary()) -> snag:snag().
-no_value_flag_err(Flag_input) ->
- _pipe = (<<<<"flag '"/utf8, Flag_input/binary>>/binary,
- "' has no assigned value"/utf8>>),
- _pipe@1 = snag:new(_pipe),
- layer_invalid_flag(_pipe@1, Flag_input).
-
--spec undefined_flag_err(binary()) -> snag:snag().
-undefined_flag_err(Key) ->
- _pipe = <<"flag provided but not defined"/utf8>>,
- _pipe@1 = snag:new(_pipe),
- layer_invalid_flag(_pipe@1, Key).
-
--spec cannot_parse(binary(), binary()) -> snag:snag().
-cannot_parse(Value, Kind) ->
- _pipe = (<<<<<<"cannot parse value '"/utf8, Value/binary>>/binary,
- "' as "/utf8>>/binary,
- Kind/binary>>),
- snag:new(_pipe).
-
--spec int() -> flag_builder(integer()).
-int() ->
- new(fun(Field@0) -> {i, Field@0} end, fun(Input) -> _pipe = Input,
- _pipe@1 = gleam@int:parse(_pipe),
- gleam@result:replace_error(
- _pipe@1,
- cannot_parse(Input, <<"int"/utf8>>)
- ) end).
-
--spec int_list() -> flag_builder(list(integer())).
-int_list() ->
- new(fun(Field@0) -> {li, Field@0} end, fun(Input) -> _pipe = Input,
- _pipe@1 = gleam@string:split(_pipe, <<","/utf8>>),
- _pipe@2 = gleam@list:try_map(_pipe@1, fun gleam@int:parse/1),
- gleam@result:replace_error(
- _pipe@2,
- cannot_parse(Input, <<"int list"/utf8>>)
- ) end).
-
--spec float() -> flag_builder(float()).
-float() ->
- new(fun(Field@0) -> {f, Field@0} end, fun(Input) -> _pipe = Input,
- _pipe@1 = gleam@float:parse(_pipe),
- gleam@result:replace_error(
- _pipe@1,
- cannot_parse(Input, <<"float"/utf8>>)
- ) end).
-
--spec float_list() -> flag_builder(list(float())).
-float_list() ->
- new(fun(Field@0) -> {lf, Field@0} end, fun(Input) -> _pipe = Input,
- _pipe@1 = gleam@string:split(_pipe, <<","/utf8>>),
- _pipe@2 = gleam@list:try_map(_pipe@1, fun gleam@float:parse/1),
- gleam@result:replace_error(
- _pipe@2,
- cannot_parse(Input, <<"float list"/utf8>>)
- ) end).
-
--spec bool() -> flag_builder(boolean()).
-bool() ->
- new(
- fun(Field@0) -> {b, Field@0} end,
- fun(Input) -> case gleam@string:lowercase(Input) of
- <<"true"/utf8>> ->
- {ok, true};
-
- <<"t"/utf8>> ->
- {ok, true};
-
- <<"false"/utf8>> ->
- {ok, false};
-
- <<"f"/utf8>> ->
- {ok, false};
-
- _ ->
- {error, cannot_parse(Input, <<"bool"/utf8>>)}
- end end
- ).
-
--spec flag_type_help({binary(), flag()}) -> binary().
-flag_type_help(Flag) ->
- {Name, Contents} = Flag,
- Kind = case erlang:element(2, Contents) of
- {i, _} ->
- <<"INT"/utf8>>;
-
- {b, _} ->
- <<"BOOL"/utf8>>;
-
- {f, _} ->
- <<"FLOAT"/utf8>>;
-
- {lf, _} ->
- <<"FLOAT_LIST"/utf8>>;
-
- {li, _} ->
- <<"INT_LIST"/utf8>>;
-
- {ls, _} ->
- <<"STRING_LIST"/utf8>>;
-
- {s, _} ->
- <<"STRING"/utf8>>
- end,
- <<<<<<<<<<"--"/utf8, Name/binary>>/binary, "="/utf8>>/binary, "<"/utf8>>/binary,
- Kind/binary>>/binary,
- ">"/utf8>>.
-
--spec flag_help({binary(), flag()}) -> binary().
-flag_help(Flag) ->
- <<<<(flag_type_help(Flag))/binary, "\t\t"/utf8>>/binary,
- (erlang:element(3, (erlang:element(2, Flag))))/binary>>.
-
--spec flags_help(gleam@map:map_(binary(), flag())) -> list(binary()).
-flags_help(Flags) ->
- _pipe = Flags,
- _pipe@1 = gleam@map:to_list(_pipe),
- gleam@list:map(_pipe@1, fun flag_help/1).
-
--spec access(gleam@map:map_(binary(), flag()), binary()) -> {ok, flag()} |
- {error, snag:snag()}.
-access(Flags, Name) ->
- _pipe = gleam@map:get(Flags, Name),
- gleam@result:replace_error(_pipe, undefined_flag_err(Name)).
-
--spec update_flag_value(gleam@map:map_(binary(), flag()), {binary(), binary()}) -> {ok,
- gleam@map:map_(binary(), flag())} |
- {error, snag:snag()}.
-update_flag_value(Flags, Data) ->
- {Key, Input} = Data,
- gleam@result:'try'(
- access(Flags, Key),
- fun(Contents) ->
- gleam@result:map(
- begin
- _pipe = compute_flag(Input, erlang:element(2, Contents)),
- gleam@result:map_error(
- _pipe,
- fun(_capture) -> layer_invalid_flag(_capture, Key) end
- )
- end,
- fun(Value) ->
- gleam@map:insert(
- Flags,
- Key,
- erlang:setelement(2, Contents, Value)
- )
- end
- )
- end
- ).
-
--spec attempt_toggle_flag(gleam@map:map_(binary(), flag()), binary()) -> {ok,
- gleam@map:map_(binary(), flag())} |
- {error, snag:snag()}.
-attempt_toggle_flag(Flags, Key) ->
- gleam@result:'try'(
- access(Flags, Key),
- fun(Contents) -> case erlang:element(2, Contents) of
- {b, {internal, none, _} = Internal} ->
- _pipe = erlang:setelement(2, Internal, {some, true}),
- _pipe@1 = {b, _pipe},
- _pipe@2 = (fun(Val) ->
- erlang:setelement(2, Contents, Val)
- end)(_pipe@1),
- _pipe@3 = gleam@map:insert(Flags, Key, _pipe@2),
- {ok, _pipe@3};
-
- {b, {internal, {some, Val@1}, _} = Internal@1} ->
- _pipe@4 = erlang:setelement(
- 2,
- Internal@1,
- {some, not Val@1}
- ),
- _pipe@5 = {b, _pipe@4},
- _pipe@6 = (fun(Val@2) ->
- erlang:setelement(2, Contents, Val@2)
- end)(_pipe@5),
- _pipe@7 = gleam@map:insert(Flags, Key, _pipe@6),
- {ok, _pipe@7};
-
- _ ->
- {error, no_value_flag_err(Key)}
- end end
- ).
-
--spec update_flags(gleam@map:map_(binary(), flag()), binary()) -> {ok,
- gleam@map:map_(binary(), flag())} |
- {error, snag:snag()}.
-update_flags(Flags, Flag_input) ->
- Flag_input@1 = gleam@string:drop_left(
- Flag_input,
- gleam@string:length(<<"--"/utf8>>)
- ),
- case gleam@string:split_once(Flag_input@1, <<"="/utf8>>) of
- {ok, Data} ->
- update_flag_value(Flags, Data);
-
- {error, _} ->
- attempt_toggle_flag(Flags, Flag_input@1)
- end.
-
--spec get_value(
- gleam@map:map_(binary(), flag()),
- binary(),
- fun((flag()) -> {ok, FWM} | {error, snag:snag()})
-) -> {ok, FWM} | {error, snag:snag()}.
-get_value(Flags, Key, Kind) ->
- _pipe = access(Flags, Key),
- _pipe@1 = gleam@result:'try'(_pipe, Kind),
- snag:context(
- _pipe@1,
- <<<<"failed to retrieve value for flag '"/utf8, Key/binary>>/binary,
- "'"/utf8>>
- ).
-
--spec get_int_value(flag()) -> {ok, integer()} | {error, snag:snag()}.
-get_int_value(Flag) ->
- case erlang:element(2, Flag) of
- {i, {internal, {some, Val}, _}} ->
- {ok, Val};
-
- {i, {internal, none, _}} ->
- flag_not_provided_error();
-
- _ ->
- access_type_error(<<"int"/utf8>>)
- end.
-
--spec get_int(gleam@map:map_(binary(), flag()), binary()) -> {ok, integer()} |
- {error, snag:snag()}.
-get_int(Flags, Name) ->
- get_value(Flags, Name, fun get_int_value/1).
-
--spec get_ints_value(flag()) -> {ok, list(integer())} | {error, snag:snag()}.
-get_ints_value(Flag) ->
- case erlang:element(2, Flag) of
- {li, {internal, {some, Val}, _}} ->
- {ok, Val};
-
- {li, {internal, none, _}} ->
- flag_not_provided_error();
-
- _ ->
- access_type_error(<<"int list"/utf8>>)
- end.
-
--spec get_ints(gleam@map:map_(binary(), flag()), binary()) -> {ok,
- list(integer())} |
- {error, snag:snag()}.
-get_ints(Flags, Name) ->
- get_value(Flags, Name, fun get_ints_value/1).
-
--spec get_bool_value(flag()) -> {ok, boolean()} | {error, snag:snag()}.
-get_bool_value(Flag) ->
- case erlang:element(2, Flag) of
- {b, {internal, {some, Val}, _}} ->
- {ok, Val};
-
- {b, {internal, none, _}} ->
- flag_not_provided_error();
-
- _ ->
- access_type_error(<<"bool"/utf8>>)
- end.
-
--spec get_bool(gleam@map:map_(binary(), flag()), binary()) -> {ok, boolean()} |
- {error, snag:snag()}.
-get_bool(Flags, Name) ->
- get_value(Flags, Name, fun get_bool_value/1).
-
--spec get_string_value(flag()) -> {ok, binary()} | {error, snag:snag()}.
-get_string_value(Flag) ->
- case erlang:element(2, Flag) of
- {s, {internal, {some, Val}, _}} ->
- {ok, Val};
-
- {s, {internal, none, _}} ->
- flag_not_provided_error();
-
- _ ->
- access_type_error(<<"string"/utf8>>)
- end.
-
--spec get_string(gleam@map:map_(binary(), flag()), binary()) -> {ok, binary()} |
- {error, snag:snag()}.
-get_string(Flags, Name) ->
- get_value(Flags, Name, fun get_string_value/1).
-
--spec get_strings_value(flag()) -> {ok, list(binary())} | {error, snag:snag()}.
-get_strings_value(Flag) ->
- case erlang:element(2, Flag) of
- {ls, {internal, {some, Val}, _}} ->
- {ok, Val};
-
- {ls, {internal, none, _}} ->
- flag_not_provided_error();
-
- _ ->
- access_type_error(<<"string list"/utf8>>)
- end.
-
--spec get_strings(gleam@map:map_(binary(), flag()), binary()) -> {ok,
- list(binary())} |
- {error, snag:snag()}.
-get_strings(Flags, Name) ->
- get_value(Flags, Name, fun get_strings_value/1).
-
--spec get_float_value(flag()) -> {ok, float()} | {error, snag:snag()}.
-get_float_value(Flag) ->
- case erlang:element(2, Flag) of
- {f, {internal, {some, Val}, _}} ->
- {ok, Val};
-
- {f, {internal, none, _}} ->
- flag_not_provided_error();
-
- _ ->
- access_type_error(<<"float"/utf8>>)
- end.
-
--spec get_float(gleam@map:map_(binary(), flag()), binary()) -> {ok, float()} |
- {error, snag:snag()}.
-get_float(Flags, Name) ->
- get_value(Flags, Name, fun get_float_value/1).
-
--spec get_floats_value(flag()) -> {ok, list(float())} | {error, snag:snag()}.
-get_floats_value(Flag) ->
- case erlang:element(2, Flag) of
- {lf, {internal, {some, Val}, _}} ->
- {ok, Val};
-
- {lf, {internal, none, _}} ->
- flag_not_provided_error();
-
- _ ->
- access_type_error(<<"float list"/utf8>>)
- end.
-
--spec get_floats(gleam@map:map_(binary(), flag()), binary()) -> {ok,
- list(float())} |
- {error, snag:snag()}.
-get_floats(Flags, Name) ->
- get_value(Flags, Name, fun get_floats_value/1).
diff --git a/aoc2023/build/packages/glint/src/glint@flag@constraint.erl b/aoc2023/build/packages/glint/src/glint@flag@constraint.erl
deleted file mode 100644
index 2978be0..0000000
--- a/aoc2023/build/packages/glint/src/glint@flag@constraint.erl
+++ /dev/null
@@ -1,68 +0,0 @@
--module(glint@flag@constraint).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([one_of/1, none_of/1, each/1]).
-
--spec one_of(list(FSI)) -> fun((FSI) -> {ok, nil} | {error, snag:snag()}).
-one_of(Allowed) ->
- Allowed_set = gleam@set:from_list(Allowed),
- fun(Val) -> case gleam@set:contains(Allowed_set, Val) of
- true ->
- {ok, nil};
-
- false ->
- snag:error(
- <<<<<<"invalid value '"/utf8,
- (gleam@string:inspect(Val))/binary>>/binary,
- "', must be one of: ["/utf8>>/binary,
- ((<<(begin
- _pipe = Allowed,
- _pipe@1 = gleam@list:map(
- _pipe,
- fun(A) ->
- <<<<"'"/utf8,
- (gleam@string:inspect(A))/binary>>/binary,
- "'"/utf8>>
- end
- ),
- gleam@string:join(_pipe@1, <<", "/utf8>>)
- end)/binary,
- "]"/utf8>>))/binary>>
- )
- end end.
-
--spec none_of(list(FSL)) -> fun((FSL) -> {ok, nil} | {error, snag:snag()}).
-none_of(Disallowed) ->
- Disallowed_set = gleam@set:from_list(Disallowed),
- fun(Val) -> case gleam@set:contains(Disallowed_set, Val) of
- false ->
- {ok, nil};
-
- true ->
- snag:error(
- <<<<<<"invalid value '"/utf8,
- (gleam@string:inspect(Val))/binary>>/binary,
- "', must not be one of: ["/utf8>>/binary,
- (((<<(begin
- _pipe = Disallowed,
- _pipe@1 = gleam@list:map(
- _pipe,
- fun(A) ->
- <<<<"'"/utf8,
- (gleam@string:inspect(A))/binary>>/binary,
- "'"/utf8>>
- end
- ),
- gleam@string:join(_pipe@1, <<", "/utf8>>)
- end)/binary,
- "]"/utf8>>)))/binary>>
- )
- end end.
-
--spec each(fun((FSO) -> {ok, nil} | {error, snag:snag()})) -> fun((list(FSO)) -> {ok,
- nil} |
- {error, snag:snag()}).
-each(Constraint) ->
- fun(L) -> _pipe = L,
- _pipe@1 = gleam@list:try_map(_pipe, Constraint),
- gleam@result:replace(_pipe@1, nil) end.
diff --git a/aoc2023/build/packages/packages.toml b/aoc2023/build/packages/packages.toml
deleted file mode 100644
index d4c7b69..0000000
--- a/aoc2023/build/packages/packages.toml
+++ /dev/null
@@ -1,16 +0,0 @@
-[packages]
-simplifile = "1.0.0"
-gleam_community_ansi = "1.2.0"
-glint = "0.13.0"
-gleam_community_colour = "1.2.0"
-gleam_erlang = "0.23.1"
-tom = "0.2.1"
-gleam_httpc = "2.1.1"
-adglent = "1.2.0"
-gap = "1.0.1"
-gleam_community_maths = "1.0.1"
-gleam_otp = "0.8.0"
-gleam_stdlib = "0.33.0"
-pqueue = "2.0.7"
-snag = "0.2.1"
-gleam_http = "3.5.2"
diff --git a/aoc2023/build/packages/pqueue/LICENSE b/aoc2023/build/packages/pqueue/LICENSE
deleted file mode 100644
index 5697803..0000000
--- a/aoc2023/build/packages/pqueue/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2011-2023 Michael Truog <mjtruog at protonmail dot com>
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the "Software"),
-to deal in the Software without restriction, including without limitation
-the rights to use, copy, modify, merge, publish, distribute, sublicense,
-and/or sell copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
diff --git a/aoc2023/build/packages/pqueue/README.markdown b/aoc2023/build/packages/pqueue/README.markdown
deleted file mode 100644
index 77aaf1c..0000000
--- a/aoc2023/build/packages/pqueue/README.markdown
+++ /dev/null
@@ -1,31 +0,0 @@
-Erlang Priority Queue Implementation
-====================================
-
-The priority queue implementations implement a subset of the stdlib Erlang queue interface as seen in the implementation used by both [Riak and RabbitMQ](https://github.com/basho/riak_core/blob/master/src/riak_core_priority_queue.erl).
-
-The implementations:
-
-* `priority_queue` (fastest for any priorities when only using a single priority at a time)
-* `pqueue` (fastest for 41 priorities, -20 (high) to 20 (low), when using 2 or more priorities at the same time)
-* `pqueue2` (slower heap implementation)
-* `pqueue3` (faster than `pqueue2` and `priority_queue` when using 64 or more priorities at the same time)
-* `pqueue4` (slightly slower than `pqueue` but fastest for allowing 257 priorities, -128 (high) to 128 (low), i.e., fastest when using 42 or more priorities at the same time)
-
-[The latest results are here](http://okeuday.livejournal.com/19539.html), with [the benchmark here](http://github.com/okeuday/erlbench).
-
-Author
-------
-
-Michael Truog (mjtruog at protonmail dot com)
-
-Thanks
-------
-
-* Jesper Louis andersen (PropEr integration and testing)
-* Ulf Wiger (suggestions and insight)
-
-License
--------
-
-MIT License
-
diff --git a/aoc2023/build/packages/pqueue/doc/edoc-info b/aoc2023/build/packages/pqueue/doc/edoc-info
deleted file mode 100644
index 5e5a8d3..0000000
--- a/aoc2023/build/packages/pqueue/doc/edoc-info
+++ /dev/null
@@ -1,3 +0,0 @@
-%% encoding: UTF-8
-{application,pqueue}.
-{modules,[pqueue,pqueue2,pqueue3,pqueue4]}.
diff --git a/aoc2023/build/packages/pqueue/doc/erlang.png b/aoc2023/build/packages/pqueue/doc/erlang.png
deleted file mode 100644
index 987a618..0000000
--- a/aoc2023/build/packages/pqueue/doc/erlang.png
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/packages/pqueue/doc/index.html b/aoc2023/build/packages/pqueue/doc/index.html
deleted file mode 100644
index d55b5e6..0000000
--- a/aoc2023/build/packages/pqueue/doc/index.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<title>The pqueue application</title>
-</head>
-<frameset cols="20%,80%">
-<frame src="modules-frame.html" name="modulesFrame" title="">
-
-<frame src="overview-summary.html" name="overviewFrame" title="">
-<noframes>
-<h2>This page uses frames</h2>
-<p>Your browser does not accept frames.
-<br>You should go to the <a href="overview-summary.html">non-frame version</a> instead.
-</p>
-</noframes>
-</frameset>
-</html> \ No newline at end of file
diff --git a/aoc2023/build/packages/pqueue/doc/modules-frame.html b/aoc2023/build/packages/pqueue/doc/modules-frame.html
deleted file mode 100644
index 5a87cc4..0000000
--- a/aoc2023/build/packages/pqueue/doc/modules-frame.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<title>The pqueue application</title>
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
-</head>
-<body bgcolor="white">
-<h2 class="indextitle">Modules</h2>
-<table width="100%" border="0" summary="list of modules">
-<tr><td><a href="pqueue.html" target="overviewFrame" class="module">pqueue</a></td></tr>
-<tr><td><a href="pqueue2.html" target="overviewFrame" class="module">pqueue2</a></td></tr>
-<tr><td><a href="pqueue3.html" target="overviewFrame" class="module">pqueue3</a></td></tr>
-<tr><td><a href="pqueue4.html" target="overviewFrame" class="module">pqueue4</a></td></tr></table>
-</body>
-</html> \ No newline at end of file
diff --git a/aoc2023/build/packages/pqueue/doc/overview-summary.html b/aoc2023/build/packages/pqueue/doc/overview-summary.html
deleted file mode 100644
index e2f8906..0000000
--- a/aoc2023/build/packages/pqueue/doc/overview-summary.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>The pqueue application</title>
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
-</head>
-<body bgcolor="white">
-<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
-<h1>The pqueue application</h1>
-
-<hr>
-<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
-<p><i>Generated by EDoc</i></p>
-</body>
-</html>
diff --git a/aoc2023/build/packages/pqueue/doc/pqueue.html b/aoc2023/build/packages/pqueue/doc/pqueue.html
deleted file mode 100644
index 40b05ac..0000000
--- a/aoc2023/build/packages/pqueue/doc/pqueue.html
+++ /dev/null
@@ -1,166 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Module pqueue</title>
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
-</head>
-<body bgcolor="white">
-<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
-<hr>
-
-<h1>Module pqueue</h1>
-<ul class="index"><li><a href="#description">Description</a></li><li><a href="#types">Data Types</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>
- <h3><a name="Static_Priority_Queue.">Static Priority Queue.</a></h3>
- This priority queue implementation depends on a static number of priorities
- (-20 (high) to 20 (low)) so that tuple access times can be exploited for
- quick in/out priority queue operations.
-<p>Copyright © 2011-2020 Michael Truog</p>
-
-<p><b>Version:</b> 2.0.1 Nov 26 2020 14:55:34
- ------------------------------------------------------------------------</p>
-<p><b>Authors:</b> Michael Truog (<a href="mailto:mjtruog at protonmail dot com"><tt>mjtruog at protonmail dot com</tt></a>).</p>
-
-<h2><a name="description">Description</a></h2>
- <h3><a name="Static_Priority_Queue.">Static Priority Queue.</a></h3>
- This priority queue implementation depends on a static number of priorities
- (-20 (high) to 20 (low)) so that tuple access times can be exploited for
- quick in/out priority queue operations. This implementation was created to
- avoid the slowness within the priority queue used by both RabbitMQ and Riak
- (https://github.com/basho/riak_core/blob/master/src/priority_queue.erl).
-<h2><a name="types">Data Types</a></h2>
-
-<h3 class="typedecl"><a name="type-pqueue">pqueue()</a></h3>
-<p><tt>pqueue() = {integer(), {<a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>}, {<a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>}, {<a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>}, <a href="queue.html#type-queue">queue:queue()</a>, {<a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>}, {<a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>}, {<a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>}} | {empty, {<a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>}, {<a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>}, {<a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>}, <a href="queue.html#type-queue">queue:queue()</a>, {<a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>}, {<a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>}, {<a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>, <a href="queue.html#type-queue">queue:queue()</a>}}</tt></p>
-
-
-<h2><a name="index">Function Index</a></h2>
-<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#in-2">in/2</a></td><td>
- <h4><a name="Append_an_item_to_the_tail_of_the_0_priority_queue.">Append an item to the tail of the 0 priority queue.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#in-3">in/3</a></td><td>
- <h4><a name="Append_an_item_to_the_tail_of_a_specific_priority_queue.">Append an item to the tail of a specific priority queue.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#is_empty-1">is_empty/1</a></td><td>
- <h4><a name="Check_if_the_priority_queue_is_empty.">Check if the priority queue is empty.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#is_queue-1">is_queue/1</a></td><td>
- <h4><a name="Check_if_the_priority_queue_type_is_as_expected.">Check if the priority queue type is as expected.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#join-2">join/2</a></td><td>
- <h4><a name="Join_two_priority_queues.">Join two priority queues.</a></h4>
- O(N).</td></tr>
-<tr><td valign="top"><a href="#len-1">len/1</a></td><td>
- <h4><a name="Determine_the_length_of_a_priority_queue.">Determine the length of a priority queue.</a></h4>
- O(N).</td></tr>
-<tr><td valign="top"><a href="#new-0">new/0</a></td><td>
- <h4><a name="Create_a_new_priority_queue.">Create a new priority queue.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#out-1">out/1</a></td><td>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
- O(1) amortized, O(N) worst case.</td></tr>
-<tr><td valign="top"><a href="#out-2">out/2</a></td><td>
- <h4><a name="Take_an_item_of_a_specific_priority_from_the_head_of_the_queue.">Take an item of a specific priority from the head of the queue.</a></h4>
- O(1) amortized, O(N) worst case.</td></tr>
-<tr><td valign="top"><a href="#pout-1">pout/1</a></td><td>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
- Includes the priority in the return value.</td></tr>
-<tr><td valign="top"><a href="#test-0">test/0</a></td><td>
- <h4><a name="Regression_test.">Regression test.</a></h4>.</td></tr>
-<tr><td valign="top"><a href="#to_list-1">to_list/1</a></td><td>
- <h4><a name="Convert_the_priority_queue_to_a_list.">Convert the priority queue to a list.</a></h4>
- O(N).</td></tr>
-</table>
-
-<h2><a name="functions">Function Details</a></h2>
-
-<h3 class="function"><a name="in-2">in/2</a></h3>
-<div class="spec">
-<p><tt>in(X::term(), Q::<a href="#type-pqueue">pqueue()</a>) -&gt; <a href="#type-pqueue">pqueue()</a></tt><br></p>
-</div><p>
- <h4><a name="Append_an_item_to_the_tail_of_the_0_priority_queue.">Append an item to the tail of the 0 priority queue.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="in-3">in/3</a></h3>
-<div class="spec">
-<p><tt>in(X::term(), P::integer(), Q::<a href="#type-pqueue">pqueue()</a>) -&gt; <a href="#type-pqueue">pqueue()</a></tt><br></p>
-</div><p>
- <h4><a name="Append_an_item_to_the_tail_of_a_specific_priority_queue.">Append an item to the tail of a specific priority queue.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="is_empty-1">is_empty/1</a></h3>
-<div class="spec">
-<p><tt>is_empty(X1::<a href="#type-pqueue">pqueue()</a>) -&gt; true | false</tt><br></p>
-</div><p>
- <h4><a name="Check_if_the_priority_queue_is_empty.">Check if the priority queue is empty.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="is_queue-1">is_queue/1</a></h3>
-<div class="spec">
-<p><tt>is_queue(X1::<a href="#type-pqueue">pqueue()</a>) -&gt; true | false</tt><br></p>
-</div><p>
- <h4><a name="Check_if_the_priority_queue_type_is_as_expected.">Check if the priority queue type is as expected.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="join-2">join/2</a></h3>
-<div class="spec">
-<p><tt>join(X1::<a href="#type-pqueue">pqueue()</a>, X2::<a href="#type-pqueue">pqueue()</a>) -&gt; <a href="#type-pqueue">pqueue()</a></tt><br></p>
-</div><p>
- <h4><a name="Join_two_priority_queues.">Join two priority queues.</a></h4>
- O(N)</p>
-
-<h3 class="function"><a name="len-1">len/1</a></h3>
-<div class="spec">
-<p><tt>len(X1::<a href="#type-pqueue">pqueue()</a>) -&gt; non_neg_integer()</tt><br></p>
-</div><p>
- <h4><a name="Determine_the_length_of_a_priority_queue.">Determine the length of a priority queue.</a></h4>
- O(N)</p>
-
-<h3 class="function"><a name="new-0">new/0</a></h3>
-<div class="spec">
-<p><tt>new() -&gt; <a href="#type-pqueue">pqueue()</a></tt><br></p>
-</div><p>
- <h4><a name="Create_a_new_priority_queue.">Create a new priority queue.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="out-1">out/1</a></h3>
-<div class="spec">
-<p><tt>out(Q::<a href="#type-pqueue">pqueue()</a>) -&gt; {{value, term()}, <a href="#type-pqueue">pqueue()</a>} | {empty, <a href="#type-pqueue">pqueue()</a>}</tt><br></p>
-</div><p>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
- O(1) amortized, O(N) worst case</p>
-
-<h3 class="function"><a name="out-2">out/2</a></h3>
-<div class="spec">
-<p><tt>out(P::integer(), Q::<a href="#type-pqueue">pqueue()</a>) -&gt; {{value, term()}, <a href="#type-pqueue">pqueue()</a>} | {empty, <a href="#type-pqueue">pqueue()</a>}</tt><br></p>
-</div><p>
- <h4><a name="Take_an_item_of_a_specific_priority_from_the_head_of_the_queue.">Take an item of a specific priority from the head of the queue.</a></h4>
- O(1) amortized, O(N) worst case</p>
-
-<h3 class="function"><a name="pout-1">pout/1</a></h3>
-<div class="spec">
-<p><tt>pout(Q::<a href="#type-pqueue">pqueue()</a>) -&gt; {{value, term(), integer()}, <a href="#type-pqueue">pqueue()</a>} | {empty, <a href="#type-pqueue">pqueue()</a>}</tt><br></p>
-</div><p>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
- Includes the priority in the return value.
- O(1) amortized, O(N) worst case</p>
-
-<h3 class="function"><a name="test-0">test/0</a></h3>
-<div class="spec">
-<p><tt>test() -&gt; any()</tt></p>
-</div><p>
- <h4><a name="Regression_test.">Regression test.</a></h4>
-</p>
-
-<h3 class="function"><a name="to_list-1">to_list/1</a></h3>
-<div class="spec">
-<p><tt>to_list(X1::<a href="#type-pqueue">pqueue()</a>) -&gt; [term()]</tt><br></p>
-</div><p>
- <h4><a name="Convert_the_priority_queue_to_a_list.">Convert the priority queue to a list.</a></h4>
- O(N)</p>
-<hr>
-
-<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
-<p><i>Generated by EDoc</i></p>
-</body>
-</html>
diff --git a/aoc2023/build/packages/pqueue/doc/pqueue2.html b/aoc2023/build/packages/pqueue/doc/pqueue2.html
deleted file mode 100644
index 2942b84..0000000
--- a/aoc2023/build/packages/pqueue/doc/pqueue2.html
+++ /dev/null
@@ -1,143 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Module pqueue2</title>
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
-</head>
-<body bgcolor="white">
-<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
-<hr>
-
-<h1>Module pqueue2</h1>
-<ul class="index"><li><a href="#description">Description</a></li><li><a href="#types">Data Types</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>
- <h3><a name="Skew_Heap_Priority_Queue.">Skew Heap Priority Queue.</a></h3>
- Ulf Wiger suggested pursuing a skew heap as an optimal Erlang priority
- queue implementation.
-<p>Copyright © 2011-2020 Michael Truog</p>
-
-<p><b>Version:</b> 2.0.1 Nov 26 2020 14:55:32
- ------------------------------------------------------------------------</p>
-<p><b>Authors:</b> Michael Truog (<a href="mailto:mjtruog at protonmail dot com"><tt>mjtruog at protonmail dot com</tt></a>).</p>
-
-<h2><a name="description">Description</a></h2>
- <h3><a name="Skew_Heap_Priority_Queue.">Skew Heap Priority Queue.</a></h3>
- Ulf Wiger suggested pursuing a skew heap as an optimal Erlang priority
- queue implementation. Unfortunately, testing has shown this solution to
- be more than 2 times slower than pqueue.
-<h2><a name="types">Data Types</a></h2>
-
-<h3 class="typedecl"><a name="type-pqueue2">pqueue2()</a></h3>
-<p><tt>pqueue2() = empty | {integer(), <a href="#type-pqueue2">pqueue2()</a>, <a href="#type-pqueue2">pqueue2()</a>, element, term()} | {integer(), <a href="#type-pqueue2">pqueue2()</a>, <a href="#type-pqueue2">pqueue2()</a>, queue, <a href="queue.html#type-queue">queue:queue()</a>}</tt></p>
-
-
-<h2><a name="index">Function Index</a></h2>
-<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#in-2">in/2</a></td><td>
- <h4><a name="Append_an_item_to_the_tail_of_the_0_priority_queue.">Append an item to the tail of the 0 priority queue.</a></h4>.</td></tr>
-<tr><td valign="top"><a href="#in-3">in/3</a></td><td>
- <h4><a name="Append_an_item_to_the_tail_of_a_specific_priority_queue.">Append an item to the tail of a specific priority queue.</a></h4>.</td></tr>
-<tr><td valign="top"><a href="#is_empty-1">is_empty/1</a></td><td>
- <h4><a name="Check_if_the_priority_queue_is_empty.">Check if the priority queue is empty.</a></h4>.</td></tr>
-<tr><td valign="top"><a href="#is_queue-1">is_queue/1</a></td><td>
- <h4><a name="Check_if_the_priority_queue_type_is_as_expected.">Check if the priority queue type is as expected.</a></h4>.</td></tr>
-<tr><td valign="top"><a href="#len-1">len/1</a></td><td>
- <h4><a name="Determine_the_length_of_a_priority_queue.">Determine the length of a priority queue.</a></h4>.</td></tr>
-<tr><td valign="top"><a href="#new-0">new/0</a></td><td>
- <h4><a name="Create_a_new_priority_queue.">Create a new priority queue.</a></h4>.</td></tr>
-<tr><td valign="top"><a href="#out-1">out/1</a></td><td>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>.</td></tr>
-<tr><td valign="top"><a href="#out-2">out/2</a></td><td>
- <h4><a name="Take_an_item_of_a_specific_priority_from_the_head_of_the_queue.">Take an item of a specific priority from the head of the queue.</a></h4>.</td></tr>
-<tr><td valign="top"><a href="#pout-1">pout/1</a></td><td>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
- Includes the priority in the return value.</td></tr>
-<tr><td valign="top"><a href="#test-0">test/0</a></td><td>
- <h4><a name="Regression_test.">Regression test.</a></h4>.</td></tr>
-<tr><td valign="top"><a href="#to_list-1">to_list/1</a></td><td>
- <h4><a name="Convert_the_priority_queue_to_a_list.">Convert the priority queue to a list.</a></h4>.</td></tr>
-</table>
-
-<h2><a name="functions">Function Details</a></h2>
-
-<h3 class="function"><a name="in-2">in/2</a></h3>
-<div class="spec">
-<p><tt>in(Value::term(), H::<a href="#type-pqueue2">pqueue2()</a>) -&gt; <a href="#type-pqueue2">pqueue2()</a></tt><br></p>
-</div><p>
- <h4><a name="Append_an_item_to_the_tail_of_the_0_priority_queue.">Append an item to the tail of the 0 priority queue.</a></h4>
-</p>
-
-<h3 class="function"><a name="in-3">in/3</a></h3>
-<div class="spec">
-<p><tt>in(Value::term(), P::integer(), H::<a href="#type-pqueue2">pqueue2()</a>) -&gt; <a href="#type-pqueue2">pqueue2()</a></tt><br></p>
-</div><p>
- <h4><a name="Append_an_item_to_the_tail_of_a_specific_priority_queue.">Append an item to the tail of a specific priority queue.</a></h4>
-</p>
-
-<h3 class="function"><a name="is_empty-1">is_empty/1</a></h3>
-<div class="spec">
-<p><tt>is_empty(X1::<a href="#type-pqueue2">pqueue2()</a>) -&gt; true | false</tt><br></p>
-</div><p>
- <h4><a name="Check_if_the_priority_queue_is_empty.">Check if the priority queue is empty.</a></h4>
-</p>
-
-<h3 class="function"><a name="is_queue-1">is_queue/1</a></h3>
-<div class="spec">
-<p><tt>is_queue(X1::<a href="#type-pqueue2">pqueue2()</a>) -&gt; true | false</tt><br></p>
-</div><p>
- <h4><a name="Check_if_the_priority_queue_type_is_as_expected.">Check if the priority queue type is as expected.</a></h4>
-</p>
-
-<h3 class="function"><a name="len-1">len/1</a></h3>
-<div class="spec">
-<p><tt>len(H::<a href="#type-pqueue2">pqueue2()</a>) -&gt; non_neg_integer()</tt><br></p>
-</div><p>
- <h4><a name="Determine_the_length_of_a_priority_queue.">Determine the length of a priority queue.</a></h4>
-</p>
-
-<h3 class="function"><a name="new-0">new/0</a></h3>
-<div class="spec">
-<p><tt>new() -&gt; <a href="#type-pqueue2">pqueue2()</a></tt><br></p>
-</div><p>
- <h4><a name="Create_a_new_priority_queue.">Create a new priority queue.</a></h4>
-</p>
-
-<h3 class="function"><a name="out-1">out/1</a></h3>
-<div class="spec">
-<p><tt>out(X1::<a href="#type-pqueue2">pqueue2()</a>) -&gt; {{value, term()}, <a href="#type-pqueue2">pqueue2()</a>} | {empty, <a href="#type-pqueue2">pqueue2()</a>}</tt><br></p>
-</div><p>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
-</p>
-
-<h3 class="function"><a name="out-2">out/2</a></h3>
-<div class="spec">
-<p><tt>out(P::integer(), H::<a href="#type-pqueue2">pqueue2()</a>) -&gt; {{value, term()}, <a href="#type-pqueue2">pqueue2()</a>} | {empty, <a href="#type-pqueue2">pqueue2()</a>}</tt><br></p>
-</div><p>
- <h4><a name="Take_an_item_of_a_specific_priority_from_the_head_of_the_queue.">Take an item of a specific priority from the head of the queue.</a></h4>
-</p>
-
-<h3 class="function"><a name="pout-1">pout/1</a></h3>
-<div class="spec">
-<p><tt>pout(X1::<a href="#type-pqueue2">pqueue2()</a>) -&gt; {{value, term(), integer()}, <a href="#type-pqueue2">pqueue2()</a>} | {empty, <a href="#type-pqueue2">pqueue2()</a>}</tt><br></p>
-</div><p>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
- Includes the priority in the return value.</p>
-
-<h3 class="function"><a name="test-0">test/0</a></h3>
-<div class="spec">
-<p><tt>test() -&gt; any()</tt></p>
-</div><p>
- <h4><a name="Regression_test.">Regression test.</a></h4>
-</p>
-
-<h3 class="function"><a name="to_list-1">to_list/1</a></h3>
-<div class="spec">
-<p><tt>to_list(H::<a href="#type-pqueue2">pqueue2()</a>) -&gt; [term()]</tt><br></p>
-</div><p>
- <h4><a name="Convert_the_priority_queue_to_a_list.">Convert the priority queue to a list.</a></h4>
-</p>
-<hr>
-
-<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
-<p><i>Generated by EDoc</i></p>
-</body>
-</html>
diff --git a/aoc2023/build/packages/pqueue/doc/pqueue3.html b/aoc2023/build/packages/pqueue/doc/pqueue3.html
deleted file mode 100644
index 35f1a7b..0000000
--- a/aoc2023/build/packages/pqueue/doc/pqueue3.html
+++ /dev/null
@@ -1,162 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Module pqueue3</title>
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
-</head>
-<body bgcolor="white">
-<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
-<hr>
-
-<h1>Module pqueue3</h1>
-<ul class="index"><li><a href="#description">Description</a></li><li><a href="#types">Data Types</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>
- <h3><a name="A_Large_Priority_Queue.">A Large Priority Queue.</a></h3>
- This priority queue implementation depends on layered tuples, so that tuple
- access times can be exploited for quick in/out priority queue operations
- when using 64 or more total priorities.
-<p>Copyright © 2011-2020 Michael Truog</p>
-
-<p><b>Version:</b> 2.0.1 Nov 26 2020 14:55:32
- ------------------------------------------------------------------------</p>
-<p><b>Authors:</b> Michael Truog (<a href="mailto:mjtruog at protonmail dot com"><tt>mjtruog at protonmail dot com</tt></a>).</p>
-
-<h2><a name="description">Description</a></h2>
- <h3><a name="A_Large_Priority_Queue.">A Large Priority Queue.</a></h3>
- This priority queue implementation depends on layered tuples, so that tuple
- access times can be exploited for quick in/out priority queue operations
- when using 64 or more total priorities. This implementation was created
- to avoid the slowness within the priority queue used by
- both RabbitMQ and Riak
- (https://github.com/basho/riak_core/blob/master/src/priority_queue.erl).
-<h2><a name="types">Data Types</a></h2>
-
-<h3 class="typedecl"><a name="type-pqueue3">pqueue3()</a></h3>
-<p><tt>pqueue3() = {integer(), integer(), empty | integer(), tuple()}</tt></p>
-
-
-<h3 class="typedecl"><a name="type-pqueue3_empty">pqueue3_empty()</a></h3>
-<p><tt>pqueue3_empty() = {integer(), integer(), empty, tuple()}</tt></p>
-
-
-<h2><a name="index">Function Index</a></h2>
-<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#in-2">in/2</a></td><td>
- <h4><a name="Append_an_item_to_the_tail_of_the_0_priority_queue.">Append an item to the tail of the 0 priority queue.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#in-3">in/3</a></td><td>
- <h4><a name="Append_an_item_to_the_tail_of_a_specific_priority_queue.">Append an item to the tail of a specific priority queue.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#is_empty-1">is_empty/1</a></td><td>
- <h4><a name="Check_if_the_priority_queue_is_empty.">Check if the priority queue is empty.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#is_queue-1">is_queue/1</a></td><td>
- <h4><a name="Check_if_the_priority_queue_type_is_as_expected.">Check if the priority queue type is as expected.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#len-1">len/1</a></td><td>
- <h4><a name="Determine_the_length_of_a_priority_queue.">Determine the length of a priority queue.</a></h4>
- O(N).</td></tr>
-<tr><td valign="top"><a href="#new-0">new/0</a></td><td>
- <h4><a name="Create_a_new_priority_queue.">Create a new priority queue.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#new-1">new/1</a></td><td>
- <h4><a name="Create_a_new_priority_queue_with_customization_options.">Create a new priority queue with customization options.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#out-1">out/1</a></td><td>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
- O(1) amortized, O(N) worst case.</td></tr>
-<tr><td valign="top"><a href="#out-2">out/2</a></td><td>
- <h4><a name="Take_an_item_of_a_specific_priority_from_the_head_of_the_queue.">Take an item of a specific priority from the head of the queue.</a></h4>
- O(1) amortized, O(N) worst case.</td></tr>
-<tr><td valign="top"><a href="#pout-1">pout/1</a></td><td>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
- Includes the priority in the return value.</td></tr>
-<tr><td valign="top"><a href="#to_list-1">to_list/1</a></td><td>
- <h4><a name="Convert_the_priority_queue_to_a_list.">Convert the priority queue to a list.</a></h4>
- O(N).</td></tr>
-</table>
-
-<h2><a name="functions">Function Details</a></h2>
-
-<h3 class="function"><a name="in-2">in/2</a></h3>
-<div class="spec">
-<p><tt>in(Value::term(), Q::<a href="#type-pqueue3">pqueue3()</a>) -&gt; <a href="#type-pqueue3">pqueue3()</a></tt><br></p>
-</div><p>
- <h4><a name="Append_an_item_to_the_tail_of_the_0_priority_queue.">Append an item to the tail of the 0 priority queue.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="in-3">in/3</a></h3>
-<div class="spec">
-<p><tt>in(Value::term(), P::integer(), X3::<a href="#type-pqueue3">pqueue3()</a>) -&gt; <a href="#type-pqueue3">pqueue3()</a></tt><br></p>
-</div><p>
- <h4><a name="Append_an_item_to_the_tail_of_a_specific_priority_queue.">Append an item to the tail of a specific priority queue.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="is_empty-1">is_empty/1</a></h3>
-<div class="spec">
-<p><tt>is_empty(Q::<a href="#type-pqueue3">pqueue3()</a>) -&gt; true | false</tt><br></p>
-</div><p>
- <h4><a name="Check_if_the_priority_queue_is_empty.">Check if the priority queue is empty.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="is_queue-1">is_queue/1</a></h3>
-<div class="spec">
-<p><tt>is_queue(X1::<a href="#type-pqueue3">pqueue3()</a>) -&gt; true | false</tt><br></p>
-</div><p>
- <h4><a name="Check_if_the_priority_queue_type_is_as_expected.">Check if the priority queue type is as expected.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="len-1">len/1</a></h3>
-<div class="spec">
-<p><tt>len(Q::<a href="#type-pqueue3">pqueue3()</a>) -&gt; non_neg_integer()</tt><br></p>
-</div><p>
- <h4><a name="Determine_the_length_of_a_priority_queue.">Determine the length of a priority queue.</a></h4>
- O(N)</p>
-
-<h3 class="function"><a name="new-0">new/0</a></h3>
-<div class="spec">
-<p><tt>new() -&gt; <a href="#type-pqueue3_empty">pqueue3_empty()</a></tt><br></p>
-</div><p>
- <h4><a name="Create_a_new_priority_queue.">Create a new priority queue.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="new-1">new/1</a></h3>
-<div class="spec">
-<p><tt>new(Options::[{atom(), term()}]) -&gt; <a href="#type-pqueue3">pqueue3()</a></tt><br></p>
-</div><p>
- <h4><a name="Create_a_new_priority_queue_with_customization_options.">Create a new priority queue with customization options.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="out-1">out/1</a></h3>
-<div class="spec">
-<p><tt>out(Q::<a href="#type-pqueue3">pqueue3()</a>) -&gt; {{value, term()}, <a href="#type-pqueue3">pqueue3()</a>} | {empty, <a href="#type-pqueue3">pqueue3()</a>}</tt><br></p>
-</div><p>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
- O(1) amortized, O(N) worst case</p>
-
-<h3 class="function"><a name="out-2">out/2</a></h3>
-<div class="spec">
-<p><tt>out(P::integer(), Q::<a href="#type-pqueue3">pqueue3()</a>) -&gt; {{value, term()}, <a href="#type-pqueue3">pqueue3()</a>} | {empty, <a href="#type-pqueue3">pqueue3()</a>}</tt><br></p>
-</div><p>
- <h4><a name="Take_an_item_of_a_specific_priority_from_the_head_of_the_queue.">Take an item of a specific priority from the head of the queue.</a></h4>
- O(1) amortized, O(N) worst case</p>
-
-<h3 class="function"><a name="pout-1">pout/1</a></h3>
-<div class="spec">
-<p><tt>pout(Q::<a href="#type-pqueue3">pqueue3()</a>) -&gt; {{value, term(), integer()}, <a href="#type-pqueue3">pqueue3()</a>} | {empty, <a href="#type-pqueue3">pqueue3()</a>}</tt><br></p>
-</div><p>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
- Includes the priority in the return value.
- O(1) amortized, O(N) worst case</p>
-
-<h3 class="function"><a name="to_list-1">to_list/1</a></h3>
-<div class="spec">
-<p><tt>to_list(Q::<a href="#type-pqueue3">pqueue3()</a>) -&gt; [term()]</tt><br></p>
-</div><p>
- <h4><a name="Convert_the_priority_queue_to_a_list.">Convert the priority queue to a list.</a></h4>
- O(N)</p>
-<hr>
-
-<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
-<p><i>Generated by EDoc</i></p>
-</body>
-</html>
diff --git a/aoc2023/build/packages/pqueue/doc/pqueue4.html b/aoc2023/build/packages/pqueue/doc/pqueue4.html
deleted file mode 100644
index edcdb6e..0000000
--- a/aoc2023/build/packages/pqueue/doc/pqueue4.html
+++ /dev/null
@@ -1,205 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Module pqueue4</title>
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
-</head>
-<body bgcolor="white">
-<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
-<hr>
-
-<h1>Module pqueue4</h1>
-<ul class="index"><li><a href="#description">Description</a></li><li><a href="#types">Data Types</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>
- <h3><a name="Static_Priority_Queue.">Static Priority Queue.</a></h3>
- This priority queue implementation depends on a static number of priorities
- (-128 (high) to 128 (low)) so that tuple access times can be exploited for
- quick in/out priority queue operations.
-<p>Copyright © 2011-2020 Michael Truog</p>
-
-<p><b>Version:</b> 2.0.1 Nov 26 2020 14:55:34
- ------------------------------------------------------------------------</p>
-<p><b>Authors:</b> Michael Truog (<a href="mailto:mjtruog at protonmail dot com"><tt>mjtruog at protonmail dot com</tt></a>).</p>
-
-<h2><a name="description">Description</a></h2>
- <h3><a name="Static_Priority_Queue.">Static Priority Queue.</a></h3>
- This priority queue implementation depends on a static number of priorities
- (-128 (high) to 128 (low)) so that tuple access times can be exploited for
- quick in/out priority queue operations. This implementation was created to
- avoid the slowness within the priority queue used by both RabbitMQ and Riak
- (https://github.com/basho/riak_core/blob/master/src/priority_queue.erl).
-<h2><a name="types">Data Types</a></h2>
-
-<h3 class="typedecl"><a name="type-pqueue4">pqueue4()</a></h3>
-<p><tt>pqueue4() = <a href="#type-pqueue4">pqueue4</a>(any())</tt></p>
-
-
-<h3 class="typedecl"><a name="type-pqueue4">pqueue4()</a></h3>
-<p><tt>pqueue4(T) = {<a href="#type-priority">priority()</a> | empty, non_neg_integer(), {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, <a href="queue.html#type-queue">queue:queue</a>(T), {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}, {<a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T), <a href="queue.html#type-queue">queue:queue</a>(T)}}</tt></p>
-
-
-<h3 class="typedecl"><a name="type-priority">priority()</a></h3>
-<p><tt>priority() = -128..128</tt></p>
-
-
-<h2><a name="index">Function Index</a></h2>
-<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#filter-2">filter/2</a></td><td>
- <h4><a name="Filter_the_priority_queue.">Filter the priority queue.</a></h4>
- O(N).</td></tr>
-<tr><td valign="top"><a href="#filter-3">filter/3</a></td><td>
- <h4><a name="Filter_a_specific_priority_within_the_priority_queue.">Filter a specific priority within the priority queue.</a></h4>
- O(N).</td></tr>
-<tr><td valign="top"><a href="#in-2">in/2</a></td><td>
- <h4><a name="Append_an_item_to_the_tail_of_the_0_priority_queue.">Append an item to the tail of the 0 priority queue.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#in-3">in/3</a></td><td>
- <h4><a name="Append_an_item_to_the_tail_of_a_specific_priority_queue.">Append an item to the tail of a specific priority queue.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#is_empty-1">is_empty/1</a></td><td>
- <h4><a name="Check_if_the_priority_queue_is_empty.">Check if the priority queue is empty.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#is_queue-1">is_queue/1</a></td><td>
- <h4><a name="Check_if_the_priority_queue_type_is_as_expected.">Check if the priority queue type is as expected.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#len-1">len/1</a></td><td>
- <h4><a name="Determine_the_length_of_a_priority_queue.">Determine the length of a priority queue.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#new-0">new/0</a></td><td>
- <h4><a name="Create_a_new_priority_queue.">Create a new priority queue.</a></h4>
- O(1).</td></tr>
-<tr><td valign="top"><a href="#out-1">out/1</a></td><td>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
- O(1) amortized, O(N) worst case.</td></tr>
-<tr><td valign="top"><a href="#out-2">out/2</a></td><td>
- <h4><a name="Take_an_item_of_a_specific_priority_from_the_head_of_the_queue.">Take an item of a specific priority from the head of the queue.</a></h4>
- O(1) amortized, O(N) worst case.</td></tr>
-<tr><td valign="top"><a href="#pout-1">pout/1</a></td><td>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
- Includes the priority in the return value.</td></tr>
-<tr><td valign="top"><a href="#remove_unique-2">remove_unique/2</a></td><td>
- <h4><a name="Remove_a_unique_value_from_the_priority_queue_with_a_binary_predicate.">Remove a unique value from the priority queue with a binary predicate.</a></h4>
- O(N) but smaller constant than filter/2.</td></tr>
-<tr><td valign="top"><a href="#remove_unique-3">remove_unique/3</a></td><td>
- <h4><a name="Remove_a_unique_value_in_a_specific_priority_within_the_priority_queue_with_a_binary_predicate.">Remove a unique value in a specific priority within the priority queue with a binary predicate.</a></h4>
- O(N) but smaller constant than filter/3.</td></tr>
-<tr><td valign="top"><a href="#to_list-1">to_list/1</a></td><td>
- <h4><a name="Convert_the_priority_queue_to_a_list.">Convert the priority queue to a list.</a></h4>
- O(N).</td></tr>
-<tr><td valign="top"><a href="#to_plist-1">to_plist/1</a></td><td>
- <h4><a name="Convert_the_priority_queue_to_a_list_with_priorities.">Convert the priority queue to a list with priorities.</a></h4>
- O(N).</td></tr>
-</table>
-
-<h2><a name="functions">Function Details</a></h2>
-
-<h3 class="function"><a name="filter-2">filter/2</a></h3>
-<div class="spec">
-<p><tt>filter(F::fun((any()) -&gt; boolean()), Q::<a href="#type-pqueue4">pqueue4()</a>) -&gt; <a href="#type-pqueue4">pqueue4()</a></tt><br></p>
-</div><p>
- <h4><a name="Filter_the_priority_queue.">Filter the priority queue.</a></h4>
- O(N)</p>
-
-<h3 class="function"><a name="filter-3">filter/3</a></h3>
-<div class="spec">
-<p><tt>filter(F::fun((any()) -&gt; boolean()), P::integer(), Q::<a href="#type-pqueue4">pqueue4()</a>) -&gt; <a href="#type-pqueue4">pqueue4()</a></tt><br></p>
-</div><p>
- <h4><a name="Filter_a_specific_priority_within_the_priority_queue.">Filter a specific priority within the priority queue.</a></h4>
- O(N)</p>
-
-<h3 class="function"><a name="in-2">in/2</a></h3>
-<div class="spec">
-<p><tt>in(X::any(), Q::<a href="#type-pqueue4">pqueue4()</a>) -&gt; <a href="#type-pqueue4">pqueue4()</a></tt><br></p>
-</div><p>
- <h4><a name="Append_an_item_to_the_tail_of_the_0_priority_queue.">Append an item to the tail of the 0 priority queue.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="in-3">in/3</a></h3>
-<div class="spec">
-<p><tt>in(X::any(), P::integer(), Q::<a href="#type-pqueue4">pqueue4()</a>) -&gt; <a href="#type-pqueue4">pqueue4()</a></tt><br></p>
-</div><p>
- <h4><a name="Append_an_item_to_the_tail_of_a_specific_priority_queue.">Append an item to the tail of a specific priority queue.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="is_empty-1">is_empty/1</a></h3>
-<div class="spec">
-<p><tt>is_empty(X1::<a href="#type-pqueue4">pqueue4()</a>) -&gt; true | false</tt><br></p>
-</div><p>
- <h4><a name="Check_if_the_priority_queue_is_empty.">Check if the priority queue is empty.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="is_queue-1">is_queue/1</a></h3>
-<div class="spec">
-<p><tt>is_queue(X1::<a href="#type-pqueue4">pqueue4()</a>) -&gt; true | false</tt><br></p>
-</div><p>
- <h4><a name="Check_if_the_priority_queue_type_is_as_expected.">Check if the priority queue type is as expected.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="len-1">len/1</a></h3>
-<div class="spec">
-<p><tt>len(X1::<a href="#type-pqueue4">pqueue4()</a>) -&gt; non_neg_integer()</tt><br></p>
-</div><p>
- <h4><a name="Determine_the_length_of_a_priority_queue.">Determine the length of a priority queue.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="new-0">new/0</a></h3>
-<div class="spec">
-<p><tt>new() -&gt; <a href="#type-pqueue4">pqueue4()</a></tt><br></p>
-</div><p>
- <h4><a name="Create_a_new_priority_queue.">Create a new priority queue.</a></h4>
- O(1)</p>
-
-<h3 class="function"><a name="out-1">out/1</a></h3>
-<div class="spec">
-<p><tt>out(Q::<a href="#type-pqueue4">pqueue4()</a>) -&gt; {{value, any()}, <a href="#type-pqueue4">pqueue4()</a>} | {empty, <a href="#type-pqueue4">pqueue4()</a>}</tt><br></p>
-</div><p>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
- O(1) amortized, O(N) worst case</p>
-
-<h3 class="function"><a name="out-2">out/2</a></h3>
-<div class="spec">
-<p><tt>out(P::integer(), Q::<a href="#type-pqueue4">pqueue4()</a>) -&gt; {{value, any()}, <a href="#type-pqueue4">pqueue4()</a>} | {empty, <a href="#type-pqueue4">pqueue4()</a>}</tt><br></p>
-</div><p>
- <h4><a name="Take_an_item_of_a_specific_priority_from_the_head_of_the_queue.">Take an item of a specific priority from the head of the queue.</a></h4>
- O(1) amortized, O(N) worst case</p>
-
-<h3 class="function"><a name="pout-1">pout/1</a></h3>
-<div class="spec">
-<p><tt>pout(Q::<a href="#type-pqueue4">pqueue4()</a>) -&gt; {{value, any(), integer()}, <a href="#type-pqueue4">pqueue4()</a>} | {empty, <a href="#type-pqueue4">pqueue4()</a>}</tt><br></p>
-</div><p>
- <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
- Includes the priority in the return value.
- O(1) amortized, O(N) worst case</p>
-
-<h3 class="function"><a name="remove_unique-2">remove_unique/2</a></h3>
-<div class="spec">
-<p><tt>remove_unique(F::fun((any()) -&gt; boolean()), Q::<a href="#type-pqueue4">pqueue4()</a>) -&gt; {boolean(), <a href="#type-pqueue4">pqueue4()</a>}</tt><br></p>
-</div><p>
- <h4><a name="Remove_a_unique_value_from_the_priority_queue_with_a_binary_predicate.">Remove a unique value from the priority queue with a binary predicate.</a></h4>
- O(N) but smaller constant than filter/2</p>
-
-<h3 class="function"><a name="remove_unique-3">remove_unique/3</a></h3>
-<div class="spec">
-<p><tt>remove_unique(F::fun((any()) -&gt; boolean()), P::integer(), Q::<a href="#type-pqueue4">pqueue4()</a>) -&gt; {boolean(), <a href="#type-pqueue4">pqueue4()</a>}</tt><br></p>
-</div><p>
- <h4><a name="Remove_a_unique_value_in_a_specific_priority_within_the_priority_queue_with_a_binary_predicate.">Remove a unique value in a specific priority within the priority queue with a binary predicate.</a></h4>
- O(N) but smaller constant than filter/3</p>
-
-<h3 class="function"><a name="to_list-1">to_list/1</a></h3>
-<div class="spec">
-<p><tt>to_list(Q::<a href="#type-pqueue4">pqueue4()</a>) -&gt; list()</tt><br></p>
-</div><p>
- <h4><a name="Convert_the_priority_queue_to_a_list.">Convert the priority queue to a list.</a></h4>
- O(N)</p>
-
-<h3 class="function"><a name="to_plist-1">to_plist/1</a></h3>
-<div class="spec">
-<p><tt>to_plist(Q::<a href="#type-pqueue4">pqueue4()</a>) -&gt; [{<a href="#type-priority">priority()</a>, list()}]</tt><br></p>
-</div><p>
- <h4><a name="Convert_the_priority_queue_to_a_list_with_priorities.">Convert the priority queue to a list with priorities.</a></h4>
- O(N)</p>
-<hr>
-
-<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
-<p><i>Generated by EDoc</i></p>
-</body>
-</html>
diff --git a/aoc2023/build/packages/pqueue/doc/stylesheet.css b/aoc2023/build/packages/pqueue/doc/stylesheet.css
deleted file mode 100644
index ab170c0..0000000
--- a/aoc2023/build/packages/pqueue/doc/stylesheet.css
+++ /dev/null
@@ -1,55 +0,0 @@
-/* standard EDoc style sheet */
-body {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- margin-left: .25in;
- margin-right: .2in;
- margin-top: 0.2in;
- margin-bottom: 0.2in;
- color: #000000;
- background-color: #ffffff;
-}
-h1,h2 {
- margin-left: -0.2in;
-}
-div.navbar {
- background-color: #add8e6;
- padding: 0.2em;
-}
-h2.indextitle {
- padding: 0.4em;
- background-color: #add8e6;
-}
-h3.function,h3.typedecl {
- background-color: #add8e6;
- padding-left: 1em;
-}
-div.spec {
- margin-left: 2em;
- background-color: #eeeeee;
-}
-a.module {
- text-decoration:none
-}
-a.module:hover {
- background-color: #eeeeee;
-}
-ul.definitions {
- list-style-type: none;
-}
-ul.index {
- list-style-type: none;
- background-color: #eeeeee;
-}
-
-/*
- * Minor style tweaks
- */
-ul {
- list-style-type: square;
-}
-table {
- border-collapse: collapse;
-}
-td {
- padding: 3
-}
diff --git a/aoc2023/build/packages/pqueue/rebar.config b/aoc2023/build/packages/pqueue/rebar.config
deleted file mode 100644
index f8022f0..0000000
--- a/aoc2023/build/packages/pqueue/rebar.config
+++ /dev/null
@@ -1,14 +0,0 @@
-%-*-Mode:erlang;coding:utf-8;tab-width:4;c-basic-offset:4;indent-tabs-mode:()-*-
-% ex: set ft=erlang fenc=utf-8 sts=4 ts=4 sw=4 et nomod:
-
-{erl_opts,
- [{platform_define, "^R16", 'ERLANG_OTP_VERSION_16'},
- {platform_define, "^17\.", 'ERLANG_OTP_VERSION_17'},
- {platform_define, "^18\.", 'ERLANG_OTP_VERSION_18'},
- {platform_define, "^19\.", 'ERLANG_OTP_VERSION_19'},
- {platform_define, "^20\.", 'ERLANG_OTP_VERSION_20'},
- warn_export_vars,
- warn_unused_import,
- %warn_missing_spec,
- warnings_as_errors]}.
-{edoc_opts, [{preprocess, true}]}.
diff --git a/aoc2023/build/packages/pqueue/src/pqueue.app.src b/aoc2023/build/packages/pqueue/src/pqueue.app.src
deleted file mode 100644
index b153ad1..0000000
--- a/aoc2023/build/packages/pqueue/src/pqueue.app.src
+++ /dev/null
@@ -1,10 +0,0 @@
-%-*-Mode:erlang;coding:utf-8;tab-width:4;c-basic-offset:4;indent-tabs-mode:()-*-
-% ex: set ft=erlang fenc=utf-8 sts=4 ts=4 sw=4 et nomod:
-
-{application, pqueue,
- [{description, "Priority Queue Data Structures"},
- {vsn, "2.0.7"},
- {modules, [pqueue, pqueue2, pqueue3, pqueue4]},
- {registered, []},
- {applications, [stdlib, kernel]}]}.
-
diff --git a/aoc2023/build/packages/pqueue/src/pqueue.erl b/aoc2023/build/packages/pqueue/src/pqueue.erl
deleted file mode 100644
index 2c57fa2..0000000
--- a/aoc2023/build/packages/pqueue/src/pqueue.erl
+++ /dev/null
@@ -1,2246 +0,0 @@
-%-*-Mode:erlang;coding:utf-8;tab-width:4;c-basic-offset:4;indent-tabs-mode:()-*-
-% ex: set ft=erlang fenc=utf-8 sts=4 ts=4 sw=4 et nomod:
-%%%
-%%%------------------------------------------------------------------------
-%%% @doc
-%%% ==Static Priority Queue.==
-%%% This priority queue implementation depends on a static number of priorities
-%%% (-20 (high) to 20 (low)) so that tuple access times can be exploited for
-%%% quick in/out priority queue operations. This implementation was created to
-%%% avoid the slowness within the priority queue used by both RabbitMQ and Riak
-%%% (https://github.com/basho/riak_core/blob/master/src/priority_queue.erl).
-%%% @end
-%%%
-%%% MIT License
-%%%
-%%% Copyright (c) 2011-2020 Michael Truog <mjtruog at protonmail dot com>
-%%%
-%%% Permission is hereby granted, free of charge, to any person obtaining a
-%%% copy of this software and associated documentation files (the "Software"),
-%%% to deal in the Software without restriction, including without limitation
-%%% the rights to use, copy, modify, merge, publish, distribute, sublicense,
-%%% and/or sell copies of the Software, and to permit persons to whom the
-%%% Software is furnished to do so, subject to the following conditions:
-%%%
-%%% The above copyright notice and this permission notice shall be included in
-%%% all copies or substantial portions of the Software.
-%%%
-%%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-%%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-%%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-%%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-%%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-%%% FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-%%% DEALINGS IN THE SOFTWARE.
-%%%
-%%% @author Michael Truog <mjtruog at protonmail dot com>
-%%% @copyright 2011-2020 Michael Truog
-%%% @version 2.0.1 {@date} {@time}
-%%%------------------------------------------------------------------------
-
--module(pqueue).
--author('mjtruog at protonmail dot com').
-
-%% external interface
--export([in/2, % O(1)
- in/3, % O(1)
- is_empty/1, % O(1)
- is_queue/1, % O(1)
- join/2, % O(N) typically (?)
- len/1, % O(N)
- new/0, % O(1)
- out/1, % O(1) amortized, O(N) worst case
- out/2, % O(1) amortized, O(N) worst case
- pout/1, % O(1) amortized, O(N) worst case
- to_list/1, % O(N)
- test/0]).
-
-%%%------------------------------------------------------------------------
-%%% External interface functions
-%%%------------------------------------------------------------------------
-
--ifdef(ERLANG_OTP_VERSION_16).
--type pqueue() ::
- {integer(),
- {queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue()},
- queue(),
- {queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue()}} |
- {'empty',
- {queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue()},
- queue(),
- {queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue()}}.
--else.
--type pqueue() ::
- {integer(),
- {queue:queue(), queue:queue(), queue:queue(), queue:queue(),
- queue:queue(), queue:queue(), queue:queue()},
- {queue:queue(), queue:queue(), queue:queue(), queue:queue(),
- queue:queue(), queue:queue(), queue:queue()},
- {queue:queue(), queue:queue(), queue:queue(), queue:queue(),
- queue:queue(), queue:queue()},
- queue:queue(),
- {queue:queue(), queue:queue(), queue:queue(), queue:queue(),
- queue:queue(), queue:queue()},
- {queue:queue(), queue:queue(), queue:queue(), queue:queue(),
- queue:queue(), queue:queue(), queue:queue()},
- {queue:queue(), queue:queue(), queue:queue(), queue:queue(),
- queue:queue(), queue:queue(), queue:queue()}} |
- {'empty',
- {queue:queue(), queue:queue(), queue:queue(), queue:queue(),
- queue:queue(), queue:queue(), queue:queue()},
- {queue:queue(), queue:queue(), queue:queue(), queue:queue(),
- queue:queue(), queue:queue(), queue:queue()},
- {queue:queue(), queue:queue(), queue:queue(), queue:queue(),
- queue:queue(), queue:queue()},
- queue:queue(),
- {queue:queue(), queue:queue(), queue:queue(), queue:queue(),
- queue:queue(), queue:queue()},
- {queue:queue(), queue:queue(), queue:queue(), queue:queue(),
- queue:queue(), queue:queue(), queue:queue()},
- {queue:queue(), queue:queue(), queue:queue(), queue:queue(),
- queue:queue(), queue:queue(), queue:queue()}}.
--endif.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Append an item to the tail of the 0 priority queue.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec in(term(), pqueue()) -> pqueue().
-
-in(X, Q) ->
- in(X, 0, Q).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Append an item to the tail of a specific priority queue.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec in(term(), integer(), pqueue()) -> pqueue().
-
-in(_, P, _)
- when P < -20; P > 20 ->
- erlang:exit(badarg);
-in(X, P, {empty, _, _, _, _, _, _, _} = Q) ->
- in_higher(P, Q, X);
-in(X, P, {Pc, _, _, _, _, _, _, _} = Q)
- when P < Pc ->
- in_higher(P, Q, X);
-in(X, P, Q) ->
- in_lower(P, Q, X).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Check if the priority queue is empty.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec is_empty(pqueue()) -> 'true' | 'false'.
-
-is_empty({empty, _, _, _, _, _, _, _}) ->
- true;
-is_empty({_,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}) ->
- queue:is_empty(Qn20) and queue:is_empty(Qn19) and queue:is_empty(Qn18) and
- queue:is_empty(Qn17) and queue:is_empty(Qn16) and queue:is_empty(Qn15) and
- queue:is_empty(Qn14) and
- queue:is_empty(Qn13) and queue:is_empty(Qn12) and queue:is_empty(Qn11) and
- queue:is_empty(Qn10) and queue:is_empty(Qn9) and queue:is_empty(Qn8) and
- queue:is_empty(Qn7) and
- queue:is_empty(Qn6) and queue:is_empty(Qn5) and queue:is_empty(Qn4) and
- queue:is_empty(Qn3) and queue:is_empty(Qn2) and queue:is_empty(Qn1) and
- queue:is_empty(Q0) and
- queue:is_empty(Qp1) and queue:is_empty(Qp2) and queue:is_empty(Qp3) and
- queue:is_empty(Qp4) and queue:is_empty(Qp5) and queue:is_empty(Qp6) and
- queue:is_empty(Qp7) and queue:is_empty(Qp8) and queue:is_empty(Qp9) and
- queue:is_empty(Qp10) and queue:is_empty(Qp11) and queue:is_empty(Qp12) and
- queue:is_empty(Qp13) and
- queue:is_empty(Qp14) and queue:is_empty(Qp15) and queue:is_empty(Qp16) and
- queue:is_empty(Qp17) and queue:is_empty(Qp18) and queue:is_empty(Qp19) and
- queue:is_empty(Qp20).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Check if the priority queue type is as expected.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec is_queue(pqueue()) -> 'true' | 'false'.
-
-is_queue({Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14})
- when tuple_size(Qsn14) == 7, tuple_size(Qsn7) == 7, tuple_size(Qsn1) == 6,
- tuple_size(Qsp14) == 7, tuple_size(Qsp7) == 7, tuple_size(Qsp1) == 6 ->
- (((Pc =:= empty) or is_integer(Pc)) and queue:is_queue(Q0));
-is_queue(_) ->
- false.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Join two priority queues.===
-%% O(N)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec join(pqueue(), pqueue()) -> pqueue().
-
-join({P1c,
- {Q1_n20, Q1_n19, Q1_n18, Q1_n17, Q1_n16, Q1_n15, Q1_n14},
- {Q1_n13, Q1_n12, Q1_n11, Q1_n10, Q1_n9, Q1_n8, Q1_n7},
- {Q1_n6, Q1_n5, Q1_n4, Q1_n3, Q1_n2, Q1_n1},
- Q1_0,
- {Q1_p1, Q1_p2, Q1_p3, Q1_p4, Q1_p5, Q1_p6},
- {Q1_p7, Q1_p8, Q1_p9, Q1_p10, Q1_p11, Q1_p12, Q1_p13},
- {Q1_p14, Q1_p15, Q1_p16, Q1_p17, Q1_p18, Q1_p19, Q1_p20}},
- {P2c,
- {Q2_n20, Q2_n19, Q2_n18, Q2_n17, Q2_n16, Q2_n15, Q2_n14},
- {Q2_n13, Q2_n12, Q2_n11, Q2_n10, Q2_n9, Q2_n8, Q2_n7},
- {Q2_n6, Q2_n5, Q2_n4, Q2_n3, Q2_n2, Q2_n1},
- Q2_0,
- {Q2_p1, Q2_p2, Q2_p3, Q2_p4, Q2_p5, Q2_p6},
- {Q2_p7, Q2_p8, Q2_p9, Q2_p10, Q2_p11, Q2_p12, Q2_p13},
- {Q2_p14, Q2_p15, Q2_p16, Q2_p17, Q2_p18, Q2_p19, Q2_p20}}) ->
- {erlang:min(P1c, P2c),
- {queue:join(Q1_n20, Q2_n20), queue:join(Q1_n19, Q2_n19),
- queue:join(Q1_n18, Q2_n18), queue:join(Q1_n17, Q2_n17),
- queue:join(Q1_n16, Q2_n16), queue:join(Q1_n15, Q2_n15),
- queue:join(Q1_n14, Q2_n14)},
- {queue:join(Q1_n13, Q2_n13), queue:join(Q1_n12, Q2_n12),
- queue:join(Q1_n11, Q2_n11), queue:join(Q1_n10, Q2_n10),
- queue:join(Q1_n9, Q2_n9), queue:join(Q1_n8, Q2_n8),
- queue:join(Q1_n7, Q2_n7)},
- {queue:join(Q1_n6, Q2_n6), queue:join(Q1_n5, Q2_n5),
- queue:join(Q1_n4, Q2_n4), queue:join(Q1_n3, Q2_n3),
- queue:join(Q1_n2, Q2_n2), queue:join(Q1_n1, Q2_n1)},
- queue:join(Q1_0, Q2_0),
- {queue:join(Q1_p1, Q2_p1), queue:join(Q1_p2, Q2_p2),
- queue:join(Q1_p3, Q2_p3), queue:join(Q1_p4, Q2_p4),
- queue:join(Q1_p5, Q2_p5), queue:join(Q1_p6, Q2_p6)},
- {queue:join(Q1_p7, Q2_p7), queue:join(Q1_p8, Q2_p8),
- queue:join(Q1_p9, Q2_p9), queue:join(Q1_p10, Q2_p10),
- queue:join(Q1_p11, Q2_p11), queue:join(Q1_p12, Q2_p12),
- queue:join(Q1_p13, Q2_p13)},
- {queue:join(Q1_p14, Q2_p14), queue:join(Q1_p15, Q2_p15),
- queue:join(Q1_p16, Q2_p16), queue:join(Q1_p17, Q2_p17),
- queue:join(Q1_p18, Q2_p18), queue:join(Q1_p19, Q2_p19),
- queue:join(Q1_p20, Q2_p20)}}.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Determine the length of a priority queue.===
-%% O(N)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec len(pqueue()) -> non_neg_integer().
-
-len({_,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}) ->
- queue:len(Qn20) + queue:len(Qn19) + queue:len(Qn18) + queue:len(Qn17) +
- queue:len(Qn16) + queue:len(Qn15) + queue:len(Qn14) +
- queue:len(Qn13) + queue:len(Qn12) + queue:len(Qn11) + queue:len(Qn10) +
- queue:len(Qn9) + queue:len(Qn8) + queue:len(Qn7) +
- queue:len(Qn6) + queue:len(Qn5) + queue:len(Qn4) + queue:len(Qn3) +
- queue:len(Qn2) + queue:len(Qn1) +
- queue:len(Q0) +
- queue:len(Qp1) + queue:len(Qp2) + queue:len(Qp3) + queue:len(Qp4) +
- queue:len(Qp5) + queue:len(Qp6) +
- queue:len(Qp7) + queue:len(Qp8) + queue:len(Qp9) + queue:len(Qp10) +
- queue:len(Qp11) + queue:len(Qp12) + queue:len(Qp13) +
- queue:len(Qp14) + queue:len(Qp15) + queue:len(Qp16) + queue:len(Qp17) +
- queue:len(Qp18) + queue:len(Qp19) + queue:len(Qp20).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Create a new priority queue.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec new() -> pqueue().
-
-new() ->
- {empty, % current priority
- erlang:make_tuple(7, queue:new()), % priority [-20..-14]
- erlang:make_tuple(7, queue:new()), % priority [-13.. -7]
- erlang:make_tuple(6, queue:new()), % priority [ -6.. -1]
- queue:new(), % priority 0 (default)
- erlang:make_tuple(6, queue:new()), % priority [ 1.. 6]
- erlang:make_tuple(7, queue:new()), % priority [ 7.. 13]
- erlang:make_tuple(7, queue:new())}. % priority [ 14.. 20]
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Take an item from the head of the priority queue.===
-%% O(1) amortized, O(N) worst case
-%% @end
-%%-------------------------------------------------------------------------
-
--spec out(pqueue()) ->
- {{'value', term()}, pqueue()} | {'empty', pqueue()}.
-
-out({empty, _, _, _, _, _, _, _} = Q) ->
- {empty, Q};
-out({Pc, _, _, _, _, _, _, _} = Q) ->
- out_current(Pc, Q, nopriority).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Take an item of a specific priority from the head of the queue.===
-%% O(1) amortized, O(N) worst case
-%% @end
-%%-------------------------------------------------------------------------
-
--spec out(integer(), pqueue()) ->
- {{'value', term()}, pqueue()} | {'empty', pqueue()}.
-
-out(P, _)
- when P < -20; P > 20 ->
- erlang:exit(badarg);
-out(_, {empty, _, _, _, _, _, _, _} = Q) ->
- {empty, Q};
-out(P, Q) ->
- out_specific(P, Q).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Take an item from the head of the priority queue.===
-%% Includes the priority in the return value.
-%% O(1) amortized, O(N) worst case
-%% @end
-%%-------------------------------------------------------------------------
-
--spec pout(pqueue()) ->
- {{'value', term(), integer()}, pqueue()} | {'empty', pqueue()}.
-
-pout({empty, _, _, _, _, _, _, _} = Q) ->
- {empty, Q};
-pout({Pc, _, _, _, _, _, _, _} = Q) ->
- out_current(Pc, Q, priority).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Convert the priority queue to a list.===
-%% O(N)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec to_list(pqueue()) -> list(term()).
-
-to_list({_,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}) ->
- queue:to_list(Qn20) ++ queue:to_list(Qn19) ++ queue:to_list(Qn18) ++
- queue:to_list(Qn17) ++ queue:to_list(Qn16) ++ queue:to_list(Qn15) ++
- queue:to_list(Qn14) ++
- queue:to_list(Qn13) ++ queue:to_list(Qn12) ++ queue:to_list(Qn11) ++
- queue:to_list(Qn10) ++ queue:to_list(Qn9) ++ queue:to_list(Qn8) ++
- queue:to_list(Qn7) ++
- queue:to_list(Qn6) ++ queue:to_list(Qn5) ++ queue:to_list(Qn4) ++
- queue:to_list(Qn3) ++ queue:to_list(Qn2) ++ queue:to_list(Qn1) ++
- queue:to_list(Q0) ++
- queue:to_list(Qp1) ++ queue:to_list(Qp2) ++ queue:to_list(Qp3) ++
- queue:to_list(Qp4) ++ queue:to_list(Qp5) ++ queue:to_list(Qp6) ++
- queue:to_list(Qp7) ++ queue:to_list(Qp8) ++ queue:to_list(Qp9) ++
- queue:to_list(Qp10) ++ queue:to_list(Qp11) ++ queue:to_list(Qp12) ++
- queue:to_list(Qp13) ++
- queue:to_list(Qp14) ++ queue:to_list(Qp15) ++ queue:to_list(Qp16) ++
- queue:to_list(Qp17) ++ queue:to_list(Qp18) ++ queue:to_list(Qp19) ++
- queue:to_list(Qp20).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Regression test.===
-%% @end
-%%-------------------------------------------------------------------------
-
-test() ->
- Q0 = pqueue:new(),
- true = pqueue:is_queue(Q0),
- Q1 = pqueue:in(20, 20, Q0),
- Q2 = pqueue:in(19, 19, Q1),
- Q3 = pqueue:in(18, 18, Q2),
- Q4 = pqueue:in(17, 17, Q3),
- Q5 = pqueue:in(16, 16, Q4),
- Q6 = pqueue:in(15, 15, Q5),
- Q7 = pqueue:in(14, 14, Q6),
- Q8 = pqueue:in(13, 13, Q7),
- Q9 = pqueue:in(12, 12, Q8),
- Q10 = pqueue:in(11, 11, Q9),
- Q11 = pqueue:in(10, 10, Q10),
- Q12 = pqueue:in(9, 9, Q11),
- Q13 = pqueue:in(8, 8, Q12),
- Q14 = pqueue:in(7, 7, Q13),
- Q15 = pqueue:in(6, 6, Q14),
- Q16 = pqueue:in(5, 5, Q15),
- Q17 = pqueue:in(4, 4, Q16),
- Q18 = pqueue:in(3, 3, Q17),
- Q19 = pqueue:in(2, 2, Q18),
- Q20 = pqueue:in(1, 1, Q19),
- Q21 = pqueue:in(0, 0, Q20),
- Q22 = pqueue:in(-1, -1, Q21),
- Q23 = pqueue:in(-2, -2, Q22),
- Q24 = pqueue:in(-3, -3, Q23),
- Q25 = pqueue:in(-4, -4, Q24),
- Q26 = pqueue:in(-5, -5, Q25),
- Q27 = pqueue:in(-6, -6, Q26),
- Q28 = pqueue:in(-7, -7, Q27),
- Q29 = pqueue:in(-8, -8, Q28),
- Q30 = pqueue:in(-9, -9, Q29),
- Q31 = pqueue:in(-10, -10, Q30),
- Q32 = pqueue:in(-11, -11, Q31),
- Q33 = pqueue:in(-12, -12, Q32),
- Q34 = pqueue:in(-13, -13, Q33),
- Q35 = pqueue:in(-14, -14, Q34),
- Q36 = pqueue:in(-15, -15, Q35),
- Q37 = pqueue:in(-16, -16, Q36),
- Q38 = pqueue:in(-17, -17, Q37),
- Q39 = pqueue:in(-18, -18, Q38),
- Q40 = pqueue:in(-19, -19, Q39),
- Q41 = pqueue:in(-20, -20, Q40),
- Q42 = pqueue:in(-20, -20, Q41),
- Q43 = pqueue:in(-19, -19, Q42),
- Q44 = pqueue:in(-18, -18, Q43),
- Q45 = pqueue:in(-17, -17, Q44),
- Q46 = pqueue:in(-16, -16, Q45),
- Q47 = pqueue:in(-15, -15, Q46),
- Q48 = pqueue:in(-14, -14, Q47),
- Q49 = pqueue:in(-13, -13, Q48),
- Q50 = pqueue:in(-12, -12, Q49),
- Q51 = pqueue:in(-11, -11, Q50),
- Q52 = pqueue:in(-10, -10, Q51),
- Q53 = pqueue:in(-9, -9, Q52),
- Q54 = pqueue:in(-8, -8, Q53),
- Q55 = pqueue:in(-7, -7, Q54),
- Q56 = pqueue:in(-6, -6, Q55),
- Q57 = pqueue:in(-5, -5, Q56),
- Q58 = pqueue:in(-4, -4, Q57),
- Q59 = pqueue:in(-3, -3, Q58),
- Q60 = pqueue:in(-2, -2, Q59),
- Q61 = pqueue:in(-1, -1, Q60),
- Q62 = pqueue:in(0, 0, Q61),
- Q63 = pqueue:in(1, 1, Q62),
- Q64 = pqueue:in(2, 2, Q63),
- Q65 = pqueue:in(3, 3, Q64),
- Q66 = pqueue:in(4, 4, Q65),
- Q67 = pqueue:in(5, 5, Q66),
- Q68 = pqueue:in(6, 6, Q67),
- Q69 = pqueue:in(7, 7, Q68),
- Q70 = pqueue:in(8, 8, Q69),
- Q71 = pqueue:in(9, 9, Q70),
- Q72 = pqueue:in(10, 10, Q71),
- Q73 = pqueue:in(11, 11, Q72),
- Q74 = pqueue:in(12, 12, Q73),
- Q75 = pqueue:in(13, 13, Q74),
- Q76 = pqueue:in(14, 14, Q75),
- Q77 = pqueue:in(15, 15, Q76),
- Q78 = pqueue:in(16, 16, Q77),
- Q79 = pqueue:in(17, 17, Q78),
- Q80 = pqueue:in(18, 18, Q79),
- Q81 = pqueue:in(19, 19, Q80),
- Q82 = pqueue:in(20, 20, Q81),
- true = pqueue:is_queue(Q82),
- 82 = pqueue:len(Q82),
- [-20, -20, -19, -19, -18, -18, -17, -17, -16, -16, -15, -15, -14, -14,
- -13, -13, -12, -12, -11, -11, -10, -10, -9, -9, -8, -8, -7, -7, -6, -6,
- -5, -5, -4, -4, -3, -3, -2, -2, -1, -1, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4,
- 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14,
- 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20] = pqueue:to_list(Q82),
- {{value, -20}, Q83} = pqueue:out(Q82),
- {{value, -20}, Q84} = pqueue:out(Q83),
- {{value, -19}, Q85} = pqueue:out(Q84),
- {{value, -19}, Q86} = pqueue:out(Q85),
- {{value, -18}, Q87} = pqueue:out(Q86),
- {{value, -18}, Q88} = pqueue:out(Q87),
- {{value, 0}, Q89} = pqueue:out(0, Q88),
- {{value, 0}, Q90} = pqueue:out(0, Q89),
- {empty, _} = pqueue:out(0, Q90),
- {{value, -17, -17}, Q91} = pqueue:pout(Q90),
- {{value, -17, -17}, Q92} = pqueue:pout(Q91),
- {{value, -16, -16}, Q93} = pqueue:pout(Q92),
- {{value, -16, -16}, Q94} = pqueue:pout(Q93),
- {{value, -15, -15}, Q95} = pqueue:pout(Q94),
- {{value, -15, -15}, Q96} = pqueue:pout(Q95),
- {{value, -14, -14}, Q97} = pqueue:pout(Q96),
- {{value, -14, -14}, Q98} = pqueue:pout(Q97),
- {{value, -13, -13}, Q99} = pqueue:pout(Q98),
- {{value, -13, -13}, Q100} = pqueue:pout(Q99),
- {{value, -12, -12}, Q101} = pqueue:pout(Q100),
- {{value, -12, -12}, Q102} = pqueue:pout(Q101),
- {{value, -11, -11}, Q103} = pqueue:pout(Q102),
- {{value, -11, -11}, Q104} = pqueue:pout(Q103),
- {{value, -10, -10}, Q105} = pqueue:pout(Q104),
- {{value, -10, -10}, Q106} = pqueue:pout(Q105),
- {{value, -9, -9}, Q107} = pqueue:pout(Q106),
- {{value, -9, -9}, Q108} = pqueue:pout(Q107),
- {{value, -8, -8}, Q109} = pqueue:pout(Q108),
- {{value, -8, -8}, Q110} = pqueue:pout(Q109),
- {{value, -7, -7}, Q111} = pqueue:pout(Q110),
- {{value, -7, -7}, Q112} = pqueue:pout(Q111),
- {{value, -6, -6}, Q113} = pqueue:pout(Q112),
- {{value, -6, -6}, Q114} = pqueue:pout(Q113),
- {{value, -5, -5}, Q115} = pqueue:pout(Q114),
- {{value, -5, -5}, Q116} = pqueue:pout(Q115),
- {{value, -4, -4}, Q117} = pqueue:pout(Q116),
- {{value, -4, -4}, Q118} = pqueue:pout(Q117),
- {{value, -3, -3}, Q119} = pqueue:pout(Q118),
- {{value, -3, -3}, Q120} = pqueue:pout(Q119),
- {{value, -2, -2}, Q121} = pqueue:pout(Q120),
- {{value, -2, -2}, Q122} = pqueue:pout(Q121),
- {{value, -1, -1}, Q123} = pqueue:pout(Q122),
- {{value, -1, -1}, Q124} = pqueue:pout(Q123),
- {{value, 1, 1}, Q125} = pqueue:pout(Q124),
- {{value, 1, 1}, Q126} = pqueue:pout(Q125),
- {{value, 2, 2}, Q127} = pqueue:pout(Q126),
- {{value, 2, 2}, Q128} = pqueue:pout(Q127),
- {{value, 3, 3}, Q129} = pqueue:pout(Q128),
- {{value, 3, 3}, Q130} = pqueue:pout(Q129),
- {{value, 4, 4}, Q131} = pqueue:pout(Q130),
- {{value, 4, 4}, Q132} = pqueue:pout(Q131),
- {{value, 5, 5}, Q133} = pqueue:pout(Q132),
- {{value, 5, 5}, Q134} = pqueue:pout(Q133),
- {{value, 6, 6}, Q135} = pqueue:pout(Q134),
- {{value, 6, 6}, Q136} = pqueue:pout(Q135),
- {{value, 7, 7}, Q137} = pqueue:pout(Q136),
- {{value, 7, 7}, Q138} = pqueue:pout(Q137),
- {{value, 8, 8}, Q139} = pqueue:pout(Q138),
- {{value, 8, 8}, Q140} = pqueue:pout(Q139),
- {{value, 9, 9}, Q141} = pqueue:pout(Q140),
- {{value, 9, 9}, Q142} = pqueue:pout(Q141),
- {{value, 10, 10}, Q143} = pqueue:pout(Q142),
- {{value, 10, 10}, Q144} = pqueue:pout(Q143),
- {{value, 11, 11}, Q145} = pqueue:pout(Q144),
- {{value, 11, 11}, Q146} = pqueue:pout(Q145),
- {{value, 12, 12}, Q147} = pqueue:pout(Q146),
- {{value, 12, 12}, Q148} = pqueue:pout(Q147),
- {{value, 13, 13}, Q149} = pqueue:pout(Q148),
- {{value, 13, 13}, Q150} = pqueue:pout(Q149),
- {{value, 14, 14}, Q151} = pqueue:pout(Q150),
- {{value, 14, 14}, Q152} = pqueue:pout(Q151),
- {{value, 15, 15}, Q153} = pqueue:pout(Q152),
- {{value, 15, 15}, Q154} = pqueue:pout(Q153),
- {{value, 16, 16}, Q155} = pqueue:pout(Q154),
- {{value, 16, 16}, Q156} = pqueue:pout(Q155),
- {{value, 17, 17}, Q157} = pqueue:pout(Q156),
- {{value, 17, 17}, Q158} = pqueue:pout(Q157),
- {{value, 18, 18}, Q159} = pqueue:pout(Q158),
- {{value, 18, 18}, Q160} = pqueue:pout(Q159),
- {{value, 19, 19}, Q161} = pqueue:pout(Q160),
- {{value, 19, 19}, Q162} = pqueue:pout(Q161),
- {{value, 20, 20}, Q163} = pqueue:pout(Q162),
- {{value, 20, 20}, Q164} = pqueue:pout(Q163),
- true = pqueue:is_empty(Q164),
- {empty, Q165} = pqueue:pout(Q164),
- true = pqueue:is_empty(Q165),
- ok.
-
-%%%------------------------------------------------------------------------
-%%% Private functions
-%%%------------------------------------------------------------------------
-
-in_higher(-20, {_,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-20,
- {queue:in(X, Qn20), Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-19, {_,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-19,
- {Qn20, queue:in(X, Qn19), Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-18, {_,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-18,
- {Qn20, Qn19, queue:in(X, Qn18), Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-17, {_,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-17,
- {Qn20, Qn19, Qn18, queue:in(X, Qn17), Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-16, {_,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-16,
- {Qn20, Qn19, Qn18, Qn17, queue:in(X, Qn16), Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-15, {_,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-15,
- {Qn20, Qn19, Qn18, Qn17, Qn16, queue:in(X, Qn15), Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-14, {_,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-14,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, queue:in(X, Qn14)},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-13, {_, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-13, Qsn14,
- {queue:in(X, Qn13), Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-12, {_, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-12, Qsn14,
- {Qn13, queue:in(X, Qn12), Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-11, {_, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-11, Qsn14,
- {Qn13, Qn12, queue:in(X, Qn11), Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-10, {_, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-10, Qsn14,
- {Qn13, Qn12, Qn11, queue:in(X, Qn10), Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-9, {_, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-9, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, queue:in(X, Qn9), Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-8, {_, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-8, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, queue:in(X, Qn8), Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-7, {_, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-7, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, queue:in(X, Qn7)},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-6, {_, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-6, Qsn14, Qsn7,
- {queue:in(X, Qn6), Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-5, {_, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-5, Qsn14, Qsn7,
- {Qn6, queue:in(X, Qn5), Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-4, {_, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-4, Qsn14, Qsn7,
- {Qn6, Qn5, queue:in(X, Qn4), Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-3, {_, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-3, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, queue:in(X, Qn3), Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-2, {_, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-2, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, queue:in(X, Qn2), Qn1},
- Q0, Qsp1, Qsp7, Qsp14};
-in_higher(-1, {_, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {-1, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, queue:in(X, Qn1)},
- Q0, Qsp1, Qsp7, Qsp14};
-in_higher(0, {_, Qsn14, Qsn7, Qsn1,
- Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {0, Qsn14, Qsn7, Qsn1,
- queue:in(X, Q0),
- Qsp1, Qsp7, Qsp14};
-in_higher(1, {_, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}, X) ->
- {1, Qsn14, Qsn7, Qsn1, Q0,
- {queue:in(X, Qp1), Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14};
-in_higher(2, {_, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}, X) ->
- {2, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, queue:in(X, Qp2), Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14};
-in_higher(3, {_, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}, X) ->
- {3, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, queue:in(X, Qp3), Qp4, Qp5, Qp6},
- Qsp7, Qsp14};
-in_higher(4, {_, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}, X) ->
- {4, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, queue:in(X, Qp4), Qp5, Qp6},
- Qsp7, Qsp14};
-in_higher(5, {_, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}, X) ->
- {5, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, queue:in(X, Qp5), Qp6},
- Qsp7, Qsp14};
-in_higher(6, {_, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}, X) ->
- {6, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, queue:in(X, Qp6)},
- Qsp7, Qsp14};
-in_higher(7, {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}, X) ->
- {7, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {queue:in(X, Qp7), Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14};
-in_higher(8, {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}, X) ->
- {8, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, queue:in(X, Qp8), Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14};
-in_higher(9, {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}, X) ->
- {9, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, queue:in(X, Qp9), Qp10, Qp11, Qp12, Qp13},
- Qsp14};
-in_higher(10, {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}, X) ->
- {10, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, queue:in(X, Qp10), Qp11, Qp12, Qp13},
- Qsp14};
-in_higher(11, {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}, X) ->
- {11, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, queue:in(X, Qp11), Qp12, Qp13},
- Qsp14};
-in_higher(12, {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}, X) ->
- {12, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, queue:in(X, Qp12), Qp13},
- Qsp14};
-in_higher(13, {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}, X) ->
- {13, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, queue:in(X, Qp13)},
- Qsp14};
-in_higher(14, {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}, X) ->
- {14, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {queue:in(X, Qp14), Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}};
-in_higher(15, {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}, X) ->
- {15, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, queue:in(X, Qp15), Qp16, Qp17, Qp18, Qp19, Qp20}};
-in_higher(16, {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}, X) ->
- {16, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, queue:in(X, Qp16), Qp17, Qp18, Qp19, Qp20}};
-in_higher(17, {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}, X) ->
- {17, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, queue:in(X, Qp17), Qp18, Qp19, Qp20}};
-in_higher(18, {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}, X) ->
- {18, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, queue:in(X, Qp18), Qp19, Qp20}};
-in_higher(19, {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}, X) ->
- {19, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, queue:in(X, Qp19), Qp20}};
-in_higher(20, {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}, X) ->
- {20, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, queue:in(X, Qp20)}}.
-
-in_lower(-20, {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc,
- {queue:in(X, Qn20), Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-19, {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc,
- {Qn20, queue:in(X, Qn19), Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-18, {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc,
- {Qn20, Qn19, queue:in(X, Qn18), Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-17, {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc,
- {Qn20, Qn19, Qn18, queue:in(X, Qn17), Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-16, {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc,
- {Qn20, Qn19, Qn18, Qn17, queue:in(X, Qn16), Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-15, {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, queue:in(X, Qn15), Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-14, {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, queue:in(X, Qn14)},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-13, {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc, Qsn14,
- {queue:in(X, Qn13), Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-12, {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc, Qsn14,
- {Qn13, queue:in(X, Qn12), Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-11, {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc, Qsn14,
- {Qn13, Qn12, queue:in(X, Qn11), Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-10, {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, queue:in(X, Qn10), Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-9, {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, queue:in(X, Qn9), Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-8, {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, queue:in(X, Qn8), Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-7, {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, queue:in(X, Qn7)},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-6, {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc, Qsn14, Qsn7,
- {queue:in(X, Qn6), Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-5, {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc, Qsn14, Qsn7,
- {Qn6, queue:in(X, Qn5), Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-4, {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, queue:in(X, Qn4), Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-3, {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, queue:in(X, Qn3), Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-2, {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, queue:in(X, Qn2), Qn1},
- Q0, Qsp1, Qsp7, Qsp14};
-in_lower(-1, {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, queue:in(X, Qn1)},
- Q0, Qsp1, Qsp7, Qsp14};
-in_lower(0, {Pc, Qsn14, Qsn7, Qsn1,
- Q0, Qsp1, Qsp7, Qsp14}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1,
- queue:in(X, Q0),
- Qsp1, Qsp7, Qsp14};
-in_lower(1, {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {queue:in(X, Qp1), Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14};
-in_lower(2, {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, queue:in(X, Qp2), Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14};
-in_lower(3, {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, queue:in(X, Qp3), Qp4, Qp5, Qp6},
- Qsp7, Qsp14};
-in_lower(4, {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, queue:in(X, Qp4), Qp5, Qp6},
- Qsp7, Qsp14};
-in_lower(5, {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, queue:in(X, Qp5), Qp6},
- Qsp7, Qsp14};
-in_lower(6, {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, queue:in(X, Qp6)},
- Qsp7, Qsp14};
-in_lower(7, {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {queue:in(X, Qp7), Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14};
-in_lower(8, {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, queue:in(X, Qp8), Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14};
-in_lower(9, {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, queue:in(X, Qp9), Qp10, Qp11, Qp12, Qp13},
- Qsp14};
-in_lower(10, {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, queue:in(X, Qp10), Qp11, Qp12, Qp13},
- Qsp14};
-in_lower(11, {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, queue:in(X, Qp11), Qp12, Qp13},
- Qsp14};
-in_lower(12, {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, queue:in(X, Qp12), Qp13},
- Qsp14};
-in_lower(13, {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, queue:in(X, Qp13)},
- Qsp14};
-in_lower(14, {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {queue:in(X, Qp14), Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}};
-in_lower(15, {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, queue:in(X, Qp15), Qp16, Qp17, Qp18, Qp19, Qp20}};
-in_lower(16, {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, queue:in(X, Qp16), Qp17, Qp18, Qp19, Qp20}};
-in_lower(17, {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, queue:in(X, Qp17), Qp18, Qp19, Qp20}};
-in_lower(18, {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, queue:in(X, Qp18), Qp19, Qp20}};
-in_lower(19, {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, queue:in(X, Qp19), Qp20}};
-in_lower(20, {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}, X) ->
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, queue:in(X, Qp20)}}.
-
-out_current(-20,
- {_, {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn20} = queue:out(Qn20),
- if
- Value =:= empty ->
- out_current(-19, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -20};
- true ->
- Value
- end,
- {NewValue,
- {-20,
- {NewQn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-19,
- {_, {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn19} = queue:out(Qn19),
- if
- Value =:= empty ->
- out_current(-18, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -19};
- true ->
- Value
- end,
- {NewValue,
- {-19,
- {Qn20, NewQn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-18,
- {_, {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn18} = queue:out(Qn18),
- if
- Value =:= empty ->
- out_current(-17, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -18};
- true ->
- Value
- end,
- {NewValue,
- {-18,
- {Qn20, Qn19, NewQn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-17,
- {_, {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn17} = queue:out(Qn17),
- if
- Value =:= empty ->
- out_current(-16, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -17};
- true ->
- Value
- end,
- {NewValue,
- {-17,
- {Qn20, Qn19, Qn18, NewQn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-16,
- {_, {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn16} = queue:out(Qn16),
- if
- Value =:= empty ->
- out_current(-15, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -16};
- true ->
- Value
- end,
- {NewValue,
- {-16,
- {Qn20, Qn19, Qn18, Qn17, NewQn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-15,
- {_, {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn15} = queue:out(Qn15),
- if
- Value =:= empty ->
- out_current(-14, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -15};
- true ->
- Value
- end,
- {NewValue,
- {-15,
- {Qn20, Qn19, Qn18, Qn17, Qn16, NewQn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-14,
- {_, {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn14} = queue:out(Qn14),
- if
- Value =:= empty ->
- out_current(-13, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -14};
- true ->
- Value
- end,
- {NewValue,
- {-14,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, NewQn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-13,
- {_, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn13} = queue:out(Qn13),
- if
- Value =:= empty ->
- out_current(-12, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -13};
- true ->
- Value
- end,
- {NewValue,
- {-13, Qsn14,
- {NewQn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-12,
- {_, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn12} = queue:out(Qn12),
- if
- Value =:= empty ->
- out_current(-11, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -12};
- true ->
- Value
- end,
- {NewValue,
- {-12, Qsn14,
- {Qn13, NewQn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-11,
- {_, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn11} = queue:out(Qn11),
- if
- Value =:= empty ->
- out_current(-10, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -11};
- true ->
- Value
- end,
- {NewValue,
- {-11, Qsn14,
- {Qn13, Qn12, NewQn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-10,
- {_, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn10} = queue:out(Qn10),
- if
- Value =:= empty ->
- out_current(-9, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -10};
- true ->
- Value
- end,
- {NewValue,
- {-10, Qsn14,
- {Qn13, Qn12, Qn11, NewQn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-9,
- {_, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn9} = queue:out(Qn9),
- if
- Value =:= empty ->
- out_current(-8, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -9};
- true ->
- Value
- end,
- {NewValue,
- {-9, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, NewQn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-8,
- {_, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn8} = queue:out(Qn8),
- if
- Value =:= empty ->
- out_current(-7, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -8};
- true ->
- Value
- end,
- {NewValue,
- {-8, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, NewQn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-7,
- {_, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn7} = queue:out(Qn7),
- if
- Value =:= empty ->
- out_current(-6, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -7};
- true ->
- Value
- end,
- {NewValue,
- {-7, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, NewQn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-6,
- {_, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn6} = queue:out(Qn6),
- if
- Value =:= empty ->
- out_current(-5, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -6};
- true ->
- Value
- end,
- {NewValue,
- {-6, Qsn14, Qsn7,
- {NewQn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-5,
- {_, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn5} = queue:out(Qn5),
- if
- Value =:= empty ->
- out_current(-4, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -5};
- true ->
- Value
- end,
- {NewValue,
- {-5, Qsn14, Qsn7,
- {Qn6, NewQn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-4,
- {_, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn4} = queue:out(Qn4),
- if
- Value =:= empty ->
- out_current(-3, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -4};
- true ->
- Value
- end,
- {NewValue,
- {-4, Qsn14, Qsn7,
- {Qn6, Qn5, NewQn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-3,
- {_, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn3} = queue:out(Qn3),
- if
- Value =:= empty ->
- out_current(-2, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -3};
- true ->
- Value
- end,
- {NewValue,
- {-3, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, NewQn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-2,
- {_, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn2} = queue:out(Qn2),
- if
- Value =:= empty ->
- out_current(-1, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -2};
- true ->
- Value
- end,
- {NewValue,
- {-2, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, NewQn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(-1,
- {_, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQn1} = queue:out(Qn1),
- if
- Value =:= empty ->
- out_current(0, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, -1};
- true ->
- Value
- end,
- {NewValue,
- {-1, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, NewQn1},
- Q0, Qsp1, Qsp7, Qsp14}}
- end;
-out_current(0,
- {_, Qsn14, Qsn7, Qsn1,
- Q0, Qsp1, Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQ0} = queue:out(Q0),
- if
- Value =:= empty ->
- out_current(1, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 0};
- true ->
- Value
- end,
- {NewValue,
- {0, Qsn14, Qsn7, Qsn1,
- NewQ0,
- Qsp1, Qsp7, Qsp14}}
- end;
-out_current(1,
- {_, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQp1} = queue:out(Qp1),
- if
- Value =:= empty ->
- out_current(2, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 1};
- true ->
- Value
- end,
- {NewValue,
- {1, Qsn14, Qsn7, Qsn1, Q0,
- {NewQp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}}
- end;
-out_current(2,
- {_, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQp2} = queue:out(Qp2),
- if
- Value =:= empty ->
- out_current(3, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 2};
- true ->
- Value
- end,
- {NewValue,
- {2, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, NewQp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}}
- end;
-out_current(3,
- {_, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQp3} = queue:out(Qp3),
- if
- Value =:= empty ->
- out_current(4, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 3};
- true ->
- Value
- end,
- {NewValue,
- {3, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, NewQp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}}
- end;
-out_current(4,
- {_, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQp4} = queue:out(Qp4),
- if
- Value =:= empty ->
- out_current(5, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 4};
- true ->
- Value
- end,
- {NewValue,
- {4, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, NewQp4, Qp5, Qp6},
- Qsp7, Qsp14}}
- end;
-out_current(5,
- {_, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQp5} = queue:out(Qp5),
- if
- Value =:= empty ->
- out_current(6, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 5};
- true ->
- Value
- end,
- {NewValue,
- {5, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, NewQp5, Qp6},
- Qsp7, Qsp14}}
- end;
-out_current(6,
- {_, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14} = Q, ReturnType) ->
- {Value, NewQp6} = queue:out(Qp6),
- if
- Value =:= empty ->
- out_current(7, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 6};
- true ->
- Value
- end,
- {NewValue,
- {6, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, NewQp6},
- Qsp7, Qsp14}}
- end;
-out_current(7,
- {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14} = Q, ReturnType) ->
- {Value, NewQp7} = queue:out(Qp7),
- if
- Value =:= empty ->
- out_current(8, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 7};
- true ->
- Value
- end,
- {NewValue,
- {7, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {NewQp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}}
- end;
-out_current(8,
- {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14} = Q, ReturnType) ->
- {Value, NewQp8} = queue:out(Qp8),
- if
- Value =:= empty ->
- out_current(9, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 8};
- true ->
- Value
- end,
- {NewValue,
- {8, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, NewQp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}}
- end;
-out_current(9,
- {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14} = Q, ReturnType) ->
- {Value, NewQp9} = queue:out(Qp9),
- if
- Value =:= empty ->
- out_current(10, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 9};
- true ->
- Value
- end,
- {NewValue,
- {9, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, NewQp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}}
- end;
-out_current(10,
- {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14} = Q, ReturnType) ->
- {Value, NewQp10} = queue:out(Qp10),
- if
- Value =:= empty ->
- out_current(11, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 10};
- true ->
- Value
- end,
- {NewValue,
- {10, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, NewQp10, Qp11, Qp12, Qp13},
- Qsp14}}
- end;
-out_current(11,
- {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14} = Q, ReturnType) ->
- {Value, NewQp11} = queue:out(Qp11),
- if
- Value =:= empty ->
- out_current(12, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 11};
- true ->
- Value
- end,
- {NewValue,
- {11, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, NewQp11, Qp12, Qp13},
- Qsp14}}
- end;
-out_current(12,
- {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14} = Q, ReturnType) ->
- {Value, NewQp12} = queue:out(Qp12),
- if
- Value =:= empty ->
- out_current(13, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 12};
- true ->
- Value
- end,
- {NewValue,
- {12, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, NewQp12, Qp13},
- Qsp14}}
- end;
-out_current(13,
- {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14} = Q, ReturnType) ->
- {Value, NewQp13} = queue:out(Qp13),
- if
- Value =:= empty ->
- out_current(14, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 13};
- true ->
- Value
- end,
- {NewValue,
- {13, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, NewQp13},
- Qsp14}}
- end;
-out_current(14,
- {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}} = Q, ReturnType) ->
- {Value, NewQp14} = queue:out(Qp14),
- if
- Value =:= empty ->
- out_current(15, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 14};
- true ->
- Value
- end,
- {NewValue,
- {14, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {NewQp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}}
- end;
-out_current(15,
- {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}} = Q, ReturnType) ->
- {Value, NewQp15} = queue:out(Qp15),
- if
- Value =:= empty ->
- out_current(16, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 15};
- true ->
- Value
- end,
- {NewValue,
- {15, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, NewQp15, Qp16, Qp17, Qp18, Qp19, Qp20}}}
- end;
-out_current(16,
- {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}} = Q, ReturnType) ->
- {Value, NewQp16} = queue:out(Qp16),
- if
- Value =:= empty ->
- out_current(17, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 16};
- true ->
- Value
- end,
- {NewValue,
- {16, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, NewQp16, Qp17, Qp18, Qp19, Qp20}}}
- end;
-out_current(17,
- {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}} = Q, ReturnType) ->
- {Value, NewQp17} = queue:out(Qp17),
- if
- Value =:= empty ->
- out_current(18, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 17};
- true ->
- Value
- end,
- {NewValue,
- {17, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, NewQp17, Qp18, Qp19, Qp20}}}
- end;
-out_current(18,
- {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}} = Q, ReturnType) ->
- {Value, NewQp18} = queue:out(Qp18),
- if
- Value =:= empty ->
- out_current(19, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 18};
- true ->
- Value
- end,
- {NewValue,
- {18, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, NewQp18, Qp19, Qp20}}}
- end;
-out_current(19,
- {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}} = Q, ReturnType) ->
- {Value, NewQp19} = queue:out(Qp19),
- if
- Value =:= empty ->
- out_current(20, Q, ReturnType);
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 19};
- true ->
- Value
- end,
- {NewValue,
- {19, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, NewQp19, Qp20}}}
- end;
-out_current(20,
- {_, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20} = Qsp14}, ReturnType) ->
- {Value, NewQp20} = queue:out(Qp20),
- if
- Value =:= empty ->
- {empty, {empty, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
- true ->
- NewValue = if
- ReturnType =:= priority ->
- {value, Contents} = Value,
- {value, Contents, 20};
- true ->
- Value
- end,
- {NewValue,
- {20, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, NewQp20}}}
- end.
-
-out_specific(-20,
- {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn20} = queue:out(Qn20),
- {Value,
- {Pc,
- {NewQn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-19,
- {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn19} = queue:out(Qn19),
- {Value,
- {Pc,
- {Qn20, NewQn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-18,
- {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn18} = queue:out(Qn18),
- {Value,
- {Pc,
- {Qn20, Qn19, NewQn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-17,
- {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn17} = queue:out(Qn17),
- {Value,
- {Pc,
- {Qn20, Qn19, Qn18, NewQn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-16,
- {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn16} = queue:out(Qn16),
- {Value,
- {Pc,
- {Qn20, Qn19, Qn18, Qn17, NewQn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-15,
- {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn15} = queue:out(Qn15),
- {Value,
- {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, NewQn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-14,
- {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, Qn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn14} = queue:out(Qn14),
- {Value,
- {Pc,
- {Qn20, Qn19, Qn18, Qn17, Qn16, Qn15, NewQn14},
- Qsn7, Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-13,
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn13} = queue:out(Qn13),
- {Value,
- {Pc, Qsn14,
- {NewQn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-12,
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn12} = queue:out(Qn12),
- {Value,
- {Pc, Qsn14,
- {Qn13, NewQn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-11,
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn11} = queue:out(Qn11),
- {Value,
- {Pc, Qsn14,
- {Qn13, Qn12, NewQn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-10,
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn10} = queue:out(Qn10),
- {Value,
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, NewQn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-9,
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn9} = queue:out(Qn9),
- {Value,
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, NewQn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-8,
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn8} = queue:out(Qn8),
- {Value,
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, NewQn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-7,
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, Qn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn7} = queue:out(Qn7),
- {Value,
- {Pc, Qsn14,
- {Qn13, Qn12, Qn11, Qn10, Qn9, Qn8, NewQn7},
- Qsn1, Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-6,
- {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn6} = queue:out(Qn6),
- {Value,
- {Pc, Qsn14, Qsn7,
- {NewQn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-5,
- {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn5} = queue:out(Qn5),
- {Value,
- {Pc, Qsn14, Qsn7,
- {Qn6, NewQn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-4,
- {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn4} = queue:out(Qn4),
- {Value,
- {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, NewQn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-3,
- {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn3} = queue:out(Qn3),
- {Value,
- {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, NewQn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-2,
- {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn2} = queue:out(Qn2),
- {Value,
- {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, NewQn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(-1,
- {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQn1} = queue:out(Qn1),
- {Value,
- {Pc, Qsn14, Qsn7,
- {Qn6, Qn5, Qn4, Qn3, Qn2, NewQn1},
- Q0, Qsp1, Qsp7, Qsp14}};
-out_specific(0,
- {Pc, Qsn14, Qsn7, Qsn1,
- Q0, Qsp1, Qsp7, Qsp14}) ->
- {Value, NewQ0} = queue:out(Q0),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1,
- NewQ0,
- Qsp1, Qsp7, Qsp14}};
-out_specific(1,
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}) ->
- {Value, NewQp1} = queue:out(Qp1),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {NewQp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}};
-out_specific(2,
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}) ->
- {Value, NewQp2} = queue:out(Qp2),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, NewQp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}};
-out_specific(3,
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}) ->
- {Value, NewQp3} = queue:out(Qp3),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, NewQp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}};
-out_specific(4,
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}) ->
- {Value, NewQp4} = queue:out(Qp4),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, NewQp4, Qp5, Qp6},
- Qsp7, Qsp14}};
-out_specific(5,
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}) ->
- {Value, NewQp5} = queue:out(Qp5),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, NewQp5, Qp6},
- Qsp7, Qsp14}};
-out_specific(6,
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6},
- Qsp7, Qsp14}) ->
- {Value, NewQp6} = queue:out(Qp6),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, NewQp6},
- Qsp7, Qsp14}};
-out_specific(7,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}) ->
- {Value, NewQp7} = queue:out(Qp7),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {NewQp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}};
-out_specific(8,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}) ->
- {Value, NewQp8} = queue:out(Qp8),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, NewQp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}};
-out_specific(9,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}) ->
- {Value, NewQp9} = queue:out(Qp9),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, NewQp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}};
-out_specific(10,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}) ->
- {Value, NewQp10} = queue:out(Qp10),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, NewQp10, Qp11, Qp12, Qp13},
- Qsp14}};
-out_specific(11,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}) ->
- {Value, NewQp11} = queue:out(Qp11),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, NewQp11, Qp12, Qp13},
- Qsp14}};
-out_specific(12,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}) ->
- {Value, NewQp12} = queue:out(Qp12),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, NewQp12, Qp13},
- Qsp14}};
-out_specific(13,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, Qp13},
- Qsp14}) ->
- {Value, NewQp13} = queue:out(Qp13),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1,
- {Qp7, Qp8, Qp9, Qp10, Qp11, Qp12, NewQp13},
- Qsp14}};
-out_specific(14,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}) ->
- {Value, NewQp14} = queue:out(Qp14),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {NewQp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}};
-out_specific(15,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}) ->
- {Value, NewQp15} = queue:out(Qp15),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, NewQp15, Qp16, Qp17, Qp18, Qp19, Qp20}}};
-out_specific(16,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}) ->
- {Value, NewQp16} = queue:out(Qp16),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, NewQp16, Qp17, Qp18, Qp19, Qp20}}};
-out_specific(17,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}) ->
- {Value, NewQp17} = queue:out(Qp17),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, NewQp17, Qp18, Qp19, Qp20}}};
-out_specific(18,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}) ->
- {Value, NewQp18} = queue:out(Qp18),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, NewQp18, Qp19, Qp20}}};
-out_specific(19,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}) ->
- {Value, NewQp19} = queue:out(Qp19),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, NewQp19, Qp20}}};
-out_specific(20,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, Qp20}}) ->
- {Value, NewQp20} = queue:out(Qp20),
- {Value,
- {Pc, Qsn14, Qsn7, Qsn1, Q0, Qsp1, Qsp7,
- {Qp14, Qp15, Qp16, Qp17, Qp18, Qp19, NewQp20}}}.
-
--ifdef(TEST).
--include_lib("eunit/include/eunit.hrl").
-
--include("pqueue_test.hrl").
-
-module_test_() ->
- {timeout, ?TEST_TIMEOUT, [
- {"internal tests", ?_assertOk(test())}
- ]}.
-
-long_test_() ->
- test_condition([
- {"proper tests", ?_assert(pqueue_proper:qc_pq())}
- ], ?CLOUDI_LONG_TEST_TIMEOUT).
-
--endif.
-
diff --git a/aoc2023/build/packages/pqueue/src/pqueue2.erl b/aoc2023/build/packages/pqueue/src/pqueue2.erl
deleted file mode 100644
index bbdeaaf..0000000
--- a/aoc2023/build/packages/pqueue/src/pqueue2.erl
+++ /dev/null
@@ -1,483 +0,0 @@
-%-*-Mode:erlang;coding:utf-8;tab-width:4;c-basic-offset:4;indent-tabs-mode:()-*-
-% ex: set ft=erlang fenc=utf-8 sts=4 ts=4 sw=4 et nomod:
-%%%
-%%%------------------------------------------------------------------------
-%%% @doc
-%%% ==Skew Heap Priority Queue.==
-%%% Ulf Wiger suggested pursuing a skew heap as an optimal Erlang priority
-%%% queue implementation. Unfortunately, testing has shown this solution to
-%%% be more than 2 times slower than pqueue.
-%%% @end
-%%%
-%%% MIT License
-%%%
-%%% Copyright (c) 2011-2020 Michael Truog <mjtruog at protonmail dot com>
-%%%
-%%% Permission is hereby granted, free of charge, to any person obtaining a
-%%% copy of this software and associated documentation files (the "Software"),
-%%% to deal in the Software without restriction, including without limitation
-%%% the rights to use, copy, modify, merge, publish, distribute, sublicense,
-%%% and/or sell copies of the Software, and to permit persons to whom the
-%%% Software is furnished to do so, subject to the following conditions:
-%%%
-%%% The above copyright notice and this permission notice shall be included in
-%%% all copies or substantial portions of the Software.
-%%%
-%%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-%%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-%%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-%%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-%%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-%%% FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-%%% DEALINGS IN THE SOFTWARE.
-%%%
-%%% @author Michael Truog <mjtruog at protonmail dot com>
-%%% @copyright 2011-2020 Michael Truog
-%%% @version 2.0.1 {@date} {@time}
-%%%------------------------------------------------------------------------
-
--module(pqueue2).
--author('mjtruog at protonmail dot com').
-
-%% external interface
--export([in/2,
- in/3,
- is_empty/1,
- is_queue/1,
- len/1,
- new/0,
- out/1,
- out/2,
- pout/1,
- to_list/1,
- test/0]).
-
-%%%------------------------------------------------------------------------
-%%% External interface functions
-%%%------------------------------------------------------------------------
-
--ifdef(ERLANG_OTP_VERSION_16).
--type pqueue2() ::
- empty |
- {integer(), pqueue2(), pqueue2(), element, term()} |
- {integer(), pqueue2(), pqueue2(), queue, queue()}.
--else.
--type pqueue2() ::
- empty |
- {integer(), pqueue2(), pqueue2(), element, term()} |
- {integer(), pqueue2(), pqueue2(), queue, queue:queue()}.
--endif.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Append an item to the tail of the 0 priority queue.===
-%% @end
-%%-------------------------------------------------------------------------
-
--spec in(term(), pqueue2()) -> pqueue2().
-
-in(Value, H) ->
- in(Value, 0, H).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Append an item to the tail of a specific priority queue.===
-%% @end
-%%-------------------------------------------------------------------------
-
--spec in(term(), integer(), pqueue2()) -> pqueue2().
-
-in(Value, P, H) ->
- merge({P, empty, empty, element, Value}, H).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Check if the priority queue is empty.===
-%% @end
-%%-------------------------------------------------------------------------
-
--spec is_empty(pqueue2()) -> 'true' | 'false'.
-
-is_empty(empty) ->
- true;
-is_empty({_, HL, HR, queue, Queue}) ->
- is_empty(HL) andalso is_empty(HR) andalso queue:is_empty(Queue);
-is_empty(_) ->
- false.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Check if the priority queue type is as expected.===
-%% @end
-%%-------------------------------------------------------------------------
-
--spec is_queue(pqueue2()) -> 'true' | 'false'.
-
-is_queue(empty) ->
- true;
-is_queue({P, _, _, element, _})
- when is_integer(P) ->
- true;
-is_queue({P, _, _, queue, Queue})
- when is_integer(P) ->
- queue:is_queue(Queue);
-is_queue(_) ->
- false.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Determine the length of a priority queue.===
-%% @end
-%%-------------------------------------------------------------------------
-
--spec len(pqueue2()) -> non_neg_integer().
-
-len(H) ->
- len(0, out(H)).
-len(I, {empty, _}) ->
- I;
-len(I, {{value, _}, H}) ->
- len(I + 1, out(H)).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Create a new priority queue.===
-%% @end
-%%-------------------------------------------------------------------------
-
--spec new() -> pqueue2().
-
-new() ->
- empty.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Take an item from the head of the priority queue.===
-%% @end
-%%-------------------------------------------------------------------------
-
--spec out(pqueue2()) ->
- {{'value', term()}, pqueue2()} | {'empty', pqueue2()}.
-
-out(empty) ->
- {empty, empty};
-out({_, HL, HR, element, Value}) ->
- {{value, Value}, merge(HL, HR)};
-out({P, HL, HR, queue, Queue}) ->
- case queue:out(Queue) of
- {{value, _} = Result, NewQueue} ->
- {Result, {P, HL, HR, queue, NewQueue}};
- {empty, _} ->
- out(merge(HL, HR))
- end.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Take an item of a specific priority from the head of the queue.===
-%% @end
-%%-------------------------------------------------------------------------
-
--spec out(integer(), pqueue2()) ->
- {{'value', term()}, pqueue2()} | {'empty', pqueue2()}.
-
-out(_, empty) ->
- {empty, empty};
-out(P, {P1, _, _, _, _} = H) when P < P1 ->
- {empty, H};
-out(P, {P1, HL1, HR1, T, D}) when P > P1 ->
- case out(P, HL1) of
- {{value, _} = Result, HL2} ->
- {Result, {P1, HL2, HR1, T, D}};
- {empty, HL2} ->
- case out(P, HR1) of
- {{value, _} = Result, HR2} ->
- {Result, {P1, HL2, HR2, T, D}};
- {empty, HR2} ->
- {empty, {P1, HL2, HR2, T, D}}
- end
- end;
-out(P, {P, HL, HR, element, Value}) ->
- {{value, Value}, merge(HL, HR)};
-out(P, {P, HL, HR, queue, Queue}) ->
- case queue:out(Queue) of
- {{value, _} = Result, NewQueue} ->
- {Result, {P, HL, HR, queue, NewQueue}};
- {empty, _} ->
- out(P, merge(HL, HR))
- end.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Take an item from the head of the priority queue.===
-%% Includes the priority in the return value.
-%% @end
-%%-------------------------------------------------------------------------
-
--spec pout(pqueue2()) ->
- {{'value', term(), integer()}, pqueue2()} | {'empty', pqueue2()}.
-
-pout(empty) ->
- {empty, empty};
-pout({P, HL, HR, element, Value}) ->
- {{value, Value, P}, merge(HL, HR)};
-pout({P, HL, HR, queue, Queue}) ->
- case queue:out(Queue) of
- {{value, Value}, NewQueue} ->
- {{value, Value, P}, {P, HL, HR, queue, NewQueue}};
- {empty, _} ->
- pout(merge(HL, HR))
- end.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Convert the priority queue to a list.===
-%% @end
-%%-------------------------------------------------------------------------
-
--spec to_list(pqueue2()) -> list(term()).
-
-to_list(H) ->
- to_list([], out(H)).
-to_list(L, {empty, _}) ->
- lists:reverse(L);
-to_list(L, {{value, Value}, H}) ->
- to_list([Value | L], out(H)).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Regression test.===
-%% @end
-%%-------------------------------------------------------------------------
-
-test() ->
- Q0 = pqueue2:new(),
- true = pqueue2:is_queue(Q0),
- Q1 = pqueue2:in(20, 20, Q0),
- Q2 = pqueue2:in(19, 19, Q1),
- Q3 = pqueue2:in(18, 18, Q2),
- Q4 = pqueue2:in(17, 17, Q3),
- Q5 = pqueue2:in(16, 16, Q4),
- Q6 = pqueue2:in(15, 15, Q5),
- Q7 = pqueue2:in(14, 14, Q6),
- Q8 = pqueue2:in(13, 13, Q7),
- Q9 = pqueue2:in(12, 12, Q8),
- Q10 = pqueue2:in(11, 11, Q9),
- Q11 = pqueue2:in(10, 10, Q10),
- Q12 = pqueue2:in(9, 9, Q11),
- Q13 = pqueue2:in(8, 8, Q12),
- Q14 = pqueue2:in(7, 7, Q13),
- Q15 = pqueue2:in(6, 6, Q14),
- Q16 = pqueue2:in(5, 5, Q15),
- Q17 = pqueue2:in(4, 4, Q16),
- Q18 = pqueue2:in(3, 3, Q17),
- Q19 = pqueue2:in(2, 2, Q18),
- Q20 = pqueue2:in(1, 1, Q19),
- Q21 = pqueue2:in(0, 0, Q20),
- Q22 = pqueue2:in(-1, -1, Q21),
- Q23 = pqueue2:in(-2, -2, Q22),
- Q24 = pqueue2:in(-3, -3, Q23),
- Q25 = pqueue2:in(-4, -4, Q24),
- Q26 = pqueue2:in(-5, -5, Q25),
- Q27 = pqueue2:in(-6, -6, Q26),
- Q28 = pqueue2:in(-7, -7, Q27),
- Q29 = pqueue2:in(-8, -8, Q28),
- Q30 = pqueue2:in(-9, -9, Q29),
- Q31 = pqueue2:in(-10, -10, Q30),
- Q32 = pqueue2:in(-11, -11, Q31),
- Q33 = pqueue2:in(-12, -12, Q32),
- Q34 = pqueue2:in(-13, -13, Q33),
- Q35 = pqueue2:in(-14, -14, Q34),
- Q36 = pqueue2:in(-15, -15, Q35),
- Q37 = pqueue2:in(-16, -16, Q36),
- Q38 = pqueue2:in(-17, -17, Q37),
- Q39 = pqueue2:in(-18, -18, Q38),
- Q40 = pqueue2:in(-19, -19, Q39),
- Q41 = pqueue2:in(-20, -20, Q40),
- Q42 = pqueue2:in(-20, -20, Q41),
- Q43 = pqueue2:in(-19, -19, Q42),
- Q44 = pqueue2:in(-18, -18, Q43),
- Q45 = pqueue2:in(-17, -17, Q44),
- Q46 = pqueue2:in(-16, -16, Q45),
- Q47 = pqueue2:in(-15, -15, Q46),
- Q48 = pqueue2:in(-14, -14, Q47),
- Q49 = pqueue2:in(-13, -13, Q48),
- Q50 = pqueue2:in(-12, -12, Q49),
- Q51 = pqueue2:in(-11, -11, Q50),
- Q52 = pqueue2:in(-10, -10, Q51),
- Q53 = pqueue2:in(-9, -9, Q52),
- Q54 = pqueue2:in(-8, -8, Q53),
- Q55 = pqueue2:in(-7, -7, Q54),
- Q56 = pqueue2:in(-6, -6, Q55),
- Q57 = pqueue2:in(-5, -5, Q56),
- Q58 = pqueue2:in(-4, -4, Q57),
- Q59 = pqueue2:in(-3, -3, Q58),
- Q60 = pqueue2:in(-2, -2, Q59),
- Q61 = pqueue2:in(-1, -1, Q60),
- Q62 = pqueue2:in(0, 0, Q61),
- Q63 = pqueue2:in(1, 1, Q62),
- Q64 = pqueue2:in(2, 2, Q63),
- Q65 = pqueue2:in(3, 3, Q64),
- Q66 = pqueue2:in(4, 4, Q65),
- Q67 = pqueue2:in(5, 5, Q66),
- Q68 = pqueue2:in(6, 6, Q67),
- Q69 = pqueue2:in(7, 7, Q68),
- Q70 = pqueue2:in(8, 8, Q69),
- Q71 = pqueue2:in(9, 9, Q70),
- Q72 = pqueue2:in(10, 10, Q71),
- Q73 = pqueue2:in(11, 11, Q72),
- Q74 = pqueue2:in(12, 12, Q73),
- Q75 = pqueue2:in(13, 13, Q74),
- Q76 = pqueue2:in(14, 14, Q75),
- Q77 = pqueue2:in(15, 15, Q76),
- Q78 = pqueue2:in(16, 16, Q77),
- Q79 = pqueue2:in(17, 17, Q78),
- Q80 = pqueue2:in(18, 18, Q79),
- Q81 = pqueue2:in(19, 19, Q80),
- Q82 = pqueue2:in(20, 20, Q81),
- true = pqueue2:is_queue(Q82),
- 82 = pqueue2:len(Q82),
- [-20, -20, -19, -19, -18, -18, -17, -17, -16, -16, -15, -15, -14, -14,
- -13, -13, -12, -12, -11, -11, -10, -10, -9, -9, -8, -8, -7, -7, -6, -6,
- -5, -5, -4, -4, -3, -3, -2, -2, -1, -1, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4,
- 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14,
- 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20] = pqueue2:to_list(Q82),
- {{value, -20}, Q83} = pqueue2:out(Q82),
- {{value, -20}, Q84} = pqueue2:out(Q83),
- {{value, -19}, Q85} = pqueue2:out(Q84),
- {{value, -19}, Q86} = pqueue2:out(Q85),
- {{value, -18}, Q87} = pqueue2:out(Q86),
- {{value, -18}, Q88} = pqueue2:out(Q87),
- {{value, 0}, Q89} = pqueue2:out(0, Q88),
- {{value, 0}, Q90} = pqueue2:out(0, Q89),
- {empty, _} = pqueue2:out(0, Q90),
- {{value, -17, -17}, Q91} = pqueue2:pout(Q90),
- {{value, -17, -17}, Q92} = pqueue2:pout(Q91),
- {{value, -16, -16}, Q93} = pqueue2:pout(Q92),
- {{value, -16, -16}, Q94} = pqueue2:pout(Q93),
- {{value, -15, -15}, Q95} = pqueue2:pout(Q94),
- {{value, -15, -15}, Q96} = pqueue2:pout(Q95),
- {{value, -14, -14}, Q97} = pqueue2:pout(Q96),
- {{value, -14, -14}, Q98} = pqueue2:pout(Q97),
- {{value, -13, -13}, Q99} = pqueue2:pout(Q98),
- {{value, -13, -13}, Q100} = pqueue2:pout(Q99),
- {{value, -12, -12}, Q101} = pqueue2:pout(Q100),
- {{value, -12, -12}, Q102} = pqueue2:pout(Q101),
- {{value, -11, -11}, Q103} = pqueue2:pout(Q102),
- {{value, -11, -11}, Q104} = pqueue2:pout(Q103),
- {{value, -10, -10}, Q105} = pqueue2:pout(Q104),
- {{value, -10, -10}, Q106} = pqueue2:pout(Q105),
- {{value, -9, -9}, Q107} = pqueue2:pout(Q106),
- {{value, -9, -9}, Q108} = pqueue2:pout(Q107),
- {{value, -8, -8}, Q109} = pqueue2:pout(Q108),
- {{value, -8, -8}, Q110} = pqueue2:pout(Q109),
- {{value, -7, -7}, Q111} = pqueue2:pout(Q110),
- {{value, -7, -7}, Q112} = pqueue2:pout(Q111),
- {{value, -6, -6}, Q113} = pqueue2:pout(Q112),
- {{value, -6, -6}, Q114} = pqueue2:pout(Q113),
- {{value, -5, -5}, Q115} = pqueue2:pout(Q114),
- {{value, -5, -5}, Q116} = pqueue2:pout(Q115),
- {{value, -4, -4}, Q117} = pqueue2:pout(Q116),
- {{value, -4, -4}, Q118} = pqueue2:pout(Q117),
- {{value, -3, -3}, Q119} = pqueue2:pout(Q118),
- {{value, -3, -3}, Q120} = pqueue2:pout(Q119),
- {{value, -2, -2}, Q121} = pqueue2:pout(Q120),
- {{value, -2, -2}, Q122} = pqueue2:pout(Q121),
- {{value, -1, -1}, Q123} = pqueue2:pout(Q122),
- {{value, -1, -1}, Q124} = pqueue2:pout(Q123),
- {{value, 1, 1}, Q125} = pqueue2:pout(Q124),
- {{value, 1, 1}, Q126} = pqueue2:pout(Q125),
- {{value, 2, 2}, Q127} = pqueue2:pout(Q126),
- {{value, 2, 2}, Q128} = pqueue2:pout(Q127),
- {{value, 3, 3}, Q129} = pqueue2:pout(Q128),
- {{value, 3, 3}, Q130} = pqueue2:pout(Q129),
- {{value, 4, 4}, Q131} = pqueue2:pout(Q130),
- {{value, 4, 4}, Q132} = pqueue2:pout(Q131),
- {{value, 5, 5}, Q133} = pqueue2:pout(Q132),
- {{value, 5, 5}, Q134} = pqueue2:pout(Q133),
- {{value, 6, 6}, Q135} = pqueue2:pout(Q134),
- {{value, 6, 6}, Q136} = pqueue2:pout(Q135),
- {{value, 7, 7}, Q137} = pqueue2:pout(Q136),
- {{value, 7, 7}, Q138} = pqueue2:pout(Q137),
- {{value, 8, 8}, Q139} = pqueue2:pout(Q138),
- {{value, 8, 8}, Q140} = pqueue2:pout(Q139),
- {{value, 9, 9}, Q141} = pqueue2:pout(Q140),
- {{value, 9, 9}, Q142} = pqueue2:pout(Q141),
- {{value, 10, 10}, Q143} = pqueue2:pout(Q142),
- {{value, 10, 10}, Q144} = pqueue2:pout(Q143),
- {{value, 11, 11}, Q145} = pqueue2:pout(Q144),
- {{value, 11, 11}, Q146} = pqueue2:pout(Q145),
- {{value, 12, 12}, Q147} = pqueue2:pout(Q146),
- {{value, 12, 12}, Q148} = pqueue2:pout(Q147),
- {{value, 13, 13}, Q149} = pqueue2:pout(Q148),
- {{value, 13, 13}, Q150} = pqueue2:pout(Q149),
- {{value, 14, 14}, Q151} = pqueue2:pout(Q150),
- {{value, 14, 14}, Q152} = pqueue2:pout(Q151),
- {{value, 15, 15}, Q153} = pqueue2:pout(Q152),
- {{value, 15, 15}, Q154} = pqueue2:pout(Q153),
- {{value, 16, 16}, Q155} = pqueue2:pout(Q154),
- {{value, 16, 16}, Q156} = pqueue2:pout(Q155),
- {{value, 17, 17}, Q157} = pqueue2:pout(Q156),
- {{value, 17, 17}, Q158} = pqueue2:pout(Q157),
- {{value, 18, 18}, Q159} = pqueue2:pout(Q158),
- {{value, 18, 18}, Q160} = pqueue2:pout(Q159),
- {{value, 19, 19}, Q161} = pqueue2:pout(Q160),
- {{value, 19, 19}, Q162} = pqueue2:pout(Q161),
- {{value, 20, 20}, Q163} = pqueue2:pout(Q162),
- {{value, 20, 20}, Q164} = pqueue2:pout(Q163),
- true = pqueue2:is_empty(Q164),
- {empty, Q165} = pqueue2:pout(Q164),
- true = pqueue2:is_empty(Q165),
- % test case 1, based on proper testing
- C1V0 = pqueue2:in(-18, pqueue2:new()),
- C1V1 = pqueue2:in(9, C1V0),
- C1V2 = pqueue2:in(-10, -4, C1V1),
- C1V3 = pqueue2:in(-29, C1V2),
- C1V4 = pqueue2:in(11, C1V3),
- 5 = pqueue2:len(C1V4),
- [-10, -18, 9, -29, 11] = pqueue2:to_list(C1V4),
- % test case 2, based on proper testing
- C2V0 = pqueue2:in(-4, -15, pqueue2:new()),
- C2V1 = pqueue2:in(13, C2V0),
- C2V2 = pqueue2:in(2, C2V1),
- [-4, 13, 2] = to_list(C2V2),
- ok.
-
-%%%------------------------------------------------------------------------
-%%% Private functions
-%%%------------------------------------------------------------------------
-
-merge(empty, empty) ->
- empty;
-merge(empty, {_, _, _, _, _} = H) ->
- H;
-merge({_, _, _, _, _} = H, empty) ->
- H;
-merge({P1, HL1, HR1, T, D}, {P2, _, _, _, _} = H2) when P1 < P2 ->
- {P1, HL1, merge(HR1, H2), T, D};
-merge({P1, _, _, _, _} = H1, {P2, HL2, HR2, T, D}) when P1 > P2 ->
- {P2, HL2, merge(H1, HR2), T, D};
-merge({P, HL1, HR1, element, Value1}, {P, HL2, HR2, element, Value2}) ->
- {P, merge(HL1, HR1), merge(HL2, HR2), queue,
- queue:from_list([Value2, Value1])};
-merge({P, HL1, HR1, queue, Queue}, {P, HL2, HR2, element, Value}) ->
- {P, merge(HL1, HR1), merge(HL2, HR2), queue, queue:in(Value, Queue)};
-merge({P, HL1, HR1, element, Value}, {P, HL2, HR2, queue, Queue}) ->
- {P, merge(HL1, HR1), merge(HL2, HR2), queue, queue:in(Value, Queue)}.
-
--ifdef(TEST).
--include_lib("eunit/include/eunit.hrl").
-
--include("pqueue_test.hrl").
-
-module_test_() ->
- {timeout, ?TEST_TIMEOUT, [
- {"internal tests", ?_assertOk(test())}
- ]}.
-
-long_test_() ->
- test_condition([
- {"proper tests", ?_assert(pqueue_proper:qc_pq2())}
- ], ?CLOUDI_LONG_TEST_TIMEOUT).
-
--endif.
-
diff --git a/aoc2023/build/packages/pqueue/src/pqueue3.erl b/aoc2023/build/packages/pqueue/src/pqueue3.erl
deleted file mode 100644
index 03b370a..0000000
--- a/aoc2023/build/packages/pqueue/src/pqueue3.erl
+++ /dev/null
@@ -1,404 +0,0 @@
-%-*-Mode:erlang;coding:utf-8;tab-width:4;c-basic-offset:4;indent-tabs-mode:()-*-
-% ex: set ft=erlang fenc=utf-8 sts=4 ts=4 sw=4 et nomod:
-%%%
-%%%------------------------------------------------------------------------
-%%% @doc
-%%% ==A Large Priority Queue.==
-%%% This priority queue implementation depends on layered tuples, so that tuple
-%%% access times can be exploited for quick in/out priority queue operations
-%%% when using 64 or more total priorities. This implementation was created
-%%% to avoid the slowness within the priority queue used by
-%%% both RabbitMQ and Riak
-%%% (https://github.com/basho/riak_core/blob/master/src/priority_queue.erl).
-%%% @end
-%%%
-%%% MIT License
-%%%
-%%% Copyright (c) 2011-2020 Michael Truog <mjtruog at protonmail dot com>
-%%%
-%%% Permission is hereby granted, free of charge, to any person obtaining a
-%%% copy of this software and associated documentation files (the "Software"),
-%%% to deal in the Software without restriction, including without limitation
-%%% the rights to use, copy, modify, merge, publish, distribute, sublicense,
-%%% and/or sell copies of the Software, and to permit persons to whom the
-%%% Software is furnished to do so, subject to the following conditions:
-%%%
-%%% The above copyright notice and this permission notice shall be included in
-%%% all copies or substantial portions of the Software.
-%%%
-%%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-%%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-%%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-%%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-%%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-%%% FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-%%% DEALINGS IN THE SOFTWARE.
-%%%
-%%% @author Michael Truog <mjtruog at protonmail dot com>
-%%% @copyright 2011-2020 Michael Truog
-%%% @version 2.0.1 {@date} {@time}
-%%%------------------------------------------------------------------------
-
--module(pqueue3).
--author('mjtruog at protonmail dot com').
-
-%% external interface
--export([in/2, % O(1)
- in/3, % O(1)
- is_empty/1, % O(1)
- is_queue/1, % O(1)
- len/1, % O(N)
- new/0, % O(1)
- new/1, % O(1)
- out/1, % O(1) amortized, O(N) worst case
- out/2, % O(1) amortized, O(N) worst case
- pout/1, % O(1) amortized, O(N) worst case
- to_list/1]). % O(N)
-
-%%%------------------------------------------------------------------------
-%%% External interface functions
-%%%------------------------------------------------------------------------
-
--type pqueue3() :: {integer(), integer(), empty | integer(), tuple()}.
--type pqueue3_empty() :: {integer(), integer(), empty, tuple()}.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Append an item to the tail of the 0 priority queue.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec in(term(), pqueue3()) -> pqueue3().
-
-in(Value, Q) ->
- in(Value, 0, Q).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Append an item to the tail of a specific priority queue.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec in(term(), integer(), pqueue3()) -> pqueue3().
-
-in(_, P, {Size, Offset, _, _})
- when (P + Offset) < 0; (P + Offset) > Size ->
- erlang:exit(badarg);
-in(Value, P, {Size, Offset, empty, Bins}) ->
- PriorityIndex = P + Offset,
- {Size, Offset, PriorityIndex,
- in_queue(layer_indexes(Size, PriorityIndex), Value, Bins)};
-in(Value, P, {Size, Offset, I, Bins})
- when (P + Offset) < I ->
- PriorityIndex = P + Offset,
- {Size, Offset, PriorityIndex,
- in_queue(layer_indexes(Size, PriorityIndex), Value, Bins)};
-in(Value, P, {Size, Offset, I, Bins}) ->
- {Size, Offset, I,
- in_queue(layer_indexes(Size, P + Offset), Value, Bins)}.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Check if the priority queue is empty.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec is_empty(pqueue3()) -> 'true' | 'false'.
-
-is_empty({_, _, empty, _}) ->
- true;
-is_empty({_, _, _, _} = Q) ->
- case out(Q) of
- {empty, _} ->
- true;
- {{value, _}, _} ->
- false
- end.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Check if the priority queue type is as expected.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec is_queue(pqueue3()) -> 'true' | 'false'.
-
-is_queue({Size, Offset, I, Bins})
- when is_integer(Size), is_integer(Offset), is_tuple(Bins) ->
- (I =:= empty) or is_integer(I);
-is_queue(_) ->
- false.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Determine the length of a priority queue.===
-%% O(N)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec len(pqueue3()) -> non_neg_integer().
-
-len(Q) ->
- len(0, out(Q)).
-len(I, {empty, _}) ->
- I;
-len(I, {{value, _}, Q}) ->
- len(I + 1, out(Q)).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Create a new priority queue.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec new() -> pqueue3_empty().
-
-new() ->
- new([]).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Create a new priority queue with customization options.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec new(list({atom(), term()})) -> pqueue3().
-
-new(Options) ->
- Size = proplists:get_value(priorities, Options, 256),
- MiddleZero = proplists:get_value(middle_priority_zero, Options, true),
- Offset = if
- MiddleZero =:= true ->
- erlang:round((Size / 2) + 0.5) - 1;
- true ->
- 0
- end,
- {Size, Offset, empty, create(layer_sizes(Size))}.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Take an item from the head of the priority queue.===
-%% O(1) amortized, O(N) worst case
-%% @end
-%%-------------------------------------------------------------------------
-
--spec out(pqueue3()) ->
- {{'value', term()}, pqueue3()} | {'empty', pqueue3()}.
-
-out({_, _, empty, _} = Q) ->
- {empty, Q};
-out({Size, Offset, I, Bins}) ->
- {Result, NewI, NewBins} = out_check(
- I, Size, out_queue(layer_indexes(Size, I), Bins)
- ),
- {Result, {Size, Offset, NewI, NewBins}}.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Take an item of a specific priority from the head of the queue.===
-%% O(1) amortized, O(N) worst case
-%% @end
-%%-------------------------------------------------------------------------
-
--spec out(integer(), pqueue3()) ->
- {{'value', term()}, pqueue3()} | {'empty', pqueue3()}.
-
-out(P, {Size, Offset, _, _})
- when (P + Offset) < 0; (P + Offset) > Size ->
- erlang:exit(badarg);
-out(_, {_, _, empty, _} = Q) ->
- {empty, Q};
-out(P, {Size, Offset, I, Bins}) ->
- {Result, NewBins} = out_queue(layer_indexes(Size, P + Offset), Bins),
- {Result, {Size, Offset, I, NewBins}}.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Take an item from the head of the priority queue.===
-%% Includes the priority in the return value.
-%% O(1) amortized, O(N) worst case
-%% @end
-%%-------------------------------------------------------------------------
-
--spec pout(pqueue3()) ->
- {{'value', term(), integer()}, pqueue3()} | {'empty', pqueue3()}.
-
-pout({_, _, empty, _} = Q) ->
- {empty, Q};
-pout({Size, Offset, I, Bins}) ->
- {Result, NewI, NewBins} = pout_check(
- I, Size, Offset, out_queue(layer_indexes(Size, I), Bins)
- ),
- {Result, {Size, Offset, NewI, NewBins}}.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Convert the priority queue to a list.===
-%% O(N)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec to_list(pqueue3()) -> list(term()).
-
-to_list(Q) ->
- to_list([], out(Q)).
-to_list(L, {empty, _}) ->
- lists:reverse(L);
-to_list(L, {{value, Value}, Q}) ->
- to_list([Value | L], out(Q)).
-
-%%%------------------------------------------------------------------------
-%%% Private functions
-%%%------------------------------------------------------------------------
-
-create([]) ->
- queue:new();
-
-create([I | Is]) ->
- erlang:make_tuple(I + 1, create(Is)).
-
-in_queue({I1}, Value, Bins1) ->
- erlang:setelement(I1, Bins1, queue:in(Value, erlang:element(I1, Bins1)));
-
-in_queue({I1, I2}, Value, Bins1) ->
- Bins2 = erlang:element(I1, Bins1),
- erlang:setelement(I1, Bins1,
- erlang:setelement(I2, Bins2, queue:in(Value, erlang:element(I2, Bins2))));
-
-in_queue({I1, I2, I3}, Value, Bins1) ->
- Bins2 = erlang:element(I1, Bins1),
- Bins3 = erlang:element(I2, Bins2),
- erlang:setelement(I1, Bins1,
- erlang:setelement(I2, Bins2,
- erlang:setelement(I3, Bins3, queue:in(Value, erlang:element(I3, Bins3)))));
-
-in_queue({I1, I2, I3, I4}, Value, Bins1) ->
- Bins2 = erlang:element(I1, Bins1),
- Bins3 = erlang:element(I2, Bins2),
- Bins4 = erlang:element(I3, Bins3),
- erlang:setelement(I1, Bins1,
- erlang:setelement(I2, Bins2,
- erlang:setelement(I3, Bins3,
- erlang:setelement(I4, Bins4, queue:in(Value, erlang:element(I4, Bins4)))))).
-
-pout_check(Size, Size, _, {empty, Bins}) ->
- {empty, empty, Bins};
-pout_check(I, _, Offset, {{value, Value}, Bins}) ->
- {{value, Value, I - Offset}, I, Bins};
-pout_check(I, Size, Offset, {empty, Bins}) ->
- NewI = I + 1,
- pout_check(NewI, Size, Offset, out_queue(layer_indexes(Size, NewI), Bins)).
-
-out_check(Size, Size, {empty, Bins}) ->
- {empty, empty, Bins};
-out_check(I, _, {{value, _} = Result, Bins}) ->
- {Result, I, Bins};
-out_check(I, Size, {empty, Bins}) ->
- NewI = I + 1,
- out_check(NewI, Size, out_queue(layer_indexes(Size, NewI), Bins)).
-
-out_queue({I1}, Bins1) ->
- {Result, NewQueue} = queue:out(erlang:element(I1, Bins1)),
- {Result,
- erlang:setelement(I1, Bins1, NewQueue)};
-
-out_queue({I1, I2}, Bins1) ->
- Bins2 = erlang:element(I1, Bins1),
- {Result, NewQueue} = queue:out(erlang:element(I2, Bins2)),
- {Result,
- erlang:setelement(I1, Bins1,
- erlang:setelement(I2, Bins2, NewQueue))};
-
-out_queue({I1, I2, I3}, Bins1) ->
- Bins2 = erlang:element(I1, Bins1),
- Bins3 = erlang:element(I2, Bins2),
- {Result, NewQueue} = queue:out(erlang:element(I3, Bins3)),
- {Result,
- erlang:setelement(I1, Bins1,
- erlang:setelement(I2, Bins2,
- erlang:setelement(I3, Bins3, NewQueue)))};
-
-out_queue({I1, I2, I3, I4}, Bins1) ->
- Bins2 = erlang:element(I1, Bins1),
- Bins3 = erlang:element(I2, Bins2),
- Bins4 = erlang:element(I3, Bins3),
- {Result, NewQueue} = queue:out(erlang:element(I4, Bins4)),
- {Result,
- erlang:setelement(I1, Bins1,
- erlang:setelement(I2, Bins2,
- erlang:setelement(I3, Bins3,
- erlang:setelement(I4, Bins4, NewQueue))))}.
-
-layer_indexes(Size, PriorityIndex) ->
- if
- Size =< 127 ->
- {PriorityIndex + 1};
- Size =< 255 ->
- <<I1:4, I2:4>> = <<PriorityIndex:8>>,
- {I1 + 1, I2 + 1};
- Size =< 511 ->
- <<I1:4, I2:5>> = <<PriorityIndex:9>>,
- {I1 + 1, I2 + 1};
- Size =< 1023 ->
- <<I1:3, I2:3, I3:4>> = <<PriorityIndex:10>>,
- {I1 + 1, I2 + 1, I3 + 1};
- Size =< 2047 ->
- <<I1:3, I2:4, I3:4>> = <<PriorityIndex:11>>,
- {I1 + 1, I2 + 1, I3 + 1};
- Size =< 4095 ->
- <<I1:4, I2:4, I3:4>> = <<PriorityIndex:12>>,
- {I1 + 1, I2 + 1, I3 + 1};
- Size =< 8191 ->
- <<I1:4, I2:4, I3:5>> = <<PriorityIndex:13>>,
- {I1 + 1, I2 + 1, I3 + 1};
- Size =< 16383 ->
- <<I1:4, I2:5, I3:5>> = <<PriorityIndex:14>>,
- {I1 + 1, I2 + 1, I3 + 1};
- Size =< 32767 ->
- <<I1:3, I2:4, I3:4, I4:4>> = <<PriorityIndex:15>>,
- {I1 + 1, I2 + 1, I3 + 1, I4 + 1};
- Size =< 65535 ->
- <<I1:4, I2:4, I3:4, I4:4>> = <<PriorityIndex:16>>,
- {I1 + 1, I2 + 1, I3 + 1, I4 + 1}
- end.
-
-layer_sizes(Size) ->
- if
- Size =< 127 ->
- <<I1:7>> = <<127:7>>,
- [I1];
- Size =< 255 ->
- <<I1:4, I2:4>> = <<255:8>>,
- [I1, I2];
- Size =< 511 ->
- <<I1:4, I2:5>> = <<511:9>>,
- [I1, I2];
- Size =< 1023 ->
- <<I1:3, I2:3, I3:4>> = <<1023:10>>,
- [I1, I2, I3];
- Size =< 2047 ->
- <<I1:3, I2:4, I3:4>> = <<2047:11>>,
- [I1, I2, I3];
- Size =< 4095 ->
- <<I1:4, I2:4, I3:4>> = <<4095:12>>,
- [I1, I2, I3];
- Size =< 8191 ->
- <<I1:4, I2:4, I3:5>> = <<8191:13>>,
- [I1, I2, I3];
- Size =< 16383 ->
- <<I1:4, I2:5, I3:5>> = <<16383:14>>,
- [I1, I2, I3];
- Size =< 32767 ->
- <<I1:3, I2:4, I3:4, I4:4>> = <<32767:15>>,
- [I1, I2, I3, I4];
- Size =< 65535 ->
- <<I1:4, I2:4, I3:4, I4:4>> = <<65535:16>>,
- [I1, I2, I3, I4]
- end.
-
diff --git a/aoc2023/build/packages/pqueue/src/pqueue4.erl b/aoc2023/build/packages/pqueue/src/pqueue4.erl
deleted file mode 100644
index 30b188d..0000000
--- a/aoc2023/build/packages/pqueue/src/pqueue4.erl
+++ /dev/null
@@ -1,11662 +0,0 @@
-%-*-Mode:erlang;coding:utf-8;tab-width:4;c-basic-offset:4;indent-tabs-mode:()-*-
-% ex: set ft=erlang fenc=utf-8 sts=4 ts=4 sw=4 et nomod:
-%%%
-%%%------------------------------------------------------------------------
-%%% @doc
-%%% ==Static Priority Queue.==
-%%% This priority queue implementation depends on a static number of priorities
-%%% (-128 (high) to 128 (low)) so that tuple access times can be exploited for
-%%% quick in/out priority queue operations. This implementation was created to
-%%% avoid the slowness within the priority queue used by both RabbitMQ and Riak
-%%% (https://github.com/basho/riak_core/blob/master/src/priority_queue.erl).
-%%% @end
-%%%
-%%% MIT License
-%%%
-%%% Copyright (c) 2011-2020 Michael Truog <mjtruog at protonmail dot com>
-%%%
-%%% Permission is hereby granted, free of charge, to any person obtaining a
-%%% copy of this software and associated documentation files (the "Software"),
-%%% to deal in the Software without restriction, including without limitation
-%%% the rights to use, copy, modify, merge, publish, distribute, sublicense,
-%%% and/or sell copies of the Software, and to permit persons to whom the
-%%% Software is furnished to do so, subject to the following conditions:
-%%%
-%%% The above copyright notice and this permission notice shall be included in
-%%% all copies or substantial portions of the Software.
-%%%
-%%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-%%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-%%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-%%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-%%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-%%% FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-%%% DEALINGS IN THE SOFTWARE.
-%%%
-%%%
-%%% queue_remove_unique/2 is based on queue:filter/2
-%%% which is under the Apache License 2.0:
-%%%
-%%% Copyright Ericsson AB 1996-2016. All Rights Reserved.
-%%%
-%%% Licensed under the Apache License, Version 2.0 (the "License");
-%%% you may not use this file except in compliance with the License.
-%%% You may obtain a copy of the License at
-%%%
-%%% http://www.apache.org/licenses/LICENSE-2.0
-%%%
-%%% Unless required by applicable law or agreed to in writing, software
-%%% distributed under the License is distributed on an "AS IS" BASIS,
-%%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-%%% See the License for the specific language governing permissions and
-%%% limitations under the License.
-%%%
-%%% @author Michael Truog <mjtruog at protonmail dot com>
-%%% @copyright 2011-2020 Michael Truog
-%%% @version 2.0.1 {@date} {@time}
-%%%------------------------------------------------------------------------
-
--module(pqueue4).
--author('mjtruog at protonmail dot com').
-
-%% external interface
--export([filter/2, % O(N)
- filter/3, % O(N)
- in/2, % O(1)
- in/3, % O(1)
- is_empty/1, % O(1)
- is_queue/1, % O(1)
- len/1, % O(1)
- new/0, % O(1)
- out/1, % O(1) amortized, O(N) worst case
- out/2, % O(1) amortized, O(N) worst case
- pout/1, % O(1) amortized, O(N) worst case
- remove_unique/2, % O(N) but smaller constant than filter/2
- remove_unique/3, % O(N) but smaller constant than filter/3
- to_list/1, % O(N)
- to_plist/1, % O(N)
- test/0]).
-
-%%%------------------------------------------------------------------------
-%%% External interface functions
-%%%------------------------------------------------------------------------
-
--type priority() :: -128..128.
--ifdef(ERLANG_OTP_VERSION_16).
--type pqueue4(_) ::
- {priority() | 'empty', % current priority
- non_neg_integer(), % total size
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- queue(),
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()},
- {queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue(),
- queue(), queue(), queue(), queue(), queue(), queue(), queue(), queue()}}.
--else.
--type pqueue4(T) ::
- {priority() | 'empty', % current priority
- non_neg_integer(), % total size
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- queue:queue(T),
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)},
- {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T),
- queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)}}.
--endif.
--type pqueue4() :: pqueue4(any()).
--export_type([pqueue4/0, pqueue4/1]).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Filter the priority queue.===
-%% O(N)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec filter(fun((any()) -> boolean()), pqueue4()) -> pqueue4().
-
-filter(F, {empty, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _} = Q)
- when is_function(F, 1) ->
- Q;
-filter(F, {Pc, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _} = Q)
- when is_function(F, 1) ->
- filter_all(Pc, F, Q).
-
-filter_all(_, _, {_, 0, _, _, _, _, _, _, _, _,
- _, _, _, _, _, _, _, _, _} = Q) ->
- Q;
-filter_all(128, F, Q) ->
- filter_priority(128, F, Q);
-filter_all(P, F, Q) when is_integer(P) ->
- filter_all(P + 1, F, filter_priority(P, F, Q)).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Filter a specific priority within the priority queue.===
-%% O(N)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec filter(fun((any()) -> boolean()), integer(), pqueue4()) -> pqueue4().
-
-filter(_, P, _)
- when P < -128; P > 128 ->
- erlang:exit(badarg);
-filter(F, P, Q) when is_function(F, 1) ->
- filter_priority(P, F, Q).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Append an item to the tail of the 0 priority queue.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec in(any(), pqueue4()) -> pqueue4().
-
-in(X, Q) ->
- in(X, 0, Q).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Append an item to the tail of a specific priority queue.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec in(any(), integer(), pqueue4()) -> pqueue4().
-
-in(_, P, _)
- when P < -128; P > 128 ->
- erlang:exit(badarg);
-in(X, P, {empty, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _} = Q) ->
- in_higher(P, Q, X); % (in a higher priority)
-in(X, P, {Pc, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _} = Q)
- when P < Pc ->
- in_higher(P, Q, X); % (in a higher priority)
-in(X, P, Q) ->
- in_lower(P, Q, X). % (in a lower priority)
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Check if the priority queue is empty.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec is_empty(pqueue4()) -> 'true' | 'false'.
-
-is_empty({_, 0, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _}) ->
- true;
-is_empty({_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _}) ->
- false.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Check if the priority queue type is as expected.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec is_queue(pqueue4()) -> 'true' | 'false'.
-
-is_queue({Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128})
- when is_integer(Size),
- tuple_size(Qn128) == 16, tuple_size(Qn112) == 16,
- tuple_size(Qn96) == 16, tuple_size(Qn80) == 16,
- tuple_size(Qn64) == 16, tuple_size(Qn48) == 16,
- tuple_size(Qn32) == 16, tuple_size(Qn16) == 16,
- tuple_size(Qp16) == 16, tuple_size(Qp32) == 16,
- tuple_size(Qp48) == 16, tuple_size(Qp64) == 16,
- tuple_size(Qp80) == 16, tuple_size(Qp96) == 16,
- tuple_size(Qp112) == 16, tuple_size(Qp128) == 16 ->
- (((Pc =:= empty) or is_integer(Pc)) and queue:is_queue(Q0));
-is_queue(_) ->
- false.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Determine the length of a priority queue.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec len(pqueue4()) -> non_neg_integer().
-
-len({_, Size, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _}) ->
- Size.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Create a new priority queue.===
-%% O(1)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec new() -> pqueue4().
-
-new() ->
- {empty, % current priority
- 0, % current size
- erlang:make_tuple(16, queue:new()), % priority [-128..-113]
- erlang:make_tuple(16, queue:new()), % priority [-112.. -97]
- erlang:make_tuple(16, queue:new()), % priority [ -96.. -81]
- erlang:make_tuple(16, queue:new()), % priority [ -80.. -65]
- erlang:make_tuple(16, queue:new()), % priority [ -64.. -49]
- erlang:make_tuple(16, queue:new()), % priority [ -48.. -33]
- erlang:make_tuple(16, queue:new()), % priority [ -32.. -17]
- erlang:make_tuple(16, queue:new()), % priority [ -16.. -1]
- queue:new(), % priority 0 (default)
- erlang:make_tuple(16, queue:new()), % priority [ 1.. 16]
- erlang:make_tuple(16, queue:new()), % priority [ 17.. 32]
- erlang:make_tuple(16, queue:new()), % priority [ 33.. 48]
- erlang:make_tuple(16, queue:new()), % priority [ 49.. 64]
- erlang:make_tuple(16, queue:new()), % priority [ 65.. 80]
- erlang:make_tuple(16, queue:new()), % priority [ 81.. 96]
- erlang:make_tuple(16, queue:new()), % priority [ 97.. 112]
- erlang:make_tuple(16, queue:new())}. % priority [ 113.. 128]
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Take an item from the head of the priority queue.===
-%% O(1) amortized, O(N) worst case
-%% @end
-%%-------------------------------------------------------------------------
-
--spec out(pqueue4()) ->
- {{'value', any()}, pqueue4()} | {'empty', pqueue4()}.
-
-out({empty, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _} = Q) ->
- {empty, Q};
-out({Pc, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _} = Q) ->
- out_current(Pc, Q).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Take an item of a specific priority from the head of the queue.===
-%% O(1) amortized, O(N) worst case
-%% @end
-%%-------------------------------------------------------------------------
-
--spec out(integer(), pqueue4()) ->
- {{'value', any()}, pqueue4()} | {'empty', pqueue4()}.
-
-out(P, _)
- when P < -128; P > 128 ->
- erlang:exit(badarg);
-out(_, {empty, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _} = Q) ->
- {empty, Q};
-out(P, Q) ->
- out_specific(P, Q).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Take an item from the head of the priority queue.===
-%% Includes the priority in the return value.
-%% O(1) amortized, O(N) worst case
-%% @end
-%%-------------------------------------------------------------------------
-
--spec pout(pqueue4()) ->
- {{'value', any(), integer()}, pqueue4()} | {'empty', pqueue4()}.
-
-pout({empty, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _} = Q) ->
- {empty, Q};
-pout({Pc, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _} = Q) ->
- out_current_p(Pc, Q).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Remove a unique value from the priority queue with a binary predicate.===
-%% O(N) but smaller constant than filter/2
-%% @end
-%%-------------------------------------------------------------------------
-
--spec remove_unique(fun((any()) -> boolean()), pqueue4()) ->
- {boolean(), pqueue4()}.
-
-remove_unique(F, {_, 0, _, _, _, _, _, _, _, _,
- _, _, _, _, _, _, _, _, _} = Q)
- when is_function(F, 1) ->
- {false, Q};
-remove_unique(F, {Pc, _, _, _, _, _, _, _, _, _,
- _, _, _, _, _, _, _, _, _} = Q)
- when is_function(F, 1) ->
- remove_unique_all(Pc, F, Q).
-
-remove_unique_all(128, F, Q) ->
- remove_unique_p(128, F, Q);
-remove_unique_all(P, F, Q) when is_integer(P) ->
- case remove_unique_p(P, F, Q) of
- {true, _} = Result ->
- Result;
- {false, Q} ->
- remove_unique_all(P + 1, F, Q)
- end.
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Remove a unique value in a specific priority within the priority queue with a binary predicate.===
-%% O(N) but smaller constant than filter/3
-%% @end
-%%-------------------------------------------------------------------------
-
--spec remove_unique(fun((any()) -> boolean()), integer(), pqueue4()) ->
- {boolean(), pqueue4()}.
-
-remove_unique(_, P, _)
- when P < -128; P > 128 ->
- erlang:exit(badarg);
-remove_unique(F, P, Q) when is_function(F, 1) ->
- remove_unique_p(P, F, Q).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Convert the priority queue to a list.===
-%% O(N)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec to_list(pqueue4()) -> list().
-
-to_list(Q) ->
- to_list([], out(Q)).
-to_list(L, {empty, _}) ->
- lists:reverse(L);
-to_list(L, {{value, Value}, Q}) ->
- to_list([Value | L], out(Q)).
-
-%%-------------------------------------------------------------------------
-%% @doc
-%% ===Convert the priority queue to a list with priorities.===
-%% O(N)
-%% @end
-%%-------------------------------------------------------------------------
-
--spec to_plist(pqueue4()) -> list({priority(), list()}).
-
-to_plist(Q) ->
- to_plist([], [], undefined, pout(Q)).
-to_plist(L, [], _, {empty, _}) ->
- lists:reverse(L);
-to_plist(L, Lp, Pc, {empty, _}) ->
- lists:reverse([{Pc, lists:reverse(Lp)} | L]);
-to_plist(L, Lp, Pc, {{value, Value, Pc}, Q}) ->
- to_plist(L, [Value | Lp], Pc, pout(Q));
-to_plist(L, [], _, {{value, Value, Pc}, Q}) ->
- to_plist(L, [Value], Pc, pout(Q));
-to_plist(L, Lp, P, {{value, Value, Pc}, Q}) ->
- to_plist([{P, lists:reverse(Lp)} | L], [Value], Pc, pout(Q)).
-
-%%-------------------------------------------------------------------------
-%% @private
-%% @doc
-%% ===Regression test.===
-%% @end
-%%-------------------------------------------------------------------------
-
-test() ->
- Q0 = pqueue4:new(),
- true = pqueue4:is_queue(Q0),
- Q1 = pqueue4:in(20, 20, Q0),
- Q2 = pqueue4:in(19, 19, Q1),
- Q3 = pqueue4:in(18, 18, Q2),
- Q4 = pqueue4:in(17, 17, Q3),
- Q5 = pqueue4:in(16, 16, Q4),
- Q6 = pqueue4:in(15, 15, Q5),
- Q7 = pqueue4:in(14, 14, Q6),
- Q8 = pqueue4:in(13, 13, Q7),
- Q9 = pqueue4:in(12, 12, Q8),
- Q10 = pqueue4:in(11, 11, Q9),
- Q11 = pqueue4:in(10, 10, Q10),
- Q12 = pqueue4:in(9, 9, Q11),
- Q13 = pqueue4:in(8, 8, Q12),
- Q14 = pqueue4:in(7, 7, Q13),
- Q15 = pqueue4:in(6, 6, Q14),
- Q16 = pqueue4:in(5, 5, Q15),
- Q17 = pqueue4:in(4, 4, Q16),
- Q18 = pqueue4:in(3, 3, Q17),
- Q19 = pqueue4:in(2, 2, Q18),
- Q20 = pqueue4:in(1, 1, Q19),
- Q21 = pqueue4:in(0, 0, Q20),
- Q22 = pqueue4:in(-1, -1, Q21),
- Q23 = pqueue4:in(-2, -2, Q22),
- Q24 = pqueue4:in(-3, -3, Q23),
- Q25 = pqueue4:in(-4, -4, Q24),
- Q26 = pqueue4:in(-5, -5, Q25),
- Q27 = pqueue4:in(-6, -6, Q26),
- Q28 = pqueue4:in(-7, -7, Q27),
- Q29 = pqueue4:in(-8, -8, Q28),
- Q30 = pqueue4:in(-9, -9, Q29),
- Q31 = pqueue4:in(-10, -10, Q30),
- Q32 = pqueue4:in(-11, -11, Q31),
- Q33 = pqueue4:in(-12, -12, Q32),
- Q34 = pqueue4:in(-13, -13, Q33),
- Q35 = pqueue4:in(-14, -14, Q34),
- Q36 = pqueue4:in(-15, -15, Q35),
- Q37 = pqueue4:in(-16, -16, Q36),
- Q38 = pqueue4:in(-17, -17, Q37),
- Q39 = pqueue4:in(-18, -18, Q38),
- Q40 = pqueue4:in(-19, -19, Q39),
- Q41 = pqueue4:in(-20, -20, Q40),
- Q42 = pqueue4:in(-20, -20, Q41),
- Q43 = pqueue4:in(-19, -19, Q42),
- Q44 = pqueue4:in(-18, -18, Q43),
- Q45 = pqueue4:in(-17, -17, Q44),
- Q46 = pqueue4:in(-16, -16, Q45),
- Q47 = pqueue4:in(-15, -15, Q46),
- Q48 = pqueue4:in(-14, -14, Q47),
- Q49 = pqueue4:in(-13, -13, Q48),
- Q50 = pqueue4:in(-12, -12, Q49),
- Q51 = pqueue4:in(-11, -11, Q50),
- Q52 = pqueue4:in(-10, -10, Q51),
- Q53 = pqueue4:in(-9, -9, Q52),
- Q54 = pqueue4:in(-8, -8, Q53),
- Q55 = pqueue4:in(-7, -7, Q54),
- Q56 = pqueue4:in(-6, -6, Q55),
- Q57 = pqueue4:in(-5, -5, Q56),
- Q58 = pqueue4:in(-4, -4, Q57),
- Q59 = pqueue4:in(-3, -3, Q58),
- Q60 = pqueue4:in(-2, -2, Q59),
- Q61 = pqueue4:in(-1, -1, Q60),
- Q62 = pqueue4:in(0, 0, Q61),
- Q63 = pqueue4:in(1, 1, Q62),
- Q64 = pqueue4:in(2, 2, Q63),
- Q65 = pqueue4:in(3, 3, Q64),
- Q66 = pqueue4:in(4, 4, Q65),
- Q67 = pqueue4:in(5, 5, Q66),
- Q68 = pqueue4:in(6, 6, Q67),
- Q69 = pqueue4:in(7, 7, Q68),
- Q70 = pqueue4:in(8, 8, Q69),
- Q71 = pqueue4:in(9, 9, Q70),
- Q72 = pqueue4:in(10, 10, Q71),
- Q73 = pqueue4:in(11, 11, Q72),
- Q74 = pqueue4:in(12, 12, Q73),
- Q75 = pqueue4:in(13, 13, Q74),
- Q76 = pqueue4:in(14, 14, Q75),
- Q77 = pqueue4:in(15, 15, Q76),
- Q78 = pqueue4:in(16, 16, Q77),
- Q79 = pqueue4:in(17, 17, Q78),
- Q80 = pqueue4:in(18, 18, Q79),
- Q81 = pqueue4:in(19, 19, Q80),
- Q82 = pqueue4:in(20, 20, Q81),
- true = pqueue4:is_queue(Q82),
- 82 = pqueue4:len(Q82),
- [-20, -20, -19, -19, -18, -18, -17, -17, -16, -16, -15, -15, -14, -14,
- -13, -13, -12, -12, -11, -11, -10, -10, -9, -9, -8, -8, -7, -7, -6, -6,
- -5, -5, -4, -4, -3, -3, -2, -2, -1, -1, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4,
- 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14,
- 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20] = pqueue4:to_list(Q82),
- [{-20, [-20, -20]}, {-19, [-19, -19]}, {-18, [-18, -18]},
- {-17, [-17, -17]}, {-16, [-16, -16]}, {-15, [-15, -15]},
- {-14, [-14, -14]}, {-13, [-13, -13]}, {-12, [-12, -12]},
- {-11, [-11, -11]}, {-10, [-10, -10]}, {-9, [-9, -9]},
- {-8, [-8, -8]}, {-7, [-7, -7]}, {-6, [-6, -6]},
- {-5, [-5, -5]}, {-4, [-4, -4]}, {-3, [-3, -3]},
- {-2, [-2, -2]}, {-1, [-1, -1]}, {0, [0, 0]},
- {1, [1, 1]}, {2, [2, 2]}, {3, [3, 3]},
- {4, [4, 4]}, {5, [5, 5]}, {6, [6, 6]},
- {7, [7, 7]}, {8, [8, 8]}, {9, [9, 9]},
- {10, [10, 10]}, {11, [11, 11]}, {12, [12, 12]},
- {13, [13, 13]}, {14, [14, 14]}, {15, [15, 15]},
- {16, [16, 16]}, {17, [17, 17]}, {18, [18, 18]},
- {19, [19, 19]}, {20, [20, 20]}] = pqueue4:to_plist(Q82),
- {{value, -20}, Q83} = pqueue4:out(Q82),
- {{value, -20}, Q84} = pqueue4:out(Q83),
- {{value, -19}, Q85} = pqueue4:out(Q84),
- {{value, -19}, Q86} = pqueue4:out(Q85),
- {{value, -18}, Q87} = pqueue4:out(Q86),
- {{value, -18}, Q88} = pqueue4:out(Q87),
- {{value, 0}, Q89} = pqueue4:out(0, Q88),
- {{value, 0}, Q90} = pqueue4:out(0, Q89),
- {empty, _} = pqueue4:out(0, Q90),
- {{value, -17, -17}, Q91} = pqueue4:pout(Q90),
- {{value, -17, -17}, Q92} = pqueue4:pout(Q91),
- {{value, -16, -16}, Q93} = pqueue4:pout(Q92),
- {{value, -16, -16}, Q94} = pqueue4:pout(Q93),
- {{value, -15, -15}, Q95} = pqueue4:pout(Q94),
- {{value, -15, -15}, Q96} = pqueue4:pout(Q95),
- {{value, -14, -14}, Q97} = pqueue4:pout(Q96),
- {{value, -14, -14}, Q98} = pqueue4:pout(Q97),
- {{value, -13, -13}, Q99} = pqueue4:pout(Q98),
- {{value, -13, -13}, Q100} = pqueue4:pout(Q99),
- {{value, -12, -12}, Q101} = pqueue4:pout(Q100),
- {{value, -12, -12}, Q102} = pqueue4:pout(Q101),
- {{value, -11, -11}, Q103} = pqueue4:pout(Q102),
- {{value, -11, -11}, Q104} = pqueue4:pout(Q103),
- {{value, -10, -10}, Q105} = pqueue4:pout(Q104),
- {{value, -10, -10}, Q106} = pqueue4:pout(Q105),
- {{value, -9, -9}, Q107} = pqueue4:pout(Q106),
- {{value, -9, -9}, Q108} = pqueue4:pout(Q107),
- {{value, -8, -8}, Q109} = pqueue4:pout(Q108),
- {{value, -8, -8}, Q110} = pqueue4:pout(Q109),
- {{value, -7, -7}, Q111} = pqueue4:pout(Q110),
- {{value, -7, -7}, Q112} = pqueue4:pout(Q111),
- {{value, -6, -6}, Q113} = pqueue4:pout(Q112),
- {{value, -6, -6}, Q114} = pqueue4:pout(Q113),
- {{value, -5, -5}, Q115} = pqueue4:pout(Q114),
- {{value, -5, -5}, Q116} = pqueue4:pout(Q115),
- {{value, -4, -4}, Q117} = pqueue4:pout(Q116),
- {{value, -4, -4}, Q118} = pqueue4:pout(Q117),
- {{value, -3, -3}, Q119} = pqueue4:pout(Q118),
- {{value, -3, -3}, Q120} = pqueue4:pout(Q119),
- {{value, -2, -2}, Q121} = pqueue4:pout(Q120),
- {{value, -2, -2}, Q122} = pqueue4:pout(Q121),
- {{value, -1, -1}, Q123} = pqueue4:pout(Q122),
- {{value, -1, -1}, Q124} = pqueue4:pout(Q123),
- {{value, 1, 1}, Q125} = pqueue4:pout(Q124),
- {{value, 1, 1}, Q126} = pqueue4:pout(Q125),
- {{value, 2, 2}, Q127} = pqueue4:pout(Q126),
- {{value, 2, 2}, Q128} = pqueue4:pout(Q127),
- {{value, 3, 3}, Q129} = pqueue4:pout(Q128),
- {{value, 3, 3}, Q130} = pqueue4:pout(Q129),
- {{value, 4, 4}, Q131} = pqueue4:pout(Q130),
- {{value, 4, 4}, Q132} = pqueue4:pout(Q131),
- {{value, 5, 5}, Q133} = pqueue4:pout(Q132),
- {{value, 5, 5}, Q134} = pqueue4:pout(Q133),
- {{value, 6, 6}, Q135} = pqueue4:pout(Q134),
- {{value, 6, 6}, Q136} = pqueue4:pout(Q135),
- {{value, 7, 7}, Q137} = pqueue4:pout(Q136),
- {{value, 7, 7}, Q138} = pqueue4:pout(Q137),
- {{value, 8, 8}, Q139} = pqueue4:pout(Q138),
- {{value, 8, 8}, Q140} = pqueue4:pout(Q139),
- {{value, 9, 9}, Q141} = pqueue4:pout(Q140),
- {{value, 9, 9}, Q142} = pqueue4:pout(Q141),
- {{value, 10, 10}, Q143} = pqueue4:pout(Q142),
- {{value, 10, 10}, Q144} = pqueue4:pout(Q143),
- {{value, 11, 11}, Q145} = pqueue4:pout(Q144),
- {{value, 11, 11}, Q146} = pqueue4:pout(Q145),
- {{value, 12, 12}, Q147} = pqueue4:pout(Q146),
- {{value, 12, 12}, Q148} = pqueue4:pout(Q147),
- {{value, 13, 13}, Q149} = pqueue4:pout(Q148),
- {{value, 13, 13}, Q150} = pqueue4:pout(Q149),
- {{value, 14, 14}, Q151} = pqueue4:pout(Q150),
- {{value, 14, 14}, Q152} = pqueue4:pout(Q151),
- {{value, 15, 15}, Q153} = pqueue4:pout(Q152),
- {{value, 15, 15}, Q154} = pqueue4:pout(Q153),
- {{value, 16, 16}, Q155} = pqueue4:pout(Q154),
- {{value, 16, 16}, Q156} = pqueue4:pout(Q155),
- {{value, 17, 17}, Q157} = pqueue4:pout(Q156),
- {{value, 17, 17}, Q158} = pqueue4:pout(Q157),
- {{value, 18, 18}, Q159} = pqueue4:pout(Q158),
- {{value, 18, 18}, Q160} = pqueue4:pout(Q159),
- {{value, 19, 19}, Q161} = pqueue4:pout(Q160),
- {{value, 19, 19}, Q162} = pqueue4:pout(Q161),
- {{value, 20, 20}, Q163} = pqueue4:pout(Q162),
- {{value, 20, 20}, Q164} = pqueue4:pout(Q163),
- {{value, 20}, Q164} = pqueue4:out(Q163),
- {{value, 20}, Q164} = pqueue4:out(20, Q163),
- true = pqueue4:is_empty(Q164),
- empty = erlang:element(1, Q164), % current priority
- 0 = erlang:element(2, Q164), % size
- {empty, Q164} = pqueue4:pout(Q164),
- {empty, Q164} = pqueue4:out(Q164),
- {empty, Q164} = pqueue4:out(20, Q164),
-
- Queue0 = queue:new(),
- "{[],[]}" = lists:flatten(io_lib:format("~p", [Queue0])),
- Queue1 = queue:in(1, Queue0),
- Queue2 = queue:in(2, Queue1),
- Queue3 = queue:in(3, Queue2),
- {{value, 1}, _} = queue:out(Queue2),
- "{[3,2],[1]}" = lists:flatten(io_lib:format("~p", [Queue3])),
- {true, {[3],[1]}} = queue_remove_unique(fun(I) -> I == 2 end, {[3,2],[1]}),
- Queue4 = queue:filter(fun(I) -> not (I == 2) end, Queue3),
- "{[3],[1]}" = lists:flatten(io_lib:format("~p", [Queue4])),
- 2 = queue:len(Queue4),
- {{value, 1}, _} = queue:out(Queue4),
- [1, 3] = queue:to_list(Queue4),
-
- Q166 = pqueue4:new(),
- true = pqueue4:is_queue(Q166),
- Q167 = pqueue4:in(6, 1, Q166),
- Q168 = pqueue4:in(7, 1, Q167),
- Q169 = pqueue4:in(8, 1, Q168),
- Q170 = pqueue4:in(3, 0, Q169),
- Q171 = pqueue4:in(4, 0, Q170),
- Q172 = pqueue4:in(5, 0, Q171),
- Q173 = pqueue4:in(0, -1, Q172),
- Q174 = pqueue4:in(1, -1, Q173),
- Q175 = pqueue4:in(2, -1, Q174),
- [{-1, [0, 1, 2]}, {0, [3, 4, 5]}, {1, [6, 7, 8]}] = pqueue4:to_plist(Q175),
- 3 = pqueue4:len(pqueue4:filter(fun(I) -> I > 5 end, Q175)),
- 3 = pqueue4:len(pqueue4:filter(fun(I) -> I < 3 end, Q175)),
- 3 = pqueue4:len(pqueue4:filter(fun(I) -> (I < 1) orelse (I > 6) end, Q175)),
- {true, Q176} = pqueue4:remove_unique(fun(I) -> I == 4 end, Q175),
- [{-1, [0, 1, 2]}, {0, [3, 5]}, {1, [6, 7, 8]}] = pqueue4:to_plist(Q176),
- {true, Q177} = pqueue4:remove_unique(fun(I) -> I == 1 end, Q176),
- [{-1, [0, 2]}, {0, [3, 5]}, {1, [6, 7, 8]}] = pqueue4:to_plist(Q177),
- {true, Q178} = pqueue4:remove_unique(fun(I) -> I == 7 end, Q177),
- [{-1, [0, 2]}, {0, [3, 5]}, {1, [6, 8]}] = pqueue4:to_plist(Q178),
- 6 = pqueue4:len(Q178),
- {{value, 0, -1}, Q179} = pqueue4:pout(Q178),
- {{value, 2}, Q180} = pqueue4:out(Q179),
- {{value, 6}, Q181} = pqueue4:out(1, Q180),
- {false, Q181} = pqueue4:remove_unique(fun(I) -> I == 7 end, Q181),
- [{0, [3, 5]}, {1, [8]}] = pqueue4:to_plist(Q181),
- {true, Q182} = pqueue4:remove_unique(fun(I) -> I == 5 end, Q181),
- {true, Q183} = pqueue4:remove_unique(fun(I) -> I == 8 end, 1, Q182),
- {true, Q184} = pqueue4:remove_unique(fun(I) -> I == 3 end, Q183),
- {empty, Q184} = pqueue4:pout(Q184),
- {empty, Q184} = pqueue4:out(Q184),
- {empty, Q184} = pqueue4:out(0, Q184),
- ok.
-
-%%%------------------------------------------------------------------------
-%%% Private functions
-%%%------------------------------------------------------------------------
-
-%% @hidden
--define(FILTER_P_Qn128(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- {Qn128, Qn127, Qn126, Qn125, Qn124, Qn123, Qn122, Qn121,
- Qn120, Qn119, Qn118, Qn117, Qn116, Qn115, Qn114, Qn113},
- Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- V3,
- Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(FILTER_P_Qn112(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128,
- {Qn112, Qn111, Qn110, Qn109, Qn108, Qn107, Qn106, Qn105,
- Qn104, Qn103, Qn102, Qn101, Qn100, Qn99, Qn98, Qn97},
- Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128,
- V3,
- Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(FILTER_P_Qn96(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128, Qn112,
- {Qn96, Qn95, Qn94, Qn93, Qn92, Qn91, Qn90, Qn89,
- Qn88, Qn87, Qn86, Qn85, Qn84, Qn83, Qn82, Qn81},
- Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112,
- V3,
- Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(FILTER_P_Qn80(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96,
- {Qn80, Qn79, Qn78, Qn77, Qn76, Qn75, Qn74, Qn73,
- Qn72, Qn71, Qn70, Qn69, Qn68, Qn67, Qn66, Qn65},
- Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96,
- V3,
- Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(FILTER_P_Qn64(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80,
- {Qn64, Qn63, Qn62, Qn61, Qn60, Qn59, Qn58, Qn57,
- Qn56, Qn55, Qn54, Qn53, Qn52, Qn51, Qn50, Qn49},
- Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80,
- V3,
- Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(FILTER_P_Qn48(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64,
- {Qn48, Qn47, Qn46, Qn45, Qn44, Qn43, Qn42, Qn41,
- Qn40, Qn39, Qn38, Qn37, Qn36, Qn35, Qn34, Qn33},
- Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64,
- V3,
- Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(FILTER_P_Qn32(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48,
- {Qn32, Qn31, Qn30, Qn29, Qn28, Qn27, Qn26, Qn25,
- Qn24, Qn23, Qn22, Qn21, Qn20, Qn19, Qn18, Qn17},
- Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48,
- V3,
- Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(FILTER_P_Qn16(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32,
- {Qn16, Qn15, Qn14, Qn13, Qn12, Qn11, Qn10, Qn9,
- Qn8, Qn7, Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32,
- V3,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(FILTER_P_Qp16(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6, Qp7, Qp8,
- Qp9, Qp10, Qp11, Qp12, Qp13, Qp14, Qp15, Qp16},
- Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- V3,
- Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(FILTER_P_Qp32(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16,
- {Qp17, Qp18, Qp19, Qp20, Qp21, Qp22, Qp23, Qp24,
- Qp25, Qp26, Qp27, Qp28, Qp29, Qp30, Qp31, Qp32},
- Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16,
- V3,
- Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(FILTER_P_Qp48(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32,
- {Qp33, Qp34, Qp35, Qp36, Qp37, Qp38, Qp39, Qp40,
- Qp41, Qp42, Qp43, Qp44, Qp45, Qp46, Qp47, Qp48},
- Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32,
- V3,
- Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(FILTER_P_Qp64(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48,
- {Qp49, Qp50, Qp51, Qp52, Qp53, Qp54, Qp55, Qp56,
- Qp57, Qp58, Qp59, Qp60, Qp61, Qp62, Qp63, Qp64},
- Qp80, Qp96, Qp112, Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48,
- V3,
- Qp80, Qp96, Qp112, Qp128}).
--define(FILTER_P_Qp80(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64,
- {Qp65, Qp66, Qp67, Qp68, Qp69, Qp70, Qp71, Qp72,
- Qp73, Qp74, Qp75, Qp76, Qp77, Qp78, Qp79, Qp80},
- Qp96, Qp112, Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64,
- V3,
- Qp96, Qp112, Qp128}).
--define(FILTER_P_Qp96(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80,
- {Qp81, Qp82, Qp83, Qp84, Qp85, Qp86, Qp87, Qp88,
- Qp89, Qp90, Qp91, Qp92, Qp93, Qp94, Qp95, Qp96},
- Qp112, Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80,
- V3,
- Qp112, Qp128}).
--define(FILTER_P_Qp112(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96,
- {Qp97, Qp98, Qp99, Qp100, Qp101, Qp102, Qp103, Qp104,
- Qp105, Qp106, Qp107, Qp108, Qp109, Qp110, Qp111, Qp112},
- Qp128}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96,
- V3,
- Qp128}).
--define(FILTER_P_Qp128(P, V1, V2, V3),
-filter_priority(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- {Qp113, Qp114, Qp115, Qp116, Qp117, Qp118, Qp119, Qp120,
- Qp121, Qp122, Qp123, Qp124, Qp125, Qp126, Qp127, Qp128}}) ->
- V2 = queue:filter(F, V1),
- NewSize = Size - (queue:len(V1) - queue:len(V2)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- V3}).
-
-?FILTER_P_Qn128(-128,
- Qn128, NewQn128,
- {NewQn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?FILTER_P_Qn128(-127,
- Qn127, NewQn127,
- {Qn128, NewQn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?FILTER_P_Qn128(-126,
- Qn126, NewQn126,
- {Qn128, Qn127, NewQn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?FILTER_P_Qn128(-125,
- Qn125, NewQn125,
- {Qn128, Qn127, Qn126, NewQn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?FILTER_P_Qn128(-124,
- Qn124, NewQn124,
- {Qn128, Qn127, Qn126, Qn125, NewQn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?FILTER_P_Qn128(-123,
- Qn123, NewQn123,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- NewQn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?FILTER_P_Qn128(-122,
- Qn122, NewQn122,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, NewQn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?FILTER_P_Qn128(-121,
- Qn121, NewQn121,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, NewQn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?FILTER_P_Qn128(-120,
- Qn120, NewQn120,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, NewQn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?FILTER_P_Qn128(-119,
- Qn119, NewQn119,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, NewQn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?FILTER_P_Qn128(-118,
- Qn118, NewQn118,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, NewQn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?FILTER_P_Qn128(-117,
- Qn117, NewQn117,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- NewQn117, Qn116, Qn115, Qn114, Qn113});
-?FILTER_P_Qn128(-116,
- Qn116, NewQn116,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, NewQn116, Qn115, Qn114, Qn113});
-?FILTER_P_Qn128(-115,
- Qn115, NewQn115,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, NewQn115, Qn114, Qn113});
-?FILTER_P_Qn128(-114,
- Qn114, NewQn114,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, NewQn114, Qn113});
-?FILTER_P_Qn128(-113,
- Qn113, NewQn113,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, NewQn113});
-?FILTER_P_Qn112(-112,
- Qn112, NewQn112,
- {NewQn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?FILTER_P_Qn112(-111,
- Qn111, NewQn111,
- {Qn112, NewQn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?FILTER_P_Qn112(-110,
- Qn110, NewQn110,
- {Qn112, Qn111, NewQn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?FILTER_P_Qn112(-109,
- Qn109, NewQn109,
- {Qn112, Qn111, Qn110, NewQn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?FILTER_P_Qn112(-108,
- Qn108, NewQn108,
- {Qn112, Qn111, Qn110, Qn109, NewQn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?FILTER_P_Qn112(-107,
- Qn107, NewQn107,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- NewQn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?FILTER_P_Qn112(-106,
- Qn106, NewQn106,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, NewQn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?FILTER_P_Qn112(-105,
- Qn105, NewQn105,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, NewQn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?FILTER_P_Qn112(-104,
- Qn104, NewQn104,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, NewQn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?FILTER_P_Qn112(-103,
- Qn103, NewQn103,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, NewQn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?FILTER_P_Qn112(-102,
- Qn102, NewQn102,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, NewQn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?FILTER_P_Qn112(-101,
- Qn101, NewQn101,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- NewQn101, Qn100, Qn99, Qn98, Qn97});
-?FILTER_P_Qn112(-100,
- Qn100, NewQn100,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, NewQn100, Qn99, Qn98, Qn97});
-?FILTER_P_Qn112(-99,
- Qn99, NewQn99,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, NewQn99, Qn98, Qn97});
-?FILTER_P_Qn112(-98,
- Qn98, NewQn98,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, NewQn98, Qn97});
-?FILTER_P_Qn112(-97,
- Qn97, NewQn97,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, NewQn97});
-?FILTER_P_Qn96(-96,
- Qn96, NewQn96,
- {NewQn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?FILTER_P_Qn96(-95,
- Qn95, NewQn95,
- {Qn96, NewQn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?FILTER_P_Qn96(-94,
- Qn94, NewQn94,
- {Qn96, Qn95, NewQn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?FILTER_P_Qn96(-93,
- Qn93, NewQn93,
- {Qn96, Qn95, Qn94, NewQn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?FILTER_P_Qn96(-92,
- Qn92, NewQn92,
- {Qn96, Qn95, Qn94, Qn93, NewQn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?FILTER_P_Qn96(-91,
- Qn91, NewQn91,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- NewQn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?FILTER_P_Qn96(-90,
- Qn90, NewQn90,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, NewQn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?FILTER_P_Qn96(-89,
- Qn89, NewQn89,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, NewQn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?FILTER_P_Qn96(-88,
- Qn88, NewQn88,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, NewQn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?FILTER_P_Qn96(-87,
- Qn87, NewQn87,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, NewQn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?FILTER_P_Qn96(-86,
- Qn86, NewQn86,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, NewQn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?FILTER_P_Qn96(-85,
- Qn85, NewQn85,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- NewQn85, Qn84, Qn83, Qn82, Qn81});
-?FILTER_P_Qn96(-84,
- Qn84, NewQn84,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, NewQn84, Qn83, Qn82, Qn81});
-?FILTER_P_Qn96(-83,
- Qn83, NewQn83,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, NewQn83, Qn82, Qn81});
-?FILTER_P_Qn96(-82,
- Qn82, NewQn82,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, NewQn82, Qn81});
-?FILTER_P_Qn96(-81,
- Qn81, NewQn81,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, NewQn81});
-?FILTER_P_Qn80(-80,
- Qn80, NewQn80,
- {NewQn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?FILTER_P_Qn80(-79,
- Qn79, NewQn79,
- {Qn80, NewQn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?FILTER_P_Qn80(-78,
- Qn78, NewQn78,
- {Qn80, Qn79, NewQn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?FILTER_P_Qn80(-77,
- Qn77, NewQn77,
- {Qn80, Qn79, Qn78, NewQn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?FILTER_P_Qn80(-76,
- Qn76, NewQn76,
- {Qn80, Qn79, Qn78, Qn77, NewQn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?FILTER_P_Qn80(-75,
- Qn75, NewQn75,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- NewQn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?FILTER_P_Qn80(-74,
- Qn74, NewQn74,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, NewQn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?FILTER_P_Qn80(-73,
- Qn73, NewQn73,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, NewQn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?FILTER_P_Qn80(-72,
- Qn72, NewQn72,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, NewQn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?FILTER_P_Qn80(-71,
- Qn71, NewQn71,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, NewQn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?FILTER_P_Qn80(-70,
- Qn70, NewQn70,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, NewQn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?FILTER_P_Qn80(-69,
- Qn69, NewQn69,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- NewQn69, Qn68, Qn67, Qn66, Qn65});
-?FILTER_P_Qn80(-68,
- Qn68, NewQn68,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, NewQn68, Qn67, Qn66, Qn65});
-?FILTER_P_Qn80(-67,
- Qn67, NewQn67,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, NewQn67, Qn66, Qn65});
-?FILTER_P_Qn80(-66,
- Qn66, NewQn66,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, NewQn66, Qn65});
-?FILTER_P_Qn80(-65,
- Qn65, NewQn65,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, NewQn65});
-?FILTER_P_Qn64(-64,
- Qn64, NewQn64,
- {NewQn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?FILTER_P_Qn64(-63,
- Qn63, NewQn63,
- {Qn64, NewQn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?FILTER_P_Qn64(-62,
- Qn62, NewQn62,
- {Qn64, Qn63, NewQn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?FILTER_P_Qn64(-61,
- Qn61, NewQn61,
- {Qn64, Qn63, Qn62, NewQn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?FILTER_P_Qn64(-60,
- Qn60, NewQn60,
- {Qn64, Qn63, Qn62, Qn61, NewQn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?FILTER_P_Qn64(-59,
- Qn59, NewQn59,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- NewQn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?FILTER_P_Qn64(-58,
- Qn58, NewQn58,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, NewQn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?FILTER_P_Qn64(-57,
- Qn57, NewQn57,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, NewQn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?FILTER_P_Qn64(-56,
- Qn56, NewQn56,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, NewQn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?FILTER_P_Qn64(-55,
- Qn55, NewQn55,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, NewQn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?FILTER_P_Qn64(-54,
- Qn54, NewQn54,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, NewQn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?FILTER_P_Qn64(-53,
- Qn53, NewQn53,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- NewQn53, Qn52, Qn51, Qn50, Qn49});
-?FILTER_P_Qn64(-52,
- Qn52, NewQn52,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, NewQn52, Qn51, Qn50, Qn49});
-?FILTER_P_Qn64(-51,
- Qn51, NewQn51,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, NewQn51, Qn50, Qn49});
-?FILTER_P_Qn64(-50,
- Qn50, NewQn50,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, NewQn50, Qn49});
-?FILTER_P_Qn64(-49,
- Qn49, NewQn49,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, NewQn49});
-?FILTER_P_Qn48(-48,
- Qn48, NewQn48,
- {NewQn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?FILTER_P_Qn48(-47,
- Qn47, NewQn47,
- {Qn48, NewQn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?FILTER_P_Qn48(-46,
- Qn46, NewQn46,
- {Qn48, Qn47, NewQn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?FILTER_P_Qn48(-45,
- Qn45, NewQn45,
- {Qn48, Qn47, Qn46, NewQn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?FILTER_P_Qn48(-44,
- Qn44, NewQn44,
- {Qn48, Qn47, Qn46, Qn45, NewQn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?FILTER_P_Qn48(-43,
- Qn43, NewQn43,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- NewQn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?FILTER_P_Qn48(-42,
- Qn42, NewQn42,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, NewQn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?FILTER_P_Qn48(-41,
- Qn41, NewQn41,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, NewQn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?FILTER_P_Qn48(-40,
- Qn40, NewQn40,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, NewQn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?FILTER_P_Qn48(-39,
- Qn39, NewQn39,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, NewQn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?FILTER_P_Qn48(-38,
- Qn38, NewQn38,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, NewQn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?FILTER_P_Qn48(-37,
- Qn37, NewQn37,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- NewQn37, Qn36, Qn35, Qn34, Qn33});
-?FILTER_P_Qn48(-36,
- Qn36, NewQn36,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, NewQn36, Qn35, Qn34, Qn33});
-?FILTER_P_Qn48(-35,
- Qn35, NewQn35,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, NewQn35, Qn34, Qn33});
-?FILTER_P_Qn48(-34,
- Qn34, NewQn34,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, NewQn34, Qn33});
-?FILTER_P_Qn48(-33,
- Qn33, NewQn33,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, NewQn33});
-?FILTER_P_Qn32(-32,
- Qn32, NewQn32,
- {NewQn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?FILTER_P_Qn32(-31,
- Qn31, NewQn31,
- {Qn32, NewQn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?FILTER_P_Qn32(-30,
- Qn30, NewQn30,
- {Qn32, Qn31, NewQn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?FILTER_P_Qn32(-29,
- Qn29, NewQn29,
- {Qn32, Qn31, Qn30, NewQn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?FILTER_P_Qn32(-28,
- Qn28, NewQn28,
- {Qn32, Qn31, Qn30, Qn29, NewQn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?FILTER_P_Qn32(-27,
- Qn27, NewQn27,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- NewQn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?FILTER_P_Qn32(-26,
- Qn26, NewQn26,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, NewQn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?FILTER_P_Qn32(-25,
- Qn25, NewQn25,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, NewQn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?FILTER_P_Qn32(-24,
- Qn24, NewQn24,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, NewQn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?FILTER_P_Qn32(-23,
- Qn23, NewQn23,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, NewQn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?FILTER_P_Qn32(-22,
- Qn22, NewQn22,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, NewQn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?FILTER_P_Qn32(-21,
- Qn21, NewQn21,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- NewQn21, Qn20, Qn19, Qn18, Qn17});
-?FILTER_P_Qn32(-20,
- Qn20, NewQn20,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, NewQn20, Qn19, Qn18, Qn17});
-?FILTER_P_Qn32(-19,
- Qn19, NewQn19,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, NewQn19, Qn18, Qn17});
-?FILTER_P_Qn32(-18,
- Qn18, NewQn18,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, NewQn18, Qn17});
-?FILTER_P_Qn32(-17,
- Qn17, NewQn17,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, NewQn17});
-?FILTER_P_Qn16(-16,
- Qn16, NewQn16,
- {NewQn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?FILTER_P_Qn16(-15,
- Qn15, NewQn15,
- {Qn16, NewQn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?FILTER_P_Qn16(-14,
- Qn14, NewQn14,
- {Qn16, Qn15, NewQn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?FILTER_P_Qn16(-13,
- Qn13, NewQn13,
- {Qn16, Qn15, Qn14, NewQn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?FILTER_P_Qn16(-12,
- Qn12, NewQn12,
- {Qn16, Qn15, Qn14, Qn13, NewQn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?FILTER_P_Qn16(-11,
- Qn11, NewQn11,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- NewQn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?FILTER_P_Qn16(-10,
- Qn10, NewQn10,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, NewQn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?FILTER_P_Qn16(-9,
- Qn9, NewQn9,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, NewQn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?FILTER_P_Qn16(-8,
- Qn8, NewQn8,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, NewQn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?FILTER_P_Qn16(-7,
- Qn7, NewQn7,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, NewQn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?FILTER_P_Qn16(-6,
- Qn6, NewQn6,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, NewQn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?FILTER_P_Qn16(-5,
- Qn5, NewQn5,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- NewQn5, Qn4, Qn3, Qn2, Qn1});
-?FILTER_P_Qn16(-4,
- Qn4, NewQn4,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, NewQn4, Qn3, Qn2, Qn1});
-?FILTER_P_Qn16(-3,
- Qn3, NewQn3,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, NewQn3, Qn2, Qn1});
-?FILTER_P_Qn16(-2,
- Qn2, NewQn2,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, NewQn2, Qn1});
-?FILTER_P_Qn16(-1,
- Qn1, NewQn1,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, NewQn1});
-filter_priority(0, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- NewQ0 = queue:filter(F, Q0),
- NewSize = Size - (queue:len(Q0) - queue:len(NewQ0)),
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- NewQ0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128};
-?FILTER_P_Qp16(1,
- Qp1, NewQp1,
- {NewQp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?FILTER_P_Qp16(2,
- Qp2, NewQp2,
- {Qp1, NewQp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?FILTER_P_Qp16(3,
- Qp3, NewQp3,
- {Qp1, Qp2, NewQp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?FILTER_P_Qp16(4,
- Qp4, NewQp4,
- {Qp1, Qp2, Qp3, NewQp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?FILTER_P_Qp16(5,
- Qp5, NewQp5,
- {Qp1, Qp2, Qp3, Qp4, NewQp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?FILTER_P_Qp16(6,
- Qp6, NewQp6,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- NewQp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?FILTER_P_Qp16(7,
- Qp7, NewQp7,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, NewQp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?FILTER_P_Qp16(8,
- Qp8, NewQp8,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, NewQp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?FILTER_P_Qp16(9,
- Qp9, NewQp9,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, NewQp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?FILTER_P_Qp16(10,
- Qp10, NewQp10,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, NewQp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?FILTER_P_Qp16(11,
- Qp11, NewQp11,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, NewQp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?FILTER_P_Qp16(12,
- Qp12, NewQp12,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- NewQp12, Qp13, Qp14, Qp15, Qp16});
-?FILTER_P_Qp16(13,
- Qp13, NewQp13,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, NewQp13, Qp14, Qp15, Qp16});
-?FILTER_P_Qp16(14,
- Qp14, NewQp14,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, NewQp14, Qp15, Qp16});
-?FILTER_P_Qp16(15,
- Qp15, NewQp15,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, NewQp15, Qp16});
-?FILTER_P_Qp16(16,
- Qp16, NewQp16,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, NewQp16});
-?FILTER_P_Qp32(17,
- Qp17, NewQp17,
- {NewQp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?FILTER_P_Qp32(18,
- Qp18, NewQp18,
- {Qp17, NewQp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?FILTER_P_Qp32(19,
- Qp19, NewQp19,
- {Qp17, Qp18, NewQp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?FILTER_P_Qp32(20,
- Qp20, NewQp20,
- {Qp17, Qp18, Qp19, NewQp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?FILTER_P_Qp32(21,
- Qp21, NewQp21,
- {Qp17, Qp18, Qp19, Qp20, NewQp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?FILTER_P_Qp32(22,
- Qp22, NewQp22,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- NewQp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?FILTER_P_Qp32(23,
- Qp23, NewQp23,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, NewQp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?FILTER_P_Qp32(24,
- Qp24, NewQp24,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, NewQp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?FILTER_P_Qp32(25,
- Qp25, NewQp25,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, NewQp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?FILTER_P_Qp32(26,
- Qp26, NewQp26,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, NewQp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?FILTER_P_Qp32(27,
- Qp27, NewQp27,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, NewQp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?FILTER_P_Qp32(28,
- Qp28, NewQp28,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- NewQp28, Qp29, Qp30, Qp31, Qp32});
-?FILTER_P_Qp32(29,
- Qp29, NewQp29,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, NewQp29, Qp30, Qp31, Qp32});
-?FILTER_P_Qp32(30,
- Qp30, NewQp30,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, NewQp30, Qp31, Qp32});
-?FILTER_P_Qp32(31,
- Qp31, NewQp31,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, NewQp31, Qp32});
-?FILTER_P_Qp32(32,
- Qp32, NewQp32,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, NewQp32});
-?FILTER_P_Qp48(33,
- Qp33, NewQp33,
- {NewQp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?FILTER_P_Qp48(34,
- Qp34, NewQp34,
- {Qp33, NewQp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?FILTER_P_Qp48(35,
- Qp35, NewQp35,
- {Qp33, Qp34, NewQp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?FILTER_P_Qp48(36,
- Qp36, NewQp36,
- {Qp33, Qp34, Qp35, NewQp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?FILTER_P_Qp48(37,
- Qp37, NewQp37,
- {Qp33, Qp34, Qp35, Qp36, NewQp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?FILTER_P_Qp48(38,
- Qp38, NewQp38,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- NewQp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?FILTER_P_Qp48(39,
- Qp39, NewQp39,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, NewQp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?FILTER_P_Qp48(40,
- Qp40, NewQp40,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, NewQp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?FILTER_P_Qp48(41,
- Qp41, NewQp41,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, NewQp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?FILTER_P_Qp48(42,
- Qp42, NewQp42,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, NewQp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?FILTER_P_Qp48(43,
- Qp43, NewQp43,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, NewQp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?FILTER_P_Qp48(44,
- Qp44, NewQp44,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- NewQp44, Qp45, Qp46, Qp47, Qp48});
-?FILTER_P_Qp48(45,
- Qp45, NewQp45,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, NewQp45, Qp46, Qp47, Qp48});
-?FILTER_P_Qp48(46,
- Qp46, NewQp46,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, NewQp46, Qp47, Qp48});
-?FILTER_P_Qp48(47,
- Qp47, NewQp47,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, NewQp47, Qp48});
-?FILTER_P_Qp48(48,
- Qp48, NewQp48,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, NewQp48});
-?FILTER_P_Qp64(49,
- Qp49, NewQp49,
- {NewQp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?FILTER_P_Qp64(50,
- Qp50, NewQp50,
- {Qp49, NewQp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?FILTER_P_Qp64(51,
- Qp51, NewQp51,
- {Qp49, Qp50, NewQp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?FILTER_P_Qp64(52,
- Qp52, NewQp52,
- {Qp49, Qp50, Qp51, NewQp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?FILTER_P_Qp64(53,
- Qp53, NewQp53,
- {Qp49, Qp50, Qp51, Qp52, NewQp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?FILTER_P_Qp64(54,
- Qp54, NewQp54,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- NewQp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?FILTER_P_Qp64(55,
- Qp55, NewQp55,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, NewQp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?FILTER_P_Qp64(56,
- Qp56, NewQp56,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, NewQp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?FILTER_P_Qp64(57,
- Qp57, NewQp57,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, NewQp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?FILTER_P_Qp64(58,
- Qp58, NewQp58,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, NewQp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?FILTER_P_Qp64(59,
- Qp59, NewQp59,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, NewQp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?FILTER_P_Qp64(60,
- Qp60, NewQp60,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- NewQp60, Qp61, Qp62, Qp63, Qp64});
-?FILTER_P_Qp64(61,
- Qp61, NewQp61,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, NewQp61, Qp62, Qp63, Qp64});
-?FILTER_P_Qp64(62,
- Qp62, NewQp62,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, NewQp62, Qp63, Qp64});
-?FILTER_P_Qp64(63,
- Qp63, NewQp63,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, NewQp63, Qp64});
-?FILTER_P_Qp64(64,
- Qp64, NewQp64,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, NewQp64});
-?FILTER_P_Qp80(65,
- Qp65, NewQp65,
- {NewQp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?FILTER_P_Qp80(66,
- Qp66, NewQp66,
- {Qp65, NewQp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?FILTER_P_Qp80(67,
- Qp67, NewQp67,
- {Qp65, Qp66, NewQp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?FILTER_P_Qp80(68,
- Qp68, NewQp68,
- {Qp65, Qp66, Qp67, NewQp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?FILTER_P_Qp80(69,
- Qp69, NewQp69,
- {Qp65, Qp66, Qp67, Qp68, NewQp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?FILTER_P_Qp80(70,
- Qp70, NewQp70,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- NewQp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?FILTER_P_Qp80(71,
- Qp71, NewQp71,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, NewQp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?FILTER_P_Qp80(72,
- Qp72, NewQp72,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, NewQp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?FILTER_P_Qp80(73,
- Qp73, NewQp73,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, NewQp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?FILTER_P_Qp80(74,
- Qp74, NewQp74,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, NewQp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?FILTER_P_Qp80(75,
- Qp75, NewQp75,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, NewQp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?FILTER_P_Qp80(76,
- Qp76, NewQp76,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- NewQp76, Qp77, Qp78, Qp79, Qp80});
-?FILTER_P_Qp80(77,
- Qp77, NewQp77,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, NewQp77, Qp78, Qp79, Qp80});
-?FILTER_P_Qp80(78,
- Qp78, NewQp78,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, NewQp78, Qp79, Qp80});
-?FILTER_P_Qp80(79,
- Qp79, NewQp79,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, NewQp79, Qp80});
-?FILTER_P_Qp80(80,
- Qp80, NewQp80,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, NewQp80});
-?FILTER_P_Qp96(81,
- Qp81, NewQp81,
- {NewQp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?FILTER_P_Qp96(82,
- Qp82, NewQp82,
- {Qp81, NewQp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?FILTER_P_Qp96(83,
- Qp83, NewQp83,
- {Qp81, Qp82, NewQp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?FILTER_P_Qp96(84,
- Qp84, NewQp84,
- {Qp81, Qp82, Qp83, NewQp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?FILTER_P_Qp96(85,
- Qp85, NewQp85,
- {Qp81, Qp82, Qp83, Qp84, NewQp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?FILTER_P_Qp96(86,
- Qp86, NewQp86,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- NewQp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?FILTER_P_Qp96(87,
- Qp87, NewQp87,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, NewQp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?FILTER_P_Qp96(88,
- Qp88, NewQp88,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, NewQp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?FILTER_P_Qp96(89,
- Qp89, NewQp89,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, NewQp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?FILTER_P_Qp96(90,
- Qp90, NewQp90,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, NewQp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?FILTER_P_Qp96(91,
- Qp91, NewQp91,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, NewQp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?FILTER_P_Qp96(92,
- Qp92, NewQp92,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- NewQp92, Qp93, Qp94, Qp95, Qp96});
-?FILTER_P_Qp96(93,
- Qp93, NewQp93,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, NewQp93, Qp94, Qp95, Qp96});
-?FILTER_P_Qp96(94,
- Qp94, NewQp94,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, NewQp94, Qp95, Qp96});
-?FILTER_P_Qp96(95,
- Qp95, NewQp95,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, NewQp95, Qp96});
-?FILTER_P_Qp96(96,
- Qp96, NewQp96,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, NewQp96});
-?FILTER_P_Qp112(97,
- Qp97, NewQp97,
- {NewQp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?FILTER_P_Qp112(98,
- Qp98, NewQp98,
- {Qp97, NewQp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?FILTER_P_Qp112(99,
- Qp99, NewQp99,
- {Qp97, Qp98, NewQp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?FILTER_P_Qp112(100,
- Qp100, NewQp100,
- {Qp97, Qp98, Qp99, NewQp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?FILTER_P_Qp112(101,
- Qp101, NewQp101,
- {Qp97, Qp98, Qp99, Qp100, NewQp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?FILTER_P_Qp112(102,
- Qp102, NewQp102,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- NewQp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?FILTER_P_Qp112(103,
- Qp103, NewQp103,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, NewQp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?FILTER_P_Qp112(104,
- Qp104, NewQp104,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, NewQp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?FILTER_P_Qp112(105,
- Qp105, NewQp105,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, NewQp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?FILTER_P_Qp112(106,
- Qp106, NewQp106,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, NewQp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?FILTER_P_Qp112(107,
- Qp107, NewQp107,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, NewQp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?FILTER_P_Qp112(108,
- Qp108, NewQp108,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- NewQp108, Qp109, Qp110, Qp111, Qp112});
-?FILTER_P_Qp112(109,
- Qp109, NewQp109,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, NewQp109, Qp110, Qp111, Qp112});
-?FILTER_P_Qp112(110,
- Qp110, NewQp110,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, NewQp110, Qp111, Qp112});
-?FILTER_P_Qp112(111,
- Qp111, NewQp111,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, NewQp111, Qp112});
-?FILTER_P_Qp112(112,
- Qp112, NewQp112,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, NewQp112});
-?FILTER_P_Qp128(113,
- Qp113, NewQp113,
- {NewQp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?FILTER_P_Qp128(114,
- Qp114, NewQp114,
- {Qp113, NewQp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?FILTER_P_Qp128(115,
- Qp115, NewQp115,
- {Qp113, Qp114, NewQp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?FILTER_P_Qp128(116,
- Qp116, NewQp116,
- {Qp113, Qp114, Qp115, NewQp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?FILTER_P_Qp128(117,
- Qp117, NewQp117,
- {Qp113, Qp114, Qp115, Qp116, NewQp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?FILTER_P_Qp128(118,
- Qp118, NewQp118,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- NewQp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?FILTER_P_Qp128(119,
- Qp119, NewQp119,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, NewQp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?FILTER_P_Qp128(120,
- Qp120, NewQp120,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, NewQp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?FILTER_P_Qp128(121,
- Qp121, NewQp121,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, NewQp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?FILTER_P_Qp128(122,
- Qp122, NewQp122,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, NewQp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?FILTER_P_Qp128(123,
- Qp123, NewQp123,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, NewQp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?FILTER_P_Qp128(124,
- Qp124, NewQp124,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- NewQp124, Qp125, Qp126, Qp127, Qp128});
-?FILTER_P_Qp128(125,
- Qp125, NewQp125,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, NewQp125, Qp126, Qp127, Qp128});
-?FILTER_P_Qp128(126,
- Qp126, NewQp126,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, NewQp126, Qp127, Qp128});
-?FILTER_P_Qp128(127,
- Qp127, NewQp127,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, NewQp127, Qp128});
-?FILTER_P_Qp128(128,
- Qp128, NewQp128,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, NewQp128}).
-
-%% @hidden
--define(IN_HIGHER_Qn128(P, V),
-in_higher(P,
- {_,
- Size,
- {Qn128, Qn127, Qn126, Qn125, Qn124, Qn123, Qn122, Qn121,
- Qn120, Qn119, Qn118, Qn117, Qn116, Qn115, Qn114, Qn113},
- Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {P,
- Size + 1,
- V,
- Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_HIGHER_Qn112(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128,
- {Qn112, Qn111, Qn110, Qn109, Qn108, Qn107, Qn106, Qn105,
- Qn104, Qn103, Qn102, Qn101, Qn100, Qn99, Qn98, Qn97},
- Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {P,
- Size + 1,
- Qn128,
- V,
- Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_HIGHER_Qn96(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128, Qn112,
- {Qn96, Qn95, Qn94, Qn93, Qn92, Qn91, Qn90, Qn89,
- Qn88, Qn87, Qn86, Qn85, Qn84, Qn83, Qn82, Qn81},
- Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {P,
- Size + 1,
- Qn128, Qn112,
- V,
- Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_HIGHER_Qn80(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128, Qn112, Qn96,
- {Qn80, Qn79, Qn78, Qn77, Qn76, Qn75, Qn74, Qn73,
- Qn72, Qn71, Qn70, Qn69, Qn68, Qn67, Qn66, Qn65},
- Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {P,
- Size + 1,
- Qn128, Qn112, Qn96,
- V,
- Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_HIGHER_Qn64(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80,
- {Qn64, Qn63, Qn62, Qn61, Qn60, Qn59, Qn58, Qn57,
- Qn56, Qn55, Qn54, Qn53, Qn52, Qn51, Qn50, Qn49},
- Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {P,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80,
- V,
- Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_HIGHER_Qn48(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64,
- {Qn48, Qn47, Qn46, Qn45, Qn44, Qn43, Qn42, Qn41,
- Qn40, Qn39, Qn38, Qn37, Qn36, Qn35, Qn34, Qn33},
- Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {P,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64,
- V,
- Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_HIGHER_Qn32(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48,
- {Qn32, Qn31, Qn30, Qn29, Qn28, Qn27, Qn26, Qn25,
- Qn24, Qn23, Qn22, Qn21, Qn20, Qn19, Qn18, Qn17},
- Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {P,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48,
- V,
- Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_HIGHER_Qn16(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32,
- {Qn16, Qn15, Qn14, Qn13, Qn12, Qn11, Qn10, Qn9,
- Qn8, Qn7, Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {P,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32,
- V,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_HIGHER_Qp16(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6, Qp7, Qp8,
- Qp9, Qp10, Qp11, Qp12, Qp13, Qp14, Qp15, Qp16},
- Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {P,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- V,
- Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_HIGHER_Qp32(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16,
- {Qp17, Qp18, Qp19, Qp20, Qp21, Qp22, Qp23, Qp24,
- Qp25, Qp26, Qp27, Qp28, Qp29, Qp30, Qp31, Qp32},
- Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {P,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16,
- V,
- Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_HIGHER_Qp48(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32,
- {Qp33, Qp34, Qp35, Qp36, Qp37, Qp38, Qp39, Qp40,
- Qp41, Qp42, Qp43, Qp44, Qp45, Qp46, Qp47, Qp48},
- Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {P,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32,
- V,
- Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_HIGHER_Qp64(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48,
- {Qp49, Qp50, Qp51, Qp52, Qp53, Qp54, Qp55, Qp56,
- Qp57, Qp58, Qp59, Qp60, Qp61, Qp62, Qp63, Qp64},
- Qp80, Qp96, Qp112, Qp128}, X) ->
- {P,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48,
- V,
- Qp80, Qp96, Qp112, Qp128}).
--define(IN_HIGHER_Qp80(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64,
- {Qp65, Qp66, Qp67, Qp68, Qp69, Qp70, Qp71, Qp72,
- Qp73, Qp74, Qp75, Qp76, Qp77, Qp78, Qp79, Qp80},
- Qp96, Qp112, Qp128}, X) ->
- {P,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64,
- V,
- Qp96, Qp112, Qp128}).
--define(IN_HIGHER_Qp96(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80,
- {Qp81, Qp82, Qp83, Qp84, Qp85, Qp86, Qp87, Qp88,
- Qp89, Qp90, Qp91, Qp92, Qp93, Qp94, Qp95, Qp96},
- Qp112, Qp128}, X) ->
- {P,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80,
- V,
- Qp112, Qp128}).
--define(IN_HIGHER_Qp112(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96,
- {Qp97, Qp98, Qp99, Qp100, Qp101, Qp102, Qp103, Qp104,
- Qp105, Qp106, Qp107, Qp108, Qp109, Qp110, Qp111, Qp112},
- Qp128}, X) ->
- {P,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96,
- V,
- Qp128}).
--define(IN_HIGHER_Qp128(P, V),
-in_higher(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- {Qp113, Qp114, Qp115, Qp116, Qp117, Qp118, Qp119, Qp120,
- Qp121, Qp122, Qp123, Qp124, Qp125, Qp126, Qp127, Qp128}}, X) ->
- {P,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- V}).
-
-?IN_HIGHER_Qn128(-128,
- {queue:in(X, Qn128), Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_HIGHER_Qn128(-127,
- {Qn128, queue:in(X, Qn127), Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_HIGHER_Qn128(-126,
- {Qn128, Qn127, queue:in(X, Qn126), Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_HIGHER_Qn128(-125,
- {Qn128, Qn127, Qn126, queue:in(X, Qn125), Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_HIGHER_Qn128(-124,
- {Qn128, Qn127, Qn126, Qn125, queue:in(X, Qn124),
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_HIGHER_Qn128(-123,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- queue:in(X, Qn123), Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_HIGHER_Qn128(-122,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, queue:in(X, Qn122), Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_HIGHER_Qn128(-121,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, queue:in(X, Qn121), Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_HIGHER_Qn128(-120,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, queue:in(X, Qn120), Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_HIGHER_Qn128(-119,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, queue:in(X, Qn119), Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_HIGHER_Qn128(-118,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, queue:in(X, Qn118),
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_HIGHER_Qn128(-117,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- queue:in(X, Qn117), Qn116, Qn115, Qn114, Qn113});
-?IN_HIGHER_Qn128(-116,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, queue:in(X, Qn116), Qn115, Qn114, Qn113});
-?IN_HIGHER_Qn128(-115,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, queue:in(X, Qn115), Qn114, Qn113});
-?IN_HIGHER_Qn128(-114,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, queue:in(X, Qn114), Qn113});
-?IN_HIGHER_Qn128(-113,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, queue:in(X, Qn113)});
-?IN_HIGHER_Qn112(-112,
- {queue:in(X, Qn112), Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_HIGHER_Qn112(-111,
- {Qn112, queue:in(X, Qn111), Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_HIGHER_Qn112(-110,
- {Qn112, Qn111, queue:in(X, Qn110), Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_HIGHER_Qn112(-109,
- {Qn112, Qn111, Qn110, queue:in(X, Qn109), Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_HIGHER_Qn112(-108,
- {Qn112, Qn111, Qn110, Qn109, queue:in(X, Qn108),
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_HIGHER_Qn112(-107,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- queue:in(X, Qn107), Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_HIGHER_Qn112(-106,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, queue:in(X, Qn106), Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_HIGHER_Qn112(-105,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, queue:in(X, Qn105), Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_HIGHER_Qn112(-104,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, queue:in(X, Qn104), Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_HIGHER_Qn112(-103,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, queue:in(X, Qn103), Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_HIGHER_Qn112(-102,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, queue:in(X, Qn102),
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_HIGHER_Qn112(-101,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- queue:in(X, Qn101), Qn100, Qn99, Qn98, Qn97});
-?IN_HIGHER_Qn112(-100,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, queue:in(X, Qn100), Qn99, Qn98, Qn97});
-?IN_HIGHER_Qn112(-99,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, queue:in(X, Qn99), Qn98, Qn97});
-?IN_HIGHER_Qn112(-98,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, queue:in(X, Qn98), Qn97});
-?IN_HIGHER_Qn112(-97,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, queue:in(X, Qn97)});
-?IN_HIGHER_Qn96(-96,
- {queue:in(X, Qn96), Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_HIGHER_Qn96(-95,
- {Qn96, queue:in(X, Qn95), Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_HIGHER_Qn96(-94,
- {Qn96, Qn95, queue:in(X, Qn94), Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_HIGHER_Qn96(-93,
- {Qn96, Qn95, Qn94, queue:in(X, Qn93), Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_HIGHER_Qn96(-92,
- {Qn96, Qn95, Qn94, Qn93, queue:in(X, Qn92),
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_HIGHER_Qn96(-91,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- queue:in(X, Qn91), Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_HIGHER_Qn96(-90,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, queue:in(X, Qn90), Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_HIGHER_Qn96(-89,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, queue:in(X, Qn89), Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_HIGHER_Qn96(-88,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, queue:in(X, Qn88), Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_HIGHER_Qn96(-87,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, queue:in(X, Qn87), Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_HIGHER_Qn96(-86,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, queue:in(X, Qn86),
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_HIGHER_Qn96(-85,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- queue:in(X, Qn85), Qn84, Qn83, Qn82, Qn81});
-?IN_HIGHER_Qn96(-84,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, queue:in(X, Qn84), Qn83, Qn82, Qn81});
-?IN_HIGHER_Qn96(-83,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, queue:in(X, Qn83), Qn82, Qn81});
-?IN_HIGHER_Qn96(-82,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, queue:in(X, Qn82), Qn81});
-?IN_HIGHER_Qn96(-81,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, queue:in(X, Qn81)});
-?IN_HIGHER_Qn80(-80,
- {queue:in(X, Qn80), Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_HIGHER_Qn80(-79,
- {Qn80, queue:in(X, Qn79), Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_HIGHER_Qn80(-78,
- {Qn80, Qn79, queue:in(X, Qn78), Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_HIGHER_Qn80(-77,
- {Qn80, Qn79, Qn78, queue:in(X, Qn77), Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_HIGHER_Qn80(-76,
- {Qn80, Qn79, Qn78, Qn77, queue:in(X, Qn76),
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_HIGHER_Qn80(-75,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- queue:in(X, Qn75), Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_HIGHER_Qn80(-74,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, queue:in(X, Qn74), Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_HIGHER_Qn80(-73,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, queue:in(X, Qn73), Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_HIGHER_Qn80(-72,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, queue:in(X, Qn72), Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_HIGHER_Qn80(-71,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, queue:in(X, Qn71), Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_HIGHER_Qn80(-70,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, queue:in(X, Qn70),
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_HIGHER_Qn80(-69,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- queue:in(X, Qn69), Qn68, Qn67, Qn66, Qn65});
-?IN_HIGHER_Qn80(-68,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, queue:in(X, Qn68), Qn67, Qn66, Qn65});
-?IN_HIGHER_Qn80(-67,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, queue:in(X, Qn67), Qn66, Qn65});
-?IN_HIGHER_Qn80(-66,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, queue:in(X, Qn66), Qn65});
-?IN_HIGHER_Qn80(-65,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, queue:in(X, Qn65)});
-?IN_HIGHER_Qn64(-64,
- {queue:in(X, Qn64), Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_HIGHER_Qn64(-63,
- {Qn64, queue:in(X, Qn63), Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_HIGHER_Qn64(-62,
- {Qn64, Qn63, queue:in(X, Qn62), Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_HIGHER_Qn64(-61,
- {Qn64, Qn63, Qn62, queue:in(X, Qn61), Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_HIGHER_Qn64(-60,
- {Qn64, Qn63, Qn62, Qn61, queue:in(X, Qn60),
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_HIGHER_Qn64(-59,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- queue:in(X, Qn59), Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_HIGHER_Qn64(-58,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, queue:in(X, Qn58), Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_HIGHER_Qn64(-57,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, queue:in(X, Qn57), Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_HIGHER_Qn64(-56,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, queue:in(X, Qn56), Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_HIGHER_Qn64(-55,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, queue:in(X, Qn55), Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_HIGHER_Qn64(-54,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, queue:in(X, Qn54),
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_HIGHER_Qn64(-53,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- queue:in(X, Qn53), Qn52, Qn51, Qn50, Qn49});
-?IN_HIGHER_Qn64(-52,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, queue:in(X, Qn52), Qn51, Qn50, Qn49});
-?IN_HIGHER_Qn64(-51,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, queue:in(X, Qn51), Qn50, Qn49});
-?IN_HIGHER_Qn64(-50,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, queue:in(X, Qn50), Qn49});
-?IN_HIGHER_Qn64(-49,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, queue:in(X, Qn49)});
-?IN_HIGHER_Qn48(-48,
- {queue:in(X, Qn48), Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_HIGHER_Qn48(-47,
- {Qn48, queue:in(X, Qn47), Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_HIGHER_Qn48(-46,
- {Qn48, Qn47, queue:in(X, Qn46), Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_HIGHER_Qn48(-45,
- {Qn48, Qn47, Qn46, queue:in(X, Qn45), Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_HIGHER_Qn48(-44,
- {Qn48, Qn47, Qn46, Qn45, queue:in(X, Qn44),
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_HIGHER_Qn48(-43,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- queue:in(X, Qn43), Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_HIGHER_Qn48(-42,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, queue:in(X, Qn42), Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_HIGHER_Qn48(-41,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, queue:in(X, Qn41), Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_HIGHER_Qn48(-40,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, queue:in(X, Qn40), Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_HIGHER_Qn48(-39,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, queue:in(X, Qn39), Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_HIGHER_Qn48(-38,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, queue:in(X, Qn38),
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_HIGHER_Qn48(-37,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- queue:in(X, Qn37), Qn36, Qn35, Qn34, Qn33});
-?IN_HIGHER_Qn48(-36,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, queue:in(X, Qn36), Qn35, Qn34, Qn33});
-?IN_HIGHER_Qn48(-35,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, queue:in(X, Qn35), Qn34, Qn33});
-?IN_HIGHER_Qn48(-34,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, queue:in(X, Qn34), Qn33});
-?IN_HIGHER_Qn48(-33,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, queue:in(X, Qn33)});
-?IN_HIGHER_Qn32(-32,
- {queue:in(X, Qn32), Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_HIGHER_Qn32(-31,
- {Qn32, queue:in(X, Qn31), Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_HIGHER_Qn32(-30,
- {Qn32, Qn31, queue:in(X, Qn30), Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_HIGHER_Qn32(-29,
- {Qn32, Qn31, Qn30, queue:in(X, Qn29), Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_HIGHER_Qn32(-28,
- {Qn32, Qn31, Qn30, Qn29, queue:in(X, Qn28),
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_HIGHER_Qn32(-27,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- queue:in(X, Qn27), Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_HIGHER_Qn32(-26,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, queue:in(X, Qn26), Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_HIGHER_Qn32(-25,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, queue:in(X, Qn25), Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_HIGHER_Qn32(-24,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, queue:in(X, Qn24), Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_HIGHER_Qn32(-23,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, queue:in(X, Qn23), Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_HIGHER_Qn32(-22,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, queue:in(X, Qn22),
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_HIGHER_Qn32(-21,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- queue:in(X, Qn21), Qn20, Qn19, Qn18, Qn17});
-?IN_HIGHER_Qn32(-20,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, queue:in(X, Qn20), Qn19, Qn18, Qn17});
-?IN_HIGHER_Qn32(-19,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, queue:in(X, Qn19), Qn18, Qn17});
-?IN_HIGHER_Qn32(-18,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, queue:in(X, Qn18), Qn17});
-?IN_HIGHER_Qn32(-17,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, queue:in(X, Qn17)});
-?IN_HIGHER_Qn16(-16,
- {queue:in(X, Qn16), Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_HIGHER_Qn16(-15,
- {Qn16, queue:in(X, Qn15), Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_HIGHER_Qn16(-14,
- {Qn16, Qn15, queue:in(X, Qn14), Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_HIGHER_Qn16(-13,
- {Qn16, Qn15, Qn14, queue:in(X, Qn13), Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_HIGHER_Qn16(-12,
- {Qn16, Qn15, Qn14, Qn13, queue:in(X, Qn12),
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_HIGHER_Qn16(-11,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- queue:in(X, Qn11), Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_HIGHER_Qn16(-10,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, queue:in(X, Qn10), Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_HIGHER_Qn16(-9,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, queue:in(X, Qn9), Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_HIGHER_Qn16(-8,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, queue:in(X, Qn8), Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_HIGHER_Qn16(-7,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, queue:in(X, Qn7), Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_HIGHER_Qn16(-6,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, queue:in(X, Qn6),
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_HIGHER_Qn16(-5,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- queue:in(X, Qn5), Qn4, Qn3, Qn2, Qn1});
-?IN_HIGHER_Qn16(-4,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, queue:in(X, Qn4), Qn3, Qn2, Qn1});
-?IN_HIGHER_Qn16(-3,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, queue:in(X, Qn3), Qn2, Qn1});
-?IN_HIGHER_Qn16(-2,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, queue:in(X, Qn2), Qn1});
-?IN_HIGHER_Qn16(-1,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, queue:in(X, Qn1)});
-in_higher(0,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {0,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- queue:in(X, Q0),
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128};
-?IN_HIGHER_Qp16(1,
- {queue:in(X, Qp1), Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_HIGHER_Qp16(2,
- {Qp1, queue:in(X, Qp2), Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_HIGHER_Qp16(3,
- {Qp1, Qp2, queue:in(X, Qp3), Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_HIGHER_Qp16(4,
- {Qp1, Qp2, Qp3, queue:in(X, Qp4), Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_HIGHER_Qp16(5,
- {Qp1, Qp2, Qp3, Qp4, queue:in(X, Qp5),
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_HIGHER_Qp16(6,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- queue:in(X, Qp6), Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_HIGHER_Qp16(7,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, queue:in(X, Qp7), Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_HIGHER_Qp16(8,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, queue:in(X, Qp8), Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_HIGHER_Qp16(9,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, queue:in(X, Qp9), Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_HIGHER_Qp16(10,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, queue:in(X, Qp10), Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_HIGHER_Qp16(11,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, queue:in(X, Qp11),
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_HIGHER_Qp16(12,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- queue:in(X, Qp12), Qp13, Qp14, Qp15, Qp16});
-?IN_HIGHER_Qp16(13,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, queue:in(X, Qp13), Qp14, Qp15, Qp16});
-?IN_HIGHER_Qp16(14,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, queue:in(X, Qp14), Qp15, Qp16});
-?IN_HIGHER_Qp16(15,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, queue:in(X, Qp15), Qp16});
-?IN_HIGHER_Qp16(16,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, queue:in(X, Qp16)});
-?IN_HIGHER_Qp32(17,
- {queue:in(X, Qp17), Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_HIGHER_Qp32(18,
- {Qp17, queue:in(X, Qp18), Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_HIGHER_Qp32(19,
- {Qp17, Qp18, queue:in(X, Qp19), Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_HIGHER_Qp32(20,
- {Qp17, Qp18, Qp19, queue:in(X, Qp20), Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_HIGHER_Qp32(21,
- {Qp17, Qp18, Qp19, Qp20, queue:in(X, Qp21),
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_HIGHER_Qp32(22,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- queue:in(X, Qp22), Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_HIGHER_Qp32(23,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, queue:in(X, Qp23), Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_HIGHER_Qp32(24,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, queue:in(X, Qp24), Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_HIGHER_Qp32(25,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, queue:in(X, Qp25), Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_HIGHER_Qp32(26,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, queue:in(X, Qp26), Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_HIGHER_Qp32(27,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, queue:in(X, Qp27),
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_HIGHER_Qp32(28,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- queue:in(X, Qp28), Qp29, Qp30, Qp31, Qp32});
-?IN_HIGHER_Qp32(29,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, queue:in(X, Qp29), Qp30, Qp31, Qp32});
-?IN_HIGHER_Qp32(30,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, queue:in(X, Qp30), Qp31, Qp32});
-?IN_HIGHER_Qp32(31,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, queue:in(X, Qp31), Qp32});
-?IN_HIGHER_Qp32(32,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, queue:in(X, Qp32)});
-?IN_HIGHER_Qp48(33,
- {queue:in(X, Qp33), Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_HIGHER_Qp48(34,
- {Qp33, queue:in(X, Qp34), Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_HIGHER_Qp48(35,
- {Qp33, Qp34, queue:in(X, Qp35), Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_HIGHER_Qp48(36,
- {Qp33, Qp34, Qp35, queue:in(X, Qp36), Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_HIGHER_Qp48(37,
- {Qp33, Qp34, Qp35, Qp36, queue:in(X, Qp37),
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_HIGHER_Qp48(38,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- queue:in(X, Qp38), Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_HIGHER_Qp48(39,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, queue:in(X, Qp39), Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_HIGHER_Qp48(40,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, queue:in(X, Qp40), Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_HIGHER_Qp48(41,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, queue:in(X, Qp41), Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_HIGHER_Qp48(42,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, queue:in(X, Qp42), Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_HIGHER_Qp48(43,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, queue:in(X, Qp43),
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_HIGHER_Qp48(44,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- queue:in(X, Qp44), Qp45, Qp46, Qp47, Qp48});
-?IN_HIGHER_Qp48(45,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, queue:in(X, Qp45), Qp46, Qp47, Qp48});
-?IN_HIGHER_Qp48(46,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, queue:in(X, Qp46), Qp47, Qp48});
-?IN_HIGHER_Qp48(47,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, queue:in(X, Qp47), Qp48});
-?IN_HIGHER_Qp48(48,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, queue:in(X, Qp48)});
-?IN_HIGHER_Qp64(49,
- {queue:in(X, Qp49), Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_HIGHER_Qp64(50,
- {Qp49, queue:in(X, Qp50), Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_HIGHER_Qp64(51,
- {Qp49, Qp50, queue:in(X, Qp51), Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_HIGHER_Qp64(52,
- {Qp49, Qp50, Qp51, queue:in(X, Qp52), Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_HIGHER_Qp64(53,
- {Qp49, Qp50, Qp51, Qp52, queue:in(X, Qp53),
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_HIGHER_Qp64(54,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- queue:in(X, Qp54), Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_HIGHER_Qp64(55,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, queue:in(X, Qp55), Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_HIGHER_Qp64(56,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, queue:in(X, Qp56), Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_HIGHER_Qp64(57,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, queue:in(X, Qp57), Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_HIGHER_Qp64(58,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, queue:in(X, Qp58), Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_HIGHER_Qp64(59,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, queue:in(X, Qp59),
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_HIGHER_Qp64(60,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- queue:in(X, Qp60), Qp61, Qp62, Qp63, Qp64});
-?IN_HIGHER_Qp64(61,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, queue:in(X, Qp61), Qp62, Qp63, Qp64});
-?IN_HIGHER_Qp64(62,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, queue:in(X, Qp62), Qp63, Qp64});
-?IN_HIGHER_Qp64(63,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, queue:in(X, Qp63), Qp64});
-?IN_HIGHER_Qp64(64,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, queue:in(X, Qp64)});
-?IN_HIGHER_Qp80(65,
- {queue:in(X, Qp65), Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_HIGHER_Qp80(66,
- {Qp65, queue:in(X, Qp66), Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_HIGHER_Qp80(67,
- {Qp65, Qp66, queue:in(X, Qp67), Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_HIGHER_Qp80(68,
- {Qp65, Qp66, Qp67, queue:in(X, Qp68), Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_HIGHER_Qp80(69,
- {Qp65, Qp66, Qp67, Qp68, queue:in(X, Qp69),
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_HIGHER_Qp80(70,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- queue:in(X, Qp70), Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_HIGHER_Qp80(71,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, queue:in(X, Qp71), Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_HIGHER_Qp80(72,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, queue:in(X, Qp72), Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_HIGHER_Qp80(73,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, queue:in(X, Qp73), Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_HIGHER_Qp80(74,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, queue:in(X, Qp74), Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_HIGHER_Qp80(75,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, queue:in(X, Qp75),
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_HIGHER_Qp80(76,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- queue:in(X, Qp76), Qp77, Qp78, Qp79, Qp80});
-?IN_HIGHER_Qp80(77,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, queue:in(X, Qp77), Qp78, Qp79, Qp80});
-?IN_HIGHER_Qp80(78,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, queue:in(X, Qp78), Qp79, Qp80});
-?IN_HIGHER_Qp80(79,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, queue:in(X, Qp79), Qp80});
-?IN_HIGHER_Qp80(80,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, queue:in(X, Qp80)});
-?IN_HIGHER_Qp96(81,
- {queue:in(X, Qp81), Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_HIGHER_Qp96(82,
- {Qp81, queue:in(X, Qp82), Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_HIGHER_Qp96(83,
- {Qp81, Qp82, queue:in(X, Qp83), Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_HIGHER_Qp96(84,
- {Qp81, Qp82, Qp83, queue:in(X, Qp84), Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_HIGHER_Qp96(85,
- {Qp81, Qp82, Qp83, Qp84, queue:in(X, Qp85),
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_HIGHER_Qp96(86,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- queue:in(X, Qp86), Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_HIGHER_Qp96(87,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, queue:in(X, Qp87), Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_HIGHER_Qp96(88,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, queue:in(X, Qp88), Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_HIGHER_Qp96(89,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, queue:in(X, Qp89), Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_HIGHER_Qp96(90,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, queue:in(X, Qp90), Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_HIGHER_Qp96(91,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, queue:in(X, Qp91),
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_HIGHER_Qp96(92,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- queue:in(X, Qp92), Qp93, Qp94, Qp95, Qp96});
-?IN_HIGHER_Qp96(93,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, queue:in(X, Qp93), Qp94, Qp95, Qp96});
-?IN_HIGHER_Qp96(94,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, queue:in(X, Qp94), Qp95, Qp96});
-?IN_HIGHER_Qp96(95,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, queue:in(X, Qp95), Qp96});
-?IN_HIGHER_Qp96(96,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, queue:in(X, Qp96)});
-?IN_HIGHER_Qp112(97,
- {queue:in(X, Qp97), Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_HIGHER_Qp112(98,
- {Qp97, queue:in(X, Qp98), Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_HIGHER_Qp112(99,
- {Qp97, Qp98, queue:in(X, Qp99), Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_HIGHER_Qp112(100,
- {Qp97, Qp98, Qp99, queue:in(X, Qp100), Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_HIGHER_Qp112(101,
- {Qp97, Qp98, Qp99, Qp100, queue:in(X, Qp101),
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_HIGHER_Qp112(102,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- queue:in(X, Qp102), Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_HIGHER_Qp112(103,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, queue:in(X, Qp103), Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_HIGHER_Qp112(104,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, queue:in(X, Qp104), Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_HIGHER_Qp112(105,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, queue:in(X, Qp105), Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_HIGHER_Qp112(106,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, queue:in(X, Qp106), Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_HIGHER_Qp112(107,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, queue:in(X, Qp107),
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_HIGHER_Qp112(108,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- queue:in(X, Qp108), Qp109, Qp110, Qp111, Qp112});
-?IN_HIGHER_Qp112(109,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, queue:in(X, Qp109), Qp110, Qp111, Qp112});
-?IN_HIGHER_Qp112(110,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, queue:in(X, Qp110), Qp111, Qp112});
-?IN_HIGHER_Qp112(111,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, queue:in(X, Qp111), Qp112});
-?IN_HIGHER_Qp112(112,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, queue:in(X, Qp112)});
-?IN_HIGHER_Qp128(113,
- {queue:in(X, Qp113), Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_HIGHER_Qp128(114,
- {Qp113, queue:in(X, Qp114), Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_HIGHER_Qp128(115,
- {Qp113, Qp114, queue:in(X, Qp115), Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_HIGHER_Qp128(116,
- {Qp113, Qp114, Qp115, queue:in(X, Qp116), Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_HIGHER_Qp128(117,
- {Qp113, Qp114, Qp115, Qp116, queue:in(X, Qp117),
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_HIGHER_Qp128(118,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- queue:in(X, Qp118), Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_HIGHER_Qp128(119,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, queue:in(X, Qp119), Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_HIGHER_Qp128(120,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, queue:in(X, Qp120), Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_HIGHER_Qp128(121,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, queue:in(X, Qp121), Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_HIGHER_Qp128(122,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, queue:in(X, Qp122), Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_HIGHER_Qp128(123,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, queue:in(X, Qp123),
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_HIGHER_Qp128(124,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- queue:in(X, Qp124), Qp125, Qp126, Qp127, Qp128});
-?IN_HIGHER_Qp128(125,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, queue:in(X, Qp125), Qp126, Qp127, Qp128});
-?IN_HIGHER_Qp128(126,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, queue:in(X, Qp126), Qp127, Qp128});
-?IN_HIGHER_Qp128(127,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, queue:in(X, Qp127), Qp128});
-?IN_HIGHER_Qp128(128,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, queue:in(X, Qp128)}).
-
-%% @hidden
--define(IN_LOWER_Qn128(P, V),
-in_lower(P,
- {Pc,
- Size,
- {Qn128, Qn127, Qn126, Qn125, Qn124, Qn123, Qn122, Qn121,
- Qn120, Qn119, Qn118, Qn117, Qn116, Qn115, Qn114, Qn113},
- Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- V,
- Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_LOWER_Qn112(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128,
- {Qn112, Qn111, Qn110, Qn109, Qn108, Qn107, Qn106, Qn105,
- Qn104, Qn103, Qn102, Qn101, Qn100, Qn99, Qn98, Qn97},
- Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128,
- V,
- Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_LOWER_Qn96(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128, Qn112,
- {Qn96, Qn95, Qn94, Qn93, Qn92, Qn91, Qn90, Qn89,
- Qn88, Qn87, Qn86, Qn85, Qn84, Qn83, Qn82, Qn81},
- Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112,
- V,
- Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_LOWER_Qn80(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96,
- {Qn80, Qn79, Qn78, Qn77, Qn76, Qn75, Qn74, Qn73,
- Qn72, Qn71, Qn70, Qn69, Qn68, Qn67, Qn66, Qn65},
- Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112, Qn96,
- V,
- Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_LOWER_Qn64(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80,
- {Qn64, Qn63, Qn62, Qn61, Qn60, Qn59, Qn58, Qn57,
- Qn56, Qn55, Qn54, Qn53, Qn52, Qn51, Qn50, Qn49},
- Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80,
- V,
- Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_LOWER_Qn48(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64,
- {Qn48, Qn47, Qn46, Qn45, Qn44, Qn43, Qn42, Qn41,
- Qn40, Qn39, Qn38, Qn37, Qn36, Qn35, Qn34, Qn33},
- Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64,
- V,
- Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_LOWER_Qn32(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48,
- {Qn32, Qn31, Qn30, Qn29, Qn28, Qn27, Qn26, Qn25,
- Qn24, Qn23, Qn22, Qn21, Qn20, Qn19, Qn18, Qn17},
- Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48,
- V,
- Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_LOWER_Qn16(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32,
- {Qn16, Qn15, Qn14, Qn13, Qn12, Qn11, Qn10, Qn9,
- Qn8, Qn7, Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32,
- V,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_LOWER_Qp16(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6, Qp7, Qp8,
- Qp9, Qp10, Qp11, Qp12, Qp13, Qp14, Qp15, Qp16},
- Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- V,
- Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_LOWER_Qp32(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16,
- {Qp17, Qp18, Qp19, Qp20, Qp21, Qp22, Qp23, Qp24,
- Qp25, Qp26, Qp27, Qp28, Qp29, Qp30, Qp31, Qp32},
- Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16,
- V,
- Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_LOWER_Qp48(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32,
- {Qp33, Qp34, Qp35, Qp36, Qp37, Qp38, Qp39, Qp40,
- Qp41, Qp42, Qp43, Qp44, Qp45, Qp46, Qp47, Qp48},
- Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32,
- V,
- Qp64, Qp80, Qp96, Qp112, Qp128}).
--define(IN_LOWER_Qp64(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48,
- {Qp49, Qp50, Qp51, Qp52, Qp53, Qp54, Qp55, Qp56,
- Qp57, Qp58, Qp59, Qp60, Qp61, Qp62, Qp63, Qp64},
- Qp80, Qp96, Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48,
- V,
- Qp80, Qp96, Qp112, Qp128}).
--define(IN_LOWER_Qp80(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64,
- {Qp65, Qp66, Qp67, Qp68, Qp69, Qp70, Qp71, Qp72,
- Qp73, Qp74, Qp75, Qp76, Qp77, Qp78, Qp79, Qp80},
- Qp96, Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64,
- V,
- Qp96, Qp112, Qp128}).
--define(IN_LOWER_Qp96(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80,
- {Qp81, Qp82, Qp83, Qp84, Qp85, Qp86, Qp87, Qp88,
- Qp89, Qp90, Qp91, Qp92, Qp93, Qp94, Qp95, Qp96},
- Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80,
- V,
- Qp112, Qp128}).
--define(IN_LOWER_Qp112(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96,
- {Qp97, Qp98, Qp99, Qp100, Qp101, Qp102, Qp103, Qp104,
- Qp105, Qp106, Qp107, Qp108, Qp109, Qp110, Qp111, Qp112},
- Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96,
- V,
- Qp128}).
--define(IN_LOWER_Qp128(P, V),
-in_lower(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- {Qp113, Qp114, Qp115, Qp116, Qp117, Qp118, Qp119, Qp120,
- Qp121, Qp122, Qp123, Qp124, Qp125, Qp126, Qp127, Qp128}}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- V}).
-
-?IN_LOWER_Qn128(-128,
- {queue:in(X, Qn128), Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_LOWER_Qn128(-127,
- {Qn128, queue:in(X, Qn127), Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_LOWER_Qn128(-126,
- {Qn128, Qn127, queue:in(X, Qn126), Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_LOWER_Qn128(-125,
- {Qn128, Qn127, Qn126, queue:in(X, Qn125), Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_LOWER_Qn128(-124,
- {Qn128, Qn127, Qn126, Qn125, queue:in(X, Qn124),
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_LOWER_Qn128(-123,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- queue:in(X, Qn123), Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_LOWER_Qn128(-122,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, queue:in(X, Qn122), Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_LOWER_Qn128(-121,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, queue:in(X, Qn121), Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_LOWER_Qn128(-120,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, queue:in(X, Qn120), Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_LOWER_Qn128(-119,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, queue:in(X, Qn119), Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_LOWER_Qn128(-118,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, queue:in(X, Qn118),
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?IN_LOWER_Qn128(-117,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- queue:in(X, Qn117), Qn116, Qn115, Qn114, Qn113});
-?IN_LOWER_Qn128(-116,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, queue:in(X, Qn116), Qn115, Qn114, Qn113});
-?IN_LOWER_Qn128(-115,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, queue:in(X, Qn115), Qn114, Qn113});
-?IN_LOWER_Qn128(-114,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, queue:in(X, Qn114), Qn113});
-?IN_LOWER_Qn128(-113,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, queue:in(X, Qn113)});
-?IN_LOWER_Qn112(-112,
- {queue:in(X, Qn112), Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_LOWER_Qn112(-111,
- {Qn112, queue:in(X, Qn111), Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_LOWER_Qn112(-110,
- {Qn112, Qn111, queue:in(X, Qn110), Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_LOWER_Qn112(-109,
- {Qn112, Qn111, Qn110, queue:in(X, Qn109), Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_LOWER_Qn112(-108,
- {Qn112, Qn111, Qn110, Qn109, queue:in(X, Qn108),
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_LOWER_Qn112(-107,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- queue:in(X, Qn107), Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_LOWER_Qn112(-106,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, queue:in(X, Qn106), Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_LOWER_Qn112(-105,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, queue:in(X, Qn105), Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_LOWER_Qn112(-104,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, queue:in(X, Qn104), Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_LOWER_Qn112(-103,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, queue:in(X, Qn103), Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_LOWER_Qn112(-102,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, queue:in(X, Qn102),
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?IN_LOWER_Qn112(-101,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- queue:in(X, Qn101), Qn100, Qn99, Qn98, Qn97});
-?IN_LOWER_Qn112(-100,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, queue:in(X, Qn100), Qn99, Qn98, Qn97});
-?IN_LOWER_Qn112(-99,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, queue:in(X, Qn99), Qn98, Qn97});
-?IN_LOWER_Qn112(-98,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, queue:in(X, Qn98), Qn97});
-?IN_LOWER_Qn112(-97,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, queue:in(X, Qn97)});
-?IN_LOWER_Qn96(-96,
- {queue:in(X, Qn96), Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_LOWER_Qn96(-95,
- {Qn96, queue:in(X, Qn95), Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_LOWER_Qn96(-94,
- {Qn96, Qn95, queue:in(X, Qn94), Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_LOWER_Qn96(-93,
- {Qn96, Qn95, Qn94, queue:in(X, Qn93), Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_LOWER_Qn96(-92,
- {Qn96, Qn95, Qn94, Qn93, queue:in(X, Qn92),
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_LOWER_Qn96(-91,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- queue:in(X, Qn91), Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_LOWER_Qn96(-90,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, queue:in(X, Qn90), Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_LOWER_Qn96(-89,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, queue:in(X, Qn89), Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_LOWER_Qn96(-88,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, queue:in(X, Qn88), Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_LOWER_Qn96(-87,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, queue:in(X, Qn87), Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_LOWER_Qn96(-86,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, queue:in(X, Qn86),
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?IN_LOWER_Qn96(-85,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- queue:in(X, Qn85), Qn84, Qn83, Qn82, Qn81});
-?IN_LOWER_Qn96(-84,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, queue:in(X, Qn84), Qn83, Qn82, Qn81});
-?IN_LOWER_Qn96(-83,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, queue:in(X, Qn83), Qn82, Qn81});
-?IN_LOWER_Qn96(-82,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, queue:in(X, Qn82), Qn81});
-?IN_LOWER_Qn96(-81,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, queue:in(X, Qn81)});
-?IN_LOWER_Qn80(-80,
- {queue:in(X, Qn80), Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_LOWER_Qn80(-79,
- {Qn80, queue:in(X, Qn79), Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_LOWER_Qn80(-78,
- {Qn80, Qn79, queue:in(X, Qn78), Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_LOWER_Qn80(-77,
- {Qn80, Qn79, Qn78, queue:in(X, Qn77), Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_LOWER_Qn80(-76,
- {Qn80, Qn79, Qn78, Qn77, queue:in(X, Qn76),
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_LOWER_Qn80(-75,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- queue:in(X, Qn75), Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_LOWER_Qn80(-74,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, queue:in(X, Qn74), Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_LOWER_Qn80(-73,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, queue:in(X, Qn73), Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_LOWER_Qn80(-72,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, queue:in(X, Qn72), Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_LOWER_Qn80(-71,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, queue:in(X, Qn71), Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_LOWER_Qn80(-70,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, queue:in(X, Qn70),
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?IN_LOWER_Qn80(-69,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- queue:in(X, Qn69), Qn68, Qn67, Qn66, Qn65});
-?IN_LOWER_Qn80(-68,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, queue:in(X, Qn68), Qn67, Qn66, Qn65});
-?IN_LOWER_Qn80(-67,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, queue:in(X, Qn67), Qn66, Qn65});
-?IN_LOWER_Qn80(-66,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, queue:in(X, Qn66), Qn65});
-?IN_LOWER_Qn80(-65,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, queue:in(X, Qn65)});
-?IN_LOWER_Qn64(-64,
- {queue:in(X, Qn64), Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_LOWER_Qn64(-63,
- {Qn64, queue:in(X, Qn63), Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_LOWER_Qn64(-62,
- {Qn64, Qn63, queue:in(X, Qn62), Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_LOWER_Qn64(-61,
- {Qn64, Qn63, Qn62, queue:in(X, Qn61), Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_LOWER_Qn64(-60,
- {Qn64, Qn63, Qn62, Qn61, queue:in(X, Qn60),
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_LOWER_Qn64(-59,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- queue:in(X, Qn59), Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_LOWER_Qn64(-58,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, queue:in(X, Qn58), Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_LOWER_Qn64(-57,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, queue:in(X, Qn57), Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_LOWER_Qn64(-56,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, queue:in(X, Qn56), Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_LOWER_Qn64(-55,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, queue:in(X, Qn55), Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_LOWER_Qn64(-54,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, queue:in(X, Qn54),
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?IN_LOWER_Qn64(-53,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- queue:in(X, Qn53), Qn52, Qn51, Qn50, Qn49});
-?IN_LOWER_Qn64(-52,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, queue:in(X, Qn52), Qn51, Qn50, Qn49});
-?IN_LOWER_Qn64(-51,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, queue:in(X, Qn51), Qn50, Qn49});
-?IN_LOWER_Qn64(-50,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, queue:in(X, Qn50), Qn49});
-?IN_LOWER_Qn64(-49,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, queue:in(X, Qn49)});
-?IN_LOWER_Qn48(-48,
- {queue:in(X, Qn48), Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_LOWER_Qn48(-47,
- {Qn48, queue:in(X, Qn47), Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_LOWER_Qn48(-46,
- {Qn48, Qn47, queue:in(X, Qn46), Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_LOWER_Qn48(-45,
- {Qn48, Qn47, Qn46, queue:in(X, Qn45), Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_LOWER_Qn48(-44,
- {Qn48, Qn47, Qn46, Qn45, queue:in(X, Qn44),
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_LOWER_Qn48(-43,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- queue:in(X, Qn43), Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_LOWER_Qn48(-42,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, queue:in(X, Qn42), Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_LOWER_Qn48(-41,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, queue:in(X, Qn41), Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_LOWER_Qn48(-40,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, queue:in(X, Qn40), Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_LOWER_Qn48(-39,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, queue:in(X, Qn39), Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_LOWER_Qn48(-38,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, queue:in(X, Qn38),
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?IN_LOWER_Qn48(-37,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- queue:in(X, Qn37), Qn36, Qn35, Qn34, Qn33});
-?IN_LOWER_Qn48(-36,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, queue:in(X, Qn36), Qn35, Qn34, Qn33});
-?IN_LOWER_Qn48(-35,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, queue:in(X, Qn35), Qn34, Qn33});
-?IN_LOWER_Qn48(-34,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, queue:in(X, Qn34), Qn33});
-?IN_LOWER_Qn48(-33,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, queue:in(X, Qn33)});
-?IN_LOWER_Qn32(-32,
- {queue:in(X, Qn32), Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_LOWER_Qn32(-31,
- {Qn32, queue:in(X, Qn31), Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_LOWER_Qn32(-30,
- {Qn32, Qn31, queue:in(X, Qn30), Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_LOWER_Qn32(-29,
- {Qn32, Qn31, Qn30, queue:in(X, Qn29), Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_LOWER_Qn32(-28,
- {Qn32, Qn31, Qn30, Qn29, queue:in(X, Qn28),
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_LOWER_Qn32(-27,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- queue:in(X, Qn27), Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_LOWER_Qn32(-26,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, queue:in(X, Qn26), Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_LOWER_Qn32(-25,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, queue:in(X, Qn25), Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_LOWER_Qn32(-24,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, queue:in(X, Qn24), Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_LOWER_Qn32(-23,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, queue:in(X, Qn23), Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_LOWER_Qn32(-22,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, queue:in(X, Qn22),
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?IN_LOWER_Qn32(-21,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- queue:in(X, Qn21), Qn20, Qn19, Qn18, Qn17});
-?IN_LOWER_Qn32(-20,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, queue:in(X, Qn20), Qn19, Qn18, Qn17});
-?IN_LOWER_Qn32(-19,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, queue:in(X, Qn19), Qn18, Qn17});
-?IN_LOWER_Qn32(-18,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, queue:in(X, Qn18), Qn17});
-?IN_LOWER_Qn32(-17,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, queue:in(X, Qn17)});
-?IN_LOWER_Qn16(-16,
- {queue:in(X, Qn16), Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_LOWER_Qn16(-15,
- {Qn16, queue:in(X, Qn15), Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_LOWER_Qn16(-14,
- {Qn16, Qn15, queue:in(X, Qn14), Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_LOWER_Qn16(-13,
- {Qn16, Qn15, Qn14, queue:in(X, Qn13), Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_LOWER_Qn16(-12,
- {Qn16, Qn15, Qn14, Qn13, queue:in(X, Qn12),
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_LOWER_Qn16(-11,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- queue:in(X, Qn11), Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_LOWER_Qn16(-10,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, queue:in(X, Qn10), Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_LOWER_Qn16(-9,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, queue:in(X, Qn9), Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_LOWER_Qn16(-8,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, queue:in(X, Qn8), Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_LOWER_Qn16(-7,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, queue:in(X, Qn7), Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_LOWER_Qn16(-6,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, queue:in(X, Qn6),
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?IN_LOWER_Qn16(-5,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- queue:in(X, Qn5), Qn4, Qn3, Qn2, Qn1});
-?IN_LOWER_Qn16(-4,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, queue:in(X, Qn4), Qn3, Qn2, Qn1});
-?IN_LOWER_Qn16(-3,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, queue:in(X, Qn3), Qn2, Qn1});
-?IN_LOWER_Qn16(-2,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, queue:in(X, Qn2), Qn1});
-?IN_LOWER_Qn16(-1,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, queue:in(X, Qn1)});
-in_lower(0,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}, X) ->
- {Pc,
- Size + 1,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- queue:in(X, Q0),
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128};
-?IN_LOWER_Qp16(1,
- {queue:in(X, Qp1), Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_LOWER_Qp16(2,
- {Qp1, queue:in(X, Qp2), Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_LOWER_Qp16(3,
- {Qp1, Qp2, queue:in(X, Qp3), Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_LOWER_Qp16(4,
- {Qp1, Qp2, Qp3, queue:in(X, Qp4), Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_LOWER_Qp16(5,
- {Qp1, Qp2, Qp3, Qp4, queue:in(X, Qp5),
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_LOWER_Qp16(6,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- queue:in(X, Qp6), Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_LOWER_Qp16(7,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, queue:in(X, Qp7), Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_LOWER_Qp16(8,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, queue:in(X, Qp8), Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_LOWER_Qp16(9,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, queue:in(X, Qp9), Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_LOWER_Qp16(10,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, queue:in(X, Qp10), Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_LOWER_Qp16(11,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, queue:in(X, Qp11),
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?IN_LOWER_Qp16(12,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- queue:in(X, Qp12), Qp13, Qp14, Qp15, Qp16});
-?IN_LOWER_Qp16(13,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, queue:in(X, Qp13), Qp14, Qp15, Qp16});
-?IN_LOWER_Qp16(14,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, queue:in(X, Qp14), Qp15, Qp16});
-?IN_LOWER_Qp16(15,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, queue:in(X, Qp15), Qp16});
-?IN_LOWER_Qp16(16,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, queue:in(X, Qp16)});
-?IN_LOWER_Qp32(17,
- {queue:in(X, Qp17), Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_LOWER_Qp32(18,
- {Qp17, queue:in(X, Qp18), Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_LOWER_Qp32(19,
- {Qp17, Qp18, queue:in(X, Qp19), Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_LOWER_Qp32(20,
- {Qp17, Qp18, Qp19, queue:in(X, Qp20), Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_LOWER_Qp32(21,
- {Qp17, Qp18, Qp19, Qp20, queue:in(X, Qp21),
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_LOWER_Qp32(22,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- queue:in(X, Qp22), Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_LOWER_Qp32(23,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, queue:in(X, Qp23), Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_LOWER_Qp32(24,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, queue:in(X, Qp24), Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_LOWER_Qp32(25,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, queue:in(X, Qp25), Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_LOWER_Qp32(26,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, queue:in(X, Qp26), Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_LOWER_Qp32(27,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, queue:in(X, Qp27),
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?IN_LOWER_Qp32(28,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- queue:in(X, Qp28), Qp29, Qp30, Qp31, Qp32});
-?IN_LOWER_Qp32(29,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, queue:in(X, Qp29), Qp30, Qp31, Qp32});
-?IN_LOWER_Qp32(30,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, queue:in(X, Qp30), Qp31, Qp32});
-?IN_LOWER_Qp32(31,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, queue:in(X, Qp31), Qp32});
-?IN_LOWER_Qp32(32,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, queue:in(X, Qp32)});
-?IN_LOWER_Qp48(33,
- {queue:in(X, Qp33), Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_LOWER_Qp48(34,
- {Qp33, queue:in(X, Qp34), Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_LOWER_Qp48(35,
- {Qp33, Qp34, queue:in(X, Qp35), Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_LOWER_Qp48(36,
- {Qp33, Qp34, Qp35, queue:in(X, Qp36), Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_LOWER_Qp48(37,
- {Qp33, Qp34, Qp35, Qp36, queue:in(X, Qp37),
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_LOWER_Qp48(38,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- queue:in(X, Qp38), Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_LOWER_Qp48(39,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, queue:in(X, Qp39), Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_LOWER_Qp48(40,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, queue:in(X, Qp40), Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_LOWER_Qp48(41,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, queue:in(X, Qp41), Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_LOWER_Qp48(42,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, queue:in(X, Qp42), Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_LOWER_Qp48(43,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, queue:in(X, Qp43),
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?IN_LOWER_Qp48(44,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- queue:in(X, Qp44), Qp45, Qp46, Qp47, Qp48});
-?IN_LOWER_Qp48(45,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, queue:in(X, Qp45), Qp46, Qp47, Qp48});
-?IN_LOWER_Qp48(46,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, queue:in(X, Qp46), Qp47, Qp48});
-?IN_LOWER_Qp48(47,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, queue:in(X, Qp47), Qp48});
-?IN_LOWER_Qp48(48,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, queue:in(X, Qp48)});
-?IN_LOWER_Qp64(49,
- {queue:in(X, Qp49), Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_LOWER_Qp64(50,
- {Qp49, queue:in(X, Qp50), Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_LOWER_Qp64(51,
- {Qp49, Qp50, queue:in(X, Qp51), Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_LOWER_Qp64(52,
- {Qp49, Qp50, Qp51, queue:in(X, Qp52), Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_LOWER_Qp64(53,
- {Qp49, Qp50, Qp51, Qp52, queue:in(X, Qp53),
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_LOWER_Qp64(54,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- queue:in(X, Qp54), Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_LOWER_Qp64(55,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, queue:in(X, Qp55), Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_LOWER_Qp64(56,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, queue:in(X, Qp56), Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_LOWER_Qp64(57,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, queue:in(X, Qp57), Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_LOWER_Qp64(58,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, queue:in(X, Qp58), Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_LOWER_Qp64(59,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, queue:in(X, Qp59),
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?IN_LOWER_Qp64(60,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- queue:in(X, Qp60), Qp61, Qp62, Qp63, Qp64});
-?IN_LOWER_Qp64(61,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, queue:in(X, Qp61), Qp62, Qp63, Qp64});
-?IN_LOWER_Qp64(62,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, queue:in(X, Qp62), Qp63, Qp64});
-?IN_LOWER_Qp64(63,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, queue:in(X, Qp63), Qp64});
-?IN_LOWER_Qp64(64,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, queue:in(X, Qp64)});
-?IN_LOWER_Qp80(65,
- {queue:in(X, Qp65), Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_LOWER_Qp80(66,
- {Qp65, queue:in(X, Qp66), Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_LOWER_Qp80(67,
- {Qp65, Qp66, queue:in(X, Qp67), Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_LOWER_Qp80(68,
- {Qp65, Qp66, Qp67, queue:in(X, Qp68), Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_LOWER_Qp80(69,
- {Qp65, Qp66, Qp67, Qp68, queue:in(X, Qp69),
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_LOWER_Qp80(70,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- queue:in(X, Qp70), Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_LOWER_Qp80(71,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, queue:in(X, Qp71), Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_LOWER_Qp80(72,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, queue:in(X, Qp72), Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_LOWER_Qp80(73,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, queue:in(X, Qp73), Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_LOWER_Qp80(74,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, queue:in(X, Qp74), Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_LOWER_Qp80(75,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, queue:in(X, Qp75),
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?IN_LOWER_Qp80(76,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- queue:in(X, Qp76), Qp77, Qp78, Qp79, Qp80});
-?IN_LOWER_Qp80(77,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, queue:in(X, Qp77), Qp78, Qp79, Qp80});
-?IN_LOWER_Qp80(78,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, queue:in(X, Qp78), Qp79, Qp80});
-?IN_LOWER_Qp80(79,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, queue:in(X, Qp79), Qp80});
-?IN_LOWER_Qp80(80,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, queue:in(X, Qp80)});
-?IN_LOWER_Qp96(81,
- {queue:in(X, Qp81), Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_LOWER_Qp96(82,
- {Qp81, queue:in(X, Qp82), Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_LOWER_Qp96(83,
- {Qp81, Qp82, queue:in(X, Qp83), Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_LOWER_Qp96(84,
- {Qp81, Qp82, Qp83, queue:in(X, Qp84), Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_LOWER_Qp96(85,
- {Qp81, Qp82, Qp83, Qp84, queue:in(X, Qp85),
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_LOWER_Qp96(86,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- queue:in(X, Qp86), Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_LOWER_Qp96(87,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, queue:in(X, Qp87), Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_LOWER_Qp96(88,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, queue:in(X, Qp88), Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_LOWER_Qp96(89,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, queue:in(X, Qp89), Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_LOWER_Qp96(90,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, queue:in(X, Qp90), Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_LOWER_Qp96(91,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, queue:in(X, Qp91),
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?IN_LOWER_Qp96(92,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- queue:in(X, Qp92), Qp93, Qp94, Qp95, Qp96});
-?IN_LOWER_Qp96(93,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, queue:in(X, Qp93), Qp94, Qp95, Qp96});
-?IN_LOWER_Qp96(94,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, queue:in(X, Qp94), Qp95, Qp96});
-?IN_LOWER_Qp96(95,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, queue:in(X, Qp95), Qp96});
-?IN_LOWER_Qp96(96,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, queue:in(X, Qp96)});
-?IN_LOWER_Qp112(97,
- {queue:in(X, Qp97), Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_LOWER_Qp112(98,
- {Qp97, queue:in(X, Qp98), Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_LOWER_Qp112(99,
- {Qp97, Qp98, queue:in(X, Qp99), Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_LOWER_Qp112(100,
- {Qp97, Qp98, Qp99, queue:in(X, Qp100), Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_LOWER_Qp112(101,
- {Qp97, Qp98, Qp99, Qp100, queue:in(X, Qp101),
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_LOWER_Qp112(102,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- queue:in(X, Qp102), Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_LOWER_Qp112(103,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, queue:in(X, Qp103), Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_LOWER_Qp112(104,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, queue:in(X, Qp104), Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_LOWER_Qp112(105,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, queue:in(X, Qp105), Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_LOWER_Qp112(106,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, queue:in(X, Qp106), Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_LOWER_Qp112(107,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, queue:in(X, Qp107),
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?IN_LOWER_Qp112(108,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- queue:in(X, Qp108), Qp109, Qp110, Qp111, Qp112});
-?IN_LOWER_Qp112(109,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, queue:in(X, Qp109), Qp110, Qp111, Qp112});
-?IN_LOWER_Qp112(110,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, queue:in(X, Qp110), Qp111, Qp112});
-?IN_LOWER_Qp112(111,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, queue:in(X, Qp111), Qp112});
-?IN_LOWER_Qp112(112,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, queue:in(X, Qp112)});
-?IN_LOWER_Qp128(113,
- {queue:in(X, Qp113), Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_LOWER_Qp128(114,
- {Qp113, queue:in(X, Qp114), Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_LOWER_Qp128(115,
- {Qp113, Qp114, queue:in(X, Qp115), Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_LOWER_Qp128(116,
- {Qp113, Qp114, Qp115, queue:in(X, Qp116), Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_LOWER_Qp128(117,
- {Qp113, Qp114, Qp115, Qp116, queue:in(X, Qp117),
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_LOWER_Qp128(118,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- queue:in(X, Qp118), Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_LOWER_Qp128(119,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, queue:in(X, Qp119), Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_LOWER_Qp128(120,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, queue:in(X, Qp120), Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_LOWER_Qp128(121,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, queue:in(X, Qp121), Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_LOWER_Qp128(122,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, queue:in(X, Qp122), Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_LOWER_Qp128(123,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, queue:in(X, Qp123),
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?IN_LOWER_Qp128(124,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- queue:in(X, Qp124), Qp125, Qp126, Qp127, Qp128});
-?IN_LOWER_Qp128(125,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, queue:in(X, Qp125), Qp126, Qp127, Qp128});
-?IN_LOWER_Qp128(126,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, queue:in(X, Qp126), Qp127, Qp128});
-?IN_LOWER_Qp128(127,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, queue:in(X, Qp127), Qp128});
-?IN_LOWER_Qp128(128,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, queue:in(X, Qp128)}).
-
-%% @hidden
--define(OUT_CURRENT_Qn128(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- {Qn128, Qn127, Qn126, Qn125, Qn124, Qn123, Qn122, Qn121,
- Qn120, Qn119, Qn118, Qn117, Qn116, Qn115, Qn114, Qn113},
- Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- V3,
- Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_Qn112(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128,
- {Qn112, Qn111, Qn110, Qn109, Qn108, Qn107, Qn106, Qn105,
- Qn104, Qn103, Qn102, Qn101, Qn100, Qn99, Qn98, Qn97},
- Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128,
- V3,
- Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_Qn96(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128, Qn112,
- {Qn96, Qn95, Qn94, Qn93, Qn92, Qn91, Qn90, Qn89,
- Qn88, Qn87, Qn86, Qn85, Qn84, Qn83, Qn82, Qn81},
- Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112,
- V3,
- Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_Qn80(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128, Qn112, Qn96,
- {Qn80, Qn79, Qn78, Qn77, Qn76, Qn75, Qn74, Qn73,
- Qn72, Qn71, Qn70, Qn69, Qn68, Qn67, Qn66, Qn65},
- Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96,
- V3,
- Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_Qn64(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80,
- {Qn64, Qn63, Qn62, Qn61, Qn60, Qn59, Qn58, Qn57,
- Qn56, Qn55, Qn54, Qn53, Qn52, Qn51, Qn50, Qn49},
- Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80,
- V3,
- Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_Qn48(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64,
- {Qn48, Qn47, Qn46, Qn45, Qn44, Qn43, Qn42, Qn41,
- Qn40, Qn39, Qn38, Qn37, Qn36, Qn35, Qn34, Qn33},
- Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64,
- V3,
- Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_Qn32(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48,
- {Qn32, Qn31, Qn30, Qn29, Qn28, Qn27, Qn26, Qn25,
- Qn24, Qn23, Qn22, Qn21, Qn20, Qn19, Qn18, Qn17},
- Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48,
- V3,
- Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_Qn16(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32,
- {Qn16, Qn15, Qn14, Qn13, Qn12, Qn11, Qn10, Qn9,
- Qn8, Qn7, Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32,
- V3,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_Qp16(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6, Qp7, Qp8,
- Qp9, Qp10, Qp11, Qp12, Qp13, Qp14, Qp15, Qp16},
- Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- V3,
- Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_Qp32(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16,
- {Qp17, Qp18, Qp19, Qp20, Qp21, Qp22, Qp23, Qp24,
- Qp25, Qp26, Qp27, Qp28, Qp29, Qp30, Qp31, Qp32},
- Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16,
- V3,
- Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_Qp48(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32,
- {Qp33, Qp34, Qp35, Qp36, Qp37, Qp38, Qp39, Qp40,
- Qp41, Qp42, Qp43, Qp44, Qp45, Qp46, Qp47, Qp48},
- Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32,
- V3,
- Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_Qp64(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48,
- {Qp49, Qp50, Qp51, Qp52, Qp53, Qp54, Qp55, Qp56,
- Qp57, Qp58, Qp59, Qp60, Qp61, Qp62, Qp63, Qp64},
- Qp80, Qp96, Qp112, Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48,
- V3,
- Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_Qp80(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64,
- {Qp65, Qp66, Qp67, Qp68, Qp69, Qp70, Qp71, Qp72,
- Qp73, Qp74, Qp75, Qp76, Qp77, Qp78, Qp79, Qp80},
- Qp96, Qp112, Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64,
- V3,
- Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_Qp96(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80,
- {Qp81, Qp82, Qp83, Qp84, Qp85, Qp86, Qp87, Qp88,
- Qp89, Qp90, Qp91, Qp92, Qp93, Qp94, Qp95, Qp96},
- Qp112, Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80,
- V3,
- Qp112, Qp128}}
- end).
--define(OUT_CURRENT_Qp112(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96,
- {Qp97, Qp98, Qp99, Qp100, Qp101, Qp102, Qp103, Qp104,
- Qp105, Qp106, Qp107, Qp108, Qp109, Qp110, Qp111, Qp112},
- Qp128} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96,
- V3,
- Qp128}}
- end).
--define(OUT_CURRENT_Qp128(P, V1, V2, V3),
-out_current(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- {Qp113, Qp114, Qp115, Qp116, Qp117, Qp118, Qp119, Qp120,
- Qp121, Qp122, Qp123, Qp124, Qp125, Qp126, Qp127, Qp128}} = Q) ->
- {Value, V2} = queue:out(V1),
- if
- Value =:= empty ->
- out_current(P + 1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- V3}}
- end).
-
-?OUT_CURRENT_Qn128(-128,
- Qn128, NewQn128,
- {NewQn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_Qn128(-127,
- Qn127, NewQn127,
- {Qn128, NewQn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_Qn128(-126,
- Qn126, NewQn126,
- {Qn128, Qn127, NewQn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_Qn128(-125,
- Qn125, NewQn125,
- {Qn128, Qn127, Qn126, NewQn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_Qn128(-124,
- Qn124, NewQn124,
- {Qn128, Qn127, Qn126, Qn125, NewQn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_Qn128(-123,
- Qn123, NewQn123,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- NewQn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_Qn128(-122,
- Qn122, NewQn122,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, NewQn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_Qn128(-121,
- Qn121, NewQn121,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, NewQn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_Qn128(-120,
- Qn120, NewQn120,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, NewQn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_Qn128(-119,
- Qn119, NewQn119,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, NewQn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_Qn128(-118,
- Qn118, NewQn118,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, NewQn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_Qn128(-117,
- Qn117, NewQn117,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- NewQn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_Qn128(-116,
- Qn116, NewQn116,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, NewQn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_Qn128(-115,
- Qn115, NewQn115,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, NewQn115, Qn114, Qn113});
-?OUT_CURRENT_Qn128(-114,
- Qn114, NewQn114,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, NewQn114, Qn113});
-?OUT_CURRENT_Qn128(-113,
- Qn113, NewQn113,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, NewQn113});
-?OUT_CURRENT_Qn112(-112,
- Qn112, NewQn112,
- {NewQn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_Qn112(-111,
- Qn111, NewQn111,
- {Qn112, NewQn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_Qn112(-110,
- Qn110, NewQn110,
- {Qn112, Qn111, NewQn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_Qn112(-109,
- Qn109, NewQn109,
- {Qn112, Qn111, Qn110, NewQn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_Qn112(-108,
- Qn108, NewQn108,
- {Qn112, Qn111, Qn110, Qn109, NewQn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_Qn112(-107,
- Qn107, NewQn107,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- NewQn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_Qn112(-106,
- Qn106, NewQn106,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, NewQn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_Qn112(-105,
- Qn105, NewQn105,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, NewQn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_Qn112(-104,
- Qn104, NewQn104,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, NewQn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_Qn112(-103,
- Qn103, NewQn103,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, NewQn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_Qn112(-102,
- Qn102, NewQn102,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, NewQn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_Qn112(-101,
- Qn101, NewQn101,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- NewQn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_Qn112(-100,
- Qn100, NewQn100,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, NewQn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_Qn112(-99,
- Qn99, NewQn99,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, NewQn99, Qn98, Qn97});
-?OUT_CURRENT_Qn112(-98,
- Qn98, NewQn98,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, NewQn98, Qn97});
-?OUT_CURRENT_Qn112(-97,
- Qn97, NewQn97,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, NewQn97});
-?OUT_CURRENT_Qn96(-96,
- Qn96, NewQn96,
- {NewQn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_Qn96(-95,
- Qn95, NewQn95,
- {Qn96, NewQn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_Qn96(-94,
- Qn94, NewQn94,
- {Qn96, Qn95, NewQn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_Qn96(-93,
- Qn93, NewQn93,
- {Qn96, Qn95, Qn94, NewQn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_Qn96(-92,
- Qn92, NewQn92,
- {Qn96, Qn95, Qn94, Qn93, NewQn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_Qn96(-91,
- Qn91, NewQn91,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- NewQn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_Qn96(-90,
- Qn90, NewQn90,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, NewQn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_Qn96(-89,
- Qn89, NewQn89,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, NewQn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_Qn96(-88,
- Qn88, NewQn88,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, NewQn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_Qn96(-87,
- Qn87, NewQn87,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, NewQn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_Qn96(-86,
- Qn86, NewQn86,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, NewQn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_Qn96(-85,
- Qn85, NewQn85,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- NewQn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_Qn96(-84,
- Qn84, NewQn84,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, NewQn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_Qn96(-83,
- Qn83, NewQn83,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, NewQn83, Qn82, Qn81});
-?OUT_CURRENT_Qn96(-82,
- Qn82, NewQn82,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, NewQn82, Qn81});
-?OUT_CURRENT_Qn96(-81,
- Qn81, NewQn81,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, NewQn81});
-?OUT_CURRENT_Qn80(-80,
- Qn80, NewQn80,
- {NewQn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_Qn80(-79,
- Qn79, NewQn79,
- {Qn80, NewQn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_Qn80(-78,
- Qn78, NewQn78,
- {Qn80, Qn79, NewQn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_Qn80(-77,
- Qn77, NewQn77,
- {Qn80, Qn79, Qn78, NewQn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_Qn80(-76,
- Qn76, NewQn76,
- {Qn80, Qn79, Qn78, Qn77, NewQn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_Qn80(-75,
- Qn75, NewQn75,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- NewQn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_Qn80(-74,
- Qn74, NewQn74,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, NewQn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_Qn80(-73,
- Qn73, NewQn73,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, NewQn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_Qn80(-72,
- Qn72, NewQn72,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, NewQn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_Qn80(-71,
- Qn71, NewQn71,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, NewQn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_Qn80(-70,
- Qn70, NewQn70,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, NewQn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_Qn80(-69,
- Qn69, NewQn69,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- NewQn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_Qn80(-68,
- Qn68, NewQn68,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, NewQn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_Qn80(-67,
- Qn67, NewQn67,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, NewQn67, Qn66, Qn65});
-?OUT_CURRENT_Qn80(-66,
- Qn66, NewQn66,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, NewQn66, Qn65});
-?OUT_CURRENT_Qn80(-65,
- Qn65, NewQn65,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, NewQn65});
-?OUT_CURRENT_Qn64(-64,
- Qn64, NewQn64,
- {NewQn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_Qn64(-63,
- Qn63, NewQn63,
- {Qn64, NewQn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_Qn64(-62,
- Qn62, NewQn62,
- {Qn64, Qn63, NewQn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_Qn64(-61,
- Qn61, NewQn61,
- {Qn64, Qn63, Qn62, NewQn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_Qn64(-60,
- Qn60, NewQn60,
- {Qn64, Qn63, Qn62, Qn61, NewQn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_Qn64(-59,
- Qn59, NewQn59,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- NewQn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_Qn64(-58,
- Qn58, NewQn58,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, NewQn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_Qn64(-57,
- Qn57, NewQn57,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, NewQn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_Qn64(-56,
- Qn56, NewQn56,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, NewQn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_Qn64(-55,
- Qn55, NewQn55,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, NewQn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_Qn64(-54,
- Qn54, NewQn54,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, NewQn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_Qn64(-53,
- Qn53, NewQn53,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- NewQn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_Qn64(-52,
- Qn52, NewQn52,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, NewQn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_Qn64(-51,
- Qn51, NewQn51,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, NewQn51, Qn50, Qn49});
-?OUT_CURRENT_Qn64(-50,
- Qn50, NewQn50,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, NewQn50, Qn49});
-?OUT_CURRENT_Qn64(-49,
- Qn49, NewQn49,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, NewQn49});
-?OUT_CURRENT_Qn48(-48,
- Qn48, NewQn48,
- {NewQn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_Qn48(-47,
- Qn47, NewQn47,
- {Qn48, NewQn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_Qn48(-46,
- Qn46, NewQn46,
- {Qn48, Qn47, NewQn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_Qn48(-45,
- Qn45, NewQn45,
- {Qn48, Qn47, Qn46, NewQn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_Qn48(-44,
- Qn44, NewQn44,
- {Qn48, Qn47, Qn46, Qn45, NewQn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_Qn48(-43,
- Qn43, NewQn43,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- NewQn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_Qn48(-42,
- Qn42, NewQn42,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, NewQn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_Qn48(-41,
- Qn41, NewQn41,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, NewQn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_Qn48(-40,
- Qn40, NewQn40,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, NewQn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_Qn48(-39,
- Qn39, NewQn39,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, NewQn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_Qn48(-38,
- Qn38, NewQn38,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, NewQn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_Qn48(-37,
- Qn37, NewQn37,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- NewQn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_Qn48(-36,
- Qn36, NewQn36,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, NewQn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_Qn48(-35,
- Qn35, NewQn35,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, NewQn35, Qn34, Qn33});
-?OUT_CURRENT_Qn48(-34,
- Qn34, NewQn34,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, NewQn34, Qn33});
-?OUT_CURRENT_Qn48(-33,
- Qn33, NewQn33,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, NewQn33});
-?OUT_CURRENT_Qn32(-32,
- Qn32, NewQn32,
- {NewQn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_Qn32(-31,
- Qn31, NewQn31,
- {Qn32, NewQn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_Qn32(-30,
- Qn30, NewQn30,
- {Qn32, Qn31, NewQn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_Qn32(-29,
- Qn29, NewQn29,
- {Qn32, Qn31, Qn30, NewQn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_Qn32(-28,
- Qn28, NewQn28,
- {Qn32, Qn31, Qn30, Qn29, NewQn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_Qn32(-27,
- Qn27, NewQn27,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- NewQn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_Qn32(-26,
- Qn26, NewQn26,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, NewQn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_Qn32(-25,
- Qn25, NewQn25,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, NewQn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_Qn32(-24,
- Qn24, NewQn24,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, NewQn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_Qn32(-23,
- Qn23, NewQn23,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, NewQn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_Qn32(-22,
- Qn22, NewQn22,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, NewQn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_Qn32(-21,
- Qn21, NewQn21,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- NewQn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_Qn32(-20,
- Qn20, NewQn20,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, NewQn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_Qn32(-19,
- Qn19, NewQn19,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, NewQn19, Qn18, Qn17});
-?OUT_CURRENT_Qn32(-18,
- Qn18, NewQn18,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, NewQn18, Qn17});
-?OUT_CURRENT_Qn32(-17,
- Qn17, NewQn17,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, NewQn17});
-?OUT_CURRENT_Qn16(-16,
- Qn16, NewQn16,
- {NewQn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_Qn16(-15,
- Qn15, NewQn15,
- {Qn16, NewQn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_Qn16(-14,
- Qn14, NewQn14,
- {Qn16, Qn15, NewQn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_Qn16(-13,
- Qn13, NewQn13,
- {Qn16, Qn15, Qn14, NewQn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_Qn16(-12,
- Qn12, NewQn12,
- {Qn16, Qn15, Qn14, Qn13, NewQn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_Qn16(-11,
- Qn11, NewQn11,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- NewQn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_Qn16(-10,
- Qn10, NewQn10,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, NewQn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_Qn16(-9,
- Qn9, NewQn9,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, NewQn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_Qn16(-8,
- Qn8, NewQn8,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, NewQn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_Qn16(-7,
- Qn7, NewQn7,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, NewQn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_Qn16(-6,
- Qn6, NewQn6,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, NewQn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_Qn16(-5,
- Qn5, NewQn5,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- NewQn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_Qn16(-4,
- Qn4, NewQn4,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, NewQn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_Qn16(-3,
- Qn3, NewQn3,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, NewQn3, Qn2, Qn1});
-?OUT_CURRENT_Qn16(-2,
- Qn2, NewQn2,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, NewQn2, Qn1});
-?OUT_CURRENT_Qn16(-1,
- Qn1, NewQn1,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, NewQn1});
-out_current(0,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- {Value, NewQ0} = queue:out(Q0),
- if
- Value =:= empty ->
- out_current(1, Q);
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> 0 end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- NewQ0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end;
-?OUT_CURRENT_Qp16(1,
- Qp1, NewQp1,
- {NewQp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_Qp16(2,
- Qp2, NewQp2,
- {Qp1, NewQp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_Qp16(3,
- Qp3, NewQp3,
- {Qp1, Qp2, NewQp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_Qp16(4,
- Qp4, NewQp4,
- {Qp1, Qp2, Qp3, NewQp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_Qp16(5,
- Qp5, NewQp5,
- {Qp1, Qp2, Qp3, Qp4, NewQp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_Qp16(6,
- Qp6, NewQp6,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- NewQp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_Qp16(7,
- Qp7, NewQp7,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, NewQp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_Qp16(8,
- Qp8, NewQp8,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, NewQp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_Qp16(9,
- Qp9, NewQp9,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, NewQp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_Qp16(10,
- Qp10, NewQp10,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, NewQp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_Qp16(11,
- Qp11, NewQp11,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, NewQp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_Qp16(12,
- Qp12, NewQp12,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- NewQp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_Qp16(13,
- Qp13, NewQp13,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, NewQp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_Qp16(14,
- Qp14, NewQp14,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, NewQp14, Qp15, Qp16});
-?OUT_CURRENT_Qp16(15,
- Qp15, NewQp15,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, NewQp15, Qp16});
-?OUT_CURRENT_Qp16(16,
- Qp16, NewQp16,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, NewQp16});
-?OUT_CURRENT_Qp32(17,
- Qp17, NewQp17,
- {NewQp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_Qp32(18,
- Qp18, NewQp18,
- {Qp17, NewQp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_Qp32(19,
- Qp19, NewQp19,
- {Qp17, Qp18, NewQp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_Qp32(20,
- Qp20, NewQp20,
- {Qp17, Qp18, Qp19, NewQp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_Qp32(21,
- Qp21, NewQp21,
- {Qp17, Qp18, Qp19, Qp20, NewQp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_Qp32(22,
- Qp22, NewQp22,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- NewQp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_Qp32(23,
- Qp23, NewQp23,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, NewQp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_Qp32(24,
- Qp24, NewQp24,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, NewQp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_Qp32(25,
- Qp25, NewQp25,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, NewQp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_Qp32(26,
- Qp26, NewQp26,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, NewQp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_Qp32(27,
- Qp27, NewQp27,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, NewQp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_Qp32(28,
- Qp28, NewQp28,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- NewQp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_Qp32(29,
- Qp29, NewQp29,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, NewQp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_Qp32(30,
- Qp30, NewQp30,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, NewQp30, Qp31, Qp32});
-?OUT_CURRENT_Qp32(31,
- Qp31, NewQp31,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, NewQp31, Qp32});
-?OUT_CURRENT_Qp32(32,
- Qp32, NewQp32,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, NewQp32});
-?OUT_CURRENT_Qp48(33,
- Qp33, NewQp33,
- {NewQp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_Qp48(34,
- Qp34, NewQp34,
- {Qp33, NewQp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_Qp48(35,
- Qp35, NewQp35,
- {Qp33, Qp34, NewQp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_Qp48(36,
- Qp36, NewQp36,
- {Qp33, Qp34, Qp35, NewQp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_Qp48(37,
- Qp37, NewQp37,
- {Qp33, Qp34, Qp35, Qp36, NewQp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_Qp48(38,
- Qp38, NewQp38,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- NewQp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_Qp48(39,
- Qp39, NewQp39,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, NewQp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_Qp48(40,
- Qp40, NewQp40,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, NewQp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_Qp48(41,
- Qp41, NewQp41,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, NewQp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_Qp48(42,
- Qp42, NewQp42,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, NewQp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_Qp48(43,
- Qp43, NewQp43,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, NewQp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_Qp48(44,
- Qp44, NewQp44,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- NewQp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_Qp48(45,
- Qp45, NewQp45,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, NewQp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_Qp48(46,
- Qp46, NewQp46,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, NewQp46, Qp47, Qp48});
-?OUT_CURRENT_Qp48(47,
- Qp47, NewQp47,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, NewQp47, Qp48});
-?OUT_CURRENT_Qp48(48,
- Qp48, NewQp48,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, NewQp48});
-?OUT_CURRENT_Qp64(49,
- Qp49, NewQp49,
- {NewQp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_Qp64(50,
- Qp50, NewQp50,
- {Qp49, NewQp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_Qp64(51,
- Qp51, NewQp51,
- {Qp49, Qp50, NewQp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_Qp64(52,
- Qp52, NewQp52,
- {Qp49, Qp50, Qp51, NewQp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_Qp64(53,
- Qp53, NewQp53,
- {Qp49, Qp50, Qp51, Qp52, NewQp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_Qp64(54,
- Qp54, NewQp54,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- NewQp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_Qp64(55,
- Qp55, NewQp55,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, NewQp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_Qp64(56,
- Qp56, NewQp56,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, NewQp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_Qp64(57,
- Qp57, NewQp57,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, NewQp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_Qp64(58,
- Qp58, NewQp58,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, NewQp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_Qp64(59,
- Qp59, NewQp59,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, NewQp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_Qp64(60,
- Qp60, NewQp60,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- NewQp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_Qp64(61,
- Qp61, NewQp61,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, NewQp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_Qp64(62,
- Qp62, NewQp62,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, NewQp62, Qp63, Qp64});
-?OUT_CURRENT_Qp64(63,
- Qp63, NewQp63,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, NewQp63, Qp64});
-?OUT_CURRENT_Qp64(64,
- Qp64, NewQp64,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, NewQp64});
-?OUT_CURRENT_Qp80(65,
- Qp65, NewQp65,
- {NewQp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_Qp80(66,
- Qp66, NewQp66,
- {Qp65, NewQp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_Qp80(67,
- Qp67, NewQp67,
- {Qp65, Qp66, NewQp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_Qp80(68,
- Qp68, NewQp68,
- {Qp65, Qp66, Qp67, NewQp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_Qp80(69,
- Qp69, NewQp69,
- {Qp65, Qp66, Qp67, Qp68, NewQp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_Qp80(70,
- Qp70, NewQp70,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- NewQp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_Qp80(71,
- Qp71, NewQp71,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, NewQp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_Qp80(72,
- Qp72, NewQp72,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, NewQp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_Qp80(73,
- Qp73, NewQp73,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, NewQp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_Qp80(74,
- Qp74, NewQp74,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, NewQp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_Qp80(75,
- Qp75, NewQp75,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, NewQp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_Qp80(76,
- Qp76, NewQp76,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- NewQp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_Qp80(77,
- Qp77, NewQp77,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, NewQp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_Qp80(78,
- Qp78, NewQp78,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, NewQp78, Qp79, Qp80});
-?OUT_CURRENT_Qp80(79,
- Qp79, NewQp79,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, NewQp79, Qp80});
-?OUT_CURRENT_Qp80(80,
- Qp80, NewQp80,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, NewQp80});
-?OUT_CURRENT_Qp96(81,
- Qp81, NewQp81,
- {NewQp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_Qp96(82,
- Qp82, NewQp82,
- {Qp81, NewQp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_Qp96(83,
- Qp83, NewQp83,
- {Qp81, Qp82, NewQp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_Qp96(84,
- Qp84, NewQp84,
- {Qp81, Qp82, Qp83, NewQp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_Qp96(85,
- Qp85, NewQp85,
- {Qp81, Qp82, Qp83, Qp84, NewQp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_Qp96(86,
- Qp86, NewQp86,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- NewQp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_Qp96(87,
- Qp87, NewQp87,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, NewQp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_Qp96(88,
- Qp88, NewQp88,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, NewQp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_Qp96(89,
- Qp89, NewQp89,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, NewQp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_Qp96(90,
- Qp90, NewQp90,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, NewQp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_Qp96(91,
- Qp91, NewQp91,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, NewQp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_Qp96(92,
- Qp92, NewQp92,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- NewQp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_Qp96(93,
- Qp93, NewQp93,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, NewQp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_Qp96(94,
- Qp94, NewQp94,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, NewQp94, Qp95, Qp96});
-?OUT_CURRENT_Qp96(95,
- Qp95, NewQp95,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, NewQp95, Qp96});
-?OUT_CURRENT_Qp96(96,
- Qp96, NewQp96,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, NewQp96});
-?OUT_CURRENT_Qp112(97,
- Qp97, NewQp97,
- {NewQp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_Qp112(98,
- Qp98, NewQp98,
- {Qp97, NewQp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_Qp112(99,
- Qp99, NewQp99,
- {Qp97, Qp98, NewQp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_Qp112(100,
- Qp100, NewQp100,
- {Qp97, Qp98, Qp99, NewQp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_Qp112(101,
- Qp101, NewQp101,
- {Qp97, Qp98, Qp99, Qp100, NewQp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_Qp112(102,
- Qp102, NewQp102,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- NewQp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_Qp112(103,
- Qp103, NewQp103,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, NewQp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_Qp112(104,
- Qp104, NewQp104,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, NewQp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_Qp112(105,
- Qp105, NewQp105,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, NewQp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_Qp112(106,
- Qp106, NewQp106,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, NewQp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_Qp112(107,
- Qp107, NewQp107,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, NewQp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_Qp112(108,
- Qp108, NewQp108,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- NewQp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_Qp112(109,
- Qp109, NewQp109,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, NewQp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_Qp112(110,
- Qp110, NewQp110,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, NewQp110, Qp111, Qp112});
-?OUT_CURRENT_Qp112(111,
- Qp111, NewQp111,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, NewQp111, Qp112});
-?OUT_CURRENT_Qp112(112,
- Qp112, NewQp112,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, NewQp112});
-?OUT_CURRENT_Qp128(113,
- Qp113, NewQp113,
- {NewQp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_Qp128(114,
- Qp114, NewQp114,
- {Qp113, NewQp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_Qp128(115,
- Qp115, NewQp115,
- {Qp113, Qp114, NewQp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_Qp128(116,
- Qp116, NewQp116,
- {Qp113, Qp114, Qp115, NewQp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_Qp128(117,
- Qp117, NewQp117,
- {Qp113, Qp114, Qp115, Qp116, NewQp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_Qp128(118,
- Qp118, NewQp118,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- NewQp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_Qp128(119,
- Qp119, NewQp119,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, NewQp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_Qp128(120,
- Qp120, NewQp120,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, NewQp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_Qp128(121,
- Qp121, NewQp121,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, NewQp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_Qp128(122,
- Qp122, NewQp122,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, NewQp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_Qp128(123,
- Qp123, NewQp123,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, NewQp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_Qp128(124,
- Qp124, NewQp124,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- NewQp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_Qp128(125,
- Qp125, NewQp125,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, NewQp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_Qp128(126,
- Qp126, NewQp126,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, NewQp126, Qp127, Qp128});
-?OUT_CURRENT_Qp128(127,
- Qp127, NewQp127,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, NewQp127, Qp128});
-out_current(128,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- {Qp113, Qp114, Qp115, Qp116, Qp117, Qp118, Qp119, Qp120,
- Qp121, Qp122, Qp123, Qp124, Qp125, Qp126, Qp127, Qp128}}) ->
- {Value, NewQp128} = queue:out(Qp128),
- if
- Value =:= empty ->
- {empty,
- {empty,
- 0,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- {Qp113, Qp114, Qp115, Qp116, Qp117, Qp118, Qp119, Qp120,
- Qp121, Qp122, Qp123, Qp124, Qp125, Qp126, Qp127, NewQp128}}};
- true ->
- NewSize = Size - 1,
- {Value,
- {if NewSize == 0 -> empty; true -> 128 end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- {Qp113, Qp114, Qp115, Qp116, Qp117, Qp118, Qp119, Qp120,
- Qp121, Qp122, Qp123, Qp124, Qp125, Qp126, Qp127, NewQp128}}}
- end.
-
-%% @hidden
--define(OUT_CURRENT_P_Qn128(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- {Qn128, Qn127, Qn126, Qn125, Qn124, Qn123, Qn122, Qn121,
- Qn120, Qn119, Qn118, Qn117, Qn116, Qn115, Qn114, Qn113},
- Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- V3,
- Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_P_Qn112(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128,
- {Qn112, Qn111, Qn110, Qn109, Qn108, Qn107, Qn106, Qn105,
- Qn104, Qn103, Qn102, Qn101, Qn100, Qn99, Qn98, Qn97},
- Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128,
- V3,
- Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_P_Qn96(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128, Qn112,
- {Qn96, Qn95, Qn94, Qn93, Qn92, Qn91, Qn90, Qn89,
- Qn88, Qn87, Qn86, Qn85, Qn84, Qn83, Qn82, Qn81},
- Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112,
- V3,
- Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_P_Qn80(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128, Qn112, Qn96,
- {Qn80, Qn79, Qn78, Qn77, Qn76, Qn75, Qn74, Qn73,
- Qn72, Qn71, Qn70, Qn69, Qn68, Qn67, Qn66, Qn65},
- Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96,
- V3,
- Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_P_Qn64(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80,
- {Qn64, Qn63, Qn62, Qn61, Qn60, Qn59, Qn58, Qn57,
- Qn56, Qn55, Qn54, Qn53, Qn52, Qn51, Qn50, Qn49},
- Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80,
- V3,
- Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_P_Qn48(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64,
- {Qn48, Qn47, Qn46, Qn45, Qn44, Qn43, Qn42, Qn41,
- Qn40, Qn39, Qn38, Qn37, Qn36, Qn35, Qn34, Qn33},
- Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64,
- V3,
- Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_P_Qn32(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48,
- {Qn32, Qn31, Qn30, Qn29, Qn28, Qn27, Qn26, Qn25,
- Qn24, Qn23, Qn22, Qn21, Qn20, Qn19, Qn18, Qn17},
- Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48,
- V3,
- Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_P_Qn16(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32,
- {Qn16, Qn15, Qn14, Qn13, Qn12, Qn11, Qn10, Qn9,
- Qn8, Qn7, Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32,
- V3,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_P_Qp16(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6, Qp7, Qp8,
- Qp9, Qp10, Qp11, Qp12, Qp13, Qp14, Qp15, Qp16},
- Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- V3,
- Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_P_Qp32(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16,
- {Qp17, Qp18, Qp19, Qp20, Qp21, Qp22, Qp23, Qp24,
- Qp25, Qp26, Qp27, Qp28, Qp29, Qp30, Qp31, Qp32},
- Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16,
- V3,
- Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_P_Qp48(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32,
- {Qp33, Qp34, Qp35, Qp36, Qp37, Qp38, Qp39, Qp40,
- Qp41, Qp42, Qp43, Qp44, Qp45, Qp46, Qp47, Qp48},
- Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32,
- V3,
- Qp64, Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_P_Qp64(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48,
- {Qp49, Qp50, Qp51, Qp52, Qp53, Qp54, Qp55, Qp56,
- Qp57, Qp58, Qp59, Qp60, Qp61, Qp62, Qp63, Qp64},
- Qp80, Qp96, Qp112, Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48,
- V3,
- Qp80, Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_P_Qp80(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64,
- {Qp65, Qp66, Qp67, Qp68, Qp69, Qp70, Qp71, Qp72,
- Qp73, Qp74, Qp75, Qp76, Qp77, Qp78, Qp79, Qp80},
- Qp96, Qp112, Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64,
- V3,
- Qp96, Qp112, Qp128}}
- end).
--define(OUT_CURRENT_P_Qp96(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80,
- {Qp81, Qp82, Qp83, Qp84, Qp85, Qp86, Qp87, Qp88,
- Qp89, Qp90, Qp91, Qp92, Qp93, Qp94, Qp95, Qp96},
- Qp112, Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80,
- V3,
- Qp112, Qp128}}
- end).
--define(OUT_CURRENT_P_Qp112(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96,
- {Qp97, Qp98, Qp99, Qp100, Qp101, Qp102, Qp103, Qp104,
- Qp105, Qp106, Qp107, Qp108, Qp109, Qp110, Qp111, Qp112},
- Qp128} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96,
- V3,
- Qp128}}
- end).
--define(OUT_CURRENT_P_Qp128(P, V1, V2, V3),
-out_current_p(P,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- {Qp113, Qp114, Qp115, Qp116, Qp117, Qp118, Qp119, Qp120,
- Qp121, Qp122, Qp123, Qp124, Qp125, Qp126, Qp127, Qp128}} = Q) ->
- case queue:out(V1) of
- {empty, _} ->
- out_current_p(P + 1, Q);
- {{value, X}, V2} ->
- NewSize = Size - 1,
- {{value, X, P},
- {if NewSize == 0 -> empty; true -> P end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- V3}}
- end).
-
-?OUT_CURRENT_P_Qn128(-128,
- Qn128, NewQn128,
- {NewQn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_P_Qn128(-127,
- Qn127, NewQn127,
- {Qn128, NewQn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_P_Qn128(-126,
- Qn126, NewQn126,
- {Qn128, Qn127, NewQn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_P_Qn128(-125,
- Qn125, NewQn125,
- {Qn128, Qn127, Qn126, NewQn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_P_Qn128(-124,
- Qn124, NewQn124,
- {Qn128, Qn127, Qn126, Qn125, NewQn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_P_Qn128(-123,
- Qn123, NewQn123,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- NewQn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_P_Qn128(-122,
- Qn122, NewQn122,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, NewQn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_P_Qn128(-121,
- Qn121, NewQn121,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, NewQn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_P_Qn128(-120,
- Qn120, NewQn120,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, NewQn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_P_Qn128(-119,
- Qn119, NewQn119,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, NewQn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_P_Qn128(-118,
- Qn118, NewQn118,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, NewQn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_P_Qn128(-117,
- Qn117, NewQn117,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- NewQn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_P_Qn128(-116,
- Qn116, NewQn116,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, NewQn116, Qn115, Qn114, Qn113});
-?OUT_CURRENT_P_Qn128(-115,
- Qn115, NewQn115,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, NewQn115, Qn114, Qn113});
-?OUT_CURRENT_P_Qn128(-114,
- Qn114, NewQn114,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, NewQn114, Qn113});
-?OUT_CURRENT_P_Qn128(-113,
- Qn113, NewQn113,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, NewQn113});
-?OUT_CURRENT_P_Qn112(-112,
- Qn112, NewQn112,
- {NewQn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_P_Qn112(-111,
- Qn111, NewQn111,
- {Qn112, NewQn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_P_Qn112(-110,
- Qn110, NewQn110,
- {Qn112, Qn111, NewQn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_P_Qn112(-109,
- Qn109, NewQn109,
- {Qn112, Qn111, Qn110, NewQn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_P_Qn112(-108,
- Qn108, NewQn108,
- {Qn112, Qn111, Qn110, Qn109, NewQn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_P_Qn112(-107,
- Qn107, NewQn107,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- NewQn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_P_Qn112(-106,
- Qn106, NewQn106,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, NewQn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_P_Qn112(-105,
- Qn105, NewQn105,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, NewQn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_P_Qn112(-104,
- Qn104, NewQn104,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, NewQn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_P_Qn112(-103,
- Qn103, NewQn103,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, NewQn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_P_Qn112(-102,
- Qn102, NewQn102,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, NewQn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_P_Qn112(-101,
- Qn101, NewQn101,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- NewQn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_P_Qn112(-100,
- Qn100, NewQn100,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, NewQn100, Qn99, Qn98, Qn97});
-?OUT_CURRENT_P_Qn112(-99,
- Qn99, NewQn99,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, NewQn99, Qn98, Qn97});
-?OUT_CURRENT_P_Qn112(-98,
- Qn98, NewQn98,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, NewQn98, Qn97});
-?OUT_CURRENT_P_Qn112(-97,
- Qn97, NewQn97,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, NewQn97});
-?OUT_CURRENT_P_Qn96(-96,
- Qn96, NewQn96,
- {NewQn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_P_Qn96(-95,
- Qn95, NewQn95,
- {Qn96, NewQn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_P_Qn96(-94,
- Qn94, NewQn94,
- {Qn96, Qn95, NewQn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_P_Qn96(-93,
- Qn93, NewQn93,
- {Qn96, Qn95, Qn94, NewQn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_P_Qn96(-92,
- Qn92, NewQn92,
- {Qn96, Qn95, Qn94, Qn93, NewQn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_P_Qn96(-91,
- Qn91, NewQn91,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- NewQn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_P_Qn96(-90,
- Qn90, NewQn90,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, NewQn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_P_Qn96(-89,
- Qn89, NewQn89,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, NewQn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_P_Qn96(-88,
- Qn88, NewQn88,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, NewQn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_P_Qn96(-87,
- Qn87, NewQn87,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, NewQn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_P_Qn96(-86,
- Qn86, NewQn86,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, NewQn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_P_Qn96(-85,
- Qn85, NewQn85,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- NewQn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_P_Qn96(-84,
- Qn84, NewQn84,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, NewQn84, Qn83, Qn82, Qn81});
-?OUT_CURRENT_P_Qn96(-83,
- Qn83, NewQn83,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, NewQn83, Qn82, Qn81});
-?OUT_CURRENT_P_Qn96(-82,
- Qn82, NewQn82,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, NewQn82, Qn81});
-?OUT_CURRENT_P_Qn96(-81,
- Qn81, NewQn81,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, NewQn81});
-?OUT_CURRENT_P_Qn80(-80,
- Qn80, NewQn80,
- {NewQn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_P_Qn80(-79,
- Qn79, NewQn79,
- {Qn80, NewQn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_P_Qn80(-78,
- Qn78, NewQn78,
- {Qn80, Qn79, NewQn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_P_Qn80(-77,
- Qn77, NewQn77,
- {Qn80, Qn79, Qn78, NewQn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_P_Qn80(-76,
- Qn76, NewQn76,
- {Qn80, Qn79, Qn78, Qn77, NewQn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_P_Qn80(-75,
- Qn75, NewQn75,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- NewQn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_P_Qn80(-74,
- Qn74, NewQn74,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, NewQn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_P_Qn80(-73,
- Qn73, NewQn73,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, NewQn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_P_Qn80(-72,
- Qn72, NewQn72,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, NewQn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_P_Qn80(-71,
- Qn71, NewQn71,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, NewQn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_P_Qn80(-70,
- Qn70, NewQn70,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, NewQn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_P_Qn80(-69,
- Qn69, NewQn69,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- NewQn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_P_Qn80(-68,
- Qn68, NewQn68,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, NewQn68, Qn67, Qn66, Qn65});
-?OUT_CURRENT_P_Qn80(-67,
- Qn67, NewQn67,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, NewQn67, Qn66, Qn65});
-?OUT_CURRENT_P_Qn80(-66,
- Qn66, NewQn66,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, NewQn66, Qn65});
-?OUT_CURRENT_P_Qn80(-65,
- Qn65, NewQn65,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, NewQn65});
-?OUT_CURRENT_P_Qn64(-64,
- Qn64, NewQn64,
- {NewQn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_P_Qn64(-63,
- Qn63, NewQn63,
- {Qn64, NewQn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_P_Qn64(-62,
- Qn62, NewQn62,
- {Qn64, Qn63, NewQn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_P_Qn64(-61,
- Qn61, NewQn61,
- {Qn64, Qn63, Qn62, NewQn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_P_Qn64(-60,
- Qn60, NewQn60,
- {Qn64, Qn63, Qn62, Qn61, NewQn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_P_Qn64(-59,
- Qn59, NewQn59,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- NewQn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_P_Qn64(-58,
- Qn58, NewQn58,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, NewQn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_P_Qn64(-57,
- Qn57, NewQn57,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, NewQn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_P_Qn64(-56,
- Qn56, NewQn56,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, NewQn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_P_Qn64(-55,
- Qn55, NewQn55,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, NewQn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_P_Qn64(-54,
- Qn54, NewQn54,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, NewQn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_P_Qn64(-53,
- Qn53, NewQn53,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- NewQn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_P_Qn64(-52,
- Qn52, NewQn52,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, NewQn52, Qn51, Qn50, Qn49});
-?OUT_CURRENT_P_Qn64(-51,
- Qn51, NewQn51,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, NewQn51, Qn50, Qn49});
-?OUT_CURRENT_P_Qn64(-50,
- Qn50, NewQn50,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, NewQn50, Qn49});
-?OUT_CURRENT_P_Qn64(-49,
- Qn49, NewQn49,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, NewQn49});
-?OUT_CURRENT_P_Qn48(-48,
- Qn48, NewQn48,
- {NewQn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_P_Qn48(-47,
- Qn47, NewQn47,
- {Qn48, NewQn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_P_Qn48(-46,
- Qn46, NewQn46,
- {Qn48, Qn47, NewQn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_P_Qn48(-45,
- Qn45, NewQn45,
- {Qn48, Qn47, Qn46, NewQn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_P_Qn48(-44,
- Qn44, NewQn44,
- {Qn48, Qn47, Qn46, Qn45, NewQn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_P_Qn48(-43,
- Qn43, NewQn43,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- NewQn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_P_Qn48(-42,
- Qn42, NewQn42,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, NewQn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_P_Qn48(-41,
- Qn41, NewQn41,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, NewQn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_P_Qn48(-40,
- Qn40, NewQn40,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, NewQn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_P_Qn48(-39,
- Qn39, NewQn39,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, NewQn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_P_Qn48(-38,
- Qn38, NewQn38,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, NewQn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_P_Qn48(-37,
- Qn37, NewQn37,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- NewQn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_P_Qn48(-36,
- Qn36, NewQn36,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, NewQn36, Qn35, Qn34, Qn33});
-?OUT_CURRENT_P_Qn48(-35,
- Qn35, NewQn35,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, NewQn35, Qn34, Qn33});
-?OUT_CURRENT_P_Qn48(-34,
- Qn34, NewQn34,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, NewQn34, Qn33});
-?OUT_CURRENT_P_Qn48(-33,
- Qn33, NewQn33,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, NewQn33});
-?OUT_CURRENT_P_Qn32(-32,
- Qn32, NewQn32,
- {NewQn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_P_Qn32(-31,
- Qn31, NewQn31,
- {Qn32, NewQn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_P_Qn32(-30,
- Qn30, NewQn30,
- {Qn32, Qn31, NewQn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_P_Qn32(-29,
- Qn29, NewQn29,
- {Qn32, Qn31, Qn30, NewQn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_P_Qn32(-28,
- Qn28, NewQn28,
- {Qn32, Qn31, Qn30, Qn29, NewQn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_P_Qn32(-27,
- Qn27, NewQn27,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- NewQn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_P_Qn32(-26,
- Qn26, NewQn26,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, NewQn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_P_Qn32(-25,
- Qn25, NewQn25,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, NewQn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_P_Qn32(-24,
- Qn24, NewQn24,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, NewQn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_P_Qn32(-23,
- Qn23, NewQn23,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, NewQn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_P_Qn32(-22,
- Qn22, NewQn22,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, NewQn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_P_Qn32(-21,
- Qn21, NewQn21,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- NewQn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_P_Qn32(-20,
- Qn20, NewQn20,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, NewQn20, Qn19, Qn18, Qn17});
-?OUT_CURRENT_P_Qn32(-19,
- Qn19, NewQn19,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, NewQn19, Qn18, Qn17});
-?OUT_CURRENT_P_Qn32(-18,
- Qn18, NewQn18,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, NewQn18, Qn17});
-?OUT_CURRENT_P_Qn32(-17,
- Qn17, NewQn17,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, NewQn17});
-?OUT_CURRENT_P_Qn16(-16,
- Qn16, NewQn16,
- {NewQn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_P_Qn16(-15,
- Qn15, NewQn15,
- {Qn16, NewQn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_P_Qn16(-14,
- Qn14, NewQn14,
- {Qn16, Qn15, NewQn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_P_Qn16(-13,
- Qn13, NewQn13,
- {Qn16, Qn15, Qn14, NewQn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_P_Qn16(-12,
- Qn12, NewQn12,
- {Qn16, Qn15, Qn14, Qn13, NewQn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_P_Qn16(-11,
- Qn11, NewQn11,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- NewQn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_P_Qn16(-10,
- Qn10, NewQn10,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, NewQn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_P_Qn16(-9,
- Qn9, NewQn9,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, NewQn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_P_Qn16(-8,
- Qn8, NewQn8,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, NewQn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_P_Qn16(-7,
- Qn7, NewQn7,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, NewQn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_P_Qn16(-6,
- Qn6, NewQn6,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, NewQn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_P_Qn16(-5,
- Qn5, NewQn5,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- NewQn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_P_Qn16(-4,
- Qn4, NewQn4,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, NewQn4, Qn3, Qn2, Qn1});
-?OUT_CURRENT_P_Qn16(-3,
- Qn3, NewQn3,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, NewQn3, Qn2, Qn1});
-?OUT_CURRENT_P_Qn16(-2,
- Qn2, NewQn2,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, NewQn2, Qn1});
-?OUT_CURRENT_P_Qn16(-1,
- Qn1, NewQn1,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, NewQn1});
-out_current_p(0,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128} = Q) ->
- case queue:out(Q0) of
- {empty, _} ->
- out_current_p(1, Q);
- {{value, X}, NewQ0} ->
- NewSize = Size - 1,
- {{value, X, 0},
- {if NewSize == 0 -> empty; true -> 0 end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- NewQ0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}
- end;
-?OUT_CURRENT_P_Qp16(1,
- Qp1, NewQp1,
- {NewQp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_P_Qp16(2,
- Qp2, NewQp2,
- {Qp1, NewQp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_P_Qp16(3,
- Qp3, NewQp3,
- {Qp1, Qp2, NewQp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_P_Qp16(4,
- Qp4, NewQp4,
- {Qp1, Qp2, Qp3, NewQp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_P_Qp16(5,
- Qp5, NewQp5,
- {Qp1, Qp2, Qp3, Qp4, NewQp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_P_Qp16(6,
- Qp6, NewQp6,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- NewQp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_P_Qp16(7,
- Qp7, NewQp7,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, NewQp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_P_Qp16(8,
- Qp8, NewQp8,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, NewQp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_P_Qp16(9,
- Qp9, NewQp9,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, NewQp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_P_Qp16(10,
- Qp10, NewQp10,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, NewQp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_P_Qp16(11,
- Qp11, NewQp11,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, NewQp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_P_Qp16(12,
- Qp12, NewQp12,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- NewQp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_P_Qp16(13,
- Qp13, NewQp13,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, NewQp13, Qp14, Qp15, Qp16});
-?OUT_CURRENT_P_Qp16(14,
- Qp14, NewQp14,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, NewQp14, Qp15, Qp16});
-?OUT_CURRENT_P_Qp16(15,
- Qp15, NewQp15,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, NewQp15, Qp16});
-?OUT_CURRENT_P_Qp16(16,
- Qp16, NewQp16,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, NewQp16});
-?OUT_CURRENT_P_Qp32(17,
- Qp17, NewQp17,
- {NewQp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_P_Qp32(18,
- Qp18, NewQp18,
- {Qp17, NewQp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_P_Qp32(19,
- Qp19, NewQp19,
- {Qp17, Qp18, NewQp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_P_Qp32(20,
- Qp20, NewQp20,
- {Qp17, Qp18, Qp19, NewQp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_P_Qp32(21,
- Qp21, NewQp21,
- {Qp17, Qp18, Qp19, Qp20, NewQp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_P_Qp32(22,
- Qp22, NewQp22,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- NewQp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_P_Qp32(23,
- Qp23, NewQp23,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, NewQp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_P_Qp32(24,
- Qp24, NewQp24,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, NewQp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_P_Qp32(25,
- Qp25, NewQp25,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, NewQp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_P_Qp32(26,
- Qp26, NewQp26,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, NewQp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_P_Qp32(27,
- Qp27, NewQp27,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, NewQp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_P_Qp32(28,
- Qp28, NewQp28,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- NewQp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_P_Qp32(29,
- Qp29, NewQp29,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, NewQp29, Qp30, Qp31, Qp32});
-?OUT_CURRENT_P_Qp32(30,
- Qp30, NewQp30,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, NewQp30, Qp31, Qp32});
-?OUT_CURRENT_P_Qp32(31,
- Qp31, NewQp31,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, NewQp31, Qp32});
-?OUT_CURRENT_P_Qp32(32,
- Qp32, NewQp32,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, NewQp32});
-?OUT_CURRENT_P_Qp48(33,
- Qp33, NewQp33,
- {NewQp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_P_Qp48(34,
- Qp34, NewQp34,
- {Qp33, NewQp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_P_Qp48(35,
- Qp35, NewQp35,
- {Qp33, Qp34, NewQp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_P_Qp48(36,
- Qp36, NewQp36,
- {Qp33, Qp34, Qp35, NewQp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_P_Qp48(37,
- Qp37, NewQp37,
- {Qp33, Qp34, Qp35, Qp36, NewQp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_P_Qp48(38,
- Qp38, NewQp38,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- NewQp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_P_Qp48(39,
- Qp39, NewQp39,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, NewQp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_P_Qp48(40,
- Qp40, NewQp40,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, NewQp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_P_Qp48(41,
- Qp41, NewQp41,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, NewQp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_P_Qp48(42,
- Qp42, NewQp42,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, NewQp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_P_Qp48(43,
- Qp43, NewQp43,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, NewQp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_P_Qp48(44,
- Qp44, NewQp44,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- NewQp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_P_Qp48(45,
- Qp45, NewQp45,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, NewQp45, Qp46, Qp47, Qp48});
-?OUT_CURRENT_P_Qp48(46,
- Qp46, NewQp46,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, NewQp46, Qp47, Qp48});
-?OUT_CURRENT_P_Qp48(47,
- Qp47, NewQp47,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, NewQp47, Qp48});
-?OUT_CURRENT_P_Qp48(48,
- Qp48, NewQp48,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, NewQp48});
-?OUT_CURRENT_P_Qp64(49,
- Qp49, NewQp49,
- {NewQp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_P_Qp64(50,
- Qp50, NewQp50,
- {Qp49, NewQp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_P_Qp64(51,
- Qp51, NewQp51,
- {Qp49, Qp50, NewQp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_P_Qp64(52,
- Qp52, NewQp52,
- {Qp49, Qp50, Qp51, NewQp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_P_Qp64(53,
- Qp53, NewQp53,
- {Qp49, Qp50, Qp51, Qp52, NewQp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_P_Qp64(54,
- Qp54, NewQp54,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- NewQp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_P_Qp64(55,
- Qp55, NewQp55,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, NewQp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_P_Qp64(56,
- Qp56, NewQp56,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, NewQp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_P_Qp64(57,
- Qp57, NewQp57,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, NewQp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_P_Qp64(58,
- Qp58, NewQp58,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, NewQp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_P_Qp64(59,
- Qp59, NewQp59,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, NewQp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_P_Qp64(60,
- Qp60, NewQp60,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- NewQp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_P_Qp64(61,
- Qp61, NewQp61,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, NewQp61, Qp62, Qp63, Qp64});
-?OUT_CURRENT_P_Qp64(62,
- Qp62, NewQp62,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, NewQp62, Qp63, Qp64});
-?OUT_CURRENT_P_Qp64(63,
- Qp63, NewQp63,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, NewQp63, Qp64});
-?OUT_CURRENT_P_Qp64(64,
- Qp64, NewQp64,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, NewQp64});
-?OUT_CURRENT_P_Qp80(65,
- Qp65, NewQp65,
- {NewQp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_P_Qp80(66,
- Qp66, NewQp66,
- {Qp65, NewQp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_P_Qp80(67,
- Qp67, NewQp67,
- {Qp65, Qp66, NewQp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_P_Qp80(68,
- Qp68, NewQp68,
- {Qp65, Qp66, Qp67, NewQp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_P_Qp80(69,
- Qp69, NewQp69,
- {Qp65, Qp66, Qp67, Qp68, NewQp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_P_Qp80(70,
- Qp70, NewQp70,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- NewQp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_P_Qp80(71,
- Qp71, NewQp71,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, NewQp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_P_Qp80(72,
- Qp72, NewQp72,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, NewQp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_P_Qp80(73,
- Qp73, NewQp73,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, NewQp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_P_Qp80(74,
- Qp74, NewQp74,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, NewQp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_P_Qp80(75,
- Qp75, NewQp75,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, NewQp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_P_Qp80(76,
- Qp76, NewQp76,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- NewQp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_P_Qp80(77,
- Qp77, NewQp77,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, NewQp77, Qp78, Qp79, Qp80});
-?OUT_CURRENT_P_Qp80(78,
- Qp78, NewQp78,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, NewQp78, Qp79, Qp80});
-?OUT_CURRENT_P_Qp80(79,
- Qp79, NewQp79,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, NewQp79, Qp80});
-?OUT_CURRENT_P_Qp80(80,
- Qp80, NewQp80,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, NewQp80});
-?OUT_CURRENT_P_Qp96(81,
- Qp81, NewQp81,
- {NewQp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_P_Qp96(82,
- Qp82, NewQp82,
- {Qp81, NewQp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_P_Qp96(83,
- Qp83, NewQp83,
- {Qp81, Qp82, NewQp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_P_Qp96(84,
- Qp84, NewQp84,
- {Qp81, Qp82, Qp83, NewQp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_P_Qp96(85,
- Qp85, NewQp85,
- {Qp81, Qp82, Qp83, Qp84, NewQp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_P_Qp96(86,
- Qp86, NewQp86,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- NewQp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_P_Qp96(87,
- Qp87, NewQp87,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, NewQp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_P_Qp96(88,
- Qp88, NewQp88,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, NewQp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_P_Qp96(89,
- Qp89, NewQp89,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, NewQp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_P_Qp96(90,
- Qp90, NewQp90,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, NewQp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_P_Qp96(91,
- Qp91, NewQp91,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, NewQp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_P_Qp96(92,
- Qp92, NewQp92,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- NewQp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_P_Qp96(93,
- Qp93, NewQp93,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, NewQp93, Qp94, Qp95, Qp96});
-?OUT_CURRENT_P_Qp96(94,
- Qp94, NewQp94,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, NewQp94, Qp95, Qp96});
-?OUT_CURRENT_P_Qp96(95,
- Qp95, NewQp95,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, NewQp95, Qp96});
-?OUT_CURRENT_P_Qp96(96,
- Qp96, NewQp96,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, NewQp96});
-?OUT_CURRENT_P_Qp112(97,
- Qp97, NewQp97,
- {NewQp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_P_Qp112(98,
- Qp98, NewQp98,
- {Qp97, NewQp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_P_Qp112(99,
- Qp99, NewQp99,
- {Qp97, Qp98, NewQp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_P_Qp112(100,
- Qp100, NewQp100,
- {Qp97, Qp98, Qp99, NewQp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_P_Qp112(101,
- Qp101, NewQp101,
- {Qp97, Qp98, Qp99, Qp100, NewQp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_P_Qp112(102,
- Qp102, NewQp102,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- NewQp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_P_Qp112(103,
- Qp103, NewQp103,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, NewQp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_P_Qp112(104,
- Qp104, NewQp104,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, NewQp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_P_Qp112(105,
- Qp105, NewQp105,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, NewQp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_P_Qp112(106,
- Qp106, NewQp106,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, NewQp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_P_Qp112(107,
- Qp107, NewQp107,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, NewQp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_P_Qp112(108,
- Qp108, NewQp108,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- NewQp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_P_Qp112(109,
- Qp109, NewQp109,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, NewQp109, Qp110, Qp111, Qp112});
-?OUT_CURRENT_P_Qp112(110,
- Qp110, NewQp110,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, NewQp110, Qp111, Qp112});
-?OUT_CURRENT_P_Qp112(111,
- Qp111, NewQp111,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, NewQp111, Qp112});
-?OUT_CURRENT_P_Qp112(112,
- Qp112, NewQp112,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, NewQp112});
-?OUT_CURRENT_P_Qp128(113,
- Qp113, NewQp113,
- {NewQp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_P_Qp128(114,
- Qp114, NewQp114,
- {Qp113, NewQp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_P_Qp128(115,
- Qp115, NewQp115,
- {Qp113, Qp114, NewQp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_P_Qp128(116,
- Qp116, NewQp116,
- {Qp113, Qp114, Qp115, NewQp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_P_Qp128(117,
- Qp117, NewQp117,
- {Qp113, Qp114, Qp115, Qp116, NewQp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_P_Qp128(118,
- Qp118, NewQp118,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- NewQp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_P_Qp128(119,
- Qp119, NewQp119,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, NewQp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_P_Qp128(120,
- Qp120, NewQp120,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, NewQp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_P_Qp128(121,
- Qp121, NewQp121,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, NewQp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_P_Qp128(122,
- Qp122, NewQp122,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, NewQp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_P_Qp128(123,
- Qp123, NewQp123,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, NewQp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_P_Qp128(124,
- Qp124, NewQp124,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- NewQp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_P_Qp128(125,
- Qp125, NewQp125,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, NewQp125, Qp126, Qp127, Qp128});
-?OUT_CURRENT_P_Qp128(126,
- Qp126, NewQp126,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, NewQp126, Qp127, Qp128});
-?OUT_CURRENT_P_Qp128(127,
- Qp127, NewQp127,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, NewQp127, Qp128});
-out_current_p(128,
- {_,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- {Qp113, Qp114, Qp115, Qp116, Qp117, Qp118, Qp119, Qp120,
- Qp121, Qp122, Qp123, Qp124, Qp125, Qp126, Qp127, Qp128}}) ->
- case queue:out(Qp128) of
- {empty, _} ->
- {empty,
- {empty,
- 0,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- {Qp113, Qp114, Qp115, Qp116, Qp117, Qp118, Qp119, Qp120,
- Qp121, Qp122, Qp123, Qp124, Qp125, Qp126, Qp127, Qp128}}};
- {{value, X}, NewQp128} ->
- NewSize = Size - 1,
- {{value, X, 128},
- {if NewSize == 0 -> empty; true -> 128 end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- {Qp113, Qp114, Qp115, Qp116, Qp117, Qp118, Qp119, Qp120,
- Qp121, Qp122, Qp123, Qp124, Qp125, Qp126, Qp127, NewQp128}}}
- end.
-
-%% @hidden
--define(OUT_SPECIFIC_Qn128(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- {Qn128, Qn127, Qn126, Qn125, Qn124, Qn123, Qn122, Qn121,
- Qn120, Qn119, Qn118, Qn117, Qn116, Qn115, Qn114, Qn113},
- Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- V3,
- Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(OUT_SPECIFIC_Qn112(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128,
- {Qn112, Qn111, Qn110, Qn109, Qn108, Qn107, Qn106, Qn105,
- Qn104, Qn103, Qn102, Qn101, Qn100, Qn99, Qn98, Qn97},
- Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128,
- V3,
- Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(OUT_SPECIFIC_Qn96(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128, Qn112,
- {Qn96, Qn95, Qn94, Qn93, Qn92, Qn91, Qn90, Qn89,
- Qn88, Qn87, Qn86, Qn85, Qn84, Qn83, Qn82, Qn81},
- Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112,
- V3,
- Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(OUT_SPECIFIC_Qn80(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96,
- {Qn80, Qn79, Qn78, Qn77, Qn76, Qn75, Qn74, Qn73,
- Qn72, Qn71, Qn70, Qn69, Qn68, Qn67, Qn66, Qn65},
- Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96,
- V3,
- Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(OUT_SPECIFIC_Qn64(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80,
- {Qn64, Qn63, Qn62, Qn61, Qn60, Qn59, Qn58, Qn57,
- Qn56, Qn55, Qn54, Qn53, Qn52, Qn51, Qn50, Qn49},
- Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80,
- V3,
- Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(OUT_SPECIFIC_Qn48(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64,
- {Qn48, Qn47, Qn46, Qn45, Qn44, Qn43, Qn42, Qn41,
- Qn40, Qn39, Qn38, Qn37, Qn36, Qn35, Qn34, Qn33},
- Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64,
- V3,
- Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(OUT_SPECIFIC_Qn32(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48,
- {Qn32, Qn31, Qn30, Qn29, Qn28, Qn27, Qn26, Qn25,
- Qn24, Qn23, Qn22, Qn21, Qn20, Qn19, Qn18, Qn17},
- Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48,
- V3,
- Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(OUT_SPECIFIC_Qn16(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32,
- {Qn16, Qn15, Qn14, Qn13, Qn12, Qn11, Qn10, Qn9,
- Qn8, Qn7, Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32,
- V3,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(OUT_SPECIFIC_Qp16(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6, Qp7, Qp8,
- Qp9, Qp10, Qp11, Qp12, Qp13, Qp14, Qp15, Qp16},
- Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- V3,
- Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(OUT_SPECIFIC_Qp32(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16,
- {Qp17, Qp18, Qp19, Qp20, Qp21, Qp22, Qp23, Qp24,
- Qp25, Qp26, Qp27, Qp28, Qp29, Qp30, Qp31, Qp32},
- Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16,
- V3,
- Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(OUT_SPECIFIC_Qp48(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32,
- {Qp33, Qp34, Qp35, Qp36, Qp37, Qp38, Qp39, Qp40,
- Qp41, Qp42, Qp43, Qp44, Qp45, Qp46, Qp47, Qp48},
- Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32,
- V3,
- Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(OUT_SPECIFIC_Qp64(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48,
- {Qp49, Qp50, Qp51, Qp52, Qp53, Qp54, Qp55, Qp56,
- Qp57, Qp58, Qp59, Qp60, Qp61, Qp62, Qp63, Qp64},
- Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48,
- V3,
- Qp80, Qp96, Qp112, Qp128}}).
--define(OUT_SPECIFIC_Qp80(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64,
- {Qp65, Qp66, Qp67, Qp68, Qp69, Qp70, Qp71, Qp72,
- Qp73, Qp74, Qp75, Qp76, Qp77, Qp78, Qp79, Qp80},
- Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64,
- V3,
- Qp96, Qp112, Qp128}}).
--define(OUT_SPECIFIC_Qp96(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80,
- {Qp81, Qp82, Qp83, Qp84, Qp85, Qp86, Qp87, Qp88,
- Qp89, Qp90, Qp91, Qp92, Qp93, Qp94, Qp95, Qp96},
- Qp112, Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80,
- V3,
- Qp112, Qp128}}).
--define(OUT_SPECIFIC_Qp112(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96,
- {Qp97, Qp98, Qp99, Qp100, Qp101, Qp102, Qp103, Qp104,
- Qp105, Qp106, Qp107, Qp108, Qp109, Qp110, Qp111, Qp112},
- Qp128}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96,
- V3,
- Qp128}}).
--define(OUT_SPECIFIC_Qp128(P, V1, V2, V3),
-out_specific(P,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- {Qp113, Qp114, Qp115, Qp116, Qp117, Qp118, Qp119, Qp120,
- Qp121, Qp122, Qp123, Qp124, Qp125, Qp126, Qp127, Qp128}}) ->
- {Value, V2} = queue:out(V1),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- V3}}).
-
-?OUT_SPECIFIC_Qn128(-128,
- Qn128, NewQn128,
- {NewQn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_SPECIFIC_Qn128(-127,
- Qn127, NewQn127,
- {Qn128, NewQn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_SPECIFIC_Qn128(-126,
- Qn126, NewQn126,
- {Qn128, Qn127, NewQn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_SPECIFIC_Qn128(-125,
- Qn125, NewQn125,
- {Qn128, Qn127, Qn126, NewQn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_SPECIFIC_Qn128(-124,
- Qn124, NewQn124,
- {Qn128, Qn127, Qn126, Qn125, NewQn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_SPECIFIC_Qn128(-123,
- Qn123, NewQn123,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- NewQn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_SPECIFIC_Qn128(-122,
- Qn122, NewQn122,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, NewQn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_SPECIFIC_Qn128(-121,
- Qn121, NewQn121,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, NewQn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_SPECIFIC_Qn128(-120,
- Qn120, NewQn120,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, NewQn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_SPECIFIC_Qn128(-119,
- Qn119, NewQn119,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, NewQn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_SPECIFIC_Qn128(-118,
- Qn118, NewQn118,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, NewQn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_SPECIFIC_Qn128(-117,
- Qn117, NewQn117,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- NewQn117, Qn116, Qn115, Qn114, Qn113});
-?OUT_SPECIFIC_Qn128(-116,
- Qn116, NewQn116,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, NewQn116, Qn115, Qn114, Qn113});
-?OUT_SPECIFIC_Qn128(-115,
- Qn115, NewQn115,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, NewQn115, Qn114, Qn113});
-?OUT_SPECIFIC_Qn128(-114,
- Qn114, NewQn114,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, NewQn114, Qn113});
-?OUT_SPECIFIC_Qn128(-113,
- Qn113, NewQn113,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, NewQn113});
-?OUT_SPECIFIC_Qn112(-112,
- Qn112, NewQn112,
- {NewQn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_SPECIFIC_Qn112(-111,
- Qn111, NewQn111,
- {Qn112, NewQn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_SPECIFIC_Qn112(-110,
- Qn110, NewQn110,
- {Qn112, Qn111, NewQn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_SPECIFIC_Qn112(-109,
- Qn109, NewQn109,
- {Qn112, Qn111, Qn110, NewQn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_SPECIFIC_Qn112(-108,
- Qn108, NewQn108,
- {Qn112, Qn111, Qn110, Qn109, NewQn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_SPECIFIC_Qn112(-107,
- Qn107, NewQn107,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- NewQn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_SPECIFIC_Qn112(-106,
- Qn106, NewQn106,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, NewQn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_SPECIFIC_Qn112(-105,
- Qn105, NewQn105,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, NewQn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_SPECIFIC_Qn112(-104,
- Qn104, NewQn104,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, NewQn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_SPECIFIC_Qn112(-103,
- Qn103, NewQn103,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, NewQn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_SPECIFIC_Qn112(-102,
- Qn102, NewQn102,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, NewQn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_SPECIFIC_Qn112(-101,
- Qn101, NewQn101,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- NewQn101, Qn100, Qn99, Qn98, Qn97});
-?OUT_SPECIFIC_Qn112(-100,
- Qn100, NewQn100,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, NewQn100, Qn99, Qn98, Qn97});
-?OUT_SPECIFIC_Qn112(-99,
- Qn99, NewQn99,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, NewQn99, Qn98, Qn97});
-?OUT_SPECIFIC_Qn112(-98,
- Qn98, NewQn98,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, NewQn98, Qn97});
-?OUT_SPECIFIC_Qn112(-97,
- Qn97, NewQn97,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, NewQn97});
-?OUT_SPECIFIC_Qn96(-96,
- Qn96, NewQn96,
- {NewQn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_SPECIFIC_Qn96(-95,
- Qn95, NewQn95,
- {Qn96, NewQn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_SPECIFIC_Qn96(-94,
- Qn94, NewQn94,
- {Qn96, Qn95, NewQn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_SPECIFIC_Qn96(-93,
- Qn93, NewQn93,
- {Qn96, Qn95, Qn94, NewQn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_SPECIFIC_Qn96(-92,
- Qn92, NewQn92,
- {Qn96, Qn95, Qn94, Qn93, NewQn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_SPECIFIC_Qn96(-91,
- Qn91, NewQn91,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- NewQn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_SPECIFIC_Qn96(-90,
- Qn90, NewQn90,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, NewQn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_SPECIFIC_Qn96(-89,
- Qn89, NewQn89,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, NewQn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_SPECIFIC_Qn96(-88,
- Qn88, NewQn88,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, NewQn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_SPECIFIC_Qn96(-87,
- Qn87, NewQn87,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, NewQn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_SPECIFIC_Qn96(-86,
- Qn86, NewQn86,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, NewQn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_SPECIFIC_Qn96(-85,
- Qn85, NewQn85,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- NewQn85, Qn84, Qn83, Qn82, Qn81});
-?OUT_SPECIFIC_Qn96(-84,
- Qn84, NewQn84,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, NewQn84, Qn83, Qn82, Qn81});
-?OUT_SPECIFIC_Qn96(-83,
- Qn83, NewQn83,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, NewQn83, Qn82, Qn81});
-?OUT_SPECIFIC_Qn96(-82,
- Qn82, NewQn82,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, NewQn82, Qn81});
-?OUT_SPECIFIC_Qn96(-81,
- Qn81, NewQn81,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, NewQn81});
-?OUT_SPECIFIC_Qn80(-80,
- Qn80, NewQn80,
- {NewQn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_SPECIFIC_Qn80(-79,
- Qn79, NewQn79,
- {Qn80, NewQn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_SPECIFIC_Qn80(-78,
- Qn78, NewQn78,
- {Qn80, Qn79, NewQn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_SPECIFIC_Qn80(-77,
- Qn77, NewQn77,
- {Qn80, Qn79, Qn78, NewQn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_SPECIFIC_Qn80(-76,
- Qn76, NewQn76,
- {Qn80, Qn79, Qn78, Qn77, NewQn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_SPECIFIC_Qn80(-75,
- Qn75, NewQn75,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- NewQn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_SPECIFIC_Qn80(-74,
- Qn74, NewQn74,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, NewQn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_SPECIFIC_Qn80(-73,
- Qn73, NewQn73,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, NewQn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_SPECIFIC_Qn80(-72,
- Qn72, NewQn72,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, NewQn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_SPECIFIC_Qn80(-71,
- Qn71, NewQn71,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, NewQn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_SPECIFIC_Qn80(-70,
- Qn70, NewQn70,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, NewQn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_SPECIFIC_Qn80(-69,
- Qn69, NewQn69,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- NewQn69, Qn68, Qn67, Qn66, Qn65});
-?OUT_SPECIFIC_Qn80(-68,
- Qn68, NewQn68,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, NewQn68, Qn67, Qn66, Qn65});
-?OUT_SPECIFIC_Qn80(-67,
- Qn67, NewQn67,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, NewQn67, Qn66, Qn65});
-?OUT_SPECIFIC_Qn80(-66,
- Qn66, NewQn66,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, NewQn66, Qn65});
-?OUT_SPECIFIC_Qn80(-65,
- Qn65, NewQn65,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, NewQn65});
-?OUT_SPECIFIC_Qn64(-64,
- Qn64, NewQn64,
- {NewQn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_SPECIFIC_Qn64(-63,
- Qn63, NewQn63,
- {Qn64, NewQn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_SPECIFIC_Qn64(-62,
- Qn62, NewQn62,
- {Qn64, Qn63, NewQn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_SPECIFIC_Qn64(-61,
- Qn61, NewQn61,
- {Qn64, Qn63, Qn62, NewQn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_SPECIFIC_Qn64(-60,
- Qn60, NewQn60,
- {Qn64, Qn63, Qn62, Qn61, NewQn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_SPECIFIC_Qn64(-59,
- Qn59, NewQn59,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- NewQn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_SPECIFIC_Qn64(-58,
- Qn58, NewQn58,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, NewQn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_SPECIFIC_Qn64(-57,
- Qn57, NewQn57,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, NewQn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_SPECIFIC_Qn64(-56,
- Qn56, NewQn56,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, NewQn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_SPECIFIC_Qn64(-55,
- Qn55, NewQn55,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, NewQn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_SPECIFIC_Qn64(-54,
- Qn54, NewQn54,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, NewQn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_SPECIFIC_Qn64(-53,
- Qn53, NewQn53,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- NewQn53, Qn52, Qn51, Qn50, Qn49});
-?OUT_SPECIFIC_Qn64(-52,
- Qn52, NewQn52,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, NewQn52, Qn51, Qn50, Qn49});
-?OUT_SPECIFIC_Qn64(-51,
- Qn51, NewQn51,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, NewQn51, Qn50, Qn49});
-?OUT_SPECIFIC_Qn64(-50,
- Qn50, NewQn50,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, NewQn50, Qn49});
-?OUT_SPECIFIC_Qn64(-49,
- Qn49, NewQn49,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, NewQn49});
-?OUT_SPECIFIC_Qn48(-48,
- Qn48, NewQn48,
- {NewQn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_SPECIFIC_Qn48(-47,
- Qn47, NewQn47,
- {Qn48, NewQn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_SPECIFIC_Qn48(-46,
- Qn46, NewQn46,
- {Qn48, Qn47, NewQn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_SPECIFIC_Qn48(-45,
- Qn45, NewQn45,
- {Qn48, Qn47, Qn46, NewQn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_SPECIFIC_Qn48(-44,
- Qn44, NewQn44,
- {Qn48, Qn47, Qn46, Qn45, NewQn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_SPECIFIC_Qn48(-43,
- Qn43, NewQn43,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- NewQn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_SPECIFIC_Qn48(-42,
- Qn42, NewQn42,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, NewQn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_SPECIFIC_Qn48(-41,
- Qn41, NewQn41,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, NewQn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_SPECIFIC_Qn48(-40,
- Qn40, NewQn40,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, NewQn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_SPECIFIC_Qn48(-39,
- Qn39, NewQn39,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, NewQn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_SPECIFIC_Qn48(-38,
- Qn38, NewQn38,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, NewQn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_SPECIFIC_Qn48(-37,
- Qn37, NewQn37,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- NewQn37, Qn36, Qn35, Qn34, Qn33});
-?OUT_SPECIFIC_Qn48(-36,
- Qn36, NewQn36,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, NewQn36, Qn35, Qn34, Qn33});
-?OUT_SPECIFIC_Qn48(-35,
- Qn35, NewQn35,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, NewQn35, Qn34, Qn33});
-?OUT_SPECIFIC_Qn48(-34,
- Qn34, NewQn34,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, NewQn34, Qn33});
-?OUT_SPECIFIC_Qn48(-33,
- Qn33, NewQn33,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, NewQn33});
-?OUT_SPECIFIC_Qn32(-32,
- Qn32, NewQn32,
- {NewQn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_SPECIFIC_Qn32(-31,
- Qn31, NewQn31,
- {Qn32, NewQn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_SPECIFIC_Qn32(-30,
- Qn30, NewQn30,
- {Qn32, Qn31, NewQn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_SPECIFIC_Qn32(-29,
- Qn29, NewQn29,
- {Qn32, Qn31, Qn30, NewQn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_SPECIFIC_Qn32(-28,
- Qn28, NewQn28,
- {Qn32, Qn31, Qn30, Qn29, NewQn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_SPECIFIC_Qn32(-27,
- Qn27, NewQn27,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- NewQn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_SPECIFIC_Qn32(-26,
- Qn26, NewQn26,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, NewQn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_SPECIFIC_Qn32(-25,
- Qn25, NewQn25,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, NewQn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_SPECIFIC_Qn32(-24,
- Qn24, NewQn24,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, NewQn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_SPECIFIC_Qn32(-23,
- Qn23, NewQn23,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, NewQn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_SPECIFIC_Qn32(-22,
- Qn22, NewQn22,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, NewQn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_SPECIFIC_Qn32(-21,
- Qn21, NewQn21,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- NewQn21, Qn20, Qn19, Qn18, Qn17});
-?OUT_SPECIFIC_Qn32(-20,
- Qn20, NewQn20,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, NewQn20, Qn19, Qn18, Qn17});
-?OUT_SPECIFIC_Qn32(-19,
- Qn19, NewQn19,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, NewQn19, Qn18, Qn17});
-?OUT_SPECIFIC_Qn32(-18,
- Qn18, NewQn18,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, NewQn18, Qn17});
-?OUT_SPECIFIC_Qn32(-17,
- Qn17, NewQn17,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, NewQn17});
-?OUT_SPECIFIC_Qn16(-16,
- Qn16, NewQn16,
- {NewQn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_SPECIFIC_Qn16(-15,
- Qn15, NewQn15,
- {Qn16, NewQn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_SPECIFIC_Qn16(-14,
- Qn14, NewQn14,
- {Qn16, Qn15, NewQn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_SPECIFIC_Qn16(-13,
- Qn13, NewQn13,
- {Qn16, Qn15, Qn14, NewQn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_SPECIFIC_Qn16(-12,
- Qn12, NewQn12,
- {Qn16, Qn15, Qn14, Qn13, NewQn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_SPECIFIC_Qn16(-11,
- Qn11, NewQn11,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- NewQn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_SPECIFIC_Qn16(-10,
- Qn10, NewQn10,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, NewQn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_SPECIFIC_Qn16(-9,
- Qn9, NewQn9,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, NewQn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_SPECIFIC_Qn16(-8,
- Qn8, NewQn8,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, NewQn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_SPECIFIC_Qn16(-7,
- Qn7, NewQn7,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, NewQn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_SPECIFIC_Qn16(-6,
- Qn6, NewQn6,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, NewQn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_SPECIFIC_Qn16(-5,
- Qn5, NewQn5,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- NewQn5, Qn4, Qn3, Qn2, Qn1});
-?OUT_SPECIFIC_Qn16(-4,
- Qn4, NewQn4,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, NewQn4, Qn3, Qn2, Qn1});
-?OUT_SPECIFIC_Qn16(-3,
- Qn3, NewQn3,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, NewQn3, Qn2, Qn1});
-?OUT_SPECIFIC_Qn16(-2,
- Qn2, NewQn2,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, NewQn2, Qn1});
-?OUT_SPECIFIC_Qn16(-1,
- Qn1, NewQn1,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, NewQn1});
-out_specific(0,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, NewQ0} = queue:out(Q0),
- NewSize = if Value =/= empty -> Size - 1; true -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- NewQ0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}};
-?OUT_SPECIFIC_Qp16(1,
- Qp1, NewQp1,
- {NewQp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_SPECIFIC_Qp16(2,
- Qp2, NewQp2,
- {Qp1, NewQp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_SPECIFIC_Qp16(3,
- Qp3, NewQp3,
- {Qp1, Qp2, NewQp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_SPECIFIC_Qp16(4,
- Qp4, NewQp4,
- {Qp1, Qp2, Qp3, NewQp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_SPECIFIC_Qp16(5,
- Qp5, NewQp5,
- {Qp1, Qp2, Qp3, Qp4, NewQp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_SPECIFIC_Qp16(6,
- Qp6, NewQp6,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- NewQp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_SPECIFIC_Qp16(7,
- Qp7, NewQp7,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, NewQp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_SPECIFIC_Qp16(8,
- Qp8, NewQp8,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, NewQp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_SPECIFIC_Qp16(9,
- Qp9, NewQp9,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, NewQp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_SPECIFIC_Qp16(10,
- Qp10, NewQp10,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, NewQp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_SPECIFIC_Qp16(11,
- Qp11, NewQp11,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, NewQp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_SPECIFIC_Qp16(12,
- Qp12, NewQp12,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- NewQp12, Qp13, Qp14, Qp15, Qp16});
-?OUT_SPECIFIC_Qp16(13,
- Qp13, NewQp13,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, NewQp13, Qp14, Qp15, Qp16});
-?OUT_SPECIFIC_Qp16(14,
- Qp14, NewQp14,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, NewQp14, Qp15, Qp16});
-?OUT_SPECIFIC_Qp16(15,
- Qp15, NewQp15,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, NewQp15, Qp16});
-?OUT_SPECIFIC_Qp16(16,
- Qp16, NewQp16,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, NewQp16});
-?OUT_SPECIFIC_Qp32(17,
- Qp17, NewQp17,
- {NewQp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_SPECIFIC_Qp32(18,
- Qp18, NewQp18,
- {Qp17, NewQp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_SPECIFIC_Qp32(19,
- Qp19, NewQp19,
- {Qp17, Qp18, NewQp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_SPECIFIC_Qp32(20,
- Qp20, NewQp20,
- {Qp17, Qp18, Qp19, NewQp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_SPECIFIC_Qp32(21,
- Qp21, NewQp21,
- {Qp17, Qp18, Qp19, Qp20, NewQp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_SPECIFIC_Qp32(22,
- Qp22, NewQp22,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- NewQp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_SPECIFIC_Qp32(23,
- Qp23, NewQp23,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, NewQp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_SPECIFIC_Qp32(24,
- Qp24, NewQp24,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, NewQp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_SPECIFIC_Qp32(25,
- Qp25, NewQp25,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, NewQp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_SPECIFIC_Qp32(26,
- Qp26, NewQp26,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, NewQp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_SPECIFIC_Qp32(27,
- Qp27, NewQp27,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, NewQp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_SPECIFIC_Qp32(28,
- Qp28, NewQp28,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- NewQp28, Qp29, Qp30, Qp31, Qp32});
-?OUT_SPECIFIC_Qp32(29,
- Qp29, NewQp29,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, NewQp29, Qp30, Qp31, Qp32});
-?OUT_SPECIFIC_Qp32(30,
- Qp30, NewQp30,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, NewQp30, Qp31, Qp32});
-?OUT_SPECIFIC_Qp32(31,
- Qp31, NewQp31,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, NewQp31, Qp32});
-?OUT_SPECIFIC_Qp32(32,
- Qp32, NewQp32,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, NewQp32});
-?OUT_SPECIFIC_Qp48(33,
- Qp33, NewQp33,
- {NewQp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_SPECIFIC_Qp48(34,
- Qp34, NewQp34,
- {Qp33, NewQp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_SPECIFIC_Qp48(35,
- Qp35, NewQp35,
- {Qp33, Qp34, NewQp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_SPECIFIC_Qp48(36,
- Qp36, NewQp36,
- {Qp33, Qp34, Qp35, NewQp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_SPECIFIC_Qp48(37,
- Qp37, NewQp37,
- {Qp33, Qp34, Qp35, Qp36, NewQp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_SPECIFIC_Qp48(38,
- Qp38, NewQp38,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- NewQp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_SPECIFIC_Qp48(39,
- Qp39, NewQp39,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, NewQp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_SPECIFIC_Qp48(40,
- Qp40, NewQp40,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, NewQp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_SPECIFIC_Qp48(41,
- Qp41, NewQp41,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, NewQp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_SPECIFIC_Qp48(42,
- Qp42, NewQp42,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, NewQp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_SPECIFIC_Qp48(43,
- Qp43, NewQp43,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, NewQp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_SPECIFIC_Qp48(44,
- Qp44, NewQp44,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- NewQp44, Qp45, Qp46, Qp47, Qp48});
-?OUT_SPECIFIC_Qp48(45,
- Qp45, NewQp45,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, NewQp45, Qp46, Qp47, Qp48});
-?OUT_SPECIFIC_Qp48(46,
- Qp46, NewQp46,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, NewQp46, Qp47, Qp48});
-?OUT_SPECIFIC_Qp48(47,
- Qp47, NewQp47,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, NewQp47, Qp48});
-?OUT_SPECIFIC_Qp48(48,
- Qp48, NewQp48,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, NewQp48});
-?OUT_SPECIFIC_Qp64(49,
- Qp49, NewQp49,
- {NewQp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_SPECIFIC_Qp64(50,
- Qp50, NewQp50,
- {Qp49, NewQp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_SPECIFIC_Qp64(51,
- Qp51, NewQp51,
- {Qp49, Qp50, NewQp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_SPECIFIC_Qp64(52,
- Qp52, NewQp52,
- {Qp49, Qp50, Qp51, NewQp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_SPECIFIC_Qp64(53,
- Qp53, NewQp53,
- {Qp49, Qp50, Qp51, Qp52, NewQp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_SPECIFIC_Qp64(54,
- Qp54, NewQp54,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- NewQp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_SPECIFIC_Qp64(55,
- Qp55, NewQp55,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, NewQp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_SPECIFIC_Qp64(56,
- Qp56, NewQp56,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, NewQp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_SPECIFIC_Qp64(57,
- Qp57, NewQp57,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, NewQp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_SPECIFIC_Qp64(58,
- Qp58, NewQp58,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, NewQp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_SPECIFIC_Qp64(59,
- Qp59, NewQp59,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, NewQp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_SPECIFIC_Qp64(60,
- Qp60, NewQp60,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- NewQp60, Qp61, Qp62, Qp63, Qp64});
-?OUT_SPECIFIC_Qp64(61,
- Qp61, NewQp61,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, NewQp61, Qp62, Qp63, Qp64});
-?OUT_SPECIFIC_Qp64(62,
- Qp62, NewQp62,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, NewQp62, Qp63, Qp64});
-?OUT_SPECIFIC_Qp64(63,
- Qp63, NewQp63,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, NewQp63, Qp64});
-?OUT_SPECIFIC_Qp64(64,
- Qp64, NewQp64,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, NewQp64});
-?OUT_SPECIFIC_Qp80(65,
- Qp65, NewQp65,
- {NewQp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_SPECIFIC_Qp80(66,
- Qp66, NewQp66,
- {Qp65, NewQp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_SPECIFIC_Qp80(67,
- Qp67, NewQp67,
- {Qp65, Qp66, NewQp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_SPECIFIC_Qp80(68,
- Qp68, NewQp68,
- {Qp65, Qp66, Qp67, NewQp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_SPECIFIC_Qp80(69,
- Qp69, NewQp69,
- {Qp65, Qp66, Qp67, Qp68, NewQp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_SPECIFIC_Qp80(70,
- Qp70, NewQp70,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- NewQp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_SPECIFIC_Qp80(71,
- Qp71, NewQp71,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, NewQp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_SPECIFIC_Qp80(72,
- Qp72, NewQp72,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, NewQp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_SPECIFIC_Qp80(73,
- Qp73, NewQp73,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, NewQp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_SPECIFIC_Qp80(74,
- Qp74, NewQp74,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, NewQp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_SPECIFIC_Qp80(75,
- Qp75, NewQp75,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, NewQp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_SPECIFIC_Qp80(76,
- Qp76, NewQp76,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- NewQp76, Qp77, Qp78, Qp79, Qp80});
-?OUT_SPECIFIC_Qp80(77,
- Qp77, NewQp77,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, NewQp77, Qp78, Qp79, Qp80});
-?OUT_SPECIFIC_Qp80(78,
- Qp78, NewQp78,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, NewQp78, Qp79, Qp80});
-?OUT_SPECIFIC_Qp80(79,
- Qp79, NewQp79,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, NewQp79, Qp80});
-?OUT_SPECIFIC_Qp80(80,
- Qp80, NewQp80,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, NewQp80});
-?OUT_SPECIFIC_Qp96(81,
- Qp81, NewQp81,
- {NewQp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_SPECIFIC_Qp96(82,
- Qp82, NewQp82,
- {Qp81, NewQp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_SPECIFIC_Qp96(83,
- Qp83, NewQp83,
- {Qp81, Qp82, NewQp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_SPECIFIC_Qp96(84,
- Qp84, NewQp84,
- {Qp81, Qp82, Qp83, NewQp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_SPECIFIC_Qp96(85,
- Qp85, NewQp85,
- {Qp81, Qp82, Qp83, Qp84, NewQp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_SPECIFIC_Qp96(86,
- Qp86, NewQp86,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- NewQp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_SPECIFIC_Qp96(87,
- Qp87, NewQp87,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, NewQp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_SPECIFIC_Qp96(88,
- Qp88, NewQp88,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, NewQp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_SPECIFIC_Qp96(89,
- Qp89, NewQp89,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, NewQp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_SPECIFIC_Qp96(90,
- Qp90, NewQp90,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, NewQp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_SPECIFIC_Qp96(91,
- Qp91, NewQp91,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, NewQp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_SPECIFIC_Qp96(92,
- Qp92, NewQp92,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- NewQp92, Qp93, Qp94, Qp95, Qp96});
-?OUT_SPECIFIC_Qp96(93,
- Qp93, NewQp93,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, NewQp93, Qp94, Qp95, Qp96});
-?OUT_SPECIFIC_Qp96(94,
- Qp94, NewQp94,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, NewQp94, Qp95, Qp96});
-?OUT_SPECIFIC_Qp96(95,
- Qp95, NewQp95,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, NewQp95, Qp96});
-?OUT_SPECIFIC_Qp96(96,
- Qp96, NewQp96,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, NewQp96});
-?OUT_SPECIFIC_Qp112(97,
- Qp97, NewQp97,
- {NewQp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_SPECIFIC_Qp112(98,
- Qp98, NewQp98,
- {Qp97, NewQp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_SPECIFIC_Qp112(99,
- Qp99, NewQp99,
- {Qp97, Qp98, NewQp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_SPECIFIC_Qp112(100,
- Qp100, NewQp100,
- {Qp97, Qp98, Qp99, NewQp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_SPECIFIC_Qp112(101,
- Qp101, NewQp101,
- {Qp97, Qp98, Qp99, Qp100, NewQp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_SPECIFIC_Qp112(102,
- Qp102, NewQp102,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- NewQp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_SPECIFIC_Qp112(103,
- Qp103, NewQp103,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, NewQp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_SPECIFIC_Qp112(104,
- Qp104, NewQp104,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, NewQp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_SPECIFIC_Qp112(105,
- Qp105, NewQp105,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, NewQp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_SPECIFIC_Qp112(106,
- Qp106, NewQp106,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, NewQp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_SPECIFIC_Qp112(107,
- Qp107, NewQp107,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, NewQp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_SPECIFIC_Qp112(108,
- Qp108, NewQp108,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- NewQp108, Qp109, Qp110, Qp111, Qp112});
-?OUT_SPECIFIC_Qp112(109,
- Qp109, NewQp109,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, NewQp109, Qp110, Qp111, Qp112});
-?OUT_SPECIFIC_Qp112(110,
- Qp110, NewQp110,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, NewQp110, Qp111, Qp112});
-?OUT_SPECIFIC_Qp112(111,
- Qp111, NewQp111,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, NewQp111, Qp112});
-?OUT_SPECIFIC_Qp112(112,
- Qp112, NewQp112,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, NewQp112});
-?OUT_SPECIFIC_Qp128(113,
- Qp113, NewQp113,
- {NewQp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_SPECIFIC_Qp128(114,
- Qp114, NewQp114,
- {Qp113, NewQp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_SPECIFIC_Qp128(115,
- Qp115, NewQp115,
- {Qp113, Qp114, NewQp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_SPECIFIC_Qp128(116,
- Qp116, NewQp116,
- {Qp113, Qp114, Qp115, NewQp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_SPECIFIC_Qp128(117,
- Qp117, NewQp117,
- {Qp113, Qp114, Qp115, Qp116, NewQp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_SPECIFIC_Qp128(118,
- Qp118, NewQp118,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- NewQp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_SPECIFIC_Qp128(119,
- Qp119, NewQp119,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, NewQp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_SPECIFIC_Qp128(120,
- Qp120, NewQp120,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, NewQp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_SPECIFIC_Qp128(121,
- Qp121, NewQp121,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, NewQp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_SPECIFIC_Qp128(122,
- Qp122, NewQp122,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, NewQp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_SPECIFIC_Qp128(123,
- Qp123, NewQp123,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, NewQp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_SPECIFIC_Qp128(124,
- Qp124, NewQp124,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- NewQp124, Qp125, Qp126, Qp127, Qp128});
-?OUT_SPECIFIC_Qp128(125,
- Qp125, NewQp125,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, NewQp125, Qp126, Qp127, Qp128});
-?OUT_SPECIFIC_Qp128(126,
- Qp126, NewQp126,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, NewQp126, Qp127, Qp128});
-?OUT_SPECIFIC_Qp128(127,
- Qp127, NewQp127,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, NewQp127, Qp128});
-?OUT_SPECIFIC_Qp128(128,
- Qp128, NewQp128,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, NewQp128}).
-
-%% @hidden
--define(REMOVE_UNIQ_P_Qn128(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- {Qn128, Qn127, Qn126, Qn125, Qn124, Qn123, Qn122, Qn121,
- Qn120, Qn119, Qn118, Qn117, Qn116, Qn115, Qn114, Qn113},
- Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- V3,
- Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(REMOVE_UNIQ_P_Qn112(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128,
- {Qn112, Qn111, Qn110, Qn109, Qn108, Qn107, Qn106, Qn105,
- Qn104, Qn103, Qn102, Qn101, Qn100, Qn99, Qn98, Qn97},
- Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128,
- V3,
- Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(REMOVE_UNIQ_P_Qn96(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128, Qn112,
- {Qn96, Qn95, Qn94, Qn93, Qn92, Qn91, Qn90, Qn89,
- Qn88, Qn87, Qn86, Qn85, Qn84, Qn83, Qn82, Qn81},
- Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112,
- V3,
- Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(REMOVE_UNIQ_P_Qn80(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96,
- {Qn80, Qn79, Qn78, Qn77, Qn76, Qn75, Qn74, Qn73,
- Qn72, Qn71, Qn70, Qn69, Qn68, Qn67, Qn66, Qn65},
- Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96,
- V3,
- Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(REMOVE_UNIQ_P_Qn64(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80,
- {Qn64, Qn63, Qn62, Qn61, Qn60, Qn59, Qn58, Qn57,
- Qn56, Qn55, Qn54, Qn53, Qn52, Qn51, Qn50, Qn49},
- Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80,
- V3,
- Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(REMOVE_UNIQ_P_Qn48(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64,
- {Qn48, Qn47, Qn46, Qn45, Qn44, Qn43, Qn42, Qn41,
- Qn40, Qn39, Qn38, Qn37, Qn36, Qn35, Qn34, Qn33},
- Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64,
- V3,
- Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(REMOVE_UNIQ_P_Qn32(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48,
- {Qn32, Qn31, Qn30, Qn29, Qn28, Qn27, Qn26, Qn25,
- Qn24, Qn23, Qn22, Qn21, Qn20, Qn19, Qn18, Qn17},
- Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48,
- V3,
- Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(REMOVE_UNIQ_P_Qn16(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32,
- {Qn16, Qn15, Qn14, Qn13, Qn12, Qn11, Qn10, Qn9,
- Qn8, Qn7, Qn6, Qn5, Qn4, Qn3, Qn2, Qn1},
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32,
- V3,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(REMOVE_UNIQ_P_Qp16(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- {Qp1, Qp2, Qp3, Qp4, Qp5, Qp6, Qp7, Qp8,
- Qp9, Qp10, Qp11, Qp12, Qp13, Qp14, Qp15, Qp16},
- Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- V3,
- Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(REMOVE_UNIQ_P_Qp32(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16,
- {Qp17, Qp18, Qp19, Qp20, Qp21, Qp22, Qp23, Qp24,
- Qp25, Qp26, Qp27, Qp28, Qp29, Qp30, Qp31, Qp32},
- Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16,
- V3,
- Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(REMOVE_UNIQ_P_Qp48(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32,
- {Qp33, Qp34, Qp35, Qp36, Qp37, Qp38, Qp39, Qp40,
- Qp41, Qp42, Qp43, Qp44, Qp45, Qp46, Qp47, Qp48},
- Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32,
- V3,
- Qp64, Qp80, Qp96, Qp112, Qp128}}).
--define(REMOVE_UNIQ_P_Qp64(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48,
- {Qp49, Qp50, Qp51, Qp52, Qp53, Qp54, Qp55, Qp56,
- Qp57, Qp58, Qp59, Qp60, Qp61, Qp62, Qp63, Qp64},
- Qp80, Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48,
- V3,
- Qp80, Qp96, Qp112, Qp128}}).
--define(REMOVE_UNIQ_P_Qp80(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64,
- {Qp65, Qp66, Qp67, Qp68, Qp69, Qp70, Qp71, Qp72,
- Qp73, Qp74, Qp75, Qp76, Qp77, Qp78, Qp79, Qp80},
- Qp96, Qp112, Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64,
- V3,
- Qp96, Qp112, Qp128}}).
--define(REMOVE_UNIQ_P_Qp96(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80,
- {Qp81, Qp82, Qp83, Qp84, Qp85, Qp86, Qp87, Qp88,
- Qp89, Qp90, Qp91, Qp92, Qp93, Qp94, Qp95, Qp96},
- Qp112, Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80,
- V3,
- Qp112, Qp128}}).
--define(REMOVE_UNIQ_P_Qp112(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96,
- {Qp97, Qp98, Qp99, Qp100, Qp101, Qp102, Qp103, Qp104,
- Qp105, Qp106, Qp107, Qp108, Qp109, Qp110, Qp111, Qp112},
- Qp128}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96,
- V3,
- Qp128}}).
--define(REMOVE_UNIQ_P_Qp128(P, V1, V2, V3),
-remove_unique_p(P, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- {Qp113, Qp114, Qp115, Qp116, Qp117, Qp118, Qp119, Qp120,
- Qp121, Qp122, Qp123, Qp124, Qp125, Qp126, Qp127, Qp128}}) ->
- {Value, V2} = queue_remove_unique(F, V1),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112,
- V3}}).
-
-?REMOVE_UNIQ_P_Qn128(-128,
- Qn128, NewQn128,
- {NewQn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-127,
- Qn127, NewQn127,
- {Qn128, NewQn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-126,
- Qn126, NewQn126,
- {Qn128, Qn127, NewQn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-125,
- Qn125, NewQn125,
- {Qn128, Qn127, Qn126, NewQn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-124,
- Qn124, NewQn124,
- {Qn128, Qn127, Qn126, Qn125, NewQn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-123,
- Qn123, NewQn123,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- NewQn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-122,
- Qn122, NewQn122,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, NewQn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-121,
- Qn121, NewQn121,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, NewQn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-120,
- Qn120, NewQn120,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, NewQn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-119,
- Qn119, NewQn119,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, NewQn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-118,
- Qn118, NewQn118,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, NewQn118,
- Qn117, Qn116, Qn115, Qn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-117,
- Qn117, NewQn117,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- NewQn117, Qn116, Qn115, Qn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-116,
- Qn116, NewQn116,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, NewQn116, Qn115, Qn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-115,
- Qn115, NewQn115,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, NewQn115, Qn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-114,
- Qn114, NewQn114,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, NewQn114, Qn113});
-?REMOVE_UNIQ_P_Qn128(-113,
- Qn113, NewQn113,
- {Qn128, Qn127, Qn126, Qn125, Qn124,
- Qn123, Qn122, Qn121, Qn120, Qn119, Qn118,
- Qn117, Qn116, Qn115, Qn114, NewQn113});
-?REMOVE_UNIQ_P_Qn112(-112,
- Qn112, NewQn112,
- {NewQn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-111,
- Qn111, NewQn111,
- {Qn112, NewQn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-110,
- Qn110, NewQn110,
- {Qn112, Qn111, NewQn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-109,
- Qn109, NewQn109,
- {Qn112, Qn111, Qn110, NewQn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-108,
- Qn108, NewQn108,
- {Qn112, Qn111, Qn110, Qn109, NewQn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-107,
- Qn107, NewQn107,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- NewQn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-106,
- Qn106, NewQn106,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, NewQn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-105,
- Qn105, NewQn105,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, NewQn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-104,
- Qn104, NewQn104,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, NewQn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-103,
- Qn103, NewQn103,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, NewQn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-102,
- Qn102, NewQn102,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, NewQn102,
- Qn101, Qn100, Qn99, Qn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-101,
- Qn101, NewQn101,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- NewQn101, Qn100, Qn99, Qn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-100,
- Qn100, NewQn100,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, NewQn100, Qn99, Qn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-99,
- Qn99, NewQn99,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, NewQn99, Qn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-98,
- Qn98, NewQn98,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, NewQn98, Qn97});
-?REMOVE_UNIQ_P_Qn112(-97,
- Qn97, NewQn97,
- {Qn112, Qn111, Qn110, Qn109, Qn108,
- Qn107, Qn106, Qn105, Qn104, Qn103, Qn102,
- Qn101, Qn100, Qn99, Qn98, NewQn97});
-?REMOVE_UNIQ_P_Qn96(-96,
- Qn96, NewQn96,
- {NewQn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-95,
- Qn95, NewQn95,
- {Qn96, NewQn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-94,
- Qn94, NewQn94,
- {Qn96, Qn95, NewQn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-93,
- Qn93, NewQn93,
- {Qn96, Qn95, Qn94, NewQn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-92,
- Qn92, NewQn92,
- {Qn96, Qn95, Qn94, Qn93, NewQn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-91,
- Qn91, NewQn91,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- NewQn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-90,
- Qn90, NewQn90,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, NewQn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-89,
- Qn89, NewQn89,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, NewQn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-88,
- Qn88, NewQn88,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, NewQn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-87,
- Qn87, NewQn87,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, NewQn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-86,
- Qn86, NewQn86,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, NewQn86,
- Qn85, Qn84, Qn83, Qn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-85,
- Qn85, NewQn85,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- NewQn85, Qn84, Qn83, Qn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-84,
- Qn84, NewQn84,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, NewQn84, Qn83, Qn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-83,
- Qn83, NewQn83,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, NewQn83, Qn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-82,
- Qn82, NewQn82,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, NewQn82, Qn81});
-?REMOVE_UNIQ_P_Qn96(-81,
- Qn81, NewQn81,
- {Qn96, Qn95, Qn94, Qn93, Qn92,
- Qn91, Qn90, Qn89, Qn88, Qn87, Qn86,
- Qn85, Qn84, Qn83, Qn82, NewQn81});
-?REMOVE_UNIQ_P_Qn80(-80,
- Qn80, NewQn80,
- {NewQn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-79,
- Qn79, NewQn79,
- {Qn80, NewQn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-78,
- Qn78, NewQn78,
- {Qn80, Qn79, NewQn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-77,
- Qn77, NewQn77,
- {Qn80, Qn79, Qn78, NewQn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-76,
- Qn76, NewQn76,
- {Qn80, Qn79, Qn78, Qn77, NewQn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-75,
- Qn75, NewQn75,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- NewQn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-74,
- Qn74, NewQn74,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, NewQn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-73,
- Qn73, NewQn73,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, NewQn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-72,
- Qn72, NewQn72,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, NewQn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-71,
- Qn71, NewQn71,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, NewQn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-70,
- Qn70, NewQn70,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, NewQn70,
- Qn69, Qn68, Qn67, Qn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-69,
- Qn69, NewQn69,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- NewQn69, Qn68, Qn67, Qn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-68,
- Qn68, NewQn68,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, NewQn68, Qn67, Qn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-67,
- Qn67, NewQn67,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, NewQn67, Qn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-66,
- Qn66, NewQn66,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, NewQn66, Qn65});
-?REMOVE_UNIQ_P_Qn80(-65,
- Qn65, NewQn65,
- {Qn80, Qn79, Qn78, Qn77, Qn76,
- Qn75, Qn74, Qn73, Qn72, Qn71, Qn70,
- Qn69, Qn68, Qn67, Qn66, NewQn65});
-?REMOVE_UNIQ_P_Qn64(-64,
- Qn64, NewQn64,
- {NewQn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-63,
- Qn63, NewQn63,
- {Qn64, NewQn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-62,
- Qn62, NewQn62,
- {Qn64, Qn63, NewQn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-61,
- Qn61, NewQn61,
- {Qn64, Qn63, Qn62, NewQn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-60,
- Qn60, NewQn60,
- {Qn64, Qn63, Qn62, Qn61, NewQn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-59,
- Qn59, NewQn59,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- NewQn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-58,
- Qn58, NewQn58,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, NewQn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-57,
- Qn57, NewQn57,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, NewQn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-56,
- Qn56, NewQn56,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, NewQn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-55,
- Qn55, NewQn55,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, NewQn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-54,
- Qn54, NewQn54,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, NewQn54,
- Qn53, Qn52, Qn51, Qn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-53,
- Qn53, NewQn53,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- NewQn53, Qn52, Qn51, Qn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-52,
- Qn52, NewQn52,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, NewQn52, Qn51, Qn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-51,
- Qn51, NewQn51,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, NewQn51, Qn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-50,
- Qn50, NewQn50,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, NewQn50, Qn49});
-?REMOVE_UNIQ_P_Qn64(-49,
- Qn49, NewQn49,
- {Qn64, Qn63, Qn62, Qn61, Qn60,
- Qn59, Qn58, Qn57, Qn56, Qn55, Qn54,
- Qn53, Qn52, Qn51, Qn50, NewQn49});
-?REMOVE_UNIQ_P_Qn48(-48,
- Qn48, NewQn48,
- {NewQn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-47,
- Qn47, NewQn47,
- {Qn48, NewQn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-46,
- Qn46, NewQn46,
- {Qn48, Qn47, NewQn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-45,
- Qn45, NewQn45,
- {Qn48, Qn47, Qn46, NewQn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-44,
- Qn44, NewQn44,
- {Qn48, Qn47, Qn46, Qn45, NewQn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-43,
- Qn43, NewQn43,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- NewQn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-42,
- Qn42, NewQn42,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, NewQn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-41,
- Qn41, NewQn41,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, NewQn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-40,
- Qn40, NewQn40,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, NewQn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-39,
- Qn39, NewQn39,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, NewQn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-38,
- Qn38, NewQn38,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, NewQn38,
- Qn37, Qn36, Qn35, Qn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-37,
- Qn37, NewQn37,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- NewQn37, Qn36, Qn35, Qn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-36,
- Qn36, NewQn36,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, NewQn36, Qn35, Qn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-35,
- Qn35, NewQn35,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, NewQn35, Qn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-34,
- Qn34, NewQn34,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, NewQn34, Qn33});
-?REMOVE_UNIQ_P_Qn48(-33,
- Qn33, NewQn33,
- {Qn48, Qn47, Qn46, Qn45, Qn44,
- Qn43, Qn42, Qn41, Qn40, Qn39, Qn38,
- Qn37, Qn36, Qn35, Qn34, NewQn33});
-?REMOVE_UNIQ_P_Qn32(-32,
- Qn32, NewQn32,
- {NewQn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-31,
- Qn31, NewQn31,
- {Qn32, NewQn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-30,
- Qn30, NewQn30,
- {Qn32, Qn31, NewQn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-29,
- Qn29, NewQn29,
- {Qn32, Qn31, Qn30, NewQn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-28,
- Qn28, NewQn28,
- {Qn32, Qn31, Qn30, Qn29, NewQn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-27,
- Qn27, NewQn27,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- NewQn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-26,
- Qn26, NewQn26,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, NewQn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-25,
- Qn25, NewQn25,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, NewQn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-24,
- Qn24, NewQn24,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, NewQn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-23,
- Qn23, NewQn23,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, NewQn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-22,
- Qn22, NewQn22,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, NewQn22,
- Qn21, Qn20, Qn19, Qn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-21,
- Qn21, NewQn21,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- NewQn21, Qn20, Qn19, Qn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-20,
- Qn20, NewQn20,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, NewQn20, Qn19, Qn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-19,
- Qn19, NewQn19,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, NewQn19, Qn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-18,
- Qn18, NewQn18,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, NewQn18, Qn17});
-?REMOVE_UNIQ_P_Qn32(-17,
- Qn17, NewQn17,
- {Qn32, Qn31, Qn30, Qn29, Qn28,
- Qn27, Qn26, Qn25, Qn24, Qn23, Qn22,
- Qn21, Qn20, Qn19, Qn18, NewQn17});
-?REMOVE_UNIQ_P_Qn16(-16,
- Qn16, NewQn16,
- {NewQn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-15,
- Qn15, NewQn15,
- {Qn16, NewQn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-14,
- Qn14, NewQn14,
- {Qn16, Qn15, NewQn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-13,
- Qn13, NewQn13,
- {Qn16, Qn15, Qn14, NewQn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-12,
- Qn12, NewQn12,
- {Qn16, Qn15, Qn14, Qn13, NewQn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-11,
- Qn11, NewQn11,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- NewQn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-10,
- Qn10, NewQn10,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, NewQn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-9,
- Qn9, NewQn9,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, NewQn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-8,
- Qn8, NewQn8,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, NewQn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-7,
- Qn7, NewQn7,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, NewQn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-6,
- Qn6, NewQn6,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, NewQn6,
- Qn5, Qn4, Qn3, Qn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-5,
- Qn5, NewQn5,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- NewQn5, Qn4, Qn3, Qn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-4,
- Qn4, NewQn4,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, NewQn4, Qn3, Qn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-3,
- Qn3, NewQn3,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, NewQn3, Qn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-2,
- Qn2, NewQn2,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, NewQn2, Qn1});
-?REMOVE_UNIQ_P_Qn16(-1,
- Qn1, NewQn1,
- {Qn16, Qn15, Qn14, Qn13, Qn12,
- Qn11, Qn10, Qn9, Qn8, Qn7, Qn6,
- Qn5, Qn4, Qn3, Qn2, NewQn1});
-remove_unique_p(0, F,
- {Pc,
- Size,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- Q0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}) ->
- {Value, NewQ0} = queue_remove_unique(F, Q0),
- NewSize = if Value =:= true -> Size - 1; Value =:= false -> Size end,
- {Value,
- {if NewSize == 0 -> empty; true -> Pc end,
- NewSize,
- Qn128, Qn112, Qn96, Qn80, Qn64, Qn48, Qn32, Qn16,
- NewQ0,
- Qp16, Qp32, Qp48, Qp64, Qp80, Qp96, Qp112, Qp128}};
-?REMOVE_UNIQ_P_Qp16(1,
- Qp1, NewQp1,
- {NewQp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(2,
- Qp2, NewQp2,
- {Qp1, NewQp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(3,
- Qp3, NewQp3,
- {Qp1, Qp2, NewQp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(4,
- Qp4, NewQp4,
- {Qp1, Qp2, Qp3, NewQp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(5,
- Qp5, NewQp5,
- {Qp1, Qp2, Qp3, Qp4, NewQp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(6,
- Qp6, NewQp6,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- NewQp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(7,
- Qp7, NewQp7,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, NewQp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(8,
- Qp8, NewQp8,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, NewQp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(9,
- Qp9, NewQp9,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, NewQp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(10,
- Qp10, NewQp10,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, NewQp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(11,
- Qp11, NewQp11,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, NewQp11,
- Qp12, Qp13, Qp14, Qp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(12,
- Qp12, NewQp12,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- NewQp12, Qp13, Qp14, Qp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(13,
- Qp13, NewQp13,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, NewQp13, Qp14, Qp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(14,
- Qp14, NewQp14,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, NewQp14, Qp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(15,
- Qp15, NewQp15,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, NewQp15, Qp16});
-?REMOVE_UNIQ_P_Qp16(16,
- Qp16, NewQp16,
- {Qp1, Qp2, Qp3, Qp4, Qp5,
- Qp6, Qp7, Qp8, Qp9, Qp10, Qp11,
- Qp12, Qp13, Qp14, Qp15, NewQp16});
-?REMOVE_UNIQ_P_Qp32(17,
- Qp17, NewQp17,
- {NewQp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(18,
- Qp18, NewQp18,
- {Qp17, NewQp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(19,
- Qp19, NewQp19,
- {Qp17, Qp18, NewQp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(20,
- Qp20, NewQp20,
- {Qp17, Qp18, Qp19, NewQp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(21,
- Qp21, NewQp21,
- {Qp17, Qp18, Qp19, Qp20, NewQp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(22,
- Qp22, NewQp22,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- NewQp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(23,
- Qp23, NewQp23,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, NewQp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(24,
- Qp24, NewQp24,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, NewQp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(25,
- Qp25, NewQp25,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, NewQp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(26,
- Qp26, NewQp26,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, NewQp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(27,
- Qp27, NewQp27,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, NewQp27,
- Qp28, Qp29, Qp30, Qp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(28,
- Qp28, NewQp28,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- NewQp28, Qp29, Qp30, Qp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(29,
- Qp29, NewQp29,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, NewQp29, Qp30, Qp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(30,
- Qp30, NewQp30,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, NewQp30, Qp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(31,
- Qp31, NewQp31,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, NewQp31, Qp32});
-?REMOVE_UNIQ_P_Qp32(32,
- Qp32, NewQp32,
- {Qp17, Qp18, Qp19, Qp20, Qp21,
- Qp22, Qp23, Qp24, Qp25, Qp26, Qp27,
- Qp28, Qp29, Qp30, Qp31, NewQp32});
-?REMOVE_UNIQ_P_Qp48(33,
- Qp33, NewQp33,
- {NewQp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(34,
- Qp34, NewQp34,
- {Qp33, NewQp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(35,
- Qp35, NewQp35,
- {Qp33, Qp34, NewQp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(36,
- Qp36, NewQp36,
- {Qp33, Qp34, Qp35, NewQp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(37,
- Qp37, NewQp37,
- {Qp33, Qp34, Qp35, Qp36, NewQp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(38,
- Qp38, NewQp38,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- NewQp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(39,
- Qp39, NewQp39,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, NewQp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(40,
- Qp40, NewQp40,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, NewQp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(41,
- Qp41, NewQp41,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, NewQp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(42,
- Qp42, NewQp42,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, NewQp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(43,
- Qp43, NewQp43,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, NewQp43,
- Qp44, Qp45, Qp46, Qp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(44,
- Qp44, NewQp44,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- NewQp44, Qp45, Qp46, Qp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(45,
- Qp45, NewQp45,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, NewQp45, Qp46, Qp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(46,
- Qp46, NewQp46,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, NewQp46, Qp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(47,
- Qp47, NewQp47,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, NewQp47, Qp48});
-?REMOVE_UNIQ_P_Qp48(48,
- Qp48, NewQp48,
- {Qp33, Qp34, Qp35, Qp36, Qp37,
- Qp38, Qp39, Qp40, Qp41, Qp42, Qp43,
- Qp44, Qp45, Qp46, Qp47, NewQp48});
-?REMOVE_UNIQ_P_Qp64(49,
- Qp49, NewQp49,
- {NewQp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(50,
- Qp50, NewQp50,
- {Qp49, NewQp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(51,
- Qp51, NewQp51,
- {Qp49, Qp50, NewQp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(52,
- Qp52, NewQp52,
- {Qp49, Qp50, Qp51, NewQp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(53,
- Qp53, NewQp53,
- {Qp49, Qp50, Qp51, Qp52, NewQp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(54,
- Qp54, NewQp54,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- NewQp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(55,
- Qp55, NewQp55,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, NewQp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(56,
- Qp56, NewQp56,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, NewQp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(57,
- Qp57, NewQp57,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, NewQp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(58,
- Qp58, NewQp58,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, NewQp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(59,
- Qp59, NewQp59,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, NewQp59,
- Qp60, Qp61, Qp62, Qp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(60,
- Qp60, NewQp60,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- NewQp60, Qp61, Qp62, Qp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(61,
- Qp61, NewQp61,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, NewQp61, Qp62, Qp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(62,
- Qp62, NewQp62,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, NewQp62, Qp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(63,
- Qp63, NewQp63,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, NewQp63, Qp64});
-?REMOVE_UNIQ_P_Qp64(64,
- Qp64, NewQp64,
- {Qp49, Qp50, Qp51, Qp52, Qp53,
- Qp54, Qp55, Qp56, Qp57, Qp58, Qp59,
- Qp60, Qp61, Qp62, Qp63, NewQp64});
-?REMOVE_UNIQ_P_Qp80(65,
- Qp65, NewQp65,
- {NewQp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(66,
- Qp66, NewQp66,
- {Qp65, NewQp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(67,
- Qp67, NewQp67,
- {Qp65, Qp66, NewQp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(68,
- Qp68, NewQp68,
- {Qp65, Qp66, Qp67, NewQp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(69,
- Qp69, NewQp69,
- {Qp65, Qp66, Qp67, Qp68, NewQp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(70,
- Qp70, NewQp70,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- NewQp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(71,
- Qp71, NewQp71,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, NewQp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(72,
- Qp72, NewQp72,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, NewQp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(73,
- Qp73, NewQp73,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, NewQp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(74,
- Qp74, NewQp74,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, NewQp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(75,
- Qp75, NewQp75,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, NewQp75,
- Qp76, Qp77, Qp78, Qp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(76,
- Qp76, NewQp76,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- NewQp76, Qp77, Qp78, Qp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(77,
- Qp77, NewQp77,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, NewQp77, Qp78, Qp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(78,
- Qp78, NewQp78,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, NewQp78, Qp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(79,
- Qp79, NewQp79,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, NewQp79, Qp80});
-?REMOVE_UNIQ_P_Qp80(80,
- Qp80, NewQp80,
- {Qp65, Qp66, Qp67, Qp68, Qp69,
- Qp70, Qp71, Qp72, Qp73, Qp74, Qp75,
- Qp76, Qp77, Qp78, Qp79, NewQp80});
-?REMOVE_UNIQ_P_Qp96(81,
- Qp81, NewQp81,
- {NewQp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(82,
- Qp82, NewQp82,
- {Qp81, NewQp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(83,
- Qp83, NewQp83,
- {Qp81, Qp82, NewQp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(84,
- Qp84, NewQp84,
- {Qp81, Qp82, Qp83, NewQp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(85,
- Qp85, NewQp85,
- {Qp81, Qp82, Qp83, Qp84, NewQp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(86,
- Qp86, NewQp86,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- NewQp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(87,
- Qp87, NewQp87,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, NewQp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(88,
- Qp88, NewQp88,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, NewQp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(89,
- Qp89, NewQp89,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, NewQp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(90,
- Qp90, NewQp90,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, NewQp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(91,
- Qp91, NewQp91,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, NewQp91,
- Qp92, Qp93, Qp94, Qp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(92,
- Qp92, NewQp92,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- NewQp92, Qp93, Qp94, Qp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(93,
- Qp93, NewQp93,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, NewQp93, Qp94, Qp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(94,
- Qp94, NewQp94,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, NewQp94, Qp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(95,
- Qp95, NewQp95,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, NewQp95, Qp96});
-?REMOVE_UNIQ_P_Qp96(96,
- Qp96, NewQp96,
- {Qp81, Qp82, Qp83, Qp84, Qp85,
- Qp86, Qp87, Qp88, Qp89, Qp90, Qp91,
- Qp92, Qp93, Qp94, Qp95, NewQp96});
-?REMOVE_UNIQ_P_Qp112(97,
- Qp97, NewQp97,
- {NewQp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(98,
- Qp98, NewQp98,
- {Qp97, NewQp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(99,
- Qp99, NewQp99,
- {Qp97, Qp98, NewQp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(100,
- Qp100, NewQp100,
- {Qp97, Qp98, Qp99, NewQp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(101,
- Qp101, NewQp101,
- {Qp97, Qp98, Qp99, Qp100, NewQp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(102,
- Qp102, NewQp102,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- NewQp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(103,
- Qp103, NewQp103,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, NewQp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(104,
- Qp104, NewQp104,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, NewQp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(105,
- Qp105, NewQp105,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, NewQp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(106,
- Qp106, NewQp106,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, NewQp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(107,
- Qp107, NewQp107,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, NewQp107,
- Qp108, Qp109, Qp110, Qp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(108,
- Qp108, NewQp108,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- NewQp108, Qp109, Qp110, Qp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(109,
- Qp109, NewQp109,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, NewQp109, Qp110, Qp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(110,
- Qp110, NewQp110,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, NewQp110, Qp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(111,
- Qp111, NewQp111,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, NewQp111, Qp112});
-?REMOVE_UNIQ_P_Qp112(112,
- Qp112, NewQp112,
- {Qp97, Qp98, Qp99, Qp100, Qp101,
- Qp102, Qp103, Qp104, Qp105, Qp106, Qp107,
- Qp108, Qp109, Qp110, Qp111, NewQp112});
-?REMOVE_UNIQ_P_Qp128(113,
- Qp113, NewQp113,
- {NewQp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(114,
- Qp114, NewQp114,
- {Qp113, NewQp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(115,
- Qp115, NewQp115,
- {Qp113, Qp114, NewQp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(116,
- Qp116, NewQp116,
- {Qp113, Qp114, Qp115, NewQp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(117,
- Qp117, NewQp117,
- {Qp113, Qp114, Qp115, Qp116, NewQp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(118,
- Qp118, NewQp118,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- NewQp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(119,
- Qp119, NewQp119,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, NewQp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(120,
- Qp120, NewQp120,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, NewQp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(121,
- Qp121, NewQp121,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, NewQp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(122,
- Qp122, NewQp122,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, NewQp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(123,
- Qp123, NewQp123,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, NewQp123,
- Qp124, Qp125, Qp126, Qp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(124,
- Qp124, NewQp124,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- NewQp124, Qp125, Qp126, Qp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(125,
- Qp125, NewQp125,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, NewQp125, Qp126, Qp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(126,
- Qp126, NewQp126,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, NewQp126, Qp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(127,
- Qp127, NewQp127,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, NewQp127, Qp128});
-?REMOVE_UNIQ_P_Qp128(128,
- Qp128, NewQp128,
- {Qp113, Qp114, Qp115, Qp116, Qp117,
- Qp118, Qp119, Qp120, Qp121, Qp122, Qp123,
- Qp124, Qp125, Qp126, Qp127, NewQp128}).
-
--ifdef(TEST).
--include_lib("eunit/include/eunit.hrl").
-
--include("pqueue_test.hrl").
-
-module_test_() ->
- {timeout, ?TEST_TIMEOUT, [
- {"internal tests", ?_assertOk(test())}
- ]}.
-
-long_test_() ->
- test_condition([
- {"proper tests", ?_assert(pqueue_proper:qc_pq4())}
- ], ?CLOUDI_LONG_TEST_TIMEOUT).
-
--endif.
-
-%%-------------------------------------------------------------------------
-%% @hidden
-%% remove a unique value from a queue based on a binary predicate,
-%% traversal order is undefined to keep it efficient (i.e., shouldn't matter)
-%% (based on the implementation of queue:filter/2
-%% which is under the Apache License 2.0)
-%%-------------------------------------------------------------------------
-
--spec queue_remove_unique(F :: fun((any()) -> boolean()),
- Q :: {list(), list()}) ->
- {boolean(), {list(), list()}}.
-
-queue_remove_unique(Fun, {R0, F0} = Q)
- when is_function(Fun, 1), is_list(R0), is_list(F0) ->
- case queue_remove_unique_f(Fun, F0) of
- {true, []} ->
- {true, queue_r2f(R0)};
- {true, F1} ->
- {true, {R0, F1}};
- {false, F1} ->
- %true = F1 == F0,
- case queue_remove_unique_f(Fun, R0) of % backwards
- {true, []} ->
- {true, queue_f2r(F1)};
- {true, R1} ->
- {true, {R1, F1}};
- {false, _} ->
- {false, Q}
- end
- end;
-queue_remove_unique(Fun, Q) ->
- erlang:error(badarg, [Fun,Q]).
-
-% Call Fun in front to back order
-queue_remove_unique_f(_, [] = F) ->
- {false, F};
-queue_remove_unique_f(Fun, F) ->
- queue_remove_unique_f(F, [], F, Fun).
-
-queue_remove_unique_f([], _, F, _) ->
- {false, F};
-queue_remove_unique_f([X | F0], F1, F, Fun) ->
- case Fun(X) of
- true ->
- {true, lists:reverse(F1, F0)};
- false ->
- queue_remove_unique_f(F0, [X | F1], F, Fun)
- end.
-
--compile({inline, [{queue_r2f,1},{queue_f2r,1}]}).
-
-% Move half of elements from R to F, if there are at least three
-queue_r2f([]) ->
- {[],[]};
-queue_r2f([_]=R) ->
- {[],R};
-queue_r2f([X,Y]) ->
- {[X],[Y]};
-queue_r2f(List) ->
- {FF,RR} = lists:split(length(List) div 2 + 1, List),
- {FF,lists:reverse(RR, [])}.
-
-% Move half of elements from F to R, if there are enough
-queue_f2r([]) ->
- {[],[]};
-queue_f2r([_]=F) ->
- {F,[]};
-queue_f2r([X,Y]) ->
- {[Y],[X]};
-queue_f2r(List) ->
- {FF,RR} = lists:split(length(List) div 2 + 1, List),
- {lists:reverse(RR, []),FF}.
-
diff --git a/aoc2023/build/packages/pqueue/src/pqueue_test.hrl b/aoc2023/build/packages/pqueue/src/pqueue_test.hrl
deleted file mode 100644
index cedffe0..0000000
--- a/aoc2023/build/packages/pqueue/src/pqueue_test.hrl
+++ /dev/null
@@ -1,49 +0,0 @@
-%-*-Mode:erlang;coding:utf-8;tab-width:4;c-basic-offset:4;indent-tabs-mode:()-*-
-% ex: set ft=erlang fenc=utf-8 sts=4 ts=4 sw=4 et nomod:
-%%%
-%%%------------------------------------------------------------------------
-%%% pqueue eunit common functionality
-%%%
-%%% MIT License
-%%%
-%%% Copyright (c) 2020 Michael Truog <mjtruog at protonmail dot com>
-%%%
-%%% Permission is hereby granted, free of charge, to any person obtaining a
-%%% copy of this software and associated documentation files (the "Software"),
-%%% to deal in the Software without restriction, including without limitation
-%%% the rights to use, copy, modify, merge, publish, distribute, sublicense,
-%%% and/or sell copies of the Software, and to permit persons to whom the
-%%% Software is furnished to do so, subject to the following conditions:
-%%%
-%%% The above copyright notice and this permission notice shall be included in
-%%% all copies or substantial portions of the Software.
-%%%
-%%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-%%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-%%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-%%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-%%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-%%% FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-%%% DEALINGS IN THE SOFTWARE.
-%%%
-%%%------------------------------------------------------------------------
-
--ifndef(_assertOk).
--define(_assertOk(Expr), ?_assertEqual(ok, Expr)).
--endif.
-
--ifdef(CLOUDI_TEST_TIMEOUT).
--define(TEST_TIMEOUT, ?CLOUDI_TEST_TIMEOUT). % seconds
--else.
--define(TEST_TIMEOUT, 10). % seconds
--endif.
--ifndef(CLOUDI_LONG_TEST_TIMEOUT).
--define(CLOUDI_LONG_TEST_TIMEOUT, 60). % minutes
--endif.
-
-test_condition(_, 0) ->
- [];
-test_condition(L, LongTestTimeout)
- when LongTestTimeout > 0 ->
- {timeout, LongTestTimeout * 60, L}.
-
diff --git a/aoc2023/build/packages/pqueue/test/pqueue_proper.erl b/aoc2023/build/packages/pqueue/test/pqueue_proper.erl
deleted file mode 100644
index 6702960..0000000
--- a/aoc2023/build/packages/pqueue/test/pqueue_proper.erl
+++ /dev/null
@@ -1,156 +0,0 @@
--module(pqueue_proper).
--ifdef(TEST).
--include_lib("proper/include/proper.hrl").
-
--behaviour(proper_statem).
-
--export([qc_pq/0, qc_pq2/0, qc_pq3/0, qc_pq4/0, correct/1]).
-
--export([command/1, initial_state/0, next_state/3, postcondition/3,
- precondition/2]).
-
--type value() :: integer().
--record(state, { in_queue :: [{value(), term()}] }).
--define(SERVER, queue_srv).
-
-priority() ->
- integer(-20, 20).
-
-%% Selects priorities we have added
-priority(InQ) ->
- elements([P || {P, _} <- InQ]).
-
-value() ->
- integer().
-
-initial_state() ->
- #state { in_queue = [] }.
-
-command(#state { in_queue = InQ }) ->
- oneof([{call, ?SERVER, in, [value()]},
- {call, ?SERVER, in, [value(), priority()]},
- {call, ?SERVER, is_empty, []},
- {call, ?SERVER, is_queue, []},
- {call, ?SERVER, len, []},
- {call, ?SERVER, out, []}] ++
- [{call, ?SERVER, out, [priority(InQ)]} || InQ =/= []] ++
- [{call, ?SERVER, pout, []},
- {call, ?SERVER, to_list, []}]).
-
-next_state(#state { in_queue = InQ } = S, _V, {call, _, out, []}) ->
- S#state { in_queue = listq_rem(InQ) };
-next_state(#state { in_queue = InQ } = S, _V, {call, _, out, [Prio]}) ->
- S#state { in_queue = listq_rem(InQ, Prio) };
-next_state(#state { in_queue = InQ } = S, _V, {call, _, pout, _}) ->
- S#state { in_queue = listq_rem(InQ) };
-next_state(S, _V, {call, _, to_list, _}) -> S;
-next_state(S, _V, {call, _, is_queue, _}) -> S;
-next_state(S, _V, {call, _, is_empty, _}) -> S;
-next_state(S, _V, {call, _, len, _}) -> S;
-next_state(#state { in_queue = InQ } = S, _V, {call, _, in, [Value, Prio]}) ->
- S#state { in_queue = listq_insert({Prio, Value}, InQ) };
-next_state(#state { in_queue = InQ } = S, _V, {call, _, in, [Value]}) ->
- S#state { in_queue = listq_insert({0, Value}, InQ) }.
-
-precondition(_S, _Call) ->
- true. % No limitation on the things we can call at all.
-
-postcondition(#state { in_queue = InQ }, {call, _, out, [Prio]}, R) ->
- R == listq_prio_peek(InQ, Prio);
-postcondition(#state { in_queue = InQ }, {call, _, pout, _}, R) ->
- R == listq_ppeek(InQ);
-postcondition(#state { in_queue = InQ }, {call, _, out, _}, R) ->
- R == listq_peek(InQ);
-postcondition(S, {call, _, to_list, _}, R) ->
- R == listq_to_list(S#state.in_queue);
-postcondition(S, {call, _, len, _}, L) ->
- L == listq_length(S#state.in_queue);
-postcondition(_S, {call, _, is_queue, _}, true) -> true;
-postcondition(S, {call, _, is_empty, _}, Res) ->
- Res == (S#state.in_queue == []);
-postcondition(_S, {call, _, in, _}, _) ->
- true;
-postcondition(_, _, _) ->
- false.
-
-correct(M) ->
- ?FORALL(Cmds, commands(?MODULE),
- ?TRAPEXIT(
- begin
- ?SERVER:start_link(M),
- {History,State,Result} = run_commands(?MODULE, Cmds),
- ?SERVER:stop(),
- ?WHENFAIL(io:format("History: ~w\nState: ~w\nResult: ~w\n",
- [History,State,Result]),
- aggregate(command_names(Cmds), Result =:= ok))
- end)).
-
-qc_opts() ->
- [{numtests, 10000}].
-
-qc_pq() ->
- proper:quickcheck(pqueue_proper:correct(pqueue), qc_opts()).
-
-qc_pq2() ->
- proper:quickcheck(pqueue_proper:correct(pqueue2), qc_opts()).
-
-qc_pq3() ->
- proper:quickcheck(pqueue_proper:correct(pqueue3), qc_opts()).
-
-qc_pq4() ->
- proper:quickcheck(pqueue_proper:correct(pqueue4), qc_opts()).
-
-%% ----------------------------------------------------------------------
-
-%% A listq is a sorted list of priorities
-listq_insert({P, V}, []) ->
- [{P, [V]}];
-listq_insert({P, V}, [{P1, _} | _] = LQ) when P < P1 ->
- [{P, [V]} | LQ];
-listq_insert({P, V}, [{P1, Vs} | Next]) when P == P1 ->
- [{P, Vs ++ [V]} | Next];
-listq_insert({P, V}, [{P1, Vs} | Next]) when P > P1 ->
- [{P1, Vs} | listq_insert({P, V}, Next)].
-
-listq_to_list(L) ->
- lists:concat(
- [ Vals || {_Prio, Vals} <- L]).
-
-listq_length(L) ->
- lists:sum(
- [ length(Vs) || {_Prio, Vs} <- L]).
-
-listq_rem([]) ->
- [];
-listq_rem([{_P, [_V]} | Next]) ->
- Next;
-listq_rem([{P, [_V1 | Vs]} | Next]) ->
- [{P, Vs} | Next].
-
-listq_rem([], _P) ->
- [];
-listq_rem([{P, [_]} | Next], P) ->
- Next;
-listq_rem([{P, [_ | Vs]} | Next], P) ->
- [{P, Vs} | Next];
-listq_rem([{P1, Vs} | Next], P) ->
- [{P1, Vs} | listq_rem(Next, P)].
-
-listq_peek([]) ->
- empty;
-listq_peek([{_P, [V | _]} | _]) ->
- {value, V}.
-
-listq_prio_peek([{P, [V | _]} | _], P) ->
- {value, V};
-listq_prio_peek([{_P1, _} | Next], P) ->
- listq_prio_peek(Next, P);
-listq_prio_peek([], _P) ->
- empty.
-
-listq_ppeek([]) ->
- empty;
-listq_ppeek([{P, [V | _]} | _]) ->
- {value, V, P}.
-
--endif.
diff --git a/aoc2023/build/packages/pqueue/test/queue_srv.erl b/aoc2023/build/packages/pqueue/test/queue_srv.erl
deleted file mode 100644
index 7fcb0a1..0000000
--- a/aoc2023/build/packages/pqueue/test/queue_srv.erl
+++ /dev/null
@@ -1,183 +0,0 @@
-%%%-------------------------------------------------------------------
-%%% @author Jesper Louis andersen <>
-%%% @copyright (C) 2011, Jesper Louis andersen
-%%% @doc
-%%%
-%%% @end
-%%% Created : 11 Nov 2011 by Jesper Louis andersen <>
-%%%-------------------------------------------------------------------
--module(queue_srv).
-
--behaviour(gen_server).
-
-%% API
--export([start_link/1, stop/0, len/0, in/1, in/2, is_empty/0,
- out/0, out/1, pout/0,
- is_queue/0, to_list/0]).
-
-%% gen_server callbacks
--export([init/1, handle_call/3, handle_cast/2, handle_info/2,
- terminate/2, code_change/3]).
-
--define(SERVER, ?MODULE).
-
--record(state, { mod, q }).
-
-%%%===================================================================
-%%% API
-%%%===================================================================
-
-%%--------------------------------------------------------------------
-%% @doc
-%% Starts the server
-%%
-%% @spec start_link(Mod) -> {ok, Pid} | ignore | {error, Error}
-%% @end
-%%--------------------------------------------------------------------
-start_link(Mod) ->
- gen_server:start_link({local, ?SERVER}, ?MODULE, [Mod], []).
-
-stop() ->
- gen_server:stop(?SERVER).
-
-call(M) ->
- gen_server:call(?SERVER, M, infinity).
-
-in(I) ->
- call({in, I}).
-
-in(I, P) ->
- call({in, I, P}).
-
-len() ->
- call(len).
-
-is_empty() ->
- call(is_empty).
-
-is_queue() ->
- call(is_queue).
-
-to_list() ->
- call(to_list).
-
-out() ->
- call(out).
-
-out(P) ->
- call({out, P}).
-
-pout() ->
- call(pout).
-
-%%%===================================================================
-%%% gen_server callbacks
-%%%===================================================================
-
-%%--------------------------------------------------------------------
-%% @private
-%% @doc
-%% Initializes the server
-%%
-%% @spec init(Args) -> {ok, State} |
-%% {ok, State, Timeout} |
-%% ignore |
-%% {stop, Reason}
-%% @end
-%%--------------------------------------------------------------------
-init([Mod]) ->
- {ok, #state{ mod = Mod,
- q = Mod:new() }}.
-
-%%--------------------------------------------------------------------
-%% @private
-%% @doc
-%% Handling call messages
-%%
-%% @spec handle_call(Request, From, State) ->
-%% {reply, Reply, State} |
-%% {reply, Reply, State, Timeout} |
-%% {noreply, State} |
-%% {noreply, State, Timeout} |
-%% {stop, Reason, Reply, State} |
-%% {stop, Reason, State}
-%% @end
-%%--------------------------------------------------------------------
-handle_call({in, Item}, _F, #state { q = Q, mod = M } = S) ->
- NQ = M:in(Item, Q),
- {reply, ok, S#state { q = NQ }};
-handle_call({in, Item, Prio}, _F, #state { q = Q, mod = M } = S) ->
- NQ = M:in(Item, Prio, Q),
- {reply, ok, S#state { q = NQ }};
-handle_call({out, P}, _F, #state { q = Q, mod = M } = S) ->
- {R, NQ} = M:out(P, Q),
- {reply, R, S#state { q = NQ }};
-handle_call(Ty, _F, #state { q = Q, mod = M } = S) when Ty == out;
- Ty == pout ->
- {R, NQ} = M:Ty(Q),
- {reply, R, S#state { q = NQ }};
-handle_call(Ty, _F, #state { q = Q, mod = M } = S) when Ty == is_queue;
- Ty == is_empty;
- Ty == len;
- Ty == to_list ->
- R = M:Ty(Q),
- {reply, R, S};
-handle_call(Req, From, State) ->
- error_logger:info_report([{handle_call, Req, From, State}]),
- Reply = ok,
- {reply, Reply, State}.
-
-%%--------------------------------------------------------------------
-%% @private
-%% @doc
-%% Handling cast messages
-%%
-%% @spec handle_cast(Msg, State) -> {noreply, State} |
-%% {noreply, State, Timeout} |
-%% {stop, Reason, State}
-%% @end
-%%--------------------------------------------------------------------
-handle_cast(_Msg, State) ->
- {noreply, State}.
-
-%%--------------------------------------------------------------------
-%% @private
-%% @doc
-%% Handling all non call/cast messages
-%%
-%% @spec handle_info(Info, State) -> {noreply, State} |
-%% {noreply, State, Timeout} |
-%% {stop, Reason, State}
-%% @end
-%%--------------------------------------------------------------------
-handle_info(_Info, State) ->
- {noreply, State}.
-
-%%--------------------------------------------------------------------
-%% @private
-%% @doc
-%% This function is called by a gen_server when it is about to
-%% terminate. It should be the opposite of Module:init/1 and do any
-%% necessary cleaning up. When it returns, the gen_server terminates
-%% with Reason. The return value is ignored.
-%%
-%% @spec terminate(Reason, State) -> void()
-%% @end
-%%--------------------------------------------------------------------
-terminate(_Reason, _State) ->
- ok.
-
-%%--------------------------------------------------------------------
-%% @private
-%% @doc
-%% Convert process state when code is changed
-%%
-%% @spec code_change(OldVsn, State, Extra) -> {ok, NewState}
-%% @end
-%%--------------------------------------------------------------------
-code_change(_OldVsn, State, _Extra) ->
- {ok, State}.
-
-%%%===================================================================
-%%% Internal functions
-%%%===================================================================
diff --git a/aoc2023/build/packages/simplifile/README.md b/aoc2023/build/packages/simplifile/README.md
deleted file mode 100644
index 5e49113..0000000
--- a/aoc2023/build/packages/simplifile/README.md
+++ /dev/null
@@ -1,29 +0,0 @@
-# simplifile
-
-[![Package Version](https://img.shields.io/hexpm/v/simplifile)](https://hex.pm/packages/simplifile)
-[![Hex Docs](https://img.shields.io/badge/hex-docs-ffaff3)](https://hexdocs.pm/simplifile/)
-
-Simplifile provides basic file operations (read, write, append, and delete) that work
-for all targets (Erlang, Node, and Deno). It also provides functions for working with directories.
-
-Note: When upgrading versions, be sure to check the changelog.
-
-## Example
-```gleam
-let filepath = "./test/hello.txt"
-let assert Ok(_) = "Hello, World" |> write(to: filepath)
-let assert Ok(_) = "Goodbye, Mars" |> append(to: filepath)
-let assert Ok("Hello, WorldGoodbye, Mars") = read(from: filepath)
-let assert Ok(_) = delete(filepath)
-let assert Error(_) = read(from: filepath)
-```
-
-## Installation
-
-If available on Hex this package can be added to your Gleam project:
-
-```sh
-gleam add simplifile
-```
-
-and its documentation can be found at <https://hexdocs.pm/simplifile>.
diff --git a/aoc2023/build/packages/simplifile/gleam.toml b/aoc2023/build/packages/simplifile/gleam.toml
deleted file mode 100644
index 8e7523d..0000000
--- a/aoc2023/build/packages/simplifile/gleam.toml
+++ /dev/null
@@ -1,17 +0,0 @@
-name = "simplifile"
-version = "1.0.0"
-description = "Basic file operations that work on all targets"
-
-licences = ["Apache-2.0"]
-repository = { type = "github", user = "bcpeinhardt", repo = "simplifile" }
-gleam = ">= 0.32.0"
-# links = [{ title = "Website", href = "https://gleam.run" }]
-
-[javascript.deno]
-allow_all = true
-
-[dependencies]
-gleam_stdlib = "~> 0.29"
-
-[dev-dependencies]
-gleeunit = "~> 1.0"
diff --git a/aoc2023/build/packages/simplifile/src/simplifile.app.src b/aoc2023/build/packages/simplifile/src/simplifile.app.src
deleted file mode 100644
index 5b9d6ef..0000000
--- a/aoc2023/build/packages/simplifile/src/simplifile.app.src
+++ /dev/null
@@ -1,8 +0,0 @@
-{application, simplifile, [
- {vsn, "1.0.0"},
- {applications, [gleam_stdlib,
- gleeunit]},
- {description, "Basic file operations that work on all targets"},
- {modules, [simplifile]},
- {registered, []}
-]}.
diff --git a/aoc2023/build/packages/simplifile/src/simplifile.erl b/aoc2023/build/packages/simplifile/src/simplifile.erl
deleted file mode 100644
index 0d3818c..0000000
--- a/aoc2023/build/packages/simplifile/src/simplifile.erl
+++ /dev/null
@@ -1,287 +0,0 @@
--module(simplifile).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([read/1, write/2, delete/1, delete_all/1, append/2, read_bits/1, write_bits/2, append_bits/2, is_directory/1, create_directory/1, read_directory/1, is_file/1, create_file/1, get_files/1, create_directory_all/1, copy_directory/2, rename_directory/2, copy_file/2, rename_file/2]).
--export_type([file_error/0]).
-
--type file_error() :: eacces |
- eagain |
- ebadf |
- ebadmsg |
- ebusy |
- edeadlk |
- edeadlock |
- edquot |
- eexist |
- efault |
- efbig |
- eftype |
- eintr |
- einval |
- eio |
- eisdir |
- eloop |
- emfile |
- emlink |
- emultihop |
- enametoolong |
- enfile |
- enobufs |
- enodev |
- enolck |
- enolink |
- enoent |
- enomem |
- enospc |
- enosr |
- enostr |
- enosys |
- enotblk |
- enotdir |
- enotsup |
- enxio |
- eopnotsupp |
- eoverflow |
- eperm |
- epipe |
- erange |
- erofs |
- espipe |
- esrch |
- estale |
- etxtbsy |
- exdev |
- not_utf8 |
- unknown.
-
--spec do_append(binary(), binary()) -> {ok, nil} | {error, file_error()}.
-do_append(Content, Filepath) ->
- _pipe = Content,
- _pipe@1 = gleam_stdlib:identity(_pipe),
- simplifile_erl:append_file(_pipe@1, Filepath).
-
--spec do_write(binary(), binary()) -> {ok, nil} | {error, file_error()}.
-do_write(Content, Filepath) ->
- _pipe = Content,
- _pipe@1 = gleam_stdlib:identity(_pipe),
- simplifile_erl:write_file(_pipe@1, Filepath).
-
--spec do_read(binary()) -> {ok, binary()} | {error, file_error()}.
-do_read(Filepath) ->
- case simplifile_erl:read_file(Filepath) of
- {ok, Bits} ->
- case gleam@bit_array:to_string(Bits) of
- {ok, Str} ->
- {ok, Str};
-
- _ ->
- {error, not_utf8}
- end;
-
- {error, E} ->
- {error, E}
- end.
-
--spec cast_error({ok, FIL} | {error, file_error()}) -> {ok, FIL} |
- {error, file_error()}.
-cast_error(Input) ->
- Input.
-
--spec read(binary()) -> {ok, binary()} | {error, file_error()}.
-read(Filepath) ->
- _pipe = do_read(Filepath),
- cast_error(_pipe).
-
--spec write(binary(), binary()) -> {ok, nil} | {error, file_error()}.
-write(Filepath, Contents) ->
- _pipe = do_write(Contents, Filepath),
- cast_error(_pipe).
-
--spec delete(binary()) -> {ok, nil} | {error, file_error()}.
-delete(Path) ->
- _pipe = simplifile_erl:recursive_delete(Path),
- cast_error(_pipe).
-
--spec delete_all(list(binary())) -> {ok, nil} | {error, file_error()}.
-delete_all(Paths) ->
- case Paths of
- [] ->
- {ok, nil};
-
- [Path | Rest] ->
- case delete(Path) of
- {ok, nil} ->
- delete_all(Rest);
-
- {error, enoent} ->
- delete_all(Rest);
-
- E ->
- E
- end
- end.
-
--spec append(binary(), binary()) -> {ok, nil} | {error, file_error()}.
-append(Filepath, Contents) ->
- _pipe = do_append(Contents, Filepath),
- cast_error(_pipe).
-
--spec read_bits(binary()) -> {ok, bitstring()} | {error, file_error()}.
-read_bits(Filepath) ->
- _pipe = simplifile_erl:read_file(Filepath),
- cast_error(_pipe).
-
--spec write_bits(binary(), bitstring()) -> {ok, nil} | {error, file_error()}.
-write_bits(Filepath, Bits) ->
- _pipe = simplifile_erl:write_file(Bits, Filepath),
- cast_error(_pipe).
-
--spec append_bits(binary(), bitstring()) -> {ok, nil} | {error, file_error()}.
-append_bits(Filepath, Bits) ->
- _pipe = simplifile_erl:append_file(Bits, Filepath),
- cast_error(_pipe).
-
--spec is_directory(binary()) -> boolean().
-is_directory(Filepath) ->
- filelib:is_dir(Filepath).
-
--spec create_directory(binary()) -> {ok, nil} | {error, file_error()}.
-create_directory(Filepath) ->
- _pipe = simplifile_erl:make_directory(Filepath),
- cast_error(_pipe).
-
--spec read_directory(binary()) -> {ok, list(binary())} | {error, file_error()}.
-read_directory(Path) ->
- _pipe = simplifile_erl:list_directory(Path),
- cast_error(_pipe).
-
--spec is_file(binary()) -> boolean().
-is_file(Filepath) ->
- simplifile_erl:is_file(Filepath).
-
--spec create_file(binary()) -> {ok, nil} | {error, file_error()}.
-create_file(Filepath) ->
- case begin
- _pipe = Filepath,
- is_file(_pipe)
- end
- orelse begin
- _pipe@1 = Filepath,
- is_directory(_pipe@1)
- end of
- true ->
- {error, eexist};
-
- false ->
- write_bits(Filepath, <<>>)
- end.
-
--spec do_copy_directory(binary(), binary()) -> {ok, nil} | {error, file_error()}.
-do_copy_directory(Src, Dest) ->
- gleam@result:'try'(
- read_directory(Src),
- fun(Segments) ->
- _pipe = Segments,
- gleam@list:each(
- _pipe,
- fun(Segment) ->
- Src_path = <<<<Src/binary, "/"/utf8>>/binary,
- Segment/binary>>,
- Dest_path = <<<<Dest/binary, "/"/utf8>>/binary,
- Segment/binary>>,
- case {is_file(Src_path), is_directory(Src_path)} of
- {true, false} ->
- gleam@result:'try'(
- read_bits(Src_path),
- fun(Content) -> _pipe@1 = Content,
- write_bits(Dest_path, _pipe@1) end
- );
-
- {false, true} ->
- gleam@result:'try'(
- create_directory(Dest_path),
- fun(_) ->
- do_copy_directory(Src_path, Dest_path)
- end
- );
-
- {_, _} ->
- erlang:error(#{gleam_error => panic,
- message => <<"unreachable"/utf8>>,
- module => <<"simplifile"/utf8>>,
- function => <<"do_copy_directory"/utf8>>,
- line => 341})
- end
- end
- ),
- {ok, nil}
- end
- ).
-
--spec get_files(binary()) -> {ok, list(binary())} | {error, file_error()}.
-get_files(Directory) ->
- gleam@result:'try'(
- read_directory(Directory),
- fun(Contents) ->
- Paths = gleam@list:map(
- Contents,
- fun(Segment) ->
- <<<<Directory/binary, "/"/utf8>>/binary, Segment/binary>>
- end
- ),
- Files = gleam@list:filter(Paths, fun is_file/1),
- case gleam@list:filter(Paths, fun is_directory/1) of
- [] ->
- {ok, Files};
-
- Directories ->
- gleam@result:'try'(
- gleam@list:try_map(Directories, fun get_files/1),
- fun(Nested_files) ->
- {ok,
- gleam@list:append(
- Files,
- gleam@list:flatten(Nested_files)
- )}
- end
- )
- end
- end
- ).
-
--spec create_directory_all(binary()) -> {ok, nil} | {error, file_error()}.
-create_directory_all(Dirpath) ->
- Path = case begin
- _pipe = Dirpath,
- gleam@string:ends_with(_pipe, <<"/"/utf8>>)
- end of
- true ->
- Dirpath;
-
- false ->
- <<Dirpath/binary, "/"/utf8>>
- end,
- _pipe@1 = simplifile_erl:create_dir_all(Path),
- cast_error(_pipe@1).
-
--spec copy_directory(binary(), binary()) -> {ok, nil} | {error, file_error()}.
-copy_directory(Src, Dest) ->
- gleam@result:'try'(
- create_directory_all(Dest),
- fun(_) -> do_copy_directory(Src, Dest) end
- ).
-
--spec rename_directory(binary(), binary()) -> {ok, nil} | {error, file_error()}.
-rename_directory(Src, Dest) ->
- gleam@result:'try'(copy_directory(Src, Dest), fun(_) -> delete(Src) end).
-
--spec copy_file(binary(), binary()) -> {ok, nil} | {error, file_error()}.
-copy_file(Src, Dest) ->
- _pipe = file:copy(Src, Dest),
- _pipe@1 = gleam@result:replace(_pipe, nil),
- cast_error(_pipe@1).
-
--spec rename_file(binary(), binary()) -> {ok, nil} | {error, file_error()}.
-rename_file(Src, Dest) ->
- _pipe = simplifile_erl:rename_file(Src, Dest),
- cast_error(_pipe).
diff --git a/aoc2023/build/packages/simplifile/src/simplifile.gleam b/aoc2023/build/packages/simplifile/src/simplifile.gleam
deleted file mode 100644
index eff0306..0000000
--- a/aoc2023/build/packages/simplifile/src/simplifile.gleam
+++ /dev/null
@@ -1,580 +0,0 @@
-import gleam/bit_array
-import gleam/string
-import gleam/result
-import gleam/list
-
-/// This type represents all of the reasons for why a file system operation could fail.
-///
-/// Most of these reasons are POSIX errors, which come from the operating system
-/// and start with E. Others have been added to represent other issues that may
-/// arise specific to this library.
-///
-pub type FileError {
- /// Permission denied.
- Eacces
- /// Resource temporarily unavailable.
- Eagain
- /// Bad file number
- Ebadf
- /// Bad message.
- Ebadmsg
- /// File busy.
- Ebusy
- /// Resource deadlock avoided.
- Edeadlk
- /// On most architectures, same as `Edeadlk`. On some architectures, it
- /// means "File locking deadlock error."
- Edeadlock
- /// Disk quota exceeded.
- Edquot
- /// File already exists.
- Eexist
- /// Bad address in system call argument.
- Efault
- /// File too large.
- Efbig
- /// Inappropriate file type or format. Usually caused by trying to set the
- /// "sticky bit" on a regular file (not a directory).
- Eftype
- /// Interrupted system call.
- Eintr
- /// Invalid argument.
- Einval
- /// I/O error.
- Eio
- /// Illegal operation on a directory.
- Eisdir
- /// Too many levels of symbolic links.
- Eloop
- /// Too many open files.
- Emfile
- /// Too many links.
- Emlink
- /// Multihop attempted.
- Emultihop
- /// Filename too long
- Enametoolong
- /// File table overflow
- Enfile
- /// No buffer space available.
- Enobufs
- /// No such device.
- Enodev
- /// No locks available.
- Enolck
- /// Link has been severed.
- Enolink
- /// No such file or directory.
- Enoent
- /// Not enough memory.
- Enomem
- /// No space left on device.
- Enospc
- /// No STREAM resources.
- Enosr
- /// Not a STREAM.
- Enostr
- /// Function not implemented.
- Enosys
- /// Block device required.
- Enotblk
- /// Not a directory.
- Enotdir
- /// Operation not supported.
- Enotsup
- /// No such device or address.
- Enxio
- /// Operation not supported on socket.
- Eopnotsupp
- /// Value too large to be stored in data type.
- Eoverflow
- /// Not owner.
- Eperm
- /// Broken pipe.
- Epipe
- /// Result too large.
- Erange
- /// Read-only file system.
- Erofs
- /// Invalid seek.
- Espipe
- /// No such process.
- Esrch
- /// Stale remote file handle.
- Estale
- /// Text file busy.
- Etxtbsy
- /// Cross-domain link.
- Exdev
- /// File was requested to be read as UTF-8, but is not UTF-8 encoded.
- NotUtf8
- /// Any error not accounted for by this type
- Unknown
-}
-
-/// Read a files contents as a string
-/// ## Example
-/// ```gleam
-/// let assert Ok(records) = read(from: "./users.csv")
-/// ```
-///
-pub fn read(from filepath: String) -> Result(String, FileError) {
- do_read(filepath)
- |> cast_error
-}
-
-/// Write a string to a file at the given path
-/// ## Example
-/// ```gleam
-/// let assert Ok(Nil) = write("Hello, World!", to: "./hello_world.txt")
-/// ```
-///
-pub fn write(
- to filepath: String,
- contents contents: String,
-) -> Result(Nil, FileError) {
- do_write(contents, to: filepath)
- |> cast_error
-}
-
-/// Delete a file or directory at a given path. Performs a recursive
-/// delete on a directory.
-/// Throws an error if the path does not exist.
-/// ## Example
-/// ```gleam
-/// let assert Ok(Nil) = delete(file_at: "./delete_me.txt")
-/// ```
-///
-pub fn delete(file_or_dir_at path: String) -> Result(Nil, FileError) {
- do_delete(path)
- |> cast_error
-}
-
-/// Delete all files/directories specified in a list of paths.
-/// Recursively deletes provided directories.
-/// Does not return an error if one or more of the provided paths
-/// do not exist.
-///
-pub fn delete_all(paths paths: List(String)) -> Result(Nil, FileError) {
- case paths {
- [] -> Ok(Nil)
- [path, ..rest] -> {
- case delete(path) {
- Ok(Nil) | Error(Enoent) -> delete_all(rest)
- e -> e
- }
- }
- }
-}
-
-/// Append a string to the contents of a file at the given path
-/// ## Example
-/// ```gleam
-/// let assert Ok(Nil) = append("more text", to: "./needs_more_text.txt")
-/// ```
-///
-pub fn append(
- to filepath: String,
- contents contents: String,
-) -> Result(Nil, FileError) {
- do_append(contents, to: filepath)
- |> cast_error
-}
-
-/// Read a files contents as a bitstring
-/// ## Example
-/// ```gleam
-/// let assert Ok(records) = read_bits(from: "./users.csv")
-/// ```
-///
-pub fn read_bits(from filepath: String) -> Result(BitArray, FileError) {
- do_read_bits(filepath)
- |> cast_error
-}
-
-/// Write a bitstring to a file at the given path
-/// ## Example
-/// ```gleam
-/// let assert Ok(Nil) = write_bits(<<"Hello, World!":utf8>>, to: "./hello_world.txt")
-/// ```
-///
-pub fn write_bits(
- to filepath: String,
- bits bits: BitArray,
-) -> Result(Nil, FileError) {
- do_write_bits(bits, filepath)
- |> cast_error
-}
-
-/// Append a bitstring to the contents of a file at the given path
-/// ## Example
-/// ```gleam
-/// let assert Ok(Nil) = append_bits(<<"more text":utf8>>, to: "./needs_more_text.txt")
-/// ```
-///
-pub fn append_bits(
- to filepath: String,
- bits bits: BitArray,
-) -> Result(Nil, FileError) {
- do_append_bits(bits, filepath)
- |> cast_error
-}
-
-/// Checks if the provided filepath is a directory
-/// ## Example
-/// ```gleam
-/// let assert True = is_directory("./test")
-/// ```
-pub fn is_directory(filepath: String) -> Bool {
- do_is_directory(filepath)
-}
-
-/// Create a directory at the provided filepath. Returns an error if
-/// the directory already exists.
-///
-/// ## Example
-/// ```gleam
-/// create_directory("./test")
-/// ```
-pub fn create_directory(filepath: String) -> Result(Nil, FileError) {
- do_make_directory(filepath)
- |> cast_error
-}
-
-/// Lists the contents of a directory.
-/// The list contains directory and file names, and is not recursive.
-///
-/// ## Example
-/// ```gleam
-/// let assert Ok(files_and_folders) = read_directory(at: "./Folder1")
-/// ```
-///
-pub fn read_directory(at path: String) -> Result(List(String), FileError) {
- do_read_directory(path)
- |> cast_error
-}
-
-/// Returns `True` if there is a file at the given path, false otherwise.
-///
-pub fn is_file(filepath: String) -> Bool {
- do_is_file(filepath)
-}
-
-/// Creates an empty file at the given filepath. Returns an `Error(Eexist)`
-/// if the file already exists.
-///
-pub fn create_file(at filepath: String) -> Result(Nil, FileError) {
- case
- filepath
- |> is_file || filepath
- |> is_directory
- {
- True -> Error(Eexist)
- False -> write_bits(<<>>, to: filepath)
- }
-}
-
-/// Recursively creates necessary directories for a given directory
-/// path. Note that if you pass a path that "looks like" a file, i.e.
-/// `./a/b.txt`, a folder named `b.txt` will be created, so be sure
-/// to pass only the path to the required directory.
-pub fn create_directory_all(dirpath: String) -> Result(Nil, FileError) {
- let path = case
- dirpath
- |> string.ends_with("/")
- {
- True -> dirpath
- False -> dirpath <> "/"
- }
- do_create_dir_all(path)
- |> cast_error
-}
-
-/// Copy a file at a given path to another path.
-/// Note: destination should include the filename, not just the directory
-pub fn copy_file(at src: String, to dest: String) -> Result(Nil, FileError) {
- do_copy_file(src, dest)
- |> result.replace(Nil)
- |> cast_error
-}
-
-/// Rename a file at a given path to another path.
-/// Note: destination should include the filename, not just the directory
-pub fn rename_file(at src: String, to dest: String) -> Result(Nil, FileError) {
- do_rename_file(src, dest)
- |> cast_error
-}
-
-/// Copy a directory recursively
-pub fn copy_directory(at src: String, to dest: String) -> Result(Nil, FileError) {
- // Erlang does not provide a built in `copy_dir` function,
- // and Deno doesn't support Node's `fs.cpSync`, so we'll just roll
- // our own for now.
- use _ <- result.try(create_directory_all(dest))
- do_copy_directory(src, dest)
-}
-
-fn do_copy_directory(src: String, dest: String) -> Result(Nil, FileError) {
- // Iterate over the segments of the file
- use segments <- result.try(read_directory(src))
- segments
- |> list.each(fn(segment) {
- let src_path = src <> "/" <> segment
- let dest_path = dest <> "/" <> segment
-
- case is_file(src_path), is_directory(src_path) {
- True, False -> {
- // For a file, create the file in the new directory
- use content <- result.try(read_bits(src_path))
- content
- |> write_bits(to: dest_path)
- }
- False, True -> {
- // Create the target directory and recurs
- use _ <- result.try(create_directory(dest_path))
- do_copy_directory(src_path, dest_path)
- }
- _, _ -> {
- // This should be unreachable. The src_path can't be both a file
- // and a directory, and it's definitely one of the two because it's
- // coming from list_contents
- panic as "unreachable"
- }
- }
- })
- Ok(Nil)
-}
-
-/// Copy a directory recursively and then delete the old one.
-pub fn rename_directory(
- at src: String,
- to dest: String,
-) -> Result(Nil, FileError) {
- use _ <- result.try(copy_directory(src, dest))
- delete(src)
-}
-
-/// Returns a list of filepaths for every file in the directory, including nested
-/// files.
-///
-pub fn get_files(in directory: String) -> Result(List(String), FileError) {
- use contents <- result.try(read_directory(directory))
- let paths = list.map(contents, fn(segment) { directory <> "/" <> segment })
- let files = list.filter(paths, is_file)
- case list.filter(paths, is_directory) {
- [] -> Ok(files)
- directories -> {
- use nested_files <- result.try(list.try_map(directories, get_files))
- Ok(list.append(files, list.flatten(nested_files)))
- }
- }
-}
-
-@target(javascript)
-fn do_read(from filepath: String) -> Result(String, String) {
- case do_read_bits(filepath) {
- Ok(bits) -> {
- case bit_array.to_string(bits) {
- Ok(str) -> Ok(str)
- _ -> Error("NOTUTF8")
- }
- }
- Error(e) -> Error(e)
- }
-}
-
-@target(javascript)
-fn do_write(content: String, to filepath: String) -> Result(Nil, String) {
- content
- |> bit_array.from_string
- |> do_write_bits(to: filepath)
-}
-
-@target(javascript)
-@external(javascript, "./simplifile_js.mjs", "deleteFileOrDirRecursive")
-fn do_delete(file_or_dir_at: String) -> Result(Nil, String)
-
-@target(javascript)
-fn do_append(content: String, to filepath: String) -> Result(Nil, String) {
- content
- |> bit_array.from_string
- |> do_append_bits(to: filepath)
-}
-
-@target(javascript)
-@external(javascript, "./simplifile_js.mjs", "readBits")
-fn do_read_bits(from: String) -> Result(BitArray, String)
-
-@target(javascript)
-@external(javascript, "./simplifile_js.mjs", "writeBits")
-fn do_write_bits(content: BitArray, to filepath: String) -> Result(Nil, String)
-
-@target(javascript)
-@external(javascript, "./simplifile_js.mjs", "appendBits")
-fn do_append_bits(content: BitArray, to filepath: String) -> Result(Nil, String)
-
-@target(javascript)
-@external(javascript, "./simplifile_js.mjs", "isDirectory")
-fn do_is_directory(filepath: String) -> Bool
-
-@target(javascript)
-@external(javascript, "./simplifile_js.mjs", "makeDirectory")
-fn do_make_directory(filepath: String) -> Result(Nil, String)
-
-@target(javascript)
-@external(javascript, "./simplifile_js.mjs", "createDirAll")
-fn do_create_dir_all(dirpath: String) -> Result(Nil, String)
-
-@target(javascript)
-@external(javascript, "./simplifile_js.mjs", "listContents")
-fn do_read_directory(directory_path: String) -> Result(List(String), String)
-
-@target(javascript)
-@external(javascript, "./simplifile_js.mjs", "copyFile")
-fn do_copy_file(at: String, to: String) -> Result(Nil, String)
-
-@target(javascript)
-@external(javascript, "./simplifile_js.mjs", "renameFile")
-fn do_rename_file(at: String, to: String) -> Result(Nil, String)
-
-@target(javascript)
-fn cast_error(input: Result(a, String)) -> Result(a, FileError) {
- result.map_error(
- input,
- fn(e) {
- case e {
- "EACCES" -> Eacces
- "EAGAIN" -> Eagain
- "EBADF" -> Ebadf
- "EBADMSG" -> Ebadmsg
- "EBUSY" -> Ebusy
- "EDEADLK" -> Edeadlk
- "EDEADLOCK" -> Edeadlock
- "EDQUOT" -> Edquot
- "EEXIST" -> Eexist
- "EFAULT" -> Efault
- "EFBIG" -> Efbig
- "EFTYPE" -> Eftype
- "EINTR" -> Eintr
- "EINVAL" -> Einval
- "EIO" -> Eio
- "EISDIR" -> Eisdir
- "ELOOP" -> Eloop
- "EMFILE" -> Emfile
- "EMLINK" -> Emlink
- "EMULTIHOP" -> Emultihop
- "ENAMETOOLONG" -> Enametoolong
- "ENFILE" -> Enfile
- "ENOBUFS" -> Enobufs
- "ENODEV" -> Enodev
- "ENOLCK" -> Enolck
- "ENOLINK" -> Enolink
- "ENOENT" -> Enoent
- "ENOMEM" -> Enomem
- "ENOSPC" -> Enospc
- "ENOSR" -> Enosr
- "ENOSTR" -> Enostr
- "ENOSYS" -> Enosys
- "ENOBLK" -> Enotblk
- "ENODIR" -> Enotdir
- "ENOTSUP" -> Enotsup
- "ENXIO" -> Enxio
- "EOPNOTSUPP" -> Eopnotsupp
- "EOVERFLOW" -> Eoverflow
- "EPERM" -> Eperm
- "EPIPE" -> Epipe
- "ERANGE" -> Erange
- "EROFS" -> Erofs
- "ESPIPE" -> Espipe
- "ESRCH" -> Esrch
- "ESTALE" -> Estale
- "ETXTBSY" -> Etxtbsy
- "EXDEV" -> Exdev
- "NOTUTF8" -> NotUtf8
- _ -> Unknown
- }
- },
- )
-}
-
-@target(erlang)
-@external(erlang, "simplifile_erl", "append_file")
-fn do_append_bits(
- content: BitArray,
- to filepath: String,
-) -> Result(Nil, FileError)
-
-@target(erlang)
-@external(erlang, "simplifile_erl", "write_file")
-fn do_write_bits(
- content: BitArray,
- to filepath: String,
-) -> Result(Nil, FileError)
-
-@target(erlang)
-@external(erlang, "simplifile_erl", "read_file")
-fn do_read_bits(from: String) -> Result(BitArray, FileError)
-
-@target(erlang)
-@external(erlang, "simplifile_erl", "recursive_delete")
-fn do_delete(file_or_dir_at: String) -> Result(Nil, FileError)
-
-@target(erlang)
-fn do_append(content: String, to filepath: String) -> Result(Nil, FileError) {
- content
- |> bit_array.from_string
- |> do_append_bits(filepath)
-}
-
-@target(erlang)
-fn do_write(content: String, to filepath: String) -> Result(Nil, FileError) {
- content
- |> bit_array.from_string
- |> do_write_bits(filepath)
-}
-
-@target(erlang)
-fn do_read(from filepath: String) -> Result(String, FileError) {
- case do_read_bits(filepath) {
- Ok(bits) -> {
- case bit_array.to_string(bits) {
- Ok(str) -> Ok(str)
- _ -> Error(NotUtf8)
- }
- }
- Error(e) -> Error(e)
- }
-}
-
-@target(erlang)
-fn cast_error(input: Result(a, FileError)) -> Result(a, FileError) {
- input
-}
-
-@target(erlang)
-@external(erlang, "filelib", "is_dir")
-fn do_is_directory(path: String) -> Bool
-
-@target(erlang)
-@external(erlang, "simplifile_erl", "make_directory")
-fn do_make_directory(directory: String) -> Result(Nil, FileError)
-
-@target(erlang)
-@external(erlang, "simplifile_erl", "list_directory")
-fn do_read_directory(directory: String) -> Result(List(String), FileError)
-
-@external(erlang, "simplifile_erl", "is_file")
-@external(javascript, "./simplifile_js.mjs", "isFile")
-fn do_is_file(filepath: String) -> Bool
-
-@target(erlang)
-@external(erlang, "simplifile_erl", "create_dir_all")
-fn do_create_dir_all(dirpath: String) -> Result(Nil, FileError)
-
-@target(erlang)
-@external(erlang, "file", "copy")
-fn do_copy_file(src: String, dest: String) -> Result(Int, FileError)
-
-@target(erlang)
-@external(erlang, "simplifile_erl", "rename_file")
-fn do_rename_file(src: String, dest: String) -> Result(Nil, FileError)
diff --git a/aoc2023/build/packages/simplifile/src/simplifile_erl.erl b/aoc2023/build/packages/simplifile/src/simplifile_erl.erl
deleted file mode 100644
index dac135a..0000000
--- a/aoc2023/build/packages/simplifile/src/simplifile_erl.erl
+++ /dev/null
@@ -1,70 +0,0 @@
--module(simplifile_erl).
--export([
- read_file/1,
- append_file/2, write_file/2, delete_file/1, delete_directory/1, recursive_delete/1,
- list_directory/1, make_directory/1, is_file/1, create_dir_all/1, rename_file/2
-]).
-
--define(is_posix_error(Error),
- Error =:= eacces orelse Error =:= eagain orelse Error =:= ebadf orelse
- Error =:= ebadmsg orelse Error =:= ebusy orelse Error =:= edeadlk orelse
- Error =:= edeadlock orelse Error =:= edquot orelse Error =:= eexist orelse
- Error =:= efault orelse Error =:= efbig orelse Error =:= eftype orelse
- Error =:= eintr orelse Error =:= einval orelse Error =:= eio orelse
- Error =:= eisdir orelse Error =:= eloop orelse Error =:= emfile orelse
- Error =:= emlink orelse Error =:= emultihop orelse Error =:= enametoolong orelse
- Error =:= enfile orelse Error =:= enobufs orelse Error =:= enodev orelse
- Error =:= enolck orelse Error =:= enolink orelse Error =:= enoent orelse
- Error =:= enomem orelse Error =:= enospc orelse Error =:= enosr orelse
- Error =:= enostr orelse Error =:= enosys orelse Error =:= enotblk orelse
- Error =:= enotdir orelse Error =:= enotsup orelse Error =:= enxio orelse
- Error =:= eopnotsupp orelse Error =:= eoverflow orelse Error =:= eperm orelse
- Error =:= epipe orelse Error =:= erange orelse Error =:= erofs orelse
- Error =:= espipe orelse Error =:= esrch orelse Error =:= estale orelse
- Error =:= etxtbsy orelse Error =:= exdev
-).
-
-posix_result(Result) ->
- case Result of
- ok -> {ok, nil};
- {ok, Value} -> {ok, Value};
- {error, Reason} when ?is_posix_error(Reason) -> {error, Reason}
- end.
-
-read_file(Filename) ->
- posix_result(file:read_file(Filename)).
-
-write_file(Contents, Filename) ->
- posix_result(file:write_file(Filename, Contents)).
-
-append_file(Contents, Filename) ->
- posix_result(file:write_file(Filename, Contents, [append])).
-
-delete_file(Filename) ->
- posix_result(file:delete(Filename)).
-
-make_directory(Dir) ->
- posix_result(file:make_dir(Dir)).
-
-list_directory(Dir) ->
- case file:list_dir(Dir) of
- {ok, Filenames} ->
- {ok, [list_to_binary(Filename) || Filename <- Filenames]};
- {error, Reason} when ?is_posix_error(Reason) ->
- {error, Reason}
- end.
-
-delete_directory(Dir) ->
- posix_result(file:del_dir(Dir)).
-
-recursive_delete(Dir) ->
- posix_result(file:del_dir_r(Dir)).
-
-is_file(Filename) ->
- not (file:read_file_info(Filename) == {error, enoent}) and not filelib: is_dir(Filename).
-
-create_dir_all(Filename) ->
- posix_result(filelib:ensure_dir(Filename)).
-
-rename_file(Source, Destination) ->
- posix_result(file:rename(Source, Destination)).
diff --git a/aoc2023/build/packages/simplifile/src/simplifile_js.mjs b/aoc2023/build/packages/simplifile/src/simplifile_js.mjs
deleted file mode 100644
index faf4109..0000000
--- a/aoc2023/build/packages/simplifile/src/simplifile_js.mjs
+++ /dev/null
@@ -1,102 +0,0 @@
-import fs from "node:fs"
-import path from "node:path"
-import { BitArray, Ok, Error as GError, toList} from "./gleam.mjs";
-
-export function readBits(filepath) {
- try {
- const contents = fs.readFileSync(path.normalize(filepath))
- return new Ok(new BitArray(new Uint8Array(contents)))
- } catch(e) {
- return new GError(stringifyError(e))
- }
-}
-
-export function writeBits(contents, filepath) {
- try {
- fs.writeFileSync(path.normalize(filepath), contents.buffer)
- return new Ok(undefined)
- } catch (e) {
- return new GError(stringifyError(e))
- }
-}
-
-export function appendBits(contents, filepath) {
- try {
- fs.appendFileSync(path.normalize(filepath), contents.buffer)
- return new Ok(undefined)
- } catch (e) {
- return new GError(stringifyError(e))
- }
-}
-
-function stringifyError(e) {
- return e.code
-}
-
-export function isFile(filepath) {
- let fp = path.normalize(filepath)
- return fs.existsSync(fp) && fs.lstatSync(fp).isFile();
-}
-
-export function isDirectory(filepath) {
- let fp = path.normalize(filepath)
- return fs.existsSync(fp) && fs.lstatSync(fp).isDirectory();
-}
-
-export function makeDirectory(filepath) {
- try {
- fs.mkdirSync(path.normalize(filepath))
- return new Ok(undefined)
- } catch (e) {
- return new GError(stringifyError(e))
- }
-}
-
-export function createDirAll(filepath) {
- try {
- fs.mkdirSync(filepath, { recursive: true })
- return new Ok(undefined)
- } catch (e) {
- return new GError(stringifyError(e))
- }
-}
-
-export function deleteFileOrDirRecursive(fileOrDirPath) {
- try {
- if (isDirectory(fileOrDirPath)) {
- fs.rmSync(path.normalize(fileOrDirPath), { recursive: true })
- } else {
- fs.unlinkSync(path.normalize(fileOrDirPath))
- }
- return new Ok(undefined)
- } catch (e) {
- return new GError(stringifyError(e))
- }
-}
-
-export function listContents(filepath) {
- try {
- const stuff = toList(fs.readdirSync(path.normalize(filepath)))
- return new Ok(stuff)
- } catch(e) {
- return new GError(stringifyError(e))
- }
-}
-
-export function copyFile(srcpath, destpath) {
- try {
- fs.copyFileSync(path.normalize(srcpath), path.normalize(destpath))
- return new Ok(undefined)
- } catch (e) {
- return new GError(stringifyError(e))
- }
-}
-
-export function renameFile(srcpath, destpath) {
- try {
- fs.renameSync(path.normalize(srcpath), path.normalize(destpath))
- return new Ok(undefined)
- } catch (e) {
- return new GError(stringifyError(e))
- }
-} \ No newline at end of file
diff --git a/aoc2023/build/packages/snag/LICENCE b/aoc2023/build/packages/snag/LICENCE
deleted file mode 100644
index b8c2e9e..0000000
--- a/aoc2023/build/packages/snag/LICENCE
+++ /dev/null
@@ -1,211 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright 2021 - present Louis Pilfold
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-
-
-## Runtime Library Exception to the Apache 2.0 License: ##
-
-
- As an exception, if you use this Software to compile your source code and
- portions of this Software are embedded into the binary product as a result,
- you may redistribute such product without providing attribution as would
- otherwise be required by Sections 4(a), 4(b) and 4(d) of the License.
diff --git a/aoc2023/build/packages/snag/README.md b/aoc2023/build/packages/snag/README.md
deleted file mode 100644
index aaedcf5..0000000
--- a/aoc2023/build/packages/snag/README.md
+++ /dev/null
@@ -1,81 +0,0 @@
-# Snag
-
-A Snag is a boilerplate-free ad-hoc error type.
-
-Use `Result(value, Snag)` (or the `snag.Result(value)` alias) in functions
-that may fail.
-
-A low level message like "Unexpected status 401" or "No such file or
-directory" can be confusing or difficult to debug, so use the `snag.context`
-function to add extra contextual information.
-
-```gleam
-import gleam/io
-import my_app.{User}
-import snag.{Result}
-
-pub fn log_in(user_id: Int) -> Result(User) {
- try api_key =
- my_app.read_file("api_key.txt")
- |> snag.context("Could not load API key")
-
- try session_token =
- user_id
- |> my_app.create_session(api_key)
- |> snag.context("Session creation failed")
-
- Ok(session_token)
-}
-
-pub fn main() {
- case log_in(42) {
- Ok(session) -> io.println("Logged in!")
- Error(snag) -> {
- io.print(snag.pretty_print(snag))
- my_app.exit(1)
- }
- }
-}
-```
-
-In this code when an error occurs within the `create_session` function an
-error message like this is printed using the added contextual information:
-
-```text
-error: Session creation failed
-
-cause:
- 0: Unable to exchange token with authentication service
- 1: Service authentication failed
- 2: Unexpected HTTP status 401
-```
-
-## When should I use Snag?
-
-Snag is useful in code where it must either pass or fail, and when it fails we
-want good debugging information to print to the user. i.e. Command line
-tools, data processing pipelines, etc. Here Snag provides a convenient way to
-create errors with a reasonable amount of debugging information, without the
-boilerplate of a custom error type.
-
-It is not suited to code where the application needs to make a decision about
-what to do in the event of an error, such as whether to give up or to try
-again. i.e. Libraries, web application backends, API clients, etc. In these
-situations it is recommended to create a custom type for your errors as it
-can be pattern matched on and have any additional detail added as fields.
-
-## Installation
-
-Add `snag` to your Gleam project
-
-```
-gleam add snag
-```
-
-## Prior art
-
-This library is inspired by the following projects:
-
-- Rust's [`anyhow`](https://github.com/dtolnay/anyhow) and
- [`std::error::Error`](https://doc.rust-lang.org/std/error/trait.Error.html)
-- Go's [`error`](https://golang.org/pkg/errors/).
diff --git a/aoc2023/build/packages/snag/gleam.toml b/aoc2023/build/packages/snag/gleam.toml
deleted file mode 100644
index 4f2d670..0000000
--- a/aoc2023/build/packages/snag/gleam.toml
+++ /dev/null
@@ -1,16 +0,0 @@
-name = "snag"
-version = "0.2.1"
-licences = ["Apache-2.0"]
-description = "A boilerplate-free ad-hoc error type"
-
-repository = { type = "github", user = "gleam-experiments", repo = "snag" }
-links = [
- { title = "Website", href = "https://gleam.run" },
- { title = "Sponsor", href = "https://github.com/sponsors/lpil" },
-]
-
-[dependencies]
-gleam_stdlib = "~> 0.18"
-
-[dev-dependencies]
-gleeunit = "~> 0.5"
diff --git a/aoc2023/build/packages/snag/include/snag_Snag.hrl b/aoc2023/build/packages/snag/include/snag_Snag.hrl
deleted file mode 100644
index 5d6614e..0000000
--- a/aoc2023/build/packages/snag/include/snag_Snag.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(snag, {issue :: binary(), cause :: list(binary())}).
diff --git a/aoc2023/build/packages/snag/src/snag.app.src b/aoc2023/build/packages/snag/src/snag.app.src
deleted file mode 100644
index 175e326..0000000
--- a/aoc2023/build/packages/snag/src/snag.app.src
+++ /dev/null
@@ -1,8 +0,0 @@
-{application, snag, [
- {vsn, "0.2.1"},
- {applications, [gleam_stdlib,
- gleeunit]},
- {description, "A boilerplate-free ad-hoc error type"},
- {modules, [snag]},
- {registered, []}
-]}.
diff --git a/aoc2023/build/packages/snag/src/snag.erl b/aoc2023/build/packages/snag/src/snag.erl
deleted file mode 100644
index a07f242..0000000
--- a/aoc2023/build/packages/snag/src/snag.erl
+++ /dev/null
@@ -1,74 +0,0 @@
--module(snag).
--compile([no_auto_import, nowarn_unused_vars]).
-
--export([new/1, error/1, layer/2, context/2, pretty_print/1, line_print/1]).
--export_type([snag/0]).
-
--type snag() :: {snag, binary(), list(binary())}.
-
--spec new(binary()) -> snag().
-new(Issue) ->
- {snag, Issue, []}.
-
--spec error(binary()) -> {ok, any()} | {error, snag()}.
-error(Issue) ->
- {error, new(Issue)}.
-
--spec layer(snag(), binary()) -> snag().
-layer(Snag, Issue) ->
- {snag, Issue, [erlang:element(2, Snag) | erlang:element(3, Snag)]}.
-
--spec context({ok, EXX} | {error, snag()}, binary()) -> {ok, EXX} |
- {error, snag()}.
-context(Result, Issue) ->
- case Result of
- {ok, _} ->
- Result;
-
- {error, Snag} ->
- {error, layer(Snag, Issue)}
- end.
-
--spec pretty_print_cause(list(binary())) -> gleam@string_builder:string_builder().
-pretty_print_cause(Cause) ->
- _pipe = Cause,
- _pipe@1 = gleam@list:index_map(
- _pipe,
- fun(Index, Line) ->
- gleam@string:concat(
- [<<" "/utf8>>,
- gleam@int:to_string(Index),
- <<": "/utf8>>,
- Line,
- <<"\n"/utf8>>]
- )
- end
- ),
- gleam@string_builder:from_strings(_pipe@1).
-
--spec pretty_print(snag()) -> binary().
-pretty_print(Snag) ->
- Builder = gleam@string_builder:from_strings(
- [<<"error: "/utf8>>, erlang:element(2, Snag), <<"\n"/utf8>>]
- ),
- gleam@string_builder:to_string(case erlang:element(3, Snag) of
- [] ->
- Builder;
-
- Cause ->
- _pipe = Builder,
- _pipe@1 = gleam@string_builder:append(
- _pipe,
- <<"\ncause:\n"/utf8>>
- ),
- gleam@string_builder:append_builder(
- _pipe@1,
- pretty_print_cause(Cause)
- )
- end).
-
--spec line_print(snag()) -> binary().
-line_print(Snag) ->
- _pipe = [gleam@string:append(<<"error: "/utf8>>, erlang:element(2, Snag)) |
- erlang:element(3, Snag)],
- gleam@string:join(_pipe, <<" <- "/utf8>>).
diff --git a/aoc2023/build/packages/snag/src/snag.gleam b/aoc2023/build/packages/snag/src/snag.gleam
deleted file mode 100644
index 8d39537..0000000
--- a/aoc2023/build/packages/snag/src/snag.gleam
+++ /dev/null
@@ -1,141 +0,0 @@
-import gleam
-import gleam/string_builder
-import gleam/string
-import gleam/list
-import gleam/int
-
-/// A Snag is a boilerplate-free error type that can be used to track why an
-/// error happened, though does not store as much detail on specific errors as a
-/// custom error type would.
-///
-/// It is useful in code where it must either pass or fail, and when it fails we
-/// want good debugging information to print to the user. i.e. Command line
-/// tools, data processing pipelines, etc.
-///
-/// If it not suited to code where the application needs to make a decision about
-/// what to do in the event of an error, such as whether to give up or to try
-/// again. i.e. Libraries, web application backends, API clients, etc.
-/// In these situations it is recommended to create a custom type for your errors
-/// as it can be pattern matched on and have any additional detail added as
-/// fields.
-pub type Snag {
- Snag(issue: String, cause: List(String))
-}
-
-/// A concise alias for a `Result` that uses a `Snag` as the error value.
-pub type Result(t) =
- gleam.Result(t, Snag)
-
-/// Create a new `Snag` with the given issue text.
-///
-/// See also the `error` function for creating a `Snag` wrapped in a `Result`.
-///
-/// # Example
-///
-/// ```gleam
-/// > new("Not enough credit")
-/// > |> line_print
-/// "error: Not enough credit"
-/// ```
-pub fn new(issue: String) -> Snag {
- Snag(issue: issue, cause: [])
-}
-
-/// Create a new `Snag` wrapped in a `Result` with the given issue text.
-///
-/// # Example
-///
-/// ```gleam
-/// > error("Not enough credit")
-/// Error(new("Not enough credit"))
-/// ```
-pub fn error(issue: String) -> Result(success) {
- Error(new(issue))
-}
-
-/// Add additional contextual information to a `Snag`.
-///
-/// See also the `context` function for adding contextual information to a `Snag`
-/// wrapped in a `Result`.
-///
-/// # Example
-///
-/// ```gleam
-/// > new("Not enough credit")
-/// > |> layer("Unable to make purchase")
-/// > |> line_print
-/// "error: Unable to make purchase <- Not enough credit"
-/// ```
-pub fn layer(snag: Snag, issue: String) -> Snag {
- Snag(issue: issue, cause: [snag.issue, ..snag.cause])
-}
-
-/// Add additional contextual information to a `Snag` wrapped in a `Result`.
-///
-/// # Example
-///
-/// ```gleam
-/// > error("Not enough credit")
-/// > |> context("Unable to make purchase")
-/// > |> result.map_error(line_print)
-/// Error("error: Unable to make purchase <- Not enough credit")
-/// ```
-pub fn context(result: Result(success), issue: String) -> Result(success) {
- case result {
- Ok(_) -> result
- Error(snag) -> Error(layer(snag, issue))
- }
-}
-
-/// Turn a snag into a multi-line string, optimised for readability.
-///
-/// # Example
-///
-/// ```gleam
-/// > new("Not enough credit")
-/// > |> layer("Unable to make purchase")
-/// > |> layer("Character creation failed")
-/// > |> pretty_print
-/// "error: Character creation failed
-///
-/// cause:
-/// 0: Unable to make purchase
-/// 1: Not enough credit
-/// "
-/// ```
-pub fn pretty_print(snag: Snag) -> String {
- let builder = string_builder.from_strings(["error: ", snag.issue, "\n"])
-
- string_builder.to_string(case snag.cause {
- [] -> builder
- cause ->
- builder
- |> string_builder.append("\ncause:\n")
- |> string_builder.append_builder(pretty_print_cause(cause))
- })
-}
-
-fn pretty_print_cause(cause) {
- cause
- |> list.index_map(fn(index, line) {
- string.concat([" ", int.to_string(index), ": ", line, "\n"])
- })
- |> string_builder.from_strings
-}
-
-/// Turn a snag into a single-line string, optimised for compactness. This may be
-/// useful for logging snags.
-///
-/// # Example
-///
-/// ```gleam
-/// > new("Not enough credit")
-/// > |> layer("Unable to make purchase")
-/// > |> layer("Character creation failed")
-/// > |> pretty_print
-/// "error: Character creation failed <- Unable to make purchase <- Not enough credit"
-/// ```
-pub fn line_print(snag: Snag) -> String {
- [string.append("error: ", snag.issue), ..snag.cause]
- |> string.join(" <- ")
-}
diff --git a/aoc2023/build/packages/tom/README.md b/aoc2023/build/packages/tom/README.md
deleted file mode 100644
index e6adcbe..0000000
--- a/aoc2023/build/packages/tom/README.md
+++ /dev/null
@@ -1,47 +0,0 @@
-# tom
-
-A Gleam TOML parser!
-
-[![Package Version](https://img.shields.io/hexpm/v/tom)](https://hex.pm/packages/tom)
-[![Hex Docs](https://img.shields.io/badge/hex-docs-ffaff3)](https://hexdocs.pm/tom/)
-
-
-```sh
-gleam add tom
-```
-```gleam
-import tom
-
-const config = "
- [person]
- name = \"Lucy\"
- is_cool = true
-"
-
-pub fn main() {
- // Parse a string of TOML
- let assert Ok(parsed) = tom.parse(config)
-
- // Now you can work with the data directly, or you can use the `get_*`
- // functions to retrieve values.
-
- tom.get_string(parsed, ["person", "name"])
- // -> Ok("Lucy")
-
- let is_cool = tom.get_bool(parsed, ["person", "is_cool"])
- // -> Ok(True)
-}
-```
-
-Further documentation can be found at <https://hexdocs.pm/tom>.
-
-## Status
-
-The following string escape sequences are not supported yet:
-
-- `\b`
-- `\f`
-- `\e`
-- `\xHH`
-- `\uHHHH`
-- `\UHHHHHHHH`
diff --git a/aoc2023/build/packages/tom/gleam.toml b/aoc2023/build/packages/tom/gleam.toml
deleted file mode 100644
index f131d09..0000000
--- a/aoc2023/build/packages/tom/gleam.toml
+++ /dev/null
@@ -1,13 +0,0 @@
-name = "tom"
-version = "0.2.1"
-
-description = "A pure Gleam TOML parser!"
-licences = ["Apache-2.0"]
-repository = { type = "github", user = "lpil", repo = "tom" }
-links = [{ title = "TOML website", href = "https://toml.io/en/" }]
-
-[dependencies]
-gleam_stdlib = "~> 0.32"
-
-[dev-dependencies]
-gleeunit = "~> 1.0"
diff --git a/aoc2023/build/packages/tom/include/tom_DateTimeValue.hrl b/aoc2023/build/packages/tom/include/tom_DateTimeValue.hrl
deleted file mode 100644
index 3b1e660..0000000
--- a/aoc2023/build/packages/tom/include/tom_DateTimeValue.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(date_time_value, {
- date :: tom:date(),
- time :: tom:time(),
- offset :: tom:offset()
-}).
diff --git a/aoc2023/build/packages/tom/include/tom_DateValue.hrl b/aoc2023/build/packages/tom/include/tom_DateValue.hrl
deleted file mode 100644
index c41f901..0000000
--- a/aoc2023/build/packages/tom/include/tom_DateValue.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(date_value, {year :: integer(), month :: integer(), day :: integer()}).
diff --git a/aoc2023/build/packages/tom/include/tom_KeyAlreadyInUse.hrl b/aoc2023/build/packages/tom/include/tom_KeyAlreadyInUse.hrl
deleted file mode 100644
index 930df26..0000000
--- a/aoc2023/build/packages/tom/include/tom_KeyAlreadyInUse.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(key_already_in_use, {key :: list(binary())}).
diff --git a/aoc2023/build/packages/tom/include/tom_NotFound.hrl b/aoc2023/build/packages/tom/include/tom_NotFound.hrl
deleted file mode 100644
index 19c9a17..0000000
--- a/aoc2023/build/packages/tom/include/tom_NotFound.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(not_found, {key :: list(binary())}).
diff --git a/aoc2023/build/packages/tom/include/tom_Offset.hrl b/aoc2023/build/packages/tom/include/tom_Offset.hrl
deleted file mode 100644
index a58a8e1..0000000
--- a/aoc2023/build/packages/tom/include/tom_Offset.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(offset, {
- direction :: tom:sign(),
- hours :: integer(),
- minutes :: integer()
-}).
diff --git a/aoc2023/build/packages/tom/include/tom_TimeValue.hrl b/aoc2023/build/packages/tom/include/tom_TimeValue.hrl
deleted file mode 100644
index e1275de..0000000
--- a/aoc2023/build/packages/tom/include/tom_TimeValue.hrl
+++ /dev/null
@@ -1,6 +0,0 @@
--record(time_value, {
- hour :: integer(),
- minute :: integer(),
- second :: integer(),
- millisecond :: integer()
-}).
diff --git a/aoc2023/build/packages/tom/include/tom_Unexpected.hrl b/aoc2023/build/packages/tom/include/tom_Unexpected.hrl
deleted file mode 100644
index ab1091c..0000000
--- a/aoc2023/build/packages/tom/include/tom_Unexpected.hrl
+++ /dev/null
@@ -1 +0,0 @@
--record(unexpected, {got :: binary(), expected :: binary()}).
diff --git a/aoc2023/build/packages/tom/include/tom_WrongType.hrl b/aoc2023/build/packages/tom/include/tom_WrongType.hrl
deleted file mode 100644
index ae57352..0000000
--- a/aoc2023/build/packages/tom/include/tom_WrongType.hrl
+++ /dev/null
@@ -1,5 +0,0 @@
--record(wrong_type, {
- key :: list(binary()),
- expected :: binary(),
- got :: binary()
-}).
diff --git a/aoc2023/build/packages/tom/src/tom.app.src b/aoc2023/build/packages/tom/src/tom.app.src
deleted file mode 100644
index 051649c..0000000
--- a/aoc2023/build/packages/tom/src/tom.app.src
+++ /dev/null
@@ -1,8 +0,0 @@
-{application, tom, [
- {vsn, "0.2.1"},
- {applications, [gleam_stdlib,
- gleeunit]},
- {description, "A pure Gleam TOML parser!"},
- {modules, [tom]},
- {registered, []}
-]}.
diff --git a/aoc2023/build/packages/tom/src/tom.erl b/aoc2023/build/packages/tom/src/tom.erl
deleted file mode 100644
index 4f5c071..0000000
--- a/aoc2023/build/packages/tom/src/tom.erl
+++ /dev/null
@@ -1,2140 +0,0 @@
--module(tom).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function]).
-
--export([get/2, get_int/2, get_float/2, get_bool/2, get_string/2, get_date/2, get_time/2, get_date_time/2, get_array/2, get_table/2, get_number/2, parse/1]).
--export_type([toml/0, date_time/0, date/0, time/0, offset/0, sign/0, parse_error/0, number_/0, get_error/0]).
-
--type toml() :: {int, integer()} |
- {float, float()} |
- {infinity, sign()} |
- {nan, sign()} |
- {bool, boolean()} |
- {string, binary()} |
- {date, date()} |
- {time, time()} |
- {date_time, date_time()} |
- {array, list(toml())} |
- {array_of_tables, list(gleam@map:map_(binary(), toml()))} |
- {table, gleam@map:map_(binary(), toml())} |
- {inline_table, gleam@map:map_(binary(), toml())}.
-
--type date_time() :: {date_time_value, date(), time(), offset()}.
-
--type date() :: {date_value, integer(), integer(), integer()}.
-
--type time() :: {time_value, integer(), integer(), integer(), integer()}.
-
--type offset() :: local | {offset, sign(), integer(), integer()}.
-
--type sign() :: positive | negative.
-
--type parse_error() :: {unexpected, binary(), binary()} |
- {key_already_in_use, list(binary())}.
-
--type number_() :: {number_int, integer()} |
- {number_float, float()} |
- {number_infinity, sign()} |
- {number_nan, sign()}.
-
--type get_error() :: {not_found, list(binary())} |
- {wrong_type, list(binary()), binary(), binary()}.
-
--spec classify(toml()) -> binary().
-classify(Toml) ->
- case Toml of
- {int, _} ->
- <<"Int"/utf8>>;
-
- {float, _} ->
- <<"Float"/utf8>>;
-
- {nan, positive} ->
- <<"NaN"/utf8>>;
-
- {nan, negative} ->
- <<"Negative NaN"/utf8>>;
-
- {infinity, positive} ->
- <<"Infinity"/utf8>>;
-
- {infinity, negative} ->
- <<"Negative Infinity"/utf8>>;
-
- {bool, _} ->
- <<"Bool"/utf8>>;
-
- {string, _} ->
- <<"String"/utf8>>;
-
- {date, _} ->
- <<"Date"/utf8>>;
-
- {time, _} ->
- <<"Time"/utf8>>;
-
- {date_time, _} ->
- <<"DateTime"/utf8>>;
-
- {array, _} ->
- <<"Array"/utf8>>;
-
- {array_of_tables, _} ->
- <<"Array"/utf8>>;
-
- {table, _} ->
- <<"Table"/utf8>>;
-
- {inline_table, _} ->
- <<"Table"/utf8>>
- end.
-
--spec push_key({ok, FIU} | {error, get_error()}, binary()) -> {ok, FIU} |
- {error, get_error()}.
-push_key(Result, Key) ->
- case Result of
- {ok, T} ->
- {ok, T};
-
- {error, {not_found, Path}} ->
- {error, {not_found, [Key | Path]}};
-
- {error, {wrong_type, Path@1, Expected, Got}} ->
- {error, {wrong_type, [Key | Path@1], Expected, Got}}
- end.
-
--spec get(gleam@map:map_(binary(), toml()), list(binary())) -> {ok, toml()} |
- {error, get_error()}.
-get(Toml, Key) ->
- case Key of
- [] ->
- {error, {not_found, []}};
-
- [K] ->
- gleam@result:replace_error(gleam@map:get(Toml, K), {not_found, [K]});
-
- [K@1 | Key@1] ->
- case gleam@map:get(Toml, K@1) of
- {ok, {table, T}} ->
- push_key(get(T, Key@1), K@1);
-
- {ok, Other} ->
- {error,
- {wrong_type, [K@1], <<"Table"/utf8>>, classify(Other)}};
-
- {error, _} ->
- {error, {not_found, [K@1]}}
- end
- end.
-
--spec get_int(gleam@map:map_(binary(), toml()), list(binary())) -> {ok,
- integer()} |
- {error, get_error()}.
-get_int(Toml, Key) ->
- case get(Toml, Key) of
- {ok, {int, I}} ->
- {ok, I};
-
- {ok, Other} ->
- {error, {wrong_type, Key, <<"Int"/utf8>>, classify(Other)}};
-
- {error, E} ->
- {error, E}
- end.
-
--spec get_float(gleam@map:map_(binary(), toml()), list(binary())) -> {ok,
- float()} |
- {error, get_error()}.
-get_float(Toml, Key) ->
- case get(Toml, Key) of
- {ok, {float, I}} ->
- {ok, I};
-
- {ok, Other} ->
- {error, {wrong_type, Key, <<"Float"/utf8>>, classify(Other)}};
-
- {error, E} ->
- {error, E}
- end.
-
--spec get_bool(gleam@map:map_(binary(), toml()), list(binary())) -> {ok,
- boolean()} |
- {error, get_error()}.
-get_bool(Toml, Key) ->
- case get(Toml, Key) of
- {ok, {bool, I}} ->
- {ok, I};
-
- {ok, Other} ->
- {error, {wrong_type, Key, <<"Bool"/utf8>>, classify(Other)}};
-
- {error, E} ->
- {error, E}
- end.
-
--spec get_string(gleam@map:map_(binary(), toml()), list(binary())) -> {ok,
- binary()} |
- {error, get_error()}.
-get_string(Toml, Key) ->
- case get(Toml, Key) of
- {ok, {string, I}} ->
- {ok, I};
-
- {ok, Other} ->
- {error, {wrong_type, Key, <<"String"/utf8>>, classify(Other)}};
-
- {error, E} ->
- {error, E}
- end.
-
--spec get_date(gleam@map:map_(binary(), toml()), list(binary())) -> {ok, date()} |
- {error, get_error()}.
-get_date(Toml, Key) ->
- case get(Toml, Key) of
- {ok, {date, I}} ->
- {ok, I};
-
- {ok, Other} ->
- {error, {wrong_type, Key, <<"Date"/utf8>>, classify(Other)}};
-
- {error, E} ->
- {error, E}
- end.
-
--spec get_time(gleam@map:map_(binary(), toml()), list(binary())) -> {ok, time()} |
- {error, get_error()}.
-get_time(Toml, Key) ->
- case get(Toml, Key) of
- {ok, {time, I}} ->
- {ok, I};
-
- {ok, Other} ->
- {error, {wrong_type, Key, <<"Time"/utf8>>, classify(Other)}};
-
- {error, E} ->
- {error, E}
- end.
-
--spec get_date_time(gleam@map:map_(binary(), toml()), list(binary())) -> {ok,
- date_time()} |
- {error, get_error()}.
-get_date_time(Toml, Key) ->
- case get(Toml, Key) of
- {ok, {date_time, I}} ->
- {ok, I};
-
- {ok, Other} ->
- {error, {wrong_type, Key, <<"DateTime"/utf8>>, classify(Other)}};
-
- {error, E} ->
- {error, E}
- end.
-
--spec get_array(gleam@map:map_(binary(), toml()), list(binary())) -> {ok,
- list(toml())} |
- {error, get_error()}.
-get_array(Toml, Key) ->
- case get(Toml, Key) of
- {ok, {array, I}} ->
- {ok, I};
-
- {ok, {array_of_tables, I@1}} ->
- {ok, gleam@list:map(I@1, fun(Field@0) -> {table, Field@0} end)};
-
- {ok, Other} ->
- {error, {wrong_type, Key, <<"Array"/utf8>>, classify(Other)}};
-
- {error, E} ->
- {error, E}
- end.
-
--spec get_table(gleam@map:map_(binary(), toml()), list(binary())) -> {ok,
- gleam@map:map_(binary(), toml())} |
- {error, get_error()}.
-get_table(Toml, Key) ->
- case get(Toml, Key) of
- {ok, {table, I}} ->
- {ok, I};
-
- {ok, {inline_table, I@1}} ->
- {ok, I@1};
-
- {ok, Other} ->
- {error, {wrong_type, Key, <<"Table"/utf8>>, classify(Other)}};
-
- {error, E} ->
- {error, E}
- end.
-
--spec get_number(gleam@map:map_(binary(), toml()), list(binary())) -> {ok,
- number_()} |
- {error, get_error()}.
-get_number(Toml, Key) ->
- case get(Toml, Key) of
- {ok, {int, X}} ->
- {ok, {number_int, X}};
-
- {ok, {float, X@1}} ->
- {ok, {number_float, X@1}};
-
- {ok, {nan, X@2}} ->
- {ok, {number_nan, X@2}};
-
- {ok, {infinity, X@3}} ->
- {ok, {number_infinity, X@3}};
-
- {ok, Other} ->
- {error, {wrong_type, Key, <<"Number"/utf8>>, classify(Other)}};
-
- {error, E} ->
- {error, E}
- end.
-
--spec merge(gleam@map:map_(binary(), toml()), binary(), toml(), toml()) -> {ok,
- gleam@map:map_(binary(), toml())} |
- {error, list(binary())}.
-merge(Table, Key, Old, New) ->
- case {Old, New} of
- {{array_of_tables, Tables}, {array_of_tables, New@1}} ->
- {ok,
- gleam@map:insert(
- Table,
- Key,
- {array_of_tables, gleam@list:append(New@1, Tables)}
- )};
-
- {_, _} ->
- {error, [Key]}
- end.
-
--spec insert_loop(gleam@map:map_(binary(), toml()), list(binary()), toml()) -> {ok,
- gleam@map:map_(binary(), toml())} |
- {error, list(binary())}.
-insert_loop(Table, Key, Value) ->
- case Key of
- [] ->
- erlang:error(#{gleam_error => panic,
- message => <<"unreachable"/utf8>>,
- module => <<"tom"/utf8>>,
- function => <<"insert_loop"/utf8>>,
- line => 511});
-
- [K] ->
- case gleam@map:get(Table, K) of
- {error, nil} ->
- {ok, gleam@map:insert(Table, K, Value)};
-
- {ok, Old} ->
- merge(Table, K, Old, Value)
- end;
-
- [K@1 | Key@1] ->
- case gleam@map:get(Table, K@1) of
- {error, nil} ->
- case insert_loop(gleam@map:new(), Key@1, Value) of
- {ok, Inner} ->
- {ok, gleam@map:insert(Table, K@1, {table, Inner})};
-
- {error, Path} ->
- {error, [K@1 | Path]}
- end;
-
- {ok, {array_of_tables, [Inner@1 | Rest]}} ->
- case insert_loop(Inner@1, Key@1, Value) of
- {ok, Inner@2} ->
- {ok,
- gleam@map:insert(
- Table,
- K@1,
- {array_of_tables, [Inner@2 | Rest]}
- )};
-
- {error, Path@1} ->
- {error, [K@1 | Path@1]}
- end;
-
- {ok, {table, Inner@3}} ->
- case insert_loop(Inner@3, Key@1, Value) of
- {ok, Inner@4} ->
- {ok, gleam@map:insert(Table, K@1, {table, Inner@4})};
-
- {error, Path@2} ->
- {error, [K@1 | Path@2]}
- end;
-
- {ok, _} ->
- {error, [K@1]}
- end
- end.
-
--spec insert(gleam@map:map_(binary(), toml()), list(binary()), toml()) -> {ok,
- gleam@map:map_(binary(), toml())} |
- {error, parse_error()}.
-insert(Table, Key, Value) ->
- case insert_loop(Table, Key, Value) of
- {ok, Table@1} ->
- {ok, Table@1};
-
- {error, Path} ->
- {error, {key_already_in_use, Path}}
- end.
-
--spec expect_end_of_line(
- list(binary()),
- fun((list(binary())) -> {ok, {FKZ, list(binary())}} | {error, parse_error()})
-) -> {ok, {FKZ, list(binary())}} | {error, parse_error()}.
-expect_end_of_line(Input, Next) ->
- case Input of
- [<<"\n"/utf8>> | Input@1] ->
- Next(Input@1);
-
- [<<"\r\n"/utf8>> | Input@2] ->
- Next(Input@2);
-
- [G | _] ->
- {error, {unexpected, G, <<"\n"/utf8>>}};
-
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, <<"\n"/utf8>>}}
- end.
-
--spec parse_key_quoted(list(binary()), binary(), binary()) -> {ok,
- {binary(), list(binary())}} |
- {error, parse_error()}.
-parse_key_quoted(Input, Close, Name) ->
- case Input of
- [G | Input@1] when G =:= Close ->
- {ok, {Name, Input@1}};
-
- [G@1 | Input@2] ->
- parse_key_quoted(Input@2, Close, <<Name/binary, G@1/binary>>);
-
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, Close}}
- end.
-
--spec parse_key_bare(list(binary()), binary()) -> {ok,
- {binary(), list(binary())}} |
- {error, parse_error()}.
-parse_key_bare(Input, Name) ->
- case Input of
- [<<" "/utf8>> | Input@1] when Name =/= <<""/utf8>> ->
- {ok, {Name, Input@1}};
-
- [<<"="/utf8>> | _] when Name =/= <<""/utf8>> ->
- {ok, {Name, Input}};
-
- [<<"."/utf8>> | _] when Name =/= <<""/utf8>> ->
- {ok, {Name, Input}};
-
- [<<"]"/utf8>> | _] when Name =/= <<""/utf8>> ->
- {ok, {Name, Input}};
-
- [<<","/utf8>> | _] when Name =/= <<""/utf8>> ->
- {error, {unexpected, <<","/utf8>>, <<"="/utf8>>}};
-
- [<<"\n"/utf8>> | _] when Name =/= <<""/utf8>> ->
- {error, {unexpected, <<"\n"/utf8>>, <<"="/utf8>>}};
-
- [<<"\r\n"/utf8>> | _] when Name =/= <<""/utf8>> ->
- {error, {unexpected, <<"\r\n"/utf8>>, <<"="/utf8>>}};
-
- [<<"\n"/utf8>> | _] ->
- {error, {unexpected, <<"\n"/utf8>>, <<"key"/utf8>>}};
-
- [<<"\r\n"/utf8>> | _] ->
- {error, {unexpected, <<"\r\n"/utf8>>, <<"key"/utf8>>}};
-
- [<<"]"/utf8>> | _] ->
- {error, {unexpected, <<"]"/utf8>>, <<"key"/utf8>>}};
-
- [<<","/utf8>> | _] ->
- {error, {unexpected, <<","/utf8>>, <<"key"/utf8>>}};
-
- [G | Input@2] ->
- parse_key_bare(Input@2, <<Name/binary, G/binary>>);
-
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, <<"key"/utf8>>}}
- end.
-
--spec skip_line_whitespace(list(binary())) -> list(binary()).
-skip_line_whitespace(Input) ->
- gleam@list:drop_while(
- Input,
- fun(G) -> (G =:= <<" "/utf8>>) orelse (G =:= <<"\t"/utf8>>) end
- ).
-
--spec parse_key_segment(list(binary())) -> {ok, {binary(), list(binary())}} |
- {error, parse_error()}.
-parse_key_segment(Input) ->
- Input@1 = skip_line_whitespace(Input),
- case Input@1 of
- [<<"="/utf8>> | _] ->
- {error, {unexpected, <<"="/utf8>>, <<"Key"/utf8>>}};
-
- [<<"\n"/utf8>> | _] ->
- {error, {unexpected, <<"\n"/utf8>>, <<"Key"/utf8>>}};
-
- [<<"\r\n"/utf8>> | _] ->
- {error, {unexpected, <<"\r\n"/utf8>>, <<"Key"/utf8>>}};
-
- [<<"["/utf8>> | _] ->
- {error, {unexpected, <<"["/utf8>>, <<"Key"/utf8>>}};
-
- [<<"\""/utf8>> | Input@2] ->
- parse_key_quoted(Input@2, <<"\""/utf8>>, <<""/utf8>>);
-
- [<<"'"/utf8>> | Input@3] ->
- parse_key_quoted(Input@3, <<"'"/utf8>>, <<""/utf8>>);
-
- _ ->
- parse_key_bare(Input@1, <<""/utf8>>)
- end.
-
--spec skip_whitespace(list(binary())) -> list(binary()).
-skip_whitespace(Input) ->
- case Input of
- [<<" "/utf8>> | Input@1] ->
- skip_whitespace(Input@1);
-
- [<<"\t"/utf8>> | Input@2] ->
- skip_whitespace(Input@2);
-
- [<<"\n"/utf8>> | Input@3] ->
- skip_whitespace(Input@3);
-
- [<<"\r\n"/utf8>> | Input@4] ->
- skip_whitespace(Input@4);
-
- Input@5 ->
- Input@5
- end.
-
--spec drop_comments(list(binary()), list(binary())) -> list(binary()).
-drop_comments(Input, Acc) ->
- case Input of
- [<<"#"/utf8>> | Input@1] ->
- _pipe = Input@1,
- _pipe@1 = gleam@list:drop_while(
- _pipe,
- fun(G) -> G /= <<"\n"/utf8>> end
- ),
- drop_comments(_pipe@1, Acc);
-
- [G@1 | Input@2] ->
- drop_comments(Input@2, [G@1 | Acc]);
-
- [] ->
- gleam@list:reverse(Acc)
- end.
-
--spec do(
- {ok, {FLK, list(binary())}} | {error, parse_error()},
- fun((FLK, list(binary())) -> {ok, FLN} | {error, parse_error()})
-) -> {ok, FLN} | {error, parse_error()}.
-do(Result, Next) ->
- case Result of
- {ok, {A, Input}} ->
- Next(A, Input);
-
- {error, E} ->
- {error, E}
- end.
-
--spec parse_key(list(binary()), list(binary())) -> {ok,
- {list(binary()), list(binary())}} |
- {error, parse_error()}.
-parse_key(Input, Segments) ->
- do(
- parse_key_segment(Input),
- fun(Segment, Input@1) ->
- Segments@1 = [Segment | Segments],
- Input@2 = skip_line_whitespace(Input@1),
- case Input@2 of
- [<<"."/utf8>> | Input@3] ->
- parse_key(Input@3, Segments@1);
-
- _ ->
- {ok, {gleam@list:reverse(Segments@1), Input@2}}
- end
- end
- ).
-
--spec expect(
- list(binary()),
- binary(),
- fun((list(binary())) -> {ok, {FLS, list(binary())}} | {error, parse_error()})
-) -> {ok, {FLS, list(binary())}} | {error, parse_error()}.
-expect(Input, Expected, Next) ->
- case Input of
- [G | Input@1] when G =:= Expected ->
- Next(Input@1);
-
- [G@1 | _] ->
- {error, {unexpected, G@1, Expected}};
-
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, Expected}}
- end.
-
--spec parse_table_header(list(binary())) -> {ok,
- {list(binary()), list(binary())}} |
- {error, parse_error()}.
-parse_table_header(Input) ->
- Input@1 = skip_line_whitespace(Input),
- do(
- parse_key(Input@1, []),
- fun(Key, Input@2) ->
- expect(
- Input@2,
- <<"]"/utf8>>,
- fun(Input@3) ->
- Input@4 = skip_line_whitespace(Input@3),
- expect_end_of_line(
- Input@4,
- fun(Input@5) -> {ok, {Key, Input@5}} end
- )
- end
- )
- end
- ).
-
--spec parse_hex(list(binary()), integer(), sign()) -> {ok,
- {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_hex(Input, Number, Sign) ->
- case Input of
- [<<"_"/utf8>> | Input@1] ->
- parse_hex(Input@1, Number, Sign);
-
- [<<"0"/utf8>> | Input@2] ->
- parse_hex(Input@2, (Number * 16) + 0, Sign);
-
- [<<"1"/utf8>> | Input@3] ->
- parse_hex(Input@3, (Number * 16) + 1, Sign);
-
- [<<"2"/utf8>> | Input@4] ->
- parse_hex(Input@4, (Number * 16) + 2, Sign);
-
- [<<"3"/utf8>> | Input@5] ->
- parse_hex(Input@5, (Number * 16) + 3, Sign);
-
- [<<"4"/utf8>> | Input@6] ->
- parse_hex(Input@6, (Number * 16) + 4, Sign);
-
- [<<"5"/utf8>> | Input@7] ->
- parse_hex(Input@7, (Number * 16) + 5, Sign);
-
- [<<"6"/utf8>> | Input@8] ->
- parse_hex(Input@8, (Number * 16) + 6, Sign);
-
- [<<"7"/utf8>> | Input@9] ->
- parse_hex(Input@9, (Number * 16) + 7, Sign);
-
- [<<"8"/utf8>> | Input@10] ->
- parse_hex(Input@10, (Number * 16) + 8, Sign);
-
- [<<"9"/utf8>> | Input@11] ->
- parse_hex(Input@11, (Number * 16) + 9, Sign);
-
- [<<"a"/utf8>> | Input@12] ->
- parse_hex(Input@12, (Number * 16) + 10, Sign);
-
- [<<"b"/utf8>> | Input@13] ->
- parse_hex(Input@13, (Number * 16) + 11, Sign);
-
- [<<"c"/utf8>> | Input@14] ->
- parse_hex(Input@14, (Number * 16) + 12, Sign);
-
- [<<"d"/utf8>> | Input@15] ->
- parse_hex(Input@15, (Number * 16) + 13, Sign);
-
- [<<"e"/utf8>> | Input@16] ->
- parse_hex(Input@16, (Number * 16) + 14, Sign);
-
- [<<"f"/utf8>> | Input@17] ->
- parse_hex(Input@17, (Number * 16) + 15, Sign);
-
- [<<"A"/utf8>> | Input@18] ->
- parse_hex(Input@18, (Number * 16) + 10, Sign);
-
- [<<"B"/utf8>> | Input@19] ->
- parse_hex(Input@19, (Number * 16) + 11, Sign);
-
- [<<"C"/utf8>> | Input@20] ->
- parse_hex(Input@20, (Number * 16) + 12, Sign);
-
- [<<"D"/utf8>> | Input@21] ->
- parse_hex(Input@21, (Number * 16) + 13, Sign);
-
- [<<"E"/utf8>> | Input@22] ->
- parse_hex(Input@22, (Number * 16) + 14, Sign);
-
- [<<"F"/utf8>> | Input@23] ->
- parse_hex(Input@23, (Number * 16) + 15, Sign);
-
- Input@24 ->
- Number@1 = case Sign of
- positive ->
- Number;
-
- negative ->
- - Number
- end,
- {ok, {{int, Number@1}, Input@24}}
- end.
-
--spec parse_octal(list(binary()), integer(), sign()) -> {ok,
- {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_octal(Input, Number, Sign) ->
- case Input of
- [<<"_"/utf8>> | Input@1] ->
- parse_octal(Input@1, Number, Sign);
-
- [<<"0"/utf8>> | Input@2] ->
- parse_octal(Input@2, (Number * 8) + 0, Sign);
-
- [<<"1"/utf8>> | Input@3] ->
- parse_octal(Input@3, (Number * 8) + 1, Sign);
-
- [<<"2"/utf8>> | Input@4] ->
- parse_octal(Input@4, (Number * 8) + 2, Sign);
-
- [<<"3"/utf8>> | Input@5] ->
- parse_octal(Input@5, (Number * 8) + 3, Sign);
-
- [<<"4"/utf8>> | Input@6] ->
- parse_octal(Input@6, (Number * 8) + 4, Sign);
-
- [<<"5"/utf8>> | Input@7] ->
- parse_octal(Input@7, (Number * 8) + 5, Sign);
-
- [<<"6"/utf8>> | Input@8] ->
- parse_octal(Input@8, (Number * 8) + 6, Sign);
-
- [<<"7"/utf8>> | Input@9] ->
- parse_octal(Input@9, (Number * 8) + 7, Sign);
-
- Input@10 ->
- Number@1 = case Sign of
- positive ->
- Number;
-
- negative ->
- - Number
- end,
- {ok, {{int, Number@1}, Input@10}}
- end.
-
--spec parse_binary(list(binary()), integer(), sign()) -> {ok,
- {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_binary(Input, Number, Sign) ->
- case Input of
- [<<"_"/utf8>> | Input@1] ->
- parse_binary(Input@1, Number, Sign);
-
- [<<"0"/utf8>> | Input@2] ->
- parse_binary(Input@2, (Number * 2) + 0, Sign);
-
- [<<"1"/utf8>> | Input@3] ->
- parse_binary(Input@3, (Number * 2) + 1, Sign);
-
- Input@4 ->
- Number@1 = case Sign of
- positive ->
- Number;
-
- negative ->
- - Number
- end,
- {ok, {{int, Number@1}, Input@4}}
- end.
-
--spec parse_exponent(list(binary()), float(), sign(), integer(), sign()) -> {ok,
- {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_exponent(Input, N, N_sign, Ex, Ex_sign) ->
- case Input of
- [<<"_"/utf8>> | Input@1] ->
- parse_exponent(Input@1, N, N_sign, Ex, Ex_sign);
-
- [<<"0"/utf8>> | Input@2] ->
- parse_exponent(Input@2, N, N_sign, Ex * 10, Ex_sign);
-
- [<<"1"/utf8>> | Input@3] ->
- parse_exponent(Input@3, N, N_sign, (Ex * 10) + 1, Ex_sign);
-
- [<<"2"/utf8>> | Input@4] ->
- parse_exponent(Input@4, N, N_sign, (Ex * 10) + 2, Ex_sign);
-
- [<<"3"/utf8>> | Input@5] ->
- parse_exponent(Input@5, N, N_sign, (Ex * 10) + 3, Ex_sign);
-
- [<<"4"/utf8>> | Input@6] ->
- parse_exponent(Input@6, N, N_sign, (Ex * 10) + 4, Ex_sign);
-
- [<<"5"/utf8>> | Input@7] ->
- parse_exponent(Input@7, N, N_sign, (Ex * 10) + 5, Ex_sign);
-
- [<<"6"/utf8>> | Input@8] ->
- parse_exponent(Input@8, N, N_sign, (Ex * 10) + 6, Ex_sign);
-
- [<<"7"/utf8>> | Input@9] ->
- parse_exponent(Input@9, N, N_sign, (Ex * 10) + 7, Ex_sign);
-
- [<<"8"/utf8>> | Input@10] ->
- parse_exponent(Input@10, N, N_sign, (Ex * 10) + 8, Ex_sign);
-
- [<<"9"/utf8>> | Input@11] ->
- parse_exponent(Input@11, N, N_sign, (Ex * 10) + 9, Ex_sign);
-
- Input@12 ->
- Number = case N_sign of
- positive ->
- N;
-
- negative ->
- N * -1.0
- end,
- Exponent = gleam@int:to_float(case Ex_sign of
- positive ->
- Ex;
-
- negative ->
- - Ex
- end),
- Multiplier@1 = case gleam@float:power(10.0, Exponent) of
- {ok, Multiplier} ->
- Multiplier;
-
- {error, _} ->
- 1.0
- end,
- {ok, {{float, Number * Multiplier@1}, Input@12}}
- end.
-
--spec parse_float(list(binary()), float(), sign(), float()) -> {ok,
- {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_float(Input, Number, Sign, Unit) ->
- case Input of
- [<<"_"/utf8>> | Input@1] ->
- parse_float(Input@1, Number, Sign, Unit);
-
- [<<"0"/utf8>> | Input@2] ->
- parse_float(Input@2, Number, Sign, Unit * 0.1);
-
- [<<"1"/utf8>> | Input@3] ->
- parse_float(Input@3, Number + (1.0 * Unit), Sign, Unit * 0.1);
-
- [<<"2"/utf8>> | Input@4] ->
- parse_float(Input@4, Number + (2.0 * Unit), Sign, Unit * 0.1);
-
- [<<"3"/utf8>> | Input@5] ->
- parse_float(Input@5, Number + (3.0 * Unit), Sign, Unit * 0.1);
-
- [<<"4"/utf8>> | Input@6] ->
- parse_float(Input@6, Number + (4.0 * Unit), Sign, Unit * 0.1);
-
- [<<"5"/utf8>> | Input@7] ->
- parse_float(Input@7, Number + (5.0 * Unit), Sign, Unit * 0.1);
-
- [<<"6"/utf8>> | Input@8] ->
- parse_float(Input@8, Number + (6.0 * Unit), Sign, Unit * 0.1);
-
- [<<"7"/utf8>> | Input@9] ->
- parse_float(Input@9, Number + (7.0 * Unit), Sign, Unit * 0.1);
-
- [<<"8"/utf8>> | Input@10] ->
- parse_float(Input@10, Number + (8.0 * Unit), Sign, Unit * 0.1);
-
- [<<"9"/utf8>> | Input@11] ->
- parse_float(Input@11, Number + (9.0 * Unit), Sign, Unit * 0.1);
-
- [<<"e"/utf8>>, <<"+"/utf8>> | Input@12] ->
- parse_exponent(Input@12, Number, Sign, 0, positive);
-
- [<<"e"/utf8>>, <<"-"/utf8>> | Input@13] ->
- parse_exponent(Input@13, Number, Sign, 0, negative);
-
- [<<"e"/utf8>> | Input@14] ->
- parse_exponent(Input@14, Number, Sign, 0, positive);
-
- [<<"E"/utf8>>, <<"+"/utf8>> | Input@15] ->
- parse_exponent(Input@15, Number, Sign, 0, positive);
-
- [<<"E"/utf8>>, <<"-"/utf8>> | Input@16] ->
- parse_exponent(Input@16, Number, Sign, 0, negative);
-
- [<<"E"/utf8>> | Input@17] ->
- parse_exponent(Input@17, Number, Sign, 0, positive);
-
- Input@18 ->
- Number@1 = case Sign of
- positive ->
- Number;
-
- negative ->
- Number * -1.0
- end,
- {ok, {{float, Number@1}, Input@18}}
- end.
-
--spec parse_string(list(binary()), binary()) -> {ok, {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_string(Input, String) ->
- case Input of
- [<<"\""/utf8>> | Input@1] ->
- {ok, {{string, String}, Input@1}};
-
- [<<"\\"/utf8>>, <<"t"/utf8>> | Input@2] ->
- parse_string(Input@2, <<String/binary, "\t"/utf8>>);
-
- [<<"\\"/utf8>>, <<"n"/utf8>> | Input@3] ->
- parse_string(Input@3, <<String/binary, "\n"/utf8>>);
-
- [<<"\\"/utf8>>, <<"r"/utf8>> | Input@4] ->
- parse_string(Input@4, <<String/binary, "\r"/utf8>>);
-
- [<<"\\"/utf8>>, <<"\""/utf8>> | Input@5] ->
- parse_string(Input@5, <<String/binary, "\""/utf8>>);
-
- [<<"\\"/utf8>>, <<"\\"/utf8>> | Input@6] ->
- parse_string(Input@6, <<String/binary, "\\"/utf8>>);
-
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, <<"\""/utf8>>}};
-
- [<<"\n"/utf8>> | _] ->
- {error, {unexpected, <<"\n"/utf8>>, <<"\""/utf8>>}};
-
- [<<"\r\n"/utf8>> | _] ->
- {error, {unexpected, <<"\r\n"/utf8>>, <<"\""/utf8>>}};
-
- [G | Input@7] ->
- parse_string(Input@7, <<String/binary, G/binary>>)
- end.
-
--spec parse_multi_line_string(list(binary()), binary()) -> {ok,
- {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_multi_line_string(Input, String) ->
- case Input of
- [<<"\""/utf8>>, <<"\""/utf8>>, <<"\""/utf8>> | Input@1] ->
- {ok, {{string, String}, Input@1}};
-
- [<<"\\"/utf8>>, <<"\n"/utf8>> | Input@2] ->
- parse_multi_line_string(skip_whitespace(Input@2), String);
-
- [<<"\\"/utf8>>, <<"\r\n"/utf8>> | Input@3] ->
- parse_multi_line_string(skip_whitespace(Input@3), String);
-
- [<<"\r\n"/utf8>> | Input@4] when String =:= <<""/utf8>> ->
- parse_multi_line_string(Input@4, String);
-
- [<<"\n"/utf8>> | Input@5] when String =:= <<""/utf8>> ->
- parse_multi_line_string(Input@5, String);
-
- [<<"\r\n"/utf8>> | Input@6] when String =:= <<""/utf8>> ->
- parse_multi_line_string(Input@6, String);
-
- [<<"\\"/utf8>>, <<"t"/utf8>> | Input@7] ->
- parse_multi_line_string(Input@7, <<String/binary, "\t"/utf8>>);
-
- [<<"\\"/utf8>>, <<"n"/utf8>> | Input@8] ->
- parse_multi_line_string(Input@8, <<String/binary, "\n"/utf8>>);
-
- [<<"\\"/utf8>>, <<"r"/utf8>> | Input@9] ->
- parse_multi_line_string(Input@9, <<String/binary, "\r"/utf8>>);
-
- [<<"\\"/utf8>>, <<"\""/utf8>> | Input@10] ->
- parse_multi_line_string(Input@10, <<String/binary, "\""/utf8>>);
-
- [<<"\\"/utf8>>, <<"\\"/utf8>> | Input@11] ->
- parse_multi_line_string(Input@11, <<String/binary, "\\"/utf8>>);
-
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, <<"\""/utf8>>}};
-
- [G | Input@12] ->
- parse_multi_line_string(Input@12, <<String/binary, G/binary>>)
- end.
-
--spec parse_multi_line_literal_string(list(binary()), binary()) -> {ok,
- {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_multi_line_literal_string(Input, String) ->
- case Input of
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, <<"\""/utf8>>}};
-
- [<<"'"/utf8>>, <<"'"/utf8>>, <<"'"/utf8>>, <<"'"/utf8>> | _] ->
- {error, {unexpected, <<"''''"/utf8>>, <<"'''"/utf8>>}};
-
- [<<"'"/utf8>>, <<"'"/utf8>>, <<"'"/utf8>> | Input@1] ->
- {ok, {{string, String}, Input@1}};
-
- [<<"\n"/utf8>> | Input@2] when String =:= <<""/utf8>> ->
- parse_multi_line_literal_string(Input@2, String);
-
- [<<"\r\n"/utf8>> | Input@3] when String =:= <<""/utf8>> ->
- parse_multi_line_literal_string(Input@3, String);
-
- [G | Input@4] ->
- parse_multi_line_literal_string(
- Input@4,
- <<String/binary, G/binary>>
- )
- end.
-
--spec parse_literal_string(list(binary()), binary()) -> {ok,
- {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_literal_string(Input, String) ->
- case Input of
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, <<"\""/utf8>>}};
-
- [<<"\n"/utf8>> | _] ->
- {error, {unexpected, <<"\n"/utf8>>, <<"'"/utf8>>}};
-
- [<<"\r\n"/utf8>> | _] ->
- {error, {unexpected, <<"\r\n"/utf8>>, <<"'"/utf8>>}};
-
- [<<"'"/utf8>> | Input@1] ->
- {ok, {{string, String}, Input@1}};
-
- [G | Input@2] ->
- parse_literal_string(Input@2, <<String/binary, G/binary>>)
- end.
-
--spec parse_time_ms(list(binary()), integer(), integer()) -> {ok,
- {{integer(), integer()}, list(binary())}} |
- {error, parse_error()}.
-parse_time_ms(Input, Seconds, Ms) ->
- case Input of
- [<<"0"/utf8>> | Input@1] when Ms < 100000 ->
- parse_time_ms(Input@1, Seconds, (Ms * 10) + 0);
-
- [<<"1"/utf8>> | Input@2] when Ms < 100000 ->
- parse_time_ms(Input@2, Seconds, (Ms * 10) + 1);
-
- [<<"2"/utf8>> | Input@3] when Ms < 100000 ->
- parse_time_ms(Input@3, Seconds, (Ms * 10) + 2);
-
- [<<"3"/utf8>> | Input@4] when Ms < 100000 ->
- parse_time_ms(Input@4, Seconds, (Ms * 10) + 3);
-
- [<<"4"/utf8>> | Input@5] when Ms < 100000 ->
- parse_time_ms(Input@5, Seconds, (Ms * 10) + 4);
-
- [<<"5"/utf8>> | Input@6] when Ms < 100000 ->
- parse_time_ms(Input@6, Seconds, (Ms * 10) + 5);
-
- [<<"6"/utf8>> | Input@7] when Ms < 100000 ->
- parse_time_ms(Input@7, Seconds, (Ms * 10) + 6);
-
- [<<"7"/utf8>> | Input@8] when Ms < 100000 ->
- parse_time_ms(Input@8, Seconds, (Ms * 10) + 7);
-
- [<<"8"/utf8>> | Input@9] when Ms < 100000 ->
- parse_time_ms(Input@9, Seconds, (Ms * 10) + 8);
-
- [<<"9"/utf8>> | Input@10] when Ms < 100000 ->
- parse_time_ms(Input@10, Seconds, (Ms * 10) + 9);
-
- _ ->
- {ok, {{Seconds, Ms}, Input}}
- end.
-
--spec parse_number_under_60(list(binary()), binary()) -> {ok,
- {integer(), list(binary())}} |
- {error, parse_error()}.
-parse_number_under_60(Input, Expected) ->
- case Input of
- [<<"0"/utf8>>, <<"0"/utf8>> | Input@1] ->
- {ok, {0, Input@1}};
-
- [<<"0"/utf8>>, <<"1"/utf8>> | Input@2] ->
- {ok, {1, Input@2}};
-
- [<<"0"/utf8>>, <<"2"/utf8>> | Input@3] ->
- {ok, {2, Input@3}};
-
- [<<"0"/utf8>>, <<"3"/utf8>> | Input@4] ->
- {ok, {3, Input@4}};
-
- [<<"0"/utf8>>, <<"4"/utf8>> | Input@5] ->
- {ok, {4, Input@5}};
-
- [<<"0"/utf8>>, <<"5"/utf8>> | Input@6] ->
- {ok, {5, Input@6}};
-
- [<<"0"/utf8>>, <<"6"/utf8>> | Input@7] ->
- {ok, {6, Input@7}};
-
- [<<"0"/utf8>>, <<"7"/utf8>> | Input@8] ->
- {ok, {7, Input@8}};
-
- [<<"0"/utf8>>, <<"8"/utf8>> | Input@9] ->
- {ok, {8, Input@9}};
-
- [<<"0"/utf8>>, <<"9"/utf8>> | Input@10] ->
- {ok, {9, Input@10}};
-
- [<<"1"/utf8>>, <<"0"/utf8>> | Input@11] ->
- {ok, {10, Input@11}};
-
- [<<"1"/utf8>>, <<"1"/utf8>> | Input@12] ->
- {ok, {11, Input@12}};
-
- [<<"1"/utf8>>, <<"2"/utf8>> | Input@13] ->
- {ok, {12, Input@13}};
-
- [<<"1"/utf8>>, <<"3"/utf8>> | Input@14] ->
- {ok, {13, Input@14}};
-
- [<<"1"/utf8>>, <<"4"/utf8>> | Input@15] ->
- {ok, {14, Input@15}};
-
- [<<"1"/utf8>>, <<"5"/utf8>> | Input@16] ->
- {ok, {15, Input@16}};
-
- [<<"1"/utf8>>, <<"6"/utf8>> | Input@17] ->
- {ok, {16, Input@17}};
-
- [<<"1"/utf8>>, <<"7"/utf8>> | Input@18] ->
- {ok, {17, Input@18}};
-
- [<<"1"/utf8>>, <<"8"/utf8>> | Input@19] ->
- {ok, {18, Input@19}};
-
- [<<"1"/utf8>>, <<"9"/utf8>> | Input@20] ->
- {ok, {19, Input@20}};
-
- [<<"2"/utf8>>, <<"0"/utf8>> | Input@21] ->
- {ok, {20, Input@21}};
-
- [<<"2"/utf8>>, <<"1"/utf8>> | Input@22] ->
- {ok, {21, Input@22}};
-
- [<<"2"/utf8>>, <<"2"/utf8>> | Input@23] ->
- {ok, {22, Input@23}};
-
- [<<"2"/utf8>>, <<"3"/utf8>> | Input@24] ->
- {ok, {23, Input@24}};
-
- [<<"2"/utf8>>, <<"4"/utf8>> | Input@25] ->
- {ok, {24, Input@25}};
-
- [<<"2"/utf8>>, <<"5"/utf8>> | Input@26] ->
- {ok, {25, Input@26}};
-
- [<<"2"/utf8>>, <<"6"/utf8>> | Input@27] ->
- {ok, {26, Input@27}};
-
- [<<"2"/utf8>>, <<"7"/utf8>> | Input@28] ->
- {ok, {27, Input@28}};
-
- [<<"2"/utf8>>, <<"8"/utf8>> | Input@29] ->
- {ok, {28, Input@29}};
-
- [<<"2"/utf8>>, <<"9"/utf8>> | Input@30] ->
- {ok, {29, Input@30}};
-
- [<<"3"/utf8>>, <<"0"/utf8>> | Input@31] ->
- {ok, {30, Input@31}};
-
- [<<"3"/utf8>>, <<"1"/utf8>> | Input@32] ->
- {ok, {31, Input@32}};
-
- [<<"3"/utf8>>, <<"2"/utf8>> | Input@33] ->
- {ok, {32, Input@33}};
-
- [<<"3"/utf8>>, <<"3"/utf8>> | Input@34] ->
- {ok, {33, Input@34}};
-
- [<<"3"/utf8>>, <<"4"/utf8>> | Input@35] ->
- {ok, {34, Input@35}};
-
- [<<"3"/utf8>>, <<"5"/utf8>> | Input@36] ->
- {ok, {35, Input@36}};
-
- [<<"3"/utf8>>, <<"6"/utf8>> | Input@37] ->
- {ok, {36, Input@37}};
-
- [<<"3"/utf8>>, <<"7"/utf8>> | Input@38] ->
- {ok, {37, Input@38}};
-
- [<<"3"/utf8>>, <<"8"/utf8>> | Input@39] ->
- {ok, {38, Input@39}};
-
- [<<"3"/utf8>>, <<"9"/utf8>> | Input@40] ->
- {ok, {39, Input@40}};
-
- [<<"4"/utf8>>, <<"0"/utf8>> | Input@41] ->
- {ok, {40, Input@41}};
-
- [<<"4"/utf8>>, <<"1"/utf8>> | Input@42] ->
- {ok, {41, Input@42}};
-
- [<<"4"/utf8>>, <<"2"/utf8>> | Input@43] ->
- {ok, {42, Input@43}};
-
- [<<"4"/utf8>>, <<"3"/utf8>> | Input@44] ->
- {ok, {43, Input@44}};
-
- [<<"4"/utf8>>, <<"4"/utf8>> | Input@45] ->
- {ok, {44, Input@45}};
-
- [<<"4"/utf8>>, <<"5"/utf8>> | Input@46] ->
- {ok, {45, Input@46}};
-
- [<<"4"/utf8>>, <<"6"/utf8>> | Input@47] ->
- {ok, {46, Input@47}};
-
- [<<"4"/utf8>>, <<"7"/utf8>> | Input@48] ->
- {ok, {47, Input@48}};
-
- [<<"4"/utf8>>, <<"8"/utf8>> | Input@49] ->
- {ok, {48, Input@49}};
-
- [<<"4"/utf8>>, <<"9"/utf8>> | Input@50] ->
- {ok, {49, Input@50}};
-
- [<<"5"/utf8>>, <<"0"/utf8>> | Input@51] ->
- {ok, {50, Input@51}};
-
- [<<"5"/utf8>>, <<"1"/utf8>> | Input@52] ->
- {ok, {51, Input@52}};
-
- [<<"5"/utf8>>, <<"2"/utf8>> | Input@53] ->
- {ok, {52, Input@53}};
-
- [<<"5"/utf8>>, <<"3"/utf8>> | Input@54] ->
- {ok, {53, Input@54}};
-
- [<<"5"/utf8>>, <<"4"/utf8>> | Input@55] ->
- {ok, {54, Input@55}};
-
- [<<"5"/utf8>>, <<"5"/utf8>> | Input@56] ->
- {ok, {55, Input@56}};
-
- [<<"5"/utf8>>, <<"6"/utf8>> | Input@57] ->
- {ok, {56, Input@57}};
-
- [<<"5"/utf8>>, <<"7"/utf8>> | Input@58] ->
- {ok, {57, Input@58}};
-
- [<<"5"/utf8>>, <<"8"/utf8>> | Input@59] ->
- {ok, {58, Input@59}};
-
- [<<"5"/utf8>>, <<"9"/utf8>> | Input@60] ->
- {ok, {59, Input@60}};
-
- [G | _] ->
- {error, {unexpected, G, Expected}};
-
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, Expected}}
- end.
-
--spec parse_hour_minute(list(binary())) -> {ok,
- {{integer(), integer()}, list(binary())}} |
- {error, parse_error()}.
-parse_hour_minute(Input) ->
- do(case Input of
- [<<"0"/utf8>>, <<"0"/utf8>>, <<":"/utf8>> | Input@1] ->
- {ok, {0, Input@1}};
-
- [<<"0"/utf8>>, <<"1"/utf8>>, <<":"/utf8>> | Input@2] ->
- {ok, {1, Input@2}};
-
- [<<"0"/utf8>>, <<"2"/utf8>>, <<":"/utf8>> | Input@3] ->
- {ok, {2, Input@3}};
-
- [<<"0"/utf8>>, <<"3"/utf8>>, <<":"/utf8>> | Input@4] ->
- {ok, {3, Input@4}};
-
- [<<"0"/utf8>>, <<"4"/utf8>>, <<":"/utf8>> | Input@5] ->
- {ok, {4, Input@5}};
-
- [<<"0"/utf8>>, <<"5"/utf8>>, <<":"/utf8>> | Input@6] ->
- {ok, {5, Input@6}};
-
- [<<"0"/utf8>>, <<"6"/utf8>>, <<":"/utf8>> | Input@7] ->
- {ok, {6, Input@7}};
-
- [<<"0"/utf8>>, <<"7"/utf8>>, <<":"/utf8>> | Input@8] ->
- {ok, {7, Input@8}};
-
- [<<"0"/utf8>>, <<"8"/utf8>>, <<":"/utf8>> | Input@9] ->
- {ok, {8, Input@9}};
-
- [<<"0"/utf8>>, <<"9"/utf8>>, <<":"/utf8>> | Input@10] ->
- {ok, {9, Input@10}};
-
- [<<"1"/utf8>>, <<"0"/utf8>>, <<":"/utf8>> | Input@11] ->
- {ok, {10, Input@11}};
-
- [<<"1"/utf8>>, <<"1"/utf8>>, <<":"/utf8>> | Input@12] ->
- {ok, {11, Input@12}};
-
- [<<"1"/utf8>>, <<"2"/utf8>>, <<":"/utf8>> | Input@13] ->
- {ok, {12, Input@13}};
-
- [<<"1"/utf8>>, <<"3"/utf8>>, <<":"/utf8>> | Input@14] ->
- {ok, {13, Input@14}};
-
- [<<"1"/utf8>>, <<"4"/utf8>>, <<":"/utf8>> | Input@15] ->
- {ok, {14, Input@15}};
-
- [<<"1"/utf8>>, <<"5"/utf8>>, <<":"/utf8>> | Input@16] ->
- {ok, {15, Input@16}};
-
- [<<"1"/utf8>>, <<"6"/utf8>>, <<":"/utf8>> | Input@17] ->
- {ok, {16, Input@17}};
-
- [<<"1"/utf8>>, <<"7"/utf8>>, <<":"/utf8>> | Input@18] ->
- {ok, {17, Input@18}};
-
- [<<"1"/utf8>>, <<"8"/utf8>>, <<":"/utf8>> | Input@19] ->
- {ok, {18, Input@19}};
-
- [<<"1"/utf8>>, <<"9"/utf8>>, <<":"/utf8>> | Input@20] ->
- {ok, {19, Input@20}};
-
- [<<"2"/utf8>>, <<"0"/utf8>>, <<":"/utf8>> | Input@21] ->
- {ok, {20, Input@21}};
-
- [<<"2"/utf8>>, <<"1"/utf8>>, <<":"/utf8>> | Input@22] ->
- {ok, {21, Input@22}};
-
- [<<"2"/utf8>>, <<"2"/utf8>>, <<":"/utf8>> | Input@23] ->
- {ok, {22, Input@23}};
-
- [<<"2"/utf8>>, <<"3"/utf8>>, <<":"/utf8>> | Input@24] ->
- {ok, {23, Input@24}};
-
- [G | _] ->
- {error, {unexpected, G, <<"time"/utf8>>}};
-
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, <<"time"/utf8>>}}
- end, fun(Hours, Input@25) ->
- do(
- parse_number_under_60(Input@25, <<"minutes"/utf8>>),
- fun(Minutes, Input@26) -> {ok, {{Hours, Minutes}, Input@26}} end
- )
- end).
-
--spec parse_time_s_ms(list(binary())) -> {ok,
- {{integer(), integer()}, list(binary())}} |
- {error, parse_error()}.
-parse_time_s_ms(Input) ->
- case Input of
- [<<":"/utf8>> | Input@1] ->
- do(
- parse_number_under_60(Input@1, <<"seconds"/utf8>>),
- fun(Seconds, Input@2) -> case Input@2 of
- [<<"."/utf8>> | Input@3] ->
- parse_time_ms(Input@3, Seconds, 0);
-
- _ ->
- {ok, {{Seconds, 0}, Input@2}}
- end end
- );
-
- _ ->
- {ok, {{0, 0}, Input}}
- end.
-
--spec parse_time_minute(list(binary()), integer()) -> {ok,
- {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_time_minute(Input, Hours) ->
- do(
- parse_number_under_60(Input, <<"minutes"/utf8>>),
- fun(Minutes, Input@1) ->
- do(
- parse_time_s_ms(Input@1),
- fun(_use0, Input@2) ->
- {Seconds, Ms} = _use0,
- Time = {time_value, Hours, Minutes, Seconds, Ms},
- {ok, {{time, Time}, Input@2}}
- end
- )
- end
- ).
-
--spec parse_time_value(list(binary())) -> {ok, {time(), list(binary())}} |
- {error, parse_error()}.
-parse_time_value(Input) ->
- do(
- parse_hour_minute(Input),
- fun(_use0, Input@1) ->
- {Hours, Minutes} = _use0,
- do(
- parse_time_s_ms(Input@1),
- fun(_use0@1, Input@2) ->
- {Seconds, Ms} = _use0@1,
- Time = {time_value, Hours, Minutes, Seconds, Ms},
- {ok, {Time, Input@2}}
- end
- )
- end
- ).
-
--spec parse_offset_hours(list(binary()), sign()) -> {ok,
- {offset(), list(binary())}} |
- {error, parse_error()}.
-parse_offset_hours(Input, Sign) ->
- do(
- parse_hour_minute(Input),
- fun(_use0, Input@1) ->
- {Hours, Minutes} = _use0,
- {ok, {{offset, Sign, Hours, Minutes}, Input@1}}
- end
- ).
-
--spec parse_offset(list(binary())) -> {ok, {offset(), list(binary())}} |
- {error, parse_error()}.
-parse_offset(Input) ->
- case Input of
- [<<"Z"/utf8>> | Input@1] ->
- {ok, {{offset, positive, 0, 0}, Input@1}};
-
- [<<"+"/utf8>> | Input@2] ->
- parse_offset_hours(Input@2, positive);
-
- [<<"-"/utf8>> | Input@3] ->
- parse_offset_hours(Input@3, negative);
-
- _ ->
- {ok, {local, Input}}
- end.
-
--spec parse_date_end(list(binary()), integer(), integer(), integer()) -> {ok,
- {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_date_end(Input, Year, Month, Day) ->
- Date = {date_value, Year, Month, Day},
- case Input of
- [<<" "/utf8>> | Input@1] ->
- do(
- parse_time_value(Input@1),
- fun(Time, Input@2) ->
- do(
- parse_offset(Input@2),
- fun(Offset, Input@3) ->
- {ok,
- {{date_time,
- {date_time_value, Date, Time, Offset}},
- Input@3}}
- end
- )
- end
- );
-
- [<<"T"/utf8>> | Input@1] ->
- do(
- parse_time_value(Input@1),
- fun(Time, Input@2) ->
- do(
- parse_offset(Input@2),
- fun(Offset, Input@3) ->
- {ok,
- {{date_time,
- {date_time_value, Date, Time, Offset}},
- Input@3}}
- end
- )
- end
- );
-
- _ ->
- {ok, {{date, Date}, Input}}
- end.
-
--spec parse_date_day(list(binary()), integer(), integer()) -> {ok,
- {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_date_day(Input, Year, Month) ->
- case Input of
- [<<"0"/utf8>>, <<"1"/utf8>> | Input@1] ->
- parse_date_end(Input@1, Year, Month, 1);
-
- [<<"0"/utf8>>, <<"2"/utf8>> | Input@2] ->
- parse_date_end(Input@2, Year, Month, 2);
-
- [<<"0"/utf8>>, <<"3"/utf8>> | Input@3] ->
- parse_date_end(Input@3, Year, Month, 3);
-
- [<<"0"/utf8>>, <<"4"/utf8>> | Input@4] ->
- parse_date_end(Input@4, Year, Month, 4);
-
- [<<"0"/utf8>>, <<"5"/utf8>> | Input@5] ->
- parse_date_end(Input@5, Year, Month, 5);
-
- [<<"0"/utf8>>, <<"6"/utf8>> | Input@6] ->
- parse_date_end(Input@6, Year, Month, 6);
-
- [<<"0"/utf8>>, <<"7"/utf8>> | Input@7] ->
- parse_date_end(Input@7, Year, Month, 7);
-
- [<<"0"/utf8>>, <<"8"/utf8>> | Input@8] ->
- parse_date_end(Input@8, Year, Month, 8);
-
- [<<"0"/utf8>>, <<"9"/utf8>> | Input@9] ->
- parse_date_end(Input@9, Year, Month, 9);
-
- [<<"1"/utf8>>, <<"0"/utf8>> | Input@10] ->
- parse_date_end(Input@10, Year, Month, 10);
-
- [<<"1"/utf8>>, <<"1"/utf8>> | Input@11] ->
- parse_date_end(Input@11, Year, Month, 11);
-
- [<<"1"/utf8>>, <<"2"/utf8>> | Input@12] ->
- parse_date_end(Input@12, Year, Month, 12);
-
- [<<"1"/utf8>>, <<"3"/utf8>> | Input@13] ->
- parse_date_end(Input@13, Year, Month, 13);
-
- [<<"1"/utf8>>, <<"4"/utf8>> | Input@14] ->
- parse_date_end(Input@14, Year, Month, 14);
-
- [<<"1"/utf8>>, <<"5"/utf8>> | Input@15] ->
- parse_date_end(Input@15, Year, Month, 15);
-
- [<<"1"/utf8>>, <<"6"/utf8>> | Input@16] ->
- parse_date_end(Input@16, Year, Month, 16);
-
- [<<"1"/utf8>>, <<"7"/utf8>> | Input@17] ->
- parse_date_end(Input@17, Year, Month, 17);
-
- [<<"1"/utf8>>, <<"8"/utf8>> | Input@18] ->
- parse_date_end(Input@18, Year, Month, 18);
-
- [<<"1"/utf8>>, <<"9"/utf8>> | Input@19] ->
- parse_date_end(Input@19, Year, Month, 19);
-
- [<<"2"/utf8>>, <<"0"/utf8>> | Input@20] ->
- parse_date_end(Input@20, Year, Month, 20);
-
- [<<"2"/utf8>>, <<"1"/utf8>> | Input@21] ->
- parse_date_end(Input@21, Year, Month, 21);
-
- [<<"2"/utf8>>, <<"2"/utf8>> | Input@22] ->
- parse_date_end(Input@22, Year, Month, 22);
-
- [<<"2"/utf8>>, <<"3"/utf8>> | Input@23] ->
- parse_date_end(Input@23, Year, Month, 23);
-
- [<<"2"/utf8>>, <<"4"/utf8>> | Input@24] ->
- parse_date_end(Input@24, Year, Month, 24);
-
- [<<"2"/utf8>>, <<"5"/utf8>> | Input@25] ->
- parse_date_end(Input@25, Year, Month, 25);
-
- [<<"2"/utf8>>, <<"6"/utf8>> | Input@26] ->
- parse_date_end(Input@26, Year, Month, 26);
-
- [<<"2"/utf8>>, <<"7"/utf8>> | Input@27] ->
- parse_date_end(Input@27, Year, Month, 27);
-
- [<<"2"/utf8>>, <<"8"/utf8>> | Input@28] ->
- parse_date_end(Input@28, Year, Month, 28);
-
- [<<"2"/utf8>>, <<"9"/utf8>> | Input@29] ->
- parse_date_end(Input@29, Year, Month, 29);
-
- [<<"3"/utf8>>, <<"0"/utf8>> | Input@30] ->
- parse_date_end(Input@30, Year, Month, 30);
-
- [<<"3"/utf8>>, <<"1"/utf8>> | Input@31] ->
- parse_date_end(Input@31, Year, Month, 31);
-
- [G | _] ->
- {error, {unexpected, G, <<"date day"/utf8>>}};
-
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, <<"date day"/utf8>>}}
- end.
-
--spec parse_date(list(binary()), integer()) -> {ok, {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_date(Input, Year) ->
- case Input of
- [<<"0"/utf8>>, <<"1"/utf8>>, <<"-"/utf8>> | Input@1] ->
- parse_date_day(Input@1, Year, 1);
-
- [<<"0"/utf8>>, <<"2"/utf8>>, <<"-"/utf8>> | Input@2] ->
- parse_date_day(Input@2, Year, 2);
-
- [<<"0"/utf8>>, <<"3"/utf8>>, <<"-"/utf8>> | Input@3] ->
- parse_date_day(Input@3, Year, 3);
-
- [<<"0"/utf8>>, <<"4"/utf8>>, <<"-"/utf8>> | Input@4] ->
- parse_date_day(Input@4, Year, 4);
-
- [<<"0"/utf8>>, <<"5"/utf8>>, <<"-"/utf8>> | Input@5] ->
- parse_date_day(Input@5, Year, 5);
-
- [<<"0"/utf8>>, <<"6"/utf8>>, <<"-"/utf8>> | Input@6] ->
- parse_date_day(Input@6, Year, 6);
-
- [<<"0"/utf8>>, <<"7"/utf8>>, <<"-"/utf8>> | Input@7] ->
- parse_date_day(Input@7, Year, 7);
-
- [<<"0"/utf8>>, <<"8"/utf8>>, <<"-"/utf8>> | Input@8] ->
- parse_date_day(Input@8, Year, 8);
-
- [<<"0"/utf8>>, <<"9"/utf8>>, <<"-"/utf8>> | Input@9] ->
- parse_date_day(Input@9, Year, 9);
-
- [<<"1"/utf8>>, <<"0"/utf8>>, <<"-"/utf8>> | Input@10] ->
- parse_date_day(Input@10, Year, 10);
-
- [<<"1"/utf8>>, <<"1"/utf8>>, <<"-"/utf8>> | Input@11] ->
- parse_date_day(Input@11, Year, 11);
-
- [<<"1"/utf8>>, <<"2"/utf8>>, <<"-"/utf8>> | Input@12] ->
- parse_date_day(Input@12, Year, 12);
-
- [G | _] ->
- {error, {unexpected, G, <<"date month"/utf8>>}};
-
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, <<"date month"/utf8>>}}
- end.
-
--spec parse_number(list(binary()), integer(), sign()) -> {ok,
- {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_number(Input, Number, Sign) ->
- case Input of
- [<<"_"/utf8>> | Input@1] ->
- parse_number(Input@1, Number, Sign);
-
- [<<"0"/utf8>> | Input@2] ->
- parse_number(Input@2, (Number * 10) + 0, Sign);
-
- [<<"1"/utf8>> | Input@3] ->
- parse_number(Input@3, (Number * 10) + 1, Sign);
-
- [<<"2"/utf8>> | Input@4] ->
- parse_number(Input@4, (Number * 10) + 2, Sign);
-
- [<<"3"/utf8>> | Input@5] ->
- parse_number(Input@5, (Number * 10) + 3, Sign);
-
- [<<"4"/utf8>> | Input@6] ->
- parse_number(Input@6, (Number * 10) + 4, Sign);
-
- [<<"5"/utf8>> | Input@7] ->
- parse_number(Input@7, (Number * 10) + 5, Sign);
-
- [<<"6"/utf8>> | Input@8] ->
- parse_number(Input@8, (Number * 10) + 6, Sign);
-
- [<<"7"/utf8>> | Input@9] ->
- parse_number(Input@9, (Number * 10) + 7, Sign);
-
- [<<"8"/utf8>> | Input@10] ->
- parse_number(Input@10, (Number * 10) + 8, Sign);
-
- [<<"9"/utf8>> | Input@11] ->
- parse_number(Input@11, (Number * 10) + 9, Sign);
-
- [<<"-"/utf8>> | Input@12] ->
- parse_date(Input@12, Number);
-
- [<<":"/utf8>> | Input@13] when Number < 24 ->
- parse_time_minute(Input@13, Number);
-
- [<<"."/utf8>> | Input@14] ->
- parse_float(Input@14, gleam@int:to_float(Number), Sign, 0.1);
-
- [<<"e"/utf8>>, <<"+"/utf8>> | Input@15] ->
- parse_exponent(
- Input@15,
- gleam@int:to_float(Number),
- Sign,
- 0,
- positive
- );
-
- [<<"e"/utf8>>, <<"-"/utf8>> | Input@16] ->
- parse_exponent(
- Input@16,
- gleam@int:to_float(Number),
- Sign,
- 0,
- negative
- );
-
- [<<"e"/utf8>> | Input@17] ->
- parse_exponent(
- Input@17,
- gleam@int:to_float(Number),
- Sign,
- 0,
- positive
- );
-
- [<<"E"/utf8>>, <<"+"/utf8>> | Input@18] ->
- parse_exponent(
- Input@18,
- gleam@int:to_float(Number),
- Sign,
- 0,
- positive
- );
-
- [<<"E"/utf8>>, <<"-"/utf8>> | Input@19] ->
- parse_exponent(
- Input@19,
- gleam@int:to_float(Number),
- Sign,
- 0,
- negative
- );
-
- [<<"E"/utf8>> | Input@20] ->
- parse_exponent(
- Input@20,
- gleam@int:to_float(Number),
- Sign,
- 0,
- positive
- );
-
- Input@21 ->
- Number@1 = case Sign of
- positive ->
- Number;
-
- negative ->
- - Number
- end,
- {ok, {{int, Number@1}, Input@21}}
- end.
-
--spec reverse_arrays_of_tables(toml()) -> toml().
-reverse_arrays_of_tables(Toml) ->
- case Toml of
- {array_of_tables, Tables} ->
- {array_of_tables, reverse_arrays_of_tables_array(Tables, [])};
-
- {table, Table} ->
- {table, reverse_arrays_of_tables_table(Table)};
-
- _ ->
- Toml
- end.
-
--spec reverse_arrays_of_tables_table(gleam@map:map_(binary(), toml())) -> gleam@map:map_(binary(), toml()).
-reverse_arrays_of_tables_table(Table) ->
- gleam@map:map_values(Table, fun(_, V) -> reverse_arrays_of_tables(V) end).
-
--spec reverse_arrays_of_tables_array(
- list(gleam@map:map_(binary(), toml())),
- list(gleam@map:map_(binary(), toml()))
-) -> list(gleam@map:map_(binary(), toml())).
-reverse_arrays_of_tables_array(Array, Acc) ->
- case Array of
- [] ->
- Acc;
-
- [First | Rest] ->
- First@1 = reverse_arrays_of_tables_table(First),
- reverse_arrays_of_tables_array(Rest, [First@1 | Acc])
- end.
-
--spec parse_inline_table_property(
- list(binary()),
- gleam@map:map_(binary(), toml())
-) -> {ok, {gleam@map:map_(binary(), toml()), list(binary())}} |
- {error, parse_error()}.
-parse_inline_table_property(Input, Properties) ->
- Input@1 = skip_whitespace(Input),
- do(
- parse_key(Input@1, []),
- fun(Key, Input@2) ->
- Input@3 = skip_line_whitespace(Input@2),
- expect(
- Input@3,
- <<"="/utf8>>,
- fun(Input@4) ->
- Input@5 = skip_line_whitespace(Input@4),
- do(
- parse_value(Input@5),
- fun(Value, Input@6) ->
- case insert(Properties, Key, Value) of
- {ok, Properties@1} ->
- {ok, {Properties@1, Input@6}};
-
- {error, E} ->
- {error, E}
- end
- end
- )
- end
- )
- end
- ).
-
--spec parse_value(list(binary())) -> {ok, {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_value(Input) ->
- case Input of
- [<<"t"/utf8>>, <<"r"/utf8>>, <<"u"/utf8>>, <<"e"/utf8>> | Input@1] ->
- {ok, {{bool, true}, Input@1}};
-
- [<<"f"/utf8>>,
- <<"a"/utf8>>,
- <<"l"/utf8>>,
- <<"s"/utf8>>,
- <<"e"/utf8>> |
- Input@2] ->
- {ok, {{bool, false}, Input@2}};
-
- [<<"n"/utf8>>, <<"a"/utf8>>, <<"n"/utf8>> | Input@3] ->
- {ok, {{nan, positive}, Input@3}};
-
- [<<"+"/utf8>>, <<"n"/utf8>>, <<"a"/utf8>>, <<"n"/utf8>> | Input@4] ->
- {ok, {{nan, positive}, Input@4}};
-
- [<<"-"/utf8>>, <<"n"/utf8>>, <<"a"/utf8>>, <<"n"/utf8>> | Input@5] ->
- {ok, {{nan, negative}, Input@5}};
-
- [<<"i"/utf8>>, <<"n"/utf8>>, <<"f"/utf8>> | Input@6] ->
- {ok, {{infinity, positive}, Input@6}};
-
- [<<"+"/utf8>>, <<"i"/utf8>>, <<"n"/utf8>>, <<"f"/utf8>> | Input@7] ->
- {ok, {{infinity, positive}, Input@7}};
-
- [<<"-"/utf8>>, <<"i"/utf8>>, <<"n"/utf8>>, <<"f"/utf8>> | Input@8] ->
- {ok, {{infinity, negative}, Input@8}};
-
- [<<"["/utf8>> | Input@9] ->
- parse_array(Input@9, []);
-
- [<<"{"/utf8>> | Input@10] ->
- parse_inline_table(Input@10, gleam@map:new());
-
- [<<"0"/utf8>>, <<"x"/utf8>> | Input@11] ->
- parse_hex(Input@11, 0, positive);
-
- [<<"+"/utf8>>, <<"0"/utf8>>, <<"x"/utf8>> | Input@12] ->
- parse_hex(Input@12, 0, positive);
-
- [<<"-"/utf8>>, <<"0"/utf8>>, <<"x"/utf8>> | Input@13] ->
- parse_hex(Input@13, 0, negative);
-
- [<<"0"/utf8>>, <<"o"/utf8>> | Input@14] ->
- parse_octal(Input@14, 0, positive);
-
- [<<"+"/utf8>>, <<"0"/utf8>>, <<"o"/utf8>> | Input@15] ->
- parse_octal(Input@15, 0, positive);
-
- [<<"-"/utf8>>, <<"0"/utf8>>, <<"o"/utf8>> | Input@16] ->
- parse_octal(Input@16, 0, negative);
-
- [<<"0"/utf8>>, <<"b"/utf8>> | Input@17] ->
- parse_binary(Input@17, 0, positive);
-
- [<<"+"/utf8>>, <<"0"/utf8>>, <<"b"/utf8>> | Input@18] ->
- parse_binary(Input@18, 0, positive);
-
- [<<"-"/utf8>>, <<"0"/utf8>>, <<"b"/utf8>> | Input@19] ->
- parse_binary(Input@19, 0, negative);
-
- [<<"+"/utf8>> | Input@20] ->
- parse_number(Input@20, 0, positive);
-
- [<<"-"/utf8>> | Input@21] ->
- parse_number(Input@21, 0, negative);
-
- [<<"0"/utf8>> | _] ->
- parse_number(Input, 0, positive);
-
- [<<"1"/utf8>> | _] ->
- parse_number(Input, 0, positive);
-
- [<<"2"/utf8>> | _] ->
- parse_number(Input, 0, positive);
-
- [<<"3"/utf8>> | _] ->
- parse_number(Input, 0, positive);
-
- [<<"4"/utf8>> | _] ->
- parse_number(Input, 0, positive);
-
- [<<"5"/utf8>> | _] ->
- parse_number(Input, 0, positive);
-
- [<<"6"/utf8>> | _] ->
- parse_number(Input, 0, positive);
-
- [<<"7"/utf8>> | _] ->
- parse_number(Input, 0, positive);
-
- [<<"8"/utf8>> | _] ->
- parse_number(Input, 0, positive);
-
- [<<"9"/utf8>> | _] ->
- parse_number(Input, 0, positive);
-
- [<<"\""/utf8>>, <<"\""/utf8>>, <<"\""/utf8>> | Input@22] ->
- parse_multi_line_string(Input@22, <<""/utf8>>);
-
- [<<"\""/utf8>> | Input@23] ->
- parse_string(Input@23, <<""/utf8>>);
-
- [<<"'"/utf8>>, <<"'"/utf8>>, <<"'"/utf8>> | Input@24] ->
- parse_multi_line_literal_string(Input@24, <<""/utf8>>);
-
- [<<"'"/utf8>> | Input@25] ->
- parse_literal_string(Input@25, <<""/utf8>>);
-
- [G | _] ->
- {error, {unexpected, G, <<"value"/utf8>>}};
-
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, <<"value"/utf8>>}}
- end.
-
--spec parse_inline_table(list(binary()), gleam@map:map_(binary(), toml())) -> {ok,
- {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_inline_table(Input, Properties) ->
- Input@1 = skip_whitespace(Input),
- case Input@1 of
- [<<"}"/utf8>> | Input@2] ->
- {ok, {{inline_table, Properties}, Input@2}};
-
- _ ->
- case parse_inline_table_property(Input@1, Properties) of
- {ok, {Properties@1, Input@3}} ->
- Input@4 = skip_whitespace(Input@3),
- case Input@4 of
- [<<"}"/utf8>> | Input@5] ->
- {ok, {{inline_table, Properties@1}, Input@5}};
-
- [<<","/utf8>> | Input@6] ->
- Input@7 = skip_whitespace(Input@6),
- parse_inline_table(Input@7, Properties@1);
-
- [G | _] ->
- {error, {unexpected, G, <<"}"/utf8>>}};
-
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, <<"}"/utf8>>}}
- end;
-
- {error, E} ->
- {error, E}
- end
- end.
-
--spec parse_key_value(list(binary()), gleam@map:map_(binary(), toml())) -> {ok,
- {gleam@map:map_(binary(), toml()), list(binary())}} |
- {error, parse_error()}.
-parse_key_value(Input, Toml) ->
- do(
- parse_key(Input, []),
- fun(Key, Input@1) ->
- Input@2 = skip_line_whitespace(Input@1),
- expect(
- Input@2,
- <<"="/utf8>>,
- fun(Input@3) ->
- Input@4 = skip_line_whitespace(Input@3),
- do(
- parse_value(Input@4),
- fun(Value, Input@5) -> case insert(Toml, Key, Value) of
- {ok, Toml@1} ->
- {ok, {Toml@1, Input@5}};
-
- {error, E} ->
- {error, E}
- end end
- )
- end
- )
- end
- ).
-
--spec parse_table(list(binary()), gleam@map:map_(binary(), toml())) -> {ok,
- {gleam@map:map_(binary(), toml()), list(binary())}} |
- {error, parse_error()}.
-parse_table(Input, Toml) ->
- Input@1 = skip_whitespace(Input),
- case Input@1 of
- [<<"["/utf8>> | _] ->
- {ok, {Toml, Input@1}};
-
- [] ->
- {ok, {Toml, Input@1}};
-
- _ ->
- case parse_key_value(Input@1, Toml) of
- {ok, {Toml@1, Input@2}} ->
- case skip_line_whitespace(Input@2) of
- [] ->
- {ok, {Toml@1, []}};
-
- [<<"\n"/utf8>> | In] ->
- parse_table(In, Toml@1);
-
- [<<"\r\n"/utf8>> | In] ->
- parse_table(In, Toml@1);
-
- [G | _] ->
- {error, {unexpected, G, <<"\n"/utf8>>}}
- end;
-
- E ->
- E
- end
- end.
-
--spec parse_array_of_tables(list(binary())) -> {ok,
- {{list(binary()), gleam@map:map_(binary(), toml())}, list(binary())}} |
- {error, parse_error()}.
-parse_array_of_tables(Input) ->
- Input@1 = skip_line_whitespace(Input),
- do(
- parse_key(Input@1, []),
- fun(Key, Input@2) ->
- expect(
- Input@2,
- <<"]"/utf8>>,
- fun(Input@3) ->
- expect(
- Input@3,
- <<"]"/utf8>>,
- fun(Input@4) ->
- do(
- parse_table(Input@4, gleam@map:new()),
- fun(Table, Input@5) ->
- {ok, {{Key, Table}, Input@5}}
- end
- )
- end
- )
- end
- )
- end
- ).
-
--spec parse_table_and_header(list(binary())) -> {ok,
- {{list(binary()), gleam@map:map_(binary(), toml())}, list(binary())}} |
- {error, parse_error()}.
-parse_table_and_header(Input) ->
- do(
- parse_table_header(Input),
- fun(Key, Input@1) ->
- do(
- parse_table(Input@1, gleam@map:new()),
- fun(Table, Input@2) -> {ok, {{Key, Table}, Input@2}} end
- )
- end
- ).
-
--spec parse_tables(list(binary()), gleam@map:map_(binary(), toml())) -> {ok,
- gleam@map:map_(binary(), toml())} |
- {error, parse_error()}.
-parse_tables(Input, Toml) ->
- case Input of
- [<<"["/utf8>>, <<"["/utf8>> | Input@1] ->
- case parse_array_of_tables(Input@1) of
- {error, E} ->
- {error, E};
-
- {ok, {{Key, Table}, Input@2}} ->
- case insert(Toml, Key, {array_of_tables, [Table]}) of
- {ok, Toml@1} ->
- parse_tables(Input@2, Toml@1);
-
- {error, E@1} ->
- {error, E@1}
- end
- end;
-
- [<<"["/utf8>> | Input@3] ->
- case parse_table_and_header(Input@3) of
- {error, E@2} ->
- {error, E@2};
-
- {ok, {{Key@1, Table@1}, Input@4}} ->
- case insert(Toml, Key@1, {table, Table@1}) of
- {ok, Toml@2} ->
- parse_tables(Input@4, Toml@2);
-
- {error, E@3} ->
- {error, E@3}
- end
- end;
-
- [G | _] ->
- {error, {unexpected, G, <<"["/utf8>>}};
-
- [] ->
- {ok, Toml}
- end.
-
--spec parse(binary()) -> {ok, gleam@map:map_(binary(), toml())} |
- {error, parse_error()}.
-parse(Input) ->
- Input@1 = gleam@string:to_graphemes(Input),
- Input@2 = drop_comments(Input@1, []),
- Input@3 = skip_whitespace(Input@2),
- do(
- parse_table(Input@3, gleam@map:new()),
- fun(Toml, Input@4) -> case parse_tables(Input@4, Toml) of
- {ok, Toml@1} ->
- {ok, reverse_arrays_of_tables_table(Toml@1)};
-
- {error, E} ->
- {error, E}
- end end
- ).
-
--spec parse_array(list(binary()), list(toml())) -> {ok,
- {toml(), list(binary())}} |
- {error, parse_error()}.
-parse_array(Input, Elements) ->
- Input@1 = skip_whitespace(Input),
- case Input@1 of
- [<<"]"/utf8>> | Input@2] ->
- {ok, {{array, gleam@list:reverse(Elements)}, Input@2}};
-
- _ ->
- do(
- parse_value(Input@1),
- fun(Element, Input@3) ->
- Elements@1 = [Element | Elements],
- Input@4 = skip_whitespace(Input@3),
- case Input@4 of
- [<<"]"/utf8>> | Input@5] ->
- {ok,
- {{array, gleam@list:reverse(Elements@1)},
- Input@5}};
-
- [<<","/utf8>> | Input@6] ->
- Input@7 = skip_whitespace(Input@6),
- parse_array(Input@7, Elements@1);
-
- [G | _] ->
- {error, {unexpected, G, <<"]"/utf8>>}};
-
- [] ->
- {error, {unexpected, <<"EOF"/utf8>>, <<"]"/utf8>>}}
- end
- end
- )
- end.
diff --git a/aoc2023/build/packages/tom/src/tom.gleam b/aoc2023/build/packages/tom/src/tom.gleam
deleted file mode 100644
index e19ce3e..0000000
--- a/aoc2023/build/packages/tom/src/tom.gleam
+++ /dev/null
@@ -1,1317 +0,0 @@
-//// A pure Gleam TOML parser!
-////
-//// ```gleam
-//// import tom
-////
-//// const config = "
-//// [person]
-//// name = \"Lucy\"
-//// is_cool = true
-//// "
-////
-//// pub fn main() {
-//// // Parse a string of TOML
-//// let assert Ok(parsed) = tom.parse(config)
-////
-//// // Now you can work with the data directly, or you can use the `get_*`
-//// // functions to retrieve values.
-////
-//// tom.get_string(parsed, ["person", "name"])
-//// // -> Ok("Lucy")
-////
-//// let is_cool = tom.get_bool(parsed, ["person", "is_cool"])
-//// // -> Ok(True)
-//// }
-//// ```
-
-import gleam/int
-import gleam/list
-import gleam/float
-import gleam/string
-import gleam/result
-import gleam/map.{type Map}
-
-/// A TOML document.
-pub type Toml {
- Int(Int)
- Float(Float)
- /// Infinity is a valid number in TOML but Gleam does not support it, so this
- /// variant represents the infinity values.
- Infinity(Sign)
- /// NaN is a valid number in TOML but Gleam does not support it, so this
- /// variant represents the NaN values.
- Nan(Sign)
- Bool(Bool)
- String(String)
- Date(Date)
- Time(Time)
- DateTime(DateTime)
- Array(List(Toml))
- ArrayOfTables(List(Map(String, Toml)))
- Table(Map(String, Toml))
- InlineTable(Map(String, Toml))
-}
-
-pub type DateTime {
- DateTimeValue(date: Date, time: Time, offset: Offset)
-}
-
-pub type Date {
- DateValue(year: Int, month: Int, day: Int)
-}
-
-pub type Time {
- TimeValue(hour: Int, minute: Int, second: Int, millisecond: Int)
-}
-
-pub type Offset {
- Local
- Offset(direction: Sign, hours: Int, minutes: Int)
-}
-
-pub type Sign {
- Positive
- Negative
-}
-
-/// An error that can occur when parsing a TOML document.
-pub type ParseError {
- /// An unexpected character was encountered when parsing the document.
- Unexpected(got: String, expected: String)
- /// More than one items have the same key in the document.
- KeyAlreadyInUse(key: List(String))
-}
-
-type Tokens =
- List(String)
-
-type Parsed(a) =
- Result(#(a, Tokens), ParseError)
-
-/// A number of any kind, returned by the `get_number` function.
-pub type Number {
- NumberInt(Int)
- NumberFloat(Float)
- NumberInfinity(Sign)
- NumberNan(Sign)
-}
-
-/// An error that can occur when retrieving a value from a TOML document with
-/// one of the `get_*` functions.
-pub type GetError {
- /// There was no value at the given key.
- NotFound(key: List(String))
- /// The value at the given key was not of the expected type.
- WrongType(key: List(String), expected: String, got: String)
-}
-
-// TODO: test
-/// Get a value of any type from a TOML document.
-///
-/// ## Examples
-///
-/// ```gleam
-/// let assert Ok(parsed) = parse("a.b.c = 1")
-/// get(parsed, ["a", "b", "c"])
-/// // -> Ok(Int(1))
-/// ```
-///
-pub fn get(toml: Map(String, Toml), key: List(String)) -> Result(Toml, GetError) {
- case key {
- [] -> Error(NotFound([]))
- [k] -> result.replace_error(map.get(toml, k), NotFound([k]))
- [k, ..key] -> {
- case map.get(toml, k) {
- Ok(Table(t)) -> push_key(get(t, key), k)
- Ok(other) -> Error(WrongType([k], "Table", classify(other)))
- Error(_) -> Error(NotFound([k]))
- }
- }
- }
-}
-
-// TODO: test
-/// Get an int from a TOML document.
-///
-/// ## Examples
-///
-/// ```gleam
-/// let assert Ok(parsed) = parse("a.b.c = 1")
-/// get_int(parsed, ["a", "b", "c"])
-/// // -> Ok(1)
-/// ```
-///
-pub fn get_int(
- toml: Map(String, Toml),
- key: List(String),
-) -> Result(Int, GetError) {
- case get(toml, key) {
- Ok(Int(i)) -> Ok(i)
- Ok(other) -> Error(WrongType(key, "Int", classify(other)))
- Error(e) -> Error(e)
- }
-}
-
-// TODO: test
-/// Get a float from a TOML document.
-///
-/// ## Examples
-///
-/// ```gleam
-/// let assert Ok(parsed) = parse("a.b.c = 1.1")
-/// get_float(parsed, ["a", "b", "c"])
-/// // -> Ok(1.1)
-/// ```
-///
-pub fn get_float(
- toml: Map(String, Toml),
- key: List(String),
-) -> Result(Float, GetError) {
- case get(toml, key) {
- Ok(Float(i)) -> Ok(i)
- Ok(other) -> Error(WrongType(key, "Float", classify(other)))
- Error(e) -> Error(e)
- }
-}
-
-// TODO: test
-/// Get a bool from a TOML document.
-///
-/// ## Examples
-///
-/// ```gleam
-/// let assert Ok(parsed) = parse("a.b.c = true")
-/// get_bool(parsed, ["a", "b", "c"])
-/// // -> Ok(True)
-/// ```
-///
-pub fn get_bool(
- toml: Map(String, Toml),
- key: List(String),
-) -> Result(Bool, GetError) {
- case get(toml, key) {
- Ok(Bool(i)) -> Ok(i)
- Ok(other) -> Error(WrongType(key, "Bool", classify(other)))
- Error(e) -> Error(e)
- }
-}
-
-// TODO: test
-/// Get a string from a TOML document.
-///
-/// ## Examples
-///
-/// ```gleam
-/// let assert Ok(parsed) = parse("a.b.c = \"ok\"")
-/// get_string(parsed, ["a", "b", "c"])
-/// // -> Ok("ok")
-/// ```
-///
-pub fn get_string(
- toml: Map(String, Toml),
- key: List(String),
-) -> Result(String, GetError) {
- case get(toml, key) {
- Ok(String(i)) -> Ok(i)
- Ok(other) -> Error(WrongType(key, "String", classify(other)))
- Error(e) -> Error(e)
- }
-}
-
-// TODO: test
-/// Get a date from a TOML document.
-///
-/// ## Examples
-///
-/// ```gleam
-/// let assert Ok(parsed) = parse("a.b.c = 1979-05-27")
-/// get_date(parsed, ["a", "b", "c"])
-/// // -> Ok("1979-05-27")
-/// ```
-///
-pub fn get_date(
- toml: Map(String, Toml),
- key: List(String),
-) -> Result(Date, GetError) {
- case get(toml, key) {
- Ok(Date(i)) -> Ok(i)
- Ok(other) -> Error(WrongType(key, "Date", classify(other)))
- Error(e) -> Error(e)
- }
-}
-
-// TODO: test
-/// Get a time from a TOML document.
-///
-/// ## Examples
-///
-/// ```gleam
-/// let assert Ok(parsed) = parse("a.b.c = 07:32:00")
-/// get_time(parsed, ["a", "b", "c"])
-/// // -> Ok("07:32:00")
-/// ```
-///
-pub fn get_time(
- toml: Map(String, Toml),
- key: List(String),
-) -> Result(Time, GetError) {
- case get(toml, key) {
- Ok(Time(i)) -> Ok(i)
- Ok(other) -> Error(WrongType(key, "Time", classify(other)))
- Error(e) -> Error(e)
- }
-}
-
-// TODO: test
-/// Get a date-time from a TOML document.
-///
-/// ## Examples
-///
-/// ```gleam
-/// let assert Ok(parsed) = parse("a.b.c = 1979-05-27T07:32:00")
-/// get_date_time(parsed, ["a", "b", "c"])
-/// // -> Ok("1979-05-27T07:32:00")
-/// ```
-///
-pub fn get_date_time(
- toml: Map(String, Toml),
- key: List(String),
-) -> Result(DateTime, GetError) {
- case get(toml, key) {
- Ok(DateTime(i)) -> Ok(i)
- Ok(other) -> Error(WrongType(key, "DateTime", classify(other)))
- Error(e) -> Error(e)
- }
-}
-
-// TODO: test
-/// Get an array from a TOML document.
-///
-/// ## Examples
-///
-/// ```gleam
-/// let assert Ok(parsed) = parse("a.b.c = [1, 2]")
-/// get_array(parsed, ["a", "b", "c"])
-/// // -> Ok([Int(1), Int(2)])
-/// ```
-///
-pub fn get_array(
- toml: Map(String, Toml),
- key: List(String),
-) -> Result(List(Toml), GetError) {
- case get(toml, key) {
- Ok(Array(i)) -> Ok(i)
- Ok(ArrayOfTables(i)) -> Ok(list.map(i, Table))
- Ok(other) -> Error(WrongType(key, "Array", classify(other)))
- Error(e) -> Error(e)
- }
-}
-
-// TODO: test
-/// Get a table from a TOML document.
-///
-/// ## Examples
-///
-/// ```gleam
-/// let assert Ok(parsed) = parse("a.b.c = { d = 1 }")
-/// get_table(parsed, ["a", "b", "c"])
-/// // -> Ok(map.from_list([#("d", Int(1))]))
-/// ```
-///
-pub fn get_table(
- toml: Map(String, Toml),
- key: List(String),
-) -> Result(Map(String, Toml), GetError) {
- case get(toml, key) {
- Ok(Table(i)) -> Ok(i)
- Ok(InlineTable(i)) -> Ok(i)
- Ok(other) -> Error(WrongType(key, "Table", classify(other)))
- Error(e) -> Error(e)
- }
-}
-
-// TODO: test
-/// Get a number of any kind from a TOML document.
-/// This could be an int, a float, a NaN, or an infinity.
-///
-/// ## Examples
-///
-/// ```gleam
-/// let assert Ok(parsed) = parse("a.b.c = { d = inf }")
-/// get_number(parsed, ["a", "b", "c"])
-/// // -> Ok(NumberInfinity(Positive)))
-/// ```
-///
-pub fn get_number(
- toml: Map(String, Toml),
- key: List(String),
-) -> Result(Number, GetError) {
- case get(toml, key) {
- Ok(Int(x)) -> Ok(NumberInt(x))
- Ok(Float(x)) -> Ok(NumberFloat(x))
- Ok(Nan(x)) -> Ok(NumberNan(x))
- Ok(Infinity(x)) -> Ok(NumberInfinity(x))
- Ok(other) -> Error(WrongType(key, "Number", classify(other)))
- Error(e) -> Error(e)
- }
-}
-
-fn classify(toml: Toml) -> String {
- case toml {
- Int(_) -> "Int"
- Float(_) -> "Float"
- Nan(Positive) -> "NaN"
- Nan(Negative) -> "Negative NaN"
- Infinity(Positive) -> "Infinity"
- Infinity(Negative) -> "Negative Infinity"
- Bool(_) -> "Bool"
- String(_) -> "String"
- Date(_) -> "Date"
- Time(_) -> "Time"
- DateTime(_) -> "DateTime"
- Array(_) -> "Array"
- ArrayOfTables(_) -> "Array"
- Table(_) -> "Table"
- InlineTable(_) -> "Table"
- }
-}
-
-fn push_key(result: Result(t, GetError), key: String) -> Result(t, GetError) {
- case result {
- Ok(t) -> Ok(t)
- Error(NotFound(path)) -> Error(NotFound([key, ..path]))
- Error(WrongType(path, expected, got)) ->
- Error(WrongType([key, ..path], expected, got))
- }
-}
-
-pub fn parse(input: String) -> Result(Map(String, Toml), ParseError) {
- let input = string.to_graphemes(input)
- let input = drop_comments(input, [])
- let input = skip_whitespace(input)
- use toml, input <- do(parse_table(input, map.new()))
- case parse_tables(input, toml) {
- Ok(toml) -> Ok(reverse_arrays_of_tables_table(toml))
- Error(e) -> Error(e)
- }
-}
-
-fn parse_tables(
- input: Tokens,
- toml: Map(String, Toml),
-) -> Result(Map(String, Toml), ParseError) {
- case input {
- ["[", "[", ..input] -> {
- case parse_array_of_tables(input) {
- Error(e) -> Error(e)
- Ok(#(#(key, table), input)) -> {
- case insert(toml, key, ArrayOfTables([table])) {
- Ok(toml) -> parse_tables(input, toml)
- Error(e) -> Error(e)
- }
- }
- }
- }
- ["[", ..input] -> {
- case parse_table_and_header(input) {
- Error(e) -> Error(e)
- Ok(#(#(key, table), input)) -> {
- case insert(toml, key, Table(table)) {
- Ok(toml) -> parse_tables(input, toml)
- Error(e) -> Error(e)
- }
- }
- }
- }
- [g, ..] -> Error(Unexpected(g, "["))
- [] -> Ok(toml)
- }
-}
-
-fn parse_array_of_tables(
- input: Tokens,
-) -> Parsed(#(List(String), Map(String, Toml))) {
- let input = skip_line_whitespace(input)
- use key, input <- do(parse_key(input, []))
- use input <- expect(input, "]")
- use input <- expect(input, "]")
- use table, input <- do(parse_table(input, map.new()))
- Ok(#(#(key, table), input))
-}
-
-fn parse_table_header(input: Tokens) -> Parsed(List(String)) {
- let input = skip_line_whitespace(input)
- use key, input <- do(parse_key(input, []))
- use input <- expect(input, "]")
- let input = skip_line_whitespace(input)
- use input <- expect_end_of_line(input)
- Ok(#(key, input))
-}
-
-fn parse_table_and_header(
- input: Tokens,
-) -> Parsed(#(List(String), Map(String, Toml))) {
- use key, input <- do(parse_table_header(input))
- use table, input <- do(parse_table(input, map.new()))
- Ok(#(#(key, table), input))
-}
-
-fn parse_table(
- input: Tokens,
- toml: Map(String, Toml),
-) -> Parsed(Map(String, Toml)) {
- let input = skip_whitespace(input)
- case input {
- ["[", ..] | [] -> Ok(#(toml, input))
- _ ->
- case parse_key_value(input, toml) {
- Ok(#(toml, input)) ->
- case skip_line_whitespace(input) {
- [] -> Ok(#(toml, []))
- ["\n", ..in] | ["\r\n", ..in] -> parse_table(in, toml)
- [g, ..] -> Error(Unexpected(g, "\n"))
- }
- e -> e
- }
- }
-}
-
-fn parse_key_value(
- input: Tokens,
- toml: Map(String, Toml),
-) -> Parsed(Map(String, Toml)) {
- use key, input <- do(parse_key(input, []))
- let input = skip_line_whitespace(input)
- use input <- expect(input, "=")
- let input = skip_line_whitespace(input)
- use value, input <- do(parse_value(input))
- case insert(toml, key, value) {
- Ok(toml) -> Ok(#(toml, input))
- Error(e) -> Error(e)
- }
-}
-
-fn insert(
- table: Map(String, Toml),
- key: List(String),
- value: Toml,
-) -> Result(Map(String, Toml), ParseError) {
- case insert_loop(table, key, value) {
- Ok(table) -> Ok(table)
- Error(path) -> Error(KeyAlreadyInUse(path))
- }
-}
-
-fn insert_loop(
- table: Map(String, Toml),
- key: List(String),
- value: Toml,
-) -> Result(Map(String, Toml), List(String)) {
- case key {
- [] -> panic as "unreachable"
- [k] -> {
- case map.get(table, k) {
- Error(Nil) -> Ok(map.insert(table, k, value))
- Ok(old) -> merge(table, k, old, value)
- }
- }
- [k, ..key] -> {
- case map.get(table, k) {
- Error(Nil) -> {
- case insert_loop(map.new(), key, value) {
- Ok(inner) -> Ok(map.insert(table, k, Table(inner)))
- Error(path) -> Error([k, ..path])
- }
- }
- Ok(ArrayOfTables([inner, ..rest])) -> {
- case insert_loop(inner, key, value) {
- Ok(inner) ->
- Ok(map.insert(table, k, ArrayOfTables([inner, ..rest])))
- Error(path) -> Error([k, ..path])
- }
- }
- Ok(Table(inner)) -> {
- case insert_loop(inner, key, value) {
- Ok(inner) -> Ok(map.insert(table, k, Table(inner)))
- Error(path) -> Error([k, ..path])
- }
- }
- Ok(_) -> Error([k])
- }
- }
- }
-}
-
-fn merge(
- table: Map(String, Toml),
- key: String,
- old: Toml,
- new: Toml,
-) -> Result(Map(String, Toml), List(String)) {
- case old, new {
- // When both are arrays of tables then they are merged together
- ArrayOfTables(tables), ArrayOfTables(new) ->
- Ok(map.insert(table, key, ArrayOfTables(list.append(new, tables))))
-
- _, _ -> Error([key])
- }
-}
-
-fn expect_end_of_line(input: Tokens, next: fn(Tokens) -> Parsed(a)) -> Parsed(a) {
- case input {
- ["\n", ..input] -> next(input)
- ["\r\n", ..input] -> next(input)
- [g, ..] -> Error(Unexpected(g, "\n"))
- [] -> Error(Unexpected("EOF", "\n"))
- }
-}
-
-fn parse_value(input) -> Parsed(Toml) {
- case input {
- ["t", "r", "u", "e", ..input] -> Ok(#(Bool(True), input))
- ["f", "a", "l", "s", "e", ..input] -> Ok(#(Bool(False), input))
-
- ["n", "a", "n", ..input] -> Ok(#(Nan(Positive), input))
- ["+", "n", "a", "n", ..input] -> Ok(#(Nan(Positive), input))
- ["-", "n", "a", "n", ..input] -> Ok(#(Nan(Negative), input))
-
- ["i", "n", "f", ..input] -> Ok(#(Infinity(Positive), input))
- ["+", "i", "n", "f", ..input] -> Ok(#(Infinity(Positive), input))
- ["-", "i", "n", "f", ..input] -> Ok(#(Infinity(Negative), input))
-
- ["[", ..input] -> parse_array(input, [])
- ["{", ..input] -> parse_inline_table(input, map.new())
-
- ["0", "x", ..input] -> parse_hex(input, 0, Positive)
- ["+", "0", "x", ..input] -> parse_hex(input, 0, Positive)
- ["-", "0", "x", ..input] -> parse_hex(input, 0, Negative)
-
- ["0", "o", ..input] -> parse_octal(input, 0, Positive)
- ["+", "0", "o", ..input] -> parse_octal(input, 0, Positive)
- ["-", "0", "o", ..input] -> parse_octal(input, 0, Negative)
-
- ["0", "b", ..input] -> parse_binary(input, 0, Positive)
- ["+", "0", "b", ..input] -> parse_binary(input, 0, Positive)
- ["-", "0", "b", ..input] -> parse_binary(input, 0, Negative)
-
- ["+", ..input] -> parse_number(input, 0, Positive)
- ["-", ..input] -> parse_number(input, 0, Negative)
- ["0", ..]
- | ["1", ..]
- | ["2", ..]
- | ["3", ..]
- | ["4", ..]
- | ["5", ..]
- | ["6", ..]
- | ["7", ..]
- | ["8", ..]
- | ["9", ..] -> parse_number(input, 0, Positive)
-
- ["\"", "\"", "\"", ..input] -> parse_multi_line_string(input, "")
- ["\"", ..input] -> parse_string(input, "")
-
- ["'", "'", "'", ..input] -> parse_multi_line_literal_string(input, "")
- ["'", ..input] -> parse_literal_string(input, "")
-
- [g, ..] -> Error(Unexpected(g, "value"))
- [] -> Error(Unexpected("EOF", "value"))
- }
-}
-
-fn parse_key(input: Tokens, segments: List(String)) -> Parsed(List(String)) {
- use segment, input <- do(parse_key_segment(input))
- let segments = [segment, ..segments]
- let input = skip_line_whitespace(input)
-
- case input {
- [".", ..input] -> parse_key(input, segments)
- _ -> Ok(#(list.reverse(segments), input))
- }
-}
-
-fn parse_key_segment(input: Tokens) -> Parsed(String) {
- let input = skip_line_whitespace(input)
- case input {
- ["=", ..] -> Error(Unexpected("=", "Key"))
- ["\n", ..] -> Error(Unexpected("\n", "Key"))
- ["\r\n", ..] -> Error(Unexpected("\r\n", "Key"))
- ["[", ..] -> Error(Unexpected("[", "Key"))
- ["\"", ..input] -> parse_key_quoted(input, "\"", "")
- ["'", ..input] -> parse_key_quoted(input, "'", "")
- _ -> parse_key_bare(input, "")
- }
-}
-
-fn parse_key_quoted(
- input: Tokens,
- close: String,
- name: String,
-) -> Parsed(String) {
- case input {
- [g, ..input] if g == close -> Ok(#(name, input))
- [g, ..input] -> parse_key_quoted(input, close, name <> g)
- [] -> Error(Unexpected("EOF", close))
- }
-}
-
-fn parse_key_bare(input: Tokens, name: String) -> Parsed(String) {
- case input {
- [" ", ..input] if name != "" -> Ok(#(name, input))
- ["=", ..] if name != "" -> Ok(#(name, input))
- [".", ..] if name != "" -> Ok(#(name, input))
- ["]", ..] if name != "" -> Ok(#(name, input))
- [",", ..] if name != "" -> Error(Unexpected(",", "="))
- ["\n", ..] if name != "" -> Error(Unexpected("\n", "="))
- ["\r\n", ..] if name != "" -> Error(Unexpected("\r\n", "="))
- ["\n", ..] -> Error(Unexpected("\n", "key"))
- ["\r\n", ..] -> Error(Unexpected("\r\n", "key"))
- ["]", ..] -> Error(Unexpected("]", "key"))
- [",", ..] -> Error(Unexpected(",", "key"))
- [g, ..input] -> parse_key_bare(input, name <> g)
- [] -> Error(Unexpected("EOF", "key"))
- }
-}
-
-fn skip_line_whitespace(input: Tokens) -> Tokens {
- list.drop_while(input, fn(g) { g == " " || g == "\t" })
-}
-
-fn skip_whitespace(input: Tokens) -> Tokens {
- case input {
- [" ", ..input] -> skip_whitespace(input)
- ["\t", ..input] -> skip_whitespace(input)
- ["\n", ..input] -> skip_whitespace(input)
- ["\r\n", ..input] -> skip_whitespace(input)
- input -> input
- }
-}
-
-fn drop_comments(input: Tokens, acc: Tokens) -> Tokens {
- case input {
- ["#", ..input] ->
- input
- |> list.drop_while(fn(g) { g != "\n" })
- |> drop_comments(acc)
- [g, ..input] -> drop_comments(input, [g, ..acc])
- [] -> list.reverse(acc)
- }
-}
-
-fn do(
- result: Result(#(a, Tokens), ParseError),
- next: fn(a, Tokens) -> Result(b, ParseError),
-) -> Result(b, ParseError) {
- case result {
- Ok(#(a, input)) -> next(a, input)
- Error(e) -> Error(e)
- }
-}
-
-fn expect(
- input: Tokens,
- expected: String,
- next: fn(Tokens) -> Parsed(a),
-) -> Parsed(a) {
- case input {
- [g, ..input] if g == expected -> next(input)
- [g, ..] -> Error(Unexpected(g, expected))
- [] -> Error(Unexpected("EOF", expected))
- }
-}
-
-fn parse_inline_table(
- input: Tokens,
- properties: Map(String, Toml),
-) -> Parsed(Toml) {
- let input = skip_whitespace(input)
- case input {
- ["}", ..input] -> Ok(#(InlineTable(properties), input))
- _ ->
- case parse_inline_table_property(input, properties) {
- Ok(#(properties, input)) -> {
- let input = skip_whitespace(input)
- case input {
- ["}", ..input] -> Ok(#(InlineTable(properties), input))
- [",", ..input] -> {
- let input = skip_whitespace(input)
- parse_inline_table(input, properties)
- }
- [g, ..] -> Error(Unexpected(g, "}"))
- [] -> Error(Unexpected("EOF", "}"))
- }
- }
- Error(e) -> Error(e)
- }
- }
-}
-
-fn parse_inline_table_property(
- input: Tokens,
- properties: Map(String, Toml),
-) -> Parsed(Map(String, Toml)) {
- let input = skip_whitespace(input)
- use key, input <- do(parse_key(input, []))
- let input = skip_line_whitespace(input)
- use input <- expect(input, "=")
- let input = skip_line_whitespace(input)
- use value, input <- do(parse_value(input))
- case insert(properties, key, value) {
- Ok(properties) -> Ok(#(properties, input))
- Error(e) -> Error(e)
- }
-}
-
-fn parse_array(input: Tokens, elements: List(Toml)) -> Parsed(Toml) {
- let input = skip_whitespace(input)
- case input {
- ["]", ..input] -> Ok(#(Array(list.reverse(elements)), input))
- _ -> {
- use element, input <- do(parse_value(input))
- let elements = [element, ..elements]
- let input = skip_whitespace(input)
- case input {
- ["]", ..input] -> Ok(#(Array(list.reverse(elements)), input))
- [",", ..input] -> {
- let input = skip_whitespace(input)
- parse_array(input, elements)
- }
- [g, ..] -> Error(Unexpected(g, "]"))
- [] -> Error(Unexpected("EOF", "]"))
- }
- }
- }
-}
-
-fn parse_hex(input: Tokens, number: Int, sign: Sign) -> Parsed(Toml) {
- case input {
- ["_", ..input] -> parse_hex(input, number, sign)
- ["0", ..input] -> parse_hex(input, number * 16 + 0, sign)
- ["1", ..input] -> parse_hex(input, number * 16 + 1, sign)
- ["2", ..input] -> parse_hex(input, number * 16 + 2, sign)
- ["3", ..input] -> parse_hex(input, number * 16 + 3, sign)
- ["4", ..input] -> parse_hex(input, number * 16 + 4, sign)
- ["5", ..input] -> parse_hex(input, number * 16 + 5, sign)
- ["6", ..input] -> parse_hex(input, number * 16 + 6, sign)
- ["7", ..input] -> parse_hex(input, number * 16 + 7, sign)
- ["8", ..input] -> parse_hex(input, number * 16 + 8, sign)
- ["9", ..input] -> parse_hex(input, number * 16 + 9, sign)
- ["a", ..input] -> parse_hex(input, number * 16 + 10, sign)
- ["b", ..input] -> parse_hex(input, number * 16 + 11, sign)
- ["c", ..input] -> parse_hex(input, number * 16 + 12, sign)
- ["d", ..input] -> parse_hex(input, number * 16 + 13, sign)
- ["e", ..input] -> parse_hex(input, number * 16 + 14, sign)
- ["f", ..input] -> parse_hex(input, number * 16 + 15, sign)
- ["A", ..input] -> parse_hex(input, number * 16 + 10, sign)
- ["B", ..input] -> parse_hex(input, number * 16 + 11, sign)
- ["C", ..input] -> parse_hex(input, number * 16 + 12, sign)
- ["D", ..input] -> parse_hex(input, number * 16 + 13, sign)
- ["E", ..input] -> parse_hex(input, number * 16 + 14, sign)
- ["F", ..input] -> parse_hex(input, number * 16 + 15, sign)
-
- // Anything else and the number is terminated
- input -> {
- let number = case sign {
- Positive -> number
- Negative -> -number
- }
- Ok(#(Int(number), input))
- }
- }
-}
-
-fn parse_octal(input: Tokens, number: Int, sign: Sign) -> Parsed(Toml) {
- case input {
- ["_", ..input] -> parse_octal(input, number, sign)
- ["0", ..input] -> parse_octal(input, number * 8 + 0, sign)
- ["1", ..input] -> parse_octal(input, number * 8 + 1, sign)
- ["2", ..input] -> parse_octal(input, number * 8 + 2, sign)
- ["3", ..input] -> parse_octal(input, number * 8 + 3, sign)
- ["4", ..input] -> parse_octal(input, number * 8 + 4, sign)
- ["5", ..input] -> parse_octal(input, number * 8 + 5, sign)
- ["6", ..input] -> parse_octal(input, number * 8 + 6, sign)
- ["7", ..input] -> parse_octal(input, number * 8 + 7, sign)
-
- // Anything else and the number is terminated
- input -> {
- let number = case sign {
- Positive -> number
- Negative -> -number
- }
- Ok(#(Int(number), input))
- }
- }
-}
-
-fn parse_binary(input: Tokens, number: Int, sign: Sign) -> Parsed(Toml) {
- case input {
- ["_", ..input] -> parse_binary(input, number, sign)
- ["0", ..input] -> parse_binary(input, number * 2 + 0, sign)
- ["1", ..input] -> parse_binary(input, number * 2 + 1, sign)
-
- // Anything else and the number is terminated
- input -> {
- let number = case sign {
- Positive -> number
- Negative -> -number
- }
- Ok(#(Int(number), input))
- }
- }
-}
-
-fn parse_number(input: Tokens, number: Int, sign: Sign) -> Parsed(Toml) {
- case input {
- ["_", ..input] -> parse_number(input, number, sign)
- ["0", ..input] -> parse_number(input, number * 10 + 0, sign)
- ["1", ..input] -> parse_number(input, number * 10 + 1, sign)
- ["2", ..input] -> parse_number(input, number * 10 + 2, sign)
- ["3", ..input] -> parse_number(input, number * 10 + 3, sign)
- ["4", ..input] -> parse_number(input, number * 10 + 4, sign)
- ["5", ..input] -> parse_number(input, number * 10 + 5, sign)
- ["6", ..input] -> parse_number(input, number * 10 + 6, sign)
- ["7", ..input] -> parse_number(input, number * 10 + 7, sign)
- ["8", ..input] -> parse_number(input, number * 10 + 8, sign)
- ["9", ..input] -> parse_number(input, number * 10 + 9, sign)
-
- ["-", ..input] -> parse_date(input, number)
- [":", ..input] if number < 24 -> parse_time_minute(input, number)
-
- [".", ..input] -> parse_float(input, int.to_float(number), sign, 0.1)
-
- ["e", "+", ..input] ->
- parse_exponent(input, int.to_float(number), sign, 0, Positive)
- ["e", "-", ..input] ->
- parse_exponent(input, int.to_float(number), sign, 0, Negative)
- ["e", ..input] ->
- parse_exponent(input, int.to_float(number), sign, 0, Positive)
- ["E", "+", ..input] ->
- parse_exponent(input, int.to_float(number), sign, 0, Positive)
- ["E", "-", ..input] ->
- parse_exponent(input, int.to_float(number), sign, 0, Negative)
- ["E", ..input] ->
- parse_exponent(input, int.to_float(number), sign, 0, Positive)
-
- // Anything else and the number is terminated
- input -> {
- let number = case sign {
- Positive -> number
- Negative -> -number
- }
- Ok(#(Int(number), input))
- }
- }
-}
-
-fn parse_exponent(
- input: Tokens,
- n: Float,
- n_sign: Sign,
- ex: Int,
- ex_sign: Sign,
-) -> Parsed(Toml) {
- case input {
- ["_", ..input] -> parse_exponent(input, n, n_sign, ex, ex_sign)
- ["0", ..input] -> parse_exponent(input, n, n_sign, ex * 10, ex_sign)
- ["1", ..input] -> parse_exponent(input, n, n_sign, ex * 10 + 1, ex_sign)
- ["2", ..input] -> parse_exponent(input, n, n_sign, ex * 10 + 2, ex_sign)
- ["3", ..input] -> parse_exponent(input, n, n_sign, ex * 10 + 3, ex_sign)
- ["4", ..input] -> parse_exponent(input, n, n_sign, ex * 10 + 4, ex_sign)
- ["5", ..input] -> parse_exponent(input, n, n_sign, ex * 10 + 5, ex_sign)
- ["6", ..input] -> parse_exponent(input, n, n_sign, ex * 10 + 6, ex_sign)
- ["7", ..input] -> parse_exponent(input, n, n_sign, ex * 10 + 7, ex_sign)
- ["8", ..input] -> parse_exponent(input, n, n_sign, ex * 10 + 8, ex_sign)
- ["9", ..input] -> parse_exponent(input, n, n_sign, ex * 10 + 9, ex_sign)
-
- // Anything else and the number is terminated
- input -> {
- let number = case n_sign {
- Positive -> n
- Negative -> n *. -1.0
- }
- let exponent =
- int.to_float(case ex_sign {
- Positive -> ex
- Negative -> -ex
- })
- let multiplier = case float.power(10.0, exponent) {
- Ok(multiplier) -> multiplier
- Error(_) -> 1.0
- }
- Ok(#(Float(number *. multiplier), input))
- }
- }
-}
-
-fn parse_float(
- input: Tokens,
- number: Float,
- sign: Sign,
- unit: Float,
-) -> Parsed(Toml) {
- case input {
- ["_", ..input] -> parse_float(input, number, sign, unit)
- ["0", ..input] -> parse_float(input, number, sign, unit *. 0.1)
- ["1", ..input] ->
- parse_float(input, number +. 1.0 *. unit, sign, unit *. 0.1)
- ["2", ..input] ->
- parse_float(input, number +. 2.0 *. unit, sign, unit *. 0.1)
- ["3", ..input] ->
- parse_float(input, number +. 3.0 *. unit, sign, unit *. 0.1)
- ["4", ..input] ->
- parse_float(input, number +. 4.0 *. unit, sign, unit *. 0.1)
- ["5", ..input] ->
- parse_float(input, number +. 5.0 *. unit, sign, unit *. 0.1)
- ["6", ..input] ->
- parse_float(input, number +. 6.0 *. unit, sign, unit *. 0.1)
- ["7", ..input] ->
- parse_float(input, number +. 7.0 *. unit, sign, unit *. 0.1)
- ["8", ..input] ->
- parse_float(input, number +. 8.0 *. unit, sign, unit *. 0.1)
- ["9", ..input] ->
- parse_float(input, number +. 9.0 *. unit, sign, unit *. 0.1)
-
- ["e", "+", ..input] -> parse_exponent(input, number, sign, 0, Positive)
- ["e", "-", ..input] -> parse_exponent(input, number, sign, 0, Negative)
- ["e", ..input] -> parse_exponent(input, number, sign, 0, Positive)
- ["E", "+", ..input] -> parse_exponent(input, number, sign, 0, Positive)
- ["E", "-", ..input] -> parse_exponent(input, number, sign, 0, Negative)
- ["E", ..input] -> parse_exponent(input, number, sign, 0, Positive)
-
- // Anything else and the number is terminated
- input -> {
- let number = case sign {
- Positive -> number
- Negative -> number *. -1.0
- }
- Ok(#(Float(number), input))
- }
- }
-}
-
-fn parse_string(input: Tokens, string: String) -> Parsed(Toml) {
- case input {
- ["\"", ..input] -> Ok(#(String(string), input))
- ["\\", "t", ..input] -> parse_string(input, string <> "\t")
- ["\\", "n", ..input] -> parse_string(input, string <> "\n")
- ["\\", "r", ..input] -> parse_string(input, string <> "\r")
- ["\\", "\"", ..input] -> parse_string(input, string <> "\"")
- ["\\", "\\", ..input] -> parse_string(input, string <> "\\")
- [] -> Error(Unexpected("EOF", "\""))
- ["\n", ..] -> Error(Unexpected("\n", "\""))
- ["\r\n", ..] -> Error(Unexpected("\r\n", "\""))
- [g, ..input] -> parse_string(input, string <> g)
- }
-}
-
-fn parse_multi_line_string(input: Tokens, string: String) -> Parsed(Toml) {
- case input {
- ["\"", "\"", "\"", ..input] -> Ok(#(String(string), input))
- ["\\", "\n", ..input] ->
- parse_multi_line_string(skip_whitespace(input), string)
- ["\\", "\r\n", ..input] ->
- parse_multi_line_string(skip_whitespace(input), string)
- ["\r\n", ..input] if string == "" -> parse_multi_line_string(input, string)
- ["\n", ..input] if string == "" -> parse_multi_line_string(input, string)
- ["\r\n", ..input] if string == "" -> parse_multi_line_string(input, string)
- ["\\", "t", ..input] -> parse_multi_line_string(input, string <> "\t")
- ["\\", "n", ..input] -> parse_multi_line_string(input, string <> "\n")
- ["\\", "r", ..input] -> parse_multi_line_string(input, string <> "\r")
- ["\\", "\"", ..input] -> parse_multi_line_string(input, string <> "\"")
- ["\\", "\\", ..input] -> parse_multi_line_string(input, string <> "\\")
- [] -> Error(Unexpected("EOF", "\""))
- [g, ..input] -> parse_multi_line_string(input, string <> g)
- }
-}
-
-fn parse_multi_line_literal_string(
- input: Tokens,
- string: String,
-) -> Parsed(Toml) {
- case input {
- [] -> Error(Unexpected("EOF", "\""))
- ["'", "'", "'", "'", ..] -> Error(Unexpected("''''", "'''"))
- ["'", "'", "'", ..input] -> Ok(#(String(string), input))
- ["\n", ..input] if string == "" ->
- parse_multi_line_literal_string(input, string)
- ["\r\n", ..input] if string == "" ->
- parse_multi_line_literal_string(input, string)
- [g, ..input] -> parse_multi_line_literal_string(input, string <> g)
- }
-}
-
-fn parse_literal_string(input: Tokens, string: String) -> Parsed(Toml) {
- case input {
- [] -> Error(Unexpected("EOF", "\""))
- ["\n", ..] -> Error(Unexpected("\n", "'"))
- ["\r\n", ..] -> Error(Unexpected("\r\n", "'"))
- ["'", ..input] -> Ok(#(String(string), input))
- [g, ..input] -> parse_literal_string(input, string <> g)
- }
-}
-
-fn reverse_arrays_of_tables(toml: Toml) -> Toml {
- case toml {
- ArrayOfTables(tables) ->
- ArrayOfTables(reverse_arrays_of_tables_array(tables, []))
-
- Table(table) -> Table(reverse_arrays_of_tables_table(table))
-
- _ -> toml
- }
-}
-
-fn reverse_arrays_of_tables_table(table: Map(String, Toml)) -> Map(String, Toml) {
- map.map_values(table, fn(_, v) { reverse_arrays_of_tables(v) })
-}
-
-fn reverse_arrays_of_tables_array(
- array: List(Map(String, Toml)),
- acc: List(Map(String, Toml)),
-) -> List(Map(String, Toml)) {
- case array {
- [] -> acc
- [first, ..rest] -> {
- let first = reverse_arrays_of_tables_table(first)
- reverse_arrays_of_tables_array(rest, [first, ..acc])
- }
- }
-}
-
-fn parse_time_minute(input: Tokens, hours: Int) -> Parsed(Toml) {
- use minutes, input <- do(parse_number_under_60(input, "minutes"))
- use #(seconds, ms), input <- do(parse_time_s_ms(input))
- let time = TimeValue(hours, minutes, seconds, ms)
- Ok(#(Time(time), input))
-}
-
-fn parse_hour_minute(input: Tokens) -> Parsed(#(Int, Int)) {
- use hours, input <- do(case input {
- ["0", "0", ":", ..input] -> Ok(#(0, input))
- ["0", "1", ":", ..input] -> Ok(#(1, input))
- ["0", "2", ":", ..input] -> Ok(#(2, input))
- ["0", "3", ":", ..input] -> Ok(#(3, input))
- ["0", "4", ":", ..input] -> Ok(#(4, input))
- ["0", "5", ":", ..input] -> Ok(#(5, input))
- ["0", "6", ":", ..input] -> Ok(#(6, input))
- ["0", "7", ":", ..input] -> Ok(#(7, input))
- ["0", "8", ":", ..input] -> Ok(#(8, input))
- ["0", "9", ":", ..input] -> Ok(#(9, input))
- ["1", "0", ":", ..input] -> Ok(#(10, input))
- ["1", "1", ":", ..input] -> Ok(#(11, input))
- ["1", "2", ":", ..input] -> Ok(#(12, input))
- ["1", "3", ":", ..input] -> Ok(#(13, input))
- ["1", "4", ":", ..input] -> Ok(#(14, input))
- ["1", "5", ":", ..input] -> Ok(#(15, input))
- ["1", "6", ":", ..input] -> Ok(#(16, input))
- ["1", "7", ":", ..input] -> Ok(#(17, input))
- ["1", "8", ":", ..input] -> Ok(#(18, input))
- ["1", "9", ":", ..input] -> Ok(#(19, input))
- ["2", "0", ":", ..input] -> Ok(#(20, input))
- ["2", "1", ":", ..input] -> Ok(#(21, input))
- ["2", "2", ":", ..input] -> Ok(#(22, input))
- ["2", "3", ":", ..input] -> Ok(#(23, input))
- [g, ..] -> Error(Unexpected(g, "time"))
- [] -> Error(Unexpected("EOF", "time"))
- })
-
- use minutes, input <- do(parse_number_under_60(input, "minutes"))
- Ok(#(#(hours, minutes), input))
-}
-
-fn parse_time_value(input: Tokens) -> Parsed(Time) {
- use #(hours, minutes), input <- do(parse_hour_minute(input))
- use #(seconds, ms), input <- do(parse_time_s_ms(input))
- let time = TimeValue(hours, minutes, seconds, ms)
- Ok(#(time, input))
-}
-
-fn parse_time_s_ms(input: Tokens) -> Parsed(#(Int, Int)) {
- case input {
- [":", ..input] -> {
- use seconds, input <- do(parse_number_under_60(input, "seconds"))
- case input {
- [".", ..input] -> parse_time_ms(input, seconds, 0)
- _ -> Ok(#(#(seconds, 0), input))
- }
- }
-
- _ -> Ok(#(#(0, 0), input))
- }
-}
-
-fn parse_time_ms(input: Tokens, seconds: Int, ms: Int) -> Parsed(#(Int, Int)) {
- case input {
- ["0", ..input] if ms < 100_000 -> parse_time_ms(input, seconds, ms * 10 + 0)
- ["1", ..input] if ms < 100_000 -> parse_time_ms(input, seconds, ms * 10 + 1)
- ["2", ..input] if ms < 100_000 -> parse_time_ms(input, seconds, ms * 10 + 2)
- ["3", ..input] if ms < 100_000 -> parse_time_ms(input, seconds, ms * 10 + 3)
- ["4", ..input] if ms < 100_000 -> parse_time_ms(input, seconds, ms * 10 + 4)
- ["5", ..input] if ms < 100_000 -> parse_time_ms(input, seconds, ms * 10 + 5)
- ["6", ..input] if ms < 100_000 -> parse_time_ms(input, seconds, ms * 10 + 6)
- ["7", ..input] if ms < 100_000 -> parse_time_ms(input, seconds, ms * 10 + 7)
- ["8", ..input] if ms < 100_000 -> parse_time_ms(input, seconds, ms * 10 + 8)
- ["9", ..input] if ms < 100_000 -> parse_time_ms(input, seconds, ms * 10 + 9)
-
- // Anything else and the number is terminated
- _ -> Ok(#(#(seconds, ms), input))
- }
-}
-
-fn parse_number_under_60(input: Tokens, expected: String) -> Parsed(Int) {
- case input {
- ["0", "0", ..input] -> Ok(#(0, input))
- ["0", "1", ..input] -> Ok(#(1, input))
- ["0", "2", ..input] -> Ok(#(2, input))
- ["0", "3", ..input] -> Ok(#(3, input))
- ["0", "4", ..input] -> Ok(#(4, input))
- ["0", "5", ..input] -> Ok(#(5, input))
- ["0", "6", ..input] -> Ok(#(6, input))
- ["0", "7", ..input] -> Ok(#(7, input))
- ["0", "8", ..input] -> Ok(#(8, input))
- ["0", "9", ..input] -> Ok(#(9, input))
- ["1", "0", ..input] -> Ok(#(10, input))
- ["1", "1", ..input] -> Ok(#(11, input))
- ["1", "2", ..input] -> Ok(#(12, input))
- ["1", "3", ..input] -> Ok(#(13, input))
- ["1", "4", ..input] -> Ok(#(14, input))
- ["1", "5", ..input] -> Ok(#(15, input))
- ["1", "6", ..input] -> Ok(#(16, input))
- ["1", "7", ..input] -> Ok(#(17, input))
- ["1", "8", ..input] -> Ok(#(18, input))
- ["1", "9", ..input] -> Ok(#(19, input))
- ["2", "0", ..input] -> Ok(#(20, input))
- ["2", "1", ..input] -> Ok(#(21, input))
- ["2", "2", ..input] -> Ok(#(22, input))
- ["2", "3", ..input] -> Ok(#(23, input))
- ["2", "4", ..input] -> Ok(#(24, input))
- ["2", "5", ..input] -> Ok(#(25, input))
- ["2", "6", ..input] -> Ok(#(26, input))
- ["2", "7", ..input] -> Ok(#(27, input))
- ["2", "8", ..input] -> Ok(#(28, input))
- ["2", "9", ..input] -> Ok(#(29, input))
- ["3", "0", ..input] -> Ok(#(30, input))
- ["3", "1", ..input] -> Ok(#(31, input))
- ["3", "2", ..input] -> Ok(#(32, input))
- ["3", "3", ..input] -> Ok(#(33, input))
- ["3", "4", ..input] -> Ok(#(34, input))
- ["3", "5", ..input] -> Ok(#(35, input))
- ["3", "6", ..input] -> Ok(#(36, input))
- ["3", "7", ..input] -> Ok(#(37, input))
- ["3", "8", ..input] -> Ok(#(38, input))
- ["3", "9", ..input] -> Ok(#(39, input))
- ["4", "0", ..input] -> Ok(#(40, input))
- ["4", "1", ..input] -> Ok(#(41, input))
- ["4", "2", ..input] -> Ok(#(42, input))
- ["4", "3", ..input] -> Ok(#(43, input))
- ["4", "4", ..input] -> Ok(#(44, input))
- ["4", "5", ..input] -> Ok(#(45, input))
- ["4", "6", ..input] -> Ok(#(46, input))
- ["4", "7", ..input] -> Ok(#(47, input))
- ["4", "8", ..input] -> Ok(#(48, input))
- ["4", "9", ..input] -> Ok(#(49, input))
- ["5", "0", ..input] -> Ok(#(50, input))
- ["5", "1", ..input] -> Ok(#(51, input))
- ["5", "2", ..input] -> Ok(#(52, input))
- ["5", "3", ..input] -> Ok(#(53, input))
- ["5", "4", ..input] -> Ok(#(54, input))
- ["5", "5", ..input] -> Ok(#(55, input))
- ["5", "6", ..input] -> Ok(#(56, input))
- ["5", "7", ..input] -> Ok(#(57, input))
- ["5", "8", ..input] -> Ok(#(58, input))
- ["5", "9", ..input] -> Ok(#(59, input))
-
- [g, ..] -> Error(Unexpected(g, expected))
- [] -> Error(Unexpected("EOF", expected))
- }
-}
-
-fn parse_date(input: Tokens, year: Int) -> Parsed(Toml) {
- case input {
- ["0", "1", "-", ..input] -> parse_date_day(input, year, 1)
- ["0", "2", "-", ..input] -> parse_date_day(input, year, 2)
- ["0", "3", "-", ..input] -> parse_date_day(input, year, 3)
- ["0", "4", "-", ..input] -> parse_date_day(input, year, 4)
- ["0", "5", "-", ..input] -> parse_date_day(input, year, 5)
- ["0", "6", "-", ..input] -> parse_date_day(input, year, 6)
- ["0", "7", "-", ..input] -> parse_date_day(input, year, 7)
- ["0", "8", "-", ..input] -> parse_date_day(input, year, 8)
- ["0", "9", "-", ..input] -> parse_date_day(input, year, 9)
- ["1", "0", "-", ..input] -> parse_date_day(input, year, 10)
- ["1", "1", "-", ..input] -> parse_date_day(input, year, 11)
- ["1", "2", "-", ..input] -> parse_date_day(input, year, 12)
-
- [g, ..] -> Error(Unexpected(g, "date month"))
- [] -> Error(Unexpected("EOF", "date month"))
- }
-}
-
-fn parse_date_day(input: Tokens, year: Int, month: Int) -> Parsed(Toml) {
- case input {
- ["0", "1", ..input] -> parse_date_end(input, year, month, 1)
- ["0", "2", ..input] -> parse_date_end(input, year, month, 2)
- ["0", "3", ..input] -> parse_date_end(input, year, month, 3)
- ["0", "4", ..input] -> parse_date_end(input, year, month, 4)
- ["0", "5", ..input] -> parse_date_end(input, year, month, 5)
- ["0", "6", ..input] -> parse_date_end(input, year, month, 6)
- ["0", "7", ..input] -> parse_date_end(input, year, month, 7)
- ["0", "8", ..input] -> parse_date_end(input, year, month, 8)
- ["0", "9", ..input] -> parse_date_end(input, year, month, 9)
- ["1", "0", ..input] -> parse_date_end(input, year, month, 10)
- ["1", "1", ..input] -> parse_date_end(input, year, month, 11)
- ["1", "2", ..input] -> parse_date_end(input, year, month, 12)
- ["1", "3", ..input] -> parse_date_end(input, year, month, 13)
- ["1", "4", ..input] -> parse_date_end(input, year, month, 14)
- ["1", "5", ..input] -> parse_date_end(input, year, month, 15)
- ["1", "6", ..input] -> parse_date_end(input, year, month, 16)
- ["1", "7", ..input] -> parse_date_end(input, year, month, 17)
- ["1", "8", ..input] -> parse_date_end(input, year, month, 18)
- ["1", "9", ..input] -> parse_date_end(input, year, month, 19)
- ["2", "0", ..input] -> parse_date_end(input, year, month, 20)
- ["2", "1", ..input] -> parse_date_end(input, year, month, 21)
- ["2", "2", ..input] -> parse_date_end(input, year, month, 22)
- ["2", "3", ..input] -> parse_date_end(input, year, month, 23)
- ["2", "4", ..input] -> parse_date_end(input, year, month, 24)
- ["2", "5", ..input] -> parse_date_end(input, year, month, 25)
- ["2", "6", ..input] -> parse_date_end(input, year, month, 26)
- ["2", "7", ..input] -> parse_date_end(input, year, month, 27)
- ["2", "8", ..input] -> parse_date_end(input, year, month, 28)
- ["2", "9", ..input] -> parse_date_end(input, year, month, 29)
- ["3", "0", ..input] -> parse_date_end(input, year, month, 30)
- ["3", "1", ..input] -> parse_date_end(input, year, month, 31)
-
- [g, ..] -> Error(Unexpected(g, "date day"))
- [] -> Error(Unexpected("EOF", "date day"))
- }
-}
-
-fn parse_date_end(
- input: Tokens,
- year: Int,
- month: Int,
- day: Int,
-) -> Parsed(Toml) {
- let date = DateValue(year, month, day)
- case input {
- [" ", ..input] | ["T", ..input] -> {
- use time, input <- do(parse_time_value(input))
- use offset, input <- do(parse_offset(input))
- Ok(#(DateTime(DateTimeValue(date, time, offset)), input))
- }
-
- _ -> Ok(#(Date(date), input))
- }
-}
-
-fn parse_offset(input: Tokens) -> Parsed(Offset) {
- case input {
- ["Z", ..input] -> Ok(#(Offset(Positive, 0, 0), input))
- ["+", ..input] -> parse_offset_hours(input, Positive)
- ["-", ..input] -> parse_offset_hours(input, Negative)
- _ -> Ok(#(Local, input))
- }
-}
-
-fn parse_offset_hours(input: Tokens, sign: Sign) -> Parsed(Offset) {
- use #(hours, minutes), input <- do(parse_hour_minute(input))
- Ok(#(Offset(sign, hours, minutes), input))
-}
diff --git a/aoc2023/build/prod/erlang/gleam.lock b/aoc2023/build/prod/erlang/gleam.lock
deleted file mode 100644
index e69de29..0000000
--- a/aoc2023/build/prod/erlang/gleam.lock
+++ /dev/null
diff --git a/aoc2023/build/prod/javascript/gleam.lock b/aoc2023/build/prod/javascript/gleam.lock
deleted file mode 100644
index e69de29..0000000
--- a/aoc2023/build/prod/javascript/gleam.lock
+++ /dev/null
diff --git a/aoc2023/erl_crash.dump b/aoc2023/erl_crash.dump
deleted file mode 100644
index ef1d35a..0000000
--- a/aoc2023/erl_crash.dump
+++ /dev/null
@@ -1,67195 +0,0 @@
-=erl_crash_dump:0.5
-Thu Dec 7 01:00:23 2023
-Slogan: Runtime terminating during boot ({,[{showtime@internal@reports@formatter,-create_test_report/1-fun-4-,1,[{_},{_}]},{gleam@list,do_filter_map,3,[{_},{_}]},{showtime@internal@reports@formatter,create_test_report,1,[{_},{_}]},{showtime@internal@erlang@event_handler,-start/0-fun-1-,2,[{_},{_}]},{gleam@otp@actor,loop,1,[{_},{_}]}]})
-System version: Erlang/OTP 26 [erts-14.0.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [jit] [dtrace]
-Taints:
-Atoms: 11705
-Calling Thread: scheduler:1
-=scheduler:1
-Scheduler Sleep Info Flags:
-Scheduler Sleep Info Aux Work: THR_PRGR_LATER_OP
-Current Port:
-Run Queue Max Length: 0
-Run Queue High Length: 0
-Run Queue Normal Length: 2
-Run Queue Low Length: 0
-Run Queue Port Length: 0
-Run Queue Flags: NONEMPTY_NORMAL | OUT_OF_WORK | HALFTIME_OUT_OF_WORK | NONEMPTY | EXEC
-Current Process: <0.0.0>
-Current Process State: Running
-Current Process Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL | ACTIVE | RUNNING | ACTIVE_SYS
-Current Process Program counter: 0x0000000103d889fc (init:boot_loop/2 + 84)
-Current Process Limited Stack Trace:
-0x0000000105dda900:SReturn addr 0x3D82348 (<terminate process normally>)
-=scheduler:2
-Scheduler Sleep Info Flags: SLEEPING | POLL_SLEEPING | TSE_SLEEPING | WAITING
-Scheduler Sleep Info Aux Work:
-Current Port:
-Run Queue Max Length: 0
-Run Queue High Length: 0
-Run Queue Normal Length: 0
-Run Queue Low Length: 0
-Run Queue Port Length: 0
-Run Queue Flags: OUT_OF_WORK | HALFTIME_OUT_OF_WORK
-Current Process:
-=scheduler:3
-Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING | WAITING
-Scheduler Sleep Info Aux Work:
-Current Port:
-Run Queue Max Length: 0
-Run Queue High Length: 0
-Run Queue Normal Length: 0
-Run Queue Low Length: 0
-Run Queue Port Length: 0
-Run Queue Flags: OUT_OF_WORK | HALFTIME_OUT_OF_WORK
-Current Process:
-=scheduler:4
-Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING | WAITING
-Scheduler Sleep Info Aux Work:
-Current Port:
-Run Queue Max Length: 0
-Run Queue High Length: 0
-Run Queue Normal Length: 0
-Run Queue Low Length: 0
-Run Queue Port Length: 0
-Run Queue Flags: OUT_OF_WORK | HALFTIME_OUT_OF_WORK
-Current Process:
-=scheduler:5
-Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING | WAITING
-Scheduler Sleep Info Aux Work:
-Current Port:
-Run Queue Max Length: 0
-Run Queue High Length: 0
-Run Queue Normal Length: 0
-Run Queue Low Length: 0
-Run Queue Port Length: 0
-Run Queue Flags: OUT_OF_WORK | HALFTIME_OUT_OF_WORK
-Current Process:
-=scheduler:6
-Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING | WAITING
-Scheduler Sleep Info Aux Work:
-Current Port:
-Run Queue Max Length: 0
-Run Queue High Length: 0
-Run Queue Normal Length: 0
-Run Queue Low Length: 0
-Run Queue Port Length: 0
-Run Queue Flags: OUT_OF_WORK | HALFTIME_OUT_OF_WORK
-Current Process:
-=scheduler:7
-Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING | WAITING
-Scheduler Sleep Info Aux Work:
-Current Port:
-Run Queue Max Length: 0
-Run Queue High Length: 0
-Run Queue Normal Length: 0
-Run Queue Low Length: 0
-Run Queue Port Length: 0
-Run Queue Flags: OUT_OF_WORK | HALFTIME_OUT_OF_WORK
-Current Process:
-=scheduler:8
-Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING | WAITING
-Scheduler Sleep Info Aux Work:
-Current Port:
-Run Queue Max Length: 0
-Run Queue High Length: 0
-Run Queue Normal Length: 0
-Run Queue Low Length: 0
-Run Queue Port Length: 0
-Run Queue Flags: OUT_OF_WORK | HALFTIME_OUT_OF_WORK
-Current Process:
-=memory
-total: 24121588
-processes: 7426424
-processes_used: 7419720
-system: 16695164
-atom: 327857
-atom_used: 307203
-binary: 475240
-code: 6109634
-ets: 600608
-=hash_table:atom_tab
-size: 8192
-used: 6198
-objs: 11705
-depth: 8
-=index_table:atom_tab
-size: 12288
-limit: 1048576
-entries: 11705
-=hash_table:module_code
-size: 128
-used: 106
-objs: 180
-depth: 4
-=index_table:module_code
-size: 1024
-limit: 65536
-entries: 180
-=hash_table:export_list
-size: 4096
-used: 2753
-objs: 4462
-depth: 7
-=index_table:export_list
-size: 5120
-limit: 524288
-entries: 4462
-=hash_table:export_list
-size: 4096
-used: 2746
-objs: 4441
-depth: 7
-=hash_table:process_reg
-size: 64
-used: 39
-objs: 52
-depth: 5
-=hash_table:fun_table
-size: 1024
-used: 641
-objs: 987
-depth: 5
-=hash_table:node_table
-size: 16
-used: 1
-objs: 1
-depth: 1
-=hash_table:dist_table
-size: 16
-used: 1
-objs: 1
-depth: 1
-=allocated_areas
-sys_misc: 57656
-static: 2107456
-atom_space: 163880 143226
-atom_table: 163977
-module_table: 107736
-export_table: 221604
-export_list: 892400
-register_table: 628
-fun_table: 8306
-module_refs: 8592
-loaded_code: 4870996
-dist_table: 691
-node_table: 291
-bits_bufs_size: 0
-bif_timer: 0
-process_table: 3145728
-port_table: 786432
-ets_misc: 131072
-external_alloc: 4870996
-=allocator:sys_alloc
-option e: true
-option m: libc
-=allocator:temp_alloc[0]
-versions: 2.1 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 90
-option rsbcmt: 80
-option rmbcmt: 100
-option mmbcs: 131072
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 10485760
-option smbcs: 1048576
-option mbcgs: 10
-option acul: 0
-option acful: 0
-option acnl: 0
-option acfml: 0
-option cp: undefined
-option mbsd: 3
-option as: gf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 5 5
-mbcs blocks[temp_alloc] size: 0 11288 11288
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 131072 131072 131072
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 131072
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-temp_alloc calls: 1067
-temp_free calls: 1067
-temp_realloc calls: 1
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:temp_alloc[1]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 90
-option rsbcmt: 80
-option rmbcmt: 100
-option mmbcs: 131072
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 10485760
-option smbcs: 1048576
-option mbcgs: 10
-option acul: 0
-option acful: 0
-option acnl: 0
-option acfml: 0
-option cp: undefined
-option as: af
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 1 5 5
-mbcs blocks[temp_alloc] size: 65544 655448 655448
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 2 2
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 131072 1179648 1179648
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 131072
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-temp_alloc calls: 9479
-temp_free calls: 9478
-temp_realloc calls: 134
-mseg_alloc calls: 4
-mseg_dealloc calls: 4
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:temp_alloc[2]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 90
-option rsbcmt: 80
-option rmbcmt: 100
-option mmbcs: 131072
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 10485760
-option smbcs: 1048576
-option mbcgs: 10
-option acul: 0
-option acful: 0
-option acnl: 0
-option acfml: 0
-option cp: undefined
-option as: af
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 1 1
-mbcs blocks[temp_alloc] size: 0 56 56
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 131072 131072 131072
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 131072
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-temp_alloc calls: 1
-temp_free calls: 1
-temp_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:temp_alloc[3]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 90
-option rsbcmt: 80
-option rmbcmt: 100
-option mmbcs: 131072
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 10485760
-option smbcs: 1048576
-option mbcgs: 10
-option acul: 0
-option acful: 0
-option acnl: 0
-option acfml: 0
-option cp: undefined
-option as: af
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 1 1
-mbcs blocks[temp_alloc] size: 0 56 56
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 131072 131072 131072
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 131072
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-temp_alloc calls: 1
-temp_free calls: 1
-temp_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:temp_alloc[4]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 90
-option rsbcmt: 80
-option rmbcmt: 100
-option mmbcs: 131072
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 10485760
-option smbcs: 1048576
-option mbcgs: 10
-option acul: 0
-option acful: 0
-option acnl: 0
-option acfml: 0
-option cp: undefined
-option as: af
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 1 1
-mbcs blocks[temp_alloc] size: 0 56 56
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 131072 131072 131072
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 131072
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-temp_alloc calls: 1
-temp_free calls: 1
-temp_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:temp_alloc[5]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 90
-option rsbcmt: 80
-option rmbcmt: 100
-option mmbcs: 131072
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 10485760
-option smbcs: 1048576
-option mbcgs: 10
-option acul: 0
-option acful: 0
-option acnl: 0
-option acfml: 0
-option cp: undefined
-option as: af
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 1 1
-mbcs blocks[temp_alloc] size: 0 56 56
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 131072 131072 131072
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 131072
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-temp_alloc calls: 1
-temp_free calls: 1
-temp_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:temp_alloc[6]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 90
-option rsbcmt: 80
-option rmbcmt: 100
-option mmbcs: 131072
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 10485760
-option smbcs: 1048576
-option mbcgs: 10
-option acul: 0
-option acful: 0
-option acnl: 0
-option acfml: 0
-option cp: undefined
-option as: af
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 4 4
-mbcs blocks[temp_alloc] size: 0 6296 6296
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 131072 131072 131072
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 131072
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-temp_alloc calls: 616
-temp_free calls: 616
-temp_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:temp_alloc[7]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 90
-option rsbcmt: 80
-option rmbcmt: 100
-option mmbcs: 131072
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 10485760
-option smbcs: 1048576
-option mbcgs: 10
-option acul: 0
-option acful: 0
-option acnl: 0
-option acfml: 0
-option cp: undefined
-option as: af
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 5 5
-mbcs blocks[temp_alloc] size: 0 11576 11576
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 131072 131072 131072
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 131072
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-temp_alloc calls: 1049
-temp_free calls: 1049
-temp_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:temp_alloc[8]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 90
-option rsbcmt: 80
-option rmbcmt: 100
-option mmbcs: 131072
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 10485760
-option smbcs: 1048576
-option mbcgs: 10
-option acul: 0
-option acful: 0
-option acnl: 0
-option acfml: 0
-option cp: undefined
-option as: af
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 5 5
-mbcs blocks[temp_alloc] size: 0 6488 6488
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 131072 131072 131072
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 131072
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-temp_alloc calls: 1002
-temp_free calls: 1002
-temp_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:sl_alloc[0]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 80
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 0
-option acful: 0
-option acnl: 0
-option acfml: 0
-option cp: undefined
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 6 81 81
-mbcs blocks[sl_alloc] size: 576 41440 41440
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 2 2
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 294912 294912
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-sl_alloc calls: 665
-sl_free calls: 659
-sl_realloc calls: 0
-mseg_alloc calls: 2
-mseg_dealloc calls: 2
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:sl_alloc[1]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 80
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: S
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 1 6337 6337
-mbcs blocks[sl_alloc] size: 112 1263320 1263320
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 3 3
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 1343488 1343488
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-sl_alloc calls: 11588
-sl_free calls: 11587
-sl_realloc calls: 1
-mseg_alloc calls: 19
-mseg_dealloc calls: 19
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:sl_alloc[2]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 80
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: S
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 1 1
-mbcs blocks[sl_alloc] size: 0 64 64
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-sl_alloc calls: 1
-sl_free calls: 1
-sl_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:sl_alloc[3]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 80
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: S
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-sl_alloc calls: 0
-sl_free calls: 0
-sl_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:sl_alloc[4]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 80
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: S
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-sl_alloc calls: 0
-sl_free calls: 0
-sl_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:sl_alloc[5]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 80
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: S
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-sl_alloc calls: 0
-sl_free calls: 0
-sl_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:sl_alloc[6]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 80
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: S
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 156 156
-mbcs blocks[sl_alloc] size: 0 137448 137448
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 2 2
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 294912 294912
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-sl_alloc calls: 279
-sl_free calls: 279
-sl_realloc calls: 0
-mseg_alloc calls: 1
-mseg_dealloc calls: 1
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:sl_alloc[7]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 80
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: S
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 261 261
-mbcs blocks[sl_alloc] size: 0 214552 214552
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 2 2
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 294912 294912
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-sl_alloc calls: 619
-sl_free calls: 619
-sl_realloc calls: 1
-mseg_alloc calls: 1
-mseg_dealloc calls: 1
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:sl_alloc[8]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 80
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: S
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 166 166
-mbcs blocks[sl_alloc] size: 0 139368 139368
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 2 2
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 294912 294912
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-sl_alloc calls: 411
-sl_free calls: 411
-sl_realloc calls: 0
-mseg_alloc calls: 1
-mseg_dealloc calls: 1
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:std_alloc[0]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 0
-option acful: 0
-option acnl: 0
-option acfml: 0
-option cp: undefined
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 41 45 45
-mbcs blocks[std_alloc] size: 399040 406936 406936
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 2 2 2
-mbcs mseg carriers: 1
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 557056 557056 557056
-mbcs mseg carriers size: 524288
-mbcs sys_alloc carriers size: 32768
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-std_alloc calls: 65
-std_free calls: 24
-std_realloc calls: 1
-mseg_alloc calls: 1
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:std_alloc[1]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: D
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 199 201 201
-mbcs blocks[std_alloc] size: 72664 79840 79840
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 2 2 2
-mbcs mseg carriers: 1
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 294912 294912 294912
-mbcs mseg carriers size: 262144
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-std_alloc calls: 799
-std_free calls: 600
-std_realloc calls: 1
-mseg_alloc calls: 1
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:std_alloc[2]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: D
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 1 1 1
-mbcs blocks[std_alloc] size: 64 64 64
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-std_alloc calls: 1
-std_free calls: 0
-std_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:std_alloc[3]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: D
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 1 1 1
-mbcs blocks[std_alloc] size: 64 64 64
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-std_alloc calls: 1
-std_free calls: 0
-std_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:std_alloc[4]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: D
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 1 1 1
-mbcs blocks[std_alloc] size: 64 64 64
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-std_alloc calls: 1
-std_free calls: 0
-std_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:std_alloc[5]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: D
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 1 1 1
-mbcs blocks[std_alloc] size: 64 64 64
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-std_alloc calls: 1
-std_free calls: 0
-std_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:std_alloc[6]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: D
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 1 2 2
-mbcs blocks[std_alloc] size: 64 7232 7232
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-std_alloc calls: 6
-std_free calls: 5
-std_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:std_alloc[7]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: D
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 1 2 2
-mbcs blocks[std_alloc] size: 64 7232 7232
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-std_alloc calls: 9
-std_free calls: 8
-std_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:std_alloc[8]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: D
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 1 2 2
-mbcs blocks[std_alloc] size: 64 7232 7232
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-std_alloc calls: 11
-std_free calls: 10
-std_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:ll_alloc[0]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 18446744073709551615
-option asbcst: 0
-option rsbcst: 0
-option rsbcmt: 0
-option rmbcmt: 0
-option mmbcs: 524288
-option mmsbc: 0
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 0
-option acful: 0
-option acnl: 0
-option acfml: 0
-option cp: undefined
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 3909 3914 3914
-mbcs blocks[ll_alloc] size: 10112144 10146648 10146648
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 4 4 4
-mbcs mseg carriers: 3
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 12058624 12058624 12058624
-mbcs mseg carriers size: 11534336
-mbcs sys_alloc carriers size: 524288
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-ll_alloc calls: 3916
-ll_free calls: 7
-ll_realloc calls: 0
-mseg_alloc calls: 3
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:ll_alloc[1]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 18446744073709551615
-option asbcst: 0
-option rsbcst: 0
-option rsbcmt: 0
-option rmbcmt: 0
-option mmbcs: 524288
-option mmsbc: 0
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 85
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: L
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 11782 11782 11782
-mbcs blocks[ll_alloc] size: 1693840 1693840 1693840
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 3 3 3
-mbcs mseg carriers: 2
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 1835008 1835008 1835008
-mbcs mseg carriers size: 1310720
-mbcs sys_alloc carriers size: 524288
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-ll_alloc calls: 11784
-ll_free calls: 2
-ll_realloc calls: 0
-mseg_alloc calls: 2
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:ll_alloc[2]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 18446744073709551615
-option asbcst: 0
-option rsbcst: 0
-option rsbcmt: 0
-option rmbcmt: 0
-option mmbcs: 524288
-option mmsbc: 0
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 85
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: L
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 524288 524288 524288
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 524288
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-ll_alloc calls: 0
-ll_free calls: 0
-ll_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:ll_alloc[3]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 18446744073709551615
-option asbcst: 0
-option rsbcst: 0
-option rsbcmt: 0
-option rmbcmt: 0
-option mmbcs: 524288
-option mmsbc: 0
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 85
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: L
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 524288 524288 524288
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 524288
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-ll_alloc calls: 0
-ll_free calls: 0
-ll_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:ll_alloc[4]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 18446744073709551615
-option asbcst: 0
-option rsbcst: 0
-option rsbcmt: 0
-option rmbcmt: 0
-option mmbcs: 524288
-option mmsbc: 0
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 85
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: L
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 524288 524288 524288
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 524288
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-ll_alloc calls: 0
-ll_free calls: 0
-ll_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:ll_alloc[5]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 18446744073709551615
-option asbcst: 0
-option rsbcst: 0
-option rsbcmt: 0
-option rmbcmt: 0
-option mmbcs: 524288
-option mmsbc: 0
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 85
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: L
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 524288 524288 524288
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 524288
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-ll_alloc calls: 0
-ll_free calls: 0
-ll_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:ll_alloc[6]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 18446744073709551615
-option asbcst: 0
-option rsbcst: 0
-option rsbcmt: 0
-option rmbcmt: 0
-option mmbcs: 524288
-option mmsbc: 0
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 85
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: L
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 668 668 668
-mbcs blocks[ll_alloc] size: 108808 108808 108808
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 524288 524288 524288
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 524288
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-ll_alloc calls: 668
-ll_free calls: 0
-ll_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:ll_alloc[7]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 18446744073709551615
-option asbcst: 0
-option rsbcst: 0
-option rsbcmt: 0
-option rmbcmt: 0
-option mmbcs: 524288
-option mmsbc: 0
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 85
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: L
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 1126 1126 1126
-mbcs blocks[ll_alloc] size: 113352 113352 113352
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 524288 524288 524288
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 524288
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-ll_alloc calls: 1126
-ll_free calls: 0
-ll_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:ll_alloc[8]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 18446744073709551615
-option asbcst: 0
-option rsbcst: 0
-option rsbcmt: 0
-option rmbcmt: 0
-option mmbcs: 524288
-option mmsbc: 0
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 85
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: L
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 620 620 620
-mbcs blocks[ll_alloc] size: 56672 56672 56672
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 524288 524288 524288
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 524288
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-ll_alloc calls: 620
-ll_free calls: 0
-ll_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:eheap_alloc[0]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 50
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 131072
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 0
-option acful: 0
-option acnl: 0
-option acfml: 0
-option cp: undefined
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 23 69 69
-mbcs blocks[eheap_alloc] size: 309312 314576 314576
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 2 2 2
-mbcs mseg carriers: 1
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 393216 393216 393216
-mbcs mseg carriers size: 262144
-mbcs sys_alloc carriers size: 131072
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-eheap_alloc calls: 101
-eheap_free calls: 78
-eheap_realloc calls: 0
-mseg_alloc calls: 1
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:eheap_alloc[1]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 50
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 131072
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 45
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: H
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 95 104 104
-mbcs blocks[eheap_alloc] size: 1355616 2466824 2466824
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 4 4 4
-mbcs mseg carriers: 3
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 3538944 3538944 3538944
-mbcs mseg carriers size: 3407872
-mbcs sys_alloc carriers size: 131072
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 1 3 3
-sbcs blocks[eheap_alloc] size: 2545504 5091008 5091008
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 1 3 3
-sbcs mseg carriers: 1
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 2555904 5128192 5128192
-sbcs mseg carriers size: 2555904
-sbcs sys_alloc carriers size: 0
-eheap_alloc calls: 1377
-eheap_free calls: 1281
-eheap_realloc calls: 139
-mseg_alloc calls: 8
-mseg_dealloc calls: 4
-mseg_realloc calls: 2
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:eheap_alloc[2]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 50
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 131072
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 45
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: H
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 131072 131072 131072
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 131072
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-eheap_alloc calls: 0
-eheap_free calls: 0
-eheap_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:eheap_alloc[3]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 50
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 131072
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 45
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: H
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 131072 131072 131072
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 131072
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-eheap_alloc calls: 0
-eheap_free calls: 0
-eheap_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:eheap_alloc[4]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 50
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 131072
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 45
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: H
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 131072 131072 131072
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 131072
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-eheap_alloc calls: 0
-eheap_free calls: 0
-eheap_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:eheap_alloc[5]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 50
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 131072
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 45
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: H
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 131072 131072 131072
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 131072
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-eheap_alloc calls: 0
-eheap_free calls: 0
-eheap_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:eheap_alloc[6]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 50
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 131072
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 45
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: H
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 2 2
-mbcs blocks[eheap_alloc] size: 0 55336 55336
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 131072 131072 131072
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 131072
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-eheap_alloc calls: 2
-eheap_free calls: 2
-eheap_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:eheap_alloc[7]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 50
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 131072
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 45
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: H
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 1 2 2
-mbcs blocks[eheap_alloc] size: 72 2800 2800
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 131072 131072 131072
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 131072
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-eheap_alloc calls: 3
-eheap_free calls: 2
-eheap_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:eheap_alloc[8]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 50
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 131072
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 45
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: H
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 13 13
-mbcs blocks[eheap_alloc] size: 0 651688 651688
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 3 3
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 131072 1441792 1441792
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 131072
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-eheap_alloc calls: 30
-eheap_free calls: 30
-eheap_realloc calls: 1
-mseg_alloc calls: 2
-mseg_dealloc calls: 2
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:ets_alloc[0]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 0
-option acful: 0
-option acnl: 0
-option acfml: 0
-option cp: undefined
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 0 0 0
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 0
-mbcs carriers size: 0 0 0
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-ets_alloc calls: 0
-ets_free calls: 0
-ets_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 0
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:ets_alloc[1]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: E
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 633 633 633
-mbcs blocks[ets_alloc] size: 469536 469536 469536
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 3 3 3
-mbcs mseg carriers: 2
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 1343488 1343488 1343488
-mbcs mseg carriers size: 1310720
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-ets_alloc calls: 634
-ets_free calls: 1
-ets_realloc calls: 9
-mseg_alloc calls: 2
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:ets_alloc[2]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: E
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-ets_alloc calls: 0
-ets_free calls: 0
-ets_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:ets_alloc[3]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: E
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-ets_alloc calls: 0
-ets_free calls: 0
-ets_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:ets_alloc[4]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: E
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-ets_alloc calls: 0
-ets_free calls: 0
-ets_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:ets_alloc[5]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: E
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-ets_alloc calls: 0
-ets_free calls: 0
-ets_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:ets_alloc[6]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: E
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-ets_alloc calls: 0
-ets_free calls: 0
-ets_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:ets_alloc[7]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: E
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-ets_alloc calls: 0
-ets_free calls: 0
-ets_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:ets_alloc[8]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: E
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-ets_alloc calls: 0
-ets_free calls: 0
-ets_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:fix_alloc[0]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 0
-option acful: 0
-option acnl: 0
-option acfml: 0
-option cp: undefined
-option as: aoffcbf
-fix type: enif_select_data_state 0 0
-fix type: driver_select_data_state 0 0
-fix type: link 0 0
-fix type: monitor 0 0
-fix type: sl_thr_q_element 448 0
-fix type: process_signal_queue_buffers 0 0
-fix type: magic_indirection 0 0
-fix type: nsched_pid_ref_entry 0 0
-fix type: nsched_magic_ref_entry 0 0
-fix type: bif_timer 0 0
-fix type: hl_ptimer 0 0
-fix type: ll_ptimer 0 0
-fix type: msg_ref 48 48
-fix type: receive_marker_block 0 0
-fix type: proc 4704 4704
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 35 35 35
-mbcs blocks[fix_alloc] size: 6608 6608 6608
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-fix_alloc calls: 189
-fix_free calls: 182
-fix_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:fix_alloc[1]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: F
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 267 267 267
-mbcs blocks[fix_alloc] size: 71072 71072 71072
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 2 2 2
-mbcs mseg carriers: 1
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 294912 294912 294912
-mbcs mseg carriers size: 262144
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-fix_alloc calls: 629
-fix_free calls: 399
-fix_realloc calls: 0
-mseg_alloc calls: 1
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:fix_alloc[2]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: F
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-fix_alloc calls: 0
-fix_free calls: 0
-fix_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:fix_alloc[3]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: F
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-fix_alloc calls: 0
-fix_free calls: 0
-fix_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:fix_alloc[4]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: F
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-fix_alloc calls: 0
-fix_free calls: 0
-fix_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:fix_alloc[5]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: F
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-fix_alloc calls: 0
-fix_free calls: 0
-fix_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:fix_alloc[6]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: F
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-fix_alloc calls: 0
-fix_free calls: 0
-fix_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:fix_alloc[7]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: F
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-fix_alloc calls: 0
-fix_free calls: 0
-fix_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:fix_alloc[8]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: false
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: F
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-fix_alloc calls: 0
-fix_free calls: 0
-fix_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:literal_alloc
-versions: 0.9 3.0
-option e: true
-option t: false
-option ramv: false
-option atags: false
-option sbct: 18446744073709551615
-option asbcst: 0
-option rsbcst: 0
-option rsbcmt: 0
-option rmbcmt: 0
-option mmbcs: 1048576
-option mmsbc: 0
-option mmmbc: 18446744073709551615
-option lmbcs: 10485760
-option smbcs: 1048576
-option mbcgs: 10
-option acul: 0
-option acful: 0
-option acnl: 0
-option acfml: 0
-option cp: undefined
-option as: aobf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 209 209 209
-mbcs blocks[literal_alloc] size: 1447384 1447384 1447384
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 2 2 2
-mbcs mseg carriers: 2
-mbcs sys_alloc carriers: 0
-mbcs carriers size: 2097152 2097152 2097152
-mbcs mseg carriers size: 2097152
-mbcs sys_alloc carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-literal_alloc calls: 212
-literal_free calls: 3
-literal_realloc calls: 0
-mseg_alloc calls: 2
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 0
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:binary_alloc[0]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: true
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 0
-option acful: 0
-option acnl: 0
-option acfml: 0
-option cp: undefined
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 40 76 76
-mbcs blocks[binary_alloc] size: 459064 1258696 1258696
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 3 3 3
-mbcs mseg carriers: 2
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 1343488 1343488 1343488
-mbcs mseg carriers size: 1310720
-mbcs sys_alloc carriers size: 32768
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 1 1
-sbcs blocks[binary_alloc] size: 0 823888 823888
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 1 1
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 835584 835584
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-binary_alloc calls: 409
-binary_free calls: 369
-binary_realloc calls: 4
-mseg_alloc calls: 9
-mseg_dealloc calls: 7
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:binary_alloc[1]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: true
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: B
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 30 143 143
-mbcs blocks[binary_alloc] size: 13056 47272 47272
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 2 2
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 294912 294912
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 15
-mbcs_pool blocks[binary_alloc] size: 3120
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 1
-mbcs_pool carriers size: 262144
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-binary_alloc calls: 3105
-binary_free calls: 3060
-binary_realloc calls: 23
-mseg_alloc calls: 1
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:binary_alloc[2]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: true
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: B
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-binary_alloc calls: 0
-binary_free calls: 0
-binary_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:binary_alloc[3]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: true
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: B
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-binary_alloc calls: 0
-binary_free calls: 0
-binary_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:binary_alloc[4]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: true
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: B
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-binary_alloc calls: 0
-binary_free calls: 0
-binary_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:binary_alloc[5]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: true
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: B
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-binary_alloc calls: 0
-binary_free calls: 0
-binary_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:binary_alloc[6]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: true
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: B
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 78 78
-mbcs blocks[binary_alloc] size: 0 12416 12416
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-binary_alloc calls: 82
-binary_free calls: 82
-binary_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:binary_alloc[7]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: true
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: B
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 26 26
-mbcs blocks[binary_alloc] size: 0 6568 6568
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-binary_alloc calls: 32
-binary_free calls: 32
-binary_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:binary_alloc[8]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: true
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: B
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 143 143
-mbcs blocks[binary_alloc] size: 0 21808 21808
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-binary_alloc calls: 204
-binary_free calls: 204
-binary_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:driver_alloc[0]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: true
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 0
-option acful: 0
-option acnl: 0
-option acfml: 0
-option cp: undefined
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 37 37 37
-mbcs blocks[driver_alloc] size: 8096 8096 8096
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-driver_alloc calls: 38
-driver_free calls: 1
-driver_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:driver_alloc[1]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: true
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: R
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 17 18 18
-mbcs blocks[driver_alloc] size: 4496 15456 15456
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-driver_alloc calls: 26
-driver_free calls: 9
-driver_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:driver_alloc[2]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: true
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: R
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-driver_alloc calls: 0
-driver_free calls: 0
-driver_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:driver_alloc[3]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: true
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: R
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-driver_alloc calls: 0
-driver_free calls: 0
-driver_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:driver_alloc[4]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: true
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: R
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-driver_alloc calls: 0
-driver_free calls: 0
-driver_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:driver_alloc[5]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: true
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: R
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-driver_alloc calls: 0
-driver_free calls: 0
-driver_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:driver_alloc[6]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: true
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: R
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-driver_alloc calls: 0
-driver_free calls: 0
-driver_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:driver_alloc[7]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: true
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: R
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-driver_alloc calls: 0
-driver_free calls: 0
-driver_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:driver_alloc[8]
-versions: 0.9 3.0
-option e: true
-option t: 9
-option ramv: false
-option atags: true
-option sbct: 524288
-option asbcst: 4145152
-option rsbcst: 20
-option rsbcmt: 80
-option rmbcmt: 50
-option mmbcs: 32768
-option mmsbc: 256
-option mmmbc: 18446744073709551615
-option lmbcs: 5242880
-option smbcs: 262144
-option mbcgs: 10
-option acul: 60
-option acful: 0
-option acnl: 1000
-option acfml: 0
-option cp: R
-option as: aoffcbf
-mbcs blocks[sys_alloc] count: 0 0 0
-mbcs blocks[sys_alloc] size: 0 0 0
-mbcs blocks[temp_alloc] count: 0 0 0
-mbcs blocks[temp_alloc] size: 0 0 0
-mbcs blocks[sl_alloc] count: 0 0 0
-mbcs blocks[sl_alloc] size: 0 0 0
-mbcs blocks[std_alloc] count: 0 0 0
-mbcs blocks[std_alloc] size: 0 0 0
-mbcs blocks[ll_alloc] count: 0 0 0
-mbcs blocks[ll_alloc] size: 0 0 0
-mbcs blocks[eheap_alloc] count: 0 0 0
-mbcs blocks[eheap_alloc] size: 0 0 0
-mbcs blocks[ets_alloc] count: 0 0 0
-mbcs blocks[ets_alloc] size: 0 0 0
-mbcs blocks[fix_alloc] count: 0 0 0
-mbcs blocks[fix_alloc] size: 0 0 0
-mbcs blocks[literal_alloc] count: 0 0 0
-mbcs blocks[literal_alloc] size: 0 0 0
-mbcs blocks[binary_alloc] count: 0 0 0
-mbcs blocks[binary_alloc] size: 0 0 0
-mbcs blocks[driver_alloc] count: 0 0 0
-mbcs blocks[driver_alloc] size: 0 0 0
-mbcs blocks[test_alloc] count: 0 0 0
-mbcs blocks[test_alloc] size: 0 0 0
-mbcs carriers: 1 1 1
-mbcs mseg carriers: 0
-mbcs sys_alloc carriers: 1
-mbcs carriers size: 32768 32768 32768
-mbcs mseg carriers size: 0
-mbcs sys_alloc carriers size: 32768
-mbcs_pool blocks[sys_alloc] count: 0
-mbcs_pool blocks[sys_alloc] size: 0
-mbcs_pool blocks[temp_alloc] count: 0
-mbcs_pool blocks[temp_alloc] size: 0
-mbcs_pool blocks[sl_alloc] count: 0
-mbcs_pool blocks[sl_alloc] size: 0
-mbcs_pool blocks[std_alloc] count: 0
-mbcs_pool blocks[std_alloc] size: 0
-mbcs_pool blocks[ll_alloc] count: 0
-mbcs_pool blocks[ll_alloc] size: 0
-mbcs_pool blocks[eheap_alloc] count: 0
-mbcs_pool blocks[eheap_alloc] size: 0
-mbcs_pool blocks[ets_alloc] count: 0
-mbcs_pool blocks[ets_alloc] size: 0
-mbcs_pool blocks[fix_alloc] count: 0
-mbcs_pool blocks[fix_alloc] size: 0
-mbcs_pool blocks[literal_alloc] count: 0
-mbcs_pool blocks[literal_alloc] size: 0
-mbcs_pool blocks[binary_alloc] count: 0
-mbcs_pool blocks[binary_alloc] size: 0
-mbcs_pool blocks[driver_alloc] count: 0
-mbcs_pool blocks[driver_alloc] size: 0
-mbcs_pool blocks[test_alloc] count: 0
-mbcs_pool blocks[test_alloc] size: 0
-mbcs_pool carriers: 0
-mbcs_pool carriers size: 0
-sbcs blocks[sys_alloc] count: 0 0 0
-sbcs blocks[sys_alloc] size: 0 0 0
-sbcs blocks[temp_alloc] count: 0 0 0
-sbcs blocks[temp_alloc] size: 0 0 0
-sbcs blocks[sl_alloc] count: 0 0 0
-sbcs blocks[sl_alloc] size: 0 0 0
-sbcs blocks[std_alloc] count: 0 0 0
-sbcs blocks[std_alloc] size: 0 0 0
-sbcs blocks[ll_alloc] count: 0 0 0
-sbcs blocks[ll_alloc] size: 0 0 0
-sbcs blocks[eheap_alloc] count: 0 0 0
-sbcs blocks[eheap_alloc] size: 0 0 0
-sbcs blocks[ets_alloc] count: 0 0 0
-sbcs blocks[ets_alloc] size: 0 0 0
-sbcs blocks[fix_alloc] count: 0 0 0
-sbcs blocks[fix_alloc] size: 0 0 0
-sbcs blocks[literal_alloc] count: 0 0 0
-sbcs blocks[literal_alloc] size: 0 0 0
-sbcs blocks[binary_alloc] count: 0 0 0
-sbcs blocks[binary_alloc] size: 0 0 0
-sbcs blocks[driver_alloc] count: 0 0 0
-sbcs blocks[driver_alloc] size: 0 0 0
-sbcs blocks[test_alloc] count: 0 0 0
-sbcs blocks[test_alloc] size: 0 0 0
-sbcs carriers: 0 0 0
-sbcs mseg carriers: 0
-sbcs sys_alloc carriers: 0
-sbcs carriers size: 0 0 0
-sbcs mseg carriers size: 0
-sbcs sys_alloc carriers size: 0
-driver_alloc calls: 0
-driver_free calls: 0
-driver_realloc calls: 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-sys_alloc calls: 1
-sys_free calls: 0
-sys_realloc calls: 0
-=allocator:test_alloc
-option e: false
-=allocator:mseg_alloc[0]
-version: 0.9
-option amcbf: 4194304
-option rmcbf: 20
-option mcs: 10
-memory kind: all memory
-cached_segments: 2
-cache_hits: 7
-segments: 7 8 8
-segments_watermark: 8
-segments_size: 13631488 14467072 14467072
-mseg_alloc calls: 16
-mseg_dealloc calls: 9
-mseg_realloc calls: 0
-mseg_create calls: 9
-mseg_create_resize calls: 0
-mseg_destroy calls: 0
-mseg_recreate calls: 0
-mseg_clear_cache calls: 0
-mseg_check_cache calls: 0
-=allocator:mseg_alloc[1]
-version: 0.9
-option amcbf: 4194304
-option rmcbf: 20
-option mcs: 10
-memory kind: all memory
-cached_segments: 5
-cache_hits: 23
-segments: 11 13 13
-segments_watermark: 13
-segments_size: 9371648 11681792 11681792
-mseg_alloc calls: 38
-mseg_dealloc calls: 27
-mseg_realloc calls: 2
-mseg_create calls: 15
-mseg_create_resize calls: 0
-mseg_destroy calls: 1
-mseg_recreate calls: 1
-mseg_clear_cache calls: 0
-mseg_check_cache calls: 0
-=allocator:mseg_alloc[2]
-version: 0.9
-option amcbf: 4194304
-option rmcbf: 20
-option mcs: 10
-memory kind: all memory
-cached_segments: 0
-cache_hits: 0
-segments: 0 0 0
-segments_watermark: 0
-segments_size: 0 0 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-mseg_create calls: 0
-mseg_create_resize calls: 0
-mseg_destroy calls: 0
-mseg_recreate calls: 0
-mseg_clear_cache calls: 0
-mseg_check_cache calls: 0
-=allocator:mseg_alloc[3]
-version: 0.9
-option amcbf: 4194304
-option rmcbf: 20
-option mcs: 10
-memory kind: all memory
-cached_segments: 0
-cache_hits: 0
-segments: 0 0 0
-segments_watermark: 0
-segments_size: 0 0 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-mseg_create calls: 0
-mseg_create_resize calls: 0
-mseg_destroy calls: 0
-mseg_recreate calls: 0
-mseg_clear_cache calls: 0
-mseg_check_cache calls: 0
-=allocator:mseg_alloc[4]
-version: 0.9
-option amcbf: 4194304
-option rmcbf: 20
-option mcs: 10
-memory kind: all memory
-cached_segments: 0
-cache_hits: 0
-segments: 0 0 0
-segments_watermark: 0
-segments_size: 0 0 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-mseg_create calls: 0
-mseg_create_resize calls: 0
-mseg_destroy calls: 0
-mseg_recreate calls: 0
-mseg_clear_cache calls: 0
-mseg_check_cache calls: 0
-=allocator:mseg_alloc[5]
-version: 0.9
-option amcbf: 4194304
-option rmcbf: 20
-option mcs: 10
-memory kind: all memory
-cached_segments: 0
-cache_hits: 0
-segments: 0 0 0
-segments_watermark: 0
-segments_size: 0 0 0
-mseg_alloc calls: 0
-mseg_dealloc calls: 0
-mseg_realloc calls: 0
-mseg_create calls: 0
-mseg_create_resize calls: 0
-mseg_destroy calls: 0
-mseg_recreate calls: 0
-mseg_clear_cache calls: 0
-mseg_check_cache calls: 0
-=allocator:mseg_alloc[6]
-version: 0.9
-option amcbf: 4194304
-option rmcbf: 20
-option mcs: 10
-memory kind: all memory
-cached_segments: 1
-cache_hits: 0
-segments: 0 1 1
-segments_watermark: 1
-segments_size: 0 262144 262144
-mseg_alloc calls: 1
-mseg_dealloc calls: 1
-mseg_realloc calls: 0
-mseg_create calls: 1
-mseg_create_resize calls: 0
-mseg_destroy calls: 0
-mseg_recreate calls: 0
-mseg_clear_cache calls: 0
-mseg_check_cache calls: 0
-=allocator:mseg_alloc[7]
-version: 0.9
-option amcbf: 4194304
-option rmcbf: 20
-option mcs: 10
-memory kind: all memory
-cached_segments: 1
-cache_hits: 0
-segments: 0 1 1
-segments_watermark: 1
-segments_size: 0 262144 262144
-mseg_alloc calls: 1
-mseg_dealloc calls: 1
-mseg_realloc calls: 0
-mseg_create calls: 1
-mseg_create_resize calls: 0
-mseg_destroy calls: 0
-mseg_recreate calls: 0
-mseg_clear_cache calls: 0
-mseg_check_cache calls: 0
-=allocator:mseg_alloc[8]
-version: 0.9
-option amcbf: 4194304
-option rmcbf: 20
-option mcs: 10
-memory kind: all memory
-cached_segments: 3
-cache_hits: 0
-segments: 0 3 3
-segments_watermark: 3
-segments_size: 0 1572864 1572864
-mseg_alloc calls: 3
-mseg_dealloc calls: 3
-mseg_realloc calls: 0
-mseg_create calls: 3
-mseg_create_resize calls: 0
-mseg_destroy calls: 0
-mseg_recreate calls: 0
-mseg_clear_cache calls: 0
-mseg_check_cache calls: 0
-=allocator:erts_mmap.default_mmap
-option scs: 0
-os mmap size used: 29966336
-=allocator:erts_mmap.literal_mmap
-option scs: 1073676288
-option sco: true
-option scrpm: false
-option scrfsd: 1024
-supercarrier total size: 1073741824
-supercarrier total sa size: 2097152
-supercarrier total sua size: 0
-supercarrier used size: 2162688
-supercarrier used sa size: 2097152
-supercarrier used sua size: 0
-supercarrier used free segs: 0
-supercarrier max free segs: 0
-supercarrier allocated free segs: 0
-supercarrier reserved free segs: 1024
-supercarrier sa free segs: 0
-supercarrier sua free segs: 0
-=allocator:alloc_util
-option mmc: 18446744073709551615
-option ycs: 1048576
-option sac: true
-=allocator:instr
-=proc:<0.0.0>
-State: Running
-Name: init
-Spawned as: erl_init:start/2
-Spawned by: []
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.10.0>, <0.44.0>, <0.42.0>]
-Reductions: 10269
-Stack+heap: 2586
-OldHeap: 4185
-Heap unused: 1928
-OldHeap unused: 2458
-BinVHeap: 0
-OldBinVHeap: 169
-BinVHeap unused: 46422
-OldBinVHeap unused: 46253
-Memory: 55072
-Program counter: 0x0000000103d889fc (init:boot_loop/2 + 84)
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL | ACTIVE | RUNNING | ACTIVE_SYS
-=proc:<0.1.0>
-State: Waiting
-Name: erts_code_purger
-Spawned as: erts_code_purger:start/0
-Spawned by: <0.0.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 11
-Reductions: 23
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 228
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2736
-Program counter: 0x0000000103d82874 (erts_code_purger:wait_for_request/0 + 68)
-arity = 0
-Internal State: ACT_PRIO_HIGH | USR_PRIO_HIGH | PRQ_PRIO_HIGH | OFF_HEAP_MSGQ
-=proc:<0.2.0>
-State: Waiting
-Spawned as: erts_literal_area_collector:start/0
-Spawned by: <0.0.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Reductions: 7
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 233
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2648
-Program counter: 0x0000000103e01368 (erts_literal_area_collector:msg_loop/4 + 136)
-arity = 0
-Internal State: ACT_PRIO_HIGH | USR_PRIO_HIGH | PRQ_PRIO_HIGH | OFF_HEAP_MSGQ
-=proc:<0.3.0>
-State: Waiting
-Spawned as: erts_dirty_process_signal_handler:start/0
-Spawned by: <0.0.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Reductions: 7
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 233
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2648
-Program counter: 0x0000000103e025f8 (erts_dirty_process_signal_handler:msg_loop/0 + 80)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL | OFF_HEAP_MSGQ
-=proc:<0.4.0>
-State: Waiting
-Spawned as: erts_dirty_process_signal_handler:start/0
-Spawned by: <0.0.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Reductions: 7
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 233
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2648
-Program counter: 0x0000000103e025f8 (erts_dirty_process_signal_handler:msg_loop/0 + 80)
-arity = 0
-Internal State: ACT_PRIO_HIGH | USR_PRIO_HIGH | PRQ_PRIO_HIGH | OFF_HEAP_MSGQ
-=proc:<0.5.0>
-State: Waiting
-Spawned as: erts_dirty_process_signal_handler:start/0
-Spawned by: <0.0.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Reductions: 7
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 233
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2648
-Program counter: 0x0000000103e025f8 (erts_dirty_process_signal_handler:msg_loop/0 + 80)
-arity = 0
-Internal State: ACT_PRIO_MAX | USR_PRIO_MAX | PRQ_PRIO_MAX | OFF_HEAP_MSGQ
-=proc:<0.6.0>
-State: Waiting
-Spawned as: prim_file:start/0
-Spawned by: <0.0.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Reductions: 6
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 233
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2648
-Program counter: 0x0000000103daf94c (prim_file:helper_loop/0 + 68)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.7.0>
-State: Waiting
-Name: socket_registry
-Spawned as: socket_registry:start/0
-Spawned by: <0.0.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Reductions: 8
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 233
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2648
-Program counter: 0x0000000103dbe314 (socket_registry:loop/1 + 84)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.10.0>
-State: Waiting
-Name: erl_prim_loader
-Spawned as: erlang:apply/2
-Spawned by: <0.9.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.0.0>]
-Reductions: 468281
-Stack+heap: 6772
-OldHeap: 10958
-Heap unused: 3381
-OldHeap unused: 5568
-BinVHeap: 313
-OldBinVHeap: 0
-BinVHeap unused: 46109
-OldBinVHeap unused: 46422
-Memory: 142752
-Program counter: 0x0000000103dd7c4c (erl_prim_loader:loop/3 + 100)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.42.0>
-State: Waiting
-Name: logger
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.9.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.0.0>]
-Reductions: 883
-Stack+heap: 1598
-OldHeap: 376
-Heap unused: 1120
-OldHeap unused: 331
-BinVHeap: 100
-OldBinVHeap: 4
-BinVHeap unused: 46322
-OldBinVHeap unused: 46418
-Memory: 16792
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.44.0>
-State: Waiting
-Name: application_controller
-Spawned as: erlang:apply/2
-Spawned by: <0.9.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 8
-Link list: [<0.0.0>, <0.90.0>, <0.102.0>, <0.46.0>]
-Reductions: 92245
-Stack+heap: 28690
-OldHeap: 46422
-Heap unused: 12854
-OldHeap unused: 17270
-BinVHeap: 24
-OldBinVHeap: 0
-BinVHeap unused: 46398
-OldBinVHeap unused: 46422
-Memory: 602080
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.46.0>
-State: Waiting
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.45.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.44.0>, <0.47.0>]
-Reductions: 40
-Stack+heap: 376
-OldHeap: 0
-Heap unused: 29
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 3960
-Program counter: 0x0000000103eb6264 (application_master:main_loop/2 + 76)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.47.0>
-State: Waiting
-Spawned as: application_master:start_it/4
-Spawned by: <0.46.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.49.0>, <0.46.0>]
-Reductions: 545
-Stack+heap: 376
-OldHeap: 376
-Heap unused: 336
-OldHeap unused: 370
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 6880
-Program counter: 0x0000000103eb7b08 (application_master:loop_it/4 + 88)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.49.0>
-State: Waiting
-Name: kernel_sup
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.47.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 4
-Link list: [<0.47.0>, <0.51.0>, <0.50.0>, <0.55.0>, <0.58.0>, <0.56.0>, <0.63.0>, <0.70.0>, <0.75.0>, <0.74.0>, <0.73.0>, <0.64.0>, <0.61.0>, <0.53.0>]
-Reductions: 3772
-Stack+heap: 2586
-OldHeap: 2586
-Heap unused: 618
-OldHeap unused: 2304
-BinVHeap: 8812
-OldBinVHeap: 0
-BinVHeap unused: 37610
-OldBinVHeap unused: 46422
-Memory: 42840
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.50.0>
-State: Waiting
-Name: code_server
-Spawned as: erlang:apply/2
-Spawned by: <0.49.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.49.0>]
-Reductions: 221248
-Stack+heap: 28690
-OldHeap: 318187
-Heap unused: 24392
-OldHeap unused: 271366
-BinVHeap: 3930
-OldBinVHeap: 0
-BinVHeap unused: 42492
-OldBinVHeap unused: 46422
-Memory: 2775928
-Program counter: 0x0000000103ee8404 (code_server:loop/1 + 132)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.51.0>
-State: Waiting
-Name: standard_error_sup
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.49.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.52.0>, <0.49.0>]
-Reductions: 57
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 128
-OldHeap unused: 0
-BinVHeap: 20
-OldBinVHeap: 0
-BinVHeap unused: 46402
-OldBinVHeap unused: 46422
-Memory: 2816
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.52.0>
-State: Waiting
-Name: standard_error
-Spawned as: erlang:apply/2
-Spawned by: <0.51.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [#Port<0.1>, <0.51.0>]
-Reductions: 134
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 118
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2816
-Program counter: 0x0000000103fbbafc (standard_error:server_loop/1 + 76)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.53.0>
-State: Waiting
-Name: file_server_2
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.49.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.49.0>]
-Reductions: 1025
-Stack+heap: 987
-OldHeap: 610
-Heap unused: 685
-OldHeap unused: 575
-BinVHeap: 7
-OldBinVHeap: 0
-BinVHeap unused: 46415
-OldBinVHeap unused: 46422
-Memory: 13776
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.55.0>
-State: Waiting
-Name: inet_db
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.49.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.49.0>]
-Reductions: 420
-Stack+heap: 376
-OldHeap: 610
-Heap unused: 108
-OldHeap unused: 562
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 8888
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.56.0>
-State: Waiting
-Name: rex
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.49.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.49.0>, {to,<0.57.0>,#Ref<0.3756053351.4210294785.45059>}]
-Reductions: 41
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 149
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2840
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL | OFF_HEAP_MSGQ
-=proc:<0.57.0>
-State: Waiting
-Spawned as: erlang:apply/2
-Spawned by: <0.56.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 6
-Link list: [{from,<0.56.0>,#Ref<0.3756053351.4210294785.45059>}]
-Reductions: 69
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 12
-OldHeap unused: 0
-BinVHeap: 11010
-OldBinVHeap: 0
-BinVHeap unused: 35412
-OldBinVHeap unused: 46422
-Memory: 2908
-Program counter: 0x0000000103ff2290 (rpc:nodes_observer_loop/1 + 88)
-arity = 0
-Internal State: ACT_PRIO_HIGH | USR_PRIO_HIGH | PRQ_PRIO_HIGH | MAYBE_SELF_SIGS
-=proc:<0.58.0>
-State: Waiting
-Name: global_name_server
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.49.0>
-Message queue length: 0
-Number of heap fragments: 1
-Heap fragment data: 4
-Link list: [<0.49.0>, <0.60.0>, <0.59.0>]
-Reductions: 318
-Stack+heap: 610
-OldHeap: 610
-Heap unused: 345
-OldHeap unused: 559
-BinVHeap: 3003
-OldBinVHeap: 0
-BinVHeap unused: 43419
-OldBinVHeap unused: 46422
-Memory: 10932
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.59.0>
-State: Waiting
-Spawned as: erlang:apply/2
-Spawned by: <0.58.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.58.0>]
-Reductions: 39
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 177
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2688
-Program counter: 0x0000000104002e4c (global:loop_the_locker/1 + 484)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.60.0>
-State: Waiting
-Spawned as: erlang:apply/2
-Spawned by: <0.58.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.58.0>]
-Reductions: 7
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 231
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2688
-Program counter: 0x0000000104009898 (global:loop_the_registrar/0 + 80)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.61.0>
-State: Waiting
-Name: global_group
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.49.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.62.0>, <0.49.0>]
-Reductions: 112
-Stack+heap: 376
-OldHeap: 0
-Heap unused: 94
-OldHeap unused: 0
-BinVHeap: 4276
-OldBinVHeap: 0
-BinVHeap unused: 42146
-OldBinVHeap unused: 46422
-Memory: 4020
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_MAX | USR_PRIO_MAX | PRQ_PRIO_MAX
-=proc:<0.62.0>
-State: Waiting
-Name: global_group_check
-Spawned as: erlang:apply/2
-Spawned by: <0.61.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.61.0>]
-Reductions: 6
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 231
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2688
-Program counter: 0x0000000104040eec (global_group:global_group_check_dispatcher/0 + 68)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.63.0>
-State: Waiting
-Name: erl_signal_server
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.49.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.49.0>]
-Reductions: 48
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 157
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2776
-Program counter: 0x0000000103edb214 (gen_event:fetch_msg/6 + 84)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.64.0>
-State: Waiting
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.49.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.69.0>, <0.49.0>]
-Reductions: 213
-Stack+heap: 4185
-OldHeap: 0
-Heap unused: 387
-OldHeap unused: 0
-BinVHeap: 15452
-OldBinVHeap: 0
-BinVHeap unused: 30970
-OldBinVHeap unused: 46422
-Memory: 34432
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.65.0>
-State: Waiting
-Name: user_drv
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.64.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.67.0>, <0.69.0>, <0.68.0>]
-Reductions: 655
-Stack+heap: 610
-OldHeap: 610
-Heap unused: 208
-OldHeap unused: 487
-BinVHeap: 0
-OldBinVHeap: 82
-BinVHeap unused: 46422
-OldBinVHeap unused: 46340
-Memory: 10752
-Program counter: 0x000000010405efc0 (gen_statem:loop_receive/3 + 136)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.67.0>
-State: Waiting
-Name: user_drv_writer
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.65.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.65.0>]
-Reductions: 36
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 164
-OldHeap unused: 0
-BinVHeap: 2
-OldBinVHeap: 0
-BinVHeap unused: 46420
-OldBinVHeap unused: 46422
-Memory: 2864
-Program counter: 0x000000010406d4b4 (prim_tty:writer_loop/2 + 84)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.68.0>
-State: Waiting
-Name: user_drv_reader
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.65.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.65.0>, {from,{prim_tty,tty},#Ref<0.3756053351.4210294785.45124>}]
-Reductions: 33
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 165
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2848
-Program counter: 0x000000010406c5f4 (prim_tty:reader_loop/6 + 92)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.69.0>
-State: Waiting
-Name: user
-Spawned as: group:server/4
-Spawned by: <0.65.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.64.0>, <0.65.0>]
-Reductions: 287
-Stack+heap: 376
-OldHeap: 376
-Heap unused: 35
-OldHeap unused: 365
-BinVHeap: 2703
-OldBinVHeap: 0
-BinVHeap unused: 43719
-OldBinVHeap unused: 46422
-Memory: 6984
-Program counter: 0x0000000104081600 (group:server_loop/3 + 80)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.70.0>
-State: Waiting
-Name: logger_sup
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.49.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.49.0>, <0.72.0>, <0.105.0>, <0.77.0>, <0.71.0>]
-Reductions: 556
-Stack+heap: 376
-OldHeap: 376
-Heap unused: 144
-OldHeap unused: 279
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 7088
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.71.0>
-State: Waiting
-Name: logger_handler_watcher
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.70.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.70.0>, {to,<0.105.0>,#Ref<0.3756053351.4210294785.45416>}, {to,<0.77.0>,#Ref<0.3756053351.4210294785.45193>}]
-Reductions: 81
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 84
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2904
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.72.0>
-State: Scheduled
-Name: logger_proxy
-Spawned as: proc_lib:init_p/5
-Current call: logger_olp:handle_info/2
-Spawned by: <0.70.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 1494
-Link list: [<0.70.0>]
-Reductions: 104
-Stack+heap: 376
-OldHeap: 0
-Heap unused: 211
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 15872
-Program counter: 0x0000000103f753c0 (logger_olp:handle_info/2 + 48)
-arity = 2
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL | IN_PRQ_NORMAL | ACTIVE | IN_RUNQ | OFF_HEAP_MSGQ
-=proc:<0.73.0>
-State: Waiting
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.49.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.49.0>]
-Reductions: 59
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 143
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2776
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.74.0>
-State: Waiting
-Name: kernel_refc
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.49.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 3
-Link list: [<0.49.0>]
-Reductions: 72
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 140
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2800
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.75.0>
-State: Waiting
-Name: kernel_safe_sup
-Spawned as: proc_lib:init_p/5
-Current call: erlang:hibernate/3
-Spawned by: <0.49.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.49.0>]
-Reductions: 90
-Stack+heap: 52
-OldHeap: 0
-Heap unused: 4
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 1328
-Program counter: 0x0000000103d822c8 (unknown function)
-arity = 3
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.77.0>
-State: Waiting
-Name: logger_std_h_default
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.70.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.78.0>, <0.70.0>, {from,<0.71.0>,#Ref<0.3756053351.4210294785.45193>}]
-Reductions: 181
-Stack+heap: 610
-OldHeap: 610
-Heap unused: 546
-OldHeap unused: 516
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 10776
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL | OFF_HEAP_MSGQ
-=proc:<0.78.0>
-State: Waiting
-Spawned as: erlang:apply/2
-Spawned by: <0.77.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.77.0>]
-Reductions: 9
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 209
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2688
-Program counter: 0x00000001040ba3ac (logger_std_h:file_ctrl_loop/1 + 84)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.90.0>
-State: Waiting
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.89.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.44.0>, <0.91.0>]
-Reductions: 41
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 12
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2816
-Program counter: 0x0000000103eb6264 (application_master:main_loop/2 + 76)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.91.0>
-State: Waiting
-Spawned as: application_master:start_it/4
-Spawned by: <0.90.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.92.0>, <0.90.0>]
-Reductions: 141
-Stack+heap: 610
-OldHeap: 987
-Heap unused: 358
-OldHeap unused: 984
-BinVHeap: 504
-OldBinVHeap: 0
-BinVHeap unused: 45918
-OldBinVHeap unused: 46422
-Memory: 13640
-Program counter: 0x0000000103eb7b08 (application_master:loop_it/4 + 88)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.92.0>
-State: Waiting
-Name: inets_sup
-Spawned as: proc_lib:init_p/5
-Current call: erlang:hibernate/3
-Spawned by: <0.91.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.91.0>, <0.97.0>, <0.93.0>]
-Reductions: 347
-Stack+heap: 96
-OldHeap: 0
-Heap unused: 4
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 1760
-Program counter: 0x0000000103d822c8 (unknown function)
-arity = 3
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.93.0>
-State: Waiting
-Name: httpc_sup
-Spawned as: proc_lib:init_p/5
-Current call: erlang:hibernate/3
-Spawned by: <0.92.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.92.0>, <0.96.0>, <0.94.0>]
-Reductions: 336
-Stack+heap: 94
-OldHeap: 0
-Heap unused: 4
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 1744
-Program counter: 0x0000000103d822c8 (unknown function)
-arity = 3
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.94.0>
-State: Waiting
-Name: httpc_profile_sup
-Spawned as: proc_lib:init_p/5
-Current call: erlang:hibernate/3
-Spawned by: <0.93.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.95.0>, <0.93.0>]
-Reductions: 260
-Stack+heap: 84
-OldHeap: 0
-Heap unused: 4
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 1624
-Program counter: 0x0000000103d822c8 (unknown function)
-arity = 3
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.95.0>
-State: Waiting
-Name: httpc_manager
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.94.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.94.0>]
-Reductions: 174
-Stack+heap: 610
-OldHeap: 610
-Heap unused: 217
-OldHeap unused: 568
-BinVHeap: 2781
-OldBinVHeap: 0
-BinVHeap unused: 43641
-OldBinVHeap unused: 46422
-Memory: 10760
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.96.0>
-State: Waiting
-Name: httpc_handler_sup
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.93.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.93.0>]
-Reductions: 94
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 37
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2776
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.97.0>
-State: Waiting
-Name: httpd_sup
-Spawned as: proc_lib:init_p/5
-Current call: erlang:hibernate/3
-Spawned by: <0.92.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.92.0>]
-Reductions: 71
-Stack+heap: 54
-OldHeap: 0
-Heap unused: 4
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 1344
-Program counter: 0x0000000103d822c8 (unknown function)
-arity = 3
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.102.0>
-State: Waiting
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.101.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.44.0>, <0.103.0>]
-Reductions: 59
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 26
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2816
-Program counter: 0x0000000103eb6264 (application_master:main_loop/2 + 76)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.103.0>
-State: Waiting
-Spawned as: application_master:start_it/4
-Spawned by: <0.102.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.107.0>, <0.102.0>]
-Reductions: 325
-Stack+heap: 987
-OldHeap: 987
-Heap unused: 741
-OldHeap unused: 984
-BinVHeap: 317
-OldBinVHeap: 0
-BinVHeap unused: 46105
-OldBinVHeap unused: 46422
-Memory: 16656
-Program counter: 0x0000000103eb7b08 (application_master:loop_it/4 + 88)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.105.0>
-State: Waiting
-Name: logger_std_h_ssl_handler
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.70.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.106.0>, <0.70.0>, {from,<0.71.0>,#Ref<0.3756053351.4210294785.45416>}]
-Reductions: 183
-Stack+heap: 610
-OldHeap: 610
-Heap unused: 496
-OldHeap unused: 516
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 10776
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL | OFF_HEAP_MSGQ
-=proc:<0.106.0>
-State: Waiting
-Spawned as: erlang:apply/2
-Spawned by: <0.105.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.105.0>]
-Reductions: 9
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 209
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2688
-Program counter: 0x00000001040ba3ac (logger_std_h:file_ctrl_loop/1 + 84)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.107.0>
-State: Waiting
-Name: ssl_sup
-Spawned as: proc_lib:init_p/5
-Current call: erlang:hibernate/3
-Spawned by: <0.103.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.103.0>, <0.112.0>, <0.108.0>]
-Reductions: 342
-Stack+heap: 82
-OldHeap: 0
-Heap unused: 4
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 1648
-Program counter: 0x0000000103d822c8 (unknown function)
-arity = 3
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.108.0>
-State: Waiting
-Name: ssl_admin_sup
-Spawned as: proc_lib:init_p/5
-Current call: erlang:hibernate/3
-Spawned by: <0.107.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.107.0>, <0.111.0>, <0.110.0>, <0.109.0>]
-Reductions: 487
-Stack+heap: 112
-OldHeap: 0
-Heap unused: 4
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 1928
-Program counter: 0x0000000103d822c8 (unknown function)
-arity = 3
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.109.0>
-State: Waiting
-Name: ssl_pem_cache
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.108.0>
-Message queue length: 0
-Number of heap fragments: 1
-Heap fragment data: 0
-Link list: [<0.108.0>]
-Reductions: 99
-Stack+heap: 376
-OldHeap: 0
-Heap unused: 101
-OldHeap unused: 0
-BinVHeap: 3373
-OldBinVHeap: 0
-BinVHeap unused: 43049
-OldBinVHeap unused: 46422
-Memory: 4008
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.110.0>
-State: Waiting
-Name: ssl_manager
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.108.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.108.0>]
-Reductions: 179
-Stack+heap: 610
-OldHeap: 987
-Heap unused: 288
-OldHeap unused: 944
-BinVHeap: 1821
-OldBinVHeap: 0
-BinVHeap unused: 44601
-OldBinVHeap unused: 46422
-Memory: 13776
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.111.0>
-State: Waiting
-Name: tls_client_ticket_store
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.108.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.108.0>]
-Reductions: 42
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 147
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2776
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.112.0>
-State: Waiting
-Name: ssl_connection_sup
-Spawned as: proc_lib:init_p/5
-Current call: erlang:hibernate/3
-Spawned by: <0.107.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.107.0>, <0.120.0>, <0.113.0>]
-Reductions: 321
-Stack+heap: 84
-OldHeap: 0
-Heap unused: 4
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 1664
-Program counter: 0x0000000103d822c8 (unknown function)
-arity = 3
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.113.0>
-State: Waiting
-Name: tls_sup
-Spawned as: proc_lib:init_p/5
-Current call: erlang:hibernate/3
-Spawned by: <0.112.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.112.0>, <0.115.0>, <0.114.0>]
-Reductions: 330
-Stack+heap: 86
-OldHeap: 0
-Heap unused: 4
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 1680
-Program counter: 0x0000000103d822c8 (unknown function)
-arity = 3
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.114.0>
-State: Waiting
-Name: tls_connection_sup
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.113.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.113.0>]
-Reductions: 92
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 62
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2776
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.115.0>
-State: Waiting
-Name: tls_server_sup
-Spawned as: proc_lib:init_p/5
-Current call: erlang:hibernate/3
-Spawned by: <0.113.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.113.0>, <0.117.0>, <0.119.0>, <0.118.0>, <0.116.0>]
-Reductions: 653
-Stack+heap: 116
-OldHeap: 0
-Heap unused: 4
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2000
-Program counter: 0x0000000103d822c8 (unknown function)
-arity = 3
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.116.0>
-State: Waiting
-Name: ssl_listen_tracker_sup
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.115.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.115.0>]
-Reductions: 92
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 62
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2776
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.117.0>
-State: Waiting
-Name: tls_server_session_ticket_sup
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.115.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.115.0>]
-Reductions: 92
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 62
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2776
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.118.0>
-State: Waiting
-Name: ssl_server_session_cache_sup
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.115.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.115.0>]
-Reductions: 92
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 62
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2776
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.119.0>
-State: Waiting
-Name: ssl_upgrade_server_session_cache_sup
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.115.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.115.0>]
-Reductions: 92
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 62
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2776
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.120.0>
-State: Waiting
-Name: dtls_sup
-Spawned as: proc_lib:init_p/5
-Current call: erlang:hibernate/3
-Spawned by: <0.112.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.112.0>, <0.122.0>, <0.121.0>]
-Reductions: 330
-Stack+heap: 86
-OldHeap: 0
-Heap unused: 4
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 1680
-Program counter: 0x0000000103d822c8 (unknown function)
-arity = 3
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.121.0>
-State: Waiting
-Name: dtls_connection_sup
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.120.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.120.0>]
-Reductions: 95
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 64
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2776
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.122.0>
-State: Waiting
-Name: dtls_server_sup
-Spawned as: proc_lib:init_p/5
-Current call: erlang:hibernate/3
-Spawned by: <0.120.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.120.0>, <0.124.0>, <0.123.0>]
-Reductions: 331
-Stack+heap: 88
-OldHeap: 0
-Heap unused: 4
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 1696
-Program counter: 0x0000000103d822c8 (unknown function)
-arity = 3
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.123.0>
-State: Waiting
-Name: dtls_listener_sup
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.122.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.122.0>]
-Reductions: 93
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 62
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2864
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.124.0>
-State: Waiting
-Name: dtls_server_session_cache_sup
-Spawned as: proc_lib:init_p/5
-Spawned by: <0.122.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.122.0>]
-Reductions: 92
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 62
-OldHeap unused: 0
-BinVHeap: 0
-OldBinVHeap: 0
-BinVHeap unused: 46422
-OldBinVHeap unused: 46422
-Memory: 2776
-Program counter: 0x0000000103f1c0d8 (gen_server:loop/7 + 384)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL
-=proc:<0.135.0>
-State: Scheduled
-Spawned as: erlang:apply/2
-Spawned by: <0.9.0>
-Message queue length: 0
-Number of heap fragments: 0
-Heap fragment data: 0
-Link list: [<0.9.0>]
-Reductions: 111
-Stack+heap: 233
-OldHeap: 0
-Heap unused: 55
-OldHeap unused: 0
-BinVHeap: 1
-OldBinVHeap: 0
-BinVHeap unused: 46421
-OldBinVHeap unused: 46422
-Memory: 13976
-Program counter: 0x00000001041ff698 (gleam_erlang_ffi:select/2 + 192)
-arity = 0
-Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL | IN_PRQ_NORMAL | IN_RUNQ | SIG_IN_Q | ACTIVE_SYS
-=port:#Port<0.0>
-State: CONNECTED
-Slot: 0
-Connected: <0.0.0>
-Port controls forker process: forker
-Input: 0
-Output: 0
-Queue: 0
-=port:#Port<0.1>
-State: CONNECTED|BINARY_IO
-Slot: 8
-Connected: <0.52.0>
-Links: <0.52.0>
-Port is UNIX fd not opened by emulator: 2/2
-Input: 0
-Output: 0
-Queue: 0
-=ets:<0.42.0>
-Slot: 5110497728
-Table: logger
-Name: logger
-Buckets: 256
-Chain Length Avg: 0.015625
-Chain Length Max: 1
-Chain Length Min: 0
-Chain Length Std Dev: 0.124020
-Chain Length Expected Std Dev: 0.124756
-Fixed: false
-Objects: 4
-Words: 6813
-Type: set
-Protection: protected
-Compressed: false
-Write Concurrency: true
-Read Concurrency: true
-=ets:<0.44.0>
-Slot: 5110509560
-Table: ac_tab
-Name: ac_tab
-Buckets: 256
-Chain Length Avg: 0.136719
-Chain Length Max: 3
-Chain Length Min: 0
-Chain Length Std Dev: 0.386363
-Chain Length Expected Std Dev: 0.369032
-Fixed: false
-Objects: 35
-Words: 4094
-Type: set
-Protection: public
-Compressed: false
-Write Concurrency: false
-Read Concurrency: true
-=ets:<0.50.0>
-Slot: 5110518176
-Table: code_server
-Name: code_server
-Buckets: 448
-Chain Length Avg: 1.000000
-Chain Length Max: 8
-Chain Length Min: 0
-Chain Length Std Dev: 1.198958
-Chain Length Expected Std Dev: 0.998883
-Fixed: false
-Objects: 448
-Words: 34781
-Type: set
-Protection: protected
-Compressed: false
-Write Concurrency: false
-Read Concurrency: false
-=ets:<0.50.0>
-Slot: 4396206480
-Table: code_names
-Name: code_names
-Buckets: 256
-Chain Length Avg: 0.203125
-Chain Length Max: 3
-Chain Length Min: 0
-Chain Length Std Dev: 0.456881
-Chain Length Expected Std Dev: 0.449813
-Fixed: false
-Objects: 52
-Words: 9409
-Type: set
-Protection: public
-Compressed: false
-Write Concurrency: false
-Read Concurrency: false
-=ets:<0.55.0>
-Slot: 4396326720
-Table: inet_db
-Name: inet_db
-Buckets: 256
-Chain Length Avg: 0.121094
-Chain Length Max: 3
-Chain Length Min: 0
-Chain Length Std Dev: 0.360371
-Chain Length Expected Std Dev: 0.347305
-Fixed: false
-Objects: 31
-Words: 622
-Type: set
-Protection: public
-Compressed: false
-Write Concurrency: false
-Read Concurrency: false
-=ets:<0.55.0>
-Slot: 4396330840
-Table: inet_cache
-Name: inet_cache
-Buckets: 256
-Chain Length Avg: 0.000000
-Chain Length Max: 0
-Chain Length Min: 0
-Chain Length Std Dev: 0.000000
-Chain Length Expected Std Dev: 0.000000
-Fixed: false
-Objects: 0
-Words: 311
-Type: bag
-Protection: public
-Compressed: false
-Write Concurrency: false
-Read Concurrency: false
-=ets:<0.55.0>
-Slot: 4396333344
-Table: inet_hosts_byname
-Name: inet_hosts_byname
-Buckets: 256
-Chain Length Avg: 0.000000
-Chain Length Max: 0
-Chain Length Min: 0
-Chain Length Std Dev: 0.000000
-Chain Length Expected Std Dev: 0.000000
-Fixed: false
-Objects: 0
-Words: 311
-Type: set
-Protection: protected
-Compressed: false
-Write Concurrency: false
-Read Concurrency: false
-=ets:<0.55.0>
-Slot: 4396335848
-Table: inet_hosts_byaddr
-Name: inet_hosts_byaddr
-Buckets: 256
-Chain Length Avg: 0.000000
-Chain Length Max: 0
-Chain Length Min: 0
-Chain Length Std Dev: 0.000000
-Chain Length Expected Std Dev: 0.000000
-Fixed: false
-Objects: 0
-Words: 311
-Type: set
-Protection: protected
-Compressed: false
-Write Concurrency: false
-Read Concurrency: false
-=ets:<0.55.0>
-Slot: 4396338352
-Table: inet_hosts_file_byname
-Name: inet_hosts_file_byname
-Buckets: 256
-Chain Length Avg: 0.000000
-Chain Length Max: 0
-Chain Length Min: 0
-Chain Length Std Dev: 0.000000
-Chain Length Expected Std Dev: 0.000000
-Fixed: false
-Objects: 0
-Words: 311
-Type: set
-Protection: protected
-Compressed: false
-Write Concurrency: false
-Read Concurrency: false
-=ets:<0.55.0>
-Slot: 4396340856
-Table: inet_hosts_file_byaddr
-Name: inet_hosts_file_byaddr
-Buckets: 256
-Chain Length Avg: 0.000000
-Chain Length Max: 0
-Chain Length Min: 0
-Chain Length Std Dev: 0.000000
-Chain Length Expected Std Dev: 0.000000
-Fixed: false
-Objects: 0
-Words: 311
-Type: set
-Protection: protected
-Compressed: false
-Write Concurrency: false
-Read Concurrency: false
-=ets:<0.55.0>
-Slot: 4396343360
-Table: inet_sockets
-Name: inet_sockets
-Buckets: 256
-Chain Length Avg: 0.000000
-Chain Length Max: 0
-Chain Length Min: 0
-Chain Length Std Dev: 0.000000
-Chain Length Expected Std Dev: 0.000000
-Fixed: false
-Objects: 0
-Words: 311
-Type: set
-Protection: protected
-Compressed: false
-Write Concurrency: false
-Read Concurrency: false
-=ets:<0.57.0>
-Slot: 4396353768
-Table: #Ref<0.3756053351.4210425857.45060>
-Name: rex_nodes_observer
-Buckets: 256
-Chain Length Avg: 0.000000
-Chain Length Max: 0
-Chain Length Min: 0
-Chain Length Std Dev: 0.000000
-Chain Length Expected Std Dev: 0.000000
-Fixed: false
-Objects: 0
-Words: 391
-Type: set
-Protection: protected
-Compressed: false
-Write Concurrency: false
-Read Concurrency: true
-=ets:<0.58.0>
-Slot: 4396358992
-Table: global_locks
-Name: global_locks
-Buckets: 256
-Chain Length Avg: 0.000000
-Chain Length Max: 0
-Chain Length Min: 0
-Chain Length Std Dev: 0.000000
-Chain Length Expected Std Dev: 0.000000
-Fixed: false
-Objects: 0
-Words: 311
-Type: set
-Protection: protected
-Compressed: false
-Write Concurrency: false
-Read Concurrency: false
-=ets:<0.58.0>
-Slot: 4396361496
-Table: global_names
-Name: global_names
-Buckets: 256
-Chain Length Avg: 0.000000
-Chain Length Max: 0
-Chain Length Min: 0
-Chain Length Std Dev: 0.000000
-Chain Length Expected Std Dev: 0.000000
-Fixed: false
-Objects: 0
-Words: 391
-Type: set
-Protection: protected
-Compressed: false
-Write Concurrency: false
-Read Concurrency: true
-=ets:<0.58.0>
-Slot: 4396364000
-Table: global_names_ext
-Name: global_names_ext
-Buckets: 256
-Chain Length Avg: 0.000000
-Chain Length Max: 0
-Chain Length Min: 0
-Chain Length Std Dev: 0.000000
-Chain Length Expected Std Dev: 0.000000
-Fixed: false
-Objects: 0
-Words: 311
-Type: set
-Protection: protected
-Compressed: false
-Write Concurrency: false
-Read Concurrency: false
-=ets:<0.58.0>
-Slot: 4396366504
-Table: global_pid_names
-Name: global_pid_names
-Buckets: 256
-Chain Length Avg: 0.000000
-Chain Length Max: 0
-Chain Length Min: 0
-Chain Length Std Dev: 0.000000
-Chain Length Expected Std Dev: 0.000000
-Fixed: false
-Objects: 0
-Words: 311
-Type: bag
-Protection: protected
-Compressed: false
-Write Concurrency: false
-Read Concurrency: false
-=ets:<0.58.0>
-Slot: 4396369008
-Table: global_pid_ids
-Name: global_pid_ids
-Buckets: 256
-Chain Length Avg: 0.000000
-Chain Length Max: 0
-Chain Length Min: 0
-Chain Length Std Dev: 0.000000
-Chain Length Expected Std Dev: 0.000000
-Fixed: false
-Objects: 0
-Words: 311
-Type: bag
-Protection: protected
-Compressed: false
-Write Concurrency: false
-Read Concurrency: false
-=ets:<0.58.0>
-Slot: 4396371512
-Table: global_lost_connections
-Name: global_lost_connections
-Buckets: 256
-Chain Length Avg: 0.000000
-Chain Length Max: 0
-Chain Length Min: 0
-Chain Length Std Dev: 0.000000
-Chain Length Expected Std Dev: 0.000000
-Fixed: false
-Objects: 0
-Words: 311
-Type: set
-Protection: protected
-Compressed: false
-Write Concurrency: false
-Read Concurrency: false
-=ets:<0.58.0>
-Slot: 4396374016
-Table: global_node_resources
-Name: global_node_resources
-Buckets: 256
-Chain Length Avg: 0.000000
-Chain Length Max: 0
-Chain Length Min: 0
-Chain Length Std Dev: 0.000000
-Chain Length Expected Std Dev: 0.000000
-Fixed: false
-Objects: 0
-Words: 311
-Type: set
-Protection: protected
-Compressed: false
-Write Concurrency: false
-Read Concurrency: false
-=ets:<0.95.0>
-Slot: 4412439352
-Table: httpc_manager__session_db
-Name: httpc_manager__session_db
-Buckets: 256
-Chain Length Avg: 0.000000
-Chain Length Max: 0
-Chain Length Min: 0
-Chain Length Std Dev: 0.000000
-Chain Length Expected Std Dev: 0.000000
-Fixed: false
-Objects: 0
-Words: 311
-Type: set
-Protection: public
-Compressed: false
-Write Concurrency: false
-Read Concurrency: false
-=ets:<0.95.0>
-Slot: 4412441856
-Table: httpc_manager__handler_db
-Name: httpc_manager__handler_db
-Buckets: 256
-Chain Length Avg: 0.000000
-Chain Length Max: 0
-Chain Length Min: 0
-Chain Length Std Dev: 0.000000
-Chain Length Expected Std Dev: 0.000000
-Fixed: false
-Objects: 0
-Words: 311
-Type: set
-Protection: protected
-Compressed: false
-Write Concurrency: false
-Read Concurrency: false
-=ets:<0.95.0>
-Slot: 4412445768
-Table: #Ref<0.3756053351.4210425857.45356>
-Name: httpc_manager__session_cookie_db
-Buckets: 256
-Chain Length Avg: 0.000000
-Chain Length Max: 0
-Chain Length Min: 0
-Chain Length Std Dev: 0.000000
-Chain Length Expected Std Dev: 0.000000
-Fixed: false
-Objects: 0
-Words: 311
-Type: bag
-Protection: protected
-Compressed: false
-Write Concurrency: false
-Read Concurrency: false
-=ets:<0.109.0>
-Slot: 4412458184
-Table: ssl_pem_cache
-Name: ssl_pem_cache
-Buckets: 256
-Chain Length Avg: 0.000000
-Chain Length Max: 0
-Chain Length Min: 0
-Chain Length Std Dev: 0.000000
-Chain Length Expected Std Dev: 0.000000
-Fixed: false
-Objects: 0
-Words: 311
-Type: set
-Protection: protected
-Compressed: false
-Write Concurrency: false
-Read Concurrency: false
-=ets:<0.110.0>
-Slot: 4412471664
-Table: #Ref<0.3756053351.4210425857.45462>
-Name: client_ssl_otp_session_cache
-Ordered set (AVL tree), Elements: 0
-Objects: 0
-Words: 145
-Type: ordered_set
-Protection: protected
-Compressed: false
-Write Concurrency: false
-Read Concurrency: false
-=ets:<0.110.0>
-Slot: 4412472840
-Table: #Ref<0.3756053351.4210425857.45463>
-Name: ssl_otp_cacertificate_db
-Buckets: 256
-Chain Length Avg: 0.000000
-Chain Length Max: 0
-Chain Length Min: 0
-Chain Length Std Dev: 0.000000
-Chain Length Expected Std Dev: 0.000000
-Fixed: false
-Objects: 0
-Words: 311
-Type: set
-Protection: public
-Compressed: false
-Write Concurrency: false
-Read Concurrency: false
-=ets:<0.110.0>
-Slot: 4412475344
-Table: #Ref<0.3756053351.4210425857.45464>
-Name: ssl_otp_ca_file_ref
-Buckets: 256
-Chain Length Avg: 0.000000
-Chain Length Max: 0
-Chain Length Min: 0
-Chain Length Std Dev: 0.000000
-Chain Length Expected Std Dev: 0.000000
-Fixed: false
-Objects: 0
-Words: 311
-Type: set
-Protection: public
-Compressed: false
-Write Concurrency: false
-Read Concurrency: false
-=ets:<0.110.0>
-Slot: 4412477848
-Table: #Ref<0.3756053351.4210425857.45465>
-Name: ssl_otp_ca_ref_file_mapping
-Buckets: 256
-Chain Length Avg: 0.000000
-Chain Length Max: 0
-Chain Length Min: 0
-Chain Length Std Dev: 0.000000
-Chain Length Expected Std Dev: 0.000000
-Fixed: false
-Objects: 0
-Words: 311
-Type: set
-Protection: protected
-Compressed: false
-Write Concurrency: false
-Read Concurrency: false
-=ets:<0.110.0>
-Slot: 4412480352
-Table: #Ref<0.3756053351.4210425857.45466>
-Name: ssl_otp_crl_cache
-Buckets: 256
-Chain Length Avg: 0.000000
-Chain Length Max: 0
-Chain Length Min: 0
-Chain Length Std Dev: 0.000000
-Chain Length Expected Std Dev: 0.000000
-Fixed: false
-Objects: 0
-Words: 311
-Type: set
-Protection: protected
-Compressed: false
-Write Concurrency: false
-Read Concurrency: false
-=ets:<0.110.0>
-Slot: 4412482856
-Table: #Ref<0.3756053351.4210425857.45467>
-Name: ssl_otp_crl_issuer_mapping
-Buckets: 256
-Chain Length Avg: 0.000000
-Chain Length Max: 0
-Chain Length Min: 0
-Chain Length Std Dev: 0.000000
-Chain Length Expected Std Dev: 0.000000
-Fixed: false
-Objects: 0
-Words: 311
-Type: bag
-Protection: protected
-Compressed: false
-Write Concurrency: false
-Read Concurrency: false
-=ets:<0.123.0>
-Slot: 4412505024
-Table: dtls_listener_sup
-Name: dtls_listener_sup
-Buckets: 256
-Chain Length Avg: 0.000000
-Chain Length Max: 0
-Chain Length Min: 0
-Chain Length Std Dev: 0.000000
-Chain Length Expected Std Dev: 0.000000
-Fixed: false
-Objects: 0
-Words: 311
-Type: set
-Protection: public
-Compressed: false
-Write Concurrency: false
-Read Concurrency: false
-=timer:<0.55.0>
-Message: refresh_timeout
-Time left: 3599689
-=timer:<0.111.0>
-Message: remove_invalid_tickets
-Time left: 7199821
-=timer:<0.110.0>
-Message: validate_sessions
-Time left: 86404820
-=timer:<0.109.0>
-Message: clear_pem_cache
-Time left: 119817
-=node:'nonode@nohost'
-=no_distribution
-=loaded_modules
-Current code: 6279844
-Old code: 0
-=mod:erts_code_purger
-Current size: 13296
-=mod:erl_init
-Current size: 2480
-=mod:init
-Current size: 65275
-=mod:prim_buffer
-Current size: 4936
-=mod:prim_eval
-Current size: 1336
-=mod:prim_inet
-Current size: 108445
-=mod:prim_file
-Current size: 40897
-=mod:zlib
-Current size: 19904
-=mod:socket_registry
-Current size: 22176
-=mod:prim_socket
-Current size: 50952
-=mod:prim_net
-Current size: 10816
-=mod:prim_zip
-Current size: 24400
-=mod:erl_prim_loader
-Current size: 55760
-=mod:erlang
-Current size: 102432
-=mod:erts_internal
-Current size: 23968
-=mod:erl_tracer
-Current size: 1664
-=mod:erts_literal_area_collector
-Current size: 4856
-=mod:erts_dirty_process_signal_handler
-Current size: 2296
-=mod:atomics
-Current size: 3424
-=mod:counters
-Current size: 4112
-=mod:persistent_term
-Current size: 1456
-=mod:erl_parse
-Current size: 324787
-Current attributes: g2wAAAQxaAJ3A3ZzbmwAAAABbhAAWZz93qXsCLw4KSJjM+fEbWpoAncHcmVtb3ZlZGwAAAADaAN3CHNldF9saW5lYQJrABd1c2UgZXJsX2Fubm86c2V0X2xpbmUvMmgDdw5nZXRfYXR0cmlidXRlc2EBawAuZXJsX2Fubm86e2NvbHVtbixsaW5lLGxvY2F0aW9uLHRleHR9LzEgaW5zdGVhZGgDdw1nZXRfYXR0cmlidXRlYQJrAC5lcmxfYW5ubzp7Y29sdW1uLGxpbmUsbG9jYXRpb24sdGV4dH0vMSBpbnN0ZWFkamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdwl5ZWNjcGFyczJhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncLeWVjY3BhcnMyXzBhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncLeWVjY3BhcnMyXzFhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncLeWVjY3BhcnMyXzJhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncLeWVjY3BhcnMyXzNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncLeWVjY3BhcnMyXzRhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncLeWVjY3BhcnMyXzVhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncLeWVjY3BhcnMyXzZhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncLeWVjY3BhcnMyXzdhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncLeWVjY3BhcnMyXzhhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncLeWVjY3BhcnMyXzlhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncMeWVjY3BhcnMyXzEwYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DHllY2NwYXJzMl8xMWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdwx5ZWNjcGFyczJfMTJhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncMeWVjY3BhcnMyXzEzYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DHllY2NwYXJzMl8xNWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdwx5ZWNjcGFyczJfMTZhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncMeWVjY3BhcnMyXzE3YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DHllY2NwYXJzMl8xOGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdwx5ZWNjcGFyczJfMTlhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncMeWVjY3BhcnMyXzIwYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DHllY2NwYXJzMl8yMWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdwx5ZWNjcGFyczJfMjJhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncMeWVjY3BhcnMyXzI0YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DHllY2NwYXJzMl8yNWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdwx5ZWNjcGFyczJfMjZhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncMeWVjY3BhcnMyXzI3YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DHllY2NwYXJzMl8yOWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdwx5ZWNjcGFyczJfMzBhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncMeWVjY3BhcnMyXzMxYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DHllY2NwYXJzMl8zMmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdwx5ZWNjcGFyczJfMzNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncMeWVjY3BhcnMyXzM0YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DHllY2NwYXJzMl8zNWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdwx5ZWNjcGFyczJfMzZhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncMeWVjY3BhcnMyXzM4YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DHllY2NwYXJzMl8zOWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdwx5ZWNjcGFyczJfNDBhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncMeWVjY3BhcnMyXzQxYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DHllY2NwYXJzMl80M2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdwx5ZWNjcGFyczJfNDRhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncMeWVjY3BhcnMyXzQ1YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DHllY2NwYXJzMl80NmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdwx5ZWNjcGFyczJfNDdhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncMeWVjY3BhcnMyXzQ4YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DHllY2NwYXJzMl80OWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdwx5ZWNjcGFyczJfNTBhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncMeWVjY3BhcnMyXzUxYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DHllY2NwYXJzMl81MmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdwx5ZWNjcGFyczJfNTNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncMeWVjY3BhcnMyXzU0YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DHllY2NwYXJzMl81NWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdwx5ZWNjcGFyczJfNTZhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncMeWVjY3BhcnMyXzU3YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DHllY2NwYXJzMl81OGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdwx5ZWNjcGFyczJfNTlhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncMeWVjY3BhcnMyXzY2YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DHllY2NwYXJzMl83MWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdwx5ZWNjcGFyczJfNzJhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncMeWVjY3BhcnMyXzc0YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DHllY2NwYXJzMl83OGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdwx5ZWNjcGFyczJfNzlhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncMeWVjY3BhcnMyXzgwYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DHllY2NwYXJzMl84MmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdwx5ZWNjcGFyczJfODNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncMeWVjY3BhcnMyXzg3YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DHllY2NwYXJzMl85MGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdwx5ZWNjcGFyczJfOTFhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncMeWVjY3BhcnMyXzkyYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DHllY2NwYXJzMl85M2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdwx5ZWNjcGFyczJfOTRhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncMeWVjY3BhcnMyXzk1YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DHllY2NwYXJzMl85NmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdwx5ZWNjcGFyczJfOTdhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncMeWVjY3BhcnMyXzk5YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xMDBhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzEwMWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTAyYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xMDNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzEwNGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTA1YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xMDdhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzEwOGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTA5YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xMTBhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzExMWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTEyYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xMTNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzExNWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTE3YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xMThhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzExOWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTIxYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xMjJhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzEyM2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTI0YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xMjVhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzEyNmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTI3YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xMzBhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzEzMWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTMyYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xMzNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzEzNGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTM1YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xMzZhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzEzN2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTM4YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xMzlhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzE0MGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTQxYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xNDJhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzE0M2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTQ0YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xNDVhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzE0NmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTQ3YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xNDhhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzE0OWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTUwYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xNTFhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzE1MmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTUzYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xNTRhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzE1NWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTU2YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xNTdhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzE1OGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTU5YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xNjBhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzE2MmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTYzYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xNjRhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzE2NWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTY2YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xNjhhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzE2OWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTcwYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xNzFhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzE3MmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTczYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xNzRhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzE3NWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTc2YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xNzdhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzE3OGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTc5YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xODBhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzE4MWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTgyYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xODNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzE4NGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTg1YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xODZhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzE4OWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTkwYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xOTFhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzE5MmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTkzYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xOTRhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzE5NWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTk2YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xOTdhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzE5OGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTk5YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yMDBhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzIwMWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMjAyYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yMDNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzIwNGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMjA1YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yMDZhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzIwN2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMjA4YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yMDlhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzIxMWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMjEyYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yMTNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzIxNWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMjE2YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yMTdhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzIxOGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMjIwYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yMjFhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzIyMmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMjIzYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yMjRhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzIyN2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMjI4YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yMjlhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzIzMWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMjMyYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yMzNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzIzNWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMjM3YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yMzhhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzI0MGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMjQxYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yNDJhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzI0M2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMjQ0YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yNDVhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzI0NmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMjQ4YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yNDlhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzI1MGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMjUxYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yNTNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzI1NWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMjU2YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yNTdhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzI1OWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMjYwYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yNjFhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzI2MmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMjYzYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yNjRhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzI2NWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMjY2YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yNjdhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzI2OGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMjY5YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yNzBhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzI3MWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMjczYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yNzRhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzI3NWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMjc2YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yNzdhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzI3OGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMjc5YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yODBhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzI4MWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMjgyYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yODNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzI4NGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMjg2YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yODdhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzI5MmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMjk0YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yOTVhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzI5NmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMjk3YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yOThhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzI5OWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMzAxYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8zMDNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzMwNGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMzA2YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8zMDhhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzMxMGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMzEyYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8zMTNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzMxNGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMzE1YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8zMTZhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzMxN2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMzE5YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8zMjBhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzMyMWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMzIzYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8zMjVhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzMyNmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMzI3YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8zMjhhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzMyOWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMzMyYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8zMzNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzMzNWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMzM3YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8zMzhhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzMzOWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMzQwYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8zNDFhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzM0M2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMzQ1YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8zNDZhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzM0N2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMzQ4YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8zNDlhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzM1MGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMzUxYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8zNTJhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzM1M2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMzU1YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8zNTZhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzM1N2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMzU4YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8zNTlhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzM2MGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMzYxYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8zNjJhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzM2M2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMzY0YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8zNjVhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzM2NmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMzY3YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8zNjlhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzM3MWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMzcyYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8zNzVhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzM3NmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMzc3YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8zNzhhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzM4MGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMzgxYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8zODNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzM4NmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMzg3YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8zODhhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzM4OWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMzkwYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8zOTFhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzM5M2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMzk1YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8zOTdhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzM5OGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDAwYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80MDJhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQwNGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDA2YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80MDhhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQwOWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDEwYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80MTFhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQxMmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDEzYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80MTVhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQxNmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDE3YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80MTlhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQyMGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDIyYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80MjRhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQyNWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDI2YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80MjdhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQyOWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDMwYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80MzFhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQzMmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDMzYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80MzRhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQzNWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDM2YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80MzdhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQzOWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDQxYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80NDJhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQ0M2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDQ1YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80NDZhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQ0N2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDQ5YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80NTBhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQ1MWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDUyYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80NTNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQ1NGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDU2YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80NTdhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQ1OGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDU5YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80NjBhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQ2MmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDYzYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80NjRhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQ2NWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDY2YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80NjhhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQ3MGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDcxYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80NzJhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQ3M2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDc0YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80NzZhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQ3N2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDc5YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80ODBhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQ4MWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDgzYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80ODRhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQ4NWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDg2YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80ODhhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQ4OWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDkwYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80OTFhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQ5MmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDkzYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80OTRhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQ5NWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDk2YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80OTdhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQ5OGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDk5YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81MDBhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzUwM2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNTA0YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81MDVhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzUwNmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNTA3YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81MDhhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzUxMGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNTExYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81MTJhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzUxNGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNTE2YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81MThhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzUxOWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNTIwYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81MjFhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzUyMmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNTIzYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81MjVhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzUyNmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNTI3YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81MjhhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzUyOWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNTMwYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81MzFhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzUzM2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNTM0YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81MzZhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzUzN2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNTM4YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81NDBhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzU0MWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNTQyYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81NDNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzU0NGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNTQ2YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81NDdhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzU0OGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNTUwYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81NTFhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzU1MmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNTUzYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81NTRhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzU1NmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNTU3YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81NTlhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzU2MGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNTYxYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81NjJhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzU2M2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNTY0YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81NjVhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzU2NmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNTY3YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81NjhhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzU2OWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNTcwYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81NzFhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzU3MmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNTczYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81NzRhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzU3NmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNTc3YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81NzlhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzU4MGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNTg0YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81ODVhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzU4NmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNTg3YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81ODhhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzU4OWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNTkwYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81OTFhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzU5MmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNTkzYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81OTRhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzU5NWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNTk3YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81OTlhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzYwMGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNjAxYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl82MDJhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzYwNGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNjA1YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl82MDZhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzYwN2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNjA5YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl82MTBhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzYxM2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNjE0YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl82MTVhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzYxNmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNjE3YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl82MThhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzYxOWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNjIxYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl82MjJhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzYyM2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNjI0YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl82MjVhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzYyN2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNjI4YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl82MzBhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzYzMmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNjMzYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl82MzRhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzYzNWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNjM2YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl82MzdhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzYzOWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNjQxYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl82NDJhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzY0NGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNjQ2YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl82NDdhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzY0OGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNjQ5YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl82NTBhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzY1MWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNjUyYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl82NTRhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzY1OGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNjU5YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl82NjBhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzY2MmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNjYzYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl82NjRhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzY2N2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNjY4YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl82NzBhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzY3MWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNjcyYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl82NzNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzY3NGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNjc2YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl82NzdhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzY3OGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNjc5YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl82ODBhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncPeWVjY2dvdG9fYWRkX29wYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3FnllY2Nnb3RvX2FyZ3VtZW50X2xpc3RhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncUeWVjY2dvdG9fYXRvbV9vcl92YXJhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncPeWVjY2dvdG9fYXRvbWljYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3EXllY2Nnb3RvX2F0dHJfdmFsYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3EnllY2Nnb3RvX2F0dHJpYnV0ZWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxZ5ZWNjZ290b19iaW5fYmFzZV90eXBlYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3FHllY2Nnb3RvX2Jpbl9lbGVtZW50YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3FXllY2Nnb3RvX2Jpbl9lbGVtZW50c2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxZ5ZWNjZ290b19iaW5fdW5pdF90eXBlYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3D3llY2Nnb3RvX2JpbmFyeWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdx15ZWNjZ290b19iaW5hcnlfY29tcHJlaGVuc2lvbmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxR5ZWNjZ290b19iaW5hcnlfdHlwZWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxF5ZWNjZ290b19iaXRfZXhwcmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxZ5ZWNjZ290b19iaXRfc2l6ZV9leHByYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3EXllY2Nnb3RvX2JpdF90eXBlYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3FnllY2Nnb3RvX2JpdF90eXBlX2xpc3RhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncSeWVjY2dvdG9fY2FzZV9leHByYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3FHllY2Nnb3RvX2NsYXVzZV9hcmdzYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3FHllY2Nnb3RvX2NsYXVzZV9ib2R5YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3GnllY2Nnb3RvX2NsYXVzZV9ib2R5X2V4cHJzYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3FXllY2Nnb3RvX2NsYXVzZV9ndWFyZGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxB5ZWNjZ290b19jb21wX29wYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3EnllY2Nnb3RvX2NyX2NsYXVzZWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxN5ZWNjZ290b19jcl9jbGF1c2VzYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2Nnb3RvX2V4cHJhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncReWVjY2dvdG9fZXhwcl9tYXhhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncUeWVjY2dvdG9fZXhwcl9yZW1vdGVhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncOeWVjY2dvdG9fZXhwcnNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncTeWVjY2dvdG9fZmllbGRfdHlwZWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxR5ZWNjZ290b19maWVsZF90eXBlc2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjZ290b19mb3JtYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3E3llY2Nnb3RvX2Z1bl9jbGF1c2VhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncUeWVjY2dvdG9fZnVuX2NsYXVzZXNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncReWVjY2dvdG9fZnVuX2V4cHJhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncReWVjY2dvdG9fZnVuX3R5cGVhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncReWVjY2dvdG9fZnVuY3Rpb25hB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncWeWVjY2dvdG9fZnVuY3Rpb25fY2FsbGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxh5ZWNjZ290b19mdW5jdGlvbl9jbGF1c2VhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncZeWVjY2dvdG9fZnVuY3Rpb25fY2xhdXNlc2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjZ290b19ndWFyZGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxJ5ZWNjZ290b19pZl9jbGF1c2VhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncTeWVjY2dvdG9faWZfY2xhdXNlc2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxB5ZWNjZ290b19pZl9leHByYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3F3llY2Nnb3RvX2ludGVnZXJfb3JfdmFyYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3EHllY2Nnb3RvX2xjX2V4cHJhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncReWVjY2dvdG9fbGNfZXhwcnNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY2dvdG9fbGlzdGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxt5ZWNjZ290b19saXN0X2NvbXByZWhlbnNpb25hB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncQeWVjY2dvdG9fbGlzdF9vcGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxp5ZWNjZ290b19tYXBfY29tcHJlaGVuc2lvbmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxF5ZWNjZ290b19tYXBfZXhwcmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxJ5ZWNjZ290b19tYXBfZmllbGRhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncYeWVjY2dvdG9fbWFwX2ZpZWxkX2Fzc29jYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3GHllY2Nnb3RvX21hcF9maWVsZF9leGFjdGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxN5ZWNjZ290b19tYXBfZmllbGRzYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3EHllY2Nnb3RvX21hcF9rZXlhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncWeWVjY2dvdG9fbWFwX3BhaXJfdHlwZWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxd5ZWNjZ290b19tYXBfcGFpcl90eXBlc2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxV5ZWNjZ290b19tYXBfcGF0X2V4cHJhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncSeWVjY2dvdG9fbWFwX3R1cGxlYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3E3llY2Nnb3RvX21heWJlX2V4cHJhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncUeWVjY2dvdG9fbWF5YmVfbWF0Y2hhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncaeWVjY2dvdG9fbWF5YmVfbWF0Y2hfZXhwcnNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncQeWVjY2dvdG9fbXVsdF9vcGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxp5ZWNjZ290b19vcHRfYml0X3NpemVfZXhwcmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxp5ZWNjZ290b19vcHRfYml0X3R5cGVfbGlzdGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxp5ZWNjZ290b19wYXRfYXJndW1lbnRfbGlzdGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxF5ZWNjZ290b19wYXRfZXhwcmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxV5ZWNjZ290b19wYXRfZXhwcl9tYXhhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncSeWVjY2dvdG9fcGF0X2V4cHJzYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3EnllY2Nnb3RvX3ByZWZpeF9vcGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxV5ZWNjZ290b19yZWNlaXZlX2V4cHJhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncUeWVjY2dvdG9fcmVjb3JkX2V4cHJhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncVeWVjY2dvdG9fcmVjb3JkX2ZpZWxkYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3FnllY2Nnb3RvX3JlY29yZF9maWVsZHNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncYeWVjY2dvdG9fcmVjb3JkX3BhdF9leHByYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3FXllY2Nnb3RvX3JlY29yZF90dXBsZWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxF5ZWNjZ290b19zcGVjX2Z1bmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxd5ZWNjZ290b19zc2FfY2hlY2tfYW5ub2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdx55ZWNjZ290b19zc2FfY2hlY2tfYW5ub19jbGF1c2VhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncfeWVjY2dvdG9fc3NhX2NoZWNrX2Fubm9fY2xhdXNlc2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxd5ZWNjZ290b19zc2FfY2hlY2tfYXJnc2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdx15ZWNjZ290b19zc2FfY2hlY2tfYmluYXJ5X2xpdGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdyZ5ZWNjZ290b19zc2FfY2hlY2tfYmluYXJ5X2xpdF9ieXRlc19sc2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdyJ5ZWNjZ290b19zc2FfY2hlY2tfYmluYXJ5X2xpdF9yZXN0YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3HnllY2Nnb3RvX3NzYV9jaGVja19jbGF1c2VfYXJnc2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdyF5ZWNjZ290b19zc2FfY2hlY2tfY2xhdXNlX2FyZ3NfbHNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncXeWVjY2dvdG9fc3NhX2NoZWNrX2V4cHJhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncYeWVjY2dvdG9fc3NhX2NoZWNrX2V4cHJzYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3GnllY2Nnb3RvX3NzYV9jaGVja19mdW5fcmVmYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3G3llY2Nnb3RvX3NzYV9jaGVja19saXN0X2xpdGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdx55ZWNjZ290b19zc2FfY2hlY2tfbGlzdF9saXRfbHNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncaeWVjY2dvdG9fc3NhX2NoZWNrX21hcF9rZXlhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncieWVjY2dvdG9fc3NhX2NoZWNrX21hcF9rZXlfZWxlbWVudGEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdyN5ZWNjZ290b19zc2FfY2hlY2tfbWFwX2tleV9lbGVtZW50c2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdx95ZWNjZ290b19zc2FfY2hlY2tfbWFwX2tleV9saXN0YQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3KXllY2Nnb3RvX3NzYV9jaGVja19tYXBfa2V5X3R1cGxlX2VsZW1lbnRzYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3FnllY2Nnb3RvX3NzYV9jaGVja19wYXRhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncXeWVjY2dvdG9fc3NhX2NoZWNrX3BhdHNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAnceeWVjY2dvdG9fc3NhX2NoZWNrX3doZW5fY2xhdXNlYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3H3llY2Nnb3RvX3NzYV9jaGVja193aGVuX2NsYXVzZXNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncQeWVjY2dvdG9fc3RyaW5nc2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjZ290b190YWlsYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3EXllY2Nnb3RvX3RvcF90eXBlYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3EnllY2Nnb3RvX3RvcF90eXBlc2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxJ5ZWNjZ290b190cnlfY2F0Y2hhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncTeWVjY2dvdG9fdHJ5X2NsYXVzZWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxR5ZWNjZ290b190cnlfY2xhdXNlc2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxF5ZWNjZ290b190cnlfZXhwcmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxt5ZWNjZ290b190cnlfb3B0X3N0YWNrdHJhY2VhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncOeWVjY2dvdG9fdHVwbGVhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY2dvdG9fdHlwZWEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxN5ZWNjZ290b190eXBlX2d1YXJkYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3FHllY2Nnb3RvX3R5cGVfZ3VhcmRzYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3EXllY2Nnb3RvX3R5cGVfc2lnYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3EnllY2Nnb3RvX3R5cGVfc2lnc2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxJ5ZWNjZ290b190eXBlX3NwZWNhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncXeWVjY2dvdG9fdHlwZWRfYXR0cl92YWxhB2poAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncTeWVjY2dvdG9fdHlwZWRfZXhwcmEHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxR5ZWNjZ290b190eXBlZF9leHByc2EHamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxx5ZWNjZ290b190eXBlZF9yZWNvcmRfZmllbGRzYQdqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DHllY2NwYXJzMl8xX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdwx5ZWNjcGFyczJfMl9hAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncMeWVjY3BhcnMyXzhfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DHllY2NwYXJzMl85X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTFfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xMl9hAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzEzX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTZfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8xN19hAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzE4X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMTlfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yMF9hAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzIxX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMjRfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8yNV9hAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzI2X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMjlfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8zMF9hAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzMxX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMzJfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8zM19hAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzM0X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMzVfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl8zNl9hAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzM4X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfMzlfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80MF9hAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQxX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80NF9hAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQ1X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDZfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl80N19hAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzQ4X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNDlfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81MF9hAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzUyX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNTNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81NF9hAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzU1X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNTZfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl81N19hAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzU4X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNzFfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl83Ml9hAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzc0X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfNzhfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl84MF9hAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzgyX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfODNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl85MF9hAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzkxX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfOTJfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl85M19hAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzk0X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfOTVfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DXllY2NwYXJzMl85Nl9hAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncNeWVjY3BhcnMyXzk3X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw15ZWNjcGFyczJfOTlfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xMDBfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xMDFfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xMDJfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xMDNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xMDRfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xMDVfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xMDdfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xMDhfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xMDlfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xMTBfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xMTFfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xMTJfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xMTNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xMTVfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xMTdfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xMThfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xMTlfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xMjFfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xMjJfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xMjNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xMjRfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xMjVfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xMjZfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xMjdfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xMzBfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xMzFfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xMzJfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xNDJfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xNDdfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xNTFfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xNTNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xNTRfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xNTVfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xNTZfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xNThfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xNjJfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xNjNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xNjVfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xNjZfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xNzBfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xNzFfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xNzJfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xNzhfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xNzlfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xODJfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xODNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xODVfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xODZfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xODlfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xOTBfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xOTFfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xOTRfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xOTVfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xOThfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8xOTlfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yMDBfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yMDFfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yMDJfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yMDNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yMDZfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yMDhfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yMTFfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yMTJfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yMTNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yMTVfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yMTdfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yMThfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yMjBfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yMjFfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yMjNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yMjRfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yMjdfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yMjhfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yMjlfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yMzJfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yMzNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yMzVfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yMzdfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yMzhfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yNDBfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yNDFfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yNDJfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yNDNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yNDRfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yNDVfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yNDZfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yNTBfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yNTNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yNTVfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yNTZfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yNTdfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yNTlfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yNjBfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yNjJfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yNjRfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yNjZfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yNjdfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yNjhfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yNjlfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yNzRfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yNzVfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yNzZfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3D3llY2NwYXJzMl8yNzdfIWEBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw95ZWNjcGFyczJfMjc3XylhAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncPeWVjY3BhcnMyXzI3N18sYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3EHllY2NwYXJzMl8yNzdfLT5hAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncQeWVjY3BhcnMyXzI3N186OmEBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxB5ZWNjcGFyczJfMjc3Xzo9YQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3D3llY2NwYXJzMl8yNzdfO2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxB5ZWNjcGFyczJfMjc3XzwtYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3D3llY2NwYXJzMl8yNzdfPWEBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxB5ZWNjcGFyczJfMjc3Xz0+YQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3EHllY2NwYXJzMl8yNzdfPj5hAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncQeWVjY3BhcnMyXzI3N18/PWEBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw95ZWNjcGFyczJfMjc3X11hAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncTeWVjY3BhcnMyXzI3N19hZnRlcmEBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxV5ZWNjcGFyczJfMjc3X2FuZGFsc29hAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncTeWVjY3BhcnMyXzI3N19jYXRjaGEBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxF5ZWNjcGFyczJfMjc3X2RvdGEBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxJ5ZWNjcGFyczJfMjc3X2Vsc2VhAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncReWVjY3BhcnMyXzI3N19lbmRhAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncQeWVjY3BhcnMyXzI3N19vZmEBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxR5ZWNjcGFyczJfMjc3X29yZWxzZWEBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxJ5ZWNjcGFyczJfMjc3X3doZW5hAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncPeWVjY3BhcnMyXzI3N198YQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3EHllY2NwYXJzMl8yNzdffHxhAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncPeWVjY3BhcnMyXzI3N199YQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yNzhfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yNzlfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yODFfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yODJfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yODNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yODRfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yODZfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yODdfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yOTRfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yOTVfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8yOTZfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3D3llY2NwYXJzMl8yOTdfKWEBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw95ZWNjcGFyczJfMjk3XyxhAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncQeWVjY3BhcnMyXzI5N18tPmEBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw95ZWNjcGFyczJfMjk3XzphAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncPeWVjY3BhcnMyXzI5N189YQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3EnllY2NwYXJzMl8yOTdfd2hlbmEBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMjk4X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMjk5X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzAxX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzAzX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzA0X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzA2X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzA4X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzEwX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzEyX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzE0X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzE2X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzIxX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzIzX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzI2X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzI4X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzI5X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzMyX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzMzX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzM1X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzM3X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzM5X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzQxX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzQzX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzQ1X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzQ2X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzQ3X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzQ5X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzUxX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzUyX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzUzX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzU1X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzU3X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzYwX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzYxX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzYzX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzY0X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzY1X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzY3X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzY5X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzcxX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzcyX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzc2X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzc4X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzgwX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzgxX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzgzX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfMzg5X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw95ZWNjcGFyczJfMzkwXyxhAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncQeWVjY3BhcnMyXzM5MF8+PmEBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw95ZWNjcGFyczJfMzkwX11hAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncPeWVjY3BhcnMyXzM5MF99YQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8zOTBfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8zOTFfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8zOTNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8zOTVfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8zOTdfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl8zOThfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80MDBfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80MDJfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80MDRfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80MDZfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80MDhfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80MDlfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80MTFfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80MTNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80MTdfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80MjBfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80MjJfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80MjRfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80MjVfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80MjZfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80MjdfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80MjlfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80MzBfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80MzFfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80MzNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80MzRfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80MzVfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80MzdfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80MzlfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80NDJfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80NDNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80NDVfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80NDZfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80NTFfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80NTJfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80NTNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80NTRfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80NTZfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80NTdfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80NThfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80NTlfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80NjNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80NjZfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80NjhfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80NzBfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80NzJfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80NzNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80NzRfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80NzZfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80NzlfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80ODBfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80ODNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80ODVfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80ODZfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80ODlfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80OTBfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80OTFfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80OTNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80OTRfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80OTdfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl80OTlfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81MDBfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81MDNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81MDRfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81MDZfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81MDhfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81MTBfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81MTFfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81MTJfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81MTRfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81MThfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81MjFfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81MjNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81MjZfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81MjdfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81MjlfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81MzFfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81MzNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81NDBfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81NDFfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81NDNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81NDRfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81NDdfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81NDhfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81NTBfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81NTNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81NTRfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81NjBfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81NjFfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81NjNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81NjRfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81NjZfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81NjhfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81NzBfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81NzNfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81NzZfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81NzdfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81NzlfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DnllY2NwYXJzMl81ODBfYQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3D3llY2NwYXJzMl81ODRfKWEBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw95ZWNjcGFyczJfNTg0XyxhAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncQeWVjY3BhcnMyXzU4NF86PWEBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw95ZWNjcGFyczJfNTg0XzthAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncQeWVjY3BhcnMyXzU4NF89PmEBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxB5ZWNjcGFyczJfNTg0Xz4+YQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3D3llY2NwYXJzMl81ODRfXWEBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxF5ZWNjcGFyczJfNTg0X2RvdGEBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxJ5ZWNjcGFyczJfNTg0X3doZW5hAWpoAncIZGlhbHl6ZXJsAAAAAWgCdw9ub3dhcm5fZnVuY3Rpb25oAncPeWVjY3BhcnMyXzU4NF98YQFqaAJ3CGRpYWx5emVybAAAAAFoAncPbm93YXJuX2Z1bmN0aW9uaAJ3D3llY2NwYXJzMl81ODRffWEBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNTg1X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNTg2X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNTg4X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNTkzX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNTk0X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNTk3X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNTk5X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjAxX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjA2X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjA3X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjA5X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjEwX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjEzX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjE0X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjE3X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjE5X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjIxX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjIzX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjI0X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjI1X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjI3X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjMwX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjMyX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjM0X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjM1X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjM5X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjQyX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjQ0X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjQ2X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjQ3X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjQ4X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjQ5X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjUwX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjUxX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjUyX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjU4X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjU5X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjYzX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjY0X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjY3X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjY4X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjcwX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjcxX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjcyX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjczX2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjc0X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjc2X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjc3X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjc4X2EBamgCdwhkaWFseXplcmwAAAABaAJ3D25vd2Fybl9mdW5jdGlvbmgCdw55ZWNjcGFyczJfNjgwX2EBamo=
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACsvYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9lcmxfcGFyc2UuZXJsag==
-=mod:gen_server
-Current size: 63325
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAn6RHe9GB6oWz+pkuBfW8K2poAncIZGlhbHl6ZXJsAAAAAWgCdxFub19pbXByb3Blcl9saXN0c2gCdwdtY19zZW5kYQZqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACwvYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9nZW5fc2VydmVyLmVybGo=
-=mod:lists
-Current size: 99909
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAOC+znQeEHQ4VS7RSlxghx2poAncIZGlhbHl6ZXJsAAAAAWgCdxFub19pbXByb3Blcl9saXN0c2gCdwp1a2V5bWVyZ2VsYQNqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACcvYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9saXN0cy5lcmxq
-=mod:logger_config
-Current size: 10240
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAb9Y3k+aGr3hN5q3KdYRHtWpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsALy9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2xvZ2dlcl9jb25maWcuZXJsag==
-=mod:logger_simple_h
-Current size: 14726
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAZpGbBxoDz/i1DSNMxmWqyWpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsAMS9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2xvZ2dlcl9zaW1wbGVfaC5lcmxq
-=mod:logger_filters
-Current size: 4971
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAzwk48RcCYOF3ih2/kJrSm2pq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsAMC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2xvZ2dlcl9maWx0ZXJzLmVybGo=
-=mod:error_logger
-Current size: 18021
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAA9gWmGAB8sC+HfxKvyFw6Impq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsALi9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2Vycm9yX2xvZ2dlci5lcmxq
-=mod:code_server
-Current size: 63936
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAALWQXUe7tZIQ9G/1/MX9D1Gpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsALS9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2NvZGVfc2VydmVyLmVybGo=
-=mod:heart
-Current size: 15601
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAyNN9gP1SxPnm7mbH8bBrLmpoAncIZGlhbHl6ZXJsAAAAAWgCdxFub19pbXByb3Blcl9saXN0c2gCdw5zZW5kX2hlYXJ0X2NtZGECamo=
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsAJy9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2hlYXJ0LmVybGo=
-=mod:gen_event
-Current size: 54224
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAbZDZYq2ZehgrVmXuTdC9R2pq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACsvYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9nZW5fZXZlbnQuZXJsag==
-=mod:logger
-Current size: 53655
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAhEpn4LkeE+Ww1jrqwO/DAmpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2xvZ2dlci5lcmxq
-=mod:application_controller
-Current size: 112719
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAA8aNg4vAvqQ7+MnTc6uXOCWpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsAOC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2FwcGxpY2F0aW9uX2NvbnRyb2xsZXIuZXJsag==
-=mod:application_master
-Current size: 17949
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAFPdt+BWDgI08/IO4pGy/Lmpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsANC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2FwcGxpY2F0aW9uX21hc3Rlci5lcmxq
-=mod:erl_eval
-Current size: 90511
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAK4B/QUWPpeHDqFA51B7m72pq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACovYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9lcmxfZXZhbC5lcmxq
-=mod:kernel
-Current size: 16434
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAG5SBkG5rwhqTCCPgosVpj2poAncJYmVoYXZpb3VybAAAAAF3CnN1cGVydmlzb3Jqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2tlcm5lbC5lcmxq
-=mod:proc_lib
-Current size: 44783
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAHPr2dE+lcIfVFaldy2suaGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACovYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9wcm9jX2xpYi5lcmxq
-=mod:file_io_server
-Current size: 45573
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAA37XXQKgVyzgAhQMymk22nGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsAMC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2ZpbGVfaW9fc2VydmVyLmVybGo=
-=mod:logger_server
-Current size: 31925
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAA6Q4YfPDTeP55K3VJGDToJGpoAncJYmVoYXZpb3VybAAAAAF3Cmdlbl9zZXJ2ZXJqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsALy9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2xvZ2dlcl9zZXJ2ZXIuZXJsag==
-=mod:erl_lint
-Current size: 310700
-Current attributes: g2wAAAAFaAJ3A3ZzbmwAAAABbhAAZov2Nvzfuz6qcuUHe4NKempoAncHcmVtb3ZlZGwAAAABaAN3C21vZGlmeV9saW5lYQJrACB1c2UgZXJsX3BhcnNlOm1hcF9hbm5vLzIgaW5zdGVhZGpoAncIZGlhbHl6ZXJsAAAAAWgCdwhub19tYXRjaGgCdwh0eXBlX2RlZmEGamgCdwhkaWFseXplcmwAAAABaAJ3CG5vX21hdGNoaAJ3E2RlcHJlY2F0ZWRfZnVuY3Rpb25hBWpoAncIZGlhbHl6ZXJsAAAAAWgCdwhub19tYXRjaGgCdw9kZXByZWNhdGVkX3R5cGVhBWpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACovYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9lcmxfbGludC5lcmxq
-=mod:supervisor
-Current size: 78800
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAvy8OsDDanMrThS86JgsLempoAncJYmVoYXZpb3VybAAAAAF3Cmdlbl9zZXJ2ZXJqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACwvYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9zdXBlcnZpc29yLmVybGo=
-=mod:ets
-Current size: 58700
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAegV/9YrrRq9A7VQccwP0Ompq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACUvYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9ldHMuZXJsag==
-=mod:filename
-Current size: 42212
-Current attributes: g2wAAAADaAJ3A3ZzbmwAAAABbhAAxfgNPRE4P/8E8mNjf3nXyGpoAncHcmVtb3ZlZGwAAAABaAN3CGZpbmRfc3JjdwFfawAjdXNlIGZpbGVsaWI6ZmluZF9zb3VyY2UvMSwzIGluc3RlYWRqaAJ3B3JlbW92ZWRsAAAAAWgDdxJzYWZlX3JlbGF0aXZlX3BhdGhhAWsAKHVzZSBmaWxlbGliOnNhZmVfcmVsYXRpdmVfcGF0aC8yIGluc3RlYWRqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACovYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9maWxlbmFtZS5lcmxq
-=mod:application
-Current size: 15002
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAO3mC1yO32EqVKdQkgma7DGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsALS9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2FwcGxpY2F0aW9uLmVybGo=
-=mod:code
-Current size: 45920
-Current attributes: g2wAAAADaAJ3A3ZzbmwAAAABbhAA1rkrrsCyRltM8IqivNv2SWpoAncHcmVtb3ZlZGwAAAABaAN3BnJlaGFzaGEAawAsdGhlIGNvZGUgcGF0aCBjYWNoZSBmZWF0dXJlIGhhcyBiZWVuIHJlbW92ZWRqaAJ3B3JlbW92ZWRsAAAAAWgDdxBpc19tb2R1bGVfbmF0aXZlYQFrABVIaVBFIGhhcyBiZWVuIHJlbW92ZWRqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsAJi9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2NvZGUuZXJsag==
-=mod:file
-Current size: 44191
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAphblwlDFWwErKfvQJHHIAmpoAncKZGVwcmVjYXRlZGwAAAABaAN3CHBpZDJuYW1lYQFrACl0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsAJi9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2ZpbGUuZXJsag==
-=mod:gen
-Current size: 30362
-Current attributes: g2wAAAADaAJ3A3ZzbmwAAAABbhAAKKwsTHEn6t3sqSA1qygYyWpoAncIZGlhbHl6ZXJsAAAAAWgCdxFub19pbXByb3Blcl9saXN0c2gCdwdkb19jYWxsYQRqaAJ3CGRpYWx5emVybAAAAAFoAncRbm9faW1wcm9wZXJfbGlzdHNoAncPZG9fc2VuZF9yZXF1ZXN0YQNqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACUvYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9nZW4uZXJsag==
-=mod:error_handler
-Current size: 5146
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAA4HX9MacsLFi2Dumg+HZ9nWpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsALy9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2Vycm9yX2hhbmRsZXIuZXJsag==
-=mod:logger_backend
-Current size: 7115
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAoZ+yGJmvZZw2G+8fUAejtmpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsAMC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2xvZ2dlcl9iYWNrZW5kLmVybGo=
-=mod:file_server
-Current size: 13379
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAS7N4uM27g+5Rn3kNnsFYOWpoAncJYmVoYXZpb3VybAAAAAF3Cmdlbl9zZXJ2ZXJqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsALS9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2ZpbGVfc2VydmVyLmVybGo=
-=mod:logger_proxy
-Current size: 8857
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAZduPYGozFFaJ/GMceJxnQWpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsALi9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2xvZ2dlcl9wcm94eS5lcmxq
-=mod:logger_olp
-Current size: 24420
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAhELBVPfG1AFHg6Hw3ACHYmpoAncJYmVoYXZpb3VybAAAAAF3Cmdlbl9zZXJ2ZXJqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsALC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2xvZ2dlcl9vbHAuZXJsag==
-=mod:queue
-Current size: 26237
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAA+pdK0iaAqDWnRiWIegfYd2poAncKZGVwcmVjYXRlZGwAAAABaAN3BGxhaXRhAWsAGHVzZSBxdWV1ZTpsaWF0LzEgaW5zdGVhZGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACcvYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9xdWV1ZS5lcmxq
-=mod:proplists
-Current size: 13618
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAA3DEXDWFyP/1Am4oxQYybO2pq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACsvYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9wcm9wbGlzdHMuZXJsag==
-=mod:peer
-Current size: 56511
-Current attributes: g2wAAAADaAJ3A3ZzbmwAAAABbhAA2E9Rc/B6+K6No16io4F+QWpoAncGYXV0aG9yawASbWF4aW1mY2FAZ21haWwuY29taAJ3CWJlaGF2aW91cmwAAAABdwpnZW5fc2VydmVyamo=
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACYvYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9wZWVyLmVybGo=
-=mod:beam_lib
-Current size: 65994
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAGAqMJUP/V7MaDY2WDvcZVmpoAncJYmVoYXZpb3VybAAAAAF3Cmdlbl9zZXJ2ZXJqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACovYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9iZWFtX2xpYi5lcmxq
-=mod:binary
-Current size: 21293
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAjusm/cmFBBM4V7Pu9tlybmpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACgvYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9iaW5hcnkuZXJsag==
-=mod:gb_sets
-Current size: 22658
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAjJKuKbdSxi4KHdHBwvnc2mpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACkvYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9nYl9zZXRzLmVybGo=
-=mod:gb_trees
-Current size: 15903
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAA/9kxl1ANy9kH79Yem0U5aGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACovYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9nYl90cmVlcy5lcmxq
-=mod:os
-Current size: 17693
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAe2HUBCvqya+anjsKRMYUTGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsAJC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL29zLmVybGo=
-=mod:unicode
-Current size: 41929
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAq+fzNG8vRL24dz9E5ZlDaGpoAncIZGlhbHl6ZXJsAAAAAWgCdxFub19pbXByb3Blcl9saXN0c2gCdwxkb19vX2JpbmFyeTJhAmpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACkvYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy91bmljb2RlLmVybGo=
-=mod:erl_features
-Current size: 41135
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAYXEynt+8kTRkG8V/OHR0VGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrAC4vYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9lcmxfZmVhdHVyZXMuZXJsag==
-=mod:standard_error
-Current size: 10663
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAkMo760coteTN1xzpRgHT6mpoAncJYmVoYXZpb3VybAAAAAF3EXN1cGVydmlzb3JfYnJpZGdlamo=
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsAMC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL3N0YW5kYXJkX2Vycm9yLmVybGo=
-=mod:supervisor_bridge
-Current size: 19251
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAA+ZJzPQgBcV7sQuq/XPk182poAncJYmVoYXZpb3VybAAAAAF3Cmdlbl9zZXJ2ZXJqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrADMvYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9zdXBlcnZpc29yX2JyaWRnZS5lcmxq
-=mod:inet_db
-Current size: 68294
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAvdtm5APLt4opHuq1WdBdWGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsAKS9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2luZXRfZGIuZXJsag==
-=mod:inet_config
-Current size: 25206
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAlZNV6TqRS7nNxz74j7FCe2pq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsALS9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2luZXRfY29uZmlnLmVybGo=
-=mod:inet_udp
-Current size: 6941
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAhrzZ8+DOe1LKVcGE3RxIN2pq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsAKi9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2luZXRfdWRwLmVybGo=
-=mod:inet
-Current size: 81321
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAATt4eXjFDEUu+qumuN+EMfWpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsAJi9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2luZXQuZXJsag==
-=mod:inet_parse
-Current size: 38147
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAEf7OexUeePpkEPPFZJPf+mpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsALC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2luZXRfcGFyc2UuZXJsag==
-=mod:rpc
-Current size: 29484
-Current attributes: g2wAAAADaAJ3A3ZzbmwAAAABbhAA6VB2VShMOzVQaYOrBGnThmpoAncJYmVoYXZpb3VybAAAAAF3Cmdlbl9zZXJ2ZXJqaAJ3B3JlbW92ZWRsAAAAAmgDdxZzYWZlX211bHRpX3NlcnZlcl9jYWxsYQJrACN1c2UgcnBjOm11bHRpX3NlcnZlcl9jYWxsLzIgaW5zdGVhZGgDdxZzYWZlX211bHRpX3NlcnZlcl9jYWxsYQNrACN1c2UgcnBjOm11bHRpX3NlcnZlcl9jYWxsLzMgaW5zdGVhZGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsAJS9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL3JwYy5lcmxq
-=mod:global
-Current size: 117570
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAA3Un4q7IE1kKFWWXOqg1fv2poAncJYmVoYXZpb3VybAAAAAF3Cmdlbl9zZXJ2ZXJqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2dsb2JhbC5lcmxq
-=mod:net_kernel
-Current size: 95518
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAARVYlffpB+M9gMCitj2vQyGpoAncJYmVoYXZpb3VybAAAAAF3Cmdlbl9zZXJ2ZXJqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsALC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL25ldF9rZXJuZWwuZXJsag==
-=mod:rand
-Current size: 82048
-Current attributes: g2wAAAAMaAJ3A3ZzbmwAAAABbhAASiW5LD/Qej4GU+MSRZDXfWpoAncIZGlhbHl6ZXJsAAAAAWgCdxFub19pbXByb3Blcl9saXN0c2gCdwxleHNwbHVzX3NlZWRhAWpoAncIZGlhbHl6ZXJsAAAAAWgCdxFub19pbXByb3Blcl9saXN0c2gCdwpleHNzc19zZWVkYQFqaAJ3CGRpYWx5emVybAAAAAFoAncRbm9faW1wcm9wZXJfbGlzdHNoAncJZXhzcF9uZXh0YQFqaAJ3CGRpYWx5emVybAAAAAFoAncRbm9faW1wcm9wZXJfbGlzdHNoAncKZXhzc3NfbmV4dGEBamgCdwhkaWFseXplcmwAAAABaAJ3EW5vX2ltcHJvcGVyX2xpc3RzaAJ3DGV4c3BsdXNfanVtcGEBamgCdwhkaWFseXplcmwAAAABaAJ3EW5vX2ltcHJvcGVyX2xpc3RzaAJ3CWV4c3BfanVtcGEBamgCdwhkaWFseXplcmwAAAABaAJ3EW5vX2ltcHJvcGVyX2xpc3RzaAJ3DGV4c3BsdXNfanVtcGEEamgCdwhkaWFseXplcmwAAAABaAJ3EW5vX2ltcHJvcGVyX2xpc3RzaAJ3CmV4cm9wX3NlZWRhAWpoAncIZGlhbHl6ZXJsAAAAAWgCdxFub19pbXByb3Blcl9saXN0c2gCdwxleHJvcF9uZXh0X3NhAmpoAncIZGlhbHl6ZXJsAAAAAWgCdxFub19pbXByb3Blcl9saXN0c2gCdwpleHJvcF9uZXh0YQFqaAJ3CGRpYWx5emVybAAAAAFoAncRbm9faW1wcm9wZXJfbGlzdHNoAncKZXhyb3BfanVtcGEFamo=
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACYvYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9yYW5kLmVybGo=
-=mod:maps
-Current size: 22152
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAA74KFUusq6FvLJdXoy86SW2poAncIZGlhbHl6ZXJsAAAAAWgCdxFub19pbXByb3Blcl9saXN0c2wAAAACaAJ3CGl0ZXJhdG9yYQFoAncIaXRlcmF0b3JhAmpqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACYvYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9tYXBzLmVybGo=
-=mod:erl_distribution
-Current size: 6886
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAADU5yO8e4eK+9kI484ejKXGpoAncJYmVoYXZpb3VybAAAAAF3CnN1cGVydmlzb3Jqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2VybF9kaXN0cmlidXRpb24uZXJsag==
-=mod:global_group
-Current size: 54044
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAh7yoy6UVXzAVQ4pFGW90/2poAncJYmVoYXZpb3VybAAAAAF3Cmdlbl9zZXJ2ZXJqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsALi9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2dsb2JhbF9ncm91cC5lcmxq
-=mod:erpc
-Current size: 42486
-Current attributes: g2wAAAALaAJ3A3ZzbmwAAAABbhAAE8Ii4JDYcOGscJTGZx5vtmpoAncIZGlhbHl6ZXJsAAAAAmgCdw9ub3dhcm5fZnVuY3Rpb25oAncEY2FsbGEFdwlub19yZXR1cm5qaAJ3CGRpYWx5emVybAAAAAFoAncRbm9faW1wcm9wZXJfbGlzdHNoAncMc2VuZF9yZXF1ZXN0YQRqaAJ3CGRpYWx5emVybAAAAAFoAncRbm9faW1wcm9wZXJfbGlzdHNoAncMc2VuZF9yZXF1ZXN0YQZqaAJ3CGRpYWx5emVybAAAAAJoAncPbm93YXJuX2Z1bmN0aW9uaAJ3EHJlY2VpdmVfcmVzcG9uc2VhAncJbm9fcmV0dXJuamgCdwhkaWFseXplcmwAAAACaAJ3D25vd2Fybl9mdW5jdGlvbmgCdxByZWNlaXZlX3Jlc3BvbnNlYQN3CW5vX3JldHVybmpoAncIZGlhbHl6ZXJsAAAAAmgCdw9ub3dhcm5fZnVuY3Rpb25oAncNd2FpdF9yZXNwb25zZWECdwlub19yZXR1cm5qaAJ3CGRpYWx5emVybAAAAAJoAncPbm93YXJuX2Z1bmN0aW9uaAJ3DmNoZWNrX3Jlc3BvbnNlYQJ3CW5vX3JldHVybmpoAncIZGlhbHl6ZXJsAAAAAWgCdxFub19pbXByb3Blcl9saXN0c2gCdwpyZXFpZHNfYWRkYQNqaAJ3CGRpYWx5emVybAAAAAFoAncRbm9faW1wcm9wZXJfbGlzdHNoAncOcmVxaWRzX3RvX2xpc3RhAWpoAncIZGlhbHl6ZXJsAAAAAmgCdw9ub3dhcm5fZnVuY3Rpb25oAncGcmVzdWx0YQR3CW5vX3JldHVybmpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsAJi9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2VycGMuZXJsag==
-=mod:user_sup
-Current size: 5411
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAZjtvFsHpi2oYJNyK+BJegmpoAncJYmVoYXZpb3VybAAAAAF3EXN1cGVydmlzb3JfYnJpZGdlamo=
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsAKi9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL3VzZXJfc3VwLmVybGo=
-=mod:user_drv
-Current size: 50600
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAV06qfcXDHq1HAw73vMm622poAncJYmVoYXZpb3VybAAAAAF3Cmdlbl9zdGF0ZW1qag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsAKi9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL3VzZXJfZHJ2LmVybGo=
-=mod:gen_statem
-Current size: 78929
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAA0LgXEqMkSoYlnYjTV7wab2pq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACwvYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9nZW5fc3RhdGVtLmVybGo=
-=mod:prim_tty
-Current size: 71017
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAAqFwI4sYbIil9FhV3gj2j2pq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsAKi9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL3ByaW1fdHR5LmVybGo=
-=mod:io
-Current size: 24369
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAApRaglMWA2VsOdFJPVz133Gpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACQvYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9pby5lcmxq
-=mod:group
-Current size: 43672
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAA851sQvKFjbfq7qcvrtJnqGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsAJy9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2dyb3VwLmVybGo=
-=mod:edlin
-Current size: 38096
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAHOkgEIAXEUgr+NtGF+NeWmpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACcvYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9lZGxpbi5lcmxq
-=mod:io_lib
-Current size: 37231
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAFFeN9kWE1DsEb/D+MxWXDGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACgvYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9pb19saWIuZXJsag==
-=mod:logger_sup
-Current size: 1730
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAviM55aoW6hCnDVjE2ajfCGpoAncJYmVoYXZpb3VybAAAAAF3CnN1cGVydmlzb3Jqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsALC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2xvZ2dlcl9zdXAuZXJsag==
-=mod:group_history
-Current size: 40520
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAArNDTXjp3PaP6UETyYRPOCWpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsALy9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2dyb3VwX2hpc3RvcnkuZXJsag==
-=mod:io_lib_format
-Current size: 36306
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAzwUVMCw5gpCCMKijxfMqt2pq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrAC8vYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9pb19saWJfZm9ybWF0LmVybGo=
-=mod:logger_handler_watcher
-Current size: 3686
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAUSb4uQDBVYdufFjEDGNpDWpoAncJYmVoYXZpb3VybAAAAAF3Cmdlbl9zZXJ2ZXJqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsAOC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2xvZ2dlcl9oYW5kbGVyX3dhdGNoZXIuZXJsag==
-=mod:timer
-Current size: 19608
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAA8aNh9jNZ5oP9N/HqUh4WWWpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACcvYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy90aW1lci5lcmxq
-=mod:kernel_config
-Current size: 7013
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAKNVWveNYHE/lG53RxdAyrWpoAncJYmVoYXZpb3VybAAAAAF3Cmdlbl9zZXJ2ZXJqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsALy9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2tlcm5lbF9jb25maWcuZXJsag==
-=mod:kernel_refc
-Current size: 6107
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAP51mX3wVLHv5Wt44rH/VNWpoAncJYmVoYXZpb3VybAAAAAF3Cmdlbl9zZXJ2ZXJqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsALS9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2tlcm5lbF9yZWZjLmVybGo=
-=mod:erl_signal_handler
-Current size: 3791
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAA49r9WmTF+h6BuvDW6CLhI2poAncJYmVoYXZpb3VybAAAAAF3CWdlbl9ldmVudGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsANC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2VybF9zaWduYWxfaGFuZGxlci5lcmxq
-=mod:logger_formatter
-Current size: 27269
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAA3DgK6nIfXOBrGY11b3Ebc2pq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2xvZ2dlcl9mb3JtYXR0ZXIuZXJsag==
-=mod:logger_std_h
-Current size: 29691
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAHZBnbQf+yJ3LNQvEEyzqCGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsALi9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2xvZ2dlcl9zdGRfaC5lcmxq
-=mod:logger_h_common
-Current size: 27015
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAA8gXXQTDseI2RwAfchg+PjGpoAncJYmVoYXZpb3VybAAAAAF3Cmdlbl9zZXJ2ZXJqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsAMS9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL2xvZ2dlcl9oX2NvbW1vbi5lcmxq
-=mod:c
-Current size: 55738
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAx9sEY92lk5eCgdpeFRvl7Wpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACMvYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9jLmVybGo=
-=mod:orddict
-Current size: 9632
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAjVNEV8MyenfougmvyJOIn2pq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACkvYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9vcmRkaWN0LmVybGo=
-=mod:raw_file_io
-Current size: 3544
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAAfByFOutd4XmaTTyQZS+wGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAJ3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjLy4uL2luY2x1ZGVqaAJ3BnNvdXJjZWsALS9idWlsZHJvb3Qvb3RwL2xpYi9rZXJuZWwvc3JjL3Jhd19maWxlX2lvLmVybGo=
-=mod:erl_scan
-Current size: 80286
-Current attributes: g2wAAAADaAJ3A3ZzbmwAAAABbhAAcWizQoku/ar098CvlBYw3GpoAncHcmVtb3ZlZGwAAAADaAN3DXNldF9hdHRyaWJ1dGVhA2sAH3VzZSBlcmxfYW5ubzpzZXRfbGluZS8yIGluc3RlYWRoA3cPYXR0cmlidXRlc19pbmZvdwFfawAydXNlIGVybF9hbm5vOntjb2x1bW4sbGluZSxsb2NhdGlvbix0ZXh0fS8xIGluc3RlYWRoA3cKdG9rZW5faW5mb3cBX2sAQnVzZSBlcmxfc2Nhbjp7Y2F0ZWdvcnksY29sdW1uLGxpbmUsbG9jYXRpb24sc3ltYm9sLHRleHR9LzEgaW5zdGVhZGpoAncMcmVtb3ZlZF90eXBlbAAAAANoA3cGY29sdW1uYQBrAB11c2UgZXJsX2Fubm86Y29sdW1uKCkgaW5zdGVhZGgDdwRsaW5lYQBrABt1c2UgZXJsX2Fubm86bGluZSgpIGluc3RlYWRoA3cIbG9jYXRpb25hAGsAH3VzZSBlcmxfYW5ubzpsb2NhdGlvbigpIGluc3RlYWRqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACovYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9lcmxfc2Nhbi5lcmxq
-=mod:erl_anno
-Current size: 10627
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAkayPNmhEhCtPmVnzA+f9ompq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACovYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9lcmxfYW5uby5lcmxq
-=mod:ordsets
-Current size: 5786
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAe8kg2+9uOF1cs2tFmVktbGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACkvYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9vcmRzZXRzLmVybGo=
-=mod:otp_internal
-Current size: 74930
-Current attributes: g2wAAAADaAJ3A3ZzbmwAAAABbhAAgb4GzSRirByHf+zgWa/J7mpoAncIZGlhbHl6ZXJsAAAAAWgCdwhub19tYXRjaGgCdwhvYnNvbGV0ZWEDamgCdwhkaWFseXplcmwAAAABaAJ3CG5vX21hdGNoaAJ3DW9ic29sZXRlX3R5cGVhA2pq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrAC4vYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9vdHBfaW50ZXJuYWwuZXJsag==
-=mod:erl_internal
-Current size: 12465
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAH3E66VDgOMxAJ3swqD+T7Wpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrAC4vYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9lcmxfaW50ZXJuYWwuZXJsag==
-=mod:'aoc2023@@main'
-Current size: 4742
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAPugzxohB3mrGKcTr3YDYhmpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAby9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2FvYzIwMjMvX2dsZWFtX2FydGVmYWN0cy9hb2MyMDIzQEBtYWluLmVybGo=
-=mod:epp
-Current size: 96168
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAB23d4tmH4coUKKRIT0Ew7Wpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACUvYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9lcHAuZXJsag==
-=mod:inets_app
-Current size: 1391
-Current attributes: g2wAAAADaAJ3A3ZzbmwAAAABbhAA4PrNF10KpcErAmiRnvRGo2poAncHYXBwX3ZzbmsAC2luZXRzLTkuMC4xaAJ3CWJlaGF2aW91cmwAAAABdwthcHBsaWNhdGlvbmpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncPcGFyc2VfdHJhbnNmb3JtdxJzeXNfcHJlX2F0dHJpYnV0ZXNoBHcJYXR0cmlidXRldwZpbnNlcnR3B2FwcF92c25rAAtpbmV0cy05LjAuMWpoAncGc291cmNlawA0L2J1aWxkcm9vdC9vdHAvbGliL2luZXRzL3NyYy9pbmV0c19hcHAvaW5ldHNfYXBwLmVybGo=
-=mod:inets_sup
-Current size: 4174
-Current attributes: g2wAAAADaAJ3A3ZzbmwAAAABbhAAZYq0pFoYUy98UilKMAgr/2poAncHYXBwX3ZzbmsAC2luZXRzLTkuMC4xaAJ3CWJlaGF2aW91cmwAAAABdwpzdXBlcnZpc29yamo=
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncPcGFyc2VfdHJhbnNmb3JtdxJzeXNfcHJlX2F0dHJpYnV0ZXNoBHcJYXR0cmlidXRldwZpbnNlcnR3B2FwcF92c25rAAtpbmV0cy05LjAuMWpoAncGc291cmNlawA0L2J1aWxkcm9vdC9vdHAvbGliL2luZXRzL3NyYy9pbmV0c19hcHAvaW5ldHNfc3VwLmVybGo=
-=mod:httpc_sup
-Current size: 2503
-Current attributes: g2wAAAADaAJ3A3ZzbmwAAAABbhAAgy7v3K4IkDuZDOu8Nwe8CGpoAncHYXBwX3ZzbmsAC2luZXRzLTkuMC4xaAJ3CWJlaGF2aW91cmwAAAABdwpzdXBlcnZpc29yamo=
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAZ3CmRlYnVnX2luZm9oAncBaWsANi9idWlsZHJvb3Qvb3RwL2xpYi9pbmV0cy9zcmMvaHR0cF9jbGllbnQvLi4vLi4vaW5jbHVkZWgCdwFpawA1L2J1aWxkcm9vdC9vdHAvbGliL2luZXRzL3NyYy9odHRwX2NsaWVudC8uLi9pbmV0c19hcHBoAncBaWsANC9idWlsZHJvb3Qvb3RwL2xpYi9pbmV0cy9zcmMvaHR0cF9jbGllbnQvLi4vaHR0cF9saWJoAncPcGFyc2VfdHJhbnNmb3JtdxJzeXNfcHJlX2F0dHJpYnV0ZXNoBHcJYXR0cmlidXRldwZpbnNlcnR3B2FwcF92c25rAAtpbmV0cy05LjAuMWpoAncGc291cmNlawA2L2J1aWxkcm9vdC9vdHAvbGliL2luZXRzL3NyYy9odHRwX2NsaWVudC9odHRwY19zdXAuZXJsag==
-=mod:httpc_profile_sup
-Current size: 3949
-Current attributes: g2wAAAADaAJ3A3ZzbmwAAAABbhAARi0bgARtwsiompJMTfZqgGpoAncHYXBwX3ZzbmsAC2luZXRzLTkuMC4xaAJ3CWJlaGF2aW91cmwAAAABdwpzdXBlcnZpc29yamo=
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAZ3CmRlYnVnX2luZm9oAncBaWsANi9idWlsZHJvb3Qvb3RwL2xpYi9pbmV0cy9zcmMvaHR0cF9jbGllbnQvLi4vLi4vaW5jbHVkZWgCdwFpawA1L2J1aWxkcm9vdC9vdHAvbGliL2luZXRzL3NyYy9odHRwX2NsaWVudC8uLi9pbmV0c19hcHBoAncBaWsANC9idWlsZHJvb3Qvb3RwL2xpYi9pbmV0cy9zcmMvaHR0cF9jbGllbnQvLi4vaHR0cF9saWJoAncPcGFyc2VfdHJhbnNmb3JtdxJzeXNfcHJlX2F0dHJpYnV0ZXNoBHcJYXR0cmlidXRldwZpbnNlcnR3B2FwcF92c25rAAtpbmV0cy05LjAuMWpoAncGc291cmNlawA+L2J1aWxkcm9vdC9vdHAvbGliL2luZXRzL3NyYy9odHRwX2NsaWVudC9odHRwY19wcm9maWxlX3N1cC5lcmxq
-=mod:httpc
-Current size: 51321
-Current attributes: g2wAAAADaAJ3A3ZzbmwAAAABbhAAQJGijj06WciIsf9zWi9RRWpoAncHYXBwX3ZzbmsAC2luZXRzLTkuMC4xaAJ3CWJlaGF2aW91cmwAAAABdw1pbmV0c19zZXJ2aWNlamo=
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAZ3CmRlYnVnX2luZm9oAncBaWsANi9idWlsZHJvb3Qvb3RwL2xpYi9pbmV0cy9zcmMvaHR0cF9jbGllbnQvLi4vLi4vaW5jbHVkZWgCdwFpawA1L2J1aWxkcm9vdC9vdHAvbGliL2luZXRzL3NyYy9odHRwX2NsaWVudC8uLi9pbmV0c19hcHBoAncBaWsANC9idWlsZHJvb3Qvb3RwL2xpYi9pbmV0cy9zcmMvaHR0cF9jbGllbnQvLi4vaHR0cF9saWJoAncPcGFyc2VfdHJhbnNmb3JtdxJzeXNfcHJlX2F0dHJpYnV0ZXNoBHcJYXR0cmlidXRldwZpbnNlcnR3B2FwcF92c25rAAtpbmV0cy05LjAuMWpoAncGc291cmNlawAyL2J1aWxkcm9vdC9vdHAvbGliL2luZXRzL3NyYy9odHRwX2NsaWVudC9odHRwYy5lcmxq
-=mod:httpc_manager
-Current size: 45805
-Current attributes: g2wAAAADaAJ3A3ZzbmwAAAABbhAAzA6/cmiSsI/VuMRE+DH5q2poAncHYXBwX3ZzbmsAC2luZXRzLTkuMC4xaAJ3CWJlaGF2aW91cmwAAAABdwpnZW5fc2VydmVyamo=
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAZ3CmRlYnVnX2luZm9oAncBaWsANi9idWlsZHJvb3Qvb3RwL2xpYi9pbmV0cy9zcmMvaHR0cF9jbGllbnQvLi4vLi4vaW5jbHVkZWgCdwFpawA1L2J1aWxkcm9vdC9vdHAvbGliL2luZXRzL3NyYy9odHRwX2NsaWVudC8uLi9pbmV0c19hcHBoAncBaWsANC9idWlsZHJvb3Qvb3RwL2xpYi9pbmV0cy9zcmMvaHR0cF9jbGllbnQvLi4vaHR0cF9saWJoAncPcGFyc2VfdHJhbnNmb3JtdxJzeXNfcHJlX2F0dHJpYnV0ZXNoBHcJYXR0cmlidXRldwZpbnNlcnR3B2FwcF92c25rAAtpbmV0cy05LjAuMWpoAncGc291cmNlawA6L2J1aWxkcm9vdC9vdHAvbGliL2luZXRzL3NyYy9odHRwX2NsaWVudC9odHRwY19tYW5hZ2VyLmVybGo=
-=mod:inets_trace
-Current size: 16599
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAA13W3kiQ3DajF6u1MEp8wcGpoAncHYXBwX3ZzbmsAC2luZXRzLTkuMC4xag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncPcGFyc2VfdHJhbnNmb3JtdxJzeXNfcHJlX2F0dHJpYnV0ZXNoBHcJYXR0cmlidXRldwZpbnNlcnR3B2FwcF92c25rAAtpbmV0cy05LjAuMWpoAncGc291cmNlawA2L2J1aWxkcm9vdC9vdHAvbGliL2luZXRzL3NyYy9pbmV0c19hcHAvaW5ldHNfdHJhY2UuZXJsag==
-=mod:httpc_cookie
-Current size: 26127
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAj0Py8LgBp/5GCHesApuGKmpoAncHYXBwX3ZzbmsAC2luZXRzLTkuMC4xag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAZ3CmRlYnVnX2luZm9oAncBaWsANi9idWlsZHJvb3Qvb3RwL2xpYi9pbmV0cy9zcmMvaHR0cF9jbGllbnQvLi4vLi4vaW5jbHVkZWgCdwFpawA1L2J1aWxkcm9vdC9vdHAvbGliL2luZXRzL3NyYy9odHRwX2NsaWVudC8uLi9pbmV0c19hcHBoAncBaWsANC9idWlsZHJvb3Qvb3RwL2xpYi9pbmV0cy9zcmMvaHR0cF9jbGllbnQvLi4vaHR0cF9saWJoAncPcGFyc2VfdHJhbnNmb3JtdxJzeXNfcHJlX2F0dHJpYnV0ZXNoBHcJYXR0cmlidXRldwZpbnNlcnR3B2FwcF92c25rAAtpbmV0cy05LjAuMWpoAncGc291cmNlawA5L2J1aWxkcm9vdC9vdHAvbGliL2luZXRzL3NyYy9odHRwX2NsaWVudC9odHRwY19jb29raWUuZXJsag==
-=mod:httpc_handler_sup
-Current size: 2111
-Current attributes: g2wAAAADaAJ3A3ZzbmwAAAABbhAATMTRW8HC2a2GvzQjWwLttGpoAncHYXBwX3ZzbmsAC2luZXRzLTkuMC4xaAJ3CWJlaGF2aW91cmwAAAABdwpzdXBlcnZpc29yamo=
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAZ3CmRlYnVnX2luZm9oAncBaWsANi9idWlsZHJvb3Qvb3RwL2xpYi9pbmV0cy9zcmMvaHR0cF9jbGllbnQvLi4vLi4vaW5jbHVkZWgCdwFpawA1L2J1aWxkcm9vdC9vdHAvbGliL2luZXRzL3NyYy9odHRwX2NsaWVudC8uLi9pbmV0c19hcHBoAncBaWsANC9idWlsZHJvb3Qvb3RwL2xpYi9pbmV0cy9zcmMvaHR0cF9jbGllbnQvLi4vaHR0cF9saWJoAncPcGFyc2VfdHJhbnNmb3JtdxJzeXNfcHJlX2F0dHJpYnV0ZXNoBHcJYXR0cmlidXRldwZpbnNlcnR3B2FwcF92c25rAAtpbmV0cy05LjAuMWpoAncGc291cmNlawA+L2J1aWxkcm9vdC9vdHAvbGliL2luZXRzL3NyYy9odHRwX2NsaWVudC9odHRwY19oYW5kbGVyX3N1cC5lcmxq
-=mod:httpd_sup
-Current size: 10999
-Current attributes: g2wAAAADaAJ3A3ZzbmwAAAABbhAAtKUXEBjK/e98uHvMb3rrF2poAncHYXBwX3ZzbmsAC2luZXRzLTkuMC4xaAJ3CWJlaGF2aW91cmwAAAABdwpzdXBlcnZpc29yamo=
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAZ3CmRlYnVnX2luZm9oA3cBZHcPU0VSVkVSX1NPRlRXQVJFawALaW5ldHMvOS4wLjFoAncBaWsANS9idWlsZHJvb3Qvb3RwL2xpYi9pbmV0cy9zcmMvaHR0cF9zZXJ2ZXIvLi4vaW5ldHNfYXBwaAJ3AWlrADQvYnVpbGRyb290L290cC9saWIvaW5ldHMvc3JjL2h0dHBfc2VydmVyLy4uL2h0dHBfbGliaAJ3D3BhcnNlX3RyYW5zZm9ybXcSc3lzX3ByZV9hdHRyaWJ1dGVzaAR3CWF0dHJpYnV0ZXcGaW5zZXJ0dwdhcHBfdnNuawALaW5ldHMtOS4wLjFqaAJ3BnNvdXJjZWsANi9idWlsZHJvb3Qvb3RwL2xpYi9pbmV0cy9zcmMvaHR0cF9zZXJ2ZXIvaHR0cGRfc3VwLmVybGo=
-=mod:ssl_app
-Current size: 2100
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbg8A0DC0t7URrYxQKjqz0ymfamgCdwliZWhhdmlvdXJsAAAAAXcLYXBwbGljYXRpb25qag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAR3CmRlYnVnX2luZm9oA3cBZHcDVlNOawAGMTEuMC4yaAJ3AWlrAB0vYnVpbGRyb290L290cC9saWIva2VybmVsL3NyY3cQd2Fybl91bnVzZWRfdmFyc2poAncGc291cmNlawAmL2J1aWxkcm9vdC9vdHAvbGliL3NzbC9zcmMvc3NsX2FwcC5lcmxq
-=mod:ssl_logger
-Current size: 40894
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAA9nZNLNkysVW+ZQmCjJHduWpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAR3CmRlYnVnX2luZm9oA3cBZHcDVlNOawAGMTEuMC4yaAJ3AWlrAB0vYnVpbGRyb290L290cC9saWIva2VybmVsL3NyY3cQd2Fybl91bnVzZWRfdmFyc2poAncGc291cmNlawApL2J1aWxkcm9vdC9vdHAvbGliL3NzbC9zcmMvc3NsX2xvZ2dlci5lcmxq
-=mod:ssl_sup
-Current size: 2196
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAo3LCwydF/2W9pRiIxy3DjmpoAncJYmVoYXZpb3VybAAAAAF3CnN1cGVydmlzb3Jqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAR3CmRlYnVnX2luZm9oA3cBZHcDVlNOawAGMTEuMC4yaAJ3AWlrAB0vYnVpbGRyb290L290cC9saWIva2VybmVsL3NyY3cQd2Fybl91bnVzZWRfdmFyc2poAncGc291cmNlawAmL2J1aWxkcm9vdC9vdHAvbGliL3NzbC9zcmMvc3NsX3N1cC5lcmxq
-=mod:ssl_admin_sup
-Current size: 4152
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAA9wr0ynjnPAnTVBgUTNkR0mpoAncJYmVoYXZpb3VybAAAAAF3CnN1cGVydmlzb3Jqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAR3CmRlYnVnX2luZm9oA3cBZHcDVlNOawAGMTEuMC4yaAJ3AWlrAB0vYnVpbGRyb290L290cC9saWIva2VybmVsL3NyY3cQd2Fybl91bnVzZWRfdmFyc2poAncGc291cmNlawAsL2J1aWxkcm9vdC9vdHAvbGliL3NzbC9zcmMvc3NsX2FkbWluX3N1cC5lcmxq
-=mod:ssl_pem_cache
-Current size: 6752
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAinKSIwX0SCBgGNnR5VuBb2poAncJYmVoYXZpb3VybAAAAAF3Cmdlbl9zZXJ2ZXJqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAR3CmRlYnVnX2luZm9oA3cBZHcDVlNOawAGMTEuMC4yaAJ3AWlrAB0vYnVpbGRyb290L290cC9saWIva2VybmVsL3NyY3cQd2Fybl91bnVzZWRfdmFyc2poAncGc291cmNlawAsL2J1aWxkcm9vdC9vdHAvbGliL3NzbC9zcmMvc3NsX3BlbV9jYWNoZS5lcmxq
-=mod:ssl_pkix_db
-Current size: 19921
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAUN9wTKLXhUyfxv7o/6pFYmpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAR3CmRlYnVnX2luZm9oA3cBZHcDVlNOawAGMTEuMC4yaAJ3AWlrAB0vYnVpbGRyb290L290cC9saWIva2VybmVsL3NyY3cQd2Fybl91bnVzZWRfdmFyc2poAncGc291cmNlawAqL2J1aWxkcm9vdC9vdHAvbGliL3NzbC9zcmMvc3NsX3BraXhfZGIuZXJsag==
-=mod:ssl_manager
-Current size: 20578
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAXyE921kAFR6srVwQYOzMTGpoAncJYmVoYXZpb3VybAAAAAF3Cmdlbl9zZXJ2ZXJqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAR3CmRlYnVnX2luZm9oA3cBZHcDVlNOawAGMTEuMC4yaAJ3AWlrAB0vYnVpbGRyb290L290cC9saWIva2VybmVsL3NyY3cQd2Fybl91bnVzZWRfdmFyc2poAncGc291cmNlawAqL2J1aWxkcm9vdC9vdHAvbGliL3NzbC9zcmMvc3NsX21hbmFnZXIuZXJsag==
-=mod:ssl_config
-Current size: 19916
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAA6GmieDGRPQVKnnM+8AnHe2pq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAR3CmRlYnVnX2luZm9oA3cBZHcDVlNOawAGMTEuMC4yaAJ3AWlrAB0vYnVpbGRyb290L290cC9saWIva2VybmVsL3NyY3cQd2Fybl91bnVzZWRfdmFyc2poAncGc291cmNlawApL2J1aWxkcm9vdC9vdHAvbGliL3NzbC9zcmMvc3NsX2NvbmZpZy5lcmxq
-=mod:ssl_client_session_cache_db
-Current size: 4099
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAADmgKYfPII/p5bEqiJ5mcpWpoAncJYmVoYXZpb3VybAAAAAF3FXNzbF9zZXNzaW9uX2NhY2hlX2FwaWpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAR3CmRlYnVnX2luZm9oA3cBZHcDVlNOawAGMTEuMC4yaAJ3AWlrAB0vYnVpbGRyb290L290cC9saWIva2VybmVsL3NyY3cQd2Fybl91bnVzZWRfdmFyc2poAncGc291cmNlawA6L2J1aWxkcm9vdC9vdHAvbGliL3NzbC9zcmMvc3NsX2NsaWVudF9zZXNzaW9uX2NhY2hlX2RiLmVybGo=
-=mod:tls_client_ticket_store
-Current size: 13052
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAxBJUXnCWGs2oPQjBp6L9A2poAncJYmVoYXZpb3VybAAAAAF3Cmdlbl9zZXJ2ZXJqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAR3CmRlYnVnX2luZm9oA3cBZHcDVlNOawAGMTEuMC4yaAJ3AWlrAB0vYnVpbGRyb290L290cC9saWIva2VybmVsL3NyY3cQd2Fybl91bnVzZWRfdmFyc2poAncGc291cmNlawA2L2J1aWxkcm9vdC9vdHAvbGliL3NzbC9zcmMvdGxzX2NsaWVudF90aWNrZXRfc3RvcmUuZXJsag==
-=mod:ssl_connection_sup
-Current size: 2373
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAA5ryHccs+ohUp1ydgfH9YvWpoAncJYmVoYXZpb3VybAAAAAF3CnN1cGVydmlzb3Jqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAR3CmRlYnVnX2luZm9oA3cBZHcDVlNOawAGMTEuMC4yaAJ3AWlrAB0vYnVpbGRyb290L290cC9saWIva2VybmVsL3NyY3cQd2Fybl91bnVzZWRfdmFyc2poAncGc291cmNlawAxL2J1aWxkcm9vdC9vdHAvbGliL3NzbC9zcmMvc3NsX2Nvbm5lY3Rpb25fc3VwLmVybGo=
-=mod:tls_sup
-Current size: 2186
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAALTAE2+O6t5PW4UO1HK8EwWpoAncJYmVoYXZpb3VybAAAAAF3CnN1cGVydmlzb3Jqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAR3CmRlYnVnX2luZm9oA3cBZHcDVlNOawAGMTEuMC4yaAJ3AWlrAB0vYnVpbGRyb290L290cC9saWIva2VybmVsL3NyY3cQd2Fybl91bnVzZWRfdmFyc2poAncGc291cmNlawAmL2J1aWxkcm9vdC9vdHAvbGliL3NzbC9zcmMvdGxzX3N1cC5lcmxq
-=mod:tls_connection_sup
-Current size: 2221
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAJvmM1aYsddPoTZrW98XRumpoAncJYmVoYXZpb3VybAAAAAF3CnN1cGVydmlzb3Jqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAR3CmRlYnVnX2luZm9oA3cBZHcDVlNOawAGMTEuMC4yaAJ3AWlrAB0vYnVpbGRyb290L290cC9saWIva2VybmVsL3NyY3cQd2Fybl91bnVzZWRfdmFyc2poAncGc291cmNlawAxL2J1aWxkcm9vdC9vdHAvbGliL3NzbC9zcmMvdGxzX2Nvbm5lY3Rpb25fc3VwLmVybGo=
-=mod:tls_server_sup
-Current size: 2971
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAz0U8v3nIm1ZY5f3kum4r5WpoAncJYmVoYXZpb3VybAAAAAF3CnN1cGVydmlzb3Jqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAR3CmRlYnVnX2luZm9oA3cBZHcDVlNOawAGMTEuMC4yaAJ3AWlrAB0vYnVpbGRyb290L290cC9saWIva2VybmVsL3NyY3cQd2Fybl91bnVzZWRfdmFyc2poAncGc291cmNlawAtL2J1aWxkcm9vdC9vdHAvbGliL3NzbC9zcmMvdGxzX3NlcnZlcl9zdXAuZXJsag==
-=mod:ssl_listen_tracker_sup
-Current size: 2635
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAOGJZxWhtwUTvf1bKcQvuyGpoAncJYmVoYXZpb3VybAAAAAF3CnN1cGVydmlzb3Jqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAR3CmRlYnVnX2luZm9oA3cBZHcDVlNOawAGMTEuMC4yaAJ3AWlrAB0vYnVpbGRyb290L290cC9saWIva2VybmVsL3NyY3cQd2Fybl91bnVzZWRfdmFyc2poAncGc291cmNlawA1L2J1aWxkcm9vdC9vdHAvbGliL3NzbC9zcmMvc3NsX2xpc3Rlbl90cmFja2VyX3N1cC5lcmxq
-=mod:tls_server_session_ticket_sup
-Current size: 2770
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAARMHYqHUw2NS1m1UIvB3reGpoAncJYmVoYXZpb3VybAAAAAF3CnN1cGVydmlzb3Jqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAR3CmRlYnVnX2luZm9oA3cBZHcDVlNOawAGMTEuMC4yaAJ3AWlrAB0vYnVpbGRyb290L290cC9saWIva2VybmVsL3NyY3cQd2Fybl91bnVzZWRfdmFyc2poAncGc291cmNlawA8L2J1aWxkcm9vdC9vdHAvbGliL3NzbC9zcmMvdGxzX3NlcnZlcl9zZXNzaW9uX3RpY2tldF9zdXAuZXJsag==
-=mod:ssl_server_session_cache_sup
-Current size: 2269
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAByPBY6olcmybwiutwebctWpoAncJYmVoYXZpb3VybAAAAAF3CnN1cGVydmlzb3Jqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAR3CmRlYnVnX2luZm9oA3cBZHcDVlNOawAGMTEuMC4yaAJ3AWlrAB0vYnVpbGRyb290L290cC9saWIva2VybmVsL3NyY3cQd2Fybl91bnVzZWRfdmFyc2poAncGc291cmNlawA7L2J1aWxkcm9vdC9vdHAvbGliL3NzbC9zcmMvc3NsX3NlcnZlcl9zZXNzaW9uX2NhY2hlX3N1cC5lcmxq
-=mod:ssl_upgrade_server_session_cache_sup
-Current size: 3355
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAMxn80z9MoSuZx9BdUpz512poAncJYmVoYXZpb3VybAAAAAF3CnN1cGVydmlzb3Jqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAR3CmRlYnVnX2luZm9oA3cBZHcDVlNOawAGMTEuMC4yaAJ3AWlrAB0vYnVpbGRyb290L290cC9saWIva2VybmVsL3NyY3cQd2Fybl91bnVzZWRfdmFyc2poAncGc291cmNlawBDL2J1aWxkcm9vdC9vdHAvbGliL3NzbC9zcmMvc3NsX3VwZ3JhZGVfc2VydmVyX3Nlc3Npb25fY2FjaGVfc3VwLmVybGo=
-=mod:dtls_sup
-Current size: 2203
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAzEhJZ7CGB/FJN8cXbhi9UWpoAncJYmVoYXZpb3VybAAAAAF3CnN1cGVydmlzb3Jqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAR3CmRlYnVnX2luZm9oA3cBZHcDVlNOawAGMTEuMC4yaAJ3AWlrAB0vYnVpbGRyb290L290cC9saWIva2VybmVsL3NyY3cQd2Fybl91bnVzZWRfdmFyc2poAncGc291cmNlawAnL2J1aWxkcm9vdC9vdHAvbGliL3NzbC9zcmMvZHRsc19zdXAuZXJsag==
-=mod:dtls_connection_sup
-Current size: 2302
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAARTy7MXOOcU51LrywTcn5CWpoAncJYmVoYXZpb3VybAAAAAF3CnN1cGVydmlzb3Jqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAR3CmRlYnVnX2luZm9oA3cBZHcDVlNOawAGMTEuMC4yaAJ3AWlrAB0vYnVpbGRyb290L290cC9saWIva2VybmVsL3NyY3cQd2Fybl91bnVzZWRfdmFyc2poAncGc291cmNlawAyL2J1aWxkcm9vdC9vdHAvbGliL3NzbC9zcmMvZHRsc19jb25uZWN0aW9uX3N1cC5lcmxq
-=mod:dtls_server_sup
-Current size: 2332
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAA1ajQs9tDRTHhujDcDcscHmpoAncJYmVoYXZpb3VybAAAAAF3CnN1cGVydmlzb3Jqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAR3CmRlYnVnX2luZm9oA3cBZHcDVlNOawAGMTEuMC4yaAJ3AWlrAB0vYnVpbGRyb290L290cC9saWIva2VybmVsL3NyY3cQd2Fybl91bnVzZWRfdmFyc2poAncGc291cmNlawAuL2J1aWxkcm9vdC9vdHAvbGliL3NzbC9zcmMvZHRsc19zZXJ2ZXJfc3VwLmVybGo=
-=mod:dtls_listener_sup
-Current size: 3390
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAMsV5mY/deSztKjjCFxfzBWpoAncJYmVoYXZpb3VybAAAAAF3CnN1cGVydmlzb3Jqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAR3CmRlYnVnX2luZm9oA3cBZHcDVlNOawAGMTEuMC4yaAJ3AWlrAB0vYnVpbGRyb290L290cC9saWIva2VybmVsL3NyY3cQd2Fybl91bnVzZWRfdmFyc2poAncGc291cmNlawAwL2J1aWxkcm9vdC9vdHAvbGliL3NzbC9zcmMvZHRsc19saXN0ZW5lcl9zdXAuZXJsag==
-=mod:dtls_server_session_cache_sup
-Current size: 2286
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAYQzAm4CTe8XSrf2cwuhLS2poAncJYmVoYXZpb3VybAAAAAF3CnN1cGVydmlzb3Jqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAR3CmRlYnVnX2luZm9oA3cBZHcDVlNOawAGMTEuMC4yaAJ3AWlrAB0vYnVpbGRyb290L290cC9saWIva2VybmVsL3NyY3cQd2Fybl91bnVzZWRfdmFyc2poAncGc291cmNlawA8L2J1aWxkcm9vdC9vdHAvbGliL3NzbC9zcmMvZHRsc19zZXJ2ZXJfc2Vzc2lvbl9jYWNoZV9zdXAuZXJsag==
-=mod:aoc2023_test
-Current size: 3021
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAIDzQyy7+ohaS/lZYEnHV6mpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAbi9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2FvYzIwMjMvX2dsZWFtX2FydGVmYWN0cy9hb2MyMDIzX3Rlc3QuZXJsag==
-=mod:showtime
-Current size: 7589
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAASs9ziZ84gk8YQPJee7zfKmpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAai9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2FkZ2xlbnQvX2dsZWFtX2FydGVmYWN0cy9zaG93dGltZS5lcmxq
-=mod:'gleam@erlang'
-Current size: 5630
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAtN0gkiNwSV+DDvuhn5+jrGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAcy9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2dsZWFtX2VybGFuZy9fZ2xlYW1fYXJ0ZWZhY3RzL2dsZWFtQGVybGFuZy5lcmxq
-=mod:'gleam@list'
-Current size: 33260
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAnSllczgawr65cI3tzxLzUGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAcS9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2dsZWFtX3N0ZGxpYi9fZ2xlYW1fYXJ0ZWZhY3RzL2dsZWFtQGxpc3QuZXJsag==
-=mod:'glint@flag'
-Current size: 25019
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAWH/YkAkx0LbtUA424nvbMGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAai9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2dsaW50L19nbGVhbV9hcnRlZmFjdHMvZ2xpbnRAZmxhZy5lcmxq
-=mod:'glint@flag@constraint'
-Current size: 7000
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAqroPg4gdgq3ImnzPTggyoGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAdS9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2dsaW50L19nbGVhbV9hcnRlZmFjdHMvZ2xpbnRAZmxhZ0Bjb25zdHJhaW50LmVybGo=
-=mod:'gleam@set'
-Current size: 6639
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAZnB2CU+bKlUidhVR0LnxHWpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAcC9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2dsZWFtX3N0ZGxpYi9fZ2xlYW1fYXJ0ZWZhY3RzL2dsZWFtQHNldC5lcmxq
-=mod:'gleam@dict'
-Current size: 6120
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAAUASYtitXRdExDDzR4vPOGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAcS9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2dsZWFtX3N0ZGxpYi9fZ2xlYW1fYXJ0ZWZhY3RzL2dsZWFtQGRpY3QuZXJsag==
-=mod:glint
-Current size: 18505
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAA8af8T+Jw5viRaaFGJe+TImpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAZS9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2dsaW50L19nbGVhbV9hcnRlZmFjdHMvZ2xpbnQuZXJsag==
-=mod:'gleam@map'
-Current size: 5055
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAbOLYAgbwbyWo2C1h7jpfH2pq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAcC9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2dsZWFtX3N0ZGxpYi9fZ2xlYW1fYXJ0ZWZhY3RzL2dsZWFtQG1hcC5lcmxq
-=mod:'gleam_community@colour'
-Current size: 24404
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAljaAlIiPJ6KY0wAzgFEHsGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAhy9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2dsZWFtX2NvbW11bml0eV9jb2xvdXIvX2dsZWFtX2FydGVmYWN0cy9nbGVhbV9jb21tdW5pdHlAY29sb3VyLmVybGo=
-=mod:'gleam@int'
-Current size: 11239
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAvfyk3FUpUDfPJUBGvGzaM2pq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAcC9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2dsZWFtX3N0ZGxpYi9fZ2xlYW1fYXJ0ZWZhY3RzL2dsZWFtQGludC5lcmxq
-=mod:'gleam@float'
-Current size: 8605
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAwvf3WDPwF8eL3tZjwLdPvGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAci9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2dsZWFtX3N0ZGxpYi9fZ2xlYW1fYXJ0ZWZhY3RzL2dsZWFtQGZsb2F0LmVybGo=
-=mod:'gleam@result'
-Current size: 8298
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAdINyuhBKzZsZG3pV5EZaVWpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAcy9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2dsZWFtX3N0ZGxpYi9fZ2xlYW1fYXJ0ZWZhY3RzL2dsZWFtQHJlc3VsdC5lcmxq
-=mod:'gleam@function'
-Current size: 10100
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAABwPVPBZqz4aY1ziaTMPL82pq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAdS9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2dsZWFtX3N0ZGxpYi9fZ2xlYW1fYXJ0ZWZhY3RzL2dsZWFtQGZ1bmN0aW9uLmVybGo=
-=mod:'gleam@string'
-Current size: 12638
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAbnTY1/YcMIh38pIxTgLMm2pq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAcy9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2dsZWFtX3N0ZGxpYi9fZ2xlYW1fYXJ0ZWZhY3RzL2dsZWFtQHN0cmluZy5lcmxq
-=mod:gleam_stdlib
-Current size: 35605
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAfiGJYP8AkzvoXZ0YMrXSlmpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAcy9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2dsZWFtX3N0ZGxpYi9fZ2xlYW1fYXJ0ZWZhY3RzL2dsZWFtX3N0ZGxpYi5lcmxq
-=mod:string
-Current size: 113669
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAWQd6Le8JB4/gRSVlV2lBNWpoAncIZGlhbHl6ZXJsAAAAAWgCdxFub19pbXByb3Blcl9saXN0c2wAAAACaAJ3BXN0YWNrYQJoAncIbGVuZ3RoX2JhA2pqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACgvYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9zdHJpbmcuZXJsag==
-=mod:unicode_util
-Current size: 1073461
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbg8AXORlGYYDsuY+eHtBuoYFamgCdwhkaWFseXplcmwAAAABaAJ3EW5vX2ltcHJvcGVyX2xpc3RzbAAAAANoAncCY3BhAWgCdwJnY2EBaAJ3CmdjX3ByZXBlbmRhAmpqag==
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrAC4vYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy91bmljb2RlX3V0aWwuZXJsag==
-=mod:snag
-Current size: 4922
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAG5uviABLq1rTj5x/VJZ0uGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAYy9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL3NuYWcvX2dsZWFtX2FydGVmYWN0cy9zbmFnLmVybGo=
-=mod:'gleam@string_builder'
-Current size: 5894
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAA60rqd/vw/4Yk1Xn9mUIvUGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAey9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2dsZWFtX3N0ZGxpYi9fZ2xlYW1fYXJ0ZWZhY3RzL2dsZWFtQHN0cmluZ19idWlsZGVyLmVybGo=
-=mod:'showtime@internal@erlang@event_handler'
-Current size: 6427
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAesteT6kF6RvqO2kV/0gQ7Wpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAiC9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2FkZ2xlbnQvX2dsZWFtX2FydGVmYWN0cy9zaG93dGltZUBpbnRlcm5hbEBlcmxhbmdAZXZlbnRfaGFuZGxlci5lcmxq
-=mod:'gleam@otp@actor'
-Current size: 10710
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAiu2xMkLOQbtFaM3BzoGdrGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAcy9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2dsZWFtX290cC9fZ2xlYW1fYXJ0ZWZhY3RzL2dsZWFtQG90cEBhY3Rvci5lcmxq
-=mod:'gleam@erlang@process'
-Current size: 15774
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAtSkhind80R8EMukoR6vkNWpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAey9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2dsZWFtX2VybGFuZy9fZ2xlYW1fYXJ0ZWZhY3RzL2dsZWFtQGVybGFuZ0Bwcm9jZXNzLmVybGo=
-=mod:gleam_erlang_ffi
-Current size: 18854
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAMiyJ/P+Ak/snrkTct7KA+Wpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAdy9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2dsZWFtX2VybGFuZy9fZ2xlYW1fYXJ0ZWZhY3RzL2dsZWFtX2VybGFuZ19mZmkuZXJsag==
-=mod:sys
-Current size: 25414
-Current attributes: g2wAAAACaAJ3A3ZzbmwAAAABbhAAqJumm2a32a1+cgYA+0oFeGpoAncKZGVwcmVjYXRlZGwAAAABaAN3CWdldF9kZWJ1Z2EDawBaaW5jb3JyZWN0bHkgZG9jdW1lbnRlZCBhbmQgb25seSBmb3IgaW50ZXJuYWwgdXNlLiBDYW4gb2Z0ZW4gYmUgcmVwbGFjZWQgd2l0aCBzeXM6Z2V0X2xvZy8xamo=
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACUvYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9zeXMuZXJsag==
-=mod:'showtime@internal@erlang@module_handler'
-Current size: 5600
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAA266xv4+Y/ZBeOm9hxQclbWpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAiS9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2FkZ2xlbnQvX2dsZWFtX2FydGVmYWN0cy9zaG93dGltZUBpbnRlcm5hbEBlcmxhbmdAbW9kdWxlX2hhbmRsZXIuZXJsag==
-=mod:'showtime@internal@erlang@discover'
-Current size: 10957
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAACiFC4pbvgv+igrT/QELa0Wpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAgy9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2FkZ2xlbnQvX2dsZWFtX2FydGVmYWN0cy9zaG93dGltZUBpbnRlcm5hbEBlcmxhbmdAZGlzY292ZXIuZXJsag==
-=mod:'showtime@internal@common@common_event_handler'
-Current size: 6222
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAATc4tRrLUrjDY13p3a0mfM2pq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAjy9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2FkZ2xlbnQvX2dsZWFtX2FydGVmYWN0cy9zaG93dGltZUBpbnRlcm5hbEBjb21tb25AY29tbW9uX2V2ZW50X2hhbmRsZXIuZXJsag==
-=mod:simplifile
-Current size: 11471
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAg7QYQ/6hEp7KUPQeePbxIGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAby9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL3NpbXBsaWZpbGUvX2dsZWFtX2FydGVmYWN0cy9zaW1wbGlmaWxlLmVybGo=
-=mod:'gleam@option'
-Current size: 6842
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAA7ba+EZRfQIRK4LJH6y8VQGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAcy9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2dsZWFtX3N0ZGxpYi9fZ2xlYW1fYXJ0ZWZhY3RzL2dsZWFtQG9wdGlvbi5lcmxq
-=mod:simplifile_erl
-Current size: 6790
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAALrwXLSXXrQUhBuYY6MoxsWpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAcy9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL3NpbXBsaWZpbGUvX2dsZWFtX2FydGVmYWN0cy9zaW1wbGlmaWxlX2VybC5lcmxq
-=mod:filelib
-Current size: 31796
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAA3TrIJYJQZ31EtFlP1T81tGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjIuNGgCdwdvcHRpb25zbAAAAAN3CmRlYnVnX2luZm9oAncBaWsAKC9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uL2luY2x1ZGVoAncBaWsAMi9idWlsZHJvb3Qvb3RwL2xpYi9zdGRsaWIvc3JjLy4uLy4uL2tlcm5lbC9pbmNsdWRlamgCdwZzb3VyY2VrACkvYnVpbGRyb290L290cC9saWIvc3RkbGliL3NyYy9maWxlbGliLmVybGo=
-=mod:'gleam@dynamic'
-Current size: 38851
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAl/t9vhYnIwY0q12jzqtah2pq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAdC9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2dsZWFtX3N0ZGxpYi9fZ2xlYW1fYXJ0ZWZhY3RzL2dsZWFtQGR5bmFtaWMuZXJsag==
-=mod:'day7@day7_test'
-Current size: 4223
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAJPCDfy0Jji3eOEeobotB3Gpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAcC9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2FvYzIwMjMvX2dsZWFtX2FydGVmYWN0cy9kYXk3QGRheTdfdGVzdC5lcmxq
-=mod:'showtime@internal@erlang@runner'
-Current size: 4500
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAADg32TsjXMXKsJRgK3TDrDGpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAgS9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2FkZ2xlbnQvX2dsZWFtX2FydGVmYWN0cy9zaG93dGltZUBpbnRlcm5hbEBlcmxhbmdAcnVubmVyLmVybGo=
-=mod:showtime_ffi
-Current size: 10209
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAkt2yuDpHeMFcxuk1dvnE6Gpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAbi9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2FkZ2xlbnQvX2dsZWFtX2FydGVmYWN0cy9zaG93dGltZV9mZmkuZXJsag==
-=mod:'showtime@tests@should'
-Current size: 6938
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAARbeuMDVpt+ZmkAn+XaYh8mpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAdy9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2FkZ2xlbnQvX2dsZWFtX2FydGVmYWN0cy9zaG93dGltZUB0ZXN0c0BzaG91bGQuZXJsag==
-=mod:'day7@solve'
-Current size: 10243
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAArXGXSdtYEewD099OEybQ4mpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAbC9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2FvYzIwMjMvX2dsZWFtX2FydGVmYWN0cy9kYXk3QHNvbHZlLmVybGo=
-=mod:'showtime@internal@reports@formatter'
-Current size: 23921
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAbZh74abXA6ppaWvDUqdhA2pq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAhS9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2FkZ2xlbnQvX2dsZWFtX2FydGVmYWN0cy9zaG93dGltZUBpbnRlcm5hbEByZXBvcnRzQGZvcm1hdHRlci5lcmxq
-=mod:'gleam@io'
-Current size: 3562
-Current attributes: g2wAAAABaAJ3A3ZzbmwAAAABbhAAZbMfKh/MIOHz0dIn+IIj+Gpq
-Current compilation info: g2wAAAADaAJ3B3ZlcnNpb25rAAU4LjMuMmgCdwdvcHRpb25zbAAAAAF3CmRlYnVnX2luZm9qaAJ3BnNvdXJjZWsAby9Vc2Vycy9uaWNob2xhc2Nhcmxzb24vVlMgQ29kZS9BZHZlbnRPZkNvZGUvYW9jMjAyMy9idWlsZC9kZXYvZXJsYW5nL2dsZWFtX3N0ZGxpYi9fZ2xlYW1fYXJ0ZWZhY3RzL2dsZWFtQGlvLmVybGo=
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 39
-Address: 0x000000010421c3a4
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 30
-Address: 0x0000000103e76f50
-Refc: 1
-=fun
-Module: unicode
-Uniq: 54664399
-Index: 22
-Address: 0x0000000103fb4fe8
-Refc: 2
-=fun
-Module: global
-Uniq: 100333677
-Index: 3
-Address: 0x000000010400c9a0
-Refc: 1
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 34
-Address: 0x000000010414b9c8
-Refc: 1
-=fun
-Module: socket_registry
-Uniq: 8180509
-Index: 0
-Address: 0x0000000103dc1758
-Refc: 1
-=fun
-Module: logger_formatter
-Uniq: 60349323
-Index: 1
-Address: 0x00000001040b64c0
-Refc: 2
-=fun
-Module: erl_scan
-Uniq: 115441844
-Index: 0
-Address: 0x00000001040d26b0
-Refc: 2
-=fun
-Module: ets
-Uniq: 30908443
-Index: 5
-Address: 0x0000000103e3c140
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 1
-Address: 0x0000000103eb2d08
-Refc: 1
-=fun
-Module: glint
-Uniq: 18128761
-Index: 5
-Address: 0x00000001041524d0
-Refc: 2
-=fun
-Module: raw_file_io
-Uniq: 101053602
-Index: 4
-Address: 0x00000001040d0540
-Refc: 2
-=fun
-Module: 'glint@flag@constraint'
-Uniq: 83988546
-Index: 3
-Address: 0x000000010414e3d8
-Refc: 2
-=fun
-Module: 'gleam@set'
-Uniq: 15699406
-Index: 2
-Address: 0x000000010414fa68
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 56
-Address: 0x0000000103e759e8
-Refc: 1
-=fun
-Module: maps
-Uniq: 48010870
-Index: 2
-Address: 0x0000000104036d98
-Refc: 1
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 29
-Address: 0x000000010414abf0
-Refc: 2
-=fun
-Module: rand
-Uniq: 65977474
-Index: 5
-Address: 0x0000000104029d10
-Refc: 2
-=fun
-Module: 'showtime@internal@erlang@event_handler'
-Uniq: 124289607
-Index: 2
-Address: 0x00000001041f7afc
-Refc: 2
-=fun
-Module: global
-Uniq: 100333677
-Index: 33
-Address: 0x0000000104009d20
-Refc: 2
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 48
-Address: 0x000000010421d078
-Refc: 2
-=fun
-Module: 'gleam@function'
-Uniq: 127819290
-Index: 10
-Address: 0x0000000104160d88
-Refc: 1
-=fun
-Module: 'gleam_community@colour'
-Uniq: 92289676
-Index: 6
-Address: 0x0000000104158cb8
-Refc: 1
-=fun
-Module: gen_event
-Uniq: 37613186
-Index: 6
-Address: 0x0000000103ee1738
-Refc: 2
-=fun
-Module: 'gleam@erlang@process'
-Uniq: 28255578
-Index: 7
-Address: 0x00000001041fc1d4
-Refc: 1
-=fun
-Module: erl_features
-Uniq: 44278689
-Index: 4
-Address: 0x0000000103fb9ee0
-Refc: 1
-=fun
-Module: 'gleam@list'
-Uniq: 42440854
-Index: 17
-Address: 0x0000000104146dc4
-Refc: 1
-=fun
-Module: init
-Uniq: 72673429
-Index: 13
-Address: 0x0000000103d93480
-Refc: 1
-=fun
-Module: inet_parse
-Uniq: 131529883
-Index: 11
-Address: 0x0000000103feda78
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 90
-Address: 0x0000000103e71d70
-Refc: 1
-=fun
-Module: gen
-Uniq: 105431365
-Index: 0
-Address: 0x0000000103e0ff18
-Refc: 3
-=fun
-Module: supervisor
-Uniq: 63985753
-Index: 5
-Address: 0x0000000103e4cad8
-Refc: 1
-=fun
-Module: erl_parse
-Uniq: 57550649
-Index: 1
-Address: 0x0000000103f5a008
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 62
-Address: 0x0000000103eaf540
-Refc: 2
-=fun
-Module: ssl_pkix_db
-Uniq: 51522903
-Index: 5
-Address: 0x0000000104129d98
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 13
-Address: 0x0000000103e79bc0
-Refc: 2
-=fun
-Module: httpc
-Uniq: 36342138
-Index: 10
-Address: 0x0000000104109c18
-Refc: 2
-=fun
-Module: 'showtime@internal@erlang@module_handler'
-Uniq: 57223230
-Index: 0
-Address: 0x0000000104207ad4
-Refc: 2
-=fun
-Module: prim_socket
-Uniq: 51104894
-Index: 3
-Address: 0x0000000103dcd620
-Refc: 1
-=fun
-Module: code
-Uniq: 38778589
-Index: 2
-Address: 0x0000000103e22d70
-Refc: 2
-=fun
-Module: rand
-Uniq: 65977474
-Index: 16
-Address: 0x000000010402d478
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 100
-Address: 0x0000000103e710f4
-Refc: 1
-=fun
-Module: inet_db
-Uniq: 46329474
-Index: 2
-Address: 0x0000000103fc4e40
-Refc: 2
-=fun
-Module: global
-Uniq: 100333677
-Index: 14
-Address: 0x000000010400bb80
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 29
-Address: 0x000000010421a968
-Refc: 1
-=fun
-Module: simplifile
-Uniq: 17272755
-Index: 5
-Address: 0x000000010420b330
-Refc: 2
-=fun
-Module: erl_scan
-Uniq: 115441844
-Index: 21
-Address: 0x00000001040dd8c0
-Refc: 2
-=fun
-Module: application_controller
-Uniq: 5142319
-Index: 8
-Address: 0x0000000103ecbb40
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 28
-Address: 0x0000000103eb0d18
-Refc: 1
-=fun
-Module: logger_server
-Uniq: 19349920
-Index: 3
-Address: 0x0000000103e87d70
-Refc: 1
-=fun
-Module: 'gleam@list'
-Uniq: 42440854
-Index: 4
-Address: 0x0000000104147168
-Refc: 1
-=fun
-Module: beam_lib
-Uniq: 45141944
-Index: 1
-Address: 0x0000000103f99ba0
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 47
-Address: 0x0000000103e76020
-Refc: 2
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 8
-Address: 0x000000010414c680
-Refc: 1
-=fun
-Module: code_server
-Uniq: 111287289
-Index: 0
-Address: 0x0000000103ef3d3c
-Refc: 1
-=fun
-Module: logger
-Uniq: 1449854
-Index: 0
-Address: 0x0000000103ed6110
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 43
-Address: 0x0000000103eb0110
-Refc: 1
-=fun
-Module: 'showtime@internal@reports@formatter'
-Uniq: 1772858
-Index: 1
-Address: 0x0000000104227bd0
-Refc: 2
-=fun
-Module: inet
-Uniq: 65562377
-Index: 3
-Address: 0x0000000103fe5680
-Refc: 2
-=fun
-Module: 'showtime@internal@erlang@discover'
-Uniq: 110023186
-Index: 1
-Address: 0x0000000104209460
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 22
-Address: 0x0000000103e77d2c
-Refc: 1
-=fun
-Module: 'gleam_community@colour'
-Uniq: 92289676
-Index: 17
-Address: 0x0000000104159158
-Refc: 1
-=fun
-Module: 'gleam@erlang@process'
-Uniq: 28255578
-Index: 8
-Address: 0x00000001041fc094
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 73
-Address: 0x0000000103e73e08
-Refc: 2
-=fun
-Module: epp
-Uniq: 124355082
-Index: 4
-Address: 0x00000001040fc6a4
-Refc: 1
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 42
-Address: 0x000000010414c798
-Refc: 2
-=fun
-Module: erl_scan
-Uniq: 115441844
-Index: 8
-Address: 0x00000001040d58b8
-Refc: 2
-=fun
-Module: ets
-Uniq: 30908443
-Index: 13
-Address: 0x0000000103e3b694
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 9
-Address: 0x0000000103eb2130
-Refc: 1
-=fun
-Module: 'gleam@otp@actor'
-Uniq: 90500110
-Index: 5
-Address: 0x00000001041f9860
-Refc: 2
-=fun
-Module: c
-Uniq: 124725464
-Index: 11
-Address: 0x00000001040cb508
-Refc: 2
-=fun
-Module: httpc
-Uniq: 36342138
-Index: 7
-Address: 0x0000000104109e38
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 48
-Address: 0x0000000103e75fc8
-Refc: 2
-=fun
-Module: prim_socket
-Uniq: 51104894
-Index: 16
-Address: 0x0000000103dcce18
-Refc: 1
-=fun
-Module: unicode
-Uniq: 54664399
-Index: 12
-Address: 0x0000000103fb5258
-Refc: 2
-=fun
-Module: prim_zip
-Uniq: 66112146
-Index: 6
-Address: 0x0000000103dd5abc
-Refc: 1
-=fun
-Module: rand
-Uniq: 65977474
-Index: 29
-Address: 0x000000010402c4c8
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 107
-Address: 0x0000000103e74414
-Refc: 1
-=fun
-Module: global
-Uniq: 100333677
-Index: 25
-Address: 0x000000010400a4c0
-Refc: 2
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 8
-Address: 0x000000010421ce60
-Refc: 2
-=fun
-Module: file
-Uniq: 1459081
-Index: 2
-Address: 0x0000000103e19554
-Refc: 1
-=fun
-Module: 'gleam@function'
-Uniq: 127819290
-Index: 2
-Address: 0x0000000104161598
-Refc: 1
-=fun
-Module: init
-Uniq: 72673429
-Index: 5
-Address: 0x0000000103d9445c
-Refc: 1
-=fun
-Module: inet_parse
-Uniq: 131529883
-Index: 3
-Address: 0x0000000103feec90
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 82
-Address: 0x0000000103e7253c
-Refc: 1
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 7
-Address: 0x000000010414c598
-Refc: 1
-=fun
-Module: showtime
-Uniq: 22478307
-Index: 2
-Address: 0x000000010413fa10
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 38
-Address: 0x0000000103eb03ac
-Refc: 1
-=fun
-Module: sys
-Uniq: 62925399
-Index: 1
-Address: 0x00000001042065c8
-Refc: 2
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 42
-Address: 0x000000010421c860
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 5
-Address: 0x0000000103e7b940
-Refc: 2
-=fun
-Module: rpc
-Uniq: 70687560
-Index: 4
-Address: 0x0000000103ff5e84
-Refc: 1
-=fun
-Module: inet_config
-Uniq: 64624012
-Index: 3
-Address: 0x0000000103fd3b08
-Refc: 2
-=fun
-Module: 'day7@solve'
-Uniq: 118915376
-Index: 6
-Address: 0x0000000104224028
-Refc: 2
-=fun
-Module: unicode
-Uniq: 54664399
-Index: 17
-Address: 0x0000000103fb4f78
-Refc: 2
-=fun
-Module: net_kernel
-Uniq: 105284444
-Index: 7
-Address: 0x0000000104020c40
-Refc: 2
-=fun
-Module: global
-Uniq: 100333677
-Index: 6
-Address: 0x000000010400c558
-Refc: 2
-=fun
-Module: gen_statem
-Uniq: 58250722
-Index: 2
-Address: 0x0000000104068118
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 21
-Address: 0x000000010421a340
-Refc: 1
-=fun
-Module: ets
-Uniq: 30908443
-Index: 0
-Address: 0x0000000103e3c5e8
-Refc: 1
-=fun
-Module: application_controller
-Uniq: 5142319
-Index: 0
-Address: 0x0000000103ecc63c
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 4
-Address: 0x0000000103eb2810
-Refc: 1
-=fun
-Module: glint
-Uniq: 18128761
-Index: 8
-Address: 0x0000000104153980
-Refc: 2
-=fun
-Module: showtime_ffi
-Uniq: 122038219
-Index: 2
-Address: 0x0000000104221120
-Refc: 2
-=fun
-Module: 'gleam@list'
-Uniq: 42440854
-Index: 12
-Address: 0x0000000104146a10
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 39
-Address: 0x0000000103e76350
-Refc: 2
-=fun
-Module: maps
-Uniq: 48010870
-Index: 5
-Address: 0x0000000104036b58
-Refc: 2
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 16
-Address: 0x000000010414c028
-Refc: 2
-=fun
-Module: 'showtime@internal@reports@formatter'
-Uniq: 1772858
-Index: 9
-Address: 0x0000000104226a80
-Refc: 2
-=fun
-Module: rand
-Uniq: 65977474
-Index: 14
-Address: 0x000000010402cfa0
-Refc: 2
-=fun
-Module: peer
-Uniq: 34337805
-Index: 3
-Address: 0x0000000103f8cfbc
-Refc: 1
-=fun
-Module: global
-Uniq: 100333677
-Index: 36
-Address: 0x000000010400bd1c
-Refc: 1
-=fun
-Module: 'showtime@internal@erlang@discover'
-Uniq: 110023186
-Index: 9
-Address: 0x0000000104209508
-Refc: 1
-=fun
-Module: inet
-Uniq: 65562377
-Index: 11
-Address: 0x0000000103fe5150
-Refc: 2
-=fun
-Module: prim_tty
-Uniq: 75477062
-Index: 2
-Address: 0x00000001040782a0
-Refc: 2
-=fun
-Module: 'gleam_community@colour'
-Uniq: 92289676
-Index: 9
-Address: 0x0000000104158850
-Refc: 2
-=fun
-Module: ssl_config
-Uniq: 64895055
-Index: 3
-Address: 0x0000000104134118
-Refc: 2
-=fun
-Module: 'gleam@erlang@process'
-Uniq: 28255578
-Index: 0
-Address: 0x00000001041fc8ec
-Refc: 1
-=fun
-Module: erl_features
-Uniq: 44278689
-Index: 9
-Address: 0x0000000103fb9d10
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 65
-Address: 0x0000000103e74fa4
-Refc: 1
-=fun
-Module: logger_simple_h
-Uniq: 105730862
-Index: 2
-Address: 0x0000000103efcd88
-Refc: 1
-=fun
-Module: supervisor
-Uniq: 63985753
-Index: 10
-Address: 0x0000000103e4c31c
-Refc: 1
-=fun
-Module: erl_parse
-Uniq: 57550649
-Index: 10
-Address: 0x0000000103f59190
-Refc: 5
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 49
-Address: 0x0000000103eafcc0
-Refc: 1
-=fun
-Module: gleam_stdlib
-Uniq: 79074729
-Index: 0
-Address: 0x000000010416a914
-Refc: 1
-=fun
-Module: erl_prim_loader
-Uniq: 11574866
-Index: 1
-Address: 0x0000000103ddb680
-Refc: 1
-=fun
-Module: c
-Uniq: 124725464
-Index: 3
-Address: 0x00000001040c5c88
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 8
-Address: 0x0000000103e7b18c
-Refc: 1
-=fun
-Module: prim_socket
-Uniq: 51104894
-Index: 8
-Address: 0x0000000103dcd328
-Refc: 1
-=fun
-Module: global_group
-Uniq: 133931896
-Index: 7
-Address: 0x00000001040437d0
-Refc: 2
-=fun
-Module: rand
-Uniq: 65977474
-Index: 21
-Address: 0x000000010402c8b0
-Refc: 2
-=fun
-Module: unicode
-Uniq: 54664399
-Index: 4
-Address: 0x0000000103fb4000
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 99
-Address: 0x0000000103e71188
-Refc: 1
-=fun
-Module: global
-Uniq: 100333677
-Index: 17
-Address: 0x000000010400b6e4
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 0
-Address: 0x000000010421d9c8
-Refc: 1
-=fun
-Module: simplifile
-Uniq: 17272755
-Index: 8
-Address: 0x000000010420bda8
-Refc: 1
-=fun
-Module: application_controller
-Uniq: 5142319
-Index: 21
-Address: 0x0000000103ecb0cc
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 23
-Address: 0x0000000103eb1430
-Refc: 1
-=fun
-Module: erl_scan
-Uniq: 115441844
-Index: 18
-Address: 0x00000001040dcf28
-Refc: 2
-=fun
-Module: 'gleam@list'
-Uniq: 42440854
-Index: 1
-Address: 0x0000000104147318
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 42
-Address: 0x0000000103e761b0
-Refc: 1
-=fun
-Module: user_drv
-Uniq: 115201613
-Index: 1
-Address: 0x0000000104059384
-Refc: 1
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 15
-Address: 0x000000010414c0a8
-Refc: 2
-=fun
-Module: code_server
-Uniq: 111287289
-Index: 13
-Address: 0x0000000103ef2658
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 46
-Address: 0x0000000103eafed0
-Refc: 2
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 34
-Address: 0x000000010421ab28
-Refc: 1
-=fun
-Module: inet
-Uniq: 65562377
-Index: 4
-Address: 0x0000000103fe55e8
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 29
-Address: 0x0000000103e771f8
-Refc: 1
-=fun
-Module: 'gleam_community@colour'
-Uniq: 92289676
-Index: 20
-Address: 0x0000000104159980
-Refc: 1
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 33
-Address: 0x000000010414b230
-Refc: 2
-=fun
-Module: erl_scan
-Uniq: 115441844
-Index: 5
-Address: 0x00000001040d3c90
-Refc: 2
-=fun
-Module: ets
-Uniq: 30908443
-Index: 8
-Address: 0x0000000103e3bf04
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 12
-Address: 0x0000000103eb1dc0
-Refc: 1
-=fun
-Module: glint
-Uniq: 18128761
-Index: 0
-Address: 0x0000000104153d7c
-Refc: 1
-=fun
-Module: logger_h_common
-Uniq: 73693308
-Index: 0
-Address: 0x00000001040c2750
-Refc: 1
-=fun
-Module: 'glint@flag@constraint'
-Uniq: 83988546
-Index: 0
-Address: 0x000000010414e7f0
-Refc: 1
-=fun
-Module: 'gleam@otp@actor'
-Uniq: 90500110
-Index: 0
-Address: 0x00000001041f9a98
-Refc: 2
-=fun
-Module: zlib
-Uniq: 85031762
-Index: 0
-Address: 0x0000000103db9dc8
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 63
-Address: 0x0000000103e75178
-Refc: 1
-=fun
-Module: group
-Uniq: 88293013
-Index: 0
-Address: 0x00000001040897e8
-Refc: 1
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 24
-Address: 0x000000010414a200
-Refc: 2
-=fun
-Module: code_server
-Uniq: 111287289
-Index: 16
-Address: 0x0000000103ef1a64
-Refc: 1
-=fun
-Module: global_group
-Uniq: 133931896
-Index: 10
-Address: 0x0000000104042da4
-Refc: 1
-=fun
-Module: rand
-Uniq: 65977474
-Index: 6
-Address: 0x00000001040297f0
-Refc: 2
-=fun
-Module: global
-Uniq: 100333677
-Index: 28
-Address: 0x000000010400a1c0
-Refc: 2
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 15
-Address: 0x000000010421bd5c
-Refc: 1
-=fun
-Module: 'gleam@function'
-Uniq: 127819290
-Index: 9
-Address: 0x0000000104160cdc
-Refc: 1
-=fun
-Module: 'gleam_community@colour'
-Uniq: 92289676
-Index: 1
-Address: 0x0000000104159538
-Refc: 2
-=fun
-Module: gen_event
-Uniq: 37613186
-Index: 3
-Address: 0x0000000103ee1f10
-Refc: 1
-=fun
-Module: init
-Uniq: 72673429
-Index: 10
-Address: 0x0000000103d921e8
-Refc: 1
-=fun
-Module: erl_features
-Uniq: 44278689
-Index: 1
-Address: 0x0000000103fba0a0
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 89
-Address: 0x0000000103e71e70
-Refc: 1
-=fun
-Module: supervisor
-Uniq: 63985753
-Index: 2
-Address: 0x0000000103e4cbd8
-Refc: 2
-=fun
-Module: erl_parse
-Uniq: 57550649
-Index: 2
-Address: 0x0000000103f59a88
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 57
-Address: 0x0000000103eaf984
-Refc: 1
-=fun
-Module: erl_prim_loader
-Uniq: 11574866
-Index: 9
-Address: 0x0000000103de1a30
-Refc: 1
-=fun
-Module: ssl_pkix_db
-Uniq: 51522903
-Index: 0
-Address: 0x000000010412acf0
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 64
-Address: 0x0000000103eaf3d8
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 0
-Address: 0x0000000103e7c3ac
-Refc: 1
-=fun
-Module: prim_socket
-Uniq: 51104894
-Index: 0
-Address: 0x0000000103dcd720
-Refc: 1
-=fun
-Module: code
-Uniq: 38778589
-Index: 5
-Address: 0x0000000103e22b18
-Refc: 1
-=fun
-Module: inet_db
-Uniq: 46329474
-Index: 7
-Address: 0x0000000103fce5f0
-Refc: 2
-=fun
-Module: global
-Uniq: 100333677
-Index: 9
-Address: 0x000000010400c1b4
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 24
-Address: 0x0000000104219808
-Refc: 1
-=fun
-Module: simplifile
-Uniq: 17272755
-Index: 0
-Address: 0x000000010420bfc0
-Refc: 1
-=fun
-Module: application_controller
-Uniq: 5142319
-Index: 13
-Address: 0x0000000103ecb610
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 31
-Address: 0x0000000103eb0988
-Refc: 1
-=fun
-Module: 'gleam@function'
-Uniq: 127819290
-Index: 18
-Address: 0x000000010416143c
-Refc: 1
-=fun
-Module: beam_lib
-Uniq: 45141944
-Index: 2
-Address: 0x0000000103f998f8
-Refc: 1
-=fun
-Module: logger_server
-Uniq: 19349920
-Index: 0
-Address: 0x0000000103e87ec0
-Refc: 2
-=fun
-Module: 'gleam@list'
-Uniq: 42440854
-Index: 9
-Address: 0x0000000104146bf4
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 34
-Address: 0x0000000103e768a0
-Refc: 1
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 23
-Address: 0x000000010414b9f8
-Refc: 2
-=fun
-Module: code_server
-Uniq: 111287289
-Index: 5
-Address: 0x0000000103ef2d4c
-Refc: 1
-=fun
-Module: 'showtime@internal@reports@formatter'
-Uniq: 1772858
-Index: 4
-Address: 0x0000000104227980
-Refc: 2
-=fun
-Module: 'showtime@internal@erlang@discover'
-Uniq: 110023186
-Index: 2
-Address: 0x00000001042090a0
-Refc: 1
-=fun
-Module: inet
-Uniq: 65562377
-Index: 12
-Address: 0x0000000103fe4ee8
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 21
-Address: 0x0000000103e77fc8
-Refc: 1
-=fun
-Module: 'gleam_community@colour'
-Uniq: 92289676
-Index: 12
-Address: 0x0000000104158bdc
-Refc: 1
-=fun
-Module: io_lib
-Uniq: 6600873
-Index: 2
-Address: 0x0000000104096d28
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 76
-Address: 0x0000000103e7355c
-Refc: 1
-=fun
-Module: epp
-Uniq: 124355082
-Index: 7
-Address: 0x00000001040fbf48
-Refc: 2
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 41
-Address: 0x000000010414c6b0
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 52
-Address: 0x0000000103eafc48
-Refc: 1
-=fun
-Module: erl_scan
-Uniq: 115441844
-Index: 13
-Address: 0x00000001040d8740
-Refc: 2
-=fun
-Module: erl_prim_loader
-Uniq: 11574866
-Index: 4
-Address: 0x0000000103de2530
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 55
-Address: 0x0000000103e75b8c
-Refc: 1
-=fun
-Module: httpc
-Uniq: 36342138
-Index: 4
-Address: 0x000000010410a0d0
-Refc: 2
-=fun
-Module: prim_socket
-Uniq: 51104894
-Index: 13
-Address: 0x0000000103dcd0e8
-Refc: 1
-=fun
-Module: standard_error
-Uniq: 123115530
-Index: 0
-Address: 0x0000000103fbd440
-Refc: 3
-=fun
-Module: global_group
-Uniq: 133931896
-Index: 2
-Address: 0x0000000104043a78
-Refc: 2
-=fun
-Module: 'showtime@internal@erlang@runner'
-Uniq: 6773126
-Index: 0
-Address: 0x000000010421fad4
-Refc: 1
-=fun
-Module: prim_zip
-Uniq: 66112146
-Index: 3
-Address: 0x0000000103dd2aa8
-Refc: 1
-=fun
-Module: unicode
-Uniq: 54664399
-Index: 15
-Address: 0x0000000103fb4dd8
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 110
-Address: 0x0000000103e78be0
-Refc: 1
-=fun
-Module: global
-Uniq: 100333677
-Index: 20
-Address: 0x000000010400b098
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 7
-Address: 0x000000010421ced8
-Refc: 1
-=fun
-Module: application_controller
-Uniq: 5142319
-Index: 18
-Address: 0x0000000103ecb2a8
-Refc: 2
-=fun
-Module: 'gleam@erlang'
-Uniq: 90512636
-Index: 0
-Address: 0x0000000104140c68
-Refc: 1
-=fun
-Module: 'gleam@function'
-Uniq: 127819290
-Index: 1
-Address: 0x0000000104161788
-Refc: 1
-=fun
-Module: init
-Uniq: 72673429
-Index: 2
-Address: 0x0000000103d87ad8
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 81
-Address: 0x0000000103e725a4
-Refc: 1
-=fun
-Module: inet_parse
-Uniq: 131529883
-Index: 6
-Address: 0x0000000103feea70
-Refc: 2
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 2
-Address: 0x000000010414cae0
-Refc: 2
-=fun
-Module: code_server
-Uniq: 111287289
-Index: 10
-Address: 0x0000000103ef2908
-Refc: 4
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 33
-Address: 0x0000000103eb0788
-Refc: 1
-=fun
-Module: gleam_erlang_ffi
-Uniq: 130811285
-Index: 0
-Address: 0x0000000104200600
-Refc: 2
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 41
-Address: 0x000000010421c80c
-Refc: 1
-=fun
-Module: rpc
-Uniq: 70687560
-Index: 7
-Address: 0x0000000103ff6040
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 24
-Address: 0x0000000103e77798
-Refc: 2
-=fun
-Module: 'day7@solve'
-Uniq: 118915376
-Index: 3
-Address: 0x00000001042242c8
-Refc: 2
-=fun
-Module: unicode
-Uniq: 54664399
-Index: 20
-Address: 0x0000000103fb4c40
-Refc: 2
-=fun
-Module: net_kernel
-Uniq: 105284444
-Index: 4
-Address: 0x0000000104020d10
-Refc: 2
-=fun
-Module: global
-Uniq: 100333677
-Index: 1
-Address: 0x000000010400cca4
-Refc: 1
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 36
-Address: 0x000000010414c228
-Refc: 2
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 16
-Address: 0x000000010421b89c
-Refc: 1
-=fun
-Module: application_controller
-Uniq: 5142319
-Index: 5
-Address: 0x0000000103ecc038
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 7
-Address: 0x0000000103eb23c0
-Refc: 1
-=fun
-Module: erl_scan
-Uniq: 115441844
-Index: 2
-Address: 0x00000001040dff84
-Refc: 2
-=fun
-Module: glint
-Uniq: 18128761
-Index: 7
-Address: 0x00000001041539e0
-Refc: 2
-=fun
-Module: ets
-Uniq: 30908443
-Index: 7
-Address: 0x0000000103e3c024
-Refc: 1
-=fun
-Module: 'gleam@set'
-Uniq: 15699406
-Index: 0
-Address: 0x000000010414fb38
-Refc: 2
-=fun
-Module: logger_server
-Uniq: 19349920
-Index: 8
-Address: 0x0000000103e87cd8
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 58
-Address: 0x0000000103e62720
-Refc: 2
-=fun
-Module: maps
-Uniq: 48010870
-Index: 0
-Address: 0x0000000104032b40
-Refc: 2
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 31
-Address: 0x000000010414af10
-Refc: 2
-=fun
-Module: 'showtime@internal@reports@formatter'
-Uniq: 1772858
-Index: 12
-Address: 0x00000001042275b0
-Refc: 1
-=fun
-Module: rand
-Uniq: 65977474
-Index: 11
-Address: 0x000000010402b4c8
-Refc: 2
-=fun
-Module: peer
-Uniq: 34337805
-Index: 6
-Address: 0x0000000103f8cb00
-Refc: 1
-=fun
-Module: 'showtime@internal@erlang@event_handler'
-Uniq: 124289607
-Index: 0
-Address: 0x00000001041f7b88
-Refc: 2
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 50
-Address: 0x000000010421d448
-Refc: 2
-=fun
-Module: 'gleam@function'
-Uniq: 127819290
-Index: 12
-Address: 0x0000000104160f04
-Refc: 1
-=fun
-Module: prim_tty
-Uniq: 75477062
-Index: 1
-Address: 0x0000000104078348
-Refc: 2
-=fun
-Module: 'gleam_community@colour'
-Uniq: 92289676
-Index: 4
-Address: 0x0000000104159260
-Refc: 1
-=fun
-Module: 'gleam@erlang@process'
-Uniq: 28255578
-Index: 5
-Address: 0x00000001041fc3ec
-Refc: 1
-=fun
-Module: erl_features
-Uniq: 44278689
-Index: 10
-Address: 0x0000000103fb9b58
-Refc: 2
-=fun
-Module: inet_parse
-Uniq: 131529883
-Index: 9
-Address: 0x0000000103fee730
-Refc: 2
-=fun
-Module: 'day7@day7_test'
-Uniq: 115477595
-Index: 1
-Address: 0x000000010421f230
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 68
-Address: 0x0000000103e744c0
-Refc: 2
-=fun
-Module: logger_simple_h
-Uniq: 105730862
-Index: 1
-Address: 0x0000000103efcdb8
-Refc: 2
-=fun
-Module: gen
-Uniq: 105431365
-Index: 2
-Address: 0x0000000103e0fdd8
-Refc: 2
-=fun
-Module: supervisor
-Uniq: 63985753
-Index: 7
-Address: 0x0000000103e4c6cc
-Refc: 1
-=fun
-Module: erl_parse
-Uniq: 57550649
-Index: 7
-Address: 0x0000000103f59580
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 60
-Address: 0x0000000103eaf6f4
-Refc: 1
-=fun
-Module: gleam_stdlib
-Uniq: 79074729
-Index: 3
-Address: 0x0000000104168768
-Refc: 2
-=fun
-Module: erl_prim_loader
-Uniq: 11574866
-Index: 12
-Address: 0x0000000103de1748
-Refc: 1
-=fun
-Module: c
-Uniq: 124725464
-Index: 6
-Address: 0x00000001040cba20
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 15
-Address: 0x0000000103e798c0
-Refc: 1
-=fun
-Module: httpc
-Uniq: 36342138
-Index: 12
-Address: 0x0000000104109a58
-Refc: 2
-=fun
-Module: 'showtime@internal@erlang@module_handler'
-Uniq: 57223230
-Index: 2
-Address: 0x0000000104207cbc
-Refc: 2
-=fun
-Module: prim_socket
-Uniq: 51104894
-Index: 5
-Address: 0x0000000103dcd260
-Refc: 1
-=fun
-Module: rand
-Uniq: 65977474
-Index: 22
-Address: 0x000000010402cb28
-Refc: 2
-=fun
-Module: unicode
-Uniq: 54664399
-Index: 7
-Address: 0x0000000103fb2e48
-Refc: 2
-=fun
-Module: code
-Uniq: 38778589
-Index: 0
-Address: 0x0000000103e22fd0
-Refc: 2
-=fun
-Module: net_kernel
-Uniq: 105284444
-Index: 9
-Address: 0x0000000104020c0c
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 102
-Address: 0x0000000103e6cfb8
-Refc: 2
-=fun
-Module: global
-Uniq: 100333677
-Index: 12
-Address: 0x000000010400bed4
-Refc: 1
-=fun
-Module: simplifile
-Uniq: 17272755
-Index: 11
-Address: 0x000000010420c44c
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 31
-Address: 0x000000010421aba8
-Refc: 2
-=fun
-Module: application_controller
-Uniq: 5142319
-Index: 10
-Address: 0x0000000103ecba6c
-Refc: 3
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 18
-Address: 0x0000000103eb1868
-Refc: 1
-=fun
-Module: 'gleam@list'
-Uniq: 42440854
-Index: 6
-Address: 0x0000000104146f78
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 41
-Address: 0x0000000103e762a8
-Refc: 1
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 10
-Address: 0x000000010414c4b0
-Refc: 1
-=fun
-Module: code_server
-Uniq: 111287289
-Index: 2
-Address: 0x0000000103ef3684
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 41
-Address: 0x0000000103eb01fc
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 33
-Address: 0x000000010421ab58
-Refc: 2
-=fun
-Module: inet
-Uniq: 65562377
-Index: 1
-Address: 0x0000000103fe5720
-Refc: 2
-=fun
-Module: 'showtime@internal@erlang@discover'
-Uniq: 110023186
-Index: 7
-Address: 0x0000000104208948
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 16
-Address: 0x0000000103e79598
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 75
-Address: 0x0000000103e736a0
-Refc: 2
-=fun
-Module: epp
-Uniq: 124355082
-Index: 2
-Address: 0x00000001040fca1c
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 15
-Address: 0x0000000103eb1ad8
-Refc: 1
-=fun
-Module: erl_scan
-Uniq: 115441844
-Index: 10
-Address: 0x00000001040d6ab8
-Refc: 2
-=fun
-Module: ets
-Uniq: 30908443
-Index: 15
-Address: 0x0000000103e3b54c
-Refc: 1
-=fun
-Module: 'gleam@otp@actor'
-Uniq: 90500110
-Index: 7
-Address: 0x00000001041f97b0
-Refc: 1
-=fun
-Module: c
-Uniq: 124725464
-Index: 9
-Address: 0x00000001040cb7a8
-Refc: 2
-=fun
-Module: raw_file_io
-Uniq: 101053602
-Index: 2
-Address: 0x00000001040d0480
-Refc: 2
-=fun
-Module: 'aoc2023@@main'
-Uniq: 70697990
-Index: 0
-Address: 0x00000001040ea8a8
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 50
-Address: 0x0000000103e75dd0
-Refc: 2
-=fun
-Module: prim_socket
-Uniq: 51104894
-Index: 18
-Address: 0x0000000103dccb70
-Refc: 1
-=fun
-Module: global_group
-Uniq: 133931896
-Index: 9
-Address: 0x000000010404301c
-Refc: 1
-=fun
-Module: unicode
-Uniq: 54664399
-Index: 10
-Address: 0x0000000103fb29c8
-Refc: 2
-=fun
-Module: prim_zip
-Uniq: 66112146
-Index: 4
-Address: 0x0000000103dd5b84
-Refc: 1
-=fun
-Module: rand
-Uniq: 65977474
-Index: 3
-Address: 0x000000010402a9d8
-Refc: 2
-=fun
-Module: global
-Uniq: 100333677
-Index: 31
-Address: 0x0000000104009e40
-Refc: 1
-=fun
-Module: file
-Uniq: 1459081
-Index: 0
-Address: 0x0000000103e1963c
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 10
-Address: 0x000000010421cbb8
-Refc: 1
-=fun
-Module: 'gleam@function'
-Uniq: 127819290
-Index: 4
-Address: 0x0000000104160fb0
-Refc: 1
-=fun
-Module: gen_event
-Uniq: 37613186
-Index: 0
-Address: 0x0000000103edc348
-Refc: 2
-=fun
-Module: erl_features
-Uniq: 44278689
-Index: 2
-Address: 0x0000000103fb9ff8
-Refc: 2
-=fun
-Module: init
-Uniq: 72673429
-Index: 7
-Address: 0x0000000103d943f8
-Refc: 1
-=fun
-Module: inet_parse
-Uniq: 131529883
-Index: 1
-Address: 0x0000000103fef0d8
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 92
-Address: 0x0000000103e71a78
-Refc: 2
-=fun
-Module: file_io_server
-Uniq: 82162284
-Index: 1
-Address: 0x0000000103e92898
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 36
-Address: 0x0000000103eb0500
-Refc: 1
-=fun
-Module: showtime
-Uniq: 22478307
-Index: 0
-Address: 0x000000010413fce0
-Refc: 2
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 44
-Address: 0x000000010421cae0
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 67
-Address: 0x0000000103eaec10
-Refc: 2
-=fun
-Module: rpc
-Uniq: 70687560
-Index: 2
-Address: 0x0000000103ff60e0
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 7
-Address: 0x0000000103e54ed8
-Refc: 2
-=fun
-Module: 'day7@solve'
-Uniq: 118915376
-Index: 4
-Address: 0x0000000104224220
-Refc: 1
-=fun
-Module: code
-Uniq: 38778589
-Index: 8
-Address: 0x0000000103e22568
-Refc: 1
-=fun
-Module: net_kernel
-Uniq: 105284444
-Index: 1
-Address: 0x0000000104020fd8
-Refc: 2
-=fun
-Module: gen_server
-Uniq: 22931368
-Index: 0
-Address: 0x0000000103f1edb0
-Refc: 2
-=fun
-Module: inet_db
-Uniq: 46329474
-Index: 4
-Address: 0x0000000103fcec9c
-Refc: 1
-=fun
-Module: global
-Uniq: 100333677
-Index: 4
-Address: 0x000000010400c8e0
-Refc: 1
-=fun
-Module: gen_statem
-Uniq: 58250722
-Index: 0
-Address: 0x000000010405e830
-Refc: 2
-=fun
-Module: simplifile
-Uniq: 17272755
-Index: 3
-Address: 0x000000010420bac4
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 23
-Address: 0x0000000104219c6c
-Refc: 1
-=fun
-Module: application_controller
-Uniq: 5142319
-Index: 2
-Address: 0x0000000103ecc36c
-Refc: 1
-=fun
-Module: httpc_manager
-Uniq: 90163599
-Index: 0
-Address: 0x0000000104112eb0
-Refc: 2
-=fun
-Module: 'gleam@function'
-Uniq: 127819290
-Index: 17
-Address: 0x000000010416139c
-Refc: 1
-=fun
-Module: ets
-Uniq: 30908443
-Index: 2
-Address: 0x0000000103e3c300
-Refc: 1
-=fun
-Module: erl_init
-Uniq: 96508615
-Index: 0
-Address: 0x0000000103d860a8
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 26
-Address: 0x0000000103eb0fc0
-Refc: 1
-=fun
-Module: glint
-Uniq: 18128761
-Index: 10
-Address: 0x00000001041538c0
-Refc: 2
-=fun
-Module: showtime_ffi
-Uniq: 122038219
-Index: 0
-Address: 0x0000000104221598
-Refc: 1
-=fun
-Module: logger_server
-Uniq: 19349920
-Index: 5
-Address: 0x0000000103e87ab8
-Refc: 1
-=fun
-Module: 'gleam@list'
-Uniq: 42440854
-Index: 14
-Address: 0x0000000104146950
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 33
-Address: 0x0000000103e768d8
-Refc: 2
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 18
-Address: 0x000000010414bf00
-Refc: 2
-=fun
-Module: 'showtime@internal@reports@formatter'
-Uniq: 1772858
-Index: 7
-Address: 0x00000001042275e0
-Refc: 2
-=fun
-Module: rand
-Uniq: 65977474
-Index: 12
-Address: 0x000000010402b830
-Refc: 2
-=fun
-Module: inets_trace
-Uniq: 58819832
-Index: 0
-Address: 0x00000001041156c8
-Refc: 2
-=fun
-Module: peer
-Uniq: 34337805
-Index: 1
-Address: 0x0000000103f8cd98
-Refc: 1
-=fun
-Module: inet
-Uniq: 65562377
-Index: 9
-Address: 0x0000000103fe53f8
-Refc: 2
-=fun
-Module: 'gleam_community@colour'
-Uniq: 92289676
-Index: 15
-Address: 0x0000000104158f14
-Refc: 1
-=fun
-Module: ssl_config
-Uniq: 64895055
-Index: 1
-Address: 0x00000001041346a8
-Refc: 1
-=fun
-Module: erl_features
-Uniq: 44278689
-Index: 15
-Address: 0x0000000103fb92a8
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 67
-Address: 0x0000000103e74538
-Refc: 2
-=fun
-Module: logger_simple_h
-Uniq: 105730862
-Index: 4
-Address: 0x0000000103efca28
-Refc: 2
-=fun
-Module: supervisor
-Uniq: 63985753
-Index: 12
-Address: 0x0000000103e4c178
-Refc: 1
-=fun
-Module: erl_parse
-Uniq: 57550649
-Index: 8
-Address: 0x0000000103f594f8
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 55
-Address: 0x0000000103eafa10
-Refc: 2
-=fun
-Module: erl_prim_loader
-Uniq: 11574866
-Index: 7
-Address: 0x0000000103de1ee4
-Refc: 1
-=fun
-Module: c
-Uniq: 124725464
-Index: 1
-Address: 0x00000001040cbe68
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 10
-Address: 0x0000000103e7a4b8
-Refc: 2
-=fun
-Module: httpc
-Uniq: 36342138
-Index: 1
-Address: 0x000000010410a4b0
-Refc: 2
-=fun
-Module: httpc_cookie
-Uniq: 22295768
-Index: 0
-Address: 0x000000010411a790
-Refc: 1
-=fun
-Module: prim_socket
-Uniq: 51104894
-Index: 10
-Address: 0x0000000103dcd230
-Refc: 1
-=fun
-Module: global_group
-Uniq: 133931896
-Index: 1
-Address: 0x0000000104043b68
-Refc: 2
-=fun
-Module: unicode
-Uniq: 54664399
-Index: 2
-Address: 0x0000000103fb3be0
-Refc: 2
-=fun
-Module: rand
-Uniq: 65977474
-Index: 27
-Address: 0x000000010402e088
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 109
-Address: 0x0000000103e77eb8
-Refc: 2
-=fun
-Module: inet_db
-Uniq: 46329474
-Index: 9
-Address: 0x0000000103fcdf74
-Refc: 1
-=fun
-Module: global
-Uniq: 100333677
-Index: 23
-Address: 0x000000010400a8f0
-Refc: 2
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 2
-Address: 0x000000010421d758
-Refc: 1
-=fun
-Module: ets
-Uniq: 30908443
-Index: 17
-Address: 0x0000000103e3bd88
-Refc: 1
-=fun
-Module: application_controller
-Uniq: 5142319
-Index: 23
-Address: 0x0000000103eca998
-Refc: 3
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 21
-Address: 0x0000000103eb1560
-Refc: 2
-=fun
-Module: 'gleam@result'
-Uniq: 44749367
-Index: 2
-Address: 0x000000010415f9b8
-Refc: 2
-=fun
-Module: 'gleam@list'
-Uniq: 42440854
-Index: 3
-Address: 0x00000001041471d0
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 84
-Address: 0x0000000103e723f0
-Refc: 2
-=fun
-Module: user_drv
-Uniq: 115201613
-Index: 3
-Address: 0x00000001040592e4
-Refc: 1
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 1
-Address: 0x000000010414cb60
-Refc: 2
-=fun
-Module: code_server
-Uniq: 111287289
-Index: 15
-Address: 0x0000000103ef1c90
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 44
-Address: 0x0000000103eb1528
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 36
-Address: 0x000000010421b7b8
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 31
-Address: 0x0000000103e76b60
-Refc: 1
-=fun
-Module: unicode
-Uniq: 54664399
-Index: 23
-Address: 0x0000000103fb5138
-Refc: 2
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 35
-Address: 0x000000010414b970
-Refc: 1
-=fun
-Module: erl_scan
-Uniq: 115441844
-Index: 7
-Address: 0x00000001040d56d0
-Refc: 2
-=fun
-Module: ets
-Uniq: 30908443
-Index: 10
-Address: 0x0000000103e3bde4
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 2
-Address: 0x0000000103eb2b58
-Refc: 1
-=fun
-Module: glint
-Uniq: 18128761
-Index: 2
-Address: 0x0000000104153bb8
-Refc: 2
-=fun
-Module: 'gleam@otp@actor'
-Uniq: 90500110
-Index: 2
-Address: 0x00000001041f9998
-Refc: 2
-=fun
-Module: raw_file_io
-Uniq: 101053602
-Index: 5
-Address: 0x00000001040d05d8
-Refc: 2
-=fun
-Module: 'glint@flag@constraint'
-Uniq: 83988546
-Index: 2
-Address: 0x000000010414e0bc
-Refc: 1
-=fun
-Module: maps
-Uniq: 48010870
-Index: 3
-Address: 0x0000000104036d10
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 57
-Address: 0x0000000103e75a64
-Refc: 1
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 26
-Address: 0x000000010414b78c
-Refc: 1
-=fun
-Module: rand
-Uniq: 65977474
-Index: 4
-Address: 0x0000000104029ad8
-Refc: 2
-=fun
-Module: global
-Uniq: 100333677
-Index: 34
-Address: 0x0000000104009cd8
-Refc: 2
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 49
-Address: 0x000000010421d33c
-Refc: 1
-=fun
-Module: 'gleam@function'
-Uniq: 127819290
-Index: 11
-Address: 0x0000000104160e30
-Refc: 1
-=fun
-Module: erpc
-Uniq: 95647987
-Index: 1
-Address: 0x000000010404df68
-Refc: 2
-=fun
-Module: 'gleam_community@colour'
-Uniq: 92289676
-Index: 7
-Address: 0x0000000104158980
-Refc: 1
-=fun
-Module: gen_event
-Uniq: 37613186
-Index: 5
-Address: 0x0000000103ee1788
-Refc: 2
-=fun
-Module: 'gleam@erlang@process'
-Uniq: 28255578
-Index: 6
-Address: 0x00000001041fc2f0
-Refc: 1
-=fun
-Module: erl_features
-Uniq: 44278689
-Index: 7
-Address: 0x0000000103fb6db8
-Refc: 2
-=fun
-Module: init
-Uniq: 72673429
-Index: 12
-Address: 0x0000000103d93630
-Refc: 1
-=fun
-Module: 'gleam@list'
-Uniq: 42440854
-Index: 16
-Address: 0x0000000104146e7c
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 91
-Address: 0x0000000103e71be8
-Refc: 2
-=fun
-Module: supervisor
-Uniq: 63985753
-Index: 4
-Address: 0x0000000103e4cb28
-Refc: 2
-=fun
-Module: erl_parse
-Uniq: 57550649
-Index: 0
-Address: 0x0000000103f5a090
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 63
-Address: 0x0000000103eaf504
-Refc: 1
-=fun
-Module: ssl_pkix_db
-Uniq: 51522903
-Index: 2
-Address: 0x000000010412a870
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 2
-Address: 0x0000000103e7c1f8
-Refc: 1
-=fun
-Module: httpc
-Uniq: 36342138
-Index: 9
-Address: 0x0000000104109cb8
-Refc: 2
-=fun
-Module: prim_socket
-Uniq: 51104894
-Index: 2
-Address: 0x0000000103dcd680
-Refc: 1
-=fun
-Module: code
-Uniq: 38778589
-Index: 3
-Address: 0x0000000103e22c68
-Refc: 2
-=fun
-Module: rand
-Uniq: 65977474
-Index: 19
-Address: 0x000000010402bf98
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 101
-Address: 0x0000000103e70dac
-Refc: 1
-=fun
-Module: inet_db
-Uniq: 46329474
-Index: 1
-Address: 0x0000000103fc5178
-Refc: 2
-=fun
-Module: global
-Uniq: 100333677
-Index: 15
-Address: 0x000000010400babc
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 26
-Address: 0x0000000104218d3c
-Refc: 1
-=fun
-Module: simplifile
-Uniq: 17272755
-Index: 6
-Address: 0x000000010420b210
-Refc: 2
-=fun
-Module: erl_scan
-Uniq: 115441844
-Index: 20
-Address: 0x00000001040dd5c0
-Refc: 2
-=fun
-Module: 'gleam@function'
-Uniq: 127819290
-Index: 20
-Address: 0x0000000104161634
-Refc: 1
-=fun
-Module: application_controller
-Uniq: 5142319
-Index: 15
-Address: 0x0000000103ecb4a8
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 29
-Address: 0x0000000103eb0bc8
-Refc: 1
-=fun
-Module: 'gleam@list'
-Uniq: 42440854
-Index: 11
-Address: 0x0000000104146b10
-Refc: 1
-=fun
-Module: beam_lib
-Uniq: 45141944
-Index: 0
-Address: 0x0000000103f9a288
-Refc: 2
-=fun
-Module: logger_server
-Uniq: 19349920
-Index: 2
-Address: 0x0000000103e87e28
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 44
-Address: 0x0000000103e5ecd8
-Refc: 2
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 9
-Address: 0x000000010414c2e0
-Refc: 1
-=fun
-Module: code_server
-Uniq: 111287289
-Index: 7
-Address: 0x0000000103ef2cd0
-Refc: 1
-=fun
-Module: logger
-Uniq: 1449854
-Index: 1
-Address: 0x0000000103ed5f00
-Refc: 2
-=fun
-Module: 'showtime@internal@reports@formatter'
-Uniq: 1772858
-Index: 2
-Address: 0x0000000104227ad0
-Refc: 2
-=fun
-Module: prim_inet
-Uniq: 37477703
-Index: 0
-Address: 0x0000000103dae580
-Refc: 1
-=fun
-Module: 'showtime@internal@erlang@discover'
-Uniq: 110023186
-Index: 0
-Address: 0x0000000104209538
-Refc: 2
-=fun
-Module: inet
-Uniq: 65562377
-Index: 2
-Address: 0x0000000103fe56d0
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 23
-Address: 0x0000000103e77810
-Refc: 2
-=fun
-Module: io_lib
-Uniq: 6600873
-Index: 0
-Address: 0x000000010409b660
-Refc: 2
-=fun
-Module: 'gleam_community@colour'
-Uniq: 92289676
-Index: 18
-Address: 0x0000000104159368
-Refc: 1
-=fun
-Module: ssl_config
-Uniq: 64895055
-Index: 4
-Address: 0x0000000104133f60
-Refc: 2
-=fun
-Module: 'gleam@erlang@process'
-Uniq: 28255578
-Index: 11
-Address: 0x00000001041fbc98
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 78
-Address: 0x0000000103e728a0
-Refc: 2
-=fun
-Module: epp
-Uniq: 124355082
-Index: 5
-Address: 0x00000001040fc2c0
-Refc: 1
-=fun
-Module: erl_parse
-Uniq: 57550649
-Index: 13
-Address: 0x0000000103f58ee8
-Refc: 2
-=fun
-Module: erl_scan
-Uniq: 115441844
-Index: 15
-Address: 0x00000001040dbbb0
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 10
-Address: 0x0000000103eb2000
-Refc: 1
-=fun
-Module: httpc
-Uniq: 36342138
-Index: 6
-Address: 0x0000000104109ee0
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 49
-Address: 0x0000000103e75ed8
-Refc: 1
-=fun
-Module: prim_socket
-Uniq: 51104894
-Index: 15
-Address: 0x0000000103dccfd0
-Refc: 1
-=fun
-Module: rand
-Uniq: 65977474
-Index: 28
-Address: 0x00000001040304f0
-Refc: 2
-=fun
-Module: unicode
-Uniq: 54664399
-Index: 13
-Address: 0x0000000103fb4bd0
-Refc: 2
-=fun
-Module: prim_zip
-Uniq: 66112146
-Index: 1
-Address: 0x0000000103dd5be4
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 104
-Address: 0x0000000103e70bf4
-Refc: 1
-=fun
-Module: global
-Uniq: 100333677
-Index: 26
-Address: 0x000000010400a490
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 9
-Address: 0x000000010421cd80
-Refc: 2
-=fun
-Module: 'gleam@function'
-Uniq: 127819290
-Index: 3
-Address: 0x0000000104161300
-Refc: 1
-=fun
-Module: init
-Uniq: 72673429
-Index: 4
-Address: 0x0000000103d944c8
-Refc: 1
-=fun
-Module: inet_parse
-Uniq: 131529883
-Index: 4
-Address: 0x0000000103feeba8
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 83
-Address: 0x0000000103e724d0
-Refc: 1
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 4
-Address: 0x000000010414ca0c
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 39
-Address: 0x0000000103eb0314
-Refc: 1
-=fun
-Module: showtime
-Uniq: 22478307
-Index: 3
-Address: 0x000000010413f9dc
-Refc: 1
-=fun
-Module: ssl_manager
-Uniq: 40265571
-Index: 0
-Address: 0x000000010412e528
-Refc: 2
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 43
-Address: 0x000000010421ca70
-Refc: 1
-=fun
-Module: sys
-Uniq: 62925399
-Index: 0
-Address: 0x0000000104205128
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 26
-Address: 0x0000000103e774f8
-Refc: 1
-=fun
-Module: rpc
-Uniq: 70687560
-Index: 5
-Address: 0x0000000103ff5d60
-Refc: 1
-=fun
-Module: inet_config
-Uniq: 64624012
-Index: 0
-Address: 0x0000000103fd3dd0
-Refc: 1
-=fun
-Module: 'day7@solve'
-Uniq: 118915376
-Index: 1
-Address: 0x0000000104223388
-Refc: 2
-=fun
-Module: unicode
-Uniq: 54664399
-Index: 18
-Address: 0x0000000103fb4d58
-Refc: 2
-=fun
-Module: net_kernel
-Uniq: 105284444
-Index: 6
-Address: 0x0000000104020cc8
-Refc: 1
-=fun
-Module: global
-Uniq: 100333677
-Index: 7
-Address: 0x000000010400c340
-Refc: 2
-=fun
-Module: epp
-Uniq: 124355082
-Index: 8
-Address: 0x00000001040fbef4
-Refc: 1
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 38
-Address: 0x000000010414c3f8
-Refc: 2
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 18
-Address: 0x000000010421acac
-Refc: 1
-=fun
-Module: application_controller
-Uniq: 5142319
-Index: 7
-Address: 0x0000000103ecbfe0
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 5
-Address: 0x0000000103eb2690
-Refc: 1
-=fun
-Module: glint
-Uniq: 18128761
-Index: 9
-Address: 0x0000000104153920
-Refc: 2
-=fun
-Module: ets
-Uniq: 30908443
-Index: 1
-Address: 0x0000000103e3c6d0
-Refc: 1
-=fun
-Module: logger_server
-Uniq: 19349920
-Index: 10
-Address: 0x0000000103e8764c
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 36
-Address: 0x0000000103e5b808
-Refc: 2
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 17
-Address: 0x000000010414bf80
-Refc: 2
-=fun
-Module: 'showtime@internal@reports@formatter'
-Uniq: 1772858
-Index: 10
-Address: 0x0000000104226a30
-Refc: 2
-=fun
-Module: rand
-Uniq: 65977474
-Index: 9
-Address: 0x0000000104029660
-Refc: 2
-=fun
-Module: peer
-Uniq: 34337805
-Index: 4
-Address: 0x0000000103f8b3e0
-Refc: 2
-=fun
-Module: global
-Uniq: 100333677
-Index: 37
-Address: 0x000000010400be2c
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 52
-Address: 0x000000010421d538
-Refc: 2
-=fun
-Module: 'showtime@internal@erlang@discover'
-Uniq: 110023186
-Index: 8
-Address: 0x00000001042088c8
-Refc: 2
-=fun
-Module: inet
-Uniq: 65562377
-Index: 10
-Address: 0x0000000103fe53a4
-Refc: 1
-=fun
-Module: 'gleam@function'
-Uniq: 127819290
-Index: 14
-Address: 0x00000001041610ec
-Refc: 1
-=fun
-Module: 'gleam_community@colour'
-Uniq: 92289676
-Index: 10
-Address: 0x0000000104158a58
-Refc: 1
-=fun
-Module: 'gleam@erlang@process'
-Uniq: 28255578
-Index: 3
-Address: 0x00000001041fc574
-Refc: 1
-=fun
-Module: erl_features
-Uniq: 44278689
-Index: 8
-Address: 0x0000000103fb9db8
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 70
-Address: 0x0000000103e74448
-Refc: 2
-=fun
-Module: logger_simple_h
-Uniq: 105730862
-Index: 3
-Address: 0x0000000103efcb50
-Refc: 2
-=fun
-Module: supervisor
-Uniq: 63985753
-Index: 9
-Address: 0x0000000103e4c41c
-Refc: 2
-=fun
-Module: erl_parse
-Uniq: 57550649
-Index: 5
-Address: 0x0000000103f597f0
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 50
-Address: 0x0000000103eafd50
-Refc: 1
-=fun
-Module: gleam_stdlib
-Uniq: 79074729
-Index: 1
-Address: 0x000000010416a8b4
-Refc: 1
-=fun
-Module: erl_prim_loader
-Uniq: 11574866
-Index: 2
-Address: 0x0000000103dd9180
-Refc: 1
-=fun
-Module: c
-Uniq: 124725464
-Index: 4
-Address: 0x00000001040c5bf8
-Refc: 2
-=fun
-Module: file_server
-Uniq: 30066188
-Index: 0
-Address: 0x0000000103e07538
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 9
-Address: 0x0000000103e7a9d0
-Refc: 2
-=fun
-Module: prim_socket
-Uniq: 51104894
-Index: 7
-Address: 0x0000000103dcd4b0
-Refc: 1
-=fun
-Module: global_group
-Uniq: 133931896
-Index: 4
-Address: 0x00000001040431a4
-Refc: 1
-=fun
-Module: rand
-Uniq: 65977474
-Index: 20
-Address: 0x000000010402c790
-Refc: 2
-=fun
-Module: unicode
-Uniq: 54664399
-Index: 5
-Address: 0x0000000103fb3798
-Refc: 2
-=fun
-Module: net_kernel
-Uniq: 105284444
-Index: 11
-Address: 0x00000001040209b0
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 96
-Address: 0x0000000103e71560
-Refc: 2
-=fun
-Module: global
-Uniq: 100333677
-Index: 18
-Address: 0x000000010400b33c
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 1
-Address: 0x000000010421d950
-Refc: 1
-=fun
-Module: simplifile
-Uniq: 17272755
-Index: 9
-Address: 0x000000010420c390
-Refc: 1
-=fun
-Module: application_controller
-Uniq: 5142319
-Index: 20
-Address: 0x0000000103ecb100
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 16
-Address: 0x0000000103eb19fc
-Refc: 1
-=fun
-Module: erl_scan
-Uniq: 115441844
-Index: 17
-Address: 0x00000001040dcbb8
-Refc: 2
-=fun
-Module: 'gleam@list'
-Uniq: 42440854
-Index: 0
-Address: 0x00000001041474f8
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 43
-Address: 0x0000000103e7622c
-Refc: 1
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 12
-Address: 0x000000010414c3c8
-Refc: 1
-=fun
-Module: code_server
-Uniq: 111287289
-Index: 12
-Address: 0x0000000103ef26a8
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 47
-Address: 0x0000000103eafea0
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 35
-Address: 0x000000010421b220
-Refc: 1
-=fun
-Module: 'showtime@internal@erlang@discover'
-Uniq: 110023186
-Index: 5
-Address: 0x0000000104208d28
-Refc: 2
-=fun
-Module: inet
-Uniq: 65562377
-Index: 7
-Address: 0x0000000103fe54b0
-Refc: 1
-=fun
-Module: error_logger
-Uniq: 17945318
-Index: 1
-Address: 0x0000000103ef8a30
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 18
-Address: 0x0000000103e78da8
-Refc: 2
-=fun
-Module: 'gleam_community@colour'
-Uniq: 92289676
-Index: 21
-Address: 0x0000000104159a88
-Refc: 1
-=fun
-Module: epp
-Uniq: 124355082
-Index: 0
-Address: 0x00000001040fcb94
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 13
-Address: 0x0000000103eb1cc0
-Refc: 1
-=fun
-Module: erl_scan
-Uniq: 115441844
-Index: 4
-Address: 0x00000001040d3908
-Refc: 2
-=fun
-Module: glint
-Uniq: 18128761
-Index: 1
-Address: 0x0000000104153c40
-Refc: 2
-=fun
-Module: snag
-Uniq: 96707762
-Index: 0
-Address: 0x00000001041f6298
-Refc: 2
-=fun
-Module: ets
-Uniq: 30908443
-Index: 9
-Address: 0x0000000103e3be68
-Refc: 1
-=fun
-Module: logger_h_common
-Uniq: 73693308
-Index: 1
-Address: 0x00000001040c26f0
-Refc: 1
-=fun
-Module: raw_file_io
-Uniq: 101053602
-Index: 0
-Address: 0x00000001040d0390
-Refc: 2
-=fun
-Module: 'gleam@otp@actor'
-Uniq: 90500110
-Index: 1
-Address: 0x00000001041f9a18
-Refc: 2
-=fun
-Module: zlib
-Uniq: 85031762
-Index: 1
-Address: 0x0000000103dba870
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 60
-Address: 0x0000000103e75970
-Refc: 1
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 25
-Address: 0x000000010414b8c4
-Refc: 1
-=fun
-Module: global_group
-Uniq: 133931896
-Index: 11
-Address: 0x0000000104042be0
-Refc: 1
-=fun
-Module: rand
-Uniq: 65977474
-Index: 1
-Address: 0x000000010402a178
-Refc: 2
-=fun
-Module: unicode
-Uniq: 54664399
-Index: 8
-Address: 0x0000000103fb2560
-Refc: 2
-=fun
-Module: global
-Uniq: 100333677
-Index: 29
-Address: 0x0000000104009ed8
-Refc: 2
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 12
-Address: 0x000000010421c4cc
-Refc: 1
-=fun
-Module: 'gleam@function'
-Uniq: 127819290
-Index: 6
-Address: 0x0000000104160b08
-Refc: 1
-=fun
-Module: 'gleam_community@colour'
-Uniq: 92289676
-Index: 2
-Address: 0x0000000104159450
-Refc: 2
-=fun
-Module: gen_event
-Uniq: 37613186
-Index: 2
-Address: 0x0000000103ee2098
-Refc: 1
-=fun
-Module: init
-Uniq: 72673429
-Index: 9
-Address: 0x0000000103d936e0
-Refc: 1
-=fun
-Module: erl_features
-Uniq: 44278689
-Index: 0
-Address: 0x0000000103fba268
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 94
-Address: 0x0000000103e71898
-Refc: 2
-=fun
-Module: supervisor
-Uniq: 63985753
-Index: 1
-Address: 0x0000000103e4cdc0
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 58
-Address: 0x0000000103eaf914
-Refc: 1
-=fun
-Module: erl_prim_loader
-Uniq: 11574866
-Index: 10
-Address: 0x0000000103de19a8
-Refc: 1
-=fun
-Module: ssl_pkix_db
-Uniq: 51522903
-Index: 1
-Address: 0x000000010412aae4
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 46
-Address: 0x000000010421cd28
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 65
-Address: 0x0000000103eaed88
-Refc: 2
-=fun
-Module: rpc
-Uniq: 70687560
-Index: 0
-Address: 0x0000000103ff63cc
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 1
-Address: 0x0000000103e7c2c4
-Refc: 1
-=fun
-Module: timer
-Uniq: 46706930
-Index: 0
-Address: 0x00000001040ad688
-Refc: 2
-=fun
-Module: code
-Uniq: 38778589
-Index: 6
-Address: 0x0000000103e22a3c
-Refc: 1
-=fun
-Module: net_kernel
-Uniq: 105284444
-Index: 3
-Address: 0x0000000104020ea0
-Refc: 1
-=fun
-Module: inet_db
-Uniq: 46329474
-Index: 6
-Address: 0x0000000103fce7a8
-Refc: 2
-=fun
-Module: global
-Uniq: 100333677
-Index: 10
-Address: 0x000000010400c24c
-Refc: 1
-=fun
-Module: simplifile
-Uniq: 17272755
-Index: 1
-Address: 0x000000010420bce4
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 25
-Address: 0x00000001042192f8
-Refc: 1
-=fun
-Module: application_controller
-Uniq: 5142319
-Index: 12
-Address: 0x0000000103ecb760
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 24
-Address: 0x0000000103eb12a8
-Refc: 1
-=fun
-Module: glint
-Uniq: 18128761
-Index: 12
-Address: 0x0000000104153800
-Refc: 2
-=fun
-Module: 'gleam@function'
-Uniq: 127819290
-Index: 19
-Address: 0x00000001041614f8
-Refc: 1
-=fun
-Module: logger_server
-Uniq: 19349920
-Index: 7
-Address: 0x0000000103e87988
-Refc: 2
-=fun
-Module: 'gleam@list'
-Uniq: 42440854
-Index: 8
-Address: 0x0000000104146c28
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 35
-Address: 0x0000000103e76810
-Refc: 1
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 20
-Address: 0x000000010414bde8
-Refc: 2
-=fun
-Module: code_server
-Uniq: 111287289
-Index: 4
-Address: 0x0000000103ef3178
-Refc: 2
-=fun
-Module: 'showtime@internal@reports@formatter'
-Uniq: 1772858
-Index: 5
-Address: 0x0000000104227878
-Refc: 2
-=fun
-Module: lists
-Uniq: 104401092
-Index: 0
-Address: 0x0000000103f04578
-Refc: 2
-=fun
-Module: 'gleam_community@colour'
-Uniq: 92289676
-Index: 13
-Address: 0x0000000104158d90
-Refc: 1
-=fun
-Module: erl_features
-Uniq: 44278689
-Index: 13
-Address: 0x0000000103fb9958
-Refc: 1
-=fun
-Module: proc_lib
-Uniq: 54621022
-Index: 1
-Address: 0x0000000103e9c360
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 77
-Address: 0x0000000103e72ef0
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 53
-Address: 0x0000000103eafaa0
-Refc: 1
-=fun
-Module: erl_scan
-Uniq: 115441844
-Index: 12
-Address: 0x00000001040d6f90
-Refc: 2
-=fun
-Module: erl_prim_loader
-Uniq: 11574866
-Index: 5
-Address: 0x0000000103de24b4
-Refc: 1
-=fun
-Module: logger_std_h
-Uniq: 4673888
-Index: 0
-Address: 0x00000001040bcb10
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 52
-Address: 0x0000000103e75c80
-Refc: 1
-=fun
-Module: httpc
-Uniq: 36342138
-Index: 3
-Address: 0x000000010410a278
-Refc: 2
-=fun
-Module: prim_socket
-Uniq: 51104894
-Index: 12
-Address: 0x0000000103dcd0b4
-Refc: 1
-=fun
-Module: global_group
-Uniq: 133931896
-Index: 3
-Address: 0x0000000104043968
-Refc: 2
-=fun
-Module: rand
-Uniq: 65977474
-Index: 25
-Address: 0x000000010402dfb0
-Refc: 2
-=fun
-Module: unicode
-Uniq: 54664399
-Index: 0
-Address: 0x0000000103fb5938
-Refc: 1
-=fun
-Module: prim_zip
-Uniq: 66112146
-Index: 2
-Address: 0x0000000103dd3288
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 111
-Address: 0x0000000103e7b8d8
-Refc: 2
-=fun
-Module: inet_db
-Uniq: 46329474
-Index: 11
-Address: 0x0000000103fceb98
-Refc: 2
-=fun
-Module: global
-Uniq: 100333677
-Index: 21
-Address: 0x000000010400ad48
-Refc: 2
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 4
-Address: 0x000000010421d590
-Refc: 2
-=fun
-Module: proplists
-Uniq: 31251554
-Index: 0
-Address: 0x0000000103f81c80
-Refc: 2
-=fun
-Module: application_controller
-Uniq: 5142319
-Index: 17
-Address: 0x0000000103ecb320
-Refc: 2
-=fun
-Module: 'gleam@result'
-Uniq: 44749367
-Index: 0
-Address: 0x000000010415fa58
-Refc: 2
-=fun
-Module: init
-Uniq: 72673429
-Index: 1
-Address: 0x0000000103d87dd0
-Refc: 1
-=fun
-Module: inet_parse
-Uniq: 131529883
-Index: 7
-Address: 0x0000000103fee9a0
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 86
-Address: 0x0000000103e72310
-Refc: 1
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 3
-Address: 0x000000010414ca40
-Refc: 2
-=fun
-Module: code_server
-Uniq: 111287289
-Index: 9
-Address: 0x0000000103ef2b3c
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 34
-Address: 0x0000000103eb06a0
-Refc: 1
-=fun
-Module: gleam_erlang_ffi
-Uniq: 130811285
-Index: 1
-Address: 0x00000001042004e0
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 38
-Address: 0x000000010421c07c
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 25
-Address: 0x0000000103e77528
-Refc: 2
-=fun
-Module: ssl_pem_cache
-Uniq: 58460895
-Index: 0
-Address: 0x0000000104126cb0
-Refc: 2
-=fun
-Module: 'day7@solve'
-Uniq: 118915376
-Index: 2
-Address: 0x0000000104223980
-Refc: 2
-=fun
-Module: unicode
-Uniq: 54664399
-Index: 21
-Address: 0x0000000103fb4e48
-Refc: 2
-=fun
-Module: global
-Uniq: 100333677
-Index: 2
-Address: 0x000000010400ca50
-Refc: 1
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 37
-Address: 0x000000010414c310
-Refc: 2
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 17
-Address: 0x000000010421b310
-Refc: 1
-=fun
-Module: application_controller
-Uniq: 5142319
-Index: 4
-Address: 0x0000000103ecc138
-Refc: 2
-=fun
-Module: logger_formatter
-Uniq: 60349323
-Index: 0
-Address: 0x00000001040b6520
-Refc: 2
-=fun
-Module: erl_scan
-Uniq: 115441844
-Index: 1
-Address: 0x00000001040d1f00
-Refc: 2
-=fun
-Module: glint
-Uniq: 18128761
-Index: 4
-Address: 0x0000000104152148
-Refc: 2
-=fun
-Module: ets
-Uniq: 30908443
-Index: 4
-Address: 0x0000000103e3bf88
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 0
-Address: 0x0000000103eb2ec8
-Refc: 1
-=fun
-Module: 'gleam@set'
-Uniq: 15699406
-Index: 3
-Address: 0x000000010414f218
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 59
-Address: 0x0000000103e60180
-Refc: 2
-=fun
-Module: maps
-Uniq: 48010870
-Index: 1
-Address: 0x0000000104032ae8
-Refc: 2
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 28
-Address: 0x000000010414aa60
-Refc: 2
-=fun
-Module: 'showtime@internal@reports@formatter'
-Uniq: 1772858
-Index: 13
-Address: 0x00000001042277f0
-Refc: 1
-=fun
-Module: rand
-Uniq: 65977474
-Index: 10
-Address: 0x00000001040290b8
-Refc: 2
-=fun
-Module: global
-Uniq: 100333677
-Index: 32
-Address: 0x0000000104009d98
-Refc: 2
-=fun
-Module: 'showtime@internal@erlang@event_handler'
-Uniq: 124289607
-Index: 3
-Address: 0x00000001041f7648
-Refc: 2
-=fun
-Module: edlin
-Uniq: 47380248
-Index: 0
-Address: 0x0000000104092d50
-Refc: 2
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 51
-Address: 0x000000010421d3a8
-Refc: 2
-=fun
-Module: 'gleam@function'
-Uniq: 127819290
-Index: 13
-Address: 0x000000010416104c
-Refc: 1
-=fun
-Module: 'gleam_community@colour'
-Uniq: 92289676
-Index: 5
-Address: 0x0000000104158fe4
-Refc: 1
-=fun
-Module: gen_event
-Uniq: 37613186
-Index: 7
-Address: 0x0000000103ee1450
-Refc: 1
-=fun
-Module: 'gleam@erlang@process'
-Uniq: 28255578
-Index: 4
-Address: 0x00000001041fc4c8
-Refc: 2
-=fun
-Module: erl_features
-Uniq: 44278689
-Index: 5
-Address: 0x0000000103fb7ea0
-Refc: 2
-=fun
-Module: inet_parse
-Uniq: 131529883
-Index: 10
-Address: 0x0000000103fee650
-Refc: 2
-=fun
-Module: 'day7@day7_test'
-Uniq: 115477595
-Index: 0
-Address: 0x000000010421f2e0
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 69
-Address: 0x0000000103e74238
-Refc: 1
-=fun
-Module: gen
-Uniq: 105431365
-Index: 1
-Address: 0x0000000103e0fec0
-Refc: 1
-=fun
-Module: supervisor
-Uniq: 63985753
-Index: 6
-Address: 0x0000000103e4c92c
-Refc: 1
-=fun
-Module: erl_parse
-Uniq: 57550649
-Index: 6
-Address: 0x0000000103f596b8
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 61
-Address: 0x0000000103eaf688
-Refc: 1
-=fun
-Module: gleam_stdlib
-Uniq: 79074729
-Index: 4
-Address: 0x000000010416a708
-Refc: 2
-=fun
-Module: ssl_pkix_db
-Uniq: 51522903
-Index: 4
-Address: 0x000000010412a3d0
-Refc: 1
-=fun
-Module: c
-Uniq: 124725464
-Index: 7
-Address: 0x00000001040cb9c0
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 12
-Address: 0x0000000103e79d04
-Refc: 1
-=fun
-Module: httpc
-Uniq: 36342138
-Index: 11
-Address: 0x0000000104109ae0
-Refc: 2
-=fun
-Module: 'showtime@internal@erlang@module_handler'
-Uniq: 57223230
-Index: 1
-Address: 0x00000001042079e0
-Refc: 1
-=fun
-Module: prim_socket
-Uniq: 51104894
-Index: 4
-Address: 0x0000000103dcd5d0
-Refc: 1
-=fun
-Module: rand
-Uniq: 65977474
-Index: 17
-Address: 0x000000010402d8b8
-Refc: 2
-=fun
-Module: code
-Uniq: 38778589
-Index: 1
-Address: 0x0000000103e22f08
-Refc: 2
-=fun
-Module: net_kernel
-Uniq: 105284444
-Index: 8
-Address: 0x000000010401ec90
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 103
-Address: 0x0000000103e70c28
-Refc: 2
-=fun
-Module: inet_db
-Uniq: 46329474
-Index: 3
-Address: 0x0000000103fcbd60
-Refc: 2
-=fun
-Module: global
-Uniq: 100333677
-Index: 13
-Address: 0x000000010400bd68
-Refc: 2
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 28
-Address: 0x000000010421a77c
-Refc: 1
-=fun
-Module: simplifile
-Uniq: 17272755
-Index: 4
-Address: 0x000000010420bf18
-Refc: 1
-=fun
-Module: application_controller
-Uniq: 5142319
-Index: 9
-Address: 0x0000000103ecbab0
-Refc: 2
-=fun
-Module: erl_scan
-Uniq: 115441844
-Index: 22
-Address: 0x00000001040ddba0
-Refc: 2
-=fun
-Module: 'gleam@function'
-Uniq: 127819290
-Index: 22
-Address: 0x0000000104161834
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 19
-Address: 0x0000000103eb17a0
-Refc: 1
-=fun
-Module: erl_features
-Uniq: 44278689
-Index: 16
-Address: 0x0000000103fb9a90
-Refc: 1
-=fun
-Module: 'gleam@list'
-Uniq: 42440854
-Index: 5
-Address: 0x0000000104147070
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 46
-Address: 0x0000000103e76148
-Refc: 1
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 11
-Address: 0x000000010414c1f8
-Refc: 1
-=fun
-Module: code_server
-Uniq: 111287289
-Index: 1
-Address: 0x0000000103ef3cdc
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 42
-Address: 0x0000000103eb0180
-Refc: 1
-=fun
-Module: 'showtime@internal@reports@formatter'
-Uniq: 1772858
-Index: 0
-Address: 0x0000000104228478
-Refc: 1
-=fun
-Module: inet
-Uniq: 65562377
-Index: 0
-Address: 0x0000000103fe5770
-Refc: 2
-=fun
-Module: 'showtime@internal@erlang@discover'
-Uniq: 110023186
-Index: 6
-Address: 0x00000001042089a0
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 17
-Address: 0x0000000103e79568
-Refc: 1
-=fun
-Module: 'gleam_community@colour'
-Uniq: 92289676
-Index: 16
-Address: 0x00000001041590ac
-Refc: 1
-=fun
-Module: 'gleam@erlang@process'
-Uniq: 28255578
-Index: 9
-Address: 0x00000001041fbf24
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 72
-Address: 0x0000000103e74008
-Refc: 2
-=fun
-Module: epp
-Uniq: 124355082
-Index: 3
-Address: 0x00000001040fc6d8
-Refc: 2
-=fun
-Module: erl_scan
-Uniq: 115441844
-Index: 9
-Address: 0x00000001040d68d8
-Refc: 2
-=fun
-Module: ets
-Uniq: 30908443
-Index: 12
-Address: 0x0000000103e3b9c8
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 8
-Address: 0x0000000103eb2270
-Refc: 1
-=fun
-Module: 'gleam@otp@actor'
-Uniq: 90500110
-Index: 4
-Address: 0x00000001041f9900
-Refc: 1
-=fun
-Module: c
-Uniq: 124725464
-Index: 10
-Address: 0x00000001040cb5a0
-Refc: 2
-=fun
-Module: raw_file_io
-Uniq: 101053602
-Index: 3
-Address: 0x00000001040d078c
-Refc: 1
-=fun
-Module: 'glint@flag@constraint'
-Uniq: 83988546
-Index: 4
-Address: 0x000000010414e828
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 51
-Address: 0x0000000103e75da0
-Refc: 1
-=fun
-Module: prim_socket
-Uniq: 51104894
-Index: 17
-Address: 0x0000000103dccca4
-Refc: 1
-=fun
-Module: unicode
-Uniq: 54664399
-Index: 11
-Address: 0x0000000103fb20f8
-Refc: 2
-=fun
-Module: rand
-Uniq: 65977474
-Index: 2
-Address: 0x000000010402a688
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 106
-Address: 0x0000000103e71bb4
-Refc: 1
-=fun
-Module: global
-Uniq: 100333677
-Index: 24
-Address: 0x000000010400a70c
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 11
-Address: 0x000000010421c938
-Refc: 1
-=fun
-Module: 'gleam@function'
-Uniq: 127819290
-Index: 5
-Address: 0x0000000104160ba0
-Refc: 1
-=fun
-Module: init
-Uniq: 72673429
-Index: 6
-Address: 0x0000000103d94344
-Refc: 1
-=fun
-Module: inet_parse
-Uniq: 131529883
-Index: 2
-Address: 0x0000000103feef48
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 93
-Address: 0x0000000103e719a8
-Refc: 2
-=fun
-Module: file_io_server
-Uniq: 82162284
-Index: 0
-Address: 0x0000000103e92c3c
-Refc: 1
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 6
-Address: 0x000000010414c8a0
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 37
-Address: 0x0000000103eb044c
-Refc: 1
-=fun
-Module: showtime
-Uniq: 22478307
-Index: 1
-Address: 0x000000010413fc90
-Refc: 2
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 45
-Address: 0x000000010421ccac
-Refc: 1
-=fun
-Module: rpc
-Uniq: 70687560
-Index: 3
-Address: 0x0000000103ff5ec0
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 4
-Address: 0x0000000103e7bd08
-Refc: 2
-=fun
-Module: inet_config
-Uniq: 64624012
-Index: 2
-Address: 0x0000000103fd3bd8
-Refc: 2
-=fun
-Module: 'day7@solve'
-Uniq: 118915376
-Index: 7
-Address: 0x0000000104224294
-Refc: 1
-=fun
-Module: code
-Uniq: 38778589
-Index: 9
-Address: 0x0000000103e224e8
-Refc: 1
-=fun
-Module: unicode
-Uniq: 54664399
-Index: 16
-Address: 0x0000000103fb50c8
-Refc: 2
-=fun
-Module: net_kernel
-Uniq: 105284444
-Index: 0
-Address: 0x0000000104021170
-Refc: 2
-=fun
-Module: gen_server
-Uniq: 22931368
-Index: 1
-Address: 0x0000000103f22dc0
-Refc: 1
-=fun
-Module: global
-Uniq: 100333677
-Index: 5
-Address: 0x000000010400c698
-Refc: 2
-=fun
-Module: gen_statem
-Uniq: 58250722
-Index: 1
-Address: 0x0000000104068198
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 20
-Address: 0x000000010421a5b4
-Refc: 1
-=fun
-Module: ets
-Uniq: 30908443
-Index: 3
-Address: 0x0000000103e3c4b4
-Refc: 1
-=fun
-Module: erl_init
-Uniq: 96508615
-Index: 1
-Address: 0x0000000103d86030
-Refc: 1
-=fun
-Module: application_controller
-Uniq: 5142319
-Index: 1
-Address: 0x0000000103ecc578
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 27
-Address: 0x0000000103eb0e60
-Refc: 1
-=fun
-Module: glint
-Uniq: 18128761
-Index: 11
-Address: 0x0000000104153890
-Refc: 1
-=fun
-Module: 'gleam@set'
-Uniq: 15699406
-Index: 4
-Address: 0x000000010414f0e8
-Refc: 2
-=fun
-Module: showtime_ffi
-Uniq: 122038219
-Index: 3
-Address: 0x0000000104221048
-Refc: 2
-=fun
-Module: logger_server
-Uniq: 19349920
-Index: 4
-Address: 0x0000000103e87b6c
-Refc: 1
-=fun
-Module: 'gleam@list'
-Uniq: 42440854
-Index: 13
-Address: 0x00000001041469c0
-Refc: 2
-=fun
-Module: maps
-Uniq: 48010870
-Index: 4
-Address: 0x0000000104036c00
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 38
-Address: 0x0000000103e76410
-Refc: 1
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 19
-Address: 0x000000010414be68
-Refc: 2
-=fun
-Module: 'showtime@internal@reports@formatter'
-Uniq: 1772858
-Index: 8
-Address: 0x00000001042272b0
-Refc: 2
-=fun
-Module: rand
-Uniq: 65977474
-Index: 15
-Address: 0x000000010402d1b8
-Refc: 2
-=fun
-Module: peer
-Uniq: 34337805
-Index: 2
-Address: 0x0000000103f8d1bc
-Refc: 1
-=fun
-Module: inet
-Uniq: 65562377
-Index: 8
-Address: 0x0000000103fe5440
-Refc: 2
-=fun
-Module: 'gleam_community@colour'
-Uniq: 92289676
-Index: 8
-Address: 0x0000000104158898
-Refc: 2
-=fun
-Module: ssl_config
-Uniq: 64895055
-Index: 2
-Address: 0x00000001041342d0
-Refc: 2
-=fun
-Module: 'gleam@erlang@process'
-Uniq: 28255578
-Index: 1
-Address: 0x00000001041fc674
-Refc: 3
-=fun
-Module: proc_lib
-Uniq: 54621022
-Index: 2
-Address: 0x0000000103e9c318
-Refc: 1
-=fun
-Module: erl_features
-Uniq: 44278689
-Index: 14
-Address: 0x0000000103fb9744
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 64
-Address: 0x0000000103e7502c
-Refc: 1
-=fun
-Module: supervisor
-Uniq: 63985753
-Index: 11
-Address: 0x0000000103e4c1a8
-Refc: 2
-=fun
-Module: erl_parse
-Uniq: 57550649
-Index: 11
-Address: 0x0000000103f59038
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 48
-Address: 0x0000000103eafe0c
-Refc: 1
-=fun
-Module: erl_prim_loader
-Uniq: 11574866
-Index: 0
-Address: 0x0000000103de2638
-Refc: 1
-=fun
-Module: c
-Uniq: 124725464
-Index: 2
-Address: 0x00000001040cbd30
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 11
-Address: 0x0000000103e79e60
-Refc: 1
-=fun
-Module: httpc
-Uniq: 36342138
-Index: 0
-Address: 0x000000010410a6ac
-Refc: 1
-=fun
-Module: prim_socket
-Uniq: 51104894
-Index: 9
-Address: 0x0000000103dcd540
-Refc: 1
-=fun
-Module: global_group
-Uniq: 133931896
-Index: 6
-Address: 0x00000001040436c4
-Refc: 1
-=fun
-Module: unicode
-Uniq: 54664399
-Index: 3
-Address: 0x0000000103fb3328
-Refc: 2
-=fun
-Module: rand
-Uniq: 65977474
-Index: 26
-Address: 0x000000010402de38
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 98
-Address: 0x0000000103e711b8
-Refc: 2
-=fun
-Module: inet_db
-Uniq: 46329474
-Index: 8
-Address: 0x0000000103fce290
-Refc: 1
-=fun
-Module: global
-Uniq: 100333677
-Index: 16
-Address: 0x000000010400ba50
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 3
-Address: 0x0000000104217380
-Refc: 2
-=fun
-Module: application_controller
-Uniq: 5142319
-Index: 22
-Address: 0x0000000103ecae38
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 22
-Address: 0x0000000103eb0038
-Refc: 2
-=fun
-Module: erl_scan
-Uniq: 115441844
-Index: 19
-Address: 0x00000001040dd0d8
-Refc: 2
-=fun
-Module: 'gleam@list'
-Uniq: 42440854
-Index: 2
-Address: 0x00000001041415b0
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 85
-Address: 0x0000000103e723b0
-Refc: 1
-=fun
-Module: user_drv
-Uniq: 115201613
-Index: 0
-Address: 0x0000000104059448
-Refc: 2
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 14
-Address: 0x000000010414c140
-Refc: 2
-=fun
-Module: code_server
-Uniq: 111287289
-Index: 14
-Address: 0x0000000103ef2608
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 45
-Address: 0x0000000103eb14b8
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 37
-Address: 0x000000010421bc80
-Refc: 1
-=fun
-Module: inet
-Uniq: 65562377
-Index: 5
-Address: 0x0000000103fe55b0
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 28
-Address: 0x0000000103e773b4
-Refc: 1
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 32
-Address: 0x000000010414b0a0
-Refc: 2
-=fun
-Module: erl_scan
-Uniq: 115441844
-Index: 6
-Address: 0x00000001040d54e8
-Refc: 2
-=fun
-Module: ets
-Uniq: 30908443
-Index: 11
-Address: 0x0000000103e3bce8
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 3
-Address: 0x0000000103eb29a8
-Refc: 1
-=fun
-Module: glint
-Uniq: 18128761
-Index: 3
-Address: 0x0000000104153b80
-Refc: 1
-=fun
-Module: 'glint@flag@constraint'
-Uniq: 83988546
-Index: 1
-Address: 0x000000010414e3a0
-Refc: 1
-=fun
-Module: 'gleam@otp@actor'
-Uniq: 90500110
-Index: 3
-Address: 0x00000001041f9964
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 62
-Address: 0x0000000103e751d8
-Refc: 2
-=fun
-Module: group
-Uniq: 88293013
-Index: 1
-Address: 0x00000001040889e8
-Refc: 2
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 27
-Address: 0x000000010414a8d0
-Refc: 2
-=fun
-Module: rand
-Uniq: 65977474
-Index: 7
-Address: 0x0000000104029fb8
-Refc: 2
-=fun
-Module: global
-Uniq: 100333677
-Index: 35
-Address: 0x000000010400b0f4
-Refc: 1
-=fun
-Module: kernel_refc
-Uniq: 28224509
-Index: 0
-Address: 0x00000001040b0eb8
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 14
-Address: 0x000000010421c150
-Refc: 1
-=fun
-Module: filelib
-Uniq: 94480894
-Index: 0
-Address: 0x0000000104214c18
-Refc: 2
-=fun
-Module: 'gleam@function'
-Uniq: 127819290
-Index: 8
-Address: 0x0000000104160c3c
-Refc: 1
-=fun
-Module: erpc
-Uniq: 95647987
-Index: 0
-Address: 0x000000010404e068
-Refc: 2
-=fun
-Module: 'gleam_community@colour'
-Uniq: 92289676
-Index: 0
-Address: 0x0000000104159620
-Refc: 2
-=fun
-Module: gen_event
-Uniq: 37613186
-Index: 4
-Address: 0x0000000103ee1870
-Refc: 1
-=fun
-Module: init
-Uniq: 72673429
-Index: 11
-Address: 0x0000000103d9368c
-Refc: 1
-=fun
-Module: erl_features
-Uniq: 44278689
-Index: 6
-Address: 0x0000000103fb7f58
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 88
-Address: 0x0000000103e7205c
-Refc: 1
-=fun
-Module: supervisor
-Uniq: 63985753
-Index: 3
-Address: 0x0000000103e4cdf8
-Refc: 2
-=fun
-Module: erl_parse
-Uniq: 57550649
-Index: 3
-Address: 0x0000000103f599d0
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 56
-Address: 0x0000000103eaf9dc
-Refc: 1
-=fun
-Module: erl_prim_loader
-Uniq: 11574866
-Index: 8
-Address: 0x0000000103de1c68
-Refc: 1
-=fun
-Module: ssl_pkix_db
-Uniq: 51522903
-Index: 3
-Address: 0x000000010412a708
-Refc: 1
-=fun
-Module: httpc
-Uniq: 36342138
-Index: 8
-Address: 0x0000000104109d90
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 3
-Address: 0x0000000103e7bde0
-Refc: 2
-=fun
-Module: prim_socket
-Uniq: 51104894
-Index: 1
-Address: 0x0000000103dcd6f0
-Refc: 1
-=fun
-Module: rand
-Uniq: 65977474
-Index: 18
-Address: 0x000000010402ccb8
-Refc: 2
-=fun
-Module: code
-Uniq: 38778589
-Index: 4
-Address: 0x0000000103e22bf0
-Refc: 2
-=fun
-Module: inet_db
-Uniq: 46329474
-Index: 0
-Address: 0x0000000103fcf1a0
-Refc: 2
-=fun
-Module: global
-Uniq: 100333677
-Index: 8
-Address: 0x000000010400c2f4
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 27
-Address: 0x00000001042186d4
-Refc: 1
-=fun
-Module: simplifile
-Uniq: 17272755
-Index: 7
-Address: 0x000000010420b558
-Refc: 2
-=fun
-Module: 'gleam@function'
-Uniq: 127819290
-Index: 21
-Address: 0x00000001041616e8
-Refc: 1
-=fun
-Module: application_controller
-Uniq: 5142319
-Index: 14
-Address: 0x0000000103ecb5dc
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 30
-Address: 0x0000000103eb0aa0
-Refc: 1
-=fun
-Module: beam_lib
-Uniq: 45141944
-Index: 3
-Address: 0x0000000103f99718
-Refc: 1
-=fun
-Module: logger_server
-Uniq: 19349920
-Index: 1
-Address: 0x0000000103e87e60
-Refc: 2
-=fun
-Module: 'gleam@list'
-Uniq: 42440854
-Index: 10
-Address: 0x0000000104146b40
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 45
-Address: 0x0000000103e5db08
-Refc: 2
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 22
-Address: 0x000000010414bcc0
-Refc: 2
-=fun
-Module: 'showtime@internal@reports@formatter'
-Uniq: 1772858
-Index: 3
-Address: 0x0000000104227a80
-Refc: 2
-=fun
-Module: code_server
-Uniq: 111287289
-Index: 6
-Address: 0x0000000103ef2c18
-Refc: 1
-=fun
-Module: prim_inet
-Uniq: 37477703
-Index: 1
-Address: 0x0000000103dae5d8
-Refc: 1
-=fun
-Module: 'showtime@internal@erlang@discover'
-Uniq: 110023186
-Index: 3
-Address: 0x0000000104208f10
-Refc: 2
-=fun
-Module: inet
-Uniq: 65562377
-Index: 13
-Address: 0x0000000103fe4d74
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 20
-Address: 0x0000000103e78078
-Refc: 1
-=fun
-Module: 'gleam_community@colour'
-Uniq: 92289676
-Index: 19
-Address: 0x0000000104159418
-Refc: 1
-=fun
-Module: io_lib
-Uniq: 6600873
-Index: 1
-Address: 0x0000000104096af8
-Refc: 2
-=fun
-Module: 'gleam@erlang@process'
-Uniq: 28255578
-Index: 10
-Address: 0x00000001041fbd40
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 79
-Address: 0x0000000103e727e8
-Refc: 2
-=fun
-Module: epp
-Uniq: 124355082
-Index: 6
-Address: 0x00000001040fc194
-Refc: 1
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 40
-Address: 0x000000010414c5c8
-Refc: 2
-=fun
-Module: erl_parse
-Uniq: 57550649
-Index: 12
-Address: 0x0000000103f58f90
-Refc: 2
-=fun
-Module: erl_scan
-Uniq: 115441844
-Index: 14
-Address: 0x00000001040d8d20
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 11
-Address: 0x0000000103eb1ee0
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 54
-Address: 0x0000000103e75b08
-Refc: 1
-=fun
-Module: httpc
-Uniq: 36342138
-Index: 5
-Address: 0x0000000104109fe8
-Refc: 2
-=fun
-Module: prim_socket
-Uniq: 51104894
-Index: 14
-Address: 0x0000000103dccf78
-Refc: 1
-=fun
-Module: standard_error
-Uniq: 123115530
-Index: 1
-Address: 0x0000000103fbd320
-Refc: 2
-=fun
-Module: prim_zip
-Uniq: 66112146
-Index: 0
-Address: 0x0000000103dd5c18
-Refc: 1
-=fun
-Module: unicode
-Uniq: 54664399
-Index: 14
-Address: 0x0000000103fb4a80
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 105
-Address: 0x0000000103e70d50
-Refc: 1
-=fun
-Module: global
-Uniq: 100333677
-Index: 27
-Address: 0x000000010400a268
-Refc: 2
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 6
-Address: 0x000000010421cf98
-Refc: 1
-=fun
-Module: application_controller
-Uniq: 5142319
-Index: 19
-Address: 0x0000000103ec7778
-Refc: 2
-=fun
-Module: 'gleam@erlang'
-Uniq: 90512636
-Index: 1
-Address: 0x0000000104140be8
-Refc: 1
-=fun
-Module: 'gleam@function'
-Uniq: 127819290
-Index: 0
-Address: 0x0000000104161920
-Refc: 1
-=fun
-Module: init
-Uniq: 72673429
-Index: 3
-Address: 0x0000000103d94690
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 80
-Address: 0x0000000103e727a8
-Refc: 1
-=fun
-Module: inet_parse
-Uniq: 131529883
-Index: 5
-Address: 0x0000000103feeb18
-Refc: 2
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 5
-Address: 0x000000010414c954
-Refc: 1
-=fun
-Module: code_server
-Uniq: 111287289
-Index: 11
-Address: 0x0000000103ef26f8
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 32
-Address: 0x0000000103eb0880
-Refc: 1
-=fun
-Module: showtime
-Uniq: 22478307
-Index: 4
-Address: 0x000000010413f850
-Refc: 2
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 40
-Address: 0x000000010421c70c
-Refc: 1
-=fun
-Module: rpc
-Uniq: 70687560
-Index: 6
-Address: 0x0000000103ff5c50
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 27
-Address: 0x0000000103e773e8
-Refc: 2
-=fun
-Module: inet_config
-Uniq: 64624012
-Index: 1
-Address: 0x0000000103fd3c68
-Refc: 2
-=fun
-Module: 'day7@solve'
-Uniq: 118915376
-Index: 0
-Address: 0x00000001042230d8
-Refc: 2
-=fun
-Module: unicode
-Uniq: 54664399
-Index: 19
-Address: 0x0000000103fb4af0
-Refc: 2
-=fun
-Module: net_kernel
-Uniq: 105284444
-Index: 5
-Address: 0x0000000104020da8
-Refc: 2
-=fun
-Module: global
-Uniq: 100333677
-Index: 0
-Address: 0x0000000104006d40
-Refc: 2
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 39
-Address: 0x000000010414c4e0
-Refc: 2
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 19
-Address: 0x000000010421a688
-Refc: 1
-=fun
-Module: application_controller
-Uniq: 5142319
-Index: 6
-Address: 0x0000000103ecc408
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 6
-Address: 0x0000000103eb2520
-Refc: 1
-=fun
-Module: erl_scan
-Uniq: 115441844
-Index: 3
-Address: 0x00000001040dfb40
-Refc: 2
-=fun
-Module: glint
-Uniq: 18128761
-Index: 6
-Address: 0x0000000104153a40
-Refc: 2
-=fun
-Module: ets
-Uniq: 30908443
-Index: 6
-Address: 0x0000000103e3c0b4
-Refc: 1
-=fun
-Module: showtime_ffi
-Uniq: 122038219
-Index: 4
-Address: 0x0000000104221600
-Refc: 1
-=fun
-Module: 'gleam@set'
-Uniq: 15699406
-Index: 1
-Address: 0x000000010414fb08
-Refc: 1
-=fun
-Module: logger_server
-Uniq: 19349920
-Index: 9
-Address: 0x0000000103e87c4c
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 37
-Address: 0x0000000103e766d4
-Refc: 1
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 30
-Address: 0x000000010414ad80
-Refc: 2
-=fun
-Module: rand
-Uniq: 65977474
-Index: 8
-Address: 0x000000010402a380
-Refc: 2
-=fun
-Module: 'showtime@internal@reports@formatter'
-Uniq: 1772858
-Index: 11
-Address: 0x00000001042267c0
-Refc: 2
-=fun
-Module: peer
-Uniq: 34337805
-Index: 5
-Address: 0x0000000103f8cbb8
-Refc: 1
-=fun
-Module: 'showtime@internal@erlang@event_handler'
-Uniq: 124289607
-Index: 1
-Address: 0x00000001041f7b38
-Refc: 2
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 53
-Address: 0x000000010421d498
-Refc: 2
-=fun
-Module: prim_tty
-Uniq: 75477062
-Index: 0
-Address: 0x0000000104078e08
-Refc: 2
-=fun
-Module: 'gleam@function'
-Uniq: 127819290
-Index: 15
-Address: 0x0000000104161198
-Refc: 1
-=fun
-Module: 'gleam_community@colour'
-Uniq: 92289676
-Index: 11
-Address: 0x0000000104158b30
-Refc: 1
-=fun
-Module: 'gleam@erlang@process'
-Uniq: 28255578
-Index: 2
-Address: 0x00000001041fc5a8
-Refc: 2
-=fun
-Module: erl_features
-Uniq: 44278689
-Index: 11
-Address: 0x0000000103fb9ac0
-Refc: 2
-=fun
-Module: inet_parse
-Uniq: 131529883
-Index: 8
-Address: 0x0000000103fee890
-Refc: 2
-=fun
-Module: gen
-Uniq: 105431365
-Index: 3
-Address: 0x0000000103e0fda0
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 71
-Address: 0x0000000103e740a8
-Refc: 2
-=fun
-Module: logger_simple_h
-Uniq: 105730862
-Index: 0
-Address: 0x0000000103efcfa8
-Refc: 1
-=fun
-Module: application_master
-Uniq: 24509285
-Index: 0
-Address: 0x0000000103eb8b40
-Refc: 2
-=fun
-Module: supervisor
-Uniq: 63985753
-Index: 8
-Address: 0x0000000103e4c450
-Refc: 2
-=fun
-Module: erl_parse
-Uniq: 57550649
-Index: 4
-Address: 0x0000000103f5999c
-Refc: 1
-=fun
-Module: logger_olp
-Uniq: 51656710
-Index: 0
-Address: 0x0000000103f785c4
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 51
-Address: 0x0000000103eafbb8
-Refc: 1
-=fun
-Module: gleam_stdlib
-Uniq: 79074729
-Index: 2
-Address: 0x000000010416a7d0
-Refc: 2
-=fun
-Module: erl_prim_loader
-Uniq: 11574866
-Index: 3
-Address: 0x0000000103de25dc
-Refc: 1
-=fun
-Module: c
-Uniq: 124725464
-Index: 5
-Address: 0x00000001040cbd00
-Refc: 1
-=fun
-Module: file_server
-Uniq: 30066188
-Index: 1
-Address: 0x0000000103e075a8
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 14
-Address: 0x0000000103e798f0
-Refc: 2
-=fun
-Module: httpc
-Uniq: 36342138
-Index: 13
-Address: 0x00000001041099c0
-Refc: 2
-=fun
-Module: prim_socket
-Uniq: 51104894
-Index: 6
-Address: 0x0000000103dcd3f0
-Refc: 1
-=fun
-Module: global_group
-Uniq: 133931896
-Index: 5
-Address: 0x000000010404343c
-Refc: 1
-=fun
-Module: rand
-Uniq: 65977474
-Index: 23
-Address: 0x000000010402bd10
-Refc: 2
-=fun
-Module: unicode
-Uniq: 54664399
-Index: 6
-Address: 0x0000000103fb52d0
-Refc: 2
-=fun
-Module: net_kernel
-Uniq: 105284444
-Index: 10
-Address: 0x0000000104020afc
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 97
-Address: 0x0000000103e71348
-Refc: 2
-=fun
-Module: global
-Uniq: 100333677
-Index: 19
-Address: 0x000000010400b128
-Refc: 2
-=fun
-Module: simplifile
-Uniq: 17272755
-Index: 10
-Address: 0x000000010420c3f4
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 30
-Address: 0x000000010421a7b0
-Refc: 2
-=fun
-Module: application_controller
-Uniq: 5142319
-Index: 11
-Address: 0x0000000103ecb8ec
-Refc: 1
-=fun
-Module: erl_scan
-Uniq: 115441844
-Index: 16
-Address: 0x00000001040dc390
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 17
-Address: 0x0000000103eb193c
-Refc: 1
-=fun
-Module: 'gleam@list'
-Uniq: 42440854
-Index: 7
-Address: 0x0000000104146d4c
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 40
-Address: 0x0000000103e7630c
-Refc: 1
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 13
-Address: 0x000000010414c768
-Refc: 1
-=fun
-Module: code_server
-Uniq: 111287289
-Index: 3
-Address: 0x0000000103eea438
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 40
-Address: 0x0000000103eb0284
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 32
-Address: 0x000000010421aa88
-Refc: 1
-=fun
-Module: inet
-Uniq: 65562377
-Index: 6
-Address: 0x0000000103fe54e8
-Refc: 2
-=fun
-Module: 'showtime@internal@erlang@discover'
-Uniq: 110023186
-Index: 4
-Address: 0x0000000104208edc
-Refc: 1
-=fun
-Module: error_logger
-Uniq: 17945318
-Index: 0
-Address: 0x0000000103ef7a38
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 19
-Address: 0x0000000103e78a98
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 74
-Address: 0x0000000103e73c34
-Refc: 1
-=fun
-Module: epp
-Uniq: 124355082
-Index: 1
-Address: 0x00000001040fcb34
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 14
-Address: 0x0000000103eb1bc4
-Refc: 1
-=fun
-Module: erl_scan
-Uniq: 115441844
-Index: 11
-Address: 0x00000001040d6c98
-Refc: 2
-=fun
-Module: ets
-Uniq: 30908443
-Index: 14
-Address: 0x0000000103e3b5e4
-Refc: 1
-=fun
-Module: raw_file_io
-Uniq: 101053602
-Index: 1
-Address: 0x00000001040d03f8
-Refc: 2
-=fun
-Module: 'gleam@otp@actor'
-Uniq: 90500110
-Index: 6
-Address: 0x00000001041f97e0
-Refc: 2
-=fun
-Module: c
-Uniq: 124725464
-Index: 8
-Address: 0x00000001040cb948
-Refc: 2
-=fun
-Module: 'aoc2023@@main'
-Uniq: 70697990
-Index: 1
-Address: 0x00000001040ea940
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 61
-Address: 0x0000000103e75758
-Refc: 1
-=fun
-Module: group
-Uniq: 88293013
-Index: 2
-Address: 0x00000001040888b8
-Refc: 2
-=fun
-Module: global_group
-Uniq: 133931896
-Index: 8
-Address: 0x0000000104043710
-Refc: 2
-=fun
-Module: rand
-Uniq: 65977474
-Index: 0
-Address: 0x0000000104029e40
-Refc: 2
-=fun
-Module: unicode
-Uniq: 54664399
-Index: 9
-Address: 0x0000000103fb1c48
-Refc: 2
-=fun
-Module: prim_zip
-Uniq: 66112146
-Index: 5
-Address: 0x0000000103dd5b24
-Refc: 1
-=fun
-Module: global
-Uniq: 100333677
-Index: 30
-Address: 0x0000000104009ea4
-Refc: 1
-=fun
-Module: file
-Uniq: 1459081
-Index: 1
-Address: 0x0000000103e195bc
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 13
-Address: 0x000000010421c3f8
-Refc: 1
-=fun
-Module: 'gleam@function'
-Uniq: 127819290
-Index: 7
-Address: 0x0000000104160a5c
-Refc: 1
-=fun
-Module: 'gleam_community@colour'
-Uniq: 92289676
-Index: 3
-Address: 0x0000000104155ac0
-Refc: 2
-=fun
-Module: gen_event
-Uniq: 37613186
-Index: 1
-Address: 0x0000000103ee21ac
-Refc: 1
-=fun
-Module: init
-Uniq: 72673429
-Index: 8
-Address: 0x0000000103d939d8
-Refc: 1
-=fun
-Module: erl_features
-Uniq: 44278689
-Index: 3
-Address: 0x0000000103fb9fc4
-Refc: 1
-=fun
-Module: inet_parse
-Uniq: 131529883
-Index: 0
-Address: 0x0000000103fef1a0
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 95
-Address: 0x0000000103e715a8
-Refc: 2
-=fun
-Module: supervisor
-Uniq: 63985753
-Index: 0
-Address: 0x0000000103e4d260
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 59
-Address: 0x0000000103eaf728
-Refc: 2
-=fun
-Module: erl_prim_loader
-Uniq: 11574866
-Index: 11
-Address: 0x0000000103de1958
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 47
-Address: 0x000000010421d030
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 66
-Address: 0x0000000103eaeca8
-Refc: 2
-=fun
-Module: rpc
-Uniq: 70687560
-Index: 1
-Address: 0x0000000103ff617c
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 6
-Address: 0x0000000103e7b800
-Refc: 2
-=fun
-Module: timer
-Uniq: 46706930
-Index: 1
-Address: 0x00000001040ad644
-Refc: 1
-=fun
-Module: inet_config
-Uniq: 64624012
-Index: 4
-Address: 0x0000000103fd3ab8
-Refc: 2
-=fun
-Module: kernel_config
-Uniq: 90805894
-Index: 0
-Address: 0x00000001040af678
-Refc: 2
-=fun
-Module: 'day7@solve'
-Uniq: 118915376
-Index: 5
-Address: 0x00000001042240b8
-Refc: 2
-=fun
-Module: code
-Uniq: 38778589
-Index: 7
-Address: 0x0000000103e225d8
-Refc: 1
-=fun
-Module: net_kernel
-Uniq: 105284444
-Index: 2
-Address: 0x0000000104020ed0
-Refc: 2
-=fun
-Module: inet_db
-Uniq: 46329474
-Index: 5
-Address: 0x0000000103fce8b0
-Refc: 2
-=fun
-Module: global
-Uniq: 100333677
-Index: 11
-Address: 0x000000010400c078
-Refc: 2
-=fun
-Module: simplifile
-Uniq: 17272755
-Index: 2
-Address: 0x000000010420bb20
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 22
-Address: 0x000000010421a02c
-Refc: 1
-=fun
-Module: application_controller
-Uniq: 5142319
-Index: 3
-Address: 0x0000000103ecc3d4
-Refc: 1
-=fun
-Module: httpc_manager
-Uniq: 90163599
-Index: 1
-Address: 0x0000000104112fb0
-Refc: 2
-=fun
-Module: glint
-Uniq: 18128761
-Index: 13
-Address: 0x00000001041514f0
-Refc: 2
-=fun
-Module: 'gleam@function'
-Uniq: 127819290
-Index: 16
-Address: 0x000000010416125c
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 25
-Address: 0x0000000103eb1130
-Refc: 1
-=fun
-Module: showtime_ffi
-Uniq: 122038219
-Index: 1
-Address: 0x0000000104221320
-Refc: 2
-=fun
-Module: logger_server
-Uniq: 19349920
-Index: 6
-Address: 0x0000000103e87a20
-Refc: 1
-=fun
-Module: 'gleam@list'
-Uniq: 42440854
-Index: 15
-Address: 0x0000000104146890
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 32
-Address: 0x0000000103e7697c
-Refc: 1
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 21
-Address: 0x000000010414bd40
-Refc: 2
-=fun
-Module: 'showtime@internal@reports@formatter'
-Uniq: 1772858
-Index: 6
-Address: 0x0000000104227820
-Refc: 2
-=fun
-Module: rand
-Uniq: 65977474
-Index: 13
-Address: 0x000000010402ae18
-Refc: 2
-=fun
-Module: peer
-Uniq: 34337805
-Index: 0
-Address: 0x0000000103f8df08
-Refc: 2
-=fun
-Module: inet
-Uniq: 65562377
-Index: 14
-Address: 0x0000000103fe494c
-Refc: 1
-=fun
-Module: 'gleam_community@colour'
-Uniq: 92289676
-Index: 14
-Address: 0x0000000104158e68
-Refc: 1
-=fun
-Module: ssl_config
-Uniq: 64895055
-Index: 0
-Address: 0x0000000104134808
-Refc: 1
-=fun
-Module: erl_features
-Uniq: 44278689
-Index: 12
-Address: 0x0000000103fb9988
-Refc: 2
-=fun
-Module: proc_lib
-Uniq: 54621022
-Index: 0
-Address: 0x0000000103e9c590
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 66
-Address: 0x0000000103e745b0
-Refc: 2
-=fun
-Module: supervisor
-Uniq: 63985753
-Index: 13
-Address: 0x0000000103e4c0e8
-Refc: 1
-=fun
-Module: erl_parse
-Uniq: 57550649
-Index: 9
-Address: 0x0000000103f59274
-Refc: 1
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 54
-Address: 0x0000000103eafb40
-Refc: 1
-=fun
-Module: erl_prim_loader
-Uniq: 11574866
-Index: 6
-Address: 0x0000000103de2310
-Refc: 1
-=fun
-Module: logger_std_h
-Uniq: 4673888
-Index: 1
-Address: 0x00000001040bcad8
-Refc: 3
-=fun
-Module: c
-Uniq: 124725464
-Index: 0
-Address: 0x00000001040cbe98
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 53
-Address: 0x0000000103e75c2c
-Refc: 1
-=fun
-Module: httpc
-Uniq: 36342138
-Index: 2
-Address: 0x000000010410a368
-Refc: 2
-=fun
-Module: httpc_cookie
-Uniq: 22295768
-Index: 1
-Address: 0x000000010411a368
-Refc: 1
-=fun
-Module: prim_socket
-Uniq: 51104894
-Index: 11
-Address: 0x0000000103dcd030
-Refc: 1
-=fun
-Module: global_group
-Uniq: 133931896
-Index: 0
-Address: 0x0000000104040ec0
-Refc: 2
-=fun
-Module: unicode
-Uniq: 54664399
-Index: 1
-Address: 0x0000000103fb4488
-Refc: 2
-=fun
-Module: rand
-Uniq: 65977474
-Index: 24
-Address: 0x000000010402df10
-Refc: 2
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 108
-Address: 0x0000000103e75f08
-Refc: 2
-=fun
-Module: inet_db
-Uniq: 46329474
-Index: 10
-Address: 0x0000000103fcd590
-Refc: 2
-=fun
-Module: global
-Uniq: 100333677
-Index: 22
-Address: 0x000000010400aa90
-Refc: 1
-=fun
-Module: 'gleam@dynamic'
-Uniq: 70964574
-Index: 5
-Address: 0x000000010421d170
-Refc: 1
-=fun
-Module: ets
-Uniq: 30908443
-Index: 16
-Address: 0x0000000103e39768
-Refc: 2
-=fun
-Module: application_controller
-Uniq: 5142319
-Index: 16
-Address: 0x0000000103ecb478
-Refc: 2
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 20
-Address: 0x0000000103eb16e8
-Refc: 1
-=fun
-Module: 'gleam@result'
-Uniq: 44749367
-Index: 1
-Address: 0x000000010415fa08
-Refc: 2
-=fun
-Module: init
-Uniq: 72673429
-Index: 0
-Address: 0x0000000103d87d10
-Refc: 1
-=fun
-Module: user_drv
-Uniq: 115201613
-Index: 2
-Address: 0x0000000104059414
-Refc: 1
-=fun
-Module: erl_lint
-Uniq: 64115739
-Index: 87
-Address: 0x0000000103e72264
-Refc: 1
-=fun
-Module: 'glint@flag'
-Uniq: 25615327
-Index: 0
-Address: 0x000000010414cbe0
-Refc: 2
-=fun
-Module: code_server
-Uniq: 111287289
-Index: 8
-Address: 0x0000000103ef2aa8
-Refc: 4
-=fun
-Module: erl_eval
-Uniq: 125776118
-Index: 35
-Address: 0x0000000103eb05c8
-Refc: 1
-=fun
-Module: gleam_erlang_ffi
-Uniq: 130811285
-Index: 2
-Address: 0x00000001042005cc
-Refc: 1
-=proc_stack:<0.0.0>
-y0:H105DD6AD8
-y1:SCatch 0x3DE8204 (erlang:halt/1 + 156)
-0x0000000105dda900:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.0.0>
-105DD6AD8:lI82|H105DD6AE8
-105DD6AE8:lI117|H105DD6AF8
-105DD6AF8:lI110|H105DD6B08
-105DD6B08:lI116|H105DD6B18
-105DD6B18:lI105|H105DD6B28
-105DD6B28:lI109|H105DD6B38
-105DD6B38:lI101|H105DD6B48
-105DD6B48:lI32|H105DD6B58
-105DD6B58:lI116|H105DD6B68
-105DD6B68:lI101|H105DD6B78
-105DD6B78:lI114|H105DD6B88
-105DD6B88:lI109|H105DD6B98
-105DD6B98:lI105|H105DD6BA8
-105DD6BA8:lI110|H105DD6BB8
-105DD6BB8:lI97|H105DD6BC8
-105DD6BC8:lI116|H105DD6BD8
-105DD6BD8:lI105|H105DD6BE8
-105DD6BE8:lI110|H105DD6BF8
-105DD6BF8:lI103|H105DD6C08
-105DD6C08:lI32|H105DD6C18
-105DD6C18:lI100|H105DD6C28
-105DD6C28:lI117|H105DD6C38
-105DD6C38:lI114|H105DD6C48
-105DD6C48:lI105|H105DD6C58
-105DD6C58:lI110|H105DD6C68
-105DD6C68:lI103|H105DD6C78
-105DD6C78:lI32|H105DD6C88
-105DD6C88:lI98|H105DD6C98
-105DD6C98:lI111|H105DD6CA8
-105DD6CA8:lI111|H105DD6CB8
-105DD6CB8:lI116|H105DD6AC8
-105DD6AC8:lI32|H105DD6AB8
-105DD6AB8:lI40|H105DD5838
-105DD5838:lI123|H105DD5848
-105DD5848:lI44|H105DD5858
-105DD5858:lI91|H105DD5868
-105DD5868:lI123|H105DD5878
-105DD5878:lI115|H105DD5888
-105DD5888:lI104|H105DD5898
-105DD5898:lI111|H105DD58A8
-105DD58A8:lI119|H105DD58B8
-105DD58B8:lI116|H105DD58C8
-105DD58C8:lI105|H105DD58D8
-105DD58D8:lI109|H105DD58E8
-105DD58E8:lI101|H105DD58F8
-105DD58F8:lI64|H105DD5908
-105DD5908:lI105|H105DD5918
-105DD5918:lI110|H105DD5928
-105DD5928:lI116|H105DD5938
-105DD5938:lI101|H105DD5948
-105DD5948:lI114|H105DD5958
-105DD5958:lI110|H105DD5968
-105DD5968:lI97|H105DD5978
-105DD5978:lI108|H105DD5988
-105DD5988:lI64|H105DD5998
-105DD5998:lI114|H105DD59A8
-105DD59A8:lI101|H105DD59B8
-105DD59B8:lI112|H105DD59C8
-105DD59C8:lI111|H105DD59D8
-105DD59D8:lI114|H105DD59E8
-105DD59E8:lI116|H105DD59F8
-105DD59F8:lI115|H105DD5A08
-105DD5A08:lI64|H105DD5A18
-105DD5A18:lI102|H105DD5A28
-105DD5A28:lI111|H105DD5A38
-105DD5A38:lI114|H105DD5A48
-105DD5A48:lI109|H105DD5A58
-105DD5A58:lI97|H105DD5A68
-105DD5A68:lI116|H105DD5A78
-105DD5A78:lI116|H105DD5A88
-105DD5A88:lI101|H105DD5A98
-105DD5A98:lI114|H105DD5AA8
-105DD5AA8:lI44|H105DD5AB8
-105DD5AB8:lI45|H105DD5AC8
-105DD5AC8:lI99|H105DD5AD8
-105DD5AD8:lI114|H105DD5AE8
-105DD5AE8:lI101|H105DD5AF8
-105DD5AF8:lI97|H105DD5B08
-105DD5B08:lI116|H105DD5B18
-105DD5B18:lI101|H105DD5B28
-105DD5B28:lI95|H105DD5B38
-105DD5B38:lI116|H105DD5B48
-105DD5B48:lI101|H105DD5B58
-105DD5B58:lI115|H105DD5B68
-105DD5B68:lI116|H105DD5B78
-105DD5B78:lI95|H105DD5B88
-105DD5B88:lI114|H105DD5B98
-105DD5B98:lI101|H105DD5BA8
-105DD5BA8:lI112|H105DD5BB8
-105DD5BB8:lI111|H105DD5BC8
-105DD5BC8:lI114|H105DD5BD8
-105DD5BD8:lI116|H105DD5BE8
-105DD5BE8:lI47|H105DD5BF8
-105DD5BF8:lI49|H105DD5C08
-105DD5C08:lI45|H105DD5C18
-105DD5C18:lI102|H105DD5C28
-105DD5C28:lI117|H105DD5C38
-105DD5C38:lI110|H105DD5C48
-105DD5C48:lI45|H105DD5C58
-105DD5C58:lI52|H105DD5C68
-105DD5C68:lI45|H105DD5C78
-105DD5C78:lI44|H105DD5C88
-105DD5C88:lI49|H105DD5C98
-105DD5C98:lI44|H105DD5CA8
-105DD5CA8:lI91|H105DD5CB8
-105DD5CB8:lI123|H105DD5CC8
-105DD5CC8:lI95|H105DD5CD8
-105DD5CD8:lI125|H105DD5CE8
-105DD5CE8:lI44|H105DD5CF8
-105DD5CF8:lI123|H105DD5D08
-105DD5D08:lI95|H105DD5D18
-105DD5D18:lI125|H105DD5D28
-105DD5D28:lI93|H105DD5D38
-105DD5D38:lI125|H105DD5D48
-105DD5D48:lI44|H105DD5D58
-105DD5D58:lI123|H105DD5D68
-105DD5D68:lI103|H105DD5D78
-105DD5D78:lI108|H105DD5D88
-105DD5D88:lI101|H105DD5D98
-105DD5D98:lI97|H105DD5DA8
-105DD5DA8:lI109|H105DD5DB8
-105DD5DB8:lI64|H105DD5DC8
-105DD5DC8:lI108|H105DD5DD8
-105DD5DD8:lI105|H105DD5DE8
-105DD5DE8:lI115|H105DD5DF8
-105DD5DF8:lI116|H105DD5E08
-105DD5E08:lI44|H105DD5E18
-105DD5E18:lI100|H105DD5E28
-105DD5E28:lI111|H105DD5E38
-105DD5E38:lI95|H105DD5E48
-105DD5E48:lI102|H105DD5E58
-105DD5E58:lI105|H105DD5E68
-105DD5E68:lI108|H105DD5E78
-105DD5E78:lI116|H105DD5E88
-105DD5E88:lI101|H105DD5E98
-105DD5E98:lI114|H105DD5EA8
-105DD5EA8:lI95|H105DD5EB8
-105DD5EB8:lI109|H105DD5EC8
-105DD5EC8:lI97|H105DD5ED8
-105DD5ED8:lI112|H105DD5EE8
-105DD5EE8:lI44|H105DD5EF8
-105DD5EF8:lI51|H105DD5F08
-105DD5F08:lI44|H105DD5F18
-105DD5F18:lI91|H105DD5F28
-105DD5F28:lI123|H105DD5F38
-105DD5F38:lI95|H105DD5F48
-105DD5F48:lI125|H105DD5F58
-105DD5F58:lI44|H105DD5F68
-105DD5F68:lI123|H105DD5F78
-105DD5F78:lI95|H105DD5F88
-105DD5F88:lI125|H105DD5F98
-105DD5F98:lI93|H105DD5FA8
-105DD5FA8:lI125|H105DD5FB8
-105DD5FB8:lI44|H105DD5FC8
-105DD5FC8:lI123|H105DD5FD8
-105DD5FD8:lI115|H105DD5FE8
-105DD5FE8:lI104|H105DD5FF8
-105DD5FF8:lI111|H105DD6008
-105DD6008:lI119|H105DD6018
-105DD6018:lI116|H105DD6028
-105DD6028:lI105|H105DD6038
-105DD6038:lI109|H105DD6048
-105DD6048:lI101|H105DD6058
-105DD6058:lI64|H105DD6068
-105DD6068:lI105|H105DD6078
-105DD6078:lI110|H105DD6088
-105DD6088:lI116|H105DD6098
-105DD6098:lI101|H105DD60A8
-105DD60A8:lI114|H105DD60B8
-105DD60B8:lI110|H105DD60C8
-105DD60C8:lI97|H105DD60D8
-105DD60D8:lI108|H105DD60E8
-105DD60E8:lI64|H105DD60F8
-105DD60F8:lI114|H105DD6108
-105DD6108:lI101|H105DD6118
-105DD6118:lI112|H105DD6128
-105DD6128:lI111|H105DD6138
-105DD6138:lI114|H105DD6148
-105DD6148:lI116|H105DD6158
-105DD6158:lI115|H105DD6168
-105DD6168:lI64|H105DD6178
-105DD6178:lI102|H105DD6188
-105DD6188:lI111|H105DD6198
-105DD6198:lI114|H105DD61A8
-105DD61A8:lI109|H105DD61B8
-105DD61B8:lI97|H105DD61C8
-105DD61C8:lI116|H105DD61D8
-105DD61D8:lI116|H105DD61E8
-105DD61E8:lI101|H105DD61F8
-105DD61F8:lI114|H105DD6208
-105DD6208:lI44|H105DD6218
-105DD6218:lI99|H105DD6228
-105DD6228:lI114|H105DD6238
-105DD6238:lI101|H105DD6248
-105DD6248:lI97|H105DD6258
-105DD6258:lI116|H105DD6268
-105DD6268:lI101|H105DD6278
-105DD6278:lI95|H105DD6288
-105DD6288:lI116|H105DD6298
-105DD6298:lI101|H105DD62A8
-105DD62A8:lI115|H105DD62B8
-105DD62B8:lI116|H105DD62C8
-105DD62C8:lI95|H105DD62D8
-105DD62D8:lI114|H105DD62E8
-105DD62E8:lI101|H105DD62F8
-105DD62F8:lI112|H105DD6308
-105DD6308:lI111|H105DD6318
-105DD6318:lI114|H105DD6328
-105DD6328:lI116|H105DD6338
-105DD6338:lI44|H105DD6348
-105DD6348:lI49|H105DD6358
-105DD6358:lI44|H105DD6368
-105DD6368:lI91|H105DD6378
-105DD6378:lI123|H105DD6388
-105DD6388:lI95|H105DD6398
-105DD6398:lI125|H105DD63A8
-105DD63A8:lI44|H105DD63B8
-105DD63B8:lI123|H105DD63C8
-105DD63C8:lI95|H105DD63D8
-105DD63D8:lI125|H105DD63E8
-105DD63E8:lI93|H105DD63F8
-105DD63F8:lI125|H105DD6408
-105DD6408:lI44|H105DD6418
-105DD6418:lI123|H105DD6428
-105DD6428:lI115|H105DD6438
-105DD6438:lI104|H105DD6448
-105DD6448:lI111|H105DD6458
-105DD6458:lI119|H105DD6468
-105DD6468:lI116|H105DD6478
-105DD6478:lI105|H105DD6488
-105DD6488:lI109|H105DD6498
-105DD6498:lI101|H105DD64A8
-105DD64A8:lI64|H105DD64B8
-105DD64B8:lI105|H105DD64C8
-105DD64C8:lI110|H105DD64D8
-105DD64D8:lI116|H105DD64E8
-105DD64E8:lI101|H105DD64F8
-105DD64F8:lI114|H105DD6508
-105DD6508:lI110|H105DD6518
-105DD6518:lI97|H105DD6528
-105DD6528:lI108|H105DD6538
-105DD6538:lI64|H105DD6548
-105DD6548:lI101|H105DD6558
-105DD6558:lI114|H105DD6568
-105DD6568:lI108|H105DD6578
-105DD6578:lI97|H105DD6588
-105DD6588:lI110|H105DD6598
-105DD6598:lI103|H105DD65A8
-105DD65A8:lI64|H105DD65B8
-105DD65B8:lI101|H105DD65C8
-105DD65C8:lI118|H105DD65D8
-105DD65D8:lI101|H105DD65E8
-105DD65E8:lI110|H105DD65F8
-105DD65F8:lI116|H105DD6608
-105DD6608:lI95|H105DD6618
-105DD6618:lI104|H105DD6628
-105DD6628:lI97|H105DD6638
-105DD6638:lI110|H105DD6648
-105DD6648:lI100|H105DD6658
-105DD6658:lI108|H105DD6668
-105DD6668:lI101|H105DD6678
-105DD6678:lI114|H105DD6688
-105DD6688:lI44|H105DD6698
-105DD6698:lI45|H105DD66A8
-105DD66A8:lI115|H105DD66B8
-105DD66B8:lI116|H105DD66C8
-105DD66C8:lI97|H105DD66D8
-105DD66D8:lI114|H105DD66E8
-105DD66E8:lI116|H105DD66F8
-105DD66F8:lI47|H105DD6708
-105DD6708:lI48|H105DD6718
-105DD6718:lI45|H105DD6728
-105DD6728:lI102|H105DD6738
-105DD6738:lI117|H105DD6748
-105DD6748:lI110|H105DD6758
-105DD6758:lI45|H105DD6768
-105DD6768:lI49|H105DD6778
-105DD6778:lI45|H105DD6788
-105DD6788:lI44|H105DD6798
-105DD6798:lI50|H105DD67A8
-105DD67A8:lI44|H105DD67B8
-105DD67B8:lI91|H105DD67C8
-105DD67C8:lI123|H105DD67D8
-105DD67D8:lI95|H105DD67E8
-105DD67E8:lI125|H105DD67F8
-105DD67F8:lI44|H105DD6808
-105DD6808:lI123|H105DD6818
-105DD6818:lI95|H105DD6828
-105DD6828:lI125|H105DD6838
-105DD6838:lI93|H105DD6848
-105DD6848:lI125|H105DD6858
-105DD6858:lI44|H105DD6868
-105DD6868:lI123|H105DD6878
-105DD6878:lI103|H105DD6888
-105DD6888:lI108|H105DD6898
-105DD6898:lI101|H105DD68A8
-105DD68A8:lI97|H105DD68B8
-105DD68B8:lI109|H105DD68C8
-105DD68C8:lI64|H105DD68D8
-105DD68D8:lI111|H105DD68E8
-105DD68E8:lI116|H105DD68F8
-105DD68F8:lI112|H105DD6908
-105DD6908:lI64|H105DD6918
-105DD6918:lI97|H105DD6928
-105DD6928:lI99|H105DD6938
-105DD6938:lI116|H105DD6948
-105DD6948:lI111|H105DD6958
-105DD6958:lI114|H105DD6968
-105DD6968:lI44|H105DD6978
-105DD6978:lI108|H105DD6988
-105DD6988:lI111|H105DD6998
-105DD6998:lI111|H105DD69A8
-105DD69A8:lI112|H105DD69B8
-105DD69B8:lI44|H105DD69C8
-105DD69C8:lI49|H105DD69D8
-105DD69D8:lI44|H105DD69E8
-105DD69E8:lI91|H105DD69F8
-105DD69F8:lI123|H105DD6A08
-105DD6A08:lI95|H105DD6A18
-105DD6A18:lI125|H105DD6A28
-105DD6A28:lI44|H105DD6A38
-105DD6A38:lI123|H105DD6A48
-105DD6A48:lI95|H105DD6A58
-105DD6A58:lI125|H105DD6A68
-105DD6A68:lI93|H105DD6A78
-105DD6A78:lI125|H105DD6A88
-105DD6A88:lI93|H105DD6A98
-105DD6A98:lI125|H105DD6AA8
-105DD6AA8:lI41|N
-=proc_stack:<0.1.0>
-0x0000000103149508:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.1.0>
-=proc_stack:<0.2.0>
-y0:N
-y1:I0
-y2:I60000
-y3:N
-y4:I0
-y5:H280017B40
-y6:A9:undefined
-0x0000000103149c58:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.2.0>
-=proc_stack:<0.3.0>
-y0:N
-0x000000010314b430:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.3.0>
-=proc_stack:<0.4.0>
-y0:N
-0x000000010314bb80:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.4.0>
-=proc_stack:<0.5.0>
-y0:N
-0x000000010314c2d0:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.5.0>
-=proc_stack:<0.6.0>
-0x00000001307d0900:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.6.0>
-=proc_stack:<0.7.0>
-y0:N
-y1:N
-y2:H280013CD0
-0x00000001307d1c18:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.7.0>
-=proc_stack:<0.10.0>
-y0:N
-y1:I360000
-y2:H105E9B3B8
-y3:P<0.9.0>
-y4:H105E9B368
-0x0000000105ebdd58:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.10.0>
-105E9B3B8:lH105E9B3D8|H105E9B3E8
-105E9B3D8:lI47|H105E9B408
-105E9B408:lI85|H105E9B448
-105E9B448:lI115|H105E9B498
-105E9B498:lI101|H105E9B4F8
-105E9B4F8:lI114|H105E9B568
-105E9B568:lI115|H105E9B5E8
-105E9B5E8:lI47|H105E9B678
-105E9B678:lI110|H105E9B718
-105E9B718:lI105|H105E9B7C8
-105E9B7C8:lI99|H105E9B888
-105E9B888:lI104|H105E9B958
-105E9B958:lI111|H105E9BA38
-105E9BA38:lI108|H105E9BB28
-105E9BB28:lI97|H105E9BC28
-105E9BC28:lI115|H105E9BD38
-105E9BD38:lI99|H105E9BE58
-105E9BE58:lI97|H105E9BF88
-105E9BF88:lI114|H105E9C0C8
-105E9C0C8:lI108|H105E9C208
-105E9C208:lI115|H105E9C348
-105E9C348:lI111|H105E9C488
-105E9C488:lI110|H105E9C5C8
-105E9C5C8:lI47|H105E9C708
-105E9C708:lI86|H105E9C848
-105E9C848:lI83|H105E9C988
-105E9C988:lI32|H105E9CAC8
-105E9CAC8:lI67|H105E9CC08
-105E9CC08:lI111|H105E9CD48
-105E9CD48:lI100|H105E9CE88
-105E9CE88:lI101|H105E9CFC8
-105E9CFC8:lI47|H105E9D108
-105E9D108:lI65|H105E9D248
-105E9D248:lI100|H105E9D388
-105E9D388:lI118|H105E9D4C8
-105E9D4C8:lI101|H105E9D608
-105E9D608:lI110|H105E9D748
-105E9D748:lI116|H105E9D888
-105E9D888:lI79|H105E9D9C8
-105E9D9C8:lI102|H105E9DB08
-105E9DB08:lI67|H105E9DC48
-105E9DC48:lI111|H105E9DD88
-105E9DD88:lI100|H105E9DEC8
-105E9DEC8:lI101|H105E9E008
-105E9E008:lI47|H105E9E148
-105E9E148:lI97|H105E9E288
-105E9E288:lI111|H105E9E3C8
-105E9E3C8:lI99|H105E9E508
-105E9E508:lI50|H105E9E648
-105E9E648:lI48|H105E9E788
-105E9E788:lI50|H105E9E8C8
-105E9E8C8:lI51|H105E9EA08
-105E9EA08:lI47|H105E9EB48
-105E9EB48:lI98|H105E9EC88
-105E9EC88:lI117|H105E9EDC8
-105E9EDC8:lI105|H105E9EF08
-105E9EF08:lI108|H105E9F048
-105E9F048:lI100|H105E9F188
-105E9F188:lI47|H105E9F2C8
-105E9F2C8:lI100|H105E9F408
-105E9F408:lI101|H105E9F548
-105E9F548:lI118|H105E9F678
-105E9F678:lI47|H105E9F7A8
-105E9F7A8:lI101|H105E9F8D8
-105E9F8D8:lI114|H105E9FA08
-105E9FA08:lI108|H105E9FB38
-105E9FB38:lI97|H105E9FC68
-105E9FC68:lI110|H105E9FD98
-105E9FD98:lI103|H105E9FEC8
-105E9FEC8:lI47|H105E9FFF8
-105E9FFF8:lI103|H105EA0128
-105EA0128:lI108|H105EA0258
-105EA0258:lI101|H105EA0388
-105EA0388:lI97|H105EA04B8
-105EA04B8:lI109|H105EA05E8
-105EA05E8:lI95|H105EA0718
-105EA0718:lI99|H105EA0848
-105EA0848:lI111|H105EA0978
-105EA0978:lI109|H105EA0AA8
-105EA0AA8:lI109|H105EA0BD8
-105EA0BD8:lI117|H105EA0D08
-105EA0D08:lI110|H105EA0E38
-105EA0E38:lI105|H105EA0F68
-105EA0F68:lI116|H105EA1098
-105EA1098:lI121|H105EA1198
-105EA1198:lI95|H105EA1288
-105EA1288:lI97|H105EA1368
-105EA1368:lI110|H105EA1448
-105EA1448:lI115|H105EA1528
-105EA1528:lI105|H105EA15F8
-105EA15F8:lI47|H105EA16A8
-105EA16A8:lI101|H105EA1748
-105EA1748:lI98|H105EA17C8
-105EA17C8:lI105|H105EA1848
-105EA1848:lI110|N
-105E9B3E8:lH105E9B418|H105E9B428
-105E9B418:lI47|H105E9B458
-105E9B458:lI85|H105E9B4A8
-105E9B4A8:lI115|H105E9B508
-105E9B508:lI101|H105E9B578
-105E9B578:lI114|H105E9B5F8
-105E9B5F8:lI115|H105E9B688
-105E9B688:lI47|H105E9B728
-105E9B728:lI110|H105E9B7D8
-105E9B7D8:lI105|H105E9B898
-105E9B898:lI99|H105E9B968
-105E9B968:lI104|H105E9BA48
-105E9BA48:lI111|H105E9BB38
-105E9BB38:lI108|H105E9BC38
-105E9BC38:lI97|H105E9BD48
-105E9BD48:lI115|H105E9BE68
-105E9BE68:lI99|H105E9BF98
-105E9BF98:lI97|H105E9C0D8
-105E9C0D8:lI114|H105E9C218
-105E9C218:lI108|H105E9C358
-105E9C358:lI115|H105E9C498
-105E9C498:lI111|H105E9C5D8
-105E9C5D8:lI110|H105E9C718
-105E9C718:lI47|H105E9C858
-105E9C858:lI86|H105E9C998
-105E9C998:lI83|H105E9CAD8
-105E9CAD8:lI32|H105E9CC18
-105E9CC18:lI67|H105E9CD58
-105E9CD58:lI111|H105E9CE98
-105E9CE98:lI100|H105E9CFD8
-105E9CFD8:lI101|H105E9D118
-105E9D118:lI47|H105E9D258
-105E9D258:lI65|H105E9D398
-105E9D398:lI100|H105E9D4D8
-105E9D4D8:lI118|H105E9D618
-105E9D618:lI101|H105E9D758
-105E9D758:lI110|H105E9D898
-105E9D898:lI116|H105E9D9D8
-105E9D9D8:lI79|H105E9DB18
-105E9DB18:lI102|H105E9DC58
-105E9DC58:lI67|H105E9DD98
-105E9DD98:lI111|H105E9DED8
-105E9DED8:lI100|H105E9E018
-105E9E018:lI101|H105E9E158
-105E9E158:lI47|H105E9E298
-105E9E298:lI97|H105E9E3D8
-105E9E3D8:lI111|H105E9E518
-105E9E518:lI99|H105E9E658
-105E9E658:lI50|H105E9E798
-105E9E798:lI48|H105E9E8D8
-105E9E8D8:lI50|H105E9EA18
-105E9EA18:lI51|H105E9EB58
-105E9EB58:lI47|H105E9EC98
-105E9EC98:lI98|H105E9EDD8
-105E9EDD8:lI117|H105E9EF18
-105E9EF18:lI105|H105E9F058
-105E9F058:lI108|H105E9F198
-105E9F198:lI100|H105E9F2D8
-105E9F2D8:lI47|H105E9F418
-105E9F418:lI100|H105E9F558
-105E9F558:lI101|H105E9F688
-105E9F688:lI118|H105E9F7B8
-105E9F7B8:lI47|H105E9F8E8
-105E9F8E8:lI101|H105E9FA18
-105E9FA18:lI114|H105E9FB48
-105E9FB48:lI108|H105E9FC78
-105E9FC78:lI97|H105E9FDA8
-105E9FDA8:lI110|H105E9FED8
-105E9FED8:lI103|H105EA0008
-105EA0008:lI47|H105EA0138
-105EA0138:lI103|H105EA0268
-105EA0268:lI108|H105EA0398
-105EA0398:lI101|H105EA04C8
-105EA04C8:lI97|H105EA05F8
-105EA05F8:lI109|H105EA0728
-105EA0728:lI95|H105EA0858
-105EA0858:lI118|H105EA0988
-105EA0988:lI101|H105EA0AB8
-105EA0AB8:lI114|H105EA0BE8
-105EA0BE8:lI115|H105EA0D18
-105EA0D18:lI105|H105EA0E48
-105EA0E48:lI111|H105EA0F78
-105EA0F78:lI110|H105EA10A8
-105EA10A8:lI47|H105EA11A8
-105EA11A8:lI101|H105EA1298
-105EA1298:lI98|H105EA1378
-105EA1378:lI105|H105EA1458
-105EA1458:lI110|N
-105E9B428:lH105E9B468|H105E9B478
-105E9B468:lI47|H105E9B4B8
-105E9B4B8:lI85|H105E9B518
-105E9B518:lI115|H105E9B588
-105E9B588:lI101|H105E9B608
-105E9B608:lI114|H105E9B698
-105E9B698:lI115|H105E9B738
-105E9B738:lI47|H105E9B7E8
-105E9B7E8:lI110|H105E9B8A8
-105E9B8A8:lI105|H105E9B978
-105E9B978:lI99|H105E9BA58
-105E9BA58:lI104|H105E9BB48
-105E9BB48:lI111|H105E9BC48
-105E9BC48:lI108|H105E9BD58
-105E9BD58:lI97|H105E9BE78
-105E9BE78:lI115|H105E9BFA8
-105E9BFA8:lI99|H105E9C0E8
-105E9C0E8:lI97|H105E9C228
-105E9C228:lI114|H105E9C368
-105E9C368:lI108|H105E9C4A8
-105E9C4A8:lI115|H105E9C5E8
-105E9C5E8:lI111|H105E9C728
-105E9C728:lI110|H105E9C868
-105E9C868:lI47|H105E9C9A8
-105E9C9A8:lI86|H105E9CAE8
-105E9CAE8:lI83|H105E9CC28
-105E9CC28:lI32|H105E9CD68
-105E9CD68:lI67|H105E9CEA8
-105E9CEA8:lI111|H105E9CFE8
-105E9CFE8:lI100|H105E9D128
-105E9D128:lI101|H105E9D268
-105E9D268:lI47|H105E9D3A8
-105E9D3A8:lI65|H105E9D4E8
-105E9D4E8:lI100|H105E9D628
-105E9D628:lI118|H105E9D768
-105E9D768:lI101|H105E9D8A8
-105E9D8A8:lI110|H105E9D9E8
-105E9D9E8:lI116|H105E9DB28
-105E9DB28:lI79|H105E9DC68
-105E9DC68:lI102|H105E9DDA8
-105E9DDA8:lI67|H105E9DEE8
-105E9DEE8:lI111|H105E9E028
-105E9E028:lI100|H105E9E168
-105E9E168:lI101|H105E9E2A8
-105E9E2A8:lI47|H105E9E3E8
-105E9E3E8:lI97|H105E9E528
-105E9E528:lI111|H105E9E668
-105E9E668:lI99|H105E9E7A8
-105E9E7A8:lI50|H105E9E8E8
-105E9E8E8:lI48|H105E9EA28
-105E9EA28:lI50|H105E9EB68
-105E9EB68:lI51|H105E9ECA8
-105E9ECA8:lI47|H105E9EDE8
-105E9EDE8:lI98|H105E9EF28
-105E9EF28:lI117|H105E9F068
-105E9F068:lI105|H105E9F1A8
-105E9F1A8:lI108|H105E9F2E8
-105E9F2E8:lI100|H105E9F428
-105E9F428:lI47|H105E9F568
-105E9F568:lI100|H105E9F698
-105E9F698:lI101|H105E9F7C8
-105E9F7C8:lI118|H105E9F8F8
-105E9F8F8:lI47|H105E9FA28
-105E9FA28:lI101|H105E9FB58
-105E9FB58:lI114|H105E9FC88
-105E9FC88:lI108|H105E9FDB8
-105E9FDB8:lI97|H105E9FEE8
-105E9FEE8:lI110|H105EA0018
-105EA0018:lI103|H105EA0148
-105EA0148:lI47|H105EA0278
-105EA0278:lI97|H105EA03A8
-105EA03A8:lI100|H105EA04D8
-105EA04D8:lI103|H105EA0608
-105EA0608:lI108|H105EA0738
-105EA0738:lI101|H105EA0868
-105EA0868:lI110|H105EA0998
-105EA0998:lI116|H105EA0AC8
-105EA0AC8:lI47|H105EA0BF8
-105EA0BF8:lI101|H105EA0D28
-105EA0D28:lI98|H105EA0E58
-105EA0E58:lI105|H105EA0F88
-105EA0F88:lI110|N
-105E9B478:lH105E9B4C8|H105E9B4D8
-105E9B4C8:lI47|H105E9B528
-105E9B528:lI85|H105E9B598
-105E9B598:lI115|H105E9B618
-105E9B618:lI101|H105E9B6A8
-105E9B6A8:lI114|H105E9B748
-105E9B748:lI115|H105E9B7F8
-105E9B7F8:lI47|H105E9B8B8
-105E9B8B8:lI110|H105E9B988
-105E9B988:lI105|H105E9BA68
-105E9BA68:lI99|H105E9BB58
-105E9BB58:lI104|H105E9BC58
-105E9BC58:lI111|H105E9BD68
-105E9BD68:lI108|H105E9BE88
-105E9BE88:lI97|H105E9BFB8
-105E9BFB8:lI115|H105E9C0F8
-105E9C0F8:lI99|H105E9C238
-105E9C238:lI97|H105E9C378
-105E9C378:lI114|H105E9C4B8
-105E9C4B8:lI108|H105E9C5F8
-105E9C5F8:lI115|H105E9C738
-105E9C738:lI111|H105E9C878
-105E9C878:lI110|H105E9C9B8
-105E9C9B8:lI47|H105E9CAF8
-105E9CAF8:lI86|H105E9CC38
-105E9CC38:lI83|H105E9CD78
-105E9CD78:lI32|H105E9CEB8
-105E9CEB8:lI67|H105E9CFF8
-105E9CFF8:lI111|H105E9D138
-105E9D138:lI100|H105E9D278
-105E9D278:lI101|H105E9D3B8
-105E9D3B8:lI47|H105E9D4F8
-105E9D4F8:lI65|H105E9D638
-105E9D638:lI100|H105E9D778
-105E9D778:lI118|H105E9D8B8
-105E9D8B8:lI101|H105E9D9F8
-105E9D9F8:lI110|H105E9DB38
-105E9DB38:lI116|H105E9DC78
-105E9DC78:lI79|H105E9DDB8
-105E9DDB8:lI102|H105E9DEF8
-105E9DEF8:lI67|H105E9E038
-105E9E038:lI111|H105E9E178
-105E9E178:lI100|H105E9E2B8
-105E9E2B8:lI101|H105E9E3F8
-105E9E3F8:lI47|H105E9E538
-105E9E538:lI97|H105E9E678
-105E9E678:lI111|H105E9E7B8
-105E9E7B8:lI99|H105E9E8F8
-105E9E8F8:lI50|H105E9EA38
-105E9EA38:lI48|H105E9EB78
-105E9EB78:lI50|H105E9ECB8
-105E9ECB8:lI51|H105E9EDF8
-105E9EDF8:lI47|H105E9EF38
-105E9EF38:lI98|H105E9F078
-105E9F078:lI117|H105E9F1B8
-105E9F1B8:lI105|H105E9F2F8
-105E9F2F8:lI108|H105E9F438
-105E9F438:lI100|H105E9F578
-105E9F578:lI47|H105E9F6A8
-105E9F6A8:lI100|H105E9F7D8
-105E9F7D8:lI101|H105E9F908
-105E9F908:lI118|H105E9FA38
-105E9FA38:lI47|H105E9FB68
-105E9FB68:lI101|H105E9FC98
-105E9FC98:lI114|H105E9FDC8
-105E9FDC8:lI108|H105E9FEF8
-105E9FEF8:lI97|H105EA0028
-105EA0028:lI110|H105EA0158
-105EA0158:lI103|H105EA0288
-105EA0288:lI47|H105EA03B8
-105EA03B8:lI103|H105EA04E8
-105EA04E8:lI108|H105EA0618
-105EA0618:lI101|H105EA0748
-105EA0748:lI97|H105EA0878
-105EA0878:lI109|H105EA09A8
-105EA09A8:lI95|H105EA0AD8
-105EA0AD8:lI101|H105EA0C08
-105EA0C08:lI114|H105EA0D38
-105EA0D38:lI108|H105EA0E68
-105EA0E68:lI97|H105EA0F98
-105EA0F98:lI110|H105EA10B8
-105EA10B8:lI103|H105EA11B8
-105EA11B8:lI47|H105EA12A8
-105EA12A8:lI101|H105EA1388
-105EA1388:lI98|H105EA1468
-105EA1468:lI105|H105EA1538
-105EA1538:lI110|N
-105E9B4D8:lH105E9B538|H105E9B548
-105E9B538:lI47|H105E9B5A8
-105E9B5A8:lI85|H105E9B628
-105E9B628:lI115|H105E9B6B8
-105E9B6B8:lI101|H105E9B758
-105E9B758:lI114|H105E9B808
-105E9B808:lI115|H105E9B8C8
-105E9B8C8:lI47|H105E9B998
-105E9B998:lI110|H105E9BA78
-105E9BA78:lI105|H105E9BB68
-105E9BB68:lI99|H105E9BC68
-105E9BC68:lI104|H105E9BD78
-105E9BD78:lI111|H105E9BE98
-105E9BE98:lI108|H105E9BFC8
-105E9BFC8:lI97|H105E9C108
-105E9C108:lI115|H105E9C248
-105E9C248:lI99|H105E9C388
-105E9C388:lI97|H105E9C4C8
-105E9C4C8:lI114|H105E9C608
-105E9C608:lI108|H105E9C748
-105E9C748:lI115|H105E9C888
-105E9C888:lI111|H105E9C9C8
-105E9C9C8:lI110|H105E9CB08
-105E9CB08:lI47|H105E9CC48
-105E9CC48:lI86|H105E9CD88
-105E9CD88:lI83|H105E9CEC8
-105E9CEC8:lI32|H105E9D008
-105E9D008:lI67|H105E9D148
-105E9D148:lI111|H105E9D288
-105E9D288:lI100|H105E9D3C8
-105E9D3C8:lI101|H105E9D508
-105E9D508:lI47|H105E9D648
-105E9D648:lI65|H105E9D788
-105E9D788:lI100|H105E9D8C8
-105E9D8C8:lI118|H105E9DA08
-105E9DA08:lI101|H105E9DB48
-105E9DB48:lI110|H105E9DC88
-105E9DC88:lI116|H105E9DDC8
-105E9DDC8:lI79|H105E9DF08
-105E9DF08:lI102|H105E9E048
-105E9E048:lI67|H105E9E188
-105E9E188:lI111|H105E9E2C8
-105E9E2C8:lI100|H105E9E408
-105E9E408:lI101|H105E9E548
-105E9E548:lI47|H105E9E688
-105E9E688:lI97|H105E9E7C8
-105E9E7C8:lI111|H105E9E908
-105E9E908:lI99|H105E9EA48
-105E9EA48:lI50|H105E9EB88
-105E9EB88:lI48|H105E9ECC8
-105E9ECC8:lI50|H105E9EE08
-105E9EE08:lI51|H105E9EF48
-105E9EF48:lI47|H105E9F088
-105E9F088:lI98|H105E9F1C8
-105E9F1C8:lI117|H105E9F308
-105E9F308:lI105|H105E9F448
-105E9F448:lI108|H105E9F588
-105E9F588:lI100|H105E9F6B8
-105E9F6B8:lI47|H105E9F7E8
-105E9F7E8:lI100|H105E9F918
-105E9F918:lI101|H105E9FA48
-105E9FA48:lI118|H105E9FB78
-105E9FB78:lI47|H105E9FCA8
-105E9FCA8:lI101|H105E9FDD8
-105E9FDD8:lI114|H105E9FF08
-105E9FF08:lI108|H105EA0038
-105EA0038:lI97|H105EA0168
-105EA0168:lI110|H105EA0298
-105EA0298:lI103|H105EA03C8
-105EA03C8:lI47|H105EA04F8
-105EA04F8:lI103|H105EA0628
-105EA0628:lI108|H105EA0758
-105EA0758:lI105|H105EA0888
-105EA0888:lI110|H105EA09B8
-105EA09B8:lI116|H105EA0AE8
-105EA0AE8:lI47|H105EA0C18
-105EA0C18:lI101|H105EA0D48
-105EA0D48:lI98|H105EA0E78
-105EA0E78:lI105|H105EA0FA8
-105EA0FA8:lI110|N
-105E9B548:lH105E9B5B8|H105E9B5C8
-105E9B5B8:lI47|H105E9B638
-105E9B638:lI85|H105E9B6C8
-105E9B6C8:lI115|H105E9B768
-105E9B768:lI101|H105E9B818
-105E9B818:lI114|H105E9B8D8
-105E9B8D8:lI115|H105E9B9A8
-105E9B9A8:lI47|H105E9BA88
-105E9BA88:lI110|H105E9BB78
-105E9BB78:lI105|H105E9BC78
-105E9BC78:lI99|H105E9BD88
-105E9BD88:lI104|H105E9BEA8
-105E9BEA8:lI111|H105E9BFD8
-105E9BFD8:lI108|H105E9C118
-105E9C118:lI97|H105E9C258
-105E9C258:lI115|H105E9C398
-105E9C398:lI99|H105E9C4D8
-105E9C4D8:lI97|H105E9C618
-105E9C618:lI114|H105E9C758
-105E9C758:lI108|H105E9C898
-105E9C898:lI115|H105E9C9D8
-105E9C9D8:lI111|H105E9CB18
-105E9CB18:lI110|H105E9CC58
-105E9CC58:lI47|H105E9CD98
-105E9CD98:lI86|H105E9CED8
-105E9CED8:lI83|H105E9D018
-105E9D018:lI32|H105E9D158
-105E9D158:lI67|H105E9D298
-105E9D298:lI111|H105E9D3D8
-105E9D3D8:lI100|H105E9D518
-105E9D518:lI101|H105E9D658
-105E9D658:lI47|H105E9D798
-105E9D798:lI65|H105E9D8D8
-105E9D8D8:lI100|H105E9DA18
-105E9DA18:lI118|H105E9DB58
-105E9DB58:lI101|H105E9DC98
-105E9DC98:lI110|H105E9DDD8
-105E9DDD8:lI116|H105E9DF18
-105E9DF18:lI79|H105E9E058
-105E9E058:lI102|H105E9E198
-105E9E198:lI67|H105E9E2D8
-105E9E2D8:lI111|H105E9E418
-105E9E418:lI100|H105E9E558
-105E9E558:lI101|H105E9E698
-105E9E698:lI47|H105E9E7D8
-105E9E7D8:lI97|H105E9E918
-105E9E918:lI111|H105E9EA58
-105E9EA58:lI99|H105E9EB98
-105E9EB98:lI50|H105E9ECD8
-105E9ECD8:lI48|H105E9EE18
-105E9EE18:lI50|H105E9EF58
-105E9EF58:lI51|H105E9F098
-105E9F098:lI47|H105E9F1D8
-105E9F1D8:lI98|H105E9F318
-105E9F318:lI117|H105E9F458
-105E9F458:lI105|H105E9F598
-105E9F598:lI108|H105E9F6C8
-105E9F6C8:lI100|H105E9F7F8
-105E9F7F8:lI47|H105E9F928
-105E9F928:lI100|H105E9FA58
-105E9FA58:lI101|H105E9FB88
-105E9FB88:lI118|H105E9FCB8
-105E9FCB8:lI47|H105E9FDE8
-105E9FDE8:lI101|H105E9FF18
-105E9FF18:lI114|H105EA0048
-105EA0048:lI108|H105EA0178
-105EA0178:lI97|H105EA02A8
-105EA02A8:lI110|H105EA03D8
-105EA03D8:lI103|H105EA0508
-105EA0508:lI47|H105EA0638
-105EA0638:lI103|H105EA0768
-105EA0768:lI108|H105EA0898
-105EA0898:lI101|H105EA09C8
-105EA09C8:lI97|H105EA0AF8
-105EA0AF8:lI109|H105EA0C28
-105EA0C28:lI95|H105EA0D58
-105EA0D58:lI104|H105EA0E88
-105EA0E88:lI116|H105EA0FB8
-105EA0FB8:lI116|H105EA10C8
-105EA10C8:lI112|H105EA11C8
-105EA11C8:lI47|H105EA12B8
-105EA12B8:lI101|H105EA1398
-105EA1398:lI98|H105EA1478
-105EA1478:lI105|H105EA1548
-105EA1548:lI110|N
-105E9B5C8:lH105E9B648|H105E9B658
-105E9B648:lI47|H105E9B6D8
-105E9B6D8:lI85|H105E9B778
-105E9B778:lI115|H105E9B828
-105E9B828:lI101|H105E9B8E8
-105E9B8E8:lI114|H105E9B9B8
-105E9B9B8:lI115|H105E9BA98
-105E9BA98:lI47|H105E9BB88
-105E9BB88:lI110|H105E9BC88
-105E9BC88:lI105|H105E9BD98
-105E9BD98:lI99|H105E9BEB8
-105E9BEB8:lI104|H105E9BFE8
-105E9BFE8:lI111|H105E9C128
-105E9C128:lI108|H105E9C268
-105E9C268:lI97|H105E9C3A8
-105E9C3A8:lI115|H105E9C4E8
-105E9C4E8:lI99|H105E9C628
-105E9C628:lI97|H105E9C768
-105E9C768:lI114|H105E9C8A8
-105E9C8A8:lI108|H105E9C9E8
-105E9C9E8:lI115|H105E9CB28
-105E9CB28:lI111|H105E9CC68
-105E9CC68:lI110|H105E9CDA8
-105E9CDA8:lI47|H105E9CEE8
-105E9CEE8:lI86|H105E9D028
-105E9D028:lI83|H105E9D168
-105E9D168:lI32|H105E9D2A8
-105E9D2A8:lI67|H105E9D3E8
-105E9D3E8:lI111|H105E9D528
-105E9D528:lI100|H105E9D668
-105E9D668:lI101|H105E9D7A8
-105E9D7A8:lI47|H105E9D8E8
-105E9D8E8:lI65|H105E9DA28
-105E9DA28:lI100|H105E9DB68
-105E9DB68:lI118|H105E9DCA8
-105E9DCA8:lI101|H105E9DDE8
-105E9DDE8:lI110|H105E9DF28
-105E9DF28:lI116|H105E9E068
-105E9E068:lI79|H105E9E1A8
-105E9E1A8:lI102|H105E9E2E8
-105E9E2E8:lI67|H105E9E428
-105E9E428:lI111|H105E9E568
-105E9E568:lI100|H105E9E6A8
-105E9E6A8:lI101|H105E9E7E8
-105E9E7E8:lI47|H105E9E928
-105E9E928:lI97|H105E9EA68
-105E9EA68:lI111|H105E9EBA8
-105E9EBA8:lI99|H105E9ECE8
-105E9ECE8:lI50|H105E9EE28
-105E9EE28:lI48|H105E9EF68
-105E9EF68:lI50|H105E9F0A8
-105E9F0A8:lI51|H105E9F1E8
-105E9F1E8:lI47|H105E9F328
-105E9F328:lI98|H105E9F468
-105E9F468:lI117|H105E9F5A8
-105E9F5A8:lI105|H105E9F6D8
-105E9F6D8:lI108|H105E9F808
-105E9F808:lI100|H105E9F938
-105E9F938:lI47|H105E9FA68
-105E9FA68:lI100|H105E9FB98
-105E9FB98:lI101|H105E9FCC8
-105E9FCC8:lI118|H105E9FDF8
-105E9FDF8:lI47|H105E9FF28
-105E9FF28:lI101|H105EA0058
-105EA0058:lI114|H105EA0188
-105EA0188:lI108|H105EA02B8
-105EA02B8:lI97|H105EA03E8
-105EA03E8:lI110|H105EA0518
-105EA0518:lI103|H105EA0648
-105EA0648:lI47|H105EA0778
-105EA0778:lI103|H105EA08A8
-105EA08A8:lI97|H105EA09D8
-105EA09D8:lI112|H105EA0B08
-105EA0B08:lI47|H105EA0C38
-105EA0C38:lI101|H105EA0D68
-105EA0D68:lI98|H105EA0E98
-105EA0E98:lI105|H105EA0FC8
-105EA0FC8:lI110|N
-105E9B658:lH105E9B6E8|H105E9B6F8
-105E9B6E8:lI47|H105E9B788
-105E9B788:lI85|H105E9B838
-105E9B838:lI115|H105E9B8F8
-105E9B8F8:lI101|H105E9B9C8
-105E9B9C8:lI114|H105E9BAA8
-105E9BAA8:lI115|H105E9BB98
-105E9BB98:lI47|H105E9BC98
-105E9BC98:lI110|H105E9BDA8
-105E9BDA8:lI105|H105E9BEC8
-105E9BEC8:lI99|H105E9BFF8
-105E9BFF8:lI104|H105E9C138
-105E9C138:lI111|H105E9C278
-105E9C278:lI108|H105E9C3B8
-105E9C3B8:lI97|H105E9C4F8
-105E9C4F8:lI115|H105E9C638
-105E9C638:lI99|H105E9C778
-105E9C778:lI97|H105E9C8B8
-105E9C8B8:lI114|H105E9C9F8
-105E9C9F8:lI108|H105E9CB38
-105E9CB38:lI115|H105E9CC78
-105E9CC78:lI111|H105E9CDB8
-105E9CDB8:lI110|H105E9CEF8
-105E9CEF8:lI47|H105E9D038
-105E9D038:lI86|H105E9D178
-105E9D178:lI83|H105E9D2B8
-105E9D2B8:lI32|H105E9D3F8
-105E9D3F8:lI67|H105E9D538
-105E9D538:lI111|H105E9D678
-105E9D678:lI100|H105E9D7B8
-105E9D7B8:lI101|H105E9D8F8
-105E9D8F8:lI47|H105E9DA38
-105E9DA38:lI65|H105E9DB78
-105E9DB78:lI100|H105E9DCB8
-105E9DCB8:lI118|H105E9DDF8
-105E9DDF8:lI101|H105E9DF38
-105E9DF38:lI110|H105E9E078
-105E9E078:lI116|H105E9E1B8
-105E9E1B8:lI79|H105E9E2F8
-105E9E2F8:lI102|H105E9E438
-105E9E438:lI67|H105E9E578
-105E9E578:lI111|H105E9E6B8
-105E9E6B8:lI100|H105E9E7F8
-105E9E7F8:lI101|H105E9E938
-105E9E938:lI47|H105E9EA78
-105E9EA78:lI97|H105E9EBB8
-105E9EBB8:lI111|H105E9ECF8
-105E9ECF8:lI99|H105E9EE38
-105E9EE38:lI50|H105E9EF78
-105E9EF78:lI48|H105E9F0B8
-105E9F0B8:lI50|H105E9F1F8
-105E9F1F8:lI51|H105E9F338
-105E9F338:lI47|H105E9F478
-105E9F478:lI98|H105E9F5B8
-105E9F5B8:lI117|H105E9F6E8
-105E9F6E8:lI105|H105E9F818
-105E9F818:lI108|H105E9F948
-105E9F948:lI100|H105E9FA78
-105E9FA78:lI47|H105E9FBA8
-105E9FBA8:lI100|H105E9FCD8
-105E9FCD8:lI101|H105E9FE08
-105E9FE08:lI118|H105E9FF38
-105E9FF38:lI47|H105EA0068
-105EA0068:lI101|H105EA0198
-105EA0198:lI114|H105EA02C8
-105EA02C8:lI108|H105EA03F8
-105EA03F8:lI97|H105EA0528
-105EA0528:lI110|H105EA0658
-105EA0658:lI103|H105EA0788
-105EA0788:lI47|H105EA08B8
-105EA08B8:lI103|H105EA09E8
-105EA09E8:lI108|H105EA0B18
-105EA0B18:lI101|H105EA0C48
-105EA0C48:lI97|H105EA0D78
-105EA0D78:lI109|H105EA0EA8
-105EA0EA8:lI95|H105EA0FD8
-105EA0FD8:lI111|H105EA10D8
-105EA10D8:lI116|H105EA11D8
-105EA11D8:lI112|H105EA12C8
-105EA12C8:lI47|H105EA13A8
-105EA13A8:lI101|H105EA1488
-105EA1488:lI98|H105EA1558
-105EA1558:lI105|H105EA1608
-105EA1608:lI110|N
-105E9B6F8:lH105E9B798|H105E9B7A8
-105E9B798:lI47|H105E9B848
-105E9B848:lI85|H105E9B908
-105E9B908:lI115|H105E9B9D8
-105E9B9D8:lI101|H105E9BAB8
-105E9BAB8:lI114|H105E9BBA8
-105E9BBA8:lI115|H105E9BCA8
-105E9BCA8:lI47|H105E9BDB8
-105E9BDB8:lI110|H105E9BED8
-105E9BED8:lI105|H105E9C008
-105E9C008:lI99|H105E9C148
-105E9C148:lI104|H105E9C288
-105E9C288:lI111|H105E9C3C8
-105E9C3C8:lI108|H105E9C508
-105E9C508:lI97|H105E9C648
-105E9C648:lI115|H105E9C788
-105E9C788:lI99|H105E9C8C8
-105E9C8C8:lI97|H105E9CA08
-105E9CA08:lI114|H105E9CB48
-105E9CB48:lI108|H105E9CC88
-105E9CC88:lI115|H105E9CDC8
-105E9CDC8:lI111|H105E9CF08
-105E9CF08:lI110|H105E9D048
-105E9D048:lI47|H105E9D188
-105E9D188:lI86|H105E9D2C8
-105E9D2C8:lI83|H105E9D408
-105E9D408:lI32|H105E9D548
-105E9D548:lI67|H105E9D688
-105E9D688:lI111|H105E9D7C8
-105E9D7C8:lI100|H105E9D908
-105E9D908:lI101|H105E9DA48
-105E9DA48:lI47|H105E9DB88
-105E9DB88:lI65|H105E9DCC8
-105E9DCC8:lI100|H105E9DE08
-105E9DE08:lI118|H105E9DF48
-105E9DF48:lI101|H105E9E088
-105E9E088:lI110|H105E9E1C8
-105E9E1C8:lI116|H105E9E308
-105E9E308:lI79|H105E9E448
-105E9E448:lI102|H105E9E588
-105E9E588:lI67|H105E9E6C8
-105E9E6C8:lI111|H105E9E808
-105E9E808:lI100|H105E9E948
-105E9E948:lI101|H105E9EA88
-105E9EA88:lI47|H105E9EBC8
-105E9EBC8:lI97|H105E9ED08
-105E9ED08:lI111|H105E9EE48
-105E9EE48:lI99|H105E9EF88
-105E9EF88:lI50|H105E9F0C8
-105E9F0C8:lI48|H105E9F208
-105E9F208:lI50|H105E9F348
-105E9F348:lI51|H105E9F488
-105E9F488:lI47|H105E9F5C8
-105E9F5C8:lI98|H105E9F6F8
-105E9F6F8:lI117|H105E9F828
-105E9F828:lI105|H105E9F958
-105E9F958:lI108|H105E9FA88
-105E9FA88:lI100|H105E9FBB8
-105E9FBB8:lI47|H105E9FCE8
-105E9FCE8:lI100|H105E9FE18
-105E9FE18:lI101|H105E9FF48
-105E9FF48:lI118|H105EA0078
-105EA0078:lI47|H105EA01A8
-105EA01A8:lI101|H105EA02D8
-105EA02D8:lI114|H105EA0408
-105EA0408:lI108|H105EA0538
-105EA0538:lI97|H105EA0668
-105EA0668:lI110|H105EA0798
-105EA0798:lI103|H105EA08C8
-105EA08C8:lI47|H105EA09F8
-105EA09F8:lI103|H105EA0B28
-105EA0B28:lI108|H105EA0C58
-105EA0C58:lI101|H105EA0D88
-105EA0D88:lI97|H105EA0EB8
-105EA0EB8:lI109|H105EA0FE8
-105EA0FE8:lI95|H105EA10E8
-105EA10E8:lI99|H105EA11E8
-105EA11E8:lI111|H105EA12D8
-105EA12D8:lI109|H105EA13B8
-105EA13B8:lI109|H105EA1498
-105EA1498:lI117|H105EA1568
-105EA1568:lI110|H105EA1618
-105EA1618:lI105|H105EA16B8
-105EA16B8:lI116|H105EA1758
-105EA1758:lI121|H105EA17D8
-105EA17D8:lI95|H105EA1858
-105EA1858:lI99|H105EA18B8
-105EA18B8:lI111|H105EA1908
-105EA1908:lI108|H105EA1958
-105EA1958:lI111|H105EA1978
-105EA1978:lI117|H105EA1998
-105EA1998:lI114|H105EA19B8
-105EA19B8:lI47|H105EA19D8
-105EA19D8:lI101|H105EA19E8
-105EA19E8:lI98|H105EA19F8
-105EA19F8:lI105|H105EA1A08
-105EA1A08:lI110|N
-105E9B7A8:lH105E9B858|H105E9B868
-105E9B858:lI47|H105E9B918
-105E9B918:lI85|H105E9B9E8
-105E9B9E8:lI115|H105E9BAC8
-105E9BAC8:lI101|H105E9BBB8
-105E9BBB8:lI114|H105E9BCB8
-105E9BCB8:lI115|H105E9BDC8
-105E9BDC8:lI47|H105E9BEE8
-105E9BEE8:lI110|H105E9C018
-105E9C018:lI105|H105E9C158
-105E9C158:lI99|H105E9C298
-105E9C298:lI104|H105E9C3D8
-105E9C3D8:lI111|H105E9C518
-105E9C518:lI108|H105E9C658
-105E9C658:lI97|H105E9C798
-105E9C798:lI115|H105E9C8D8
-105E9C8D8:lI99|H105E9CA18
-105E9CA18:lI97|H105E9CB58
-105E9CB58:lI114|H105E9CC98
-105E9CC98:lI108|H105E9CDD8
-105E9CDD8:lI115|H105E9CF18
-105E9CF18:lI111|H105E9D058
-105E9D058:lI110|H105E9D198
-105E9D198:lI47|H105E9D2D8
-105E9D2D8:lI86|H105E9D418
-105E9D418:lI83|H105E9D558
-105E9D558:lI32|H105E9D698
-105E9D698:lI67|H105E9D7D8
-105E9D7D8:lI111|H105E9D918
-105E9D918:lI100|H105E9DA58
-105E9DA58:lI101|H105E9DB98
-105E9DB98:lI47|H105E9DCD8
-105E9DCD8:lI65|H105E9DE18
-105E9DE18:lI100|H105E9DF58
-105E9DF58:lI118|H105E9E098
-105E9E098:lI101|H105E9E1D8
-105E9E1D8:lI110|H105E9E318
-105E9E318:lI116|H105E9E458
-105E9E458:lI79|H105E9E598
-105E9E598:lI102|H105E9E6D8
-105E9E6D8:lI67|H105E9E818
-105E9E818:lI111|H105E9E958
-105E9E958:lI100|H105E9EA98
-105E9EA98:lI101|H105E9EBD8
-105E9EBD8:lI47|H105E9ED18
-105E9ED18:lI97|H105E9EE58
-105E9EE58:lI111|H105E9EF98
-105E9EF98:lI99|H105E9F0D8
-105E9F0D8:lI50|H105E9F218
-105E9F218:lI48|H105E9F358
-105E9F358:lI50|H105E9F498
-105E9F498:lI51|H105E9F5D8
-105E9F5D8:lI47|H105E9F708
-105E9F708:lI98|H105E9F838
-105E9F838:lI117|H105E9F968
-105E9F968:lI105|H105E9FA98
-105E9FA98:lI108|H105E9FBC8
-105E9FBC8:lI100|H105E9FCF8
-105E9FCF8:lI47|H105E9FE28
-105E9FE28:lI100|H105E9FF58
-105E9FF58:lI101|H105EA0088
-105EA0088:lI118|H105EA01B8
-105EA01B8:lI47|H105EA02E8
-105EA02E8:lI101|H105EA0418
-105EA0418:lI114|H105EA0548
-105EA0548:lI108|H105EA0678
-105EA0678:lI97|H105EA07A8
-105EA07A8:lI110|H105EA08D8
-105EA08D8:lI103|H105EA0A08
-105EA0A08:lI47|H105EA0B38
-105EA0B38:lI103|H105EA0C68
-105EA0C68:lI108|H105EA0D98
-105EA0D98:lI101|H105EA0EC8
-105EA0EC8:lI97|H105EA0FF8
-105EA0FF8:lI109|H105EA10F8
-105EA10F8:lI95|H105EA11F8
-105EA11F8:lI104|H105EA12E8
-105EA12E8:lI116|H105EA13C8
-105EA13C8:lI116|H105EA14A8
-105EA14A8:lI112|H105EA1578
-105EA1578:lI99|H105EA1628
-105EA1628:lI47|H105EA16C8
-105EA16C8:lI101|H105EA1768
-105EA1768:lI98|H105EA17E8
-105EA17E8:lI105|H105EA1868
-105EA1868:lI110|N
-105E9B868:lH105E9B928|H105E9B938
-105E9B928:lI47|H105E9B9F8
-105E9B9F8:lI85|H105E9BAD8
-105E9BAD8:lI115|H105E9BBC8
-105E9BBC8:lI101|H105E9BCC8
-105E9BCC8:lI114|H105E9BDD8
-105E9BDD8:lI115|H105E9BEF8
-105E9BEF8:lI47|H105E9C028
-105E9C028:lI110|H105E9C168
-105E9C168:lI105|H105E9C2A8
-105E9C2A8:lI99|H105E9C3E8
-105E9C3E8:lI104|H105E9C528
-105E9C528:lI111|H105E9C668
-105E9C668:lI108|H105E9C7A8
-105E9C7A8:lI97|H105E9C8E8
-105E9C8E8:lI115|H105E9CA28
-105E9CA28:lI99|H105E9CB68
-105E9CB68:lI97|H105E9CCA8
-105E9CCA8:lI114|H105E9CDE8
-105E9CDE8:lI108|H105E9CF28
-105E9CF28:lI115|H105E9D068
-105E9D068:lI111|H105E9D1A8
-105E9D1A8:lI110|H105E9D2E8
-105E9D2E8:lI47|H105E9D428
-105E9D428:lI86|H105E9D568
-105E9D568:lI83|H105E9D6A8
-105E9D6A8:lI32|H105E9D7E8
-105E9D7E8:lI67|H105E9D928
-105E9D928:lI111|H105E9DA68
-105E9DA68:lI100|H105E9DBA8
-105E9DBA8:lI101|H105E9DCE8
-105E9DCE8:lI47|H105E9DE28
-105E9DE28:lI65|H105E9DF68
-105E9DF68:lI100|H105E9E0A8
-105E9E0A8:lI118|H105E9E1E8
-105E9E1E8:lI101|H105E9E328
-105E9E328:lI110|H105E9E468
-105E9E468:lI116|H105E9E5A8
-105E9E5A8:lI79|H105E9E6E8
-105E9E6E8:lI102|H105E9E828
-105E9E828:lI67|H105E9E968
-105E9E968:lI111|H105E9EAA8
-105E9EAA8:lI100|H105E9EBE8
-105E9EBE8:lI101|H105E9ED28
-105E9ED28:lI47|H105E9EE68
-105E9EE68:lI97|H105E9EFA8
-105E9EFA8:lI111|H105E9F0E8
-105E9F0E8:lI99|H105E9F228
-105E9F228:lI50|H105E9F368
-105E9F368:lI48|H105E9F4A8
-105E9F4A8:lI50|H105E9F5E8
-105E9F5E8:lI51|H105E9F718
-105E9F718:lI47|H105E9F848
-105E9F848:lI98|H105E9F978
-105E9F978:lI117|H105E9FAA8
-105E9FAA8:lI105|H105E9FBD8
-105E9FBD8:lI108|H105E9FD08
-105E9FD08:lI100|H105E9FE38
-105E9FE38:lI47|H105E9FF68
-105E9FF68:lI100|H105EA0098
-105EA0098:lI101|H105EA01C8
-105EA01C8:lI118|H105EA02F8
-105EA02F8:lI47|H105EA0428
-105EA0428:lI101|H105EA0558
-105EA0558:lI114|H105EA0688
-105EA0688:lI108|H105EA07B8
-105EA07B8:lI97|H105EA08E8
-105EA08E8:lI110|H105EA0A18
-105EA0A18:lI103|H105EA0B48
-105EA0B48:lI47|H105EA0C78
-105EA0C78:lI103|H105EA0DA8
-105EA0DA8:lI108|H105EA0ED8
-105EA0ED8:lI101|H105EA1008
-105EA1008:lI97|H105EA1108
-105EA1108:lI109|H105EA1208
-105EA1208:lI95|H105EA12F8
-105EA12F8:lI115|H105EA13D8
-105EA13D8:lI116|H105EA14B8
-105EA14B8:lI100|H105EA1588
-105EA1588:lI108|H105EA1638
-105EA1638:lI105|H105EA16D8
-105EA16D8:lI98|H105EA1778
-105EA1778:lI47|H105EA17F8
-105EA17F8:lI101|H105EA1878
-105EA1878:lI98|H105EA18C8
-105EA18C8:lI105|H105EA1918
-105EA1918:lI110|N
-105E9B938:lH105E9BA08|H105E9BA18
-105E9BA08:lI47|H105E9BAE8
-105E9BAE8:lI85|H105E9BBD8
-105E9BBD8:lI115|H105E9BCD8
-105E9BCD8:lI101|H105E9BDE8
-105E9BDE8:lI114|H105E9BF08
-105E9BF08:lI115|H105E9C038
-105E9C038:lI47|H105E9C178
-105E9C178:lI110|H105E9C2B8
-105E9C2B8:lI105|H105E9C3F8
-105E9C3F8:lI99|H105E9C538
-105E9C538:lI104|H105E9C678
-105E9C678:lI111|H105E9C7B8
-105E9C7B8:lI108|H105E9C8F8
-105E9C8F8:lI97|H105E9CA38
-105E9CA38:lI115|H105E9CB78
-105E9CB78:lI99|H105E9CCB8
-105E9CCB8:lI97|H105E9CDF8
-105E9CDF8:lI114|H105E9CF38
-105E9CF38:lI108|H105E9D078
-105E9D078:lI115|H105E9D1B8
-105E9D1B8:lI111|H105E9D2F8
-105E9D2F8:lI110|H105E9D438
-105E9D438:lI47|H105E9D578
-105E9D578:lI86|H105E9D6B8
-105E9D6B8:lI83|H105E9D7F8
-105E9D7F8:lI32|H105E9D938
-105E9D938:lI67|H105E9DA78
-105E9DA78:lI111|H105E9DBB8
-105E9DBB8:lI100|H105E9DCF8
-105E9DCF8:lI101|H105E9DE38
-105E9DE38:lI47|H105E9DF78
-105E9DF78:lI65|H105E9E0B8
-105E9E0B8:lI100|H105E9E1F8
-105E9E1F8:lI118|H105E9E338
-105E9E338:lI101|H105E9E478
-105E9E478:lI110|H105E9E5B8
-105E9E5B8:lI116|H105E9E6F8
-105E9E6F8:lI79|H105E9E838
-105E9E838:lI102|H105E9E978
-105E9E978:lI67|H105E9EAB8
-105E9EAB8:lI111|H105E9EBF8
-105E9EBF8:lI100|H105E9ED38
-105E9ED38:lI101|H105E9EE78
-105E9EE78:lI47|H105E9EFB8
-105E9EFB8:lI97|H105E9F0F8
-105E9F0F8:lI111|H105E9F238
-105E9F238:lI99|H105E9F378
-105E9F378:lI50|H105E9F4B8
-105E9F4B8:lI48|H105E9F5F8
-105E9F5F8:lI50|H105E9F728
-105E9F728:lI51|H105E9F858
-105E9F858:lI47|H105E9F988
-105E9F988:lI98|H105E9FAB8
-105E9FAB8:lI117|H105E9FBE8
-105E9FBE8:lI105|H105E9FD18
-105E9FD18:lI108|H105E9FE48
-105E9FE48:lI100|H105E9FF78
-105E9FF78:lI47|H105EA00A8
-105EA00A8:lI100|H105EA01D8
-105EA01D8:lI101|H105EA0308
-105EA0308:lI118|H105EA0438
-105EA0438:lI47|H105EA0568
-105EA0568:lI101|H105EA0698
-105EA0698:lI114|H105EA07C8
-105EA07C8:lI108|H105EA08F8
-105EA08F8:lI97|H105EA0A28
-105EA0A28:lI110|H105EA0B58
-105EA0B58:lI103|H105EA0C88
-105EA0C88:lI47|H105EA0DB8
-105EA0DB8:lI103|H105EA0EE8
-105EA0EE8:lI108|H105EA1018
-105EA1018:lI101|H105EA1118
-105EA1118:lI101|H105EA1218
-105EA1218:lI117|H105EA1308
-105EA1308:lI110|H105EA13E8
-105EA13E8:lI105|H105EA14C8
-105EA14C8:lI116|H105EA1598
-105EA1598:lI47|H105EA1648
-105EA1648:lI101|H105EA16E8
-105EA16E8:lI98|H105EA1788
-105EA1788:lI105|H105EA1808
-105EA1808:lI110|N
-105E9BA18:lH105E9BAF8|H105E9BB08
-105E9BAF8:lI47|H105E9BBE8
-105E9BBE8:lI85|H105E9BCE8
-105E9BCE8:lI115|H105E9BDF8
-105E9BDF8:lI101|H105E9BF18
-105E9BF18:lI114|H105E9C048
-105E9C048:lI115|H105E9C188
-105E9C188:lI47|H105E9C2C8
-105E9C2C8:lI110|H105E9C408
-105E9C408:lI105|H105E9C548
-105E9C548:lI99|H105E9C688
-105E9C688:lI104|H105E9C7C8
-105E9C7C8:lI111|H105E9C908
-105E9C908:lI108|H105E9CA48
-105E9CA48:lI97|H105E9CB88
-105E9CB88:lI115|H105E9CCC8
-105E9CCC8:lI99|H105E9CE08
-105E9CE08:lI97|H105E9CF48
-105E9CF48:lI114|H105E9D088
-105E9D088:lI108|H105E9D1C8
-105E9D1C8:lI115|H105E9D308
-105E9D308:lI111|H105E9D448
-105E9D448:lI110|H105E9D588
-105E9D588:lI47|H105E9D6C8
-105E9D6C8:lI86|H105E9D808
-105E9D808:lI83|H105E9D948
-105E9D948:lI32|H105E9DA88
-105E9DA88:lI67|H105E9DBC8
-105E9DBC8:lI111|H105E9DD08
-105E9DD08:lI100|H105E9DE48
-105E9DE48:lI101|H105E9DF88
-105E9DF88:lI47|H105E9E0C8
-105E9E0C8:lI65|H105E9E208
-105E9E208:lI100|H105E9E348
-105E9E348:lI118|H105E9E488
-105E9E488:lI101|H105E9E5C8
-105E9E5C8:lI110|H105E9E708
-105E9E708:lI116|H105E9E848
-105E9E848:lI79|H105E9E988
-105E9E988:lI102|H105E9EAC8
-105E9EAC8:lI67|H105E9EC08
-105E9EC08:lI111|H105E9ED48
-105E9ED48:lI100|H105E9EE88
-105E9EE88:lI101|H105E9EFC8
-105E9EFC8:lI47|H105E9F108
-105E9F108:lI97|H105E9F248
-105E9F248:lI111|H105E9F388
-105E9F388:lI99|H105E9F4C8
-105E9F4C8:lI50|H105E9F608
-105E9F608:lI48|H105E9F738
-105E9F738:lI50|H105E9F868
-105E9F868:lI51|H105E9F998
-105E9F998:lI47|H105E9FAC8
-105E9FAC8:lI98|H105E9FBF8
-105E9FBF8:lI117|H105E9FD28
-105E9FD28:lI105|H105E9FE58
-105E9FE58:lI108|H105E9FF88
-105E9FF88:lI100|H105EA00B8
-105EA00B8:lI47|H105EA01E8
-105EA01E8:lI100|H105EA0318
-105EA0318:lI101|H105EA0448
-105EA0448:lI118|H105EA0578
-105EA0578:lI47|H105EA06A8
-105EA06A8:lI101|H105EA07D8
-105EA07D8:lI114|H105EA0908
-105EA0908:lI108|H105EA0A38
-105EA0A38:lI97|H105EA0B68
-105EA0B68:lI110|H105EA0C98
-105EA0C98:lI103|H105EA0DC8
-105EA0DC8:lI47|H105EA0EF8
-105EA0EF8:lI103|H105EA1028
-105EA1028:lI108|H105EA1128
-105EA1128:lI101|H105EA1228
-105EA1228:lI97|H105EA1318
-105EA1318:lI109|H105EA13F8
-105EA13F8:lI46|H105EA14D8
-105EA14D8:lI108|H105EA15A8
-105EA15A8:lI111|H105EA1658
-105EA1658:lI99|H105EA16F8
-105EA16F8:lI107|H105EA1798
-105EA1798:lI47|H105EA1818
-105EA1818:lI101|H105EA1888
-105EA1888:lI98|H105EA18D8
-105EA18D8:lI105|H105EA1928
-105EA1928:lI110|N
-105E9BB08:lH105E9BBF8|H105E9BC08
-105E9BBF8:lI47|H105E9BCF8
-105E9BCF8:lI85|H105E9BE08
-105E9BE08:lI115|H105E9BF28
-105E9BF28:lI101|H105E9C058
-105E9C058:lI114|H105E9C198
-105E9C198:lI115|H105E9C2D8
-105E9C2D8:lI47|H105E9C418
-105E9C418:lI110|H105E9C558
-105E9C558:lI105|H105E9C698
-105E9C698:lI99|H105E9C7D8
-105E9C7D8:lI104|H105E9C918
-105E9C918:lI111|H105E9CA58
-105E9CA58:lI108|H105E9CB98
-105E9CB98:lI97|H105E9CCD8
-105E9CCD8:lI115|H105E9CE18
-105E9CE18:lI99|H105E9CF58
-105E9CF58:lI97|H105E9D098
-105E9D098:lI114|H105E9D1D8
-105E9D1D8:lI108|H105E9D318
-105E9D318:lI115|H105E9D458
-105E9D458:lI111|H105E9D598
-105E9D598:lI110|H105E9D6D8
-105E9D6D8:lI47|H105E9D818
-105E9D818:lI86|H105E9D958
-105E9D958:lI83|H105E9DA98
-105E9DA98:lI32|H105E9DBD8
-105E9DBD8:lI67|H105E9DD18
-105E9DD18:lI111|H105E9DE58
-105E9DE58:lI100|H105E9DF98
-105E9DF98:lI101|H105E9E0D8
-105E9E0D8:lI47|H105E9E218
-105E9E218:lI65|H105E9E358
-105E9E358:lI100|H105E9E498
-105E9E498:lI118|H105E9E5D8
-105E9E5D8:lI101|H105E9E718
-105E9E718:lI110|H105E9E858
-105E9E858:lI116|H105E9E998
-105E9E998:lI79|H105E9EAD8
-105E9EAD8:lI102|H105E9EC18
-105E9EC18:lI67|H105E9ED58
-105E9ED58:lI111|H105E9EE98
-105E9EE98:lI100|H105E9EFD8
-105E9EFD8:lI101|H105E9F118
-105E9F118:lI47|H105E9F258
-105E9F258:lI97|H105E9F398
-105E9F398:lI111|H105E9F4D8
-105E9F4D8:lI99|H105E9F618
-105E9F618:lI50|H105E9F748
-105E9F748:lI48|H105E9F878
-105E9F878:lI50|H105E9F9A8
-105E9F9A8:lI51|H105E9FAD8
-105E9FAD8:lI47|H105E9FC08
-105E9FC08:lI98|H105E9FD38
-105E9FD38:lI117|H105E9FE68
-105E9FE68:lI105|H105E9FF98
-105E9FF98:lI108|H105EA00C8
-105EA00C8:lI100|H105EA01F8
-105EA01F8:lI47|H105EA0328
-105EA0328:lI100|H105EA0458
-105EA0458:lI101|H105EA0588
-105EA0588:lI118|H105EA06B8
-105EA06B8:lI47|H105EA07E8
-105EA07E8:lI101|H105EA0918
-105EA0918:lI114|H105EA0A48
-105EA0A48:lI108|H105EA0B78
-105EA0B78:lI97|H105EA0CA8
-105EA0CA8:lI110|H105EA0DD8
-105EA0DD8:lI103|H105EA0F08
-105EA0F08:lI47|H105EA1038
-105EA1038:lI115|H105EA1138
-105EA1138:lI110|H105EA1238
-105EA1238:lI97|H105EA1328
-105EA1328:lI103|H105EA1408
-105EA1408:lI47|H105EA14E8
-105EA14E8:lI101|H105EA15B8
-105EA15B8:lI98|H105EA1668
-105EA1668:lI105|H105EA1708
-105EA1708:lI110|N
-105E9BC08:lH105E9BD08|H105E9BD18
-105E9BD08:lI47|H105E9BE18
-105E9BE18:lI85|H105E9BF38
-105E9BF38:lI115|H105E9C068
-105E9C068:lI101|H105E9C1A8
-105E9C1A8:lI114|H105E9C2E8
-105E9C2E8:lI115|H105E9C428
-105E9C428:lI47|H105E9C568
-105E9C568:lI110|H105E9C6A8
-105E9C6A8:lI105|H105E9C7E8
-105E9C7E8:lI99|H105E9C928
-105E9C928:lI104|H105E9CA68
-105E9CA68:lI111|H105E9CBA8
-105E9CBA8:lI108|H105E9CCE8
-105E9CCE8:lI97|H105E9CE28
-105E9CE28:lI115|H105E9CF68
-105E9CF68:lI99|H105E9D0A8
-105E9D0A8:lI97|H105E9D1E8
-105E9D1E8:lI114|H105E9D328
-105E9D328:lI108|H105E9D468
-105E9D468:lI115|H105E9D5A8
-105E9D5A8:lI111|H105E9D6E8
-105E9D6E8:lI110|H105E9D828
-105E9D828:lI47|H105E9D968
-105E9D968:lI86|H105E9DAA8
-105E9DAA8:lI83|H105E9DBE8
-105E9DBE8:lI32|H105E9DD28
-105E9DD28:lI67|H105E9DE68
-105E9DE68:lI111|H105E9DFA8
-105E9DFA8:lI100|H105E9E0E8
-105E9E0E8:lI101|H105E9E228
-105E9E228:lI47|H105E9E368
-105E9E368:lI65|H105E9E4A8
-105E9E4A8:lI100|H105E9E5E8
-105E9E5E8:lI118|H105E9E728
-105E9E728:lI101|H105E9E868
-105E9E868:lI110|H105E9E9A8
-105E9E9A8:lI116|H105E9EAE8
-105E9EAE8:lI79|H105E9EC28
-105E9EC28:lI102|H105E9ED68
-105E9ED68:lI67|H105E9EEA8
-105E9EEA8:lI111|H105E9EFE8
-105E9EFE8:lI100|H105E9F128
-105E9F128:lI101|H105E9F268
-105E9F268:lI47|H105E9F3A8
-105E9F3A8:lI97|H105E9F4E8
-105E9F4E8:lI111|H105E9F628
-105E9F628:lI99|H105E9F758
-105E9F758:lI50|H105E9F888
-105E9F888:lI48|H105E9F9B8
-105E9F9B8:lI50|H105E9FAE8
-105E9FAE8:lI51|H105E9FC18
-105E9FC18:lI47|H105E9FD48
-105E9FD48:lI98|H105E9FE78
-105E9FE78:lI117|H105E9FFA8
-105E9FFA8:lI105|H105EA00D8
-105EA00D8:lI108|H105EA0208
-105EA0208:lI100|H105EA0338
-105EA0338:lI47|H105EA0468
-105EA0468:lI100|H105EA0598
-105EA0598:lI101|H105EA06C8
-105EA06C8:lI118|H105EA07F8
-105EA07F8:lI47|H105EA0928
-105EA0928:lI101|H105EA0A58
-105EA0A58:lI114|H105EA0B88
-105EA0B88:lI108|H105EA0CB8
-105EA0CB8:lI97|H105EA0DE8
-105EA0DE8:lI110|H105EA0F18
-105EA0F18:lI103|H105EA1048
-105EA1048:lI47|H105EA1148
-105EA1148:lI116|H105EA1248
-105EA1248:lI111|H105EA1338
-105EA1338:lI109|H105EA1418
-105EA1418:lI47|H105EA14F8
-105EA14F8:lI101|H105EA15C8
-105EA15C8:lI98|H105EA1678
-105EA1678:lI105|H105EA1718
-105EA1718:lI110|N
-105E9BD18:lH105E9BE28|H105E9BE38
-105E9BE28:lI47|H105E9BF48
-105E9BF48:lI85|H105E9C078
-105E9C078:lI115|H105E9C1B8
-105E9C1B8:lI101|H105E9C2F8
-105E9C2F8:lI114|H105E9C438
-105E9C438:lI115|H105E9C578
-105E9C578:lI47|H105E9C6B8
-105E9C6B8:lI110|H105E9C7F8
-105E9C7F8:lI105|H105E9C938
-105E9C938:lI99|H105E9CA78
-105E9CA78:lI104|H105E9CBB8
-105E9CBB8:lI111|H105E9CCF8
-105E9CCF8:lI108|H105E9CE38
-105E9CE38:lI97|H105E9CF78
-105E9CF78:lI115|H105E9D0B8
-105E9D0B8:lI99|H105E9D1F8
-105E9D1F8:lI97|H105E9D338
-105E9D338:lI114|H105E9D478
-105E9D478:lI108|H105E9D5B8
-105E9D5B8:lI115|H105E9D6F8
-105E9D6F8:lI111|H105E9D838
-105E9D838:lI110|H105E9D978
-105E9D978:lI47|H105E9DAB8
-105E9DAB8:lI86|H105E9DBF8
-105E9DBF8:lI83|H105E9DD38
-105E9DD38:lI32|H105E9DE78
-105E9DE78:lI67|H105E9DFB8
-105E9DFB8:lI111|H105E9E0F8
-105E9E0F8:lI100|H105E9E238
-105E9E238:lI101|H105E9E378
-105E9E378:lI47|H105E9E4B8
-105E9E4B8:lI65|H105E9E5F8
-105E9E5F8:lI100|H105E9E738
-105E9E738:lI118|H105E9E878
-105E9E878:lI101|H105E9E9B8
-105E9E9B8:lI110|H105E9EAF8
-105E9EAF8:lI116|H105E9EC38
-105E9EC38:lI79|H105E9ED78
-105E9ED78:lI102|H105E9EEB8
-105E9EEB8:lI67|H105E9EFF8
-105E9EFF8:lI111|H105E9F138
-105E9F138:lI100|H105E9F278
-105E9F278:lI101|H105E9F3B8
-105E9F3B8:lI47|H105E9F4F8
-105E9F4F8:lI97|H105E9F638
-105E9F638:lI111|H105E9F768
-105E9F768:lI99|H105E9F898
-105E9F898:lI50|H105E9F9C8
-105E9F9C8:lI48|H105E9FAF8
-105E9FAF8:lI50|H105E9FC28
-105E9FC28:lI51|H105E9FD58
-105E9FD58:lI47|H105E9FE88
-105E9FE88:lI98|H105E9FFB8
-105E9FFB8:lI117|H105EA00E8
-105EA00E8:lI105|H105EA0218
-105EA0218:lI108|H105EA0348
-105EA0348:lI100|H105EA0478
-105EA0478:lI47|H105EA05A8
-105EA05A8:lI100|H105EA06D8
-105EA06D8:lI101|H105EA0808
-105EA0808:lI118|H105EA0938
-105EA0938:lI47|H105EA0A68
-105EA0A68:lI101|H105EA0B98
-105EA0B98:lI114|H105EA0CC8
-105EA0CC8:lI108|H105EA0DF8
-105EA0DF8:lI97|H105EA0F28
-105EA0F28:lI110|H105EA1058
-105EA1058:lI103|H105EA1158
-105EA1158:lI47|H105EA1258
-105EA1258:lI97|H105EA1348
-105EA1348:lI111|H105EA1428
-105EA1428:lI99|H105EA1508
-105EA1508:lI50|H105EA15D8
-105EA15D8:lI48|H105EA1688
-105EA1688:lI50|H105EA1728
-105EA1728:lI51|H105EA17A8
-105EA17A8:lI47|H105EA1828
-105EA1828:lI101|H105EA1898
-105EA1898:lI98|H105EA18E8
-105EA18E8:lI105|H105EA1938
-105EA1938:lI110|N
-105E9BE38:lH105E9BF58|H105E9BF68
-105E9BF58:lI47|H105E9C088
-105E9C088:lI85|H105E9C1C8
-105E9C1C8:lI115|H105E9C308
-105E9C308:lI101|H105E9C448
-105E9C448:lI114|H105E9C588
-105E9C588:lI115|H105E9C6C8
-105E9C6C8:lI47|H105E9C808
-105E9C808:lI110|H105E9C948
-105E9C948:lI105|H105E9CA88
-105E9CA88:lI99|H105E9CBC8
-105E9CBC8:lI104|H105E9CD08
-105E9CD08:lI111|H105E9CE48
-105E9CE48:lI108|H105E9CF88
-105E9CF88:lI97|H105E9D0C8
-105E9D0C8:lI115|H105E9D208
-105E9D208:lI99|H105E9D348
-105E9D348:lI97|H105E9D488
-105E9D488:lI114|H105E9D5C8
-105E9D5C8:lI108|H105E9D708
-105E9D708:lI115|H105E9D848
-105E9D848:lI111|H105E9D988
-105E9D988:lI110|H105E9DAC8
-105E9DAC8:lI47|H105E9DC08
-105E9DC08:lI86|H105E9DD48
-105E9DD48:lI83|H105E9DE88
-105E9DE88:lI32|H105E9DFC8
-105E9DFC8:lI67|H105E9E108
-105E9E108:lI111|H105E9E248
-105E9E248:lI100|H105E9E388
-105E9E388:lI101|H105E9E4C8
-105E9E4C8:lI47|H105E9E608
-105E9E608:lI65|H105E9E748
-105E9E748:lI100|H105E9E888
-105E9E888:lI118|H105E9E9C8
-105E9E9C8:lI101|H105E9EB08
-105E9EB08:lI110|H105E9EC48
-105E9EC48:lI116|H105E9ED88
-105E9ED88:lI79|H105E9EEC8
-105E9EEC8:lI102|H105E9F008
-105E9F008:lI67|H105E9F148
-105E9F148:lI111|H105E9F288
-105E9F288:lI100|H105E9F3C8
-105E9F3C8:lI101|H105E9F508
-105E9F508:lI47|H105E9F648
-105E9F648:lI97|H105E9F778
-105E9F778:lI111|H105E9F8A8
-105E9F8A8:lI99|H105E9F9D8
-105E9F9D8:lI50|H105E9FB08
-105E9FB08:lI48|H105E9FC38
-105E9FC38:lI50|H105E9FD68
-105E9FD68:lI51|H105E9FE98
-105E9FE98:lI47|H105E9FFC8
-105E9FFC8:lI98|H105EA00F8
-105EA00F8:lI117|H105EA0228
-105EA0228:lI105|H105EA0358
-105EA0358:lI108|H105EA0488
-105EA0488:lI100|H105EA05B8
-105EA05B8:lI47|H105EA06E8
-105EA06E8:lI100|H105EA0818
-105EA0818:lI101|H105EA0948
-105EA0948:lI118|H105EA0A78
-105EA0A78:lI47|H105EA0BA8
-105EA0BA8:lI101|H105EA0CD8
-105EA0CD8:lI114|H105EA0E08
-105EA0E08:lI108|H105EA0F38
-105EA0F38:lI97|H105EA1068
-105EA1068:lI110|H105EA1168
-105EA1168:lI103|H105EA1268
-105EA1268:lI47|H105EA1358
-105EA1358:lI115|H105EA1438
-105EA1438:lI105|H105EA1518
-105EA1518:lI109|H105EA15E8
-105EA15E8:lI112|H105EA1698
-105EA1698:lI108|H105EA1738
-105EA1738:lI105|H105EA17B8
-105EA17B8:lI102|H105EA1838
-105EA1838:lI105|H105EA18A8
-105EA18A8:lI108|H105EA18F8
-105EA18F8:lI101|H105EA1948
-105EA1948:lI47|H105EA1968
-105EA1968:lI101|H105EA1988
-105EA1988:lI98|H105EA19A8
-105EA19A8:lI105|H105EA19C8
-105EA19C8:lI110|N
-105E9BF68:lH105E9C098|H105E9C0A8
-105E9C098:lI47|H105E9C1D8
-105E9C1D8:lI111|H105E9C318
-105E9C318:lI112|H105E9C458
-105E9C458:lI116|H105E9C598
-105E9C598:lI47|H105E9C6D8
-105E9C6D8:lI104|H105E9C818
-105E9C818:lI111|H105E9C958
-105E9C958:lI109|H105E9CA98
-105E9CA98:lI101|H105E9CBD8
-105E9CBD8:lI98|H105E9CD18
-105E9CD18:lI114|H105E9CE58
-105E9CE58:lI101|H105E9CF98
-105E9CF98:lI119|H105E9D0D8
-105E9D0D8:lI47|H105E9D218
-105E9D218:lI67|H105E9D358
-105E9D358:lI101|H105E9D498
-105E9D498:lI108|H105E9D5D8
-105E9D5D8:lI108|H105E9D718
-105E9D718:lI97|H105E9D858
-105E9D858:lI114|H105E9D998
-105E9D998:lI47|H105E9DAD8
-105E9DAD8:lI101|H105E9DC18
-105E9DC18:lI114|H105E9DD58
-105E9DD58:lI108|H105E9DE98
-105E9DE98:lI97|H105E9DFD8
-105E9DFD8:lI110|H105E9E118
-105E9E118:lI103|H105E9E258
-105E9E258:lI47|H105E9E398
-105E9E398:lI50|H105E9E4D8
-105E9E4D8:lI54|H105E9E618
-105E9E618:lI46|H105E9E758
-105E9E758:lI48|H105E9E898
-105E9E898:lI46|H105E9E9D8
-105E9E9D8:lI50|H105E9EB18
-105E9EB18:lI47|H105E9EC58
-105E9EC58:lI108|H105E9ED98
-105E9ED98:lI105|H105E9EED8
-105E9EED8:lI98|H105E9F018
-105E9F018:lI47|H105E9F158
-105E9F158:lI101|H105E9F298
-105E9F298:lI114|H105E9F3D8
-105E9F3D8:lI108|H105E9F518
-105E9F518:lI97|H105E9F658
-105E9F658:lI110|H105E9F788
-105E9F788:lI103|H105E9F8B8
-105E9F8B8:lI47|H105E9F9E8
-105E9F9E8:lI108|H105E9FB18
-105E9FB18:lI105|H105E9FC48
-105E9FC48:lI98|H105E9FD78
-105E9FD78:lI47|H105E9FEA8
-105E9FEA8:lI107|H105E9FFD8
-105E9FFD8:lI101|H105EA0108
-105EA0108:lI114|H105EA0238
-105EA0238:lI110|H105EA0368
-105EA0368:lI101|H105EA0498
-105EA0498:lI108|H105EA05C8
-105EA05C8:lI45|H105EA06F8
-105EA06F8:lI57|H105EA0828
-105EA0828:lI46|H105EA0958
-105EA0958:lI48|H105EA0A88
-105EA0A88:lI46|H105EA0BB8
-105EA0BB8:lI50|H105EA0CE8
-105EA0CE8:lI47|H105EA0E18
-105EA0E18:lI101|H105EA0F48
-105EA0F48:lI98|H105EA1078
-105EA1078:lI105|H105EA1178
-105EA1178:lI110|N
-105E9C0A8:lH105E9C1E8|N
-105E9C1E8:lI47|H105E9C328
-105E9C328:lI111|H105E9C468
-105E9C468:lI112|H105E9C5A8
-105E9C5A8:lI116|H105E9C6E8
-105E9C6E8:lI47|H105E9C828
-105E9C828:lI104|H105E9C968
-105E9C968:lI111|H105E9CAA8
-105E9CAA8:lI109|H105E9CBE8
-105E9CBE8:lI101|H105E9CD28
-105E9CD28:lI98|H105E9CE68
-105E9CE68:lI114|H105E9CFA8
-105E9CFA8:lI101|H105E9D0E8
-105E9D0E8:lI119|H105E9D228
-105E9D228:lI47|H105E9D368
-105E9D368:lI67|H105E9D4A8
-105E9D4A8:lI101|H105E9D5E8
-105E9D5E8:lI108|H105E9D728
-105E9D728:lI108|H105E9D868
-105E9D868:lI97|H105E9D9A8
-105E9D9A8:lI114|H105E9DAE8
-105E9DAE8:lI47|H105E9DC28
-105E9DC28:lI101|H105E9DD68
-105E9DD68:lI114|H105E9DEA8
-105E9DEA8:lI108|H105E9DFE8
-105E9DFE8:lI97|H105E9E128
-105E9E128:lI110|H105E9E268
-105E9E268:lI103|H105E9E3A8
-105E9E3A8:lI47|H105E9E4E8
-105E9E4E8:lI50|H105E9E628
-105E9E628:lI54|H105E9E768
-105E9E768:lI46|H105E9E8A8
-105E9E8A8:lI48|H105E9E9E8
-105E9E9E8:lI46|H105E9EB28
-105E9EB28:lI50|H105E9EC68
-105E9EC68:lI47|H105E9EDA8
-105E9EDA8:lI108|H105E9EEE8
-105E9EEE8:lI105|H105E9F028
-105E9F028:lI98|H105E9F168
-105E9F168:lI47|H105E9F2A8
-105E9F2A8:lI101|H105E9F3E8
-105E9F3E8:lI114|H105E9F528
-105E9F528:lI108|H105E9F668
-105E9F668:lI97|H105E9F798
-105E9F798:lI110|H105E9F8C8
-105E9F8C8:lI103|H105E9F9F8
-105E9F9F8:lI47|H105E9FB28
-105E9FB28:lI108|H105E9FC58
-105E9FC58:lI105|H105E9FD88
-105E9FD88:lI98|H105E9FEB8
-105E9FEB8:lI47|H105E9FFE8
-105E9FFE8:lI115|H105EA0118
-105EA0118:lI116|H105EA0248
-105EA0248:lI100|H105EA0378
-105EA0378:lI108|H105EA04A8
-105EA04A8:lI105|H105EA05D8
-105EA05D8:lI98|H105EA0708
-105EA0708:lI45|H105EA0838
-105EA0838:lI53|H105EA0968
-105EA0968:lI46|H105EA0A98
-105EA0A98:lI48|H105EA0BC8
-105EA0BC8:lI46|H105EA0CF8
-105EA0CF8:lI50|H105EA0E28
-105EA0E28:lI47|H105EA0F58
-105EA0F58:lI101|H105EA1088
-105EA1088:lI98|H105EA1188
-105EA1188:lI105|H105EA1278
-105EA1278:lI110|N
-105E9B368:t6:A5:state,A5:efile,N,A6:noport,I360000,H105E9B348
-105E9B348:t3:AA:prim_state,A5:false,A9:undefined
-=proc_dictionary:<0.42.0>
-H105DBEDE0
-H105DBEDF8
-H105DBEE10
-=proc_stack:<0.42.0>
-y0:N
-y1:A8:infinity
-y2:H105DBEDB0
-y3:H105DB3618
-y4:A6:logger
-y5:P<0.9.0>
-0x0000000105db5e48:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105db5e68:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.42.0>
-105DBEDB0:t5:AE:callback_cache,AD:logger_server,H105DBEE28,H105DBEE50,H105DBEE78
-105DBEE78:E20:g3F3DWxvZ2dlcl9zZXJ2ZXJ3C2hhbmRsZV9pbmZvYQI=
-105DBEE50:E20:g3F3DWxvZ2dlcl9zZXJ2ZXJ3C2hhbmRsZV9jYXN0YQI=
-105DBEE28:E20:g3F3DWxvZ2dlcl9zZXJ2ZXJ3C2hhbmRsZV9jYWxsYQM=
-105DB3618:t5:A5:state,H105DBED98,A9:undefined,H28005B328,A9:undefined
-105DBED98:E23:g1oAA3cNbm9ub2RlQG5vaG9zdAAAAAAAAK+R+vYAAd/g02c=
-105DBEDE0:t2:AA:$ancestors,H105DBEEA0
-105DBEEA0:lP<0.9.0>|N
-105DBEDF8:t2:A12:$logger_cb_process,A4:true
-105DBEE10:t2:AD:$initial_call,H105DBEEB0
-105DBEEB0:t3:AD:logger_server,A4:init,I1
-=proc_dictionary:<0.44.0>
-H10665ACF8
-H10665AD10
-=proc_stack:<0.44.0>
-y0:N
-y1:A8:infinity
-y2:H10665ACC8
-y3:H105E81EB0
-y4:A16:application_controller
-y5:P<0.9.0>
-0x0000000105e9b338:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.44.0>
-10665ACC8:t5:AE:callback_cache,A16:application_controller,H10665AD48,H10665AD70,H10665AD98
-10665AD98:E29:g3F3FmFwcGxpY2F0aW9uX2NvbnRyb2xsZXJ3C2hhbmRsZV9pbmZvYQI=
-10665AD70:E29:g3F3FmFwcGxpY2F0aW9uX2NvbnRyb2xsZXJ3C2hhbmRsZV9jYXN0YQI=
-10665AD48:E29:g3F3FmFwcGxpY2F0aW9uX2NvbnRyb2xsZXJ3C2hhbmRsZV9jYWxsYQM=
-105E81EB0:t9:A5:state,N,N,N,H105E81E78,N,H105E81EA0,N,N
-105E81EA0:lH105E81E88|H105E81608
-105E81E88:t2:A7:aoc2023,A9:temporary
-105E81608:lH105E815F0|H105E633A0
-105E815F0:t2:A8:gleeunit,A9:temporary
-105E633A0:lH105E63420|H105E63438
-105E63420:t2:A7:adglent,A9:temporary
-105E63438:lH105E634A0|H106693B38
-105E634A0:t2:A3:tom,A9:temporary
-106693B38:lH106693B60|H106688C50
-106693B60:t2:AA:simplifile,A9:temporary
-106688C50:lH106688CF0|H106688D08
-106688CF0:t2:A5:glint,A9:temporary
-106688D08:lH106688D90|H106688B10
-106688D90:t2:A4:snag,A9:temporary
-106688B10:lH106688B38|H106688980
-106688B38:t2:A9:gleam_otp,A9:temporary
-106688980:lH1066889B8|H1066889D0
-1066889B8:t2:AB:gleam_httpc,A9:temporary
-1066889D0:lH106688A08|H106688A20
-106688A08:t2:A3:ssl,A9:temporary
-106688A20:lH106688A58|H106688A70
-106688A58:t2:AA:public_key,A9:temporary
-106688A70:lH106688A98|H106677B00
-106688A98:t2:A4:asn1,A9:temporary
-106677B00:lH106677B90|H106664070
-106677B90:t2:A6:crypto,A9:temporary
-106664070:lH106664100|H10665B320
-106664100:t2:A5:inets,A9:temporary
-10665B320:lH10665B370|H10665B198
-10665B370:t2:AA:gleam_http,A9:temporary
-10665B198:lH10665B1E8|H10665AF00
-10665B1E8:t2:AC:gleam_erlang,A9:temporary
-10665AF00:lH10665AF60|H10665AF78
-10665AF60:t2:A3:gap,A9:temporary
-10665AF78:lH10665AFC0|H10665AFD8
-10665AFC0:t2:A14:gleam_community_ansi,A9:temporary
-10665AFD8:lH10665B020|H10665B038
-10665B020:t2:A16:gleam_community_colour,A9:temporary
-10665B038:lH10665B070|H10665AD38
-10665B070:t2:AC:gleam_stdlib,A9:temporary
-10665AD38:lH10665ADF8|H10665AE10
-10665ADF8:t2:A6:stdlib,A9:permanent
-10665AE10:lH10665AE38|N
-10665AE38:t2:A6:kernel,A9:permanent
-105E81E78:lH105E81E60|H105E815E0
-105E81E60:t2:A7:aoc2023,A9:undefined
-105E815E0:lH105E815C8|H105E63390
-105E815C8:t2:A8:gleeunit,A9:undefined
-105E63390:lH105E633F8|H105E63410
-105E633F8:t2:A7:adglent,A9:undefined
-105E63410:lH105E63488|H106693B28
-105E63488:t2:A3:tom,A9:undefined
-106693B28:lH106693B48|H106688C40
-106693B48:t2:AA:simplifile,A9:undefined
-106688C40:lH106688CC8|H106688CE0
-106688CC8:t2:A5:glint,A9:undefined
-106688CE0:lH106688D78|H106688B00
-106688D78:t2:A4:snag,A9:undefined
-106688B00:lH106688B20|H106688970
-106688B20:t2:A9:gleam_otp,A9:undefined
-106688970:lH106688990|H1066889A8
-106688990:t2:AB:gleam_httpc,A9:undefined
-1066889A8:lH1066889E0|H1066889F8
-1066889E0:t2:A3:ssl,P<0.102.0>
-1066889F8:lH106688A30|H106688A48
-106688A30:t2:AA:public_key,A9:undefined
-106688A48:lH106688A80|H106677AF0
-106688A80:t2:A4:asn1,A9:undefined
-106677AF0:lH106677B78|H106664060
-106677B78:t2:A6:crypto,A9:undefined
-106664060:lH1066640E8|H10665B310
-1066640E8:t2:A5:inets,P<0.90.0>
-10665B310:lH10665B358|H10665B188
-10665B358:t2:AA:gleam_http,A9:undefined
-10665B188:lH10665B1D0|H10665AEF0
-10665B1D0:t2:AC:gleam_erlang,A9:undefined
-10665AEF0:lH10665AF38|H10665AF50
-10665AF38:t2:A3:gap,A9:undefined
-10665AF50:lH10665AF98|H10665AFB0
-10665AF98:t2:A14:gleam_community_ansi,A9:undefined
-10665AFB0:lH10665AFF8|H10665B010
-10665AFF8:t2:A16:gleam_community_colour,A9:undefined
-10665B010:lH10665B058|H10665AD28
-10665B058:t2:AC:gleam_stdlib,A9:undefined
-10665AD28:lH10665ADD0|H10665ADE8
-10665ADD0:t2:A6:stdlib,A9:undefined
-10665ADE8:lH10665AE20|N
-10665AE20:t2:A6:kernel,P<0.46.0>
-10665ACF8:t2:AA:$ancestors,H10665ADC0
-10665ADC0:lP<0.9.0>|N
-10665AD10:t2:AD:$initial_call,H280046B58
-=proc_dictionary:<0.46.0>
-H105D9A980
-H105D9A9B8
-=proc_stack:<0.46.0>
-y0:H105D9AB18
-y1:P<0.44.0>
-0x0000000105d9ac18:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105d9ac38:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.46.0>
-105D9AB18:t7:A5:state,P<0.47.0>,H105D9A0A0,N,I0,A4:init,N
-105D9A0A0:t8:A9:appl_data,A6:kernel,H105D9A8F0,A9:undefined,H105D9A0E8,H105D9A710,A8:infinity,A8:infinity
-105D9A710:lAB:application|H105D9A700
-105D9A700:lA16:application_controller|H105D9A6F0
-105D9A6F0:lA12:application_master|H105D9A6E0
-105D9A6E0:lA13:application_starter|H105D9A6D0
-105D9A6D0:lA4:auth|H105D9A6C0
-105D9A6C0:lA4:code|H105D9A6B0
-105D9A6B0:lAB:code_server|H105D9A6A0
-105D9A6A0:lA9:dist_util|H105D9A690
-105D9A690:lAF:erl_boot_server|H105D9A680
-105D9A680:lA12:erl_compile_server|H105D9A670
-105D9A670:lA10:erl_distribution|H105D9A660
-105D9A660:lAF:erl_erts_errors|H105D9A650
-105D9A650:lA9:erl_reply|H105D9A640
-105D9A640:lA11:erl_kernel_errors|H105D9A630
-105D9A630:lA12:erl_signal_handler|H105D9A620
-105D9A620:lA4:erpc|H105D9A610
-105D9A610:lAD:error_handler|H105D9A600
-105D9A600:lAC:error_logger|H105D9A5F0
-105D9A5F0:lA4:file|H105D9A5E0
-105D9A5E0:lAB:file_server|H105D9A5D0
-105D9A5D0:lAE:file_io_server|H105D9A5C0
-105D9A5C0:lA6:global|H105D9A5B0
-105D9A5B0:lAC:global_group|H105D9A5A0
-105D9A5A0:lAD:global_search|H105D9A590
-105D9A590:lA5:group|H105D9A580
-105D9A580:lAD:group_history|H105D9A570
-105D9A570:lA5:heart|H105D9A560
-105D9A560:lA9:inet6_tcp|H105D9A550
-105D9A550:lAE:inet6_tcp_dist|H105D9A540
-105D9A540:lA9:inet6_udp|H105D9A530
-105D9A530:lAA:inet6_sctp|H105D9A520
-105D9A520:lAB:inet_config|H105D9A510
-105D9A510:lAE:inet_epmd_dist|H105D9A500
-105D9A500:lA10:inet_epmd_socket|H105D9A4F0
-105D9A4F0:lAA:inet_hosts|H105D9A4E0
-105D9A4E0:lA13:inet_gethost_native|H105D9A4D0
-105D9A4D0:lAD:inet_tcp_dist|H105D9A4C0
-105D9A4C0:lA6:kernel|H105D9A4B0
-105D9A4B0:lAD:kernel_config|H105D9A4A0
-105D9A4A0:lAB:kernel_refc|H105D9A490
-105D9A490:lA9:local_tcp|H105D9A480
-105D9A480:lA9:local_udp|H105D9A470
-105D9A470:lA6:logger|H105D9A460
-105D9A460:lAE:logger_backend|H105D9A450
-105D9A450:lAD:logger_config|H105D9A440
-105D9A440:lA11:logger_disk_log_h|H105D9A430
-105D9A430:lAE:logger_filters|H105D9A420
-105D9A420:lA10:logger_formatter|H105D9A410
-105D9A410:lAF:logger_h_common|H105D9A400
-105D9A400:lA16:logger_handler_watcher|H105D9A3F0
-105D9A3F0:lAA:logger_olp|H105D9A3E0
-105D9A3E0:lAC:logger_proxy|H105D9A3D0
-105D9A3D0:lAD:logger_server|H105D9A3C0
-105D9A3C0:lAF:logger_simple_h|H105D9A3B0
-105D9A3B0:lAC:logger_std_h|H105D9A3A0
-105D9A3A0:lAA:logger_sup|H105D9A390
-105D9A390:lA3:net|H105D9A380
-105D9A380:lA7:net_adm|H105D9A370
-105D9A370:lAA:net_kernel|H105D9A360
-105D9A360:lA2:os|H105D9A350
-105D9A350:lA8:ram_file|H105D9A340
-105D9A340:lA3:rpc|H105D9A330
-105D9A330:lA8:user_drv|H105D9A320
-105D9A320:lA8:user_sup|H105D9A310
-105D9A310:lA8:prim_tty|H105D9A300
-105D9A300:lA8:disk_log|H105D9A2F0
-105D9A2F0:lAA:disk_log_1|H105D9A2E0
-105D9A2E0:lAF:disk_log_server|H105D9A2D0
-105D9A2D0:lAC:disk_log_sup|H105D9A2C0
-105D9A2C0:lA7:dist_ac|H105D9A2B0
-105D9A2B0:lA8:erl_ddll|H105D9A2A0
-105D9A2A0:lA8:erl_epmd|H105D9A290
-105D9A290:lAA:erts_debug|H105D9A280
-105D9A280:lA7:gen_tcp|H105D9A270
-105D9A270:lAE:gen_tcp_socket|H105D9A260
-105D9A260:lA7:gen_udp|H105D9A250
-105D9A250:lAE:gen_udp_socket|H105D9A240
-105D9A240:lA8:gen_sctp|H105D9A230
-105D9A230:lA4:inet|H105D9A220
-105D9A220:lA7:inet_db|H105D9A210
-105D9A210:lA8:inet_dns|H105D9A200
-105D9A200:lAA:inet_parse|H105D9A1F0
-105D9A1F0:lA8:inet_res|H105D9A1E0
-105D9A1E0:lA8:inet_tcp|H105D9A1D0
-105D9A1D0:lA8:inet_udp|H105D9A1C0
-105D9A1C0:lA9:inet_sctp|H105D9A1B0
-105D9A1B0:lA2:pg|H105D9A1A0
-105D9A1A0:lA3:pg2|H105D9A190
-105D9A190:lAB:raw_file_io|H105D9A180
-105D9A180:lA16:raw_file_io_compressed|H105D9A170
-105D9A170:lA13:raw_file_io_deflate|H105D9A160
-105D9A160:lA13:raw_file_io_delayed|H105D9A150
-105D9A150:lA13:raw_file_io_inflate|H105D9A140
-105D9A140:lA10:raw_file_io_list|H105D9A130
-105D9A130:lA9:seq_trace|H105D9A120
-105D9A120:lA6:socket|H105D9A110
-105D9A110:lAE:standard_error|H105D9A100
-105D9A100:lAF:wrap_log_reader|N
-105D9A0E8:t2:A6:kernel,N
-105D9A8F0:lA16:application_controller|H105D9A8E0
-105D9A8E0:lA9:erl_reply|H105D9A8D0
-105D9A8D0:lA4:auth|H105D9A8C0
-105D9A8C0:lAB:boot_server|H105D9A8B0
-105D9A8B0:lAB:code_server|H105D9A8A0
-105D9A8A0:lAF:disk_log_server|H105D9A890
-105D9A890:lAC:disk_log_sup|H105D9A880
-105D9A880:lAF:erl_prim_loader|H105D9A870
-105D9A870:lAC:error_logger|H105D9A860
-105D9A860:lAD:file_server_2|H105D9A850
-105D9A850:lAF:fixtable_server|H105D9A840
-105D9A840:lAC:global_group|H105D9A830
-105D9A830:lA12:global_name_server|H105D9A820
-105D9A820:lA5:heart|H105D9A810
-105D9A810:lA4:init|H105D9A800
-105D9A800:lAD:kernel_config|H105D9A7F0
-105D9A7F0:lAB:kernel_refc|H105D9A7E0
-105D9A7E0:lAA:kernel_sup|H105D9A7D0
-105D9A7D0:lA6:logger|H105D9A7C0
-105D9A7C0:lA16:logger_handler_watcher|H105D9A7B0
-105D9A7B0:lAA:logger_sup|H105D9A7A0
-105D9A7A0:lAA:net_kernel|H105D9A790
-105D9A790:lA7:net_sup|H105D9A780
-105D9A780:lA3:rex|H105D9A770
-105D9A770:lA4:user|H105D9A760
-105D9A760:lA9:os_server|H105D9A750
-105D9A750:lAB:ddll_server|H105D9A740
-105D9A740:lA8:erl_epmd|H105D9A730
-105D9A730:lA7:inet_db|H105D9A720
-105D9A720:lA2:pg|N
-105D9A980:t2:AA:$ancestors,H105D9A970
-105D9A970:lP<0.45.0>|N
-105D9A9B8:t2:AD:$initial_call,H105D9A998
-105D9A998:t3:A12:application_master,A4:init,I4
-=proc_stack:<0.47.0>
-y0:N
-y1:N
-y2:A6:kernel
-y3:P<0.49.0>
-y4:P<0.46.0>
-0x0000000105d8fb88:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.47.0>
-=proc_dictionary:<0.49.0>
-H105D922F0
-H105D92308
-=proc_stack:<0.49.0>
-y0:N
-y1:A8:infinity
-y2:H105D9E530
-y3:H105D9E918
-y4:AA:kernel_sup
-y5:P<0.47.0>
-0x0000000105d9fcf0:SReturn addr 0x3E951BC (proc_lib:wake_up/3 + 220)
-y0:N
-y1:N
-y2:SCatch 0x3E951E4 (proc_lib:wake_up/3 + 260)
-0x0000000105d9fd10:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.49.0>
-105D9E530:t5:AE:callback_cache,AA:supervisor,H105D9E4B8,H105D9E4E0,H105D9E508
-105D9E508:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9pbmZvYQI=
-105D9E4E0:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9jYXN0YQI=
-105D9E4B8:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9jYWxsYQM=
-105D9E918:tC:A5:state,H280043650,AB:one_for_all,H105D9E900,A9:undefined,I0,I1,N,I0,A5:never,A6:kernel,N
-105D9E900:t2:H105D9E310,H105D9E870
-105D9E870:MfF:H105D92320:H105D9B928,H105D9E820,H105D9C288,H105D9AD48,H105D929C8,H105D9DF28,H105D92918,H105D9B658,H105D9AD98,H105D9D5A8,H105D9CC18,H105D92A18,H105D926C0,H105D9ADE8,H105D9E218
-105D92320:tF:A11:erl_signal_server,A7:on_load,A4:user,A12:global_name_server,AE:standard_error,AB:kernel_refc,AB:code_server,AC:global_group,A7:inet_db,AD:kernel_config,AA:logger_sup,AD:file_server_2,A7:net_sup,A3:rex,AF:kernel_safe_sup
-105D9E218:t9:A5:child,P<0.75.0>,AF:kernel_safe_sup,H280043BC8,A9:permanent,A5:false,A8:infinity,AA:supervisor,H280043BB8
-105D9ADE8:t9:A5:child,P<0.56.0>,A3:rex,H280044320,A9:permanent,A5:false,I2000,A6:worker,H280044310
-105D926C0:t9:A5:child,A9:undefined,A7:net_sup,H280044110,A9:permanent,A5:false,A8:infinity,AA:supervisor,H280044100
-105D92A18:t9:A5:child,P<0.53.0>,AD:file_server_2,H280043788,A9:permanent,A5:false,I2000,A6:worker,H280043748
-105D9CC18:t9:A5:child,P<0.70.0>,AA:logger_sup,H2800439B8,A9:permanent,A5:false,A8:infinity,AA:supervisor,H2800439A8
-105D9D5A8:t9:A5:child,P<0.73.0>,AD:kernel_config,H280043A68,A9:permanent,A5:false,I2000,A6:worker,H280043A58
-105D9AD98:t9:A5:child,P<0.55.0>,A7:inet_db,H280044040,A9:permanent,A5:false,I2000,A6:worker,H280044030
-105D9B658:t9:A5:child,P<0.61.0>,AC:global_group,H2800441C0,A9:permanent,A5:false,I2000,A6:worker,H2800441B0
-105D92918:t9:A5:child,P<0.50.0>,AB:code_server,H280043E60,A9:permanent,A5:false,I2000,A6:worker,H280043E50
-105D9DF28:t9:A5:child,P<0.74.0>,AB:kernel_refc,H280043B18,A9:permanent,A5:false,I2000,A6:worker,H280043B08
-105D929C8:t9:A5:child,P<0.51.0>,AE:standard_error,H280043DB0,A9:temporary,A5:false,I2000,AA:supervisor,H280043DA0
-105D9AD48:t9:A5:child,P<0.58.0>,A12:global_name_server,H280044270,A9:permanent,A5:false,I2000,A6:worker,H280044260
-105D9C288:t9:A5:child,P<0.64.0>,A4:user,H280043908,A9:temporary,A5:false,I2000,AA:supervisor,H2800438F8
-105D9E820:t9:A5:child,A9:undefined,A7:on_load,H280043CC0,A9:transient,A5:false,I2000,A6:worker,H280043CB0
-105D9B928:t9:A5:child,P<0.63.0>,A11:erl_signal_server,H280043F68,A9:permanent,A5:false,I2000,A6:worker,A7:dynamic
-105D9E310:lAF:kernel_safe_sup|H105D9E020
-105D9E020:lAB:kernel_refc|H105D9D6A0
-105D9D6A0:lAD:kernel_config|H105D9CD10
-105D9CD10:lAA:logger_sup|H105D9C380
-105D9C380:lA4:user|H105D9BA20
-105D9BA20:lA11:erl_signal_server|H105D9B750
-105D9B750:lAC:global_group|H105D9AC78
-105D9AC78:lA7:net_sup|H105D9AD38
-105D9AD38:lA12:global_name_server|H105D9AE78
-105D9AE78:lA3:rex|H105D9AE98
-105D9AE98:lA7:inet_db|H105D92A68
-105D92A68:lA7:on_load|H105D92A78
-105D92A78:lAD:file_server_2|H105D92A88
-105D92A88:lAE:standard_error|H105D92968
-105D92968:lAB:code_server|N
-105D922F0:t2:AA:$ancestors,H105D92838
-105D92838:lP<0.47.0>|N
-105D92308:t2:AD:$initial_call,H105D92848
-105D92848:t3:AA:supervisor,A6:kernel,I1
-=proc_stack:<0.50.0>
-y0:N
-y1:P<0.49.0>
-y2:H106607FF8
-0x0000000106638248:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.50.0>
-106607FF8:t8:A5:state,P<0.49.0>,H1071F0038,H106607FC8,AB:code_server,AA:code_names,AB:interactive,N
-106607FC8:lH106604450|H106607FB8
-106604450:t2:H1071F0078,A7:nocache
-1071F0078:lI47|H1071F0638
-1071F0638:lI85|H1071F18C0
-1071F18C0:lI115|H1071F3B38
-1071F3B38:lI101|H1071F6350
-1071F6350:lI114|H1071F8FA0
-1071F8FA0:lI115|H1071FBEE0
-1071FBEE0:lI47|H1071FEF98
-1071FEF98:lI110|H107202140
-107202140:lI105|H107205380
-107205380:lI99|H107208678
-107208678:lI104|H10720B948
-10720B948:lI111|H10720EC08
-10720EC08:lI108|H107211F68
-107211F68:lI97|H107215440
-107215440:lI115|H107218AD0
-107218AD0:lI99|H10721C300
-10721C300:lI97|H10721FA00
-10721FA00:lI114|H107222EF8
-107222EF8:lI108|H107226060
-107226060:lI115|H107228E48
-107228E48:lI111|H10722B880
-10722B880:lI110|H10722DF58
-10722DF58:lI47|H107230380
-107230380:lI86|H1072324F8
-1072324F8:lI83|H107234360
-107234360:lI32|H107235EC8
-107235EC8:lI67|H1072377C0
-1072377C0:lI111|H107238E48
-107238E48:lI100|H10723A320
-10723A320:lI101|H10723B680
-10723B680:lI47|H10723C760
-10723C760:lI65|H10723D620
-10723D620:lI100|H10723E3A0
-10723E3A0:lI118|H10723EFB0
-10723EFB0:lI101|H10723FA80
-10723FA80:lI110|H1072403D0
-1072403D0:lI116|H107240C50
-107240C50:lI79|H1072413E0
-1072413E0:lI102|H107241B10
-107241B10:lI67|H1072421E0
-1072421E0:lI111|H107242850
-107242850:lI100|H107242E50
-107242E50:lI101|H1072433C0
-1072433C0:lI47|H107243900
-107243900:lI97|H107243DF0
-107243DF0:lI111|H1072442E0
-1072442E0:lI99|H107244790
-107244790:lI50|H107244C00
-107244C00:lI48|H107245060
-107245060:lI50|H1072454B0
-1072454B0:lI51|H1072458B0
-1072458B0:lI47|H107245C70
-107245C70:lI98|H107246000
-107246000:lI117|H107246390
-107246390:lI105|H107246720
-107246720:lI108|H107246AB0
-107246AB0:lI100|H107246DF0
-107246DF0:lI47|H107247110
-107247110:lI100|H107247430
-107247430:lI101|H107247740
-107247740:lI118|H107247A40
-107247A40:lI47|H107247D30
-107247D30:lI101|H107248010
-107248010:lI114|H1072482D0
-1072482D0:lI108|H107248590
-107248590:lI97|H107248840
-107248840:lI110|H107248AF0
-107248AF0:lI103|H107248D70
-107248D70:lI47|H107248FE0
-107248FE0:lI103|H107249250
-107249250:lI108|H1072494B0
-1072494B0:lI101|H107249710
-107249710:lI97|H107249960
-107249960:lI109|H107249B70
-107249B70:lI95|H107249D60
-107249D60:lI99|H107249F40
-107249F40:lI111|H10724A0F0
-10724A0F0:lI109|H10724A280
-10724A280:lI109|H10724A400
-10724A400:lI117|H10724A570
-10724A570:lI110|H10724A6C0
-10724A6C0:lI105|H10724A7F0
-10724A7F0:lI116|H10724A910
-10724A910:lI121|H10724AA10
-10724AA10:lI95|H10724AAF0
-10724AAF0:lI97|H10724ABB0
-10724ABB0:lI110|H10724AC40
-10724AC40:lI115|H10724ACA0
-10724ACA0:lI105|H10724ACF0
-10724ACF0:lI47|H10724AD40
-10724AD40:lI101|H10724AD80
-10724AD80:lI98|H10724ADC0
-10724ADC0:lI105|H10724ADF0
-10724ADF0:lI110|N
-106607FB8:lH1066049F8|H106607FA8
-1066049F8:t2:H1071F0130,A7:nocache
-1071F0130:lI47|H1071F0988
-1071F0988:lI85|H1071F1EB0
-1071F1EB0:lI115|H1071F4198
-1071F4198:lI101|H1071F69B8
-1071F69B8:lI114|H1071F9610
-1071F9610:lI115|H1071FC550
-1071FC550:lI47|H1071FF608
-1071FF608:lI110|H1072027B0
-1072027B0:lI105|H1072059F0
-1072059F0:lI99|H107208CC8
-107208CC8:lI104|H10720BF78
-10720BF78:lI111|H10720F1F8
-10720F1F8:lI108|H107212518
-107212518:lI97|H1072159A0
-1072159A0:lI115|H107219010
-107219010:lI99|H10721C770
-10721C770:lI97|H10721FDF0
-10721FDF0:lI114|H107223278
-107223278:lI108|H107226360
-107226360:lI115|H1072290F8
-1072290F8:lI111|H10722BAC0
-10722BAC0:lI110|H10722E128
-10722E128:lI47|H1072304E0
-1072304E0:lI86|H107232608
-107232608:lI83|H107234440
-107234440:lI32|H107235F88
-107235F88:lI67|H107237820
-107237820:lI111|H107238EA8
-107238EA8:lI100|H10723A380
-10723A380:lI101|H10723B6C0
-10723B6C0:lI47|H10723C790
-10723C790:lI65|H10723D650
-10723D650:lI100|H10723E3D0
-10723E3D0:lI118|H10723EFE0
-10723EFE0:lI101|H10723FAB0
-10723FAB0:lI110|H107240400
-107240400:lI116|H107240C80
-107240C80:lI79|H107241410
-107241410:lI102|H107241B40
-107241B40:lI67|H107242210
-107242210:lI111|H107242880
-107242880:lI100|H107242E80
-107242E80:lI101|H1072433F0
-1072433F0:lI47|H107243930
-107243930:lI97|H107243E20
-107243E20:lI111|H107244310
-107244310:lI99|H1072447C0
-1072447C0:lI50|H107244C30
-107244C30:lI48|H107245090
-107245090:lI50|H1072454E0
-1072454E0:lI51|H1072458E0
-1072458E0:lI47|H107245CA0
-107245CA0:lI98|H107246030
-107246030:lI117|H1072463C0
-1072463C0:lI105|H107246750
-107246750:lI108|H107246AE0
-107246AE0:lI100|H107246E20
-107246E20:lI47|H107247140
-107247140:lI100|H107247460
-107247460:lI101|H107247770
-107247770:lI118|H107247A70
-107247A70:lI47|H107247D60
-107247D60:lI101|H107248040
-107248040:lI114|H107248300
-107248300:lI108|H1072485C0
-1072485C0:lI97|H107248870
-107248870:lI110|H107248B10
-107248B10:lI103|H107248D90
-107248D90:lI47|H107249000
-107249000:lI97|H107249270
-107249270:lI100|H1072494D0
-1072494D0:lI103|H107249730
-107249730:lI108|H107249980
-107249980:lI101|H107249B90
-107249B90:lI110|H107249D80
-107249D80:lI116|H107249F60
-107249F60:lI47|H10724A110
-10724A110:lI101|H10724A2A0
-10724A2A0:lI98|H10724A420
-10724A420:lI105|H10724A590
-10724A590:lI110|N
-106607FA8:lH106604FF0|H106607F98
-106604FF0:t2:H1071F01F0,A7:nocache
-1071F01F0:lI47|H1071F0CB8
-1071F0CB8:lI85|H1071F2438
-1071F2438:lI115|H1071F4780
-1071F4780:lI101|H1071F6FA8
-1071F6FA8:lI114|H1071F9C00
-1071F9C00:lI115|H1071FCB40
-1071FCB40:lI47|H1071FFBF8
-1071FFBF8:lI110|H107202DA0
-107202DA0:lI105|H107205FD0
-107205FD0:lI99|H107209288
-107209288:lI104|H10720C4E8
-10720C4E8:lI111|H10720F708
-10720F708:lI108|H1072129B8
-1072129B8:lI97|H107215D80
-107215D80:lI115|H107219360
-107219360:lI99|H10721C9F0
-10721C9F0:lI97|H107220030
-107220030:lI114|H107223428
-107223428:lI108|H1072264E0
-1072264E0:lI115|H107229208
-107229208:lI111|H10722BB70
-10722BB70:lI110|H10722E1C8
-10722E1C8:lI47|H107230580
-107230580:lI86|H1072326A8
-1072326A8:lI83|H1072344C0
-1072344C0:lI32|H107235FE8
-107235FE8:lI67|H107237860
-107237860:lI111|H107238EE8
-107238EE8:lI100|H10723A3B0
-10723A3B0:lI101|H10723B6F0
-10723B6F0:lI47|H10723C7C0
-10723C7C0:lI65|H10723D680
-10723D680:lI100|H10723E400
-10723E400:lI118|H10723F010
-10723F010:lI101|H10723FAE0
-10723FAE0:lI110|H107240430
-107240430:lI116|H107240CB0
-107240CB0:lI79|H107241440
-107241440:lI102|H107241B70
-107241B70:lI67|H107242240
-107242240:lI111|H1072428B0
-1072428B0:lI100|H107242EB0
-107242EB0:lI101|H107243420
-107243420:lI47|H107243960
-107243960:lI97|H107243E50
-107243E50:lI111|H107244340
-107244340:lI99|H1072447F0
-1072447F0:lI50|H107244C60
-107244C60:lI48|H1072450C0
-1072450C0:lI50|H107245510
-107245510:lI51|H107245910
-107245910:lI47|H107245CD0
-107245CD0:lI98|H107246060
-107246060:lI117|H1072463F0
-1072463F0:lI105|H107246780
-107246780:lI108|H107246B10
-107246B10:lI100|H107246E50
-107246E50:lI47|H107247170
-107247170:lI100|H107247490
-107247490:lI101|H1072477A0
-1072477A0:lI118|H107247AA0
-107247AA0:lI47|H107247D90
-107247D90:lI101|H107248070
-107248070:lI114|H107248330
-107248330:lI108|H1072485F0
-1072485F0:lI97|H1072488A0
-1072488A0:lI110|H107248B30
-107248B30:lI103|H107248DB0
-107248DB0:lI47|H107249020
-107249020:lI103|H107249290
-107249290:lI108|H1072494F0
-1072494F0:lI101|H107249750
-107249750:lI97|H1072499A0
-1072499A0:lI109|H107249BB0
-107249BB0:lI95|H107249DA0
-107249DA0:lI101|H107249F80
-107249F80:lI114|H10724A130
-10724A130:lI108|H10724A2C0
-10724A2C0:lI97|H10724A440
-10724A440:lI110|H10724A5B0
-10724A5B0:lI103|H10724A6F0
-10724A6F0:lI47|H10724A810
-10724A810:lI101|H10724A930
-10724A930:lI98|H10724AA30
-10724AA30:lI105|H10724AB10
-10724AB10:lI110|N
-106607F98:lH106605578|H106607F88
-106605578:t2:H1071F02A8,A7:nocache
-1071F02A8:lI47|H1071F0E68
-1071F0E68:lI85|H1071F2688
-1071F2688:lI115|H1071F49E0
-1071F49E0:lI101|H1071F7208
-1071F7208:lI114|H1071F9E60
-1071F9E60:lI115|H1071FCDA0
-1071FCDA0:lI47|H1071FFE58
-1071FFE58:lI110|H107203000
-107203000:lI105|H107206230
-107206230:lI99|H1072094E8
-1072094E8:lI104|H10720C748
-10720C748:lI111|H10720F958
-10720F958:lI108|H107212BE8
-107212BE8:lI97|H107215FB0
-107215FB0:lI115|H107219590
-107219590:lI99|H10721CC00
-10721CC00:lI97|H107220210
-107220210:lI114|H1072235B8
-1072235B8:lI108|H107226650
-107226650:lI115|H107229348
-107229348:lI111|H10722BC90
-10722BC90:lI110|H10722E2D8
-10722E2D8:lI47|H107230660
-107230660:lI86|H107232758
-107232758:lI83|H107234550
-107234550:lI32|H107236078
-107236078:lI67|H1072378F0
-1072378F0:lI111|H107238F68
-107238F68:lI100|H10723A420
-10723A420:lI101|H10723B750
-10723B750:lI47|H10723C810
-10723C810:lI65|H10723D6B0
-10723D6B0:lI100|H10723E430
-10723E430:lI118|H10723F040
-10723F040:lI101|H10723FB10
-10723FB10:lI110|H107240460
-107240460:lI116|H107240CE0
-107240CE0:lI79|H107241470
-107241470:lI102|H107241BA0
-107241BA0:lI67|H107242270
-107242270:lI111|H1072428E0
-1072428E0:lI100|H107242EE0
-107242EE0:lI101|H107243450
-107243450:lI47|H107243990
-107243990:lI97|H107243E80
-107243E80:lI111|H107244370
-107244370:lI99|H107244820
-107244820:lI50|H107244C90
-107244C90:lI48|H1072450F0
-1072450F0:lI50|H107245540
-107245540:lI51|H107245940
-107245940:lI47|H107245D00
-107245D00:lI98|H107246090
-107246090:lI117|H107246420
-107246420:lI105|H1072467B0
-1072467B0:lI108|H107246B40
-107246B40:lI100|H107246E80
-107246E80:lI47|H1072471A0
-1072471A0:lI100|H1072474C0
-1072474C0:lI101|H1072477D0
-1072477D0:lI118|H107247AD0
-107247AD0:lI47|H107247DC0
-107247DC0:lI101|H107248090
-107248090:lI114|H107248350
-107248350:lI108|H107248610
-107248610:lI97|H1072488C0
-1072488C0:lI110|H107248B50
-107248B50:lI103|H107248DD0
-107248DD0:lI47|H107249040
-107249040:lI103|H1072492B0
-1072492B0:lI108|H107249510
-107249510:lI105|H107249770
-107249770:lI110|H1072499C0
-1072499C0:lI116|H107249BD0
-107249BD0:lI47|H107249DC0
-107249DC0:lI101|H107249FA0
-107249FA0:lI98|H10724A150
-10724A150:lI105|H10724A2E0
-10724A2E0:lI110|N
-106607F88:lH106605B50|H106607F78
-106605B50:t2:H1071F0368,A7:nocache
-1071F0368:lI47|H1071F1420
-1071F1420:lI85|H1071F3318
-1071F3318:lI115|H1071F5900
-1071F5900:lI101|H1071F8168
-1071F8168:lI114|H1071FADC0
-1071FADC0:lI115|H1071FDD00
-1071FDD00:lI47|H107200DB8
-107200DB8:lI110|H107203F60
-107203F60:lI105|H107207190
-107207190:lI99|H10720A418
-10720A418:lI104|H10720D678
-10720D678:lI111|H107210868
-107210868:lI108|H107213AD8
-107213AD8:lI97|H107216E90
-107216E90:lI115|H10721A400
-10721A400:lI99|H10721D9C0
-10721D9C0:lI97|H107220F10
-107220F10:lI114|H107224178
-107224178:lI108|H1072270C0
-1072270C0:lI115|H107229C28
-107229C28:lI111|H10722C450
-10722C450:lI110|H10722E998
-10722E998:lI47|H107230C10
-107230C10:lI86|H107232C08
-107232C08:lI83|H1072348E0
-1072348E0:lI32|H107236318
-107236318:lI67|H107237AE0
-107237AE0:lI111|H1072390F8
-1072390F8:lI100|H10723A590
-10723A590:lI101|H10723B850
-10723B850:lI47|H10723C8A0
-10723C8A0:lI65|H10723D710
-10723D710:lI100|H10723E470
-10723E470:lI118|H10723F080
-10723F080:lI101|H10723FB40
-10723FB40:lI110|H107240490
-107240490:lI116|H107240D10
-107240D10:lI79|H1072414A0
-1072414A0:lI102|H107241BD0
-107241BD0:lI67|H1072422A0
-1072422A0:lI111|H107242910
-107242910:lI100|H107242F10
-107242F10:lI101|H107243480
-107243480:lI47|H1072439C0
-1072439C0:lI97|H107243EB0
-107243EB0:lI111|H1072443A0
-1072443A0:lI99|H107244850
-107244850:lI50|H107244CC0
-107244CC0:lI48|H107245120
-107245120:lI50|H107245570
-107245570:lI51|H107245970
-107245970:lI47|H107245D30
-107245D30:lI98|H1072460C0
-1072460C0:lI117|H107246450
-107246450:lI105|H1072467E0
-1072467E0:lI108|H107246B70
-107246B70:lI100|H107246EA0
-107246EA0:lI47|H1072471C0
-1072471C0:lI100|H1072474E0
-1072474E0:lI101|H1072477F0
-1072477F0:lI118|H107247AF0
-107247AF0:lI47|H107247DE0
-107247DE0:lI101|H1072480B0
-1072480B0:lI114|H107248370
-107248370:lI108|H107248630
-107248630:lI97|H1072488E0
-1072488E0:lI110|H107248B70
-107248B70:lI103|H107248DF0
-107248DF0:lI47|H107249060
-107249060:lI103|H1072492D0
-1072492D0:lI108|H107249530
-107249530:lI101|H107249790
-107249790:lI97|H1072499E0
-1072499E0:lI109|H107249BF0
-107249BF0:lI95|H107249DE0
-107249DE0:lI104|H107249FC0
-107249FC0:lI116|H10724A170
-10724A170:lI116|H10724A300
-10724A300:lI112|H10724A470
-10724A470:lI47|H10724A5E0
-10724A5E0:lI101|H10724A720
-10724A720:lI98|H10724A840
-10724A840:lI105|H10724A960
-10724A960:lI110|N
-106607F78:lH1066060B8|H106607F68
-1066060B8:t2:H1071F0430,A7:nocache
-1071F0430:lI47|H1071F14D8
-1071F14D8:lI85|H1071F3448
-1071F3448:lI115|H1071F5A30
-1071F5A30:lI101|H1071F8298
-1071F8298:lI114|H1071FAEF0
-1071FAEF0:lI115|H1071FDE30
-1071FDE30:lI47|H107200EE8
-107200EE8:lI110|H107204090
-107204090:lI105|H1072072C0
-1072072C0:lI99|H10720A548
-10720A548:lI104|H10720D758
-10720D758:lI111|H107210908
-107210908:lI108|H107213B68
-107213B68:lI97|H107216F20
-107216F20:lI115|H10721A490
-10721A490:lI99|H10721DA40
-10721DA40:lI97|H107220F80
-107220F80:lI114|H1072241C8
-1072241C8:lI108|H107227100
-107227100:lI115|H107229C58
-107229C58:lI111|H10722C480
-10722C480:lI110|H10722E9C8
-10722E9C8:lI47|H107230C40
-107230C40:lI86|H107232C38
-107232C38:lI83|H107234910
-107234910:lI32|H107236348
-107236348:lI67|H107237B10
-107237B10:lI111|H107239128
-107239128:lI100|H10723A5C0
-10723A5C0:lI101|H10723B880
-10723B880:lI47|H10723C8D0
-10723C8D0:lI65|H10723D740
-10723D740:lI100|H10723E4A0
-10723E4A0:lI118|H10723F0B0
-10723F0B0:lI101|H10723FB70
-10723FB70:lI110|H1072404C0
-1072404C0:lI116|H107240D40
-107240D40:lI79|H1072414D0
-1072414D0:lI102|H107241C00
-107241C00:lI67|H1072422D0
-1072422D0:lI111|H107242940
-107242940:lI100|H107242F40
-107242F40:lI101|H1072434B0
-1072434B0:lI47|H1072439F0
-1072439F0:lI97|H107243EE0
-107243EE0:lI111|H1072443D0
-1072443D0:lI99|H107244880
-107244880:lI50|H107244CF0
-107244CF0:lI48|H107245150
-107245150:lI50|H1072455A0
-1072455A0:lI51|H1072459A0
-1072459A0:lI47|H107245D60
-107245D60:lI98|H1072460F0
-1072460F0:lI117|H107246480
-107246480:lI105|H107246810
-107246810:lI108|H107246BA0
-107246BA0:lI100|H107246ED0
-107246ED0:lI47|H1072471F0
-1072471F0:lI100|H107247510
-107247510:lI101|H107247810
-107247810:lI118|H107247B10
-107247B10:lI47|H107247E00
-107247E00:lI101|H1072480D0
-1072480D0:lI114|H107248390
-107248390:lI108|H107248650
-107248650:lI97|H107248900
-107248900:lI110|H107248B90
-107248B90:lI103|H107248E10
-107248E10:lI47|H107249080
-107249080:lI103|H1072492F0
-1072492F0:lI97|H107249550
-107249550:lI112|H1072497B0
-1072497B0:lI47|H107249A00
-107249A00:lI101|H107249C10
-107249C10:lI98|H107249E00
-107249E00:lI105|H107249FE0
-107249FE0:lI110|N
-106607F68:lH106606680|H106607F58
-106606680:t2:H1071F0420,A7:nocache
-1071F0420:lI47|H1071F14C8
-1071F14C8:lI85|H1071F3438
-1071F3438:lI115|H1071F5A20
-1071F5A20:lI101|H1071F8288
-1071F8288:lI114|H1071FAEE0
-1071FAEE0:lI115|H1071FDE20
-1071FDE20:lI47|H107200ED8
-107200ED8:lI110|H107204080
-107204080:lI105|H1072072B0
-1072072B0:lI99|H10720A538
-10720A538:lI104|H10720D748
-10720D748:lI111|H1072108F8
-1072108F8:lI108|H107213B58
-107213B58:lI97|H107216F10
-107216F10:lI115|H10721A480
-10721A480:lI99|H10721DA30
-10721DA30:lI97|H107220F70
-107220F70:lI114|H1072241B8
-1072241B8:lI108|H1072270F0
-1072270F0:lI115|H107229C48
-107229C48:lI111|H10722C470
-10722C470:lI110|H10722E9B8
-10722E9B8:lI47|H107230C30
-107230C30:lI86|H107232C28
-107232C28:lI83|H107234900
-107234900:lI32|H107236338
-107236338:lI67|H107237B00
-107237B00:lI111|H107239118
-107239118:lI100|H10723A5B0
-10723A5B0:lI101|H10723B870
-10723B870:lI47|H10723C8C0
-10723C8C0:lI65|H10723D730
-10723D730:lI100|H10723E490
-10723E490:lI118|H10723F0A0
-10723F0A0:lI101|H10723FB60
-10723FB60:lI110|H1072404B0
-1072404B0:lI116|H107240D30
-107240D30:lI79|H1072414C0
-1072414C0:lI102|H107241BF0
-107241BF0:lI67|H1072422C0
-1072422C0:lI111|H107242930
-107242930:lI100|H107242F30
-107242F30:lI101|H1072434A0
-1072434A0:lI47|H1072439E0
-1072439E0:lI97|H107243ED0
-107243ED0:lI111|H1072443C0
-1072443C0:lI99|H107244870
-107244870:lI50|H107244CE0
-107244CE0:lI48|H107245140
-107245140:lI50|H107245590
-107245590:lI51|H107245990
-107245990:lI47|H107245D50
-107245D50:lI98|H1072460E0
-1072460E0:lI117|H107246470
-107246470:lI105|H107246800
-107246800:lI108|H107246B90
-107246B90:lI100|H107246EC0
-107246EC0:lI47|H1072471E0
-1072471E0:lI100|H107247500
-107247500:lI101|H107247800
-107247800:lI118|H107247B00
-107247B00:lI47|H107247DF0
-107247DF0:lI101|H1072480C0
-1072480C0:lI114|H107248380
-107248380:lI108|H107248640
-107248640:lI97|H1072488F0
-1072488F0:lI110|H107248B80
-107248B80:lI103|H107248E00
-107248E00:lI47|H107249070
-107249070:lI103|H1072492E0
-1072492E0:lI108|H107249540
-107249540:lI101|H1072497A0
-1072497A0:lI97|H1072499F0
-1072499F0:lI109|H107249C00
-107249C00:lI95|H107249DF0
-107249DF0:lI111|H107249FD0
-107249FD0:lI116|H10724A180
-10724A180:lI112|H10724A310
-10724A310:lI47|H10724A480
-10724A480:lI101|H10724A5F0
-10724A5F0:lI98|H10724A730
-10724A730:lI105|H10724A850
-10724A850:lI110|N
-106607F58:lH106606D18|H106607F48
-106606D18:t2:H1071F0358,A7:nocache
-1071F0358:lI47|H1071F1410
-1071F1410:lI85|H1071F3308
-1071F3308:lI115|H1071F58F0
-1071F58F0:lI101|H1071F8158
-1071F8158:lI114|H1071FADB0
-1071FADB0:lI115|H1071FDCF0
-1071FDCF0:lI47|H107200DA8
-107200DA8:lI110|H107203F50
-107203F50:lI105|H107207180
-107207180:lI99|H10720A408
-10720A408:lI104|H10720D668
-10720D668:lI111|H107210858
-107210858:lI108|H107213AC8
-107213AC8:lI97|H107216E80
-107216E80:lI115|H10721A3F0
-10721A3F0:lI99|H10721D9B0
-10721D9B0:lI97|H107220F00
-107220F00:lI114|H107224168
-107224168:lI108|H1072270B0
-1072270B0:lI115|H107229C18
-107229C18:lI111|H10722C440
-10722C440:lI110|H10722E988
-10722E988:lI47|H107230C00
-107230C00:lI86|H107232BF8
-107232BF8:lI83|H1072348D0
-1072348D0:lI32|H107236308
-107236308:lI67|H107237AD0
-107237AD0:lI111|H1072390E8
-1072390E8:lI100|H10723A580
-10723A580:lI101|H10723B840
-10723B840:lI47|H10723C890
-10723C890:lI65|H10723D700
-10723D700:lI100|H10723E460
-10723E460:lI118|H10723F070
-10723F070:lI101|H10723FB30
-10723FB30:lI110|H107240480
-107240480:lI116|H107240D00
-107240D00:lI79|H107241490
-107241490:lI102|H107241BC0
-107241BC0:lI67|H107242290
-107242290:lI111|H107242900
-107242900:lI100|H107242F00
-107242F00:lI101|H107243470
-107243470:lI47|H1072439B0
-1072439B0:lI97|H107243EA0
-107243EA0:lI111|H107244390
-107244390:lI99|H107244840
-107244840:lI50|H107244CB0
-107244CB0:lI48|H107245110
-107245110:lI50|H107245560
-107245560:lI51|H107245960
-107245960:lI47|H107245D20
-107245D20:lI98|H1072460B0
-1072460B0:lI117|H107246440
-107246440:lI105|H1072467D0
-1072467D0:lI108|H107246B60
-107246B60:lI100|H107246E90
-107246E90:lI47|H1072471B0
-1072471B0:lI100|H1072474D0
-1072474D0:lI101|H1072477E0
-1072477E0:lI118|H107247AE0
-107247AE0:lI47|H107247DD0
-107247DD0:lI101|H1072480A0
-1072480A0:lI114|H107248360
-107248360:lI108|H107248620
-107248620:lI97|H1072488D0
-1072488D0:lI110|H107248B60
-107248B60:lI103|H107248DE0
-107248DE0:lI47|H107249050
-107249050:lI103|H1072492C0
-1072492C0:lI108|H107249520
-107249520:lI101|H107249780
-107249780:lI97|H1072499D0
-1072499D0:lI109|H107249BE0
-107249BE0:lI95|H107249DD0
-107249DD0:lI99|H107249FB0
-107249FB0:lI111|H10724A160
-10724A160:lI109|H10724A2F0
-10724A2F0:lI109|H10724A460
-10724A460:lI117|H10724A5D0
-10724A5D0:lI110|H10724A710
-10724A710:lI105|H10724A830
-10724A830:lI116|H10724A950
-10724A950:lI121|H10724AA50
-10724AA50:lI95|H10724AB20
-10724AB20:lI99|H10724ABC0
-10724ABC0:lI111|H10724AC50
-10724AC50:lI108|H10724ACB0
-10724ACB0:lI111|H10724AD00
-10724AD00:lI117|H10724AD50
-10724AD50:lI114|H10724AD90
-10724AD90:lI47|H10724ADD0
-10724ADD0:lI101|H10724AE00
-10724AE00:lI98|H10724AE20
-10724AE20:lI105|H10724AE40
-10724AE40:lI110|N
-106607F48:lH106607300|H106607F38
-106607300:t2:H1071F0298,A7:nocache
-1071F0298:lI47|H1071F0E58
-1071F0E58:lI85|H1071F2678
-1071F2678:lI115|H1071F49D0
-1071F49D0:lI101|H1071F71F8
-1071F71F8:lI114|H1071F9E50
-1071F9E50:lI115|H1071FCD90
-1071FCD90:lI47|H1071FFE48
-1071FFE48:lI110|H107202FF0
-107202FF0:lI105|H107206220
-107206220:lI99|H1072094D8
-1072094D8:lI104|H10720C738
-10720C738:lI111|H10720F948
-10720F948:lI108|H107212BD8
-107212BD8:lI97|H107215FA0
-107215FA0:lI115|H107219580
-107219580:lI99|H10721CBF0
-10721CBF0:lI97|H107220200
-107220200:lI114|H1072235A8
-1072235A8:lI108|H107226640
-107226640:lI115|H107229338
-107229338:lI111|H10722BC80
-10722BC80:lI110|H10722E2C8
-10722E2C8:lI47|H107230650
-107230650:lI86|H107232748
-107232748:lI83|H107234540
-107234540:lI32|H107236068
-107236068:lI67|H1072378E0
-1072378E0:lI111|H107238F58
-107238F58:lI100|H10723A410
-10723A410:lI101|H10723B740
-10723B740:lI47|H10723C800
-10723C800:lI65|H10723D6A0
-10723D6A0:lI100|H10723E420
-10723E420:lI118|H10723F030
-10723F030:lI101|H10723FB00
-10723FB00:lI110|H107240450
-107240450:lI116|H107240CD0
-107240CD0:lI79|H107241460
-107241460:lI102|H107241B90
-107241B90:lI67|H107242260
-107242260:lI111|H1072428D0
-1072428D0:lI100|H107242ED0
-107242ED0:lI101|H107243440
-107243440:lI47|H107243980
-107243980:lI97|H107243E70
-107243E70:lI111|H107244360
-107244360:lI99|H107244810
-107244810:lI50|H107244C80
-107244C80:lI48|H1072450E0
-1072450E0:lI50|H107245530
-107245530:lI51|H107245930
-107245930:lI47|H107245CF0
-107245CF0:lI98|H107246080
-107246080:lI117|H107246410
-107246410:lI105|H1072467A0
-1072467A0:lI108|H107246B30
-107246B30:lI100|H107246E70
-107246E70:lI47|H107247190
-107247190:lI100|H1072474B0
-1072474B0:lI101|H1072477C0
-1072477C0:lI118|H107247AC0
-107247AC0:lI47|H107247DB0
-107247DB0:lI101|H107248080
-107248080:lI114|H107248340
-107248340:lI108|H107248600
-107248600:lI97|H1072488B0
-1072488B0:lI110|H107248B40
-107248B40:lI103|H107248DC0
-107248DC0:lI47|H107249030
-107249030:lI103|H1072492A0
-1072492A0:lI108|H107249500
-107249500:lI101|H107249760
-107249760:lI97|H1072499B0
-1072499B0:lI109|H107249BC0
-107249BC0:lI95|H107249DB0
-107249DB0:lI104|H107249F90
-107249F90:lI116|H10724A140
-10724A140:lI116|H10724A2D0
-10724A2D0:lI112|H10724A450
-10724A450:lI99|H10724A5C0
-10724A5C0:lI47|H10724A700
-10724A700:lI101|H10724A820
-10724A820:lI98|H10724A940
-10724A940:lI105|H10724AA40
-10724AA40:lI110|N
-106607F38:lH106607F20|H1066006B0
-106607F20:t2:H1071F01E0,A7:nocache
-1071F01E0:lI47|H1071F0CA8
-1071F0CA8:lI85|H1071F2428
-1071F2428:lI115|H1071F4770
-1071F4770:lI101|H1071F6F98
-1071F6F98:lI114|H1071F9BF0
-1071F9BF0:lI115|H1071FCB30
-1071FCB30:lI47|H1071FFBE8
-1071FFBE8:lI110|H107202D90
-107202D90:lI105|H107205FC0
-107205FC0:lI99|H107209278
-107209278:lI104|H10720C4D8
-10720C4D8:lI111|H10720F6F8
-10720F6F8:lI108|H1072129A8
-1072129A8:lI97|H107215D70
-107215D70:lI115|H107219350
-107219350:lI99|H10721C9E0
-10721C9E0:lI97|H107220020
-107220020:lI114|H107223418
-107223418:lI108|H1072264D0
-1072264D0:lI115|H1072291F8
-1072291F8:lI111|H10722BB60
-10722BB60:lI110|H10722E1B8
-10722E1B8:lI47|H107230570
-107230570:lI86|H107232698
-107232698:lI83|H1072344B0
-1072344B0:lI32|H107235FD8
-107235FD8:lI67|H107237850
-107237850:lI111|H107238ED8
-107238ED8:lI100|H10723A3A0
-10723A3A0:lI101|H10723B6E0
-10723B6E0:lI47|H10723C7B0
-10723C7B0:lI65|H10723D670
-10723D670:lI100|H10723E3F0
-10723E3F0:lI118|H10723F000
-10723F000:lI101|H10723FAD0
-10723FAD0:lI110|H107240420
-107240420:lI116|H107240CA0
-107240CA0:lI79|H107241430
-107241430:lI102|H107241B60
-107241B60:lI67|H107242230
-107242230:lI111|H1072428A0
-1072428A0:lI100|H107242EA0
-107242EA0:lI101|H107243410
-107243410:lI47|H107243950
-107243950:lI97|H107243E40
-107243E40:lI111|H107244330
-107244330:lI99|H1072447E0
-1072447E0:lI50|H107244C50
-107244C50:lI48|H1072450B0
-1072450B0:lI50|H107245500
-107245500:lI51|H107245900
-107245900:lI47|H107245CC0
-107245CC0:lI98|H107246050
-107246050:lI117|H1072463E0
-1072463E0:lI105|H107246770
-107246770:lI108|H107246B00
-107246B00:lI100|H107246E40
-107246E40:lI47|H107247160
-107247160:lI100|H107247480
-107247480:lI101|H107247790
-107247790:lI118|H107247A90
-107247A90:lI47|H107247D80
-107247D80:lI101|H107248060
-107248060:lI114|H107248320
-107248320:lI108|H1072485E0
-1072485E0:lI97|H107248890
-107248890:lI110|H107248B20
-107248B20:lI103|H107248DA0
-107248DA0:lI47|H107249010
-107249010:lI103|H107249280
-107249280:lI108|H1072494E0
-1072494E0:lI101|H107249740
-107249740:lI97|H107249990
-107249990:lI109|H107249BA0
-107249BA0:lI95|H107249D90
-107249D90:lI115|H107249F70
-107249F70:lI116|H10724A120
-10724A120:lI100|H10724A2B0
-10724A2B0:lI108|H10724A430
-10724A430:lI105|H10724A5A0
-10724A5A0:lI98|H10724A6E0
-10724A6E0:lI47|H10724A800
-10724A800:lI101|H10724A920
-10724A920:lI98|H10724AA20
-10724AA20:lI105|H10724AB00
-10724AB00:lI110|N
-1066006B0:lH106600708|H106600720
-106600708:t2:H1071F0120,A7:nocache
-1071F0120:lI47|H1071F0978
-1071F0978:lI85|H1071F1EA0
-1071F1EA0:lI115|H1071F4188
-1071F4188:lI101|H1071F69A8
-1071F69A8:lI114|H1071F9600
-1071F9600:lI115|H1071FC540
-1071FC540:lI47|H1071FF5F8
-1071FF5F8:lI110|H1072027A0
-1072027A0:lI105|H1072059E0
-1072059E0:lI99|H107208CB8
-107208CB8:lI104|H10720BF68
-10720BF68:lI111|H10720F1E8
-10720F1E8:lI108|H107212508
-107212508:lI97|H107215990
-107215990:lI115|H107219000
-107219000:lI99|H10721C760
-10721C760:lI97|H10721FDE0
-10721FDE0:lI114|H107223268
-107223268:lI108|H107226350
-107226350:lI115|H1072290E8
-1072290E8:lI111|H10722BAB0
-10722BAB0:lI110|H10722E118
-10722E118:lI47|H1072304D0
-1072304D0:lI86|H1072325F8
-1072325F8:lI83|H107234430
-107234430:lI32|H107235F78
-107235F78:lI67|H107237810
-107237810:lI111|H107238E98
-107238E98:lI100|H10723A370
-10723A370:lI101|H10723B6B0
-10723B6B0:lI47|H10723C780
-10723C780:lI65|H10723D640
-10723D640:lI100|H10723E3C0
-10723E3C0:lI118|H10723EFD0
-10723EFD0:lI101|H10723FAA0
-10723FAA0:lI110|H1072403F0
-1072403F0:lI116|H107240C70
-107240C70:lI79|H107241400
-107241400:lI102|H107241B30
-107241B30:lI67|H107242200
-107242200:lI111|H107242870
-107242870:lI100|H107242E70
-107242E70:lI101|H1072433E0
-1072433E0:lI47|H107243920
-107243920:lI97|H107243E10
-107243E10:lI111|H107244300
-107244300:lI99|H1072447B0
-1072447B0:lI50|H107244C20
-107244C20:lI48|H107245080
-107245080:lI50|H1072454D0
-1072454D0:lI51|H1072458D0
-1072458D0:lI47|H107245C90
-107245C90:lI98|H107246020
-107246020:lI117|H1072463B0
-1072463B0:lI105|H107246740
-107246740:lI108|H107246AD0
-107246AD0:lI100|H107246E10
-107246E10:lI47|H107247130
-107247130:lI100|H107247450
-107247450:lI101|H107247760
-107247760:lI118|H107247A60
-107247A60:lI47|H107247D50
-107247D50:lI101|H107248030
-107248030:lI114|H1072482F0
-1072482F0:lI108|H1072485B0
-1072485B0:lI97|H107248860
-107248860:lI110|H107248B00
-107248B00:lI103|H107248D80
-107248D80:lI47|H107248FF0
-107248FF0:lI103|H107249260
-107249260:lI108|H1072494C0
-1072494C0:lI101|H107249720
-107249720:lI101|H107249970
-107249970:lI117|H107249B80
-107249B80:lI110|H107249D70
-107249D70:lI105|H107249F50
-107249F50:lI116|H10724A100
-10724A100:lI47|H10724A290
-10724A290:lI101|H10724A410
-10724A410:lI98|H10724A580
-10724A580:lI105|H10724A6D0
-10724A6D0:lI110|N
-106600720:lH106600778|H106600790
-106600778:t2:H1071F0068,A7:nocache
-1071F0068:lI47|H1071F0628
-1071F0628:lI85|H1071F18B0
-1071F18B0:lI115|H1071F3B28
-1071F3B28:lI101|H1071F6340
-1071F6340:lI114|H1071F8F90
-1071F8F90:lI115|H1071FBED0
-1071FBED0:lI47|H1071FEF88
-1071FEF88:lI110|H107202130
-107202130:lI105|H107205370
-107205370:lI99|H107208668
-107208668:lI104|H10720B938
-10720B938:lI111|H10720EBF8
-10720EBF8:lI108|H107211F58
-107211F58:lI97|H107215430
-107215430:lI115|H107218AC0
-107218AC0:lI99|H10721C2F0
-10721C2F0:lI97|H10721F9F0
-10721F9F0:lI114|H107222EE8
-107222EE8:lI108|H107226050
-107226050:lI115|H107228E38
-107228E38:lI111|H10722B870
-10722B870:lI110|H10722DF48
-10722DF48:lI47|H107230370
-107230370:lI86|H1072324E8
-1072324E8:lI83|H107234350
-107234350:lI32|H107235EB8
-107235EB8:lI67|H1072377B0
-1072377B0:lI111|H107238E38
-107238E38:lI100|H10723A310
-10723A310:lI101|H10723B670
-10723B670:lI47|H10723C750
-10723C750:lI65|H10723D610
-10723D610:lI100|H10723E390
-10723E390:lI118|H10723EFA0
-10723EFA0:lI101|H10723FA70
-10723FA70:lI110|H1072403C0
-1072403C0:lI116|H107240C40
-107240C40:lI79|H1072413D0
-1072413D0:lI102|H107241B00
-107241B00:lI67|H1072421D0
-1072421D0:lI111|H107242840
-107242840:lI100|H107242E40
-107242E40:lI101|H1072433B0
-1072433B0:lI47|H1072438F0
-1072438F0:lI97|H107243DE0
-107243DE0:lI111|H1072442D0
-1072442D0:lI99|H107244780
-107244780:lI50|H107244BF0
-107244BF0:lI48|H107245050
-107245050:lI50|H1072454A0
-1072454A0:lI51|H1072458A0
-1072458A0:lI47|H107245C60
-107245C60:lI98|H107245FF0
-107245FF0:lI117|H107246380
-107246380:lI105|H107246710
-107246710:lI108|H107246AA0
-107246AA0:lI100|H107246DE0
-107246DE0:lI47|H107247100
-107247100:lI100|H107247420
-107247420:lI101|H107247730
-107247730:lI118|H107247A30
-107247A30:lI47|H107247D20
-107247D20:lI101|H107248000
-107248000:lI114|H1072482C0
-1072482C0:lI108|H107248580
-107248580:lI97|H107248830
-107248830:lI110|H107248AE0
-107248AE0:lI103|H107248D60
-107248D60:lI47|H107248FD0
-107248FD0:lI115|H107249240
-107249240:lI110|H1072494A0
-1072494A0:lI97|H107249700
-107249700:lI103|H107249950
-107249950:lI47|H107249B60
-107249B60:lI101|H107249D50
-107249D50:lI98|H107249F30
-107249F30:lI105|H10724A0E0
-10724A0E0:lI110|N
-106600790:lH1066007E8|H106600800
-1066007E8:t2:H1071F0058,A7:nocache
-1071F0058:lI47|H1071F0618
-1071F0618:lI85|H1071F18A0
-1071F18A0:lI115|H1071F3B18
-1071F3B18:lI101|H1071F6330
-1071F6330:lI114|H1071F8F80
-1071F8F80:lI115|H1071FBEC0
-1071FBEC0:lI47|H1071FEF78
-1071FEF78:lI110|H107202120
-107202120:lI105|H107205360
-107205360:lI99|H107208658
-107208658:lI104|H10720B928
-10720B928:lI111|H10720EBE8
-10720EBE8:lI108|H107211F48
-107211F48:lI97|H107215420
-107215420:lI115|H107218AB0
-107218AB0:lI99|H10721C2E0
-10721C2E0:lI97|H10721F9E0
-10721F9E0:lI114|H107222ED8
-107222ED8:lI108|H107226040
-107226040:lI115|H107228E28
-107228E28:lI111|H10722B860
-10722B860:lI110|H10722DF38
-10722DF38:lI47|H107230360
-107230360:lI86|H1072324D8
-1072324D8:lI83|H107234340
-107234340:lI32|H107235EA8
-107235EA8:lI67|H1072377A0
-1072377A0:lI111|H107238E28
-107238E28:lI100|H10723A300
-10723A300:lI101|H10723B660
-10723B660:lI47|H10723C740
-10723C740:lI65|H10723D600
-10723D600:lI100|H10723E380
-10723E380:lI118|H10723EF90
-10723EF90:lI101|H10723FA60
-10723FA60:lI110|H1072403B0
-1072403B0:lI116|H107240C30
-107240C30:lI79|H1072413C0
-1072413C0:lI102|H107241AF0
-107241AF0:lI67|H1072421C0
-1072421C0:lI111|H107242830
-107242830:lI100|H107242E30
-107242E30:lI101|H1072433A0
-1072433A0:lI47|H1072438E0
-1072438E0:lI97|H107243DD0
-107243DD0:lI111|H1072442C0
-1072442C0:lI99|H107244770
-107244770:lI50|H107244BE0
-107244BE0:lI48|H107245040
-107245040:lI50|H107245490
-107245490:lI51|H107245890
-107245890:lI47|H107245C50
-107245C50:lI98|H107245FE0
-107245FE0:lI117|H107246370
-107246370:lI105|H107246700
-107246700:lI108|H107246A90
-107246A90:lI100|H107246DD0
-107246DD0:lI47|H1072470F0
-1072470F0:lI100|H107247410
-107247410:lI101|H107247720
-107247720:lI118|H107247A20
-107247A20:lI47|H107247D10
-107247D10:lI101|H107247FF0
-107247FF0:lI114|H1072482B0
-1072482B0:lI108|H107248570
-107248570:lI97|H107248820
-107248820:lI110|H107248AD0
-107248AD0:lI103|H107248D50
-107248D50:lI47|H107248FC0
-107248FC0:lI116|H107249230
-107249230:lI111|H107249490
-107249490:lI109|H1072496F0
-1072496F0:lI47|H107249940
-107249940:lI101|H107249B50
-107249B50:lI98|H107249D40
-107249D40:lI105|H107249F20
-107249F20:lI110|N
-106600800:lH106600858|H106600870
-106600858:t2:H1071F0028,A7:nocache
-1071F0028:lI47|H1071F05E8
-1071F05E8:lI85|H1071F1870
-1071F1870:lI115|H1071F3AE8
-1071F3AE8:lI101|H1071F6300
-1071F6300:lI114|H1071F8F50
-1071F8F50:lI115|H1071FBE90
-1071FBE90:lI47|H1071FEF48
-1071FEF48:lI110|H1072020F0
-1072020F0:lI105|H107205330
-107205330:lI99|H107208628
-107208628:lI104|H10720B8F8
-10720B8F8:lI111|H10720EBB8
-10720EBB8:lI108|H107211F18
-107211F18:lI97|H1072153F0
-1072153F0:lI115|H107218A80
-107218A80:lI99|H10721C2B0
-10721C2B0:lI97|H10721F9B0
-10721F9B0:lI114|H107222EA8
-107222EA8:lI108|H107226010
-107226010:lI115|H107228DF8
-107228DF8:lI111|H10722B830
-10722B830:lI110|H10722DF08
-10722DF08:lI47|H107230330
-107230330:lI86|H1072324A8
-1072324A8:lI83|H107234310
-107234310:lI32|H107235E78
-107235E78:lI67|H107237770
-107237770:lI111|H107238DF8
-107238DF8:lI100|H10723A2D0
-10723A2D0:lI101|H10723B630
-10723B630:lI47|H10723C710
-10723C710:lI65|H10723D5D0
-10723D5D0:lI100|H10723E350
-10723E350:lI118|H10723EF60
-10723EF60:lI101|H10723FA30
-10723FA30:lI110|H107240380
-107240380:lI116|H107240C00
-107240C00:lI79|H107241390
-107241390:lI102|H107241AC0
-107241AC0:lI67|H107242190
-107242190:lI111|H107242800
-107242800:lI100|H107242E00
-107242E00:lI101|H107243370
-107243370:lI47|H1072438B0
-1072438B0:lI97|H107243DB0
-107243DB0:lI111|H1072442A0
-1072442A0:lI99|H107244750
-107244750:lI50|H107244BC0
-107244BC0:lI48|H107245020
-107245020:lI50|H107245470
-107245470:lI51|H107245870
-107245870:lI47|H107245C30
-107245C30:lI98|H107245FC0
-107245FC0:lI117|H107246350
-107246350:lI105|H1072466E0
-1072466E0:lI108|H107246A70
-107246A70:lI100|H107246DB0
-107246DB0:lI47|H1072470D0
-1072470D0:lI100|H1072473F0
-1072473F0:lI101|H107247700
-107247700:lI118|H107247A00
-107247A00:lI47|H107247CF0
-107247CF0:lI101|H107247FD0
-107247FD0:lI114|H107248290
-107248290:lI108|H107248550
-107248550:lI97|H107248800
-107248800:lI110|H107248AB0
-107248AB0:lI103|H107248D30
-107248D30:lI47|H107248FA0
-107248FA0:lI97|H107249210
-107249210:lI111|H107249470
-107249470:lI99|H1072496D0
-1072496D0:lI50|H107249920
-107249920:lI48|H107249B30
-107249B30:lI50|H107249D20
-107249D20:lI51|H107249F00
-107249F00:lI47|H10724A0C0
-10724A0C0:lI101|H10724A260
-10724A260:lI98|H10724A3E0
-10724A3E0:lI105|H10724A550
-10724A550:lI110|N
-106600870:lH1066008B8|H1066008D0
-1066008B8:t2:H1071F0048,A7:nocache
-1071F0048:lI47|H1071F0608
-1071F0608:lI85|H1071F1890
-1071F1890:lI115|H1071F3B08
-1071F3B08:lI101|H1071F6320
-1071F6320:lI114|H1071F8F70
-1071F8F70:lI115|H1071FBEB0
-1071FBEB0:lI47|H1071FEF68
-1071FEF68:lI110|H107202110
-107202110:lI105|H107205350
-107205350:lI99|H107208648
-107208648:lI104|H10720B918
-10720B918:lI111|H10720EBD8
-10720EBD8:lI108|H107211F38
-107211F38:lI97|H107215410
-107215410:lI115|H107218AA0
-107218AA0:lI99|H10721C2D0
-10721C2D0:lI97|H10721F9D0
-10721F9D0:lI114|H107222EC8
-107222EC8:lI108|H107226030
-107226030:lI115|H107228E18
-107228E18:lI111|H10722B850
-10722B850:lI110|H10722DF28
-10722DF28:lI47|H107230350
-107230350:lI86|H1072324C8
-1072324C8:lI83|H107234330
-107234330:lI32|H107235E98
-107235E98:lI67|H107237790
-107237790:lI111|H107238E18
-107238E18:lI100|H10723A2F0
-10723A2F0:lI101|H10723B650
-10723B650:lI47|H10723C730
-10723C730:lI65|H10723D5F0
-10723D5F0:lI100|H10723E370
-10723E370:lI118|H10723EF80
-10723EF80:lI101|H10723FA50
-10723FA50:lI110|H1072403A0
-1072403A0:lI116|H107240C20
-107240C20:lI79|H1072413B0
-1072413B0:lI102|H107241AE0
-107241AE0:lI67|H1072421B0
-1072421B0:lI111|H107242820
-107242820:lI100|H107242E20
-107242E20:lI101|H107243390
-107243390:lI47|H1072438D0
-1072438D0:lI97|H107243DC0
-107243DC0:lI111|H1072442B0
-1072442B0:lI99|H107244760
-107244760:lI50|H107244BD0
-107244BD0:lI48|H107245030
-107245030:lI50|H107245480
-107245480:lI51|H107245880
-107245880:lI47|H107245C40
-107245C40:lI98|H107245FD0
-107245FD0:lI117|H107246360
-107246360:lI105|H1072466F0
-1072466F0:lI108|H107246A80
-107246A80:lI100|H107246DC0
-107246DC0:lI47|H1072470E0
-1072470E0:lI100|H107247400
-107247400:lI101|H107247710
-107247710:lI118|H107247A10
-107247A10:lI47|H107247D00
-107247D00:lI101|H107247FE0
-107247FE0:lI114|H1072482A0
-1072482A0:lI108|H107248560
-107248560:lI97|H107248810
-107248810:lI110|H107248AC0
-107248AC0:lI103|H107248D40
-107248D40:lI47|H107248FB0
-107248FB0:lI115|H107249220
-107249220:lI105|H107249480
-107249480:lI109|H1072496E0
-1072496E0:lI112|H107249930
-107249930:lI108|H107249B40
-107249B40:lI105|H107249D30
-107249D30:lI102|H107249F10
-107249F10:lI105|H10724A0D0
-10724A0D0:lI108|H10724A270
-10724A270:lI101|H10724A3F0
-10724A3F0:lI47|H10724A560
-10724A560:lI101|H10724A6B0
-10724A6B0:lI98|H10724A7E0
-10724A7E0:lI105|H10724A900
-10724A900:lI110|N
-1066008D0:lH106600900|H106600918
-106600900:t2:H280052958,A7:nocache
-106600918:lH106600948|H106600960
-106600948:t2:H1071F0088,H1071F0098
-1071F0098:Mh64:F:H1071F0658,H1071F0698,H1071F06C8,H1071F0718,H1071F0740,H1071F0778,H1071F07B0,H1071F07E0,H1071F0808,H1071F0830,H1071F0878,H1071F08A8,H1071F08D0,H1071F0908,H1071F0938
-1071F0658:Mn7:H1071F18E0,H1071F18F0,H1071F1900,H1071F1910,H1071F1920,H1071F1930,H1071F1940
-1071F18E0:lH1071F3B58|N
-1071F3B58:lI103|H1071F6370
-1071F6370:lI101|H1071F8FC0
-1071F8FC0:lI110|H1071FBF00
-1071FBF00:lI95|H1071FEFB8
-1071FEFB8:lI116|H107202160
-107202160:lI99|H1072053A0
-1072053A0:lI112|H107208698
-107208698:lI46|H10720B968
-10720B968:lI98|H10720EC28
-10720EC28:lI101|H107211F88
-107211F88:lI97|H107215460
-107215460:lI109|N
-1071F1940:lH1071F3BB8|N
-1071F3BB8:lI105|H1071F63D0
-1071F63D0:lI110|H1071F9020
-1071F9020:lI101|H1071FBF60
-1071FBF60:lI116|H1071FF018
-1071FF018:lI95|H1072021C0
-1072021C0:lI114|H107205400
-107205400:lI101|H1072086F8
-1072086F8:lI115|H10720B9C8
-10720B9C8:lI46|H10720EC88
-10720EC88:lI98|H107211FD8
-107211FD8:lI101|H1072154A0
-1072154A0:lI97|H107218B20
-107218B20:lI109|N
-1071F1930:lH1071F3BA8|N
-1071F3BA8:lI114|H1071F63C0
-1071F63C0:lI97|H1071F9010
-1071F9010:lI119|H1071FBF50
-1071FBF50:lI95|H1071FF008
-1071FF008:lI102|H1072021B0
-1072021B0:lI105|H1072053F0
-1072053F0:lI108|H1072086E8
-1072086E8:lI101|H10720B9B8
-10720B9B8:lI95|H10720EC78
-10720EC78:lI105|H107211FC8
-107211FC8:lI111|H107215490
-107215490:lI46|H107218B10
-107218B10:lI98|H10721C340
-10721C340:lI101|H10721FA40
-10721FA40:lI97|H107222F38
-107222F38:lI109|N
-1071F1920:lH1071F3B98|N
-1071F3B98:lI103|H1071F63B0
-1071F63B0:lI114|H1071F9000
-1071F9000:lI111|H1071FBF40
-1071FBF40:lI117|H1071FEFF8
-1071FEFF8:lI112|H1072021A0
-1072021A0:lI46|H1072053E0
-1072053E0:lI98|H1072086D8
-1072086D8:lI101|H10720B9A8
-10720B9A8:lI97|H10720EC68
-10720EC68:lI109|N
-1071F1910:lH1071F3B88|N
-1071F3B88:lI107|H1071F63A0
-1071F63A0:lI101|H1071F8FF0
-1071F8FF0:lI114|H1071FBF30
-1071FBF30:lI110|H1071FEFE8
-1071FEFE8:lI101|H107202190
-107202190:lI108|H1072053D0
-1072053D0:lI95|H1072086C8
-1072086C8:lI114|H10720B998
-10720B998:lI101|H10720EC58
-10720EC58:lI102|H107211FB8
-107211FB8:lI99|H107215480
-107215480:lI46|H107218B00
-107218B00:lI98|H10721C330
-10721C330:lI101|H10721FA30
-10721FA30:lI97|H107222F28
-107222F28:lI109|N
-1071F1900:lH1071F3B78|N
-1071F3B78:lI115|H1071F6390
-1071F6390:lI111|H1071F8FE0
-1071F8FE0:lI99|H1071FBF20
-1071FBF20:lI107|H1071FEFD8
-1071FEFD8:lI101|H107202180
-107202180:lI116|H1072053C0
-1072053C0:lI46|H1072086B8
-1072086B8:lI98|H10720B988
-10720B988:lI101|H10720EC48
-10720EC48:lI97|H107211FA8
-107211FA8:lI109|N
-1071F18F0:lH1071F3B68|N
-1071F3B68:lI100|H1071F6380
-1071F6380:lI105|H1071F8FD0
-1071F8FD0:lI115|H1071FBF10
-1071FBF10:lI107|H1071FEFC8
-1071FEFC8:lI95|H107202170
-107202170:lI108|H1072053B0
-1072053B0:lI111|H1072086A8
-1072086A8:lI103|H10720B978
-10720B978:lI95|H10720EC38
-10720EC38:lI115|H107211F98
-107211F98:lI117|H107215470
-107215470:lI112|H107218AF0
-107218AF0:lI46|H10721C320
-10721C320:lI98|H10721FA20
-10721FA20:lI101|H107222F18
-107222F18:lI97|H107226080
-107226080:lI109|N
-1071F0938:Mn7:H1071F1E28,H1071F1E38,H1071F1E48,H1071F1E58,H1071F1E70,H1071F1E80,H1071F1E90
-1071F1E28:lH1071F4108|N
-1071F4108:lI105|H1071F6928
-1071F6928:lI110|H1071F9580
-1071F9580:lI101|H1071FC4C0
-1071FC4C0:lI116|H1071FF578
-1071FF578:lI54|H107202720
-107202720:lI95|H107205960
-107205960:lI116|H107208C48
-107208C48:lI99|H10720BEF8
-10720BEF8:lI112|H10720F178
-10720F178:lI46|H107212498
-107212498:lI98|H107215930
-107215930:lI101|H107218FA0
-107218FA0:lI97|H10721C720
-10721C720:lI109|N
-1071F1E90:lH1071F4178|N
-1071F4178:lI105|H1071F6998
-1071F6998:lI110|H1071F95F0
-1071F95F0:lI101|H1071FC530
-1071FC530:lI116|H1071FF5E8
-1071FF5E8:lI95|H107202790
-107202790:lI101|H1072059D0
-1072059D0:lI112|H107208CA8
-107208CA8:lI109|H10720BF58
-10720BF58:lI100|H10720F1D8
-10720F1D8:lI95|H1072124F8
-1072124F8:lI115|H107215980
-107215980:lI111|H107218FF0
-107218FF0:lI99|H10721C750
-10721C750:lI107|H10721FDD0
-10721FDD0:lI101|H107223258
-107223258:lI116|H107226340
-107226340:lI46|H1072290D8
-1072290D8:lI98|H10722BAA0
-10722BAA0:lI101|H10722E108
-10722E108:lI97|H1072304C0
-1072304C0:lI109|N
-1071F1E80:lH1071F4168|N
-1071F4168:lI112|H1071F6988
-1071F6988:lI103|H1071F95E0
-1071F95E0:lI46|H1071FC520
-1071FC520:lI98|H1071FF5D8
-1071FF5D8:lI101|H107202780
-107202780:lI97|H1072059C0
-1072059C0:lI109|N
-1071F1E70:lH1071F4158|N
-1071F4158:lI108|H1071F6978
-1071F6978:lI111|H1071F95D0
-1071F95D0:lI99|H1071FC510
-1071FC510:lI97|H1071FF5C8
-1071FF5C8:lI108|H107202770
-107202770:lI95|H1072059B0
-1072059B0:lI117|H107208C98
-107208C98:lI100|H10720BF48
-10720BF48:lI112|H10720F1C8
-10720F1C8:lI46|H1072124E8
-1072124E8:lI98|H107215970
-107215970:lI101|H107218FE0
-107218FE0:lI97|H10721C740
-10721C740:lI109|N
-1071F1E58:Mn2:H1071F4138,H1071F4148
-1071F4138:lH1071F6958|N
-1071F6958:lI107|H1071F95B0
-1071F95B0:lI101|H1071FC4F0
-1071FC4F0:lI114|H1071FF5A8
-1071FF5A8:lI110|H107202750
-107202750:lI101|H107205990
-107205990:lI108|H107208C78
-107208C78:lI46|H10720BF28
-10720BF28:lI97|H10720F1A8
-10720F1A8:lI112|H1072124C8
-1072124C8:lI112|H107215950
-107215950:lI117|H107218FC0
-107218FC0:lI112|N
-1071F4148:lH1071F6968|N
-1071F6968:lI103|H1071F95C0
-1071F95C0:lI101|H1071FC500
-1071FC500:lI110|H1071FF5B8
-1071FF5B8:lI95|H107202760
-107202760:lI117|H1072059A0
-1072059A0:lI100|H107208C88
-107208C88:lI112|H10720BF38
-10720BF38:lI46|H10720F1B8
-10720F1B8:lI98|H1072124D8
-1072124D8:lI101|H107215960
-107215960:lI97|H107218FD0
-107218FD0:lI109|N
-1071F1E48:lH1071F4128|N
-1071F4128:lI108|H1071F6948
-1071F6948:lI111|H1071F95A0
-1071F95A0:lI103|H1071FC4E0
-1071FC4E0:lI103|H1071FF598
-1071FF598:lI101|H107202740
-107202740:lI114|H107205980
-107205980:lI95|H107208C68
-107208C68:lI104|H10720BF18
-10720BF18:lI95|H10720F198
-10720F198:lI99|H1072124B8
-1072124B8:lI111|H107215940
-107215940:lI109|H107218FB0
-107218FB0:lI109|H10721C730
-10721C730:lI111|H10721FDC0
-10721FDC0:lI110|H107223248
-107223248:lI46|H107226330
-107226330:lI98|H1072290C8
-1072290C8:lI101|H10722BA90
-10722BA90:lI97|H10722E0F8
-10722E0F8:lI109|N
-1071F1E38:lH1071F4118|N
-1071F4118:lI108|H1071F6938
-1071F6938:lI111|H1071F9590
-1071F9590:lI103|H1071FC4D0
-1071FC4D0:lI103|H1071FF588
-1071FF588:lI101|H107202730
-107202730:lI114|H107205970
-107205970:lI46|H107208C58
-107208C58:lI98|H10720BF08
-10720BF08:lI101|H10720F188
-10720F188:lI97|H1072124A8
-1072124A8:lI109|N
-1071F0908:Mn5:H1071F1DD0,H1071F1DE8,H1071F1DF8,H1071F1E08,H1071F1E18
-1071F1DD0:Mn2:H1071F40A8,H1071F40B8
-1071F40A8:lH1071F68C8|N
-1071F68C8:lI115|H1071F9520
-1071F9520:lI101|H1071FC460
-1071FC460:lI113|H1071FF518
-1071FF518:lI95|H1072026C0
-1072026C0:lI116|H107205900
-107205900:lI114|H107208BE8
-107208BE8:lI97|H10720BE98
-10720BE98:lI99|H10720F118
-10720F118:lI101|H107212438
-107212438:lI46|H1072158D0
-1072158D0:lI98|H107218F40
-107218F40:lI101|H10721C6D0
-10721C6D0:lI97|H10721FD80
-10721FD80:lI109|N
-1071F40B8:lH1071F68D8|N
-1071F68D8:lI101|H1071F9530
-1071F9530:lI114|H1071FC470
-1071FC470:lI108|H1071FF528
-1071FF528:lI95|H1072026D0
-1072026D0:lI100|H107205910
-107205910:lI100|H107208BF8
-107208BF8:lI108|H10720BEA8
-10720BEA8:lI108|H10720F128
-10720F128:lI46|H107212448
-107212448:lI98|H1072158E0
-1072158E0:lI101|H107218F50
-107218F50:lI97|H10721C6E0
-10721C6E0:lI109|N
-1071F1E18:lH1071F40F8|N
-1071F40F8:lI97|H1071F6918
-1071F6918:lI112|H1071F9570
-1071F9570:lI112|H1071FC4B0
-1071FC4B0:lI108|H1071FF568
-1071FF568:lI105|H107202710
-107202710:lI99|H107205950
-107205950:lI97|H107208C38
-107208C38:lI116|H10720BEE8
-10720BEE8:lI105|H10720F168
-10720F168:lI111|H107212488
-107212488:lI110|H107215920
-107215920:lI46|H107218F90
-107218F90:lI98|H10721C710
-10721C710:lI101|H10721FDB0
-10721FDB0:lI97|H107223238
-107223238:lI109|N
-1071F1E08:lH1071F40E8|N
-1071F40E8:lI105|H1071F6908
-1071F6908:lI110|H1071F9560
-1071F9560:lI101|H1071FC4A0
-1071FC4A0:lI116|H1071FF558
-1071FF558:lI95|H107202700
-107202700:lI101|H107205940
-107205940:lI112|H107208C28
-107208C28:lI109|H10720BED8
-10720BED8:lI100|H10720F158
-10720F158:lI95|H107212478
-107212478:lI100|H107215910
-107215910:lI105|H107218F80
-107218F80:lI115|H10721C700
-10721C700:lI116|H10721FDA0
-10721FDA0:lI46|H107223228
-107223228:lI98|H107226320
-107226320:lI101|H1072290B8
-1072290B8:lI97|H10722BA80
-10722BA80:lI109|N
-1071F1DF8:lH1071F40D8|N
-1071F40D8:lI114|H1071F68F8
-1071F68F8:lI97|H1071F9550
-1071F9550:lI109|H1071FC490
-1071FC490:lI95|H1071FF548
-1071FF548:lI102|H1072026F0
-1072026F0:lI105|H107205930
-107205930:lI108|H107208C18
-107208C18:lI101|H10720BEC8
-10720BEC8:lI46|H10720F148
-10720F148:lI98|H107212468
-107212468:lI101|H107215900
-107215900:lI97|H107218F70
-107218F70:lI109|N
-1071F1DE8:lH1071F40C8|N
-1071F40C8:lI105|H1071F68E8
-1071F68E8:lI110|H1071F9540
-1071F9540:lI101|H1071FC480
-1071FC480:lI116|H1071FF538
-1071FF538:lI54|H1072026E0
-1072026E0:lI95|H107205920
-107205920:lI115|H107208C08
-107208C08:lI99|H10720BEB8
-10720BEB8:lI116|H10720F138
-10720F138:lI112|H107212458
-107212458:lI46|H1072158F0
-1072158F0:lI98|H107218F60
-107218F60:lI101|H10721C6F0
-10721C6F0:lI97|H10721FD90
-10721FD90:lI109|N
-1071F08D0:Mn6:H1071F1D68,H1071F1D80,H1071F1D90,H1071F1DA0,H1071F1DB0,H1071F1DC0
-1071F1D68:Mn2:H1071F4038,H1071F4048
-1071F4038:lH1071F6858|N
-1071F6858:lI100|H1071F94B0
-1071F94B0:lI105|H1071FC3F0
-1071FC3F0:lI115|H1071FF4A8
-1071FF4A8:lI107|H107202650
-107202650:lI95|H107205890
-107205890:lI108|H107208B78
-107208B78:lI111|H10720BE28
-10720BE28:lI103|H10720F0A8
-10720F0A8:lI46|H1072123C8
-1072123C8:lI98|H107215860
-107215860:lI101|H107218ED0
-107218ED0:lI97|H10721C670
-10721C670:lI109|N
-1071F4048:lH1071F6868|N
-1071F6868:lI103|H1071F94C0
-1071F94C0:lI101|H1071FC400
-1071FC400:lI110|H1071FF4B8
-1071FF4B8:lI95|H107202660
-107202660:lI117|H1072058A0
-1072058A0:lI100|H107208B88
-107208B88:lI112|H10720BE38
-10720BE38:lI95|H10720F0B8
-10720F0B8:lI115|H1072123D8
-1072123D8:lI111|H107215870
-107215870:lI99|H107218EE0
-107218EE0:lI107|H10721C680
-10721C680:lI101|H10721FD30
-10721FD30:lI116|H1072231D8
-1072231D8:lI46|H1072262E0
-1072262E0:lI98|H107229078
-107229078:lI101|H10722BA40
-10722BA40:lI97|H10722E0B8
-10722E0B8:lI109|N
-1071F1DC0:lH1071F4098|N
-1071F4098:lI101|H1071F68B8
-1071F68B8:lI114|H1071F9510
-1071F9510:lI108|H1071FC450
-1071FC450:lI95|H1071FF508
-1071FF508:lI115|H1072026B0
-1072026B0:lI105|H1072058F0
-1072058F0:lI103|H107208BD8
-107208BD8:lI110|H10720BE88
-10720BE88:lI97|H10720F108
-10720F108:lI108|H107212428
-107212428:lI95|H1072158C0
-1072158C0:lI104|H107218F30
-107218F30:lI97|H10721C6C0
-10721C6C0:lI110|H10721FD70
-10721FD70:lI100|H107223218
-107223218:lI108|H107226310
-107226310:lI101|H1072290A8
-1072290A8:lI114|H10722BA70
-10722BA70:lI46|H10722E0E8
-10722E0E8:lI98|H1072304B0
-1072304B0:lI101|H1072325E8
-1072325E8:lI97|H107234420
-107234420:lI109|N
-1071F1DB0:lH1071F4088|N
-1071F4088:lI114|H1071F68A8
-1071F68A8:lI97|H1071F9500
-1071F9500:lI119|H1071FC440
-1071FC440:lI95|H1071FF4F8
-1071FF4F8:lI102|H1072026A0
-1072026A0:lI105|H1072058E0
-1072058E0:lI108|H107208BC8
-107208BC8:lI101|H10720BE78
-10720BE78:lI95|H10720F0F8
-10720F0F8:lI105|H107212418
-107212418:lI111|H1072158B0
-1072158B0:lI95|H107218F20
-107218F20:lI105|H10721C6B0
-10721C6B0:lI110|H10721FD60
-10721FD60:lI102|H107223208
-107223208:lI108|H107226300
-107226300:lI97|H107229098
-107229098:lI116|H10722BA60
-10722BA60:lI101|H10722E0D8
-10722E0D8:lI46|H1072304A0
-1072304A0:lI98|H1072325D8
-1072325D8:lI101|H107234410
-107234410:lI97|H107235F68
-107235F68:lI109|N
-1071F1DA0:lH1071F4078|N
-1071F4078:lI102|H1071F6898
-1071F6898:lI105|H1071F94F0
-1071F94F0:lI108|H1071FC430
-1071FC430:lI101|H1071FF4E8
-1071FF4E8:lI95|H107202690
-107202690:lI115|H1072058D0
-1072058D0:lI101|H107208BB8
-107208BB8:lI114|H10720BE68
-10720BE68:lI118|H10720F0E8
-10720F0E8:lI101|H107212408
-107212408:lI114|H1072158A0
-1072158A0:lI46|H107218F10
-107218F10:lI98|H10721C6A0
-10721C6A0:lI101|H10721FD50
-10721FD50:lI97|H1072231F8
-1072231F8:lI109|N
-1071F1D90:lH1071F4068|N
-1071F4068:lI112|H1071F6888
-1071F6888:lI114|H1071F94E0
-1071F94E0:lI105|H1071FC420
-1071FC420:lI109|H1071FF4D8
-1071FF4D8:lI95|H107202680
-107202680:lI116|H1072058C0
-1072058C0:lI116|H107208BA8
-107208BA8:lI121|H10720BE58
-10720BE58:lI46|H10720F0D8
-10720F0D8:lI98|H1072123F8
-1072123F8:lI101|H107215890
-107215890:lI97|H107218F00
-107218F00:lI109|N
-1071F1D80:lH1071F4058|N
-1071F4058:lI101|H1071F6878
-1071F6878:lI114|H1071F94D0
-1071F94D0:lI108|H1071FC410
-1071FC410:lI95|H1071FF4C8
-1071FF4C8:lI98|H107202670
-107202670:lI111|H1072058B0
-1072058B0:lI111|H107208B98
-107208B98:lI116|H10720BE48
-10720BE48:lI95|H10720F0C8
-10720F0C8:lI115|H1072123E8
-1072123E8:lI101|H107215880
-107215880:lI114|H107218EF0
-107218EF0:lI118|H10721C690
-10721C690:lI101|H10721FD40
-10721FD40:lI114|H1072231E8
-1072231E8:lI46|H1072262F0
-1072262F0:lI98|H107229088
-107229088:lI101|H10722BA50
-10722BA50:lI97|H10722E0C8
-10722E0C8:lI109|N
-1071F08A8:Mn4:H1071F1D18,H1071F1D28,H1071F1D40,H1071F1D50
-1071F1D18:lH1071F3FD8|N
-1071F3FD8:lI104|H1071F67F8
-1071F67F8:lI101|H1071F9450
-1071F9450:lI97|H1071FC390
-1071FC390:lI114|H1071FF448
-1071FF448:lI116|H1072025F0
-1072025F0:lI46|H107205830
-107205830:lI98|H107208B18
-107208B18:lI101|H10720BDC8
-10720BDC8:lI97|H10720F048
-10720F048:lI109|N
-1071F1D50:Mn2:H1071F4018,H1071F4028
-1071F4018:lH1071F6838|N
-1071F6838:lI103|H1071F9490
-1071F9490:lI108|H1071FC3D0
-1071FC3D0:lI111|H1071FF488
-1071FF488:lI98|H107202630
-107202630:lI97|H107205870
-107205870:lI108|H107208B58
-107208B58:lI95|H10720BE08
-10720BE08:lI115|H10720F088
-10720F088:lI101|H1072123A8
-1072123A8:lI97|H107215840
-107215840:lI114|H107218EB0
-107218EB0:lI99|H10721C650
-10721C650:lI104|H10721FD10
-10721FD10:lI46|H1072231C8
-1072231C8:lI98|H1072262D0
-1072262D0:lI101|H107229068
-107229068:lI97|H10722BA30
-10722BA30:lI109|N
-1071F4028:lH1071F6848|N
-1071F6848:lI101|H1071F94A0
-1071F94A0:lI114|H1071FC3E0
-1071FC3E0:lI108|H1071FF498
-1071FF498:lI95|H107202640
-107202640:lI114|H107205880
-107205880:lI101|H107208B68
-107208B68:lI112|H10720BE18
-10720BE18:lI108|H10720F098
-10720F098:lI121|H1072123B8
-1072123B8:lI46|H107215850
-107215850:lI98|H107218EC0
-107218EC0:lI101|H10721C660
-10721C660:lI97|H10721FD20
-10721FD20:lI109|N
-1071F1D40:lH1071F4008|N
-1071F4008:lI100|H1071F6828
-1071F6828:lI105|H1071F9480
-1071F9480:lI115|H1071FC3C0
-1071FC3C0:lI107|H1071FF478
-1071FF478:lI95|H107202620
-107202620:lI108|H107205860
-107205860:lI111|H107208B48
-107208B48:lI103|H10720BDF8
-10720BDF8:lI95|H10720F078
-10720F078:lI49|H107212398
-107212398:lI46|H107215830
-107215830:lI98|H107218EA0
-107218EA0:lI101|H10721C640
-10721C640:lI97|H10721FD00
-10721FD00:lI109|N
-1071F1D28:Mn2:H1071F3FE8,H1071F3FF8
-1071F3FE8:lH1071F6808|N
-1071F6808:lI97|H1071F9460
-1071F9460:lI117|H1071FC3A0
-1071FC3A0:lI116|H1071FF458
-1071FF458:lI104|H107202600
-107202600:lI46|H107205840
-107205840:lI98|H107208B28
-107208B28:lI101|H10720BDD8
-10720BDD8:lI97|H10720F058
-10720F058:lI109|N
-1071F3FF8:lH1071F6818|N
-1071F6818:lI105|H1071F9470
-1071F9470:lI110|H1071FC3B0
-1071FC3B0:lI101|H1071FF468
-1071FF468:lI116|H107202610
-107202610:lI95|H107205850
-107205850:lI112|H107208B38
-107208B38:lI97|H10720BDE8
-10720BDE8:lI114|H10720F068
-10720F068:lI115|H107212388
-107212388:lI101|H107215820
-107215820:lI46|H107218E90
-107218E90:lI98|H10721C630
-10721C630:lI101|H10721FCF0
-10721FCF0:lI97|H1072231B8
-1072231B8:lI109|N
-1071F0878:Mn5:H1071F1CC0,H1071F1CD0,H1071F1CE8,H1071F1CF8,H1071F1D08
-1071F1CC0:lH1071F3F78|N
-1071F3F78:lI103|H1071F6798
-1071F6798:lI101|H1071F93F0
-1071F93F0:lI110|H1071FC330
-1071FC330:lI95|H1071FF3E8
-1071FF3E8:lI115|H107202590
-107202590:lI99|H1072057D0
-1072057D0:lI116|H107208AB8
-107208AB8:lI112|H10720BD68
-10720BD68:lI46|H10720EFE8
-10720EFE8:lI98|H107212328
-107212328:lI101|H1072157C0
-1072157C0:lI97|H107218E40
-107218E40:lI109|N
-1071F1D08:lH1071F3FC8|N
-1071F3FC8:lI101|H1071F67E8
-1071F67E8:lI114|H1071F9440
-1071F9440:lI108|H1071FC380
-1071FC380:lI95|H1071FF438
-1071FF438:lI101|H1072025E0
-1072025E0:lI112|H107205820
-107205820:lI109|H107208B08
-107208B08:lI100|H10720BDB8
-10720BDB8:lI46|H10720F038
-10720F038:lI98|H107212378
-107212378:lI101|H107215810
-107215810:lI97|H107218E80
-107218E80:lI109|N
-1071F1CF8:lH1071F3FB8|N
-1071F3FB8:lI108|H1071F67D8
-1071F67D8:lI111|H1071F9430
-1071F9430:lI103|H1071FC370
-1071FC370:lI103|H1071FF428
-1071FF428:lI101|H1072025D0
-1072025D0:lI114|H107205810
-107205810:lI95|H107208AF8
-107208AF8:lI115|H10720BDA8
-10720BDA8:lI101|H10720F028
-10720F028:lI114|H107212368
-107212368:lI118|H107215800
-107215800:lI101|H107218E70
-107218E70:lI114|H10721C620
-10721C620:lI46|H10721FCE0
-10721FCE0:lI98|H1072231A8
-1072231A8:lI101|H1072262C0
-1072262C0:lI97|H107229058
-107229058:lI109|N
-1071F1CE8:lH1071F3FA8|N
-1071F3FA8:lI105|H1071F67C8
-1071F67C8:lI110|H1071F9420
-1071F9420:lI101|H1071FC360
-1071FC360:lI116|H1071FF418
-1071FF418:lI95|H1072025C0
-1072025C0:lI100|H107205800
-107205800:lI98|H107208AE8
-107208AE8:lI46|H10720BD98
-10720BD98:lI98|H10720F018
-10720F018:lI101|H107212358
-107212358:lI97|H1072157F0
-1072157F0:lI109|N
-1071F1CD0:Mn2:H1071F3F88,H1071F3F98
-1071F3F88:lH1071F67A8|N
-1071F67A8:lI108|H1071F9400
-1071F9400:lI111|H1071FC340
-1071FC340:lI103|H1071FF3F8
-1071FF3F8:lI103|H1072025A0
-1072025A0:lI101|H1072057E0
-1072057E0:lI114|H107208AC8
-107208AC8:lI95|H10720BD78
-10720BD78:lI102|H10720EFF8
-10720EFF8:lI105|H107212338
-107212338:lI108|H1072157D0
-1072157D0:lI116|H107218E50
-107218E50:lI101|H10721C600
-10721C600:lI114|H10721FCC0
-10721FCC0:lI115|H107223188
-107223188:lI46|H1072262A0
-1072262A0:lI98|H107229038
-107229038:lI101|H10722BA10
-10722BA10:lI97|H10722E098
-10722E098:lI109|N
-1071F3F98:lH1071F67B8|N
-1071F67B8:lI101|H1071F9410
-1071F9410:lI114|H1071FC350
-1071FC350:lI108|H1071FF408
-1071FF408:lI95|H1072025B0
-1072025B0:lI99|H1072057F0
-1072057F0:lI111|H107208AD8
-107208AD8:lI109|H10720BD88
-10720BD88:lI112|H10720F008
-10720F008:lI105|H107212348
-107212348:lI108|H1072157E0
-1072157E0:lI101|H107218E60
-107218E60:lI95|H10721C610
-10721C610:lI115|H10721FCD0
-10721FCD0:lI101|H107223198
-107223198:lI114|H1072262B0
-1072262B0:lI118|H107229048
-107229048:lI101|H10722BA20
-10722BA20:lI114|H10722E0A8
-10722E0A8:lI46|H107230490
-107230490:lI98|H1072325C8
-1072325C8:lI101|H107234400
-107234400:lI97|H107235F58
-107235F58:lI109|N
-1071F0830:Mn8:H1071F1C28,H1071F1C38,H1071F1C48,H1071F1C58,H1071F1C68,H1071F1C78,H1071F1C88,H1071F1CA0
-1071F1C28:lH1071F3EC8|N
-1071F3EC8:lI110|H1071F66E8
-1071F66E8:lI101|H1071F9340
-1071F9340:lI116|H1071FC280
-1071FC280:lI46|H1071FF338
-1071FF338:lI98|H1072024E0
-1072024E0:lI101|H107205720
-107205720:lI97|H107208A08
-107208A08:lI109|N
-1071F1CA0:Mn3:H1071F3F48,H1071F3F58,H1071F3F68
-1071F3F48:lH1071F6768|N
-1071F6768:lI100|H1071F93C0
-1071F93C0:lI105|H1071FC300
-1071FC300:lI115|H1071FF3B8
-1071FF3B8:lI116|H107202560
-107202560:lI95|H1072057A0
-1072057A0:lI97|H107208A88
-107208A88:lI99|H10720BD38
-10720BD38:lI46|H10720EFB8
-10720EFB8:lI98|H1072122F8
-1072122F8:lI101|H107215790
-107215790:lI97|H107218E10
-107218E10:lI109|N
-1071F3F68:lH1071F6788|N
-1071F6788:lI101|H1071F93E0
-1071F93E0:lI114|H1071FC320
-1071FC320:lI108|H1071FF3D8
-1071FF3D8:lI95|H107202580
-107202580:lI101|H1072057C0
-1072057C0:lI114|H107208AA8
-107208AA8:lI116|H10720BD58
-10720BD58:lI115|H10720EFD8
-10720EFD8:lI95|H107212318
-107212318:lI101|H1072157B0
-1072157B0:lI114|H107218E30
-107218E30:lI114|H10721C5F0
-10721C5F0:lI111|H10721FCB0
-10721FCB0:lI114|H107223178
-107223178:lI115|H107226290
-107226290:lI46|H107229028
-107229028:lI98|H10722BA00
-10722BA00:lI101|H10722E088
-10722E088:lI97|H107230480
-107230480:lI109|N
-1071F3F58:lH1071F6778|N
-1071F6778:lI114|H1071F93D0
-1071F93D0:lI97|H1071FC310
-1071FC310:lI119|H1071FF3C8
-1071FF3C8:lI95|H107202570
-107202570:lI102|H1072057B0
-1072057B0:lI105|H107208A98
-107208A98:lI108|H10720BD48
-10720BD48:lI101|H10720EFC8
-10720EFC8:lI95|H107212308
-107212308:lI105|H1072157A0
-1072157A0:lI111|H107218E20
-107218E20:lI95|H10721C5E0
-10721C5E0:lI108|H10721FCA0
-10721FCA0:lI105|H107223168
-107223168:lI115|H107226280
-107226280:lI116|H107229018
-107229018:lI46|H10722B9F0
-10722B9F0:lI98|H10722E078
-10722E078:lI101|H107230470
-107230470:lI97|H1072325B8
-1072325B8:lI109|N
-1071F1C88:Mn2:H1071F3F28,H1071F3F38
-1071F3F28:lH1071F6748|N
-1071F6748:lI103|H1071F93A0
-1071F93A0:lI101|H1071FC2E0
-1071FC2E0:lI110|H1071FF398
-1071FF398:lI95|H107202540
-107202540:lI116|H107205780
-107205780:lI99|H107208A68
-107208A68:lI112|H10720BD18
-10720BD18:lI95|H10720EF98
-10720EF98:lI115|H1072122D8
-1072122D8:lI111|H107215770
-107215770:lI99|H107218DF0
-107218DF0:lI107|H10721C5C0
-10721C5C0:lI101|H10721FC80
-10721FC80:lI116|H107223148
-107223148:lI46|H107226260
-107226260:lI98|H107228FF8
-107228FF8:lI101|H10722B9D0
-10722B9D0:lI97|H10722E058
-10722E058:lI109|N
-1071F3F38:lH1071F6758|N
-1071F6758:lI100|H1071F93B0
-1071F93B0:lI105|H1071FC2F0
-1071FC2F0:lI115|H1071FF3A8
-1071FF3A8:lI107|H107202550
-107202550:lI95|H107205790
-107205790:lI108|H107208A78
-107208A78:lI111|H10720BD28
-10720BD28:lI103|H10720EFA8
-10720EFA8:lI95|H1072122E8
-1072122E8:lI115|H107215780
-107215780:lI101|H107218E00
-107218E00:lI114|H10721C5D0
-10721C5D0:lI118|H10721FC90
-10721FC90:lI101|H107223158
-107223158:lI114|H107226270
-107226270:lI46|H107229008
-107229008:lI98|H10722B9E0
-10722B9E0:lI101|H10722E068
-10722E068:lI97|H107230460
-107230460:lI109|N
-1071F1C78:lH1071F3F18|N
-1071F3F18:lI105|H1071F6738
-1071F6738:lI110|H1071F9390
-1071F9390:lI101|H1071FC2D0
-1071FC2D0:lI116|H1071FF388
-1071FF388:lI95|H107202530
-107202530:lI117|H107205770
-107205770:lI100|H107208A58
-107208A58:lI112|H10720BD08
-10720BD08:lI46|H10720EF88
-10720EF88:lI98|H1072122C8
-1072122C8:lI101|H107215760
-107215760:lI97|H107218DE0
-107218DE0:lI109|N
-1071F1C68:lH1071F3F08|N
-1071F3F08:lI97|H1071F6728
-1071F6728:lI112|H1071F9380
-1071F9380:lI112|H1071FC2C0
-1071FC2C0:lI108|H1071FF378
-1071FF378:lI105|H107202520
-107202520:lI99|H107205760
-107205760:lI97|H107208A48
-107208A48:lI116|H10720BCF8
-10720BCF8:lI105|H10720EF78
-10720EF78:lI111|H1072122B8
-1072122B8:lI110|H107215750
-107215750:lI95|H107218DD0
-107218DD0:lI115|H10721C5B0
-10721C5B0:lI116|H10721FC70
-10721FC70:lI97|H107223138
-107223138:lI114|H107226250
-107226250:lI116|H107228FE8
-107228FE8:lI101|H10722B9C0
-10722B9C0:lI114|H10722E048
-10722E048:lI46|H107230450
-107230450:lI98|H1072325A8
-1072325A8:lI101|H1072343F0
-1072343F0:lI97|H107235F48
-107235F48:lI109|N
-1071F1C58:lH1071F3EF8|N
-1071F3EF8:lI117|H1071F6718
-1071F6718:lI115|H1071F9370
-1071F9370:lI101|H1071FC2B0
-1071FC2B0:lI114|H1071FF368
-1071FF368:lI95|H107202510
-107202510:lI115|H107205750
-107205750:lI117|H107208A38
-107208A38:lI112|H10720BCE8
-10720BCE8:lI46|H10720EF68
-10720EF68:lI98|H1072122A8
-1072122A8:lI101|H107215740
-107215740:lI97|H107218DC0
-107218DC0:lI109|N
-1071F1C48:lH1071F3EE8|N
-1071F3EE8:lI100|H1071F6708
-1071F6708:lI105|H1071F9360
-1071F9360:lI115|H1071FC2A0
-1071FC2A0:lI116|H1071FF358
-1071FF358:lI95|H107202500
-107202500:lI117|H107205740
-107205740:lI116|H107208A28
-107208A28:lI105|H10720BCD8
-10720BCD8:lI108|H10720EF58
-10720EF58:lI46|H107212298
-107212298:lI98|H107215730
-107215730:lI101|H107218DB0
-107218DB0:lI97|H10721C5A0
-10721C5A0:lI109|N
-1071F1C38:lH1071F3ED8|N
-1071F3ED8:lI108|H1071F66F8
-1071F66F8:lI111|H1071F9350
-1071F9350:lI103|H1071FC290
-1071FC290:lI103|H1071FF348
-1071FF348:lI101|H1072024F0
-1072024F0:lI114|H107205730
-107205730:lI95|H107208A18
-107208A18:lI115|H10720BCC8
-10720BCC8:lI116|H10720EF48
-10720EF48:lI100|H107212288
-107212288:lI95|H107215720
-107215720:lI104|H107218DA0
-107218DA0:lI46|H10721C590
-10721C590:lI98|H10721FC60
-10721FC60:lI101|H107223128
-107223128:lI97|H107226240
-107226240:lI109|N
-1071F0808:Mn4:H1071F1BE8,H1071F1BF8,H1071F1C08,H1071F1C18
-1071F1BE8:lH1071F3E88|N
-1071F3E88:lI97|H1071F66A8
-1071F66A8:lI112|H1071F9300
-1071F9300:lI112|H1071FC240
-1071FC240:lI108|H1071FF2F8
-1071FF2F8:lI105|H1072024A0
-1072024A0:lI99|H1072056E0
-1072056E0:lI97|H1072089C8
-1072089C8:lI116|H10720BC88
-10720BC88:lI105|H10720EF08
-10720EF08:lI111|H107212248
-107212248:lI110|H1072156E0
-1072156E0:lI95|H107218D60
-107218D60:lI109|H10721C550
-10721C550:lI97|H10721FC20
-10721FC20:lI115|H1072230E8
-1072230E8:lI116|H107226200
-107226200:lI101|H107228FA8
-107228FA8:lI114|H10722B990
-10722B990:lI46|H10722E018
-10722E018:lI98|H107230440
-107230440:lI101|H107232598
-107232598:lI97|H1072343E0
-1072343E0:lI109|N
-1071F1C18:lH1071F3EB8|N
-1071F3EB8:lI108|H1071F66D8
-1071F66D8:lI111|H1071F9330
-1071F9330:lI103|H1071FC270
-1071FC270:lI103|H1071FF328
-1071FF328:lI101|H1072024D0
-1072024D0:lI114|H107205710
-107205710:lI95|H1072089F8
-1072089F8:lI99|H10720BCB8
-10720BCB8:lI111|H10720EF38
-10720EF38:lI110|H107212278
-107212278:lI102|H107215710
-107215710:lI105|H107218D90
-107218D90:lI103|H10721C580
-10721C580:lI46|H10721FC50
-10721FC50:lI98|H107223118
-107223118:lI101|H107226230
-107226230:lI97|H107228FD8
-107228FD8:lI109|N
-1071F1C08:lH1071F3EA8|N
-1071F3EA8:lI108|H1071F66C8
-1071F66C8:lI111|H1071F9320
-1071F9320:lI103|H1071FC260
-1071FC260:lI103|H1071FF318
-1071FF318:lI101|H1072024C0
-1072024C0:lI114|H107205700
-107205700:lI95|H1072089E8
-1072089E8:lI115|H10720BCA8
-10720BCA8:lI105|H10720EF28
-10720EF28:lI109|H107212268
-107212268:lI112|H107215700
-107215700:lI108|H107218D80
-107218D80:lI101|H10721C570
-10721C570:lI95|H10721FC40
-10721FC40:lI104|H107223108
-107223108:lI46|H107226220
-107226220:lI98|H107228FC8
-107228FC8:lI101|H10722B9B0
-10722B9B0:lI97|H10722E038
-10722E038:lI109|N
-1071F1BF8:lH1071F3E98|N
-1071F3E98:lI119|H1071F66B8
-1071F66B8:lI114|H1071F9310
-1071F9310:lI97|H1071FC250
-1071FC250:lI112|H1071FF308
-1071FF308:lI95|H1072024B0
-1072024B0:lI108|H1072056F0
-1072056F0:lI111|H1072089D8
-1072089D8:lI103|H10720BC98
-10720BC98:lI95|H10720EF18
-10720EF18:lI114|H107212258
-107212258:lI101|H1072156F0
-1072156F0:lI97|H107218D70
-107218D70:lI100|H10721C560
-10721C560:lI101|H10721FC30
-10721FC30:lI114|H1072230F8
-1072230F8:lI46|H107226210
-107226210:lI98|H107228FB8
-107228FB8:lI101|H10722B9A0
-10722B9A0:lI97|H10722E028
-10722E028:lI109|N
-1071F07E0:Mn4:H1071F1BA0,H1071F1BB8,H1071F1BC8,H1071F1BD8
-1071F1BA0:Mn2:H1071F3E38,H1071F3E48
-1071F3E38:lH1071F6658|N
-1071F6658:lI105|H1071F92B0
-1071F92B0:lI110|H1071FC1F0
-1071FC1F0:lI101|H1071FF2A8
-1071FF2A8:lI116|H107202450
-107202450:lI95|H107205690
-107205690:lI104|H107208978
-107208978:lI111|H10720BC38
-10720BC38:lI115|H10720EEB8
-10720EEB8:lI116|H1072121F8
-1072121F8:lI115|H107215690
-107215690:lI46|H107218D10
-107218D10:lI98|H10721C510
-10721C510:lI101|H10721FBE0
-10721FBE0:lI97|H1072230A8
-1072230A8:lI109|N
-1071F3E48:lH1071F6668|N
-1071F6668:lI101|H1071F92C0
-1071F92C0:lI114|H1071FC200
-1071FC200:lI116|H1071FF2B8
-1071FF2B8:lI115|H107202460
-107202460:lI95|H1072056A0
-1072056A0:lI100|H107208988
-107208988:lI101|H10720BC48
-10720BC48:lI98|H10720EEC8
-10720EEC8:lI117|H107212208
-107212208:lI103|H1072156A0
-1072156A0:lI46|H107218D20
-107218D20:lI98|H10721C520
-10721C520:lI101|H10721FBF0
-10721FBF0:lI97|H1072230B8
-1072230B8:lI109|N
-1071F1BD8:lH1071F3E78|N
-1071F3E78:lI108|H1071F6698
-1071F6698:lI111|H1071F92F0
-1071F92F0:lI103|H1071FC230
-1071FC230:lI103|H1071FF2E8
-1071FF2E8:lI101|H107202490
-107202490:lI114|H1072056D0
-1072056D0:lI95|H1072089B8
-1072089B8:lI102|H10720BC78
-10720BC78:lI111|H10720EEF8
-10720EEF8:lI114|H107212238
-107212238:lI109|H1072156D0
-1072156D0:lI97|H107218D50
-107218D50:lI116|H10721C540
-10721C540:lI116|H10721FC10
-10721FC10:lI101|H1072230D8
-1072230D8:lI114|H1072261F0
-1072261F0:lI46|H107228F98
-107228F98:lI98|H10722B980
-10722B980:lI101|H10722E008
-10722E008:lI97|H107230430
-107230430:lI109|N
-1071F1BC8:lH1071F3E68|N
-1071F3E68:lI105|H1071F6688
-1071F6688:lI110|H1071F92E0
-1071F92E0:lI101|H1071FC220
-1071FC220:lI116|H1071FF2D8
-1071FF2D8:lI95|H107202480
-107202480:lI103|H1072056C0
-1072056C0:lI101|H1072089A8
-1072089A8:lI116|H10720BC68
-10720BC68:lI104|H10720EEE8
-10720EEE8:lI111|H107212228
-107212228:lI115|H1072156C0
-1072156C0:lI116|H107218D40
-107218D40:lI95|H10721C530
-10721C530:lI110|H10721FC00
-10721FC00:lI97|H1072230C8
-1072230C8:lI116|H1072261E0
-1072261E0:lI105|H107228F88
-107228F88:lI118|H10722B970
-10722B970:lI101|H10722DFF8
-10722DFF8:lI46|H107230420
-107230420:lI98|H107232588
-107232588:lI101|H1072343D0
-1072343D0:lI97|H107235F38
-107235F38:lI109|N
-1071F1BB8:lH1071F3E58|N
-1071F3E58:lI105|H1071F6678
-1071F6678:lI110|H1071F92D0
-1071F92D0:lI101|H1071FC210
-1071FC210:lI116|H1071FF2C8
-1071FF2C8:lI95|H107202470
-107202470:lI116|H1072056B0
-1072056B0:lI99|H107208998
-107208998:lI112|H10720BC58
-10720BC58:lI46|H10720EED8
-10720EED8:lI98|H107212218
-107212218:lI101|H1072156B0
-1072156B0:lI97|H107218D30
-107218D30:lI109|N
-1071F07B0:Mn5:H1071F1B50,H1071F1B60,H1071F1B70,H1071F1B80,H1071F1B90
-1071F1B50:lH1071F3DE8|N
-1071F3DE8:lI114|H1071F6608
-1071F6608:lI97|H1071F9260
-1071F9260:lI119|H1071FC1A0
-1071FC1A0:lI95|H1071FF258
-1071FF258:lI102|H107202400
-107202400:lI105|H107205640
-107205640:lI108|H107208928
-107208928:lI101|H10720BBE8
-10720BBE8:lI95|H10720EE78
-10720EE78:lI105|H1072121B8
-1072121B8:lI111|H107215650
-107215650:lI95|H107218CD0
-107218CD0:lI100|H10721C4E0
-10721C4E0:lI101|H10721FBB0
-10721FBB0:lI108|H107223078
-107223078:lI97|H1072261C0
-1072261C0:lI121|H107228F68
-107228F68:lI101|H10722B960
-10722B960:lI100|H10722DFE8
-10722DFE8:lI46|H107230410
-107230410:lI98|H107232578
-107232578:lI101|H1072343C0
-1072343C0:lI97|H107235F28
-107235F28:lI109|N
-1071F1B90:lH1071F3E28|N
-1071F3E28:lI103|H1071F6648
-1071F6648:lI114|H1071F92A0
-1071F92A0:lI111|H1071FC1E0
-1071FC1E0:lI117|H1071FF298
-1071FF298:lI112|H107202440
-107202440:lI95|H107205680
-107205680:lI104|H107208968
-107208968:lI105|H10720BC28
-10720BC28:lI115|H10720EEA8
-10720EEA8:lI116|H1072121E8
-1072121E8:lI111|H107215680
-107215680:lI114|H107218D00
-107218D00:lI121|H10721C500
-10721C500:lI46|H10721FBD0
-10721FBD0:lI98|H107223098
-107223098:lI101|H1072261D0
-1072261D0:lI97|H107228F78
-107228F78:lI109|N
-1071F1B80:lH1071F3E18|N
-1071F3E18:lI117|H1071F6638
-1071F6638:lI115|H1071F9290
-1071F9290:lI101|H1071FC1D0
-1071FC1D0:lI114|H1071FF288
-1071FF288:lI95|H107202430
-107202430:lI100|H107205670
-107205670:lI114|H107208958
-107208958:lI118|H10720BC18
-10720BC18:lI46|H10720EE98
-10720EE98:lI98|H1072121D8
-1072121D8:lI101|H107215670
-107215670:lI97|H107218CF0
-107218CF0:lI109|N
-1071F1B70:lH1071F3E08|N
-1071F3E08:lI105|H1071F6628
-1071F6628:lI110|H1071F9280
-1071F9280:lI101|H1071FC1C0
-1071FC1C0:lI116|H1071FF278
-1071FF278:lI95|H107202420
-107202420:lI99|H107205660
-107205660:lI111|H107208948
-107208948:lI110|H10720BC08
-10720BC08:lI102|H10720EE88
-10720EE88:lI105|H1072121C8
-1072121C8:lI103|H107215660
-107215660:lI46|H107218CE0
-107218CE0:lI98|H10721C4F0
-10721C4F0:lI101|H10721FBC0
-10721FBC0:lI97|H107223088
-107223088:lI109|N
-1071F1B60:lH1071F3DF8|N
-1071F3DF8:lI102|H1071F6618
-1071F6618:lI105|H1071F9270
-1071F9270:lI108|H1071FC1B0
-1071FC1B0:lI101|H1071FF268
-1071FF268:lI46|H107202410
-107202410:lI98|H107205650
-107205650:lI101|H107208938
-107208938:lI97|H10720BBF8
-10720BBF8:lI109|N
-1071F0778:Mn6:H1071F1AF0,H1071F1B00,H1071F1B10,H1071F1B20,H1071F1B30,H1071F1B40
-1071F1AF0:lH1071F3D88|N
-1071F3D88:lI101|H1071F65A8
-1071F65A8:lI114|H1071F9200
-1071F9200:lI112|H1071FC140
-1071FC140:lI99|H1071FF1F8
-1071FF1F8:lI46|H1072023A0
-1072023A0:lI98|H1072055E0
-1072055E0:lI101|H1072088C8
-1072088C8:lI97|H10720BB88
-10720BB88:lI109|N
-1071F1B40:lH1071F3DD8|N
-1071F3DD8:lI102|H1071F65F8
-1071F65F8:lI105|H1071F9250
-1071F9250:lI108|H1071FC190
-1071FC190:lI101|H1071FF248
-1071FF248:lI95|H1072023F0
-1072023F0:lI105|H107205630
-107205630:lI111|H107208918
-107208918:lI95|H10720BBD8
-10720BBD8:lI115|H10720EE68
-10720EE68:lI101|H1072121A8
-1072121A8:lI114|H107215640
-107215640:lI118|H107218CC0
-107218CC0:lI101|H10721C4D0
-10721C4D0:lI114|H10721FBA0
-10721FBA0:lI46|H107223068
-107223068:lI98|H1072261B0
-1072261B0:lI101|H107228F58
-107228F58:lI97|H10722B950
-10722B950:lI109|N
-1071F1B30:lH1071F3DC8|N
-1071F3DC8:lI105|H1071F65E8
-1071F65E8:lI110|H1071F9240
-1071F9240:lI101|H1071FC180
-1071FC180:lI116|H1071FF238
-1071FF238:lI54|H1072023E0
-1072023E0:lI95|H107205620
-107205620:lI117|H107208908
-107208908:lI100|H10720BBC8
-10720BBC8:lI112|H10720EE58
-10720EE58:lI46|H107212198
-107212198:lI98|H107215630
-107215630:lI101|H107218CB0
-107218CB0:lI97|H10721C4C0
-10721C4C0:lI109|N
-1071F1B20:lH1071F3DB8|N
-1071F3DB8:lI103|H1071F65D8
-1071F65D8:lI108|H1071F9230
-1071F9230:lI111|H1071FC170
-1071FC170:lI98|H1071FF228
-1071FF228:lI97|H1072023D0
-1072023D0:lI108|H107205610
-107205610:lI46|H1072088F8
-1072088F8:lI98|H10720BBB8
-10720BBB8:lI101|H10720EE48
-10720EE48:lI97|H107212188
-107212188:lI109|N
-1071F1B10:lH1071F3DA8|N
-1071F3DA8:lI114|H1071F65C8
-1071F65C8:lI97|H1071F9220
-1071F9220:lI119|H1071FC160
-1071FC160:lI95|H1071FF218
-1071FF218:lI102|H1072023C0
-1072023C0:lI105|H107205600
-107205600:lI108|H1072088E8
-1072088E8:lI101|H10720BBA8
-10720BBA8:lI95|H10720EE38
-10720EE38:lI105|H107212178
-107212178:lI111|H107215620
-107215620:lI95|H107218CA0
-107218CA0:lI100|H10721C4B0
-10721C4B0:lI101|H10721FB90
-10721FB90:lI102|H107223058
-107223058:lI108|H1072261A0
-1072261A0:lI97|H107228F48
-107228F48:lI116|H10722B940
-10722B940:lI101|H10722DFD8
-10722DFD8:lI46|H107230400
-107230400:lI98|H107232568
-107232568:lI101|H1072343B0
-1072343B0:lI97|H107235F18
-107235F18:lI109|N
-1071F1B00:lH1071F3D98|N
-1071F3D98:lI103|H1071F65B8
-1071F65B8:lI108|H1071F9210
-1071F9210:lI111|H1071FC150
-1071FC150:lI98|H1071FF208
-1071FF208:lI97|H1072023B0
-1072023B0:lI108|H1072055F0
-1072055F0:lI95|H1072088D8
-1072088D8:lI103|H10720BB98
-10720BB98:lI114|H10720EE28
-10720EE28:lI111|H107212168
-107212168:lI117|H107215610
-107215610:lI112|H107218C90
-107218C90:lI46|H10721C4A0
-10721C4A0:lI98|H10721FB80
-10721FB80:lI101|H107223048
-107223048:lI97|H107226190
-107226190:lI109|N
-1071F0740:Mn6:H1071F1A88,H1071F1A98,H1071F1AB0,H1071F1AC0,H1071F1AD0,H1071F1AE0
-1071F1A88:lH1071F3D18|N
-1071F3D18:lI110|H1071F6530
-1071F6530:lI101|H1071F9180
-1071F9180:lI116|H1071FC0C0
-1071FC0C0:lI95|H1071FF178
-1071FF178:lI107|H107202320
-107202320:lI101|H107205560
-107205560:lI114|H107208858
-107208858:lI110|H10720BB18
-10720BB18:lI101|H10720EDB8
-10720EDB8:lI108|H1072120F8
-1072120F8:lI46|H1072155B0
-1072155B0:lI98|H107218C30
-107218C30:lI101|H10721C440
-10721C440:lI97|H10721FB20
-10721FB20:lI109|N
-1071F1AE0:lH1071F3D78|N
-1071F3D78:lI101|H1071F6598
-1071F6598:lI114|H1071F91F0
-1071F91F0:lI114|H1071FC130
-1071FC130:lI111|H1071FF1E8
-1071FF1E8:lI114|H107202390
-107202390:lI95|H1072055D0
-1072055D0:lI104|H1072088B8
-1072088B8:lI97|H10720BB78
-10720BB78:lI110|H10720EE18
-10720EE18:lI100|H107212158
-107212158:lI108|H107215600
-107215600:lI101|H107218C80
-107218C80:lI114|H10721C490
-10721C490:lI46|H10721FB70
-10721FB70:lI98|H107223038
-107223038:lI101|H107226180
-107226180:lI97|H107228F38
-107228F38:lI109|N
-1071F1AD0:lH1071F3D68|N
-1071F3D68:lI111|H1071F6588
-1071F6588:lI115|H1071F91E0
-1071F91E0:lI46|H1071FC120
-1071FC120:lI98|H1071FF1D8
-1071FF1D8:lI101|H107202380
-107202380:lI97|H1072055C0
-1072055C0:lI109|N
-1071F1AC0:lH1071F3D58|N
-1071F3D58:lI114|H1071F6578
-1071F6578:lI97|H1071F91D0
-1071F91D0:lI119|H1071FC110
-1071FC110:lI95|H1071FF1C8
-1071FF1C8:lI102|H107202370
-107202370:lI105|H1072055B0
-1072055B0:lI108|H1072088A8
-1072088A8:lI101|H10720BB68
-10720BB68:lI95|H10720EE08
-10720EE08:lI105|H107212148
-107212148:lI111|H1072155F0
-1072155F0:lI95|H107218C70
-107218C70:lI99|H10721C480
-10721C480:lI111|H10721FB60
-10721FB60:lI109|H107223028
-107223028:lI112|H107226170
-107226170:lI114|H107228F28
-107228F28:lI101|H10722B930
-10722B930:lI115|H10722DFC8
-10722DFC8:lI115|H1072303F0
-1072303F0:lI101|H107232558
-107232558:lI100|H1072343A0
-1072343A0:lI46|H107235F08
-107235F08:lI98|H107237800
-107237800:lI101|H107238E88
-107238E88:lI97|H10723A360
-10723A360:lI109|N
-1071F1AB0:lH1071F3D48|N
-1071F3D48:lI108|H1071F6568
-1071F6568:lI111|H1071F91C0
-1071F91C0:lI103|H1071FC100
-1071FC100:lI103|H1071FF1B8
-1071FF1B8:lI101|H107202360
-107202360:lI114|H1072055A0
-1072055A0:lI95|H107208898
-107208898:lI100|H10720BB58
-10720BB58:lI105|H10720EDF8
-10720EDF8:lI115|H107212138
-107212138:lI107|H1072155E0
-1072155E0:lI95|H107218C60
-107218C60:lI108|H10721C470
-10721C470:lI111|H10721FB50
-10721FB50:lI103|H107223018
-107223018:lI95|H107226160
-107226160:lI104|H107228F18
-107228F18:lI46|H10722B920
-10722B920:lI98|H10722DFB8
-10722DFB8:lI101|H1072303E0
-1072303E0:lI97|H107232548
-107232548:lI109|N
-1071F1A98:Mn2:H1071F3D28,H1071F3D38
-1071F3D28:Mn1:H1071F6540
-1071F6540:Mn2:H1071F9190,H1071F91A0
-1071F9190:lH1071FC0D0|N
-1071FC0D0:lI108|H1071FF188
-1071FF188:lI111|H107202330
-107202330:lI103|H107205570
-107205570:lI103|H107208868
-107208868:lI101|H10720BB28
-10720BB28:lI114|H10720EDC8
-10720EDC8:lI95|H107212108
-107212108:lI115|H1072155C0
-1072155C0:lI117|H107218C40
-107218C40:lI112|H10721C450
-10721C450:lI46|H10721FB30
-10721FB30:lI98|H107222FF8
-107222FF8:lI101|H107226140
-107226140:lI97|H107228EF8
-107228EF8:lI109|N
-1071F91A0:lH1071FC0E0|N
-1071FC0E0:lI112|H1071FF198
-1071FF198:lI103|H107202340
-107202340:lI50|H107205580
-107205580:lI46|H107208878
-107208878:lI98|H10720BB38
-10720BB38:lI101|H10720EDD8
-10720EDD8:lI97|H107212118
-107212118:lI109|N
-1071F3D38:lH1071F6558|N
-1071F6558:lI97|H1071F91B0
-1071F91B0:lI112|H1071FC0F0
-1071FC0F0:lI112|H1071FF1A8
-1071FF1A8:lI108|H107202350
-107202350:lI105|H107205590
-107205590:lI99|H107208888
-107208888:lI97|H10720BB48
-10720BB48:lI116|H10720EDE8
-10720EDE8:lI105|H107212128
-107212128:lI111|H1072155D0
-1072155D0:lI110|H107218C50
-107218C50:lI95|H10721C460
-10721C460:lI99|H10721FB40
-10721FB40:lI111|H107223008
-107223008:lI110|H107226150
-107226150:lI116|H107228F08
-107228F08:lI114|H10722B910
-10722B910:lI111|H10722DFA8
-10722DFA8:lI108|H1072303D0
-1072303D0:lI108|H107232538
-107232538:lI101|H107234390
-107234390:lI114|H107235EF8
-107235EF8:lI46|H1072377F0
-1072377F0:lI98|H107238E78
-107238E78:lI101|H10723A350
-10723A350:lI97|H10723B6A0
-10723B6A0:lI109|N
-1071F0718:Mn4:H1071F1A48,H1071F1A58,H1071F1A68,H1071F1A78
-1071F1A48:lH1071F3CD8|N
-1071F3CD8:lI108|H1071F64F0
-1071F64F0:lI111|H1071F9140
-1071F9140:lI103|H1071FC080
-1071FC080:lI103|H1071FF138
-1071FF138:lI101|H1072022E0
-1072022E0:lI114|H107205520
-107205520:lI95|H107208818
-107208818:lI98|H10720BAD8
-10720BAD8:lI97|H10720ED88
-10720ED88:lI99|H1072120D8
-1072120D8:lI107|H107215590
-107215590:lI101|H107218C10
-107218C10:lI110|H10721C420
-10721C420:lI100|H10721FB00
-10721FB00:lI46|H107222FD8
-107222FD8:lI98|H107226120
-107226120:lI101|H107228ED8
-107228ED8:lI97|H10722B8F0
-10722B8F0:lI109|N
-1071F1A78:lH1071F3D08|N
-1071F3D08:lI101|H1071F6520
-1071F6520:lI114|H1071F9170
-1071F9170:lI108|H1071FC0B0
-1071FC0B0:lI95|H1071FF168
-1071FF168:lI107|H107202310
-107202310:lI101|H107205550
-107205550:lI114|H107208848
-107208848:lI110|H10720BB08
-10720BB08:lI101|H10720EDA8
-10720EDA8:lI108|H1072120E8
-1072120E8:lI95|H1072155A0
-1072155A0:lI101|H107218C20
-107218C20:lI114|H10721C430
-10721C430:lI114|H10721FB10
-10721FB10:lI111|H107222FE8
-107222FE8:lI114|H107226130
-107226130:lI115|H107228EE8
-107228EE8:lI46|H10722B900
-10722B900:lI98|H10722DF98
-10722DF98:lI101|H1072303C0
-1072303C0:lI97|H107232528
-107232528:lI109|N
-1071F1A68:lH1071F3CF8|N
-1071F3CF8:lI107|H1071F6510
-1071F6510:lI101|H1071F9160
-1071F9160:lI114|H1071FC0A0
-1071FC0A0:lI110|H1071FF158
-1071FF158:lI101|H107202300
-107202300:lI108|H107205540
-107205540:lI46|H107208838
-107208838:lI97|H10720BAF8
-10720BAF8:lI112|H10720ED98
-10720ED98:lI112|N
-1071F1A58:lH1071F3CE8|N
-1071F3CE8:lI105|H1071F6500
-1071F6500:lI110|H1071F9150
-1071F9150:lI101|H1071FC090
-1071FC090:lI116|H1071FF148
-1071FF148:lI46|H1072022F0
-1072022F0:lI98|H107205530
-107205530:lI101|H107208828
-107208828:lI97|H10720BAE8
-10720BAE8:lI109|N
-1071F06C8:Mn9:H1071F19A8,H1071F19B8,H1071F19C8,H1071F19D8,H1071F19E8,H1071F1A00,H1071F1A10,H1071F1A28,H1071F1A38
-1071F19A8:lH1071F3C28|N
-1071F3C28:lI114|H1071F6440
-1071F6440:lI112|H1071F9090
-1071F9090:lI99|H1071FBFD0
-1071FBFD0:lI46|H1071FF088
-1071FF088:lI98|H107202230
-107202230:lI101|H107205470
-107205470:lI97|H107208768
-107208768:lI109|N
-1071F1A38:lH1071F3CC8|N
-1071F3CC8:lI105|H1071F64E0
-1071F64E0:lI110|H1071F9130
-1071F9130:lI101|H1071FC070
-1071FC070:lI116|H1071FF128
-1071FF128:lI95|H1072022D0
-1072022D0:lI115|H107205510
-107205510:lI99|H107208808
-107208808:lI116|H10720BAC8
-10720BAC8:lI112|H10720ED78
-10720ED78:lI46|H1072120C8
-1072120C8:lI98|H107215580
-107215580:lI101|H107218C00
-107218C00:lI97|H10721C410
-10721C410:lI109|N
-1071F1A28:lH1071F3CB8|N
-1071F3CB8:lI115|H1071F64D0
-1071F64D0:lI116|H1071F9120
-1071F9120:lI97|H1071FC060
-1071FC060:lI110|H1071FF118
-1071FF118:lI100|H1072022C0
-1072022C0:lI97|H107205500
-107205500:lI114|H1072087F8
-1072087F8:lI100|H10720BAB8
-10720BAB8:lI95|H10720ED68
-10720ED68:lI101|H1072120B8
-1072120B8:lI114|H107215570
-107215570:lI114|H107218BF0
-107218BF0:lI111|H10721C400
-10721C400:lI114|H10721FAF0
-10721FAF0:lI46|H107222FC8
-107222FC8:lI98|H107226110
-107226110:lI101|H107228EC8
-107228EC8:lI97|H10722B8E0
-10722B8E0:lI109|N
-1071F1A10:Mn2:H1071F3C98,H1071F3CA8
-1071F3C98:lH1071F64B0|N
-1071F64B0:lI108|H1071F9100
-1071F9100:lI111|H1071FC040
-1071FC040:lI99|H1071FF0F8
-1071FF0F8:lI97|H1072022A0
-1072022A0:lI108|H1072054E0
-1072054E0:lI95|H1072087D8
-1072087D8:lI116|H10720BA98
-10720BA98:lI99|H10720ED48
-10720ED48:lI112|H107212098
-107212098:lI46|H107215550
-107215550:lI98|H107218BD0
-107218BD0:lI101|H10721C3E0
-10721C3E0:lI97|H10721FAD0
-10721FAD0:lI109|N
-1071F3CA8:lH1071F64C0|N
-1071F64C0:lI107|H1071F9110
-1071F9110:lI101|H1071FC050
-1071FC050:lI114|H1071FF108
-1071FF108:lI110|H1072022B0
-1072022B0:lI101|H1072054F0
-1072054F0:lI108|H1072087E8
-1072087E8:lI95|H10720BAA8
-10720BAA8:lI99|H10720ED58
-10720ED58:lI111|H1072120A8
-1072120A8:lI110|H107215560
-107215560:lI102|H107218BE0
-107218BE0:lI105|H10721C3F0
-10721C3F0:lI103|H10721FAE0
-10721FAE0:lI46|H107222FB8
-107222FB8:lI98|H107226100
-107226100:lI101|H107228EB8
-107228EB8:lI97|H10722B8D0
-10722B8D0:lI109|N
-1071F1A00:lH1071F3C88|N
-1071F3C88:lI99|H1071F64A0
-1071F64A0:lI111|H1071F90F0
-1071F90F0:lI100|H1071FC030
-1071FC030:lI101|H1071FF0E8
-1071FF0E8:lI46|H107202290
-107202290:lI98|H1072054D0
-1072054D0:lI101|H1072087C8
-1072087C8:lI97|H10720BA88
-10720BA88:lI109|N
-1071F19E8:Mn2:H1071F3C68,H1071F3C78
-1071F3C68:lH1071F6480|N
-1071F6480:lI105|H1071F90D0
-1071F90D0:lI110|H1071FC010
-1071FC010:lI101|H1071FF0C8
-1071FF0C8:lI116|H107202270
-107202270:lI95|H1072054B0
-1072054B0:lI100|H1072087A8
-1072087A8:lI110|H10720BA68
-10720BA68:lI115|H10720ED28
-10720ED28:lI46|H107212078
-107212078:lI98|H107215530
-107215530:lI101|H107218BB0
-107218BB0:lI97|H10721C3C0
-10721C3C0:lI109|N
-1071F3C78:lH1071F6490|N
-1071F6490:lI99|H1071F90E0
-1071F90E0:lI111|H1071FC020
-1071FC020:lI100|H1071FF0D8
-1071FF0D8:lI101|H107202280
-107202280:lI95|H1072054C0
-1072054C0:lI115|H1072087B8
-1072087B8:lI101|H10720BA78
-10720BA78:lI114|H10720ED38
-10720ED38:lI118|H107212088
-107212088:lI101|H107215540
-107215540:lI114|H107218BC0
-107218BC0:lI46|H10721C3D0
-10721C3D0:lI98|H10721FAC0
-10721FAC0:lI101|H107222FA8
-107222FA8:lI97|H1072260F0
-1072260F0:lI109|N
-1071F19D8:lH1071F3C58|N
-1071F3C58:lI108|H1071F6470
-1071F6470:lI111|H1071F90C0
-1071F90C0:lI103|H1071FC000
-1071FC000:lI103|H1071FF0B8
-1071FF0B8:lI101|H107202260
-107202260:lI114|H1072054A0
-1072054A0:lI95|H107208798
-107208798:lI104|H10720BA58
-10720BA58:lI97|H10720ED18
-10720ED18:lI110|H107212068
-107212068:lI100|H107215520
-107215520:lI108|H107218BA0
-107218BA0:lI101|H10721C3B0
-10721C3B0:lI114|H10721FAB0
-10721FAB0:lI95|H107222F98
-107222F98:lI119|H1072260E0
-1072260E0:lI97|H107228EA8
-107228EA8:lI116|H10722B8C0
-10722B8C0:lI99|H10722DF88
-10722DF88:lI104|H1072303B0
-1072303B0:lI101|H107232518
-107232518:lI114|H107234380
-107234380:lI46|H107235EE8
-107235EE8:lI98|H1072377E0
-1072377E0:lI101|H107238E68
-107238E68:lI97|H10723A340
-10723A340:lI109|N
-1071F19C8:lH1071F3C48|N
-1071F3C48:lI105|H1071F6460
-1071F6460:lI110|H1071F90B0
-1071F90B0:lI101|H1071FBFF0
-1071FBFF0:lI116|H1071FF0A8
-1071FF0A8:lI95|H107202250
-107202250:lI116|H107205490
-107205490:lI99|H107208788
-107208788:lI112|H10720BA48
-10720BA48:lI95|H10720ED08
-10720ED08:lI100|H107212058
-107212058:lI105|H107215510
-107215510:lI115|H107218B90
-107218B90:lI116|H10721C3A0
-10721C3A0:lI46|H10721FAA0
-10721FAA0:lI98|H107222F88
-107222F88:lI101|H1072260D0
-1072260D0:lI97|H107228E98
-107228E98:lI109|N
-1071F19B8:lH1071F3C38|N
-1071F3C38:lI105|H1071F6450
-1071F6450:lI110|H1071F90A0
-1071F90A0:lI101|H1071FBFE0
-1071FBFE0:lI116|H1071FF098
-1071FF098:lI54|H107202240
-107202240:lI95|H107205480
-107205480:lI116|H107208778
-107208778:lI99|H10720BA38
-10720BA38:lI112|H10720ECF8
-10720ECF8:lI95|H107212048
-107212048:lI100|H107215500
-107215500:lI105|H107218B80
-107218B80:lI115|H10721C390
-10721C390:lI116|H10721FA90
-10721FA90:lI46|H107222F78
-107222F78:lI98|H1072260C0
-1072260C0:lI101|H107228E88
-107228E88:lI97|H10722B8B0
-10722B8B0:lI109|N
-1071F0698:Mn5:H1071F1950,H1071F1968,H1071F1978,H1071F1988,H1071F1998
-1071F1950:Mn2:H1071F3BC8,H1071F3BD8
-1071F3BC8:lH1071F63E0|N
-1071F63E0:lI110|H1071F9030
-1071F9030:lI101|H1071FBF70
-1071FBF70:lI116|H1071FF028
-1071FF028:lI95|H1072021D0
-1072021D0:lI97|H107205410
-107205410:lI100|H107208708
-107208708:lI109|H10720B9D8
-10720B9D8:lI46|H10720EC98
-10720EC98:lI98|H107211FE8
-107211FE8:lI101|H1072154B0
-1072154B0:lI97|H107218B30
-107218B30:lI109|N
-1071F3BD8:lH1071F63F0|N
-1071F63F0:lI108|H1071F9040
-1071F9040:lI111|H1071FBF80
-1071FBF80:lI103|H1071FF038
-1071FF038:lI103|H1072021E0
-1072021E0:lI101|H107205420
-107205420:lI114|H107208718
-107208718:lI95|H10720B9E8
-10720B9E8:lI112|H10720ECA8
-10720ECA8:lI114|H107211FF8
-107211FF8:lI111|H1072154C0
-1072154C0:lI120|H107218B40
-107218B40:lI121|H10721C350
-10721C350:lI46|H10721FA50
-10721FA50:lI98|H107222F48
-107222F48:lI101|H107226090
-107226090:lI97|H107228E68
-107228E68:lI109|N
-1071F1998:lH1071F3C18|N
-1071F3C18:lI108|H1071F6430
-1071F6430:lI111|H1071F9080
-1071F9080:lI103|H1071FBFC0
-1071FBFC0:lI103|H1071FF078
-1071FF078:lI101|H107202220
-107202220:lI114|H107205460
-107205460:lI95|H107208758
-107208758:lI111|H10720BA28
-10720BA28:lI108|H10720ECE8
-10720ECE8:lI112|H107212038
-107212038:lI46|H1072154F0
-1072154F0:lI98|H107218B70
-107218B70:lI101|H10721C380
-10721C380:lI97|H10721FA80
-10721FA80:lI109|N
-1071F1988:lH1071F3C08|N
-1071F3C08:lI101|H1071F6420
-1071F6420:lI114|H1071F9070
-1071F9070:lI108|H1071FBFB0
-1071FBFB0:lI95|H1071FF068
-1071FF068:lI100|H107202210
-107202210:lI105|H107205450
-107205450:lI115|H107208748
-107208748:lI116|H10720BA18
-10720BA18:lI114|H10720ECD8
-10720ECD8:lI105|H107212028
-107212028:lI98|H1072154E0
-1072154E0:lI117|H107218B60
-107218B60:lI116|H10721C370
-10721C370:lI105|H10721FA70
-10721FA70:lI111|H107222F68
-107222F68:lI110|H1072260B0
-1072260B0:lI46|H107228E78
-107228E78:lI98|H10722B8A0
-10722B8A0:lI101|H10722DF78
-10722DF78:lI97|H1072303A0
-1072303A0:lI109|N
-1071F1978:lH1071F3BF8|N
-1071F3BF8:lI107|H1071F6410
-1071F6410:lI101|H1071F9060
-1071F9060:lI114|H1071FBFA0
-1071FBFA0:lI110|H1071FF058
-1071FF058:lI101|H107202200
-107202200:lI108|H107205440
-107205440:lI46|H107208738
-107208738:lI98|H10720BA08
-10720BA08:lI101|H10720ECC8
-10720ECC8:lI97|H107212018
-107212018:lI109|N
-1071F1968:lH1071F3BE8|N
-1071F3BE8:lI101|H1071F6400
-1071F6400:lI114|H1071F9050
-1071F9050:lI114|H1071FBF90
-1071FBF90:lI111|H1071FF048
-1071FF048:lI114|H1072021F0
-1072021F0:lI95|H107205430
-107205430:lI108|H107208728
-107208728:lI111|H10720B9F8
-10720B9F8:lI103|H10720ECB8
-10720ECB8:lI103|H107212008
-107212008:lI101|H1072154D0
-1072154D0:lI114|H107218B50
-107218B50:lI46|H10721C360
-10721C360:lI98|H10721FA60
-10721FA60:lI101|H107222F58
-107222F58:lI97|H1072260A0
-1072260A0:lI109|N
-1071F0088:lI47|H1071F0648
-1071F0648:lI111|H1071F18D0
-1071F18D0:lI112|H1071F3B48
-1071F3B48:lI116|H1071F6360
-1071F6360:lI47|H1071F8FB0
-1071F8FB0:lI104|H1071FBEF0
-1071FBEF0:lI111|H1071FEFA8
-1071FEFA8:lI109|H107202150
-107202150:lI101|H107205390
-107205390:lI98|H107208688
-107208688:lI114|H10720B958
-10720B958:lI101|H10720EC18
-10720EC18:lI119|H107211F78
-107211F78:lI47|H107215450
-107215450:lI67|H107218AE0
-107218AE0:lI101|H10721C310
-10721C310:lI108|H10721FA10
-10721FA10:lI108|H107222F08
-107222F08:lI97|H107226070
-107226070:lI114|H107228E58
-107228E58:lI47|H10722B890
-10722B890:lI101|H10722DF68
-10722DF68:lI114|H107230390
-107230390:lI108|H107232508
-107232508:lI97|H107234370
-107234370:lI110|H107235ED8
-107235ED8:lI103|H1072377D0
-1072377D0:lI47|H107238E58
-107238E58:lI50|H10723A330
-10723A330:lI54|H10723B690
-10723B690:lI46|H10723C770
-10723C770:lI48|H10723D630
-10723D630:lI46|H10723E3B0
-10723E3B0:lI50|H10723EFC0
-10723EFC0:lI47|H10723FA90
-10723FA90:lI108|H1072403E0
-1072403E0:lI105|H107240C60
-107240C60:lI98|H1072413F0
-1072413F0:lI47|H107241B20
-107241B20:lI101|H1072421F0
-1072421F0:lI114|H107242860
-107242860:lI108|H107242E60
-107242E60:lI97|H1072433D0
-1072433D0:lI110|H107243910
-107243910:lI103|H107243E00
-107243E00:lI47|H1072442F0
-1072442F0:lI108|H1072447A0
-1072447A0:lI105|H107244C10
-107244C10:lI98|H107245070
-107245070:lI47|H1072454C0
-1072454C0:lI107|H1072458C0
-1072458C0:lI101|H107245C80
-107245C80:lI114|H107246010
-107246010:lI110|H1072463A0
-1072463A0:lI101|H107246730
-107246730:lI108|H107246AC0
-107246AC0:lI45|H107246E00
-107246E00:lI57|H107247120
-107247120:lI46|H107247440
-107247440:lI48|H107247750
-107247750:lI46|H107247A50
-107247A50:lI50|H107247D40
-107247D40:lI47|H107248020
-107248020:lI101|H1072482E0
-1072482E0:lI98|H1072485A0
-1072485A0:lI105|H107248850
-107248850:lI110|N
-106600960:lH106600990|H10724AE50
-106600990:t2:H1071F0140,H1071F0150
-1071F0150:Mh5C:10:H1071F09A8,H1071F09C8,H1071F0A08,H1071F0A28,H1071F0A38,H1071F0A68,H1071F0A98,H1071F0AC8,H1071F0AF0,H1071F0B30,H1071F0B58,H1071F0B88,H1071F0BF0,H1071F0C28,H1071F0C40,H1071F0C70
-1071F09A8:Mn3:H1071F1ED0,H1071F1EE0,H1071F1EF0
-1071F1ED0:lH1071F41B8|N
-1071F41B8:lI103|H1071F69D8
-1071F69D8:lI101|H1071F9630
-1071F9630:lI110|H1071FC570
-1071FC570:lI95|H1071FF628
-1071FF628:lI101|H1072027D0
-1072027D0:lI118|H107205A10
-107205A10:lI101|H107208CE8
-107208CE8:lI110|H10720BF98
-10720BF98:lI116|H10720F218
-10720F218:lI46|H107212538
-107212538:lI98|H1072159C0
-1072159C0:lI101|H107219030
-107219030:lI97|H10721C790
-10721C790:lI109|N
-1071F1EF0:lH1071F41D8|N
-1071F41D8:lI101|H1071F69F8
-1071F69F8:lI100|H1071F9650
-1071F9650:lI108|H1071FC590
-1071FC590:lI105|H1071FF648
-1071FF648:lI110|H1072027F0
-1072027F0:lI95|H107205A30
-107205A30:lI116|H107208D08
-107208D08:lI121|H10720BFB8
-10720BFB8:lI112|H10720F238
-10720F238:lI101|H107212558
-107212558:lI95|H1072159E0
-1072159E0:lI115|H107219040
-107219040:lI117|H10721C7A0
-10721C7A0:lI103|H10721FE10
-10721FE10:lI103|H107223298
-107223298:lI101|H107226380
-107226380:lI115|H107229118
-107229118:lI116|H10722BAE0
-10722BAE0:lI105|H10722E148
-10722E148:lI111|H107230500
-107230500:lI110|H107232628
-107232628:lI46|H107234460
-107234460:lI98|H107235FA8
-107235FA8:lI101|H107237840
-107237840:lI97|H107238EC8
-107238EC8:lI109|N
-1071F1EE0:lH1071F41C8|N
-1071F41C8:lI100|H1071F69E8
-1071F69E8:lI105|H1071F9640
-1071F9640:lI103|H1071FC580
-1071FC580:lI114|H1071FF638
-1071FF638:lI97|H1072027E0
-1072027E0:lI112|H107205A20
-107205A20:lI104|H107208CF8
-107208CF8:lI46|H10720BFA8
-10720BFA8:lI98|H10720F228
-10720F228:lI101|H107212548
-107212548:lI97|H1072159D0
-1072159D0:lI109|N
-1071F0C70:Mn6:H1071F23C8,H1071F23D8,H1071F23E8,H1071F23F8,H1071F2408,H1071F2418
-1071F23C8:lH1071F4710|N
-1071F4710:lI117|H1071F6F38
-1071F6F38:lI110|H1071F9B90
-1071F9B90:lI105|H1071FCAD0
-1071FCAD0:lI99|H1071FFB88
-1071FFB88:lI111|H107202D30
-107202D30:lI100|H107205F60
-107205F60:lI101|H107209218
-107209218:lI46|H10720C478
-10720C478:lI98|H10720F698
-10720F698:lI101|H107212948
-107212948:lI97|H107215D20
-107215D20:lI109|N
-1071F2418:lH1071F4760|N
-1071F4760:lI98|H1071F6F88
-1071F6F88:lI105|H1071F9BE0
-1071F9BE0:lI110|H1071FCB20
-1071FCB20:lI97|H1071FFBD8
-1071FFBD8:lI114|H107202D80
-107202D80:lI121|H107205FB0
-107205FB0:lI46|H107209268
-107209268:lI98|H10720C4C8
-10720C4C8:lI101|H10720F6E8
-10720F6E8:lI97|H107212998
-107212998:lI109|N
-1071F2408:lH1071F4750|N
-1071F4750:lI101|H1071F6F78
-1071F6F78:lI118|H1071F9BD0
-1071F9BD0:lI97|H1071FCB10
-1071FCB10:lI108|H1071FFBC8
-1071FFBC8:lI95|H107202D70
-107202D70:lI98|H107205FA0
-107205FA0:lI105|H107209258
-107209258:lI116|H10720C4B8
-10720C4B8:lI115|H10720F6D8
-10720F6D8:lI46|H107212988
-107212988:lI98|H107215D60
-107215D60:lI101|H107219340
-107219340:lI97|H10721C9D0
-10721C9D0:lI109|N
-1071F23F8:lH1071F4740|N
-1071F4740:lI101|H1071F6F68
-1071F6F68:lI100|H1071F9BC0
-1071F9BC0:lI108|H1071FCB00
-1071FCB00:lI105|H1071FFBB8
-1071FFBB8:lI110|H107202D60
-107202D60:lI95|H107205F90
-107205F90:lI99|H107209248
-107209248:lI111|H10720C4A8
-10720C4A8:lI110|H10720F6C8
-10720F6C8:lI116|H107212978
-107212978:lI101|H107215D50
-107215D50:lI120|H107219330
-107219330:lI116|H10721C9C0
-10721C9C0:lI46|H107220010
-107220010:lI98|H107223408
-107223408:lI101|H1072264C0
-1072264C0:lI97|H1072291E8
-1072291E8:lI109|N
-1071F23E8:lH1071F4730|N
-1071F4730:lI109|H1071F6F58
-1071F6F58:lI115|H1071F9BB0
-1071F9BB0:lI95|H1071FCAF0
-1071FCAF0:lI116|H1071FFBA8
-1071FFBA8:lI114|H107202D50
-107202D50:lI97|H107205F80
-107205F80:lI110|H107209238
-107209238:lI115|H10720C498
-10720C498:lI102|H10720F6B8
-10720F6B8:lI111|H107212968
-107212968:lI114|H107215D40
-107215D40:lI109|H107219320
-107219320:lI46|H10721C9B0
-10721C9B0:lI98|H107220000
-107220000:lI101|H1072233F8
-1072233F8:lI97|H1072264B0
-1072264B0:lI109|N
-1071F23D8:lH1071F4720|N
-1071F4720:lI103|H1071F6F48
-1071F6F48:lI101|H1071F9BA0
-1071F9BA0:lI110|H1071FCAE0
-1071FCAE0:lI95|H1071FFB98
-1071FFB98:lI115|H107202D40
-107202D40:lI116|H107205F70
-107205F70:lI97|H107209228
-107209228:lI116|H10720C488
-10720C488:lI101|H10720F6A8
-10720F6A8:lI109|H107212958
-107212958:lI46|H107215D30
-107215D30:lI98|H107219310
-107219310:lI101|H10721C9A0
-10721C9A0:lI97|H10721FFF0
-10721FFF0:lI109|N
-1071F0C40:Mn5:H1071F2370,H1071F2380,H1071F2390,H1071F23A0,H1071F23B0
-1071F2370:lH1071F46B0|N
-1071F46B0:lI102|H1071F6ED8
-1071F6ED8:lI105|H1071F9B30
-1071F9B30:lI108|H1071FCA70
-1071FCA70:lI101|H1071FFB28
-1071FFB28:lI95|H107202CD0
-107202CD0:lI115|H107205F00
-107205F00:lI111|H1072091B8
-1072091B8:lI114|H10720C418
-10720C418:lI116|H10720F648
-10720F648:lI101|H1072128F8
-1072128F8:lI114|H107215CD0
-107215CD0:lI46|H1072192D0
-1072192D0:lI98|H10721C990
-10721C990:lI101|H10721FFE0
-10721FFE0:lI97|H1072233E8
-1072233E8:lI109|N
-1071F23B0:Mn2:H1071F46F0,H1071F4700
-1071F46F0:lH1071F6F18|N
-1071F6F18:lI101|H1071F9B70
-1071F9B70:lI112|H1071FCAB0
-1071FCAB0:lI112|H1071FFB68
-1071FFB68:lI46|H107202D10
-107202D10:lI98|H107205F40
-107205F40:lI101|H1072091F8
-1072091F8:lI97|H10720C458
-10720C458:lI109|N
-1071F4700:lH1071F6F28|N
-1071F6F28:lI111|H1071F9B80
-1071F9B80:lI114|H1071FCAC0
-1071FCAC0:lI100|H1071FFB78
-1071FFB78:lI115|H107202D20
-107202D20:lI101|H107205F50
-107205F50:lI116|H107209208
-107209208:lI115|H10720C468
-10720C468:lI46|H10720F688
-10720F688:lI98|H107212938
-107212938:lI101|H107215D10
-107215D10:lI97|H107219300
-107219300:lI109|N
-1071F23A0:lH1071F46E0|N
-1071F46E0:lI101|H1071F6F08
-1071F6F08:lI114|H1071F9B60
-1071F9B60:lI108|H1071FCAA0
-1071FCAA0:lI95|H1071FFB58
-1071FFB58:lI98|H107202D00
-107202D00:lI105|H107205F30
-107205F30:lI116|H1072091E8
-1072091E8:lI115|H10720C448
-10720C448:lI46|H10720F678
-10720F678:lI98|H107212928
-107212928:lI101|H107215D00
-107215D00:lI97|H1072192F0
-1072192F0:lI109|N
-1071F2390:lH1071F46D0|N
-1071F46D0:lI103|H1071F6EF8
-1071F6EF8:lI98|H1071F9B50
-1071F9B50:lI95|H1071FCA90
-1071FCA90:lI115|H1071FFB48
-1071FFB48:lI101|H107202CF0
-107202CF0:lI116|H107205F20
-107205F20:lI115|H1072091D8
-1072091D8:lI46|H10720C438
-10720C438:lI98|H10720F668
-10720F668:lI101|H107212918
-107212918:lI97|H107215CF0
-107215CF0:lI109|N
-1071F2380:lH1071F46C0|N
-1071F46C0:lI101|H1071F6EE8
-1071F6EE8:lI114|H1071F9B40
-1071F9B40:lI108|H1071FCA80
-1071FCA80:lI95|H1071FFB38
-1071FFB38:lI101|H107202CE0
-107202CE0:lI118|H107205F10
-107205F10:lI97|H1072091C8
-1072091C8:lI108|H10720C428
-10720C428:lI46|H10720F658
-10720F658:lI98|H107212908
-107212908:lI101|H107215CE0
-107215CE0:lI97|H1072192E0
-1072192E0:lI109|N
-1071F0C28:Mn2:H1071F2348,H1071F2358
-1071F2348:lH1071F4680|N
-1071F4680:lI101|H1071F6EA8
-1071F6EA8:lI100|H1071F9B00
-1071F9B00:lI108|H1071FCA40
-1071FCA40:lI105|H1071FFAF8
-1071FFAF8:lI110|H107202CA0
-107202CA0:lI95|H107205ED0
-107205ED0:lI101|H107209188
-107209188:lI120|H10720C3E8
-10720C3E8:lI112|H10720F618
-10720F618:lI97|H1072128D8
-1072128D8:lI110|H107215CC0
-107215CC0:lI100|H1072192C0
-1072192C0:lI46|H10721C980
-10721C980:lI98|H10721FFD0
-10721FFD0:lI101|H1072233D8
-1072233D8:lI97|H1072264A0
-1072264A0:lI109|N
-1071F2358:Mn2:H1071F4690,H1071F46A0
-1071F4690:lH1071F6EB8|N
-1071F6EB8:lI115|H1071F9B10
-1071F9B10:lI108|H1071FCA50
-1071FCA50:lI97|H1071FFB08
-1071FFB08:lI118|H107202CB0
-107202CB0:lI101|H107205EE0
-107205EE0:lI46|H107209198
-107209198:lI98|H10720C3F8
-10720C3F8:lI101|H10720F628
-10720F628:lI97|H1072128E8
-1072128E8:lI109|N
-1071F46A0:lH1071F6EC8|N
-1071F6EC8:lI115|H1071F9B20
-1071F9B20:lI111|H1071FCA60
-1071FCA60:lI102|H1071FFB18
-1071FFB18:lI115|H107202CC0
-107202CC0:lI46|H107205EF0
-107205EF0:lI98|H1072091A8
-1072091A8:lI101|H10720C408
-10720C408:lI97|H10720F638
-10720F638:lI109|N
-1071F0BF0:Mn6:H1071F22E8,H1071F22F8,H1071F2308,H1071F2318,H1071F2328,H1071F2338
-1071F22E8:lH1071F4620|N
-1071F4620:lI112|H1071F6E48
-1071F6E48:lI114|H1071F9AA0
-1071F9AA0:lI111|H1071FC9E0
-1071FC9E0:lI99|H1071FFA98
-1071FFA98:lI95|H107202C40
-107202C40:lI108|H107205E70
-107205E70:lI105|H107209128
-107209128:lI98|H10720C388
-10720C388:lI46|H10720F5B8
-10720F5B8:lI98|H107212898
-107212898:lI101|H107215C80
-107215C80:lI97|H107219280
-107219280:lI109|N
-1071F2338:lH1071F4670|N
-1071F4670:lI101|H1071F6E98
-1071F6E98:lI100|H1071F9AF0
-1071F9AF0:lI108|H1071FCA30
-1071FCA30:lI105|H1071FFAE8
-1071FFAE8:lI110|H107202C90
-107202C90:lI46|H107205EC0
-107205EC0:lI98|H107209178
-107209178:lI101|H10720C3D8
-10720C3D8:lI97|H10720F608
-10720F608:lI109|N
-1071F2328:lH1071F4660|N
-1071F4660:lI100|H1071F6E88
-1071F6E88:lI101|H1071F9AE0
-1071F9AE0:lI116|H1071FCA20
-1071FCA20:lI115|H1071FFAD8
-1071FFAD8:lI95|H107202C80
-107202C80:lI115|H107205EB0
-107205EB0:lI117|H107209168
-107209168:lI112|H10720C3C8
-10720C3C8:lI46|H10720F5F8
-10720F5F8:lI98|H1072128C8
-1072128C8:lI101|H107215CB0
-107215CB0:lI97|H1072192B0
-1072192B0:lI109|N
-1071F2318:lH1071F4650|N
-1071F4650:lI115|H1071F6E78
-1071F6E78:lI117|H1071F9AD0
-1071F9AD0:lI112|H1071FCA10
-1071FCA10:lI101|H1071FFAC8
-1071FFAC8:lI114|H107202C70
-107202C70:lI118|H107205EA0
-107205EA0:lI105|H107209158
-107209158:lI115|H10720C3B8
-10720C3B8:lI111|H10720F5E8
-10720F5E8:lI114|H1072128B8
-1072128B8:lI46|H107215CA0
-107215CA0:lI98|H1072192A0
-1072192A0:lI101|H10721C970
-10721C970:lI97|H10721FFC0
-10721FFC0:lI109|N
-1071F2308:lH1071F4640|N
-1071F4640:lI99|H1071F6E68
-1071F6E68:lI97|H1071F9AC0
-1071F9AC0:lI108|H1071FCA00
-1071FCA00:lI101|H1071FFAB8
-1071FFAB8:lI110|H107202C60
-107202C60:lI100|H107205E90
-107205E90:lI97|H107209148
-107209148:lI114|H10720C3A8
-10720C3A8:lI46|H10720F5D8
-10720F5D8:lI98|H1072128A8
-1072128A8:lI101|H107215C90
-107215C90:lI97|H107219290
-107219290:lI109|N
-1071F22F8:lH1071F4630|N
-1071F4630:lI116|H1071F6E58
-1071F6E58:lI105|H1071F9AB0
-1071F9AB0:lI109|H1071FC9F0
-1071FC9F0:lI101|H1071FFAA8
-1071FFAA8:lI114|H107202C50
-107202C50:lI46|H107205E80
-107205E80:lI98|H107209138
-107209138:lI101|H10720C398
-10720C398:lI97|H10720F5C8
-10720F5C8:lI109|N
-1071F0B88:MnC:H1071F2218,H1071F2228,H1071F2238,H1071F2248,H1071F2258,H1071F2268,H1071F2278,H1071F2288,H1071F2298,H1071F22A8,H1071F22C0,H1071F22D0
-1071F2218:lH1071F4540|N
-1071F4540:lI117|H1071F6D68
-1071F6D68:lI114|H1071F99C0
-1071F99C0:lI105|H1071FC900
-1071FC900:lI95|H1071FF9B8
-1071FF9B8:lI115|H107202B60
-107202B60:lI116|H107205DA0
-107205DA0:lI114|H107209058
-107209058:lI105|H10720C2C8
-10720C2C8:lI110|H10720F4F8
-10720F4F8:lI103|H1072127F8
-1072127F8:lI46|H107215BF0
-107215BF0:lI98|H107219200
-107219200:lI101|H10721C900
-10721C900:lI97|H10721FF50
-10721FF50:lI109|N
-1071F22D0:Mn2:H1071F4600,H1071F4610
-1071F4600:lH1071F6E28|N
-1071F6E28:lI101|H1071F9A80
-1071F9A80:lI114|H1071FC9C0
-1071FC9C0:lI108|H1071FFA78
-1071FFA78:lI95|H107202C20
-107202C20:lI112|H107205E50
-107205E50:lI97|H107209108
-107209108:lI114|H10720C368
-10720C368:lI115|H10720F598
-10720F598:lI101|H107212878
-107212878:lI46|H107215C60
-107215C60:lI98|H107219260
-107219260:lI101|H10721C950
-10721C950:lI97|H10721FFA0
-10721FFA0:lI109|N
-1071F4610:lH1071F6E38|N
-1071F6E38:lI117|H1071F9A90
-1071F9A90:lI110|H1071FC9D0
-1071FC9D0:lI105|H1071FFA88
-1071FFA88:lI99|H107202C30
-107202C30:lI111|H107205E60
-107205E60:lI100|H107209118
-107209118:lI101|H10720C378
-10720C378:lI95|H10720F5A8
-10720F5A8:lI117|H107212888
-107212888:lI116|H107215C70
-107215C70:lI105|H107219270
-107219270:lI108|H10721C960
-10721C960:lI46|H10721FFB0
-10721FFB0:lI98|H1072233C8
-1072233C8:lI101|H107226490
-107226490:lI97|H1072291D8
-1072291D8:lI109|N
-1071F22C0:lH1071F45F0|N
-1071F45F0:lI101|H1071F6E18
-1071F6E18:lI114|H1071F9A70
-1071F9A70:lI108|H1071FC9B0
-1071FC9B0:lI95|H1071FFA68
-1071FFA68:lI101|H107202C10
-107202C10:lI120|H107205E40
-107205E40:lI112|H1072090F8
-1072090F8:lI97|H10720C358
-10720C358:lI110|H10720F588
-10720F588:lI100|H107212868
-107212868:lI95|H107215C50
-107215C50:lI114|H107219250
-107219250:lI101|H10721C940
-10721C940:lI99|H10721FF90
-10721FF90:lI111|H1072233B8
-1072233B8:lI114|H107226480
-107226480:lI100|H1072291C8
-1072291C8:lI115|H10722BB50
-10722BB50:lI46|H10722E1A8
-10722E1A8:lI98|H107230560
-107230560:lI101|H107232688
-107232688:lI97|H1072344A0
-1072344A0:lI109|N
-1071F22A8:Mn2:H1071F45D0,H1071F45E0
-1071F45D0:lH1071F6DF8|N
-1071F6DF8:lI114|H1071F9A50
-1071F9A50:lI97|H1071FC990
-1071FC990:lI110|H1071FFA48
-1071FFA48:lI100|H107202BF0
-107202BF0:lI46|H107205E20
-107205E20:lI98|H1072090D8
-1072090D8:lI101|H10720C338
-10720C338:lI97|H10720F568
-10720F568:lI109|N
-1071F45E0:lH1071F6E08|N
-1071F6E08:lI101|H1071F9A60
-1071F9A60:lI114|H1071FC9A0
-1071FC9A0:lI114|H1071FFA58
-1071FFA58:lI111|H107202C00
-107202C00:lI114|H107205E30
-107205E30:lI95|H1072090E8
-1072090E8:lI108|H10720C348
-10720C348:lI111|H10720F578
-10720F578:lI103|H107212858
-107212858:lI103|H107215C40
-107215C40:lI101|H107219240
-107219240:lI114|H10721C930
-10721C930:lI95|H10721FF80
-10721FF80:lI116|H1072233A8
-1072233A8:lI116|H107226470
-107226470:lI121|H1072291B8
-1072291B8:lI95|H10722BB40
-10722BB40:lI104|H10722E198
-10722E198:lI46|H107230550
-107230550:lI98|H107232678
-107232678:lI101|H107234490
-107234490:lI97|H107235FC8
-107235FC8:lI109|N
-1071F2298:lH1071F45C0|N
-1071F45C0:lI101|H1071F6DE8
-1071F6DE8:lI114|H1071F9A40
-1071F9A40:lI108|H1071FC980
-1071FC980:lI95|H1071FFA38
-1071FFA38:lI116|H107202BE0
-107202BE0:lI97|H107205E10
-107205E10:lI114|H1072090C8
-1072090C8:lI46|H10720C328
-10720C328:lI98|H10720F558
-10720F558:lI101|H107212848
-107212848:lI97|H107215C30
-107215C30:lI109|N
-1071F2288:lH1071F45B0|N
-1071F45B0:lI97|H1071F6DD8
-1071F6DD8:lI114|H1071F9A30
-1071F9A30:lI103|H1071FC970
-1071FC970:lI112|H1071FFA28
-1071FFA28:lI97|H107202BD0
-107202BD0:lI114|H107205E00
-107205E00:lI115|H1072090B8
-1072090B8:lI101|H10720C318
-10720C318:lI46|H10720F548
-10720F548:lI98|H107212838
-107212838:lI101|H107215C20
-107215C20:lI97|H107219230
-107219230:lI109|N
-1071F2278:lH1071F45A0|N
-1071F45A0:lI115|H1071F6DC8
-1071F6DC8:lI121|H1071F9A20
-1071F9A20:lI115|H1071FC960
-1071FC960:lI46|H1071FFA18
-1071FFA18:lI98|H107202BC0
-107202BC0:lI101|H107205DF0
-107205DF0:lI97|H1072090A8
-1072090A8:lI109|N
-1071F2268:lH1071F4590|N
-1071F4590:lI105|H1071F6DB8
-1071F6DB8:lI111|H1071F9A10
-1071F9A10:lI95|H1071FC950
-1071FC950:lI108|H1071FFA08
-1071FFA08:lI105|H107202BB0
-107202BB0:lI98|H107205DE0
-107205DE0:lI95|H107209098
-107209098:lI102|H10720C308
-10720C308:lI114|H10720F538
-10720F538:lI101|H107212828
-107212828:lI97|H107215C10
-107215C10:lI100|H107219220
-107219220:lI46|H10721C920
-10721C920:lI98|H10721FF70
-10721FF70:lI101|H107223398
-107223398:lI97|H107226460
-107226460:lI109|N
-1071F2258:lH1071F4580|N
-1071F4580:lI115|H1071F6DA8
-1071F6DA8:lI116|H1071F9A00
-1071F9A00:lI100|H1071FC940
-1071FC940:lI108|H1071FF9F8
-1071FF9F8:lI105|H107202BA0
-107202BA0:lI98|H107205DD0
-107205DD0:lI46|H107209088
-107209088:lI97|H10720C2F8
-10720C2F8:lI112|H10720F528
-10720F528:lI112|N
-1071F2248:lH1071F4570|N
-1071F4570:lI101|H1071F6D98
-1071F6D98:lI114|H1071F99F0
-1071F99F0:lI108|H1071FC930
-1071FC930:lI95|H1071FF9E8
-1071FF9E8:lI97|H107202B90
-107202B90:lI98|H107205DC0
-107205DC0:lI115|H107209078
-107209078:lI116|H10720C2E8
-10720C2E8:lI114|H10720F518
-10720F518:lI97|H107212818
-107212818:lI99|H107215C00
-107215C00:lI116|H107219210
-107219210:lI95|H10721C910
-10721C910:lI99|H10721FF60
-10721FF60:lI111|H107223388
-107223388:lI100|H107226450
-107226450:lI101|H1072291A8
-1072291A8:lI46|H10722BB30
-10722BB30:lI98|H10722E188
-10722E188:lI101|H107230540
-107230540:lI97|H107232668
-107232668:lI109|N
-1071F2238:lH1071F4560|N
-1071F4560:lI99|H1071F6D88
-1071F6D88:lI46|H1071F99E0
-1071F99E0:lI98|H1071FC920
-1071FC920:lI101|H1071FF9D8
-1071FF9D8:lI97|H107202B80
-107202B80:lI109|N
-1071F2228:lH1071F4550|N
-1071F4550:lI113|H1071F6D78
-1071F6D78:lI108|H1071F99D0
-1071F99D0:lI99|H1071FC910
-1071FC910:lI95|H1071FF9C8
-1071FF9C8:lI112|H107202B70
-107202B70:lI116|H107205DB0
-107205DB0:lI46|H107209068
-107209068:lI98|H10720C2D8
-10720C2D8:lI101|H10720F508
-10720F508:lI97|H107212808
-107212808:lI109|N
-1071F0B58:Mn5:H1071F21C8,H1071F21D8,H1071F21E8,H1071F21F8,H1071F2208
-1071F21C8:lH1071F44F0|N
-1071F44F0:lI105|H1071F6D18
-1071F6D18:lI111|H1071F9970
-1071F9970:lI95|H1071FC8B0
-1071FC8B0:lI108|H1071FF968
-1071FF968:lI105|H107202B10
-107202B10:lI98|H107205D50
-107205D50:lI95|H107209008
-107209008:lI102|H10720C278
-10720C278:lI111|H10720F4B8
-10720F4B8:lI114|H1072127B8
-1072127B8:lI109|H107215BB0
-107215BB0:lI97|H1072191C0
-1072191C0:lI116|H10721C8D0
-10721C8D0:lI46|H10721FF20
-10721FF20:lI98|H107223368
-107223368:lI101|H107226430
-107226430:lI97|H107229198
-107229198:lI109|N
-1071F2208:lH1071F4530|N
-1071F4530:lI103|H1071F6D58
-1071F6D58:lI101|H1071F99B0
-1071F99B0:lI110|H1071FC8F0
-1071FC8F0:lI95|H1071FF9A8
-1071FF9A8:lI115|H107202B50
-107202B50:lI101|H107205D90
-107205D90:lI114|H107209048
-107209048:lI118|H10720C2B8
-10720C2B8:lI101|H10720F4E8
-10720F4E8:lI114|H1072127E8
-1072127E8:lI46|H107215BE0
-107215BE0:lI98|H1072191F0
-1072191F0:lI101|H10721C8F0
-10721C8F0:lI97|H10721FF40
-10721FF40:lI109|N
-1071F21F8:lH1071F4520|N
-1071F4520:lI119|H1071F6D48
-1071F6D48:lI105|H1071F99A0
-1071F99A0:lI110|H1071FC8E0
-1071FC8E0:lI51|H1071FF998
-1071FF998:lI50|H107202B40
-107202B40:lI114|H107205D80
-107205D80:lI101|H107209038
-107209038:lI103|H10720C2A8
-10720C2A8:lI46|H10720F4D8
-10720F4D8:lI98|H1072127D8
-1072127D8:lI101|H107215BD0
-107215BD0:lI97|H1072191E0
-1072191E0:lI109|N
-1071F21E8:lH1071F4510|N
-1071F4510:lI111|H1071F6D38
-1071F6D38:lI116|H1071F9990
-1071F9990:lI112|H1071FC8D0
-1071FC8D0:lI95|H1071FF988
-1071FF988:lI105|H107202B30
-107202B30:lI110|H107205D70
-107205D70:lI116|H107209028
-107209028:lI101|H10720C298
-10720C298:lI114|H10720F4C8
-10720F4C8:lI110|H1072127C8
-1072127C8:lI97|H107215BC0
-107215BC0:lI108|H1072191D0
-1072191D0:lI46|H10721C8E0
-10721C8E0:lI98|H10721FF30
-10721FF30:lI101|H107223378
-107223378:lI97|H107226440
-107226440:lI109|N
-1071F21D8:lH1071F4500|N
-1071F4500:lI100|H1071F6D28
-1071F6D28:lI101|H1071F9980
-1071F9980:lI116|H1071FC8C0
-1071FC8C0:lI115|H1071FF978
-1071FF978:lI46|H107202B20
-107202B20:lI98|H107205D60
-107205D60:lI101|H107209018
-107209018:lI97|H10720C288
-10720C288:lI109|N
-1071F0B30:Mn4:H1071F2188,H1071F2198,H1071F21A8,H1071F21B8
-1071F2188:lH1071F44B0|N
-1071F44B0:lI101|H1071F6CD8
-1071F6CD8:lI114|H1071F9930
-1071F9930:lI108|H1071FC870
-1071FC870:lI95|H1071FF928
-1071FF928:lI112|H107202AD0
-107202AD0:lI112|H107205D10
-107205D10:lI46|H107208FC8
-107208FC8:lI98|H10720C238
-10720C238:lI101|H10720F478
-10720F478:lI97|H107212778
-107212778:lI109|N
-1071F21B8:lH1071F44E0|N
-1071F44E0:lI100|H1071F6D08
-1071F6D08:lI101|H1071F9960
-1071F9960:lI116|H1071FC8A0
-1071FC8A0:lI115|H1071FF958
-1071FF958:lI95|H107202B00
-107202B00:lI117|H107205D40
-107205D40:lI116|H107208FF8
-107208FF8:lI105|H10720C268
-10720C268:lI108|H10720F4A8
-10720F4A8:lI115|H1072127A8
-1072127A8:lI46|H107215BA0
-107215BA0:lI98|H1072191B0
-1072191B0:lI101|H10721C8C0
-10721C8C0:lI97|H10721FF10
-10721FF10:lI109|N
-1071F21A8:lH1071F44D0|N
-1071F44D0:lI105|H1071F6CF8
-1071F6CF8:lI111|H1071F9950
-1071F9950:lI95|H1071FC890
-1071FC890:lI108|H1071FF948
-1071FF948:lI105|H107202AF0
-107202AF0:lI98|H107205D30
-107205D30:lI95|H107208FE8
-107208FE8:lI112|H10720C258
-10720C258:lI114|H10720F498
-10720F498:lI101|H107212798
-107212798:lI116|H107215B90
-107215B90:lI116|H1072191A0
-1072191A0:lI121|H10721C8B0
-10721C8B0:lI46|H10721FF00
-10721FF00:lI98|H107223358
-107223358:lI101|H107226420
-107226420:lI97|H107229188
-107229188:lI109|N
-1071F2198:lH1071F44C0|N
-1071F44C0:lI101|H1071F6CE8
-1071F6CE8:lI114|H1071F9940
-1071F9940:lI108|H1071FC880
-1071FC880:lI95|H1071FF938
-1071FF938:lI102|H107202AE0
-107202AE0:lI101|H107205D20
-107205D20:lI97|H107208FD8
-107208FD8:lI116|H10720C248
-10720C248:lI117|H10720F488
-10720F488:lI114|H107212788
-107212788:lI101|H107215B80
-107215B80:lI115|H107219190
-107219190:lI46|H10721C8A0
-10721C8A0:lI98|H10721FEF0
-10721FEF0:lI101|H107223348
-107223348:lI97|H107226410
-107226410:lI109|N
-1071F0AF0:Mn7:H1071F2108,H1071F2118,H1071F2128,H1071F2140,H1071F2150,H1071F2168,H1071F2178
-1071F2108:lH1071F4418|N
-1071F4418:lI101|H1071F6C38
-1071F6C38:lI114|H1071F9890
-1071F9890:lI108|H1071FC7D0
-1071FC7D0:lI95|H1071FF888
-1071FF888:lI105|H107202A30
-107202A30:lI110|H107205C70
-107205C70:lI116|H107208F38
-107208F38:lI101|H10720C1A8
-10720C1A8:lI114|H10720F3F8
-10720F3F8:lI110|H1072126F8
-1072126F8:lI97|H107215B20
-107215B20:lI108|H107219150
-107219150:lI46|H10721C860
-10721C860:lI98|H10721FEB0
-10721FEB0:lI101|H107223328
-107223328:lI97|H1072263F0
-1072263F0:lI109|N
-1071F2178:lH1071F44A0|N
-1071F44A0:lI102|H1071F6CC8
-1071F6CC8:lI105|H1071F9920
-1071F9920:lI108|H1071FC860
-1071FC860:lI101|H1071FF918
-1071FF918:lI108|H107202AC0
-107202AC0:lI105|H107205D00
-107205D00:lI98|H107208FB8
-107208FB8:lI46|H10720C228
-10720C228:lI98|H10720F468
-10720F468:lI101|H107212768
-107212768:lI97|H107215B70
-107215B70:lI109|N
-1071F2168:lH1071F4490|N
-1071F4490:lI109|H1071F6CB8
-1071F6CB8:lI97|H1071F9910
-1071F9910:lI112|H1071FC850
-1071FC850:lI115|H1071FF908
-1071FF908:lI46|H107202AB0
-107202AB0:lI98|H107205CF0
-107205CF0:lI101|H107208FA8
-107208FA8:lI97|H10720C218
-10720C218:lI109|N
-1071F2150:Mn2:H1071F4470,H1071F4480
-1071F4470:lH1071F6C98|N
-1071F6C98:lI112|H1071F98F0
-1071F98F0:lI114|H1071FC830
-1071FC830:lI111|H1071FF8E8
-1071FF8E8:lI112|H107202A90
-107202A90:lI108|H107205CD0
-107205CD0:lI105|H107208F88
-107208F88:lI115|H10720C1F8
-10720C1F8:lI116|H10720F448
-10720F448:lI115|H107212748
-107212748:lI46|H107215B60
-107215B60:lI98|H107219180
-107219180:lI101|H10721C890
-10721C890:lI97|H10721FEE0
-10721FEE0:lI109|N
-1071F4480:lH1071F6CA8|N
-1071F6CA8:lI113|H1071F9900
-1071F9900:lI117|H1071FC840
-1071FC840:lI101|H1071FF8F8
-1071FF8F8:lI117|H107202AA0
-107202AA0:lI101|H107205CE0
-107205CE0:lI46|H107208F98
-107208F98:lI98|H10720C208
-10720C208:lI101|H10720F458
-10720F458:lI97|H107212758
-107212758:lI109|N
-1071F2140:lH1071F4460|N
-1071F4460:lI114|H1071F6C88
-1071F6C88:lI101|H1071F98E0
-1071F98E0:lI46|H1071FC820
-1071FC820:lI98|H1071FF8D8
-1071FF8D8:lI101|H107202A80
-107202A80:lI97|H107205CC0
-107205CC0:lI109|N
-1071F2128:Mn2:H1071F4440,H1071F4450
-1071F4440:lH1071F6C68|N
-1071F6C68:lI114|H1071F98C0
-1071F98C0:lI97|H1071FC800
-1071FC800:lI110|H1071FF8B8
-1071FF8B8:lI100|H107202A60
-107202A60:lI111|H107205CA0
-107205CA0:lI109|H107208F68
-107208F68:lI46|H10720C1D8
-10720C1D8:lI98|H10720F428
-10720F428:lI101|H107212728
-107212728:lI97|H107215B40
-107215B40:lI109|N
-1071F4450:lH1071F6C78|N
-1071F6C78:lI101|H1071F98D0
-1071F98D0:lI114|H1071FC810
-1071FC810:lI108|H1071FF8C8
-1071FF8C8:lI95|H107202A70
-107202A70:lI99|H107205CB0
-107205CB0:lI111|H107208F78
-107208F78:lI109|H10720C1E8
-10720C1E8:lI112|H10720F438
-10720F438:lI105|H107212738
-107212738:lI108|H107215B50
-107215B50:lI101|H107219170
-107219170:lI46|H10721C880
-10721C880:lI98|H10721FED0
-10721FED0:lI101|H107223338
-107223338:lI97|H107226400
-107226400:lI109|N
-1071F2118:Mn1:H1071F4428
-1071F4428:Mn2:H1071F6C48,H1071F6C58
-1071F6C48:lH1071F98A0|N
-1071F98A0:lI103|H1071FC7E0
-1071FC7E0:lI98|H1071FF898
-1071FF898:lI95|H107202A40
-107202A40:lI116|H107205C80
-107205C80:lI114|H107208F48
-107208F48:lI101|H10720C1B8
-10720C1B8:lI101|H10720F408
-10720F408:lI115|H107212708
-107212708:lI46|H107215B30
-107215B30:lI98|H107219160
-107219160:lI101|H10721C870
-10721C870:lI97|H10721FEC0
-10721FEC0:lI109|N
-1071F6C58:lH1071F98B0|N
-1071F98B0:lI112|H1071FC7F0
-1071FC7F0:lI101|H1071FF8A8
-1071FF8A8:lI101|H107202A50
-107202A50:lI114|H107205C90
-107205C90:lI46|H107208F58
-107208F58:lI98|H10720C1C8
-10720C1C8:lI101|H10720F418
-10720F418:lI97|H107212718
-107212718:lI109|N
-1071F0AC8:Mn4:H1071F20B8,H1071F20C8,H1071F20E0,H1071F20F0
-1071F20B8:lH1071F43B8|N
-1071F43B8:lI115|H1071F6BD8
-1071F6BD8:lI101|H1071F9830
-1071F9830:lI116|H1071FC770
-1071FC770:lI115|H1071FF828
-1071FF828:lI46|H1072029D0
-1072029D0:lI98|H107205C10
-107205C10:lI101|H107208ED8
-107208ED8:lI97|H10720C148
-10720C148:lI109|N
-1071F20F0:Mn2:H1071F43F8,H1071F4408
-1071F43F8:lH1071F6C18|N
-1071F6C18:lI108|H1071F9870
-1071F9870:lI111|H1071FC7B0
-1071FC7B0:lI103|H1071FF868
-1071FF868:lI95|H107202A10
-107202A10:lI109|H107205C50
-107205C50:lI102|H107208F18
-107208F18:lI95|H10720C188
-10720C188:lI104|H10720F3D8
-10720F3D8:lI46|H1072126D8
-1072126D8:lI98|H107215B10
-107215B10:lI101|H107219140
-107219140:lI97|H10721C850
-10721C850:lI109|N
-1071F4408:lH1071F6C28|N
-1071F6C28:lI108|H1071F9880
-1071F9880:lI105|H1071FC7C0
-1071FC7C0:lI115|H1071FF878
-1071FF878:lI116|H107202A20
-107202A20:lI115|H107205C60
-107205C60:lI46|H107208F28
-107208F28:lI98|H10720C198
-10720C198:lI101|H10720F3E8
-10720F3E8:lI97|H1072126E8
-1072126E8:lI109|N
-1071F20E0:lH1071F43E8|N
-1071F43E8:lI105|H1071F6C08
-1071F6C08:lI111|H1071F9860
-1071F9860:lI95|H1071FC7A0
-1071FC7A0:lI108|H1071FF858
-1071FF858:lI105|H107202A00
-107202A00:lI98|H107205C40
-107205C40:lI46|H107208F08
-107208F08:lI98|H10720C178
-10720C178:lI101|H10720F3C8
-10720F3C8:lI97|H1072126C8
-1072126C8:lI109|N
-1071F20C8:Mn2:H1071F43C8,H1071F43D8
-1071F43C8:lH1071F6BE8|N
-1071F6BE8:lI101|H1071F9840
-1071F9840:lI114|H1071FC780
-1071FC780:lI108|H1071FF838
-1071FF838:lI95|H1072029E0
-1072029E0:lI115|H107205C20
-107205C20:lI116|H107208EE8
-107208EE8:lI100|H10720C158
-10720C158:lI108|H10720F3A8
-10720F3A8:lI105|H1072126A8
-1072126A8:lI98|H107215AF0
-107215AF0:lI95|H107219120
-107219120:lI101|H10721C840
-10721C840:lI114|H10721FEA0
-10721FEA0:lI114|H107223318
-107223318:lI111|H1072263E0
-1072263E0:lI114|H107229178
-107229178:lI115|H10722BB20
-10722BB20:lI46|H10722E178
-10722E178:lI98|H107230530
-107230530:lI101|H107232658
-107232658:lI97|H107234480
-107234480:lI109|N
-1071F43D8:lH1071F6BF8|N
-1071F6BF8:lI111|H1071F9850
-1071F9850:lI114|H1071FC790
-1071FC790:lI100|H1071FF848
-1071FF848:lI100|H1072029F0
-1072029F0:lI105|H107205C30
-107205C30:lI99|H107208EF8
-107208EF8:lI116|H10720C168
-10720C168:lI46|H10720F3B8
-10720F3B8:lI98|H1072126B8
-1072126B8:lI101|H107215B00
-107215B00:lI97|H107219130
-107219130:lI109|N
-1071F0A98:Mn5:H1071F2060,H1071F2070,H1071F2080,H1071F2098,H1071F20A8
-1071F2060:lH1071F4358|N
-1071F4358:lI113|H1071F6B78
-1071F6B78:lI108|H1071F97D0
-1071F97D0:lI99|H1071FC710
-1071FC710:lI46|H1071FF7C8
-1071FF7C8:lI98|H107202970
-107202970:lI101|H107205BB0
-107205BB0:lI97|H107208E78
-107208E78:lI109|N
-1071F20A8:lH1071F43A8|N
-1071F43A8:lI115|H1071F6BC8
-1071F6BC8:lI117|H1071F9820
-1071F9820:lI112|H1071FC760
-1071FC760:lI101|H1071FF818
-1071FF818:lI114|H1072029C0
-1072029C0:lI118|H107205C00
-107205C00:lI105|H107208EC8
-107208EC8:lI115|H10720C138
-10720C138:lI111|H10720F398
-10720F398:lI114|H107212698
-107212698:lI95|H107215AE0
-107215AE0:lI98|H107219110
-107219110:lI114|H10721C830
-10721C830:lI105|H10721FE90
-10721FE90:lI100|H107223308
-107223308:lI103|H1072263D0
-1072263D0:lI101|H107229168
-107229168:lI46|H10722BB10
-10722BB10:lI98|H10722E168
-10722E168:lI101|H107230520
-107230520:lI97|H107232648
-107232648:lI109|N
-1071F2098:lH1071F4398|N
-1071F4398:lI101|H1071F6BB8
-1071F6BB8:lI114|H1071F9810
-1071F9810:lI108|H1071FC750
-1071FC750:lI95|H1071FF808
-1071FF808:lI108|H1072029B0
-1072029B0:lI105|H107205BF0
-107205BF0:lI110|H107208EB8
-107208EB8:lI116|H10720C128
-10720C128:lI46|H10720F388
-10720F388:lI98|H107212688
-107212688:lI101|H107215AD0
-107215AD0:lI97|H107219100
-107219100:lI109|N
-1071F2080:Mn2:H1071F4378,H1071F4388
-1071F4378:lH1071F6B98|N
-1071F6B98:lI101|H1071F97F0
-1071F97F0:lI114|H1071FC730
-1071FC730:lI108|H1071FF7E8
-1071FF7E8:lI95|H107202990
-107202990:lI115|H107205BD0
-107205BD0:lI99|H107208E98
-107208E98:lI97|H10720C108
-10720C108:lI110|H10720F368
-10720F368:lI46|H107212668
-107212668:lI98|H107215AC0
-107215AC0:lI101|H1072190F0
-1072190F0:lI97|H10721C820
-10721C820:lI109|N
-1071F4388:lH1071F6BA8|N
-1071F6BA8:lI115|H1071F9800
-1071F9800:lI104|H1071FC740
-1071FC740:lI101|H1071FF7F8
-1071FF7F8:lI108|H1072029A0
-1072029A0:lI108|H107205BE0
-107205BE0:lI46|H107208EA8
-107208EA8:lI98|H10720C118
-10720C118:lI101|H10720F378
-10720F378:lI97|H107212678
-107212678:lI109|N
-1071F2070:lH1071F4368|N
-1071F4368:lI101|H1071F6B88
-1071F6B88:lI114|H1071F97E0
-1071F97E0:lI108|H1071FC720
-1071FC720:lI95|H1071FF7D8
-1071FF7D8:lI112|H107202980
-107202980:lI111|H107205BC0
-107205BC0:lI115|H107208E88
-107208E88:lI105|H10720C0F8
-10720C0F8:lI120|H10720F358
-10720F358:lI95|H107212658
-107212658:lI109|H107215AB0
-107215AB0:lI115|H1072190E0
-1072190E0:lI103|H10721C810
-10721C810:lI46|H10721FE80
-10721FE80:lI98|H1072232F8
-1072232F8:lI101|H1072263C0
-1072263C0:lI97|H107229158
-107229158:lI109|N
-1071F0A68:Mn5:H1071F2008,H1071F2018,H1071F2030,H1071F2040,H1071F2050
-1071F2008:lH1071F42F8|N
-1071F42F8:lI98|H1071F6B18
-1071F6B18:lI101|H1071F9770
-1071F9770:lI97|H1071FC6B0
-1071FC6B0:lI109|H1071FF768
-1071FF768:lI95|H107202910
-107202910:lI108|H107205B50
-107205B50:lI105|H107208E18
-107208E18:lI98|H10720C0A8
-10720C0A8:lI46|H10720F318
-10720F318:lI98|H107212628
-107212628:lI101|H107215A90
-107215A90:lI97|H1072190C0
-1072190C0:lI109|N
-1071F2050:lH1071F4348|N
-1071F4348:lI112|H1071F6B68
-1071F6B68:lI111|H1071F97C0
-1071F97C0:lI111|H1071FC700
-1071FC700:lI108|H1071FF7B8
-1071FF7B8:lI46|H107202960
-107202960:lI98|H107205BA0
-107205BA0:lI101|H107208E68
-107208E68:lI97|H10720C0E8
-10720C0E8:lI109|N
-1071F2040:lH1071F4338|N
-1071F4338:lI98|H1071F6B58
-1071F6B58:lI97|H1071F97B0
-1071F97B0:lI115|H1071FC6F0
-1071FC6F0:lI101|H1071FF7A8
-1071FF7A8:lI54|H107202950
-107202950:lI52|H107205B90
-107205B90:lI46|H107208E58
-107208E58:lI98|H10720C0D8
-10720C0D8:lI101|H10720F348
-10720F348:lI97|H107212648
-107212648:lI109|N
-1071F2030:lH1071F4328|N
-1071F4328:lI103|H1071F6B48
-1071F6B48:lI101|H1071F97A0
-1071F97A0:lI110|H1071FC6E0
-1071FC6E0:lI46|H1071FF798
-1071FF798:lI98|H107202940
-107202940:lI101|H107205B80
-107205B80:lI97|H107208E48
-107208E48:lI109|N
-1071F2018:Mn2:H1071F4308,H1071F4318
-1071F4308:lH1071F6B28|N
-1071F6B28:lI101|H1071F9780
-1071F9780:lI114|H1071FC6C0
-1071FC6C0:lI108|H1071FF778
-1071FF778:lI95|H107202920
-107202920:lI101|H107205B60
-107205B60:lI114|H107208E28
-107208E28:lI114|H10720C0B8
-10720C0B8:lI111|H10720F328
-10720F328:lI114|H107212638
-107212638:lI46|H107215AA0
-107215AA0:lI98|H1072190D0
-1072190D0:lI101|H10721C800
-10721C800:lI97|H10721FE70
-10721FE70:lI109|N
-1071F4318:lH1071F6B38|N
-1071F6B38:lI109|H1071F9790
-1071F9790:lI97|H1071FC6D0
-1071FC6D0:lI116|H1071FF788
-1071FF788:lI104|H107202930
-107202930:lI46|H107205B70
-107205B70:lI98|H107208E38
-107208E38:lI101|H10720C0C8
-10720C0C8:lI97|H10720F338
-10720F338:lI109|N
-1071F0A38:Mn5:H1071F1FB0,H1071F1FC8,H1071F1FD8,H1071F1FE8,H1071F1FF8
-1071F1FB0:Mn2:H1071F4298,H1071F42A8
-1071F4298:lH1071F6AB8|N
-1071F6AB8:lI115|H1071F9710
-1071F9710:lI104|H1071FC650
-1071FC650:lI101|H1071FF708
-1071FF708:lI108|H1072028B0
-1072028B0:lI108|H107205AF0
-107205AF0:lI95|H107208DB8
-107208DB8:lI100|H10720C048
-10720C048:lI101|H10720F2C8
-10720F2C8:lI102|H1072125D8
-1072125D8:lI97|H107215A40
-107215A40:lI117|H107219080
-107219080:lI108|H10721C7D0
-10721C7D0:lI116|H10721FE40
-10721FE40:lI46|H1072232C8
-1072232C8:lI98|H1072263A0
-1072263A0:lI101|H107229138
-107229138:lI97|H10722BB00
-10722BB00:lI109|N
-1071F42A8:lH1071F6AC8|N
-1071F6AC8:lI115|H1071F9720
-1071F9720:lI104|H1071FC660
-1071FC660:lI101|H1071FF718
-1071FF718:lI108|H1072028C0
-1072028C0:lI108|H107205B00
-107205B00:lI95|H107208DC8
-107208DC8:lI100|H10720C058
-10720C058:lI111|H10720F2D8
-10720F2D8:lI99|H1072125E8
-1072125E8:lI115|H107215A50
-107215A50:lI46|H107219090
-107219090:lI98|H10721C7E0
-10721C7E0:lI101|H10721FE50
-10721FE50:lI97|H1072232D8
-1072232D8:lI109|N
-1071F1FF8:lH1071F42E8|N
-1071F42E8:lI100|H1071F6B08
-1071F6B08:lI105|H1071F9760
-1071F9760:lI103|H1071FC6A0
-1071FC6A0:lI114|H1071FF758
-1071FF758:lI97|H107202900
-107202900:lI112|H107205B40
-107205B40:lI104|H107208E08
-107208E08:lI95|H10720C098
-10720C098:lI117|H10720F308
-10720F308:lI116|H107212618
-107212618:lI105|H107215A80
-107215A80:lI108|H1072190B0
-1072190B0:lI115|H10721C7F0
-10721C7F0:lI46|H10721FE60
-10721FE60:lI98|H1072232E8
-1072232E8:lI101|H1072263B0
-1072263B0:lI97|H107229148
-107229148:lI109|N
-1071F1FE8:lH1071F42D8|N
-1071F42D8:lI101|H1071F6AF8
-1071F6AF8:lI115|H1071F9750
-1071F9750:lI99|H1071FC690
-1071FC690:lI114|H1071FF748
-1071FF748:lI105|H1072028F0
-1072028F0:lI112|H107205B30
-107205B30:lI116|H107208DF8
-107208DF8:lI46|H10720C088
-10720C088:lI98|H10720F2F8
-10720F2F8:lI101|H107212608
-107212608:lI97|H107215A70
-107215A70:lI109|N
-1071F1FD8:lH1071F42C8|N
-1071F42C8:lI100|H1071F6AE8
-1071F6AE8:lI105|H1071F9740
-1071F9740:lI99|H1071FC680
-1071FC680:lI116|H1071FF738
-1071FF738:lI46|H1072028E0
-1072028E0:lI98|H107205B20
-107205B20:lI101|H107208DE8
-107208DE8:lI97|H10720C078
-10720C078:lI109|N
-1071F1FC8:lH1071F42B8|N
-1071F42B8:lI101|H1071F6AD8
-1071F6AD8:lI114|H1071F9730
-1071F9730:lI108|H1071FC670
-1071FC670:lI95|H1071FF728
-1071FF728:lI97|H1072028D0
-1072028D0:lI110|H107205B10
-107205B10:lI110|H107208DD8
-107208DD8:lI111|H10720C068
-10720C068:lI46|H10720F2E8
-10720F2E8:lI98|H1072125F8
-1072125F8:lI101|H107215A60
-107215A60:lI97|H1072190A0
-1072190A0:lI109|N
-1071F0A28:lH1071F1FA0|N
-1071F1FA0:lI103|H1071F4288
-1071F4288:lI101|H1071F6AA8
-1071F6AA8:lI110|H1071F9700
-1071F9700:lI95|H1071FC640
-1071FC640:lI102|H1071FF6F8
-1071FF6F8:lI115|H1072028A0
-1072028A0:lI109|H107205AE0
-107205AE0:lI46|H107208DA8
-107208DA8:lI98|H10720C038
-10720C038:lI101|H10720F2B8
-10720F2B8:lI97|H1072125C8
-1072125C8:lI109|N
-1071F0A08:Mn3:H1071F1F70,H1071F1F80,H1071F1F90
-1071F1F70:lH1071F4258|N
-1071F4258:lI100|H1071F6A78
-1071F6A78:lI101|H1071F96D0
-1071F96D0:lI116|H1071FC610
-1071FC610:lI115|H1071FF6C8
-1071FF6C8:lI95|H107202870
-107202870:lI118|H107205AB0
-107205AB0:lI57|H107208D78
-107208D78:lI46|H10720C018
-10720C018:lI98|H10720F298
-10720F298:lI101|H1072125A8
-1072125A8:lI97|H107215A20
-107215A20:lI109|N
-1071F1F90:lH1071F4278|N
-1071F4278:lI102|H1071F6A98
-1071F6A98:lI105|H1071F96F0
-1071F96F0:lI108|H1071FC630
-1071FC630:lI101|H1071FF6E8
-1071FF6E8:lI110|H107202890
-107202890:lI97|H107205AD0
-107205AD0:lI109|H107208D98
-107208D98:lI101|H10720C028
-10720C028:lI46|H10720F2A8
-10720F2A8:lI98|H1072125B8
-1072125B8:lI101|H107215A30
-107215A30:lI97|H107219070
-107219070:lI109|N
-1071F1F80:lH1071F4268|N
-1071F4268:lI101|H1071F6A88
-1071F6A88:lI116|H1071F96E0
-1071F96E0:lI115|H1071FC620
-1071FC620:lI46|H1071FF6D8
-1071FF6D8:lI98|H107202880
-107202880:lI101|H107205AC0
-107205AC0:lI97|H107208D88
-107208D88:lI109|N
-1071F09C8:Mn7:H1071F1F00,H1071F1F10,H1071F1F20,H1071F1F30,H1071F1F40,H1071F1F50,H1071F1F60
-1071F1F00:lH1071F41E8|N
-1071F41E8:lI101|H1071F6A08
-1071F6A08:lI114|H1071F9660
-1071F9660:lI114|H1071FC5A0
-1071FC5A0:lI111|H1071FF658
-1071FF658:lI114|H107202800
-107202800:lI95|H107205A40
-107205A40:lI108|H107208D18
-107208D18:lI111|H10720BFC8
-10720BFC8:lI103|H10720F248
-10720F248:lI103|H107212568
-107212568:lI101|H1072159F0
-1072159F0:lI114|H107219050
-107219050:lI95|H10721C7B0
-10721C7B0:lI102|H10721FE20
-10721FE20:lI105|H1072232A8
-1072232A8:lI108|H107226390
-107226390:lI101|H107229128
-107229128:lI95|H10722BAF0
-10722BAF0:lI104|H10722E158
-10722E158:lI46|H107230510
-107230510:lI98|H107232638
-107232638:lI101|H107234470
-107234470:lI97|H107235FB8
-107235FB8:lI109|N
-1071F1F60:lH1071F4248|N
-1071F4248:lI115|H1071F6A68
-1071F6A68:lI116|H1071F96C0
-1071F96C0:lI114|H1071FC600
-1071FC600:lI105|H1071FF6B8
-1071FF6B8:lI110|H107202860
-107202860:lI103|H107205AA0
-107205AA0:lI46|H107208D68
-107208D68:lI98|H10720C008
-10720C008:lI101|H10720F288
-10720F288:lI97|H107212598
-107212598:lI109|N
-1071F1F50:lH1071F4238|N
-1071F4238:lI122|H1071F6A58
-1071F6A58:lI105|H1071F96B0
-1071F96B0:lI112|H1071FC5F0
-1071FC5F0:lI46|H1071FF6A8
-1071FF6A8:lI98|H107202850
-107202850:lI101|H107205A90
-107205A90:lI97|H107208D58
-107208D58:lI109|N
-1071F1F40:lH1071F4228|N
-1071F4228:lI97|H1071F6A48
-1071F6A48:lI114|H1071F96A0
-1071F96A0:lI114|H1071FC5E0
-1071FC5E0:lI97|H1071FF698
-1071FF698:lI121|H107202840
-107202840:lI46|H107205A80
-107205A80:lI98|H107208D48
-107208D48:lI101|H10720BFF8
-10720BFF8:lI97|H10720F278
-10720F278:lI109|N
-1071F1F30:lH1071F4218|N
-1071F4218:lI105|H1071F6A38
-1071F6A38:lI111|H1071F9690
-1071F9690:lI46|H1071FC5D0
-1071FC5D0:lI98|H1071FF688
-1071FF688:lI101|H107202830
-107202830:lI97|H107205A70
-107205A70:lI109|N
-1071F1F20:lH1071F4208|N
-1071F4208:lI100|H1071F6A28
-1071F6A28:lI101|H1071F9680
-1071F9680:lI116|H1071FC5C0
-1071FC5C0:lI115|H1071FF678
-1071FF678:lI95|H107202820
-107202820:lI115|H107205A60
-107205A60:lI101|H107208D38
-107208D38:lI114|H10720BFE8
-10720BFE8:lI118|H10720F268
-10720F268:lI101|H107212588
-107212588:lI114|H107215A10
-107215A10:lI46|H107219060
-107219060:lI98|H10721C7C0
-10721C7C0:lI101|H10721FE30
-10721FE30:lI97|H1072232B8
-1072232B8:lI109|N
-1071F1F10:lH1071F41F8|N
-1071F41F8:lI115|H1071F6A18
-1071F6A18:lI116|H1071F9670
-1071F9670:lI100|H1071FC5B0
-1071FC5B0:lI108|H1071FF668
-1071FF668:lI105|H107202810
-107202810:lI98|H107205A50
-107205A50:lI46|H107208D28
-107208D28:lI97|H10720BFD8
-10720BFD8:lI112|H10720F258
-10720F258:lI112|H107212578
-107212578:lI117|H107215A00
-107215A00:lI112|N
-1071F0140:lI47|H1071F0998
-1071F0998:lI111|H1071F1EC0
-1071F1EC0:lI112|H1071F41A8
-1071F41A8:lI116|H1071F69C8
-1071F69C8:lI47|H1071F9620
-1071F9620:lI104|H1071FC560
-1071FC560:lI111|H1071FF618
-1071FF618:lI109|H1072027C0
-1072027C0:lI101|H107205A00
-107205A00:lI98|H107208CD8
-107208CD8:lI114|H10720BF88
-10720BF88:lI101|H10720F208
-10720F208:lI119|H107212528
-107212528:lI47|H1072159B0
-1072159B0:lI67|H107219020
-107219020:lI101|H10721C780
-10721C780:lI108|H10721FE00
-10721FE00:lI108|H107223288
-107223288:lI97|H107226370
-107226370:lI114|H107229108
-107229108:lI47|H10722BAD0
-10722BAD0:lI101|H10722E138
-10722E138:lI114|H1072304F0
-1072304F0:lI108|H107232618
-107232618:lI97|H107234450
-107234450:lI110|H107235F98
-107235F98:lI103|H107237830
-107237830:lI47|H107238EB8
-107238EB8:lI50|H10723A390
-10723A390:lI54|H10723B6D0
-10723B6D0:lI46|H10723C7A0
-10723C7A0:lI48|H10723D660
-10723D660:lI46|H10723E3E0
-10723E3E0:lI50|H10723EFF0
-10723EFF0:lI47|H10723FAC0
-10723FAC0:lI108|H107240410
-107240410:lI105|H107240C90
-107240C90:lI98|H107241420
-107241420:lI47|H107241B50
-107241B50:lI101|H107242220
-107242220:lI114|H107242890
-107242890:lI108|H107242E90
-107242E90:lI97|H107243400
-107243400:lI110|H107243940
-107243940:lI103|H107243E30
-107243E30:lI47|H107244320
-107244320:lI108|H1072447D0
-1072447D0:lI105|H107244C40
-107244C40:lI98|H1072450A0
-1072450A0:lI47|H1072454F0
-1072454F0:lI115|H1072458F0
-1072458F0:lI116|H107245CB0
-107245CB0:lI100|H107246040
-107246040:lI108|H1072463D0
-1072463D0:lI105|H107246760
-107246760:lI98|H107246AF0
-107246AF0:lI45|H107246E30
-107246E30:lI53|H107247150
-107247150:lI46|H107247470
-107247470:lI48|H107247780
-107247780:lI46|H107247A80
-107247A80:lI50|H107247D70
-107247D70:lI47|H107248050
-107248050:lI101|H107248310
-107248310:lI98|H1072485D0
-1072485D0:lI105|H107248880
-107248880:lI110|N
-10724AE50:lH10724AEC8|H10724AEE0
-10724AEC8:t2:H1071F0200,H1071F0210
-1071F0210:Mh23:F:H1071F0CD8,H1071F0CE8,H1071F0D00,H1071F0D18,H1071F0D28,H1071F0D38,H1071F0D58,H1071F0D70,H1071F0D88,H1071F0DA8,H1071F0DC0,H1071F0DE0,H1071F0E00,H1071F0E10,H1071F0E30
-1071F0CD8:lH1071F2458|N
-1071F2458:lI120|H1071F47A0
-1071F47A0:lI109|H1071F6FC8
-1071F6FC8:lI101|H1071F9C20
-1071F9C20:lI114|H1071FCB60
-1071FCB60:lI108|H1071FFC18
-1071FFC18:lI95|H107202DC0
-107202DC0:lI120|H107205FF0
-107205FF0:lI112|H1072092A8
-1072092A8:lI97|H10720C508
-10720C508:lI116|H10720F728
-10720F728:lI104|H1072129D8
-1072129D8:lI95|H107215DA0
-107215DA0:lI112|H107219380
-107219380:lI114|H10721CA10
-10721CA10:lI101|H107220050
-107220050:lI100|H107223448
-107223448:lI46|H107226500
-107226500:lI98|H107229228
-107229228:lI101|H10722BB90
-10722BB90:lI97|H10722E1E8
-10722E1E8:lI109|N
-1071F0E30:Mn4:H1071F2638,H1071F2648,H1071F2658,H1071F2668
-1071F2638:lH1071F4990|N
-1071F4990:lI120|H1071F71B8
-1071F71B8:lI109|H1071F9E10
-1071F9E10:lI101|H1071FCD50
-1071FCD50:lI114|H1071FFE08
-1071FFE08:lI108|H107202FB0
-107202FB0:lI95|H1072061E0
-1072061E0:lI101|H107209498
-107209498:lI118|H10720C6F8
-10720C6F8:lI101|H10720F908
-10720F908:lI110|H107212BA8
-107212BA8:lI116|H107215F70
-107215F70:lI112|H107219550
-107219550:lI46|H10721CBC0
-10721CBC0:lI98|H1072201D0
-1072201D0:lI101|H107223588
-107223588:lI97|H107226620
-107226620:lI109|N
-1071F2668:lH1071F49C0|N
-1071F49C0:lI120|H1071F71E8
-1071F71E8:lI109|H1071F9E40
-1071F9E40:lI101|H1071FCD80
-1071FCD80:lI114|H1071FFE38
-1071FFE38:lI108|H107202FE0
-107202FE0:lI46|H107206210
-107206210:lI98|H1072094C8
-1072094C8:lI101|H10720C728
-10720C728:lI97|H10720F938
-10720F938:lI109|N
-1071F2658:lH1071F49B0|N
-1071F49B0:lI120|H1071F71D8
-1071F71D8:lI109|H1071F9E30
-1071F9E30:lI101|H1071FCD70
-1071FCD70:lI114|H1071FFE28
-1071FFE28:lI108|H107202FD0
-107202FD0:lI95|H107206200
-107206200:lI115|H1072094B8
-1072094B8:lI97|H10720C718
-10720C718:lI120|H10720F928
-10720F928:lI95|H107212BC8
-107212BC8:lI115|H107215F90
-107215F90:lI105|H107219570
-107219570:lI109|H10721CBE0
-10721CBE0:lI112|H1072201F0
-1072201F0:lI108|H107223598
-107223598:lI101|H107226630
-107226630:lI95|H107229328
-107229328:lI100|H10722BC70
-10722BC70:lI111|H10722E2B8
-10722E2B8:lI109|H107230640
-107230640:lI46|H107232738
-107232738:lI98|H107234530
-107234530:lI101|H107236058
-107236058:lI97|H1072378D0
-1072378D0:lI109|N
-1071F2648:lH1071F49A0|N
-1071F49A0:lI120|H1071F71C8
-1071F71C8:lI109|H1071F9E20
-1071F9E20:lI101|H1071FCD60
-1071FCD60:lI114|H1071FFE18
-1071FFE18:lI108|H107202FC0
-107202FC0:lI95|H1072061F0
-1072061F0:lI104|H1072094A8
-1072094A8:lI116|H10720C708
-10720C708:lI109|H10720F918
-10720F918:lI108|H107212BB8
-107212BB8:lI46|H107215F80
-107215F80:lI98|H107219560
-107219560:lI101|H10721CBD0
-10721CBD0:lI97|H1072201E0
-1072201E0:lI109|N
-1071F0E10:Mn3:H1071F2608,H1071F2618,H1071F2628
-1071F2608:lH1071F4960|N
-1071F4960:lI120|H1071F7188
-1071F7188:lI109|H1071F9DE0
-1071F9DE0:lI101|H1071FCD20
-1071FCD20:lI114|H1071FFDD8
-1071FFDD8:lI108|H107202F80
-107202F80:lI95|H1072061B0
-1072061B0:lI117|H107209468
-107209468:lI114|H10720C6C8
-10720C6C8:lI105|H10720F8D8
-10720F8D8:lI46|H107212B78
-107212B78:lI98|H107215F40
-107215F40:lI101|H107219520
-107219520:lI97|H10721CB90
-10721CB90:lI109|N
-1071F2628:lH1071F4980|N
-1071F4980:lI120|H1071F71A8
-1071F71A8:lI109|H1071F9E00
-1071F9E00:lI101|H1071FCD40
-1071FCD40:lI114|H1071FFDF8
-1071FFDF8:lI108|H107202FA0
-107202FA0:lI95|H1072061D0
-1072061D0:lI120|H107209488
-107209488:lI112|H10720C6E8
-10720C6E8:lI97|H10720F8F8
-10720F8F8:lI116|H107212B98
-107212B98:lI104|H107215F60
-107215F60:lI95|H107219540
-107219540:lI115|H10721CBB0
-10721CBB0:lI99|H1072201C0
-1072201C0:lI97|H107223578
-107223578:lI110|H107226610
-107226610:lI46|H107229318
-107229318:lI98|H10722BC60
-10722BC60:lI101|H10722E2A8
-10722E2A8:lI97|H107230630
-107230630:lI109|N
-1071F2618:lH1071F4970|N
-1071F4970:lI120|H1071F7198
-1071F7198:lI109|H1071F9DF0
-1071F9DF0:lI101|H1071FCD30
-1071FCD30:lI114|H1071FFDE8
-1071FFDE8:lI108|H107202F90
-107202F90:lI95|H1072061C0
-1072061C0:lI115|H107209478
-107209478:lI103|H10720C6D8
-10720C6D8:lI109|H10720F8E8
-10720F8E8:lI108|H107212B88
-107212B88:lI46|H107215F50
-107215F50:lI98|H107219530
-107219530:lI101|H10721CBA0
-10721CBA0:lI97|H1072201B0
-1072201B0:lI109|N
-1071F0E00:lH1071F25F8|N
-1071F25F8:lI120|H1071F4950
-1071F4950:lI109|H1071F7178
-1071F7178:lI101|H1071F9DD0
-1071F9DD0:lI114|H1071FCD10
-1071FCD10:lI108|H1071FFDC8
-1071FFDC8:lI46|H107202F70
-107202F70:lI97|H1072061A0
-1072061A0:lI112|H107209458
-107209458:lI112|H10720C6B8
-10720C6B8:lI117|H10720F8C8
-10720F8C8:lI112|N
-1071F0DE0:Mn3:H1071F25C0,H1071F25D8,H1071F25E8
-1071F25C0:Mn2:H1071F4910,H1071F4920
-1071F4910:lH1071F7138|N
-1071F7138:lI120|H1071F9D90
-1071F9D90:lI109|H1071FCCD0
-1071FCCD0:lI101|H1071FFD88
-1071FFD88:lI114|H107202F30
-107202F30:lI108|H107206160
-107206160:lI95|H107209418
-107209418:lI118|H10720C678
-10720C678:lI97|H10720F888
-10720F888:lI108|H107212B38
-107212B38:lI105|H107215F00
-107215F00:lI100|H1072194E0
-1072194E0:lI97|H10721CB60
-10721CB60:lI116|H107220180
-107220180:lI101|H107223548
-107223548:lI46|H1072265E0
-1072265E0:lI98|H1072292F8
-1072292F8:lI101|H10722BC50
-10722BC50:lI97|H10722E298
-10722E298:lI109|N
-1071F4920:lH1071F7148|N
-1071F7148:lI120|H1071F9DA0
-1071F9DA0:lI109|H1071FCCE0
-1071FCCE0:lI101|H1071FFD98
-1071FFD98:lI114|H107202F40
-107202F40:lI108|H107206170
-107206170:lI95|H107209428
-107209428:lI114|H10720C688
-10720C688:lI101|H10720F898
-10720F898:lI103|H107212B48
-107212B48:lI101|H107215F10
-107215F10:lI120|H1072194F0
-1072194F0:lI112|H10721CB70
-10721CB70:lI46|H107220190
-107220190:lI98|H107223558
-107223558:lI101|H1072265F0
-1072265F0:lI97|H107229308
-107229308:lI109|N
-1071F25E8:lH1071F4940|N
-1071F4940:lI120|H1071F7168
-1071F7168:lI109|H1071F9DC0
-1071F9DC0:lI101|H1071FCD00
-1071FCD00:lI114|H1071FFDB8
-1071FFDB8:lI108|H107202F60
-107202F60:lI95|H107206190
-107206190:lI98|H107209448
-107209448:lI54|H10720C6A8
-10720C6A8:lI52|H10720F8B8
-10720F8B8:lI66|H107212B68
-107212B68:lI105|H107215F30
-107215F30:lI110|H107219510
-107219510:lI46|H10721CB80
-10721CB80:lI98|H1072201A0
-1072201A0:lI101|H107223568
-107223568:lI97|H107226600
-107226600:lI109|N
-1071F25D8:lH1071F4930|N
-1071F4930:lI120|H1071F7158
-1071F7158:lI109|H1071F9DB0
-1071F9DB0:lI101|H1071FCCF0
-1071FCCF0:lI114|H1071FFDA8
-1071FFDA8:lI108|H107202F50
-107202F50:lI95|H107206180
-107206180:lI120|H107209438
-107209438:lI115|H10720C698
-10720C698:lI46|H10720F8A8
-10720F8A8:lI98|H107212B58
-107212B58:lI101|H107215F20
-107215F20:lI97|H107219500
-107219500:lI109|N
-1071F0DC0:Mn3:H1071F2590,H1071F25A0,H1071F25B0
-1071F2590:lH1071F48E0|N
-1071F48E0:lI120|H1071F7108
-1071F7108:lI109|H1071F9D60
-1071F9D60:lI101|H1071FCCA0
-1071FCCA0:lI114|H1071FFD58
-1071FFD58:lI108|H107202F00
-107202F00:lI95|H107206130
-107206130:lI115|H1072093E8
-1072093E8:lI97|H10720C648
-10720C648:lI120|H10720F858
-10720F858:lI95|H107212B08
-107212B08:lI112|H107215ED0
-107215ED0:lI97|H1072194B0
-1072194B0:lI114|H10721CB30
-10721CB30:lI115|H107220150
-107220150:lI101|H107223518
-107223518:lI114|H1072265B0
-1072265B0:lI95|H1072292C8
-1072292C8:lI108|H10722BC20
-10722BC20:lI105|H10722E268
-10722E268:lI115|H107230610
-107230610:lI116|H107232728
-107232728:lI46|H107234520
-107234520:lI98|H107236048
-107236048:lI101|H1072378C0
-1072378C0:lI97|H107238F48
-107238F48:lI109|N
-1071F25B0:lH1071F4900|N
-1071F4900:lI120|H1071F7128
-1071F7128:lI109|H1071F9D80
-1071F9D80:lI101|H1071FCCC0
-1071FCCC0:lI114|H1071FFD78
-1071FFD78:lI108|H107202F20
-107202F20:lI95|H107206150
-107206150:lI120|H107209408
-107209408:lI112|H10720C668
-10720C668:lI97|H10720F878
-10720F878:lI116|H107212B28
-107212B28:lI104|H107215EF0
-107215EF0:lI95|H1072194D0
-1072194D0:lI108|H10721CB50
-10721CB50:lI105|H107220170
-107220170:lI98|H107223538
-107223538:lI46|H1072265D0
-1072265D0:lI98|H1072292E8
-1072292E8:lI101|H10722BC40
-10722BC40:lI97|H10722E288
-10722E288:lI109|N
-1071F25A0:lH1071F48F0|N
-1071F48F0:lI120|H1071F7118
-1071F7118:lI109|H1071F9D70
-1071F9D70:lI101|H1071FCCB0
-1071FCCB0:lI114|H1071FFD68
-1071FFD68:lI108|H107202F10
-107202F10:lI95|H107206140
-107206140:lI115|H1072093F8
-1072093F8:lI97|H10720C658
-10720C658:lI120|H10720F868
-10720F868:lI95|H107212B18
-107212B18:lI112|H107215EE0
-107215EE0:lI97|H1072194C0
-1072194C0:lI114|H10721CB40
-10721CB40:lI115|H107220160
-107220160:lI101|H107223528
-107223528:lI114|H1072265C0
-1072265C0:lI46|H1072292D8
-1072292D8:lI98|H10722BC30
-10722BC30:lI101|H10722E278
-10722E278:lI97|H107230620
-107230620:lI109|N
-1071F0DA8:Mn2:H1071F2568,H1071F2578
-1071F2568:lH1071F48B0|N
-1071F48B0:lI120|H1071F70D8
-1071F70D8:lI109|H1071F9D30
-1071F9D30:lI101|H1071FCC70
-1071FCC70:lI114|H1071FFD28
-1071FFD28:lI108|H107202ED0
-107202ED0:lI95|H107206100
-107206100:lI120|H1072093B8
-1072093B8:lI115|H10720C618
-10720C618:lI100|H10720F828
-10720F828:lI95|H107212AD8
-107212AD8:lI116|H107215EA0
-107215EA0:lI121|H107219480
-107219480:lI112|H10721CB00
-10721CB00:lI101|H107220120
-107220120:lI46|H1072234F8
-1072234F8:lI98|H107226590
-107226590:lI101|H1072292A8
-1072292A8:lI97|H10722BC00
-10722BC00:lI109|N
-1071F2578:Mn2:H1071F48C0,H1071F48D0
-1071F48C0:lH1071F70E8|N
-1071F70E8:lI120|H1071F9D40
-1071F9D40:lI109|H1071FCC80
-1071FCC80:lI101|H1071FFD38
-1071FFD38:lI114|H107202EE0
-107202EE0:lI108|H107206110
-107206110:lI95|H1072093C8
-1072093C8:lI108|H10720C628
-10720C628:lI105|H10720F838
-10720F838:lI98|H107212AE8
-107212AE8:lI46|H107215EB0
-107215EB0:lI98|H107219490
-107219490:lI101|H10721CB10
-10721CB10:lI97|H107220130
-107220130:lI109|N
-1071F48D0:lH1071F70F8|N
-1071F70F8:lI120|H1071F9D50
-1071F9D50:lI109|H1071FCC90
-1071FCC90:lI101|H1071FFD48
-1071FFD48:lI114|H107202EF0
-107202EF0:lI108|H107206120
-107206120:lI95|H1072093D8
-1072093D8:lI115|H10720C638
-10720C638:lI97|H10720F848
-10720F848:lI120|H107212AF8
-107212AF8:lI95|H107215EC0
-107215EC0:lI112|H1072194A0
-1072194A0:lI97|H10721CB20
-10721CB20:lI114|H107220140
-107220140:lI115|H107223508
-107223508:lI101|H1072265A0
-1072265A0:lI114|H1072292B8
-1072292B8:lI95|H10722BC10
-10722BC10:lI117|H10722E258
-10722E258:lI116|H107230600
-107230600:lI102|H107232718
-107232718:lI56|H107234510
-107234510:lI46|H107236038
-107236038:lI98|H1072378B0
-1072378B0:lI101|H107238F38
-107238F38:lI97|H10723A400
-10723A400:lI109|N
-1071F0D88:Mn3:H1071F2538,H1071F2548,H1071F2558
-1071F2538:lH1071F4880|N
-1071F4880:lI120|H1071F70A8
-1071F70A8:lI109|H1071F9D00
-1071F9D00:lI101|H1071FCC40
-1071FCC40:lI114|H1071FFCF8
-1071FFCF8:lI108|H107202EA0
-107202EA0:lI46|H1072060D0
-1072060D0:lI97|H107209388
-107209388:lI112|H10720C5E8
-10720C5E8:lI112|N
-1071F2558:lH1071F48A0|N
-1071F48A0:lI120|H1071F70C8
-1071F70C8:lI109|H1071F9D20
-1071F9D20:lI101|H1071FCC60
-1071FCC60:lI114|H1071FFD18
-1071FFD18:lI108|H107202EC0
-107202EC0:lI95|H1072060F0
-1072060F0:lI117|H1072093A8
-1072093A8:lI99|H10720C608
-10720C608:lI115|H10720F818
-10720F818:lI46|H107212AC8
-107212AC8:lI98|H107215E90
-107215E90:lI101|H107219470
-107219470:lI97|H10721CAF0
-10721CAF0:lI109|N
-1071F2548:lH1071F4890|N
-1071F4890:lI120|H1071F70B8
-1071F70B8:lI109|H1071F9D10
-1071F9D10:lI101|H1071FCC50
-1071FCC50:lI114|H1071FFD08
-1071FFD08:lI108|H107202EB0
-107202EB0:lI95|H1072060E0
-1072060E0:lI115|H107209398
-107209398:lI97|H10720C5F8
-10720C5F8:lI120|H10720F808
-10720F808:lI95|H107212AB8
-107212AB8:lI112|H107215E80
-107215E80:lI97|H107219460
-107219460:lI114|H10721CAE0
-10721CAE0:lI115|H107220110
-107220110:lI101|H1072234E8
-1072234E8:lI114|H107226580
-107226580:lI95|H107229298
-107229298:lI117|H10722BBF0
-10722BBF0:lI116|H10722E248
-10722E248:lI102|H1072305F0
-1072305F0:lI49|H107232708
-107232708:lI54|H107234500
-107234500:lI98|H107236028
-107236028:lI101|H1072378A0
-1072378A0:lI46|H107238F28
-107238F28:lI98|H10723A3F0
-10723A3F0:lI101|H10723B730
-10723B730:lI97|H10723C7F0
-10723C7F0:lI109|N
-1071F0D70:Mn2:H1071F2518,H1071F2528
-1071F2518:lH1071F4860|N
-1071F4860:lI120|H1071F7088
-1071F7088:lI109|H1071F9CE0
-1071F9CE0:lI101|H1071FCC20
-1071FCC20:lI114|H1071FFCD8
-1071FFCD8:lI108|H107202E80
-107202E80:lI95|H1072060B0
-1072060B0:lI120|H107209368
-107209368:lI112|H10720C5C8
-10720C5C8:lI97|H10720F7E8
-10720F7E8:lI116|H107212A98
-107212A98:lI104|H107215E60
-107215E60:lI46|H107219440
-107219440:lI98|H10721CAC0
-10721CAC0:lI101|H1072200F0
-1072200F0:lI97|H1072234C8
-1072234C8:lI109|N
-1071F2528:lH1071F4870|N
-1071F4870:lI120|H1071F7098
-1071F7098:lI109|H1071F9CF0
-1071F9CF0:lI101|H1071FCC30
-1071FCC30:lI114|H1071FFCE8
-1071FFCE8:lI108|H107202E90
-107202E90:lI95|H1072060C0
-1072060C0:lI120|H107209378
-107209378:lI112|H10720C5D8
-10720C5D8:lI97|H10720F7F8
-10720F7F8:lI116|H107212AA8
-107212AA8:lI104|H107215E70
-107215E70:lI95|H107219450
-107219450:lI112|H10721CAD0
-10721CAD0:lI97|H107220100
-107220100:lI114|H1072234D8
-1072234D8:lI115|H107226570
-107226570:lI101|H107229288
-107229288:lI46|H10722BBE0
-10722BBE0:lI98|H10722E238
-10722E238:lI101|H1072305E0
-1072305E0:lI97|H1072326F8
-1072326F8:lI109|N
-1071F0D58:Mn2:H1071F24F8,H1071F2508
-1071F24F8:lH1071F4840|N
-1071F4840:lI120|H1071F7068
-1071F7068:lI109|H1071F9CC0
-1071F9CC0:lI101|H1071FCC00
-1071FCC00:lI114|H1071FFCB8
-1071FFCB8:lI108|H107202E60
-107202E60:lI95|H107206090
-107206090:lI120|H107209348
-107209348:lI109|H10720C5A8
-10720C5A8:lI108|H10720F7C8
-10720F7C8:lI46|H107212A78
-107212A78:lI98|H107215E40
-107215E40:lI101|H107219420
-107219420:lI97|H10721CAA0
-10721CAA0:lI109|N
-1071F2508:lH1071F4850|N
-1071F4850:lI120|H1071F7078
-1071F7078:lI109|H1071F9CD0
-1071F9CD0:lI101|H1071FCC10
-1071FCC10:lI114|H1071FFCC8
-1071FFCC8:lI108|H107202E70
-107202E70:lI95|H1072060A0
-1072060A0:lI116|H107209358
-107209358:lI101|H10720C5B8
-10720C5B8:lI120|H10720F7D8
-10720F7D8:lI116|H107212A88
-107212A88:lI46|H107215E50
-107215E50:lI98|H107219430
-107219430:lI101|H10721CAB0
-10721CAB0:lI97|H1072200E0
-1072200E0:lI109|N
-1071F0D38:Mn3:H1071F24C8,H1071F24D8,H1071F24E8
-1071F24C8:lH1071F4810|N
-1071F4810:lI120|H1071F7038
-1071F7038:lI109|H1071F9C90
-1071F9C90:lI101|H1071FCBD0
-1071FCBD0:lI114|H1071FFC88
-1071FFC88:lI108|H107202E30
-107202E30:lI95|H107206060
-107206060:lI115|H107209318
-107209318:lI97|H10720C578
-10720C578:lI120|H10720F798
-10720F798:lI95|H107212A48
-107212A48:lI112|H107215E10
-107215E10:lI97|H1072193F0
-1072193F0:lI114|H10721CA70
-10721CA70:lI115|H1072200B0
-1072200B0:lI101|H107223498
-107223498:lI114|H107226540
-107226540:lI95|H107229258
-107229258:lI108|H10722BBC0
-10722BBC0:lI97|H10722E218
-10722E218:lI116|H1072305C0
-1072305C0:lI105|H1072326D8
-1072326D8:lI110|H1072344E0
-1072344E0:lI49|H107236008
-107236008:lI46|H107237880
-107237880:lI98|H107238F08
-107238F08:lI101|H10723A3D0
-10723A3D0:lI97|H10723B710
-10723B710:lI109|N
-1071F24E8:lH1071F4830|N
-1071F4830:lI120|H1071F7058
-1071F7058:lI109|H1071F9CB0
-1071F9CB0:lI101|H1071FCBF0
-1071FCBF0:lI114|H1071FFCA8
-1071FFCA8:lI108|H107202E50
-107202E50:lI95|H107206080
-107206080:lI111|H107209338
-107209338:lI116|H10720C598
-10720C598:lI112|H10720F7B8
-10720F7B8:lI115|H107212A68
-107212A68:lI103|H107215E30
-107215E30:lI109|H107219410
-107219410:lI108|H10721CA90
-10721CA90:lI46|H1072200D0
-1072200D0:lI98|H1072234B8
-1072234B8:lI101|H107226560
-107226560:lI97|H107229278
-107229278:lI109|N
-1071F24D8:lH1071F4820|N
-1071F4820:lI120|H1071F7048
-1071F7048:lI109|H1071F9CA0
-1071F9CA0:lI101|H1071FCBE0
-1071FCBE0:lI114|H1071FFC98
-1071FFC98:lI108|H107202E40
-107202E40:lI95|H107206070
-107206070:lI115|H107209328
-107209328:lI97|H10720C588
-10720C588:lI120|H10720F7A8
-10720F7A8:lI95|H107212A58
-107212A58:lI112|H107215E20
-107215E20:lI97|H107219400
-107219400:lI114|H10721CA80
-10721CA80:lI115|H1072200C0
-1072200C0:lI101|H1072234A8
-1072234A8:lI114|H107226550
-107226550:lI95|H107229268
-107229268:lI117|H10722BBD0
-10722BBD0:lI116|H10722E228
-10722E228:lI102|H1072305D0
-1072305D0:lI49|H1072326E8
-1072326E8:lI54|H1072344F0
-1072344F0:lI108|H107236018
-107236018:lI101|H107237890
-107237890:lI46|H107238F18
-107238F18:lI98|H10723A3E0
-10723A3E0:lI101|H10723B720
-10723B720:lI97|H10723C7E0
-10723C7E0:lI109|N
-1071F0D28:lH1071F24B8|N
-1071F24B8:lI120|H1071F4800
-1071F4800:lI109|H1071F7028
-1071F7028:lI101|H1071F9C80
-1071F9C80:lI114|H1071FCBC0
-1071FCBC0:lI108|H1071FFC78
-1071FFC78:lI95|H107202E20
-107202E20:lI115|H107206050
-107206050:lI97|H107209308
-107209308:lI120|H10720C568
-10720C568:lI95|H10720F788
-10720F788:lI111|H107212A38
-107212A38:lI108|H107215E00
-107215E00:lI100|H1072193E0
-1072193E0:lI95|H10721CA60
-10721CA60:lI100|H1072200A0
-1072200A0:lI111|H107223488
-107223488:lI109|H107226530
-107226530:lI46|H107229248
-107229248:lI98|H10722BBB0
-10722BBB0:lI101|H10722E208
-10722E208:lI97|H1072305B0
-1072305B0:lI109|N
-1071F0D18:lH1071F24A8|N
-1071F24A8:lI120|H1071F47F0
-1071F47F0:lI109|H1071F7018
-1071F7018:lI101|H1071F9C70
-1071F9C70:lI114|H1071FCBB0
-1071FCBB0:lI108|H1071FFC68
-1071FFC68:lI95|H107202E10
-107202E10:lI120|H107206040
-107206040:lI115|H1072092F8
-1072092F8:lI100|H10720C558
-10720C558:lI46|H10720F778
-10720F778:lI98|H107212A28
-107212A28:lI101|H107215DF0
-107215DF0:lI97|H1072193D0
-1072193D0:lI109|N
-1071F0D00:Mn2:H1071F2488,H1071F2498
-1071F2488:lH1071F47D0|N
-1071F47D0:lI120|H1071F6FF8
-1071F6FF8:lI109|H1071F9C50
-1071F9C50:lI101|H1071FCB90
-1071FCB90:lI114|H1071FFC48
-1071FFC48:lI108|H107202DF0
-107202DF0:lI95|H107206020
-107206020:lI115|H1072092D8
-1072092D8:lI105|H10720C538
-10720C538:lI109|H10720F758
-10720F758:lI112|H107212A08
-107212A08:lI108|H107215DD0
-107215DD0:lI101|H1072193B0
-1072193B0:lI46|H10721CA40
-10721CA40:lI98|H107220080
-107220080:lI101|H107223468
-107223468:lI97|H107226510
-107226510:lI109|N
-1071F2498:lH1071F47E0|N
-1071F47E0:lI120|H1071F7008
-1071F7008:lI109|H1071F9C60
-1071F9C60:lI101|H1071FCBA0
-1071FCBA0:lI114|H1071FFC58
-1071FFC58:lI108|H107202E00
-107202E00:lI95|H107206030
-107206030:lI98|H1072092E8
-1072092E8:lI54|H10720C548
-10720C548:lI52|H10720F768
-10720F768:lI66|H107212A18
-107212A18:lI105|H107215DE0
-107215DE0:lI110|H1072193C0
-1072193C0:lI95|H10721CA50
-10721CA50:lI115|H107220090
-107220090:lI99|H107223478
-107223478:lI97|H107226520
-107226520:lI110|H107229238
-107229238:lI46|H10722BBA0
-10722BBA0:lI98|H10722E1F8
-10722E1F8:lI101|H1072305A0
-1072305A0:lI97|H1072326C8
-1072326C8:lI109|N
-1071F0CE8:Mn2:H1071F2468,H1071F2478
-1071F2468:lH1071F47B0|N
-1071F47B0:lI120|H1071F6FD8
-1071F6FD8:lI109|H1071F9C30
-1071F9C30:lI101|H1071FCB70
-1071FCB70:lI114|H1071FFC28
-1071FFC28:lI108|H107202DD0
-107202DD0:lI95|H107206000
-107206000:lI120|H1072092B8
-1072092B8:lI108|H10720C518
-10720C518:lI97|H10720F738
-10720F738:lI116|H1072129E8
-1072129E8:lI101|H107215DB0
-107215DB0:lI46|H107219390
-107219390:lI98|H10721CA20
-10721CA20:lI101|H107220060
-107220060:lI97|H107223458
-107223458:lI109|N
-1071F2478:lH1071F47C0|N
-1071F47C0:lI120|H1071F6FE8
-1071F6FE8:lI109|H1071F9C40
-1071F9C40:lI101|H1071FCB80
-1071FCB80:lI114|H1071FFC38
-1071FFC38:lI108|H107202DE0
-107202DE0:lI95|H107206010
-107206010:lI115|H1072092C8
-1072092C8:lI99|H10720C528
-10720C528:lI97|H10720F748
-10720F748:lI110|H1072129F8
-1072129F8:lI46|H107215DC0
-107215DC0:lI98|H1072193A0
-1072193A0:lI101|H10721CA30
-10721CA30:lI97|H107220070
-107220070:lI109|N
-1071F0200:lI47|H1071F0CC8
-1071F0CC8:lI111|H1071F2448
-1071F2448:lI112|H1071F4790
-1071F4790:lI116|H1071F6FB8
-1071F6FB8:lI47|H1071F9C10
-1071F9C10:lI104|H1071FCB50
-1071FCB50:lI111|H1071FFC08
-1071FFC08:lI109|H107202DB0
-107202DB0:lI101|H107205FE0
-107205FE0:lI98|H107209298
-107209298:lI114|H10720C4F8
-10720C4F8:lI101|H10720F718
-10720F718:lI119|H1072129C8
-1072129C8:lI47|H107215D90
-107215D90:lI67|H107219370
-107219370:lI101|H10721CA00
-10721CA00:lI108|H107220040
-107220040:lI108|H107223438
-107223438:lI97|H1072264F0
-1072264F0:lI114|H107229218
-107229218:lI47|H10722BB80
-10722BB80:lI101|H10722E1D8
-10722E1D8:lI114|H107230590
-107230590:lI108|H1072326B8
-1072326B8:lI97|H1072344D0
-1072344D0:lI110|H107235FF8
-107235FF8:lI103|H107237870
-107237870:lI47|H107238EF8
-107238EF8:lI50|H10723A3C0
-10723A3C0:lI54|H10723B700
-10723B700:lI46|H10723C7D0
-10723C7D0:lI48|H10723D690
-10723D690:lI46|H10723E410
-10723E410:lI50|H10723F020
-10723F020:lI47|H10723FAF0
-10723FAF0:lI108|H107240440
-107240440:lI105|H107240CC0
-107240CC0:lI98|H107241450
-107241450:lI47|H107241B80
-107241B80:lI101|H107242250
-107242250:lI114|H1072428C0
-1072428C0:lI108|H107242EC0
-107242EC0:lI97|H107243430
-107243430:lI110|H107243970
-107243970:lI103|H107243E60
-107243E60:lI47|H107244350
-107244350:lI108|H107244800
-107244800:lI105|H107244C70
-107244C70:lI98|H1072450D0
-1072450D0:lI47|H107245520
-107245520:lI120|H107245920
-107245920:lI109|H107245CE0
-107245CE0:lI101|H107246070
-107246070:lI114|H107246400
-107246400:lI108|H107246790
-107246790:lI45|H107246B20
-107246B20:lI49|H107246E60
-107246E60:lI46|H107247180
-107247180:lI51|H1072474A0
-1072474A0:lI46|H1072477B0
-1072477B0:lI51|H107247AB0
-107247AB0:lI50|H107247DA0
-107247DA0:lI47|H280052C20
-10724AEE0:lH10724AF38|H10724AF50
-10724AF38:t2:H1071F02B8,H1071F02C8
-1071F02C8:MhF3:10:H1071F0E88,H1071F0EF8,H1071F0F50,H1071F0FA0,H1071F1000,H1071F1050,H1071F10B0,H1071F1130,H1071F1190,H1071F11E8,H1071F1238,H1071F12A0,H1071F12E8,H1071F1328,H1071F1370,H1071F13C8
-1071F0E88:MnD:H1071F26A8,H1071F26B8,H1071F26C8,H1071F26D8,H1071F26E8,H1071F2700,H1071F2710,H1071F2720,H1071F2738,H1071F2748,H1071F2760,H1071F2780,H1071F2790
-1071F26A8:lH1071F4A00|N
-1071F4A00:lI119|H1071F7228
-1071F7228:lI120|H1071F9E80
-1071F9E80:lI65|H1071FCDC0
-1071FCDC0:lI117|H1071FFE78
-1071FFE78:lI105|H107203020
-107203020:lI68|H107206250
-107206250:lI111|H107209508
-107209508:lI99|H10720C768
-10720C768:lI107|H10720F978
-10720F978:lI65|H107212C08
-107212C08:lI114|H107215FD0
-107215FD0:lI116|H1072195B0
-1072195B0:lI46|H10721CC20
-10721CC20:lI98|H107220230
-107220230:lI101|H1072235D8
-1072235D8:lI97|H107226670
-107226670:lI109|N
-1071F2790:Mn2:H1071F4B10,H1071F4B20
-1071F4B10:lH1071F7338|N
-1071F7338:lI119|H1071F9F90
-1071F9F90:lI120|H1071FCED0
-1071FCED0:lI70|H1071FFF88
-1071FFF88:lI105|H107203130
-107203130:lI108|H107206360
-107206360:lI101|H107209618
-107209618:lI68|H10720C878
-10720C878:lI105|H10720FA88
-10720FA88:lI97|H107212D18
-107212D18:lI108|H1072160D0
-1072160D0:lI111|H1072196A0
-1072196A0:lI103|H10721CD10
-10721CD10:lI46|H107220310
-107220310:lI98|H1072236B8
-1072236B8:lI101|H107226730
-107226730:lI97|H1072293F8
-1072293F8:lI109|N
-1071F4B20:lH1071F7348|N
-1071F7348:lI119|H1071F9FA0
-1071F9FA0:lI120|H1071FCEE0
-1071FCEE0:lI81|H1071FFF98
-1071FFF98:lI117|H107203140
-107203140:lI101|H107206370
-107206370:lI114|H107209628
-107209628:lI121|H10720C888
-10720C888:lI78|H10720FA98
-10720FA98:lI101|H107212D28
-107212D28:lI119|H1072160E0
-1072160E0:lI80|H1072196B0
-1072196B0:lI97|H10721CD20
-10721CD20:lI108|H107220320
-107220320:lI101|H1072236C8
-1072236C8:lI116|H107226740
-107226740:lI116|H107229408
-107229408:lI101|H10722BD30
-10722BD30:lI69|H10722E368
-10722E368:lI118|H1072306D0
-1072306D0:lI101|H1072327C8
-1072327C8:lI110|H107234590
-107234590:lI116|H1072360B8
-1072360B8:lI46|H107237930
-107237930:lI98|H107238F98
-107238F98:lI101|H10723A440
-10723A440:lI97|H10723B770
-10723B770:lI109|N
-1071F2780:lH1071F4B00|N
-1071F4B00:lI119|H1071F7328
-1071F7328:lI120|H1071F9F80
-1071F9F80:lI83|H1071FCEC0
-1071FCEC0:lI97|H1071FFF78
-1071FFF78:lI115|H107203120
-107203120:lI104|H107206350
-107206350:lI87|H107209608
-107209608:lI105|H10720C868
-10720C868:lI110|H10720FA78
-10720FA78:lI100|H107212D08
-107212D08:lI111|H1072160C0
-1072160C0:lI119|H107219690
-107219690:lI46|H10721CD00
-10721CD00:lI98|H107220300
-107220300:lI101|H1072236A8
-1072236A8:lI97|H107226720
-107226720:lI109|N
-1071F2760:Mn3:H1071F4AD0,H1071F4AE0,H1071F4AF0
-1071F4AD0:lH1071F72F8|N
-1071F72F8:lI119|H1071F9F50
-1071F9F50:lI120|H1071FCE90
-1071FCE90:lI80|H1071FFF48
-1071FFF48:lI111|H1072030F0
-1072030F0:lI115|H107206320
-107206320:lI116|H1072095D8
-1072095D8:lI83|H10720C838
-10720C838:lI99|H10720FA48
-10720FA48:lI114|H107212CD8
-107212CD8:lI105|H107216090
-107216090:lI112|H107219660
-107219660:lI116|H10721CCD0
-10721CCD0:lI68|H1072202E0
-1072202E0:lI67|H107223688
-107223688:lI46|H107226700
-107226700:lI98|H1072293D8
-1072293D8:lI101|H10722BD10
-10722BD10:lI97|H10722E348
-10722E348:lI109|N
-1071F4AF0:lH1071F7318|N
-1071F7318:lI119|H1071F9F70
-1071F9F70:lI120|H1071FCEB0
-1071FCEB0:lI87|H1071FFF68
-1071FFF68:lI105|H107203110
-107203110:lI110|H107206340
-107206340:lI100|H1072095F8
-1072095F8:lI111|H10720C858
-10720C858:lI119|H10720FA68
-10720FA68:lI67|H107212CF8
-107212CF8:lI114|H1072160B0
-1072160B0:lI101|H107219680
-107219680:lI97|H10721CCF0
-10721CCF0:lI116|H1072202F0
-1072202F0:lI101|H107223698
-107223698:lI69|H107226710
-107226710:lI118|H1072293E8
-1072293E8:lI101|H10722BD20
-10722BD20:lI110|H10722E358
-10722E358:lI116|H1072306C0
-1072306C0:lI46|H1072327B8
-1072327B8:lI98|H107234580
-107234580:lI101|H1072360A8
-1072360A8:lI97|H107237920
-107237920:lI109|N
-1071F4AE0:lH1071F7308|N
-1071F7308:lI119|H1071F9F60
-1071F9F60:lI120|H1071FCEA0
-1071FCEA0:lI67|H1071FFF58
-1071FFF58:lI117|H107203100
-107203100:lI114|H107206330
-107206330:lI115|H1072095E8
-1072095E8:lI111|H10720C848
-10720C848:lI114|H10720FA58
-10720FA58:lI46|H107212CE8
-107212CE8:lI98|H1072160A0
-1072160A0:lI101|H107219670
-107219670:lI97|H10721CCE0
-10721CCE0:lI109|N
-1071F2748:Mn2:H1071F4AB0,H1071F4AC0
-1071F4AB0:lH1071F72D8|N
-1071F72D8:lI119|H1071F9F30
-1071F9F30:lI120|H1071FCE70
-1071FCE70:lI71|H1071FFF28
-1071FFF28:lI114|H1072030D0
-1072030D0:lI97|H107206300
-107206300:lI112|H1072095B8
-1072095B8:lI104|H10720C818
-10720C818:lI105|H10720FA28
-10720FA28:lI99|H107212CB8
-107212CB8:lI115|H107216070
-107216070:lI80|H107219640
-107219640:lI101|H10721CCB0
-10721CCB0:lI110|H1072202C0
-1072202C0:lI46|H107223668
-107223668:lI98|H1072266F0
-1072266F0:lI101|H1072293C8
-1072293C8:lI97|H10722BD00
-10722BD00:lI109|N
-1071F4AC0:lH1071F72E8|N
-1071F72E8:lI119|H1071F9F40
-1071F9F40:lI120|H1071FCE80
-1071FCE80:lI70|H1071FFF38
-1071FFF38:lI111|H1072030E0
-1072030E0:lI110|H107206310
-107206310:lI116|H1072095C8
-1072095C8:lI68|H10720C828
-10720C828:lI97|H10720FA38
-10720FA38:lI116|H107212CC8
-107212CC8:lI97|H107216080
-107216080:lI46|H107219650
-107219650:lI98|H10721CCC0
-10721CCC0:lI101|H1072202D0
-1072202D0:lI97|H107223678
-107223678:lI109|N
-1071F2738:lH1071F4AA0|N
-1071F4AA0:lI119|H1071F72C8
-1071F72C8:lI120|H1071F9F20
-1071F9F20:lI80|H1071FCE60
-1071FCE60:lI114|H1071FFF18
-1071FFF18:lI105|H1072030C0
-1072030C0:lI110|H1072062F0
-1072062F0:lI116|H1072095A8
-1072095A8:lI68|H10720C808
-10720C808:lI105|H10720FA18
-10720FA18:lI97|H107212CA8
-107212CA8:lI108|H107216060
-107216060:lI111|H107219630
-107219630:lI103|H10721CCA0
-10721CCA0:lI68|H1072202B0
-1072202B0:lI97|H107223658
-107223658:lI116|H1072266E0
-1072266E0:lI97|H1072293B8
-1072293B8:lI46|H10722BCF0
-10722BCF0:lI98|H10722E338
-10722E338:lI101|H1072306B0
-1072306B0:lI97|H1072327A8
-1072327A8:lI109|N
-1071F2720:Mn2:H1071F4A80,H1071F4A90
-1071F4A80:lH1071F72A8|N
-1071F72A8:lI119|H1071F9F00
-1071F9F00:lI120|H1071FCE40
-1071FCE40:lI83|H1071FFEF8
-1071FFEF8:lI116|H1072030A0
-1072030A0:lI97|H1072062D0
-1072062D0:lI116|H107209588
-107209588:lI105|H10720C7E8
-10720C7E8:lI99|H10720F9F8
-10720F9F8:lI66|H107212C88
-107212C88:lI111|H107216040
-107216040:lI120|H107219610
-107219610:lI83|H10721CC80
-10721CC80:lI105|H107220290
-107220290:lI122|H107223638
-107223638:lI101|H1072266C0
-1072266C0:lI114|H107229398
-107229398:lI46|H10722BCD0
-10722BCD0:lI98|H10722E318
-10722E318:lI101|H107230690
-107230690:lI97|H107232788
-107232788:lI109|N
-1071F4A90:lH1071F72B8|N
-1071F72B8:lI119|H1071F9F10
-1071F9F10:lI120|H1071FCE50
-1071FCE50:lI83|H1071FFF08
-1071FFF08:lI101|H1072030B0
-1072030B0:lI116|H1072062E0
-1072062E0:lI67|H107209598
-107209598:lI117|H10720C7F8
-10720C7F8:lI114|H10720FA08
-10720FA08:lI115|H107212C98
-107212C98:lI111|H107216050
-107216050:lI114|H107219620
-107219620:lI69|H10721CC90
-10721CC90:lI118|H1072202A0
-1072202A0:lI101|H107223648
-107223648:lI110|H1072266D0
-1072266D0:lI116|H1072293A8
-1072293A8:lI46|H10722BCE0
-10722BCE0:lI98|H10722E328
-10722E328:lI101|H1072306A0
-1072306A0:lI97|H107232798
-107232798:lI109|N
-1071F2710:lH1071F4A70|N
-1071F4A70:lI119|H1071F7298
-1071F7298:lI120|H1071F9EF0
-1071F9EF0:lI80|H1071FCE30
-1071FCE30:lI97|H1071FFEE8
-1071FFEE8:lI103|H107203090
-107203090:lI101|H1072062C0
-1072062C0:lI83|H107209578
-107209578:lI101|H10720C7D8
-10720C7D8:lI116|H10720F9E8
-10720F9E8:lI117|H107212C78
-107212C78:lI112|H107216030
-107216030:lI68|H107219600
-107219600:lI105|H10721CC70
-10721CC70:lI97|H107220280
-107220280:lI108|H107223628
-107223628:lI111|H1072266B0
-1072266B0:lI103|H107229388
-107229388:lI68|H10722BCC0
-10722BCC0:lI97|H10722E308
-10722E308:lI116|H107230680
-107230680:lI97|H107232778
-107232778:lI46|H107234570
-107234570:lI98|H107236098
-107236098:lI101|H107237910
-107237910:lI97|H107238F88
-107238F88:lI109|N
-1071F2700:lH1071F4A60|N
-1071F4A60:lI119|H1071F7288
-1071F7288:lI120|H1071F9EE0
-1071F9EE0:lI71|H1071FCE20
-1071FCE20:lI66|H1071FFED8
-1071FFED8:lI83|H107203080
-107203080:lI105|H1072062B0
-1072062B0:lI122|H107209568
-107209568:lI101|H10720C7C8
-10720C7C8:lI114|H10720F9D8
-10720F9D8:lI73|H107212C68
-107212C68:lI116|H107216020
-107216020:lI101|H1072195F0
-1072195F0:lI109|H10721CC60
-10721CC60:lI46|H107220270
-107220270:lI98|H107223618
-107223618:lI101|H1072266A0
-1072266A0:lI97|H107229378
-107229378:lI109|N
-1071F26E8:Mn2:H1071F4A40,H1071F4A50
-1071F4A40:lH1071F7268|N
-1071F7268:lI119|H1071F9EC0
-1071F9EC0:lI120|H1071FCE00
-1071FCE00:lI71|H1071FFEB8
-1071FFEB8:lI114|H107203060
-107203060:lI105|H107206290
-107206290:lI100|H107209548
-107209548:lI46|H10720C7A8
-10720C7A8:lI98|H10720F9B8
-10720F9B8:lI101|H107212C48
-107212C48:lI97|H107216000
-107216000:lI109|N
-1071F4A50:lH1071F7278|N
-1071F7278:lI119|H1071F9ED0
-1071F9ED0:lI120|H1071FCE10
-1071FCE10:lI68|H1071FFEC8
-1071FFEC8:lI105|H107203070
-107203070:lI114|H1072062A0
-1072062A0:lI68|H107209558
-107209558:lI105|H10720C7B8
-10720C7B8:lI97|H10720F9C8
-10720F9C8:lI108|H107212C58
-107212C58:lI111|H107216010
-107216010:lI103|H1072195E0
-1072195E0:lI46|H10721CC50
-10721CC50:lI98|H107220260
-107220260:lI101|H107223608
-107223608:lI97|H107226690
-107226690:lI109|N
-1071F26D8:lH1071F4A30|N
-1071F4A30:lI119|H1071F7258
-1071F7258:lI120|H1071F9EB0
-1071F9EB0:lI83|H1071FCDF0
-1071FCDF0:lI116|H1071FFEA8
-1071FFEA8:lI97|H107203050
-107203050:lI116|H107206280
-107206280:lI117|H107209538
-107209538:lI115|H10720C798
-10720C798:lI66|H10720F9A8
-10720F9A8:lI97|H107212C38
-107212C38:lI114|H107215FF0
-107215FF0:lI46|H1072195D0
-1072195D0:lI98|H10721CC40
-10721CC40:lI101|H107220250
-107220250:lI97|H1072235F8
-1072235F8:lI109|N
-1071F26C8:lH1071F4A20|N
-1071F4A20:lI119|H1071F7248
-1071F7248:lI120|H1071F9EA0
-1071F9EA0:lI83|H1071FCDE0
-1071FCDE0:lI121|H1071FFE98
-1071FFE98:lI115|H107203040
-107203040:lI116|H107206270
-107206270:lI101|H107209528
-107209528:lI109|H10720C788
-10720C788:lI79|H10720F998
-10720F998:lI112|H107212C28
-107212C28:lI116|H107215FE0
-107215FE0:lI105|H1072195C0
-1072195C0:lI111|H10721CC30
-10721CC30:lI110|H107220240
-107220240:lI115|H1072235E8
-1072235E8:lI46|H107226680
-107226680:lI98|H107229368
-107229368:lI101|H10722BCB0
-10722BCB0:lI97|H10722E2F8
-10722E2F8:lI109|N
-1071F26B8:lH1071F4A10|N
-1071F4A10:lI119|H1071F7238
-1071F7238:lI120|H1071F9E90
-1071F9E90:lI77|H1071FCDD0
-1071FCDD0:lI101|H1071FFE88
-1071FFE88:lI110|H107203030
-107203030:lI117|H107206260
-107206260:lI46|H107209518
-107209518:lI98|H10720C778
-10720C778:lI101|H10720F988
-10720F988:lI97|H107212C18
-107212C18:lI109|N
-1071F13C8:Mn8:H1071F3270,H1071F3288,H1071F3298,H1071F32A8,H1071F32B8,H1071F32C8,H1071F32D8,H1071F32E8
-1071F3270:Mn2:H1071F5838,H1071F5848
-1071F5838:lH1071F8098|N
-1071F8098:lI119|H1071FACF0
-1071FACF0:lI120|H1071FDC30
-1071FDC30:lI80|H107200CE8
-107200CE8:lI97|H107203E90
-107203E90:lI108|H1072070C0
-1072070C0:lI101|H10720A348
-10720A348:lI116|H10720D5A8
-10720D5A8:lI116|H107210798
-107210798:lI101|H107213A08
-107213A08:lI67|H107216DC0
-107216DC0:lI104|H10721A330
-10721A330:lI97|H10721D900
-10721D900:lI110|H107220E50
-107220E50:lI103|H1072240E8
-1072240E8:lI101|H107227030
-107227030:lI100|H107229BB8
-107229BB8:lI69|H10722C3F0
-10722C3F0:lI118|H10722E938
-10722E938:lI101|H107230BC0
-107230BC0:lI110|H107232BC8
-107232BC8:lI116|H1072348B0
-1072348B0:lI46|H1072362E8
-1072362E8:lI98|H107237AB0
-107237AB0:lI101|H1072390D8
-1072390D8:lI97|H10723A570
-10723A570:lI109|N
-1071F5848:lH1071F80A8|N
-1071F80A8:lI119|H1071FAD00
-1071FAD00:lI120|H1071FDC40
-1071FDC40:lI77|H107200CF8
-107200CF8:lI111|H107203EA0
-107203EA0:lI117|H1072070D0
-1072070D0:lI115|H10720A358
-10720A358:lI101|H10720D5B8
-10720D5B8:lI69|H1072107A8
-1072107A8:lI118|H107213A18
-107213A18:lI101|H107216DD0
-107216DD0:lI110|H10721A340
-10721A340:lI116|H10721D910
-10721D910:lI46|H107220E60
-107220E60:lI98|H1072240F8
-1072240F8:lI101|H107227040
-107227040:lI97|H107229BC8
-107229BC8:lI109|N
-1071F32E8:Mn3:H1071F58C0,H1071F58D0,H1071F58E0
-1071F58C0:lH1071F8128|N
-1071F8128:lI119|H1071FAD80
-1071FAD80:lI120|H1071FDCC0
-1071FDCC0:lI80|H107200D78
-107200D78:lI114|H107203F20
-107203F20:lI111|H107207150
-107207150:lI103|H10720A3D8
-10720A3D8:lI114|H10720D638
-10720D638:lI101|H107210828
-107210828:lI115|H107213A98
-107213A98:lI115|H107216E50
-107216E50:lI68|H10721A3C0
-10721A3C0:lI105|H10721D990
-10721D990:lI97|H107220EE0
-107220EE0:lI108|H107224148
-107224148:lI111|H107227090
-107227090:lI103|H107229BF8
-107229BF8:lI46|H10722C420
-10722C420:lI98|H10722E968
-10722E968:lI101|H107230BF0
-107230BF0:lI97|H107232BE8
-107232BE8:lI109|N
-1071F58E0:lH1071F8148|N
-1071F8148:lI119|H1071FADA0
-1071FADA0:lI120|H1071FDCE0
-1071FDCE0:lI66|H107200D98
-107200D98:lI114|H107203F40
-107203F40:lI117|H107207170
-107207170:lI115|H10720A3F8
-10720A3F8:lI104|H10720D658
-10720D658:lI46|H107210848
-107210848:lI98|H107213AB8
-107213AB8:lI101|H107216E70
-107216E70:lI97|H10721A3E0
-10721A3E0:lI109|N
-1071F58D0:lH1071F8138|N
-1071F8138:lI119|H1071FAD90
-1071FAD90:lI120|H1071FDCD0
-1071FDCD0:lI76|H107200D88
-107200D88:lI105|H107203F30
-107203F30:lI115|H107207160
-107207160:lI116|H10720A3E8
-10720A3E8:lI73|H10720D648
-10720D648:lI116|H107210838
-107210838:lI101|H107213AA8
-107213AA8:lI109|H107216E60
-107216E60:lI65|H10721A3D0
-10721A3D0:lI116|H10721D9A0
-10721D9A0:lI116|H107220EF0
-107220EF0:lI114|H107224158
-107224158:lI46|H1072270A0
-1072270A0:lI98|H107229C08
-107229C08:lI101|H10722C430
-10722C430:lI97|H10722E978
-10722E978:lI109|N
-1071F32D8:Mn1:H1071F58A8
-1071F58A8:Mn2:H1071F8108,H1071F8118
-1071F8108:lH1071FAD60|N
-1071FAD60:lI119|H1071FDCA0
-1071FDCA0:lI120|H107200D58
-107200D58:lI87|H107203F00
-107203F00:lI105|H107207130
-107207130:lI110|H10720A3B8
-10720A3B8:lI100|H10720D618
-10720D618:lI111|H107210808
-107210808:lI119|H107213A78
-107213A78:lI68|H107216E30
-107216E30:lI67|H10721A3A0
-10721A3A0:lI46|H10721D970
-10721D970:lI98|H107220EC0
-107220EC0:lI101|H107224138
-107224138:lI97|H107227080
-107227080:lI109|N
-1071F8118:lH1071FAD70|N
-1071FAD70:lI119|H1071FDCB0
-1071FDCB0:lI120|H107200D68
-107200D68:lI83|H107203F10
-107203F10:lI108|H107207140
-107207140:lI105|H10720A3C8
-10720A3C8:lI100|H10720D628
-10720D628:lI101|H107210818
-107210818:lI114|H107213A88
-107213A88:lI46|H107216E40
-107216E40:lI98|H10721A3B0
-10721A3B0:lI101|H10721D980
-10721D980:lI97|H107220ED0
-107220ED0:lI109|N
-1071F32C8:lH1071F5898|N
-1071F5898:lI119|H1071F80F8
-1071F80F8:lI120|H1071FAD50
-1071FAD50:lI70|H1071FDC90
-1071FDC90:lI105|H107200D48
-107200D48:lI108|H107203EF0
-107203EF0:lI101|H107207120
-107207120:lI68|H10720A3A8
-10720A3A8:lI105|H10720D608
-10720D608:lI114|H1072107F8
-1072107F8:lI80|H107213A68
-107213A68:lI105|H107216E20
-107216E20:lI99|H10721A390
-10721A390:lI107|H10721D960
-10721D960:lI101|H107220EB0
-107220EB0:lI114|H107224128
-107224128:lI69|H107227070
-107227070:lI118|H107229BE8
-107229BE8:lI101|H10722C410
-10722C410:lI110|H10722E958
-10722E958:lI116|H107230BE0
-107230BE0:lI46|H107232BD8
-107232BD8:lI98|H1072348C0
-1072348C0:lI101|H1072362F8
-1072362F8:lI97|H107237AC0
-107237AC0:lI109|N
-1071F32B8:lH1071F5888|N
-1071F5888:lI119|H1071F80E8
-1071F80E8:lI120|H1071FAD40
-1071FAD40:lI84|H1071FDC80
-1071FDC80:lI101|H107200D38
-107200D38:lI120|H107203EE0
-107203EE0:lI116|H107207110
-107207110:lI67|H10720A398
-10720A398:lI116|H10720D5F8
-10720D5F8:lI114|H1072107E8
-1072107E8:lI108|H107213A58
-107213A58:lI46|H107216E10
-107216E10:lI98|H10721A380
-10721A380:lI101|H10721D950
-10721D950:lI97|H107220EA0
-107220EA0:lI109|N
-1071F32A8:lH1071F5878|N
-1071F5878:lI119|H1071F80D8
-1071F80D8:lI120|H1071FAD30
-1071FAD30:lI83|H1071FDC70
-1071FDC70:lI99|H107200D28
-107200D28:lI114|H107203ED0
-107203ED0:lI111|H107207100
-107207100:lI108|H10720A388
-10720A388:lI108|H10720D5E8
-10720D5E8:lI87|H1072107D8
-1072107D8:lI105|H107213A48
-107213A48:lI110|H107216E00
-107216E00:lI69|H10721A370
-10721A370:lI118|H10721D940
-10721D940:lI101|H107220E90
-107220E90:lI110|H107224118
-107224118:lI116|H107227060
-107227060:lI46|H107229BD8
-107229BD8:lI98|H10722C400
-10722C400:lI101|H10722E948
-10722E948:lI97|H107230BD0
-107230BD0:lI109|N
-1071F3298:lH1071F5868|N
-1071F5868:lI119|H1071F80C8
-1071F80C8:lI120|H1071FAD20
-1071FAD20:lI83|H1071FDC60
-1071FDC60:lI116|H107200D18
-107200D18:lI97|H107203EC0
-107203EC0:lI116|H1072070F0
-1072070F0:lI105|H10720A378
-10720A378:lI99|H10720D5D8
-10720D5D8:lI84|H1072107C8
-1072107C8:lI101|H107213A38
-107213A38:lI120|H107216DF0
-107216DF0:lI116|H10721A360
-10721A360:lI46|H10721D930
-10721D930:lI98|H107220E80
-107220E80:lI101|H107224108
-107224108:lI97|H107227050
-107227050:lI109|N
-1071F3288:lH1071F5858|N
-1071F5858:lI119|H1071F80B8
-1071F80B8:lI120|H1071FAD10
-1071FAD10:lI83|H1071FDC50
-1071FDC50:lI112|H107200D08
-107200D08:lI105|H107203EB0
-107203EB0:lI110|H1072070E0
-1072070E0:lI67|H10720A368
-10720A368:lI116|H10720D5C8
-10720D5C8:lI114|H1072107B8
-1072107B8:lI108|H107213A28
-107213A28:lI46|H107216DE0
-107216DE0:lI98|H10721A350
-10721A350:lI101|H10721D920
-10721D920:lI97|H107220E70
-107220E70:lI109|N
-1071F1370:MnA:H1071F31C0,H1071F31D0,H1071F31E0,H1071F31F8,H1071F3210,H1071F3220,H1071F3230,H1071F3240,H1071F3250,H1071F3260
-1071F31C0:lH1071F5770|N
-1071F5770:lI119|H1071F7FC8
-1071F7FC8:lI120|H1071FAC20
-1071FAC20:lI65|H1071FDB60
-1071FDB60:lI117|H107200C18
-107200C18:lI105|H107203DC0
-107203DC0:lI77|H107206FF0
-107206FF0:lI97|H10720A278
-10720A278:lI110|H10720D4D8
-10720D4D8:lI97|H1072106C8
-1072106C8:lI103|H107213938
-107213938:lI101|H107216CF0
-107216CF0:lI114|H10721A260
-10721A260:lI69|H10721D830
-10721D830:lI118|H107220DA0
-107220DA0:lI101|H107224048
-107224048:lI110|H107226FB0
-107226FB0:lI116|H107229B48
-107229B48:lI46|H10722C380
-10722C380:lI98|H10722E8C8
-10722E8C8:lI101|H107230B60
-107230B60:lI97|H107232B78
-107232B78:lI109|N
-1071F3260:lH1071F5828|N
-1071F5828:lI119|H1071F8088
-1071F8088:lI120|H1071FACE0
-1071FACE0:lI67|H1071FDC20
-1071FDC20:lI111|H107200CD8
-107200CD8:lI110|H107203E80
-107203E80:lI116|H1072070B0
-1072070B0:lI114|H10720A338
-10720A338:lI111|H10720D598
-10720D598:lI108|H107210788
-107210788:lI87|H1072139F8
-1072139F8:lI105|H107216DB0
-107216DB0:lI116|H10721A320
-10721A320:lI104|H10721D8F0
-10721D8F0:lI73|H107220E40
-107220E40:lI116|H1072240D8
-1072240D8:lI101|H107227020
-107227020:lI109|H107229BA8
-107229BA8:lI115|H10722C3E0
-10722C3E0:lI46|H10722E928
-10722E928:lI98|H107230BB0
-107230BB0:lI101|H107232BB8
-107232BB8:lI97|H1072348A0
-1072348A0:lI109|N
-1071F3250:lH1071F5818|N
-1071F5818:lI119|H1071F8078
-1071F8078:lI120|H1071FACD0
-1071FACD0:lI76|H1071FDC10
-1071FDC10:lI105|H107200CC8
-107200CC8:lI115|H107203E70
-107203E70:lI116|H1072070A0
-1072070A0:lI67|H10720A328
-10720A328:lI116|H10720D588
-10720D588:lI114|H107210778
-107210778:lI108|H1072139E8
-1072139E8:lI46|H107216DA0
-107216DA0:lI98|H10721A310
-10721A310:lI101|H10721D8E0
-10721D8E0:lI97|H107220E30
-107220E30:lI109|N
-1071F3240:lH1071F5808|N
-1071F5808:lI119|H1071F8068
-1071F8068:lI120|H1071FACC0
-1071FACC0:lI84|H1071FDC00
-1071FDC00:lI111|H107200CB8
-107200CB8:lI111|H107203E60
-107203E60:lI108|H107207090
-107207090:lI66|H10720A318
-10720A318:lI97|H10720D578
-10720D578:lI114|H107210768
-107210768:lI46|H1072139D8
-1072139D8:lI98|H107216D90
-107216D90:lI101|H10721A300
-10721A300:lI97|H10721D8D0
-10721D8D0:lI109|N
-1071F3230:Mn1:H1071F57F0
-1071F57F0:Mn2:H1071F8048,H1071F8058
-1071F8048:lH1071FACA0|N
-1071FACA0:lI119|H1071FDBE0
-1071FDBE0:lI120|H107200C98
-107200C98:lI82|H107203E40
-107203E40:lI97|H107207070
-107207070:lI100|H10720A2F8
-10720A2F8:lI105|H10720D558
-10720D558:lI111|H107210748
-107210748:lI66|H1072139B8
-1072139B8:lI117|H107216D70
-107216D70:lI116|H10721A2E0
-10721A2E0:lI116|H10721D8B0
-10721D8B0:lI111|H107220E20
-107220E20:lI110|H1072240C8
-1072240C8:lI46|H107227010
-107227010:lI98|H107229B98
-107229B98:lI101|H10722C3D0
-10722C3D0:lI97|H10722E918
-10722E918:lI109|N
-1071F8058:lH1071FACB0|N
-1071FACB0:lI119|H1071FDBF0
-1071FDBF0:lI120|H107200CA8
-107200CA8:lI69|H107203E50
-107203E50:lI118|H107207080
-107207080:lI101|H10720A308
-10720A308:lI110|H10720D568
-10720D568:lI116|H107210758
-107210758:lI46|H1072139C8
-1072139C8:lI98|H107216D80
-107216D80:lI101|H10721A2F0
-10721A2F0:lI97|H10721D8C0
-10721D8C0:lI109|N
-1071F3220:lH1071F57E0|N
-1071F57E0:lI119|H1071F8038
-1071F8038:lI120|H1071FAC90
-1071FAC90:lI71|H1071FDBD0
-1071FDBD0:lI114|H107200C88
-107200C88:lI105|H107203E30
-107203E30:lI100|H107207060
-107207060:lI67|H10720A2E8
-10720A2E8:lI101|H10720D548
-10720D548:lI108|H107210738
-107210738:lI108|H1072139A8
-1072139A8:lI67|H107216D60
-107216D60:lI104|H10721A2D0
-10721A2D0:lI111|H10721D8A0
-10721D8A0:lI105|H107220E10
-107220E10:lI99|H1072240B8
-1072240B8:lI101|H107227000
-107227000:lI69|H107229B88
-107229B88:lI100|H10722C3C0
-10722C3C0:lI105|H10722E908
-10722E908:lI116|H107230BA0
-107230BA0:lI111|H107232BA8
-107232BA8:lI114|H107234890
-107234890:lI46|H1072362D8
-1072362D8:lI98|H107237AA0
-107237AA0:lI101|H1072390C8
-1072390C8:lI97|H10723A560
-10723A560:lI109|N
-1071F3210:lH1071F57D0|N
-1071F57D0:lI119|H1071F8028
-1071F8028:lI120|H1071FAC80
-1071FAC80:lI87|H1071FDBC0
-1071FDBC0:lI105|H107200C78
-107200C78:lI110|H107203E20
-107203E20:lI100|H107207050
-107207050:lI111|H10720A2D8
-10720A2D8:lI119|H10720D538
-10720D538:lI68|H107210728
-107210728:lI101|H107213998
-107213998:lI115|H107216D50
-107216D50:lI116|H10721A2C0
-10721A2C0:lI114|H10721D890
-10721D890:lI111|H107220E00
-107220E00:lI121|H1072240A8
-1072240A8:lI69|H107226FF0
-107226FF0:lI118|H107229B78
-107229B78:lI101|H10722C3B0
-10722C3B0:lI110|H10722E8F8
-10722E8F8:lI116|H107230B90
-107230B90:lI46|H107232B98
-107232B98:lI98|H107234880
-107234880:lI101|H1072362C8
-1072362C8:lI97|H107237A90
-107237A90:lI109|N
-1071F31F8:Mn2:H1071F57B0,H1071F57C0
-1071F57B0:lH1071F8008|N
-1071F8008:lI119|H1071FAC60
-1071FAC60:lI120|H1071FDBA0
-1071FDBA0:lI83|H107200C58
-107200C58:lI105|H107203E00
-107203E00:lI122|H107207030
-107207030:lI101|H10720A2B8
-10720A2B8:lI114|H10720D518
-10720D518:lI73|H107210708
-107210708:lI116|H107213978
-107213978:lI101|H107216D30
-107216D30:lI109|H10721A2A0
-10721A2A0:lI46|H10721D870
-10721D870:lI98|H107220DE0
-107220DE0:lI101|H107224088
-107224088:lI97|H107226FE0
-107226FE0:lI109|N
-1071F57C0:lH1071F8018|N
-1071F8018:lI119|H1071FAC70
-1071FAC70:lI120|H1071FDBB0
-1071FDBB0:lI75|H107200C68
-107200C68:lI101|H107203E10
-107203E10:lI121|H107207040
-107207040:lI69|H10720A2C8
-10720A2C8:lI118|H10720D528
-10720D528:lI101|H107210718
-107210718:lI110|H107213988
-107213988:lI116|H107216D40
-107216D40:lI46|H10721A2B0
-10721A2B0:lI98|H10721D880
-10721D880:lI101|H107220DF0
-107220DF0:lI97|H107224098
-107224098:lI109|N
-1071F31E0:Mn2:H1071F5790,H1071F57A0
-1071F5790:lH1071F7FE8|N
-1071F7FE8:lI119|H1071FAC40
-1071FAC40:lI120|H1071FDB80
-1071FDB80:lI71|H107200C38
-107200C38:lI114|H107203DE0
-107203DE0:lI105|H107207010
-107207010:lI100|H10720A298
-10720A298:lI67|H10720D4F8
-10720D4F8:lI101|H1072106E8
-1072106E8:lI108|H107213958
-107213958:lI108|H107216D10
-107216D10:lI70|H10721A280
-10721A280:lI108|H10721D850
-10721D850:lI111|H107220DC0
-107220DC0:lI97|H107224068
-107224068:lI116|H107226FC0
-107226FC0:lI69|H107229B58
-107229B58:lI100|H10722C390
-10722C390:lI105|H10722E8D8
-10722E8D8:lI116|H107230B70
-107230B70:lI111|H107232B88
-107232B88:lI114|H107234870
-107234870:lI46|H1072362B8
-1072362B8:lI98|H107237A80
-107237A80:lI101|H1072390B8
-1072390B8:lI97|H10723A550
-10723A550:lI109|N
-1071F57A0:lH1071F7FF8|N
-1071F7FF8:lI119|H1071FAC50
-1071FAC50:lI120|H1071FDB90
-1071FDB90:lI65|H107200C48
-107200C48:lI99|H107203DF0
-107203DF0:lI116|H107207020
-107207020:lI105|H10720A2A8
-10720A2A8:lI118|H10720D508
-10720D508:lI97|H1072106F8
-1072106F8:lI116|H107213968
-107213968:lI101|H107216D20
-107216D20:lI69|H10721A290
-10721A290:lI118|H10721D860
-10721D860:lI101|H107220DD0
-107220DD0:lI110|H107224078
-107224078:lI116|H107226FD0
-107226FD0:lI46|H107229B68
-107229B68:lI98|H10722C3A0
-10722C3A0:lI101|H10722E8E8
-10722E8E8:lI97|H107230B80
-107230B80:lI109|N
-1071F31D0:lH1071F5780|N
-1071F5780:lI119|H1071F7FD8
-1071F7FD8:lI120|H1071FAC30
-1071FAC30:lI68|H1071FDB70
-1071FDB70:lI97|H107200C28
-107200C28:lI116|H107203DD0
-107203DD0:lI101|H107207000
-107207000:lI69|H10720A288
-10720A288:lI118|H10720D4E8
-10720D4E8:lI101|H1072106D8
-1072106D8:lI110|H107213948
-107213948:lI116|H107216D00
-107216D00:lI46|H10721A270
-10721A270:lI98|H10721D840
-10721D840:lI101|H107220DB0
-107220DB0:lI97|H107224058
-107224058:lI109|N
-1071F1328:Mn8:H1071F3118,H1071F3130,H1071F3150,H1071F3168,H1071F3178,H1071F3188,H1071F3198,H1071F31A8
-1071F3118:Mn2:H1071F56A0,H1071F56B0
-1071F56A0:lH1071F7EF8|N
-1071F7EF8:lI119|H1071FAB50
-1071FAB50:lI120|H1071FDA90
-1071FDA90:lI83|H107200B48
-107200B48:lI112|H107203CF0
-107203CF0:lI105|H107206F20
-107206F20:lI110|H10720A1A8
-10720A1A8:lI66|H10720D408
-10720D408:lI117|H1072105F8
-1072105F8:lI116|H107213878
-107213878:lI116|H107216C30
-107216C30:lI111|H10721A1B0
-10721A1B0:lI110|H10721D780
-10721D780:lI46|H107220CF0
-107220CF0:lI98|H107223FA8
-107223FA8:lI101|H107226F10
-107226F10:lI97|H107229AA8
-107229AA8:lI109|N
-1071F56B0:lH1071F7F08|N
-1071F7F08:lI119|H1071FAB60
-1071FAB60:lI120|H1071FDAA0
-1071FDAA0:lI67|H107200B58
-107200B58:lI111|H107203D00
-107203D00:lI110|H107206F30
-107206F30:lI116|H10720A1B8
-10720A1B8:lI114|H10720D418
-10720D418:lI111|H107210608
-107210608:lI108|H107213888
-107213888:lI46|H107216C40
-107216C40:lI98|H10721A1C0
-10721A1C0:lI101|H10721D790
-10721D790:lI97|H107220D00
-107220D00:lI109|N
-1071F31A8:Mn2:H1071F5750,H1071F5760
-1071F5750:lH1071F7FA8|N
-1071F7FA8:lI119|H1071FAC00
-1071FAC00:lI120|H1071FDB40
-1071FDB40:lI66|H107200BF8
-107200BF8:lI105|H107203DA0
-107203DA0:lI116|H107206FD0
-107206FD0:lI109|H10720A258
-10720A258:lI97|H10720D4B8
-10720D4B8:lI112|H1072106A8
-1072106A8:lI66|H107213918
-107213918:lI117|H107216CD0
-107216CD0:lI116|H10721A240
-10721A240:lI116|H10721D810
-10721D810:lI111|H107220D80
-107220D80:lI110|H107224028
-107224028:lI46|H107226F90
-107226F90:lI98|H107229B28
-107229B28:lI101|H10722C360
-10722C360:lI97|H10722E8A8
-10722E8A8:lI109|N
-1071F5760:lH1071F7FB8|N
-1071F7FB8:lI119|H1071FAC10
-1071FAC10:lI120|H1071FDB50
-1071FDB50:lI66|H107200C08
-107200C08:lI111|H107203DB0
-107203DB0:lI111|H107206FE0
-107206FE0:lI107|H10720A268
-10720A268:lI67|H10720D4C8
-10720D4C8:lI116|H1072106B8
-1072106B8:lI114|H107213928
-107213928:lI108|H107216CE0
-107216CE0:lI66|H10721A250
-10721A250:lI97|H10721D820
-10721D820:lI115|H107220D90
-107220D90:lI101|H107224038
-107224038:lI46|H107226FA0
-107226FA0:lI98|H107229B38
-107229B38:lI101|H10722C370
-10722C370:lI97|H10722E8B8
-10722E8B8:lI109|N
-1071F3198:lH1071F5740|N
-1071F5740:lI119|H1071F7F98
-1071F7F98:lI120|H1071FABF0
-1071FABF0:lI73|H1071FDB30
-1071FDB30:lI99|H107200BE8
-107200BE8:lI111|H107203D90
-107203D90:lI110|H107206FC0
-107206FC0:lI105|H10720A248
-10720A248:lI122|H10720D4A8
-10720D4A8:lI101|H107210698
-107210698:lI69|H107213908
-107213908:lI118|H107216CC0
-107216CC0:lI101|H10721A230
-10721A230:lI110|H10721D800
-10721D800:lI116|H107220D70
-107220D70:lI46|H107224018
-107224018:lI98|H107226F80
-107226F80:lI101|H107229B18
-107229B18:lI97|H10722C350
-10722C350:lI109|N
-1071F3188:lH1071F5730|N
-1071F5730:lI119|H1071F7F88
-1071F7F88:lI120|H1071FABE0
-1071FABE0:lI77|H1071FDB20
-1071FDB20:lI111|H107200BD8
-107200BD8:lI117|H107203D80
-107203D80:lI115|H107206FB0
-107206FB0:lI101|H10720A238
-10720A238:lI67|H10720D498
-10720D498:lI97|H107210688
-107210688:lI112|H1072138F8
-1072138F8:lI116|H107216CB0
-107216CB0:lI117|H10721A220
-10721A220:lI114|H10721D7F0
-10721D7F0:lI101|H107220D60
-107220D60:lI76|H107224008
-107224008:lI111|H107226F70
-107226F70:lI115|H107229B08
-107229B08:lI116|H10722C340
-10722C340:lI69|H10722E898
-10722E898:lI118|H107230B50
-107230B50:lI101|H107232B68
-107232B68:lI110|H107234860
-107234860:lI116|H1072362A8
-1072362A8:lI46|H107237A70
-107237A70:lI98|H1072390A8
-1072390A8:lI101|H10723A540
-10723A540:lI97|H10723B830
-10723B830:lI109|N
-1071F3178:lH1071F5720|N
-1071F5720:lI119|H1071F7F78
-1071F7F78:lI120|H1071FABD0
-1071FABD0:lI73|H1071FDB10
-1071FDB10:lI109|H107200BC8
-107200BC8:lI97|H107203D70
-107203D70:lI103|H107206FA0
-107206FA0:lI101|H10720A228
-10720A228:lI46|H10720D488
-10720D488:lI98|H107210678
-107210678:lI101|H1072138E8
-1072138E8:lI97|H107216CA0
-107216CA0:lI109|N
-1071F3168:lH1071F5710|N
-1071F5710:lI119|H1071F7F68
-1071F7F68:lI120|H1071FABC0
-1071FABC0:lI80|H1071FDB00
-1071FDB00:lI97|H107200BB8
-107200BB8:lI103|H107203D60
-107203D60:lI101|H107206F90
-107206F90:lI83|H10720A218
-10720A218:lI101|H10720D478
-10720D478:lI116|H107210668
-107210668:lI117|H1072138D8
-1072138D8:lI112|H107216C90
-107216C90:lI68|H10721A210
-10721A210:lI105|H10721D7E0
-10721D7E0:lI97|H107220D50
-107220D50:lI108|H107223FF8
-107223FF8:lI111|H107226F60
-107226F60:lI103|H107229AF8
-107229AF8:lI46|H10722C330
-10722C330:lI98|H10722E888
-10722E888:lI101|H107230B40
-107230B40:lI97|H107232B58
-107232B58:lI109|N
-1071F3150:Mn2:H1071F56F0,H1071F5700
-1071F56F0:lH1071F7F48|N
-1071F7F48:lI119|H1071FABA0
-1071FABA0:lI120|H1071FDAE0
-1071FDAE0:lI68|H107200B98
-107200B98:lI97|H107203D40
-107203D40:lI116|H107206F70
-107206F70:lI97|H10720A1F8
-10720A1F8:lI79|H10720D458
-10720D458:lI98|H107210648
-107210648:lI106|H1072138B8
-1072138B8:lI101|H107216C70
-107216C70:lI99|H10721A1F0
-10721A1F0:lI116|H10721D7C0
-10721D7C0:lI46|H107220D30
-107220D30:lI98|H107223FD8
-107223FD8:lI101|H107226F40
-107226F40:lI97|H107229AD8
-107229AD8:lI109|N
-1071F5700:lH1071F7F58|N
-1071F7F58:lI119|H1071FABB0
-1071FABB0:lI120|H1071FDAF0
-1071FDAF0:lI71|H107200BA8
-107200BA8:lI114|H107203D50
-107203D50:lI105|H107206F80
-107206F80:lI100|H10720A208
-10720A208:lI67|H10720D468
-10720D468:lI101|H107210658
-107210658:lI108|H1072138C8
-1072138C8:lI108|H107216C80
-107216C80:lI82|H10721A200
-10721A200:lI101|H10721D7D0
-10721D7D0:lI110|H107220D40
-107220D40:lI100|H107223FE8
-107223FE8:lI101|H107226F50
-107226F50:lI114|H107229AE8
-107229AE8:lI101|H10722C320
-10722C320:lI114|H10722E878
-10722E878:lI46|H107230B30
-107230B30:lI98|H107232B48
-107232B48:lI101|H107234850
-107234850:lI97|H107236298
-107236298:lI109|N
-1071F3130:Mn3:H1071F56C0,H1071F56D0,H1071F56E0
-1071F56C0:lH1071F7F18|N
-1071F7F18:lI119|H1071FAB70
-1071FAB70:lI120|H1071FDAB0
-1071FDAB0:lI67|H107200B68
-107200B68:lI111|H107203D10
-107203D10:lI110|H107206F40
-107206F40:lI116|H10720A1C8
-10720A1C8:lI101|H10720D428
-10720D428:lI120|H107210618
-107210618:lI116|H107213898
-107213898:lI77|H107216C50
-107216C50:lI101|H10721A1D0
-10721A1D0:lI110|H10721D7A0
-10721D7A0:lI117|H107220D10
-107220D10:lI69|H107223FB8
-107223FB8:lI118|H107226F20
-107226F20:lI101|H107229AB8
-107229AB8:lI110|H10722C300
-10722C300:lI116|H10722E858
-10722E858:lI46|H107230B10
-107230B10:lI98|H107232B28
-107232B28:lI101|H107234830
-107234830:lI97|H107236278
-107236278:lI109|N
-1071F56E0:lH1071F7F38|N
-1071F7F38:lI119|H1071FAB90
-1071FAB90:lI120|H1071FDAD0
-1071FDAD0:lI68|H107200B88
-107200B88:lI67|H107203D30
-107203D30:lI46|H107206F60
-107206F60:lI98|H10720A1E8
-10720A1E8:lI101|H10720D448
-10720D448:lI97|H107210638
-107210638:lI109|N
-1071F56D0:lH1071F7F28|N
-1071F7F28:lI119|H1071FAB80
-1071FAB80:lI120|H1071FDAC0
-1071FDAC0:lI71|H107200B78
-107200B78:lI114|H107203D20
-107203D20:lI97|H107206F50
-107206F50:lI112|H10720A1D8
-10720A1D8:lI104|H10720D438
-10720D438:lI105|H107210628
-107210628:lI99|H1072138A8
-1072138A8:lI115|H107216C60
-107216C60:lI71|H10721A1E0
-10721A1E0:lI114|H10721D7B0
-10721D7B0:lI97|H107220D20
-107220D20:lI100|H107223FC8
-107223FC8:lI105|H107226F30
-107226F30:lI101|H107229AC8
-107229AC8:lI110|H10722C310
-10722C310:lI116|H10722E868
-10722E868:lI83|H107230B20
-107230B20:lI116|H107232B38
-107232B38:lI111|H107234840
-107234840:lI112|H107236288
-107236288:lI115|H107237A60
-107237A60:lI46|H107239098
-107239098:lI98|H10723A530
-10723A530:lI101|H10723B820
-10723B820:lI97|H10723C880
-10723C880:lI109|N
-1071F12E8:Mn7:H1071F3088,H1071F30A0,H1071F30B0,H1071F30C0,H1071F30D8,H1071F30E8,H1071F3100
-1071F3088:Mn2:H1071F55F0,H1071F5600
-1071F55F0:lH1071F7E48|N
-1071F7E48:lI119|H1071FAAA0
-1071FAAA0:lI120|H1071FD9E0
-1071FD9E0:lI80|H107200A98
-107200A98:lI111|H107203C40
-107203C40:lI112|H107206E70
-107206E70:lI117|H10720A0F8
-10720A0F8:lI112|H10720D358
-10720D358:lI87|H107210548
-107210548:lI105|H1072137C8
-1072137C8:lI110|H107216B80
-107216B80:lI100|H10721A100
-10721A100:lI111|H10721D6E0
-10721D6E0:lI119|H107220C50
-107220C50:lI46|H107223F18
-107223F18:lI98|H107226EA0
-107226EA0:lI101|H107229A38
-107229A38:lI97|H10722C2A0
-10722C2A0:lI109|N
-1071F5600:lH1071F7E58|N
-1071F7E58:lI119|H1071FAAB0
-1071FAAB0:lI120|H1071FD9F0
-1071FD9F0:lI67|H107200AA8
-107200AA8:lI104|H107203C50
-107203C50:lI111|H107206E80
-107206E80:lI105|H10720A108
-10720A108:lI99|H10720D368
-10720D368:lI101|H107210558
-107210558:lI98|H1072137D8
-1072137D8:lI111|H107216B90
-107216B90:lI111|H10721A110
-10721A110:lI107|H10721D6F0
-10721D6F0:lI46|H107220C60
-107220C60:lI98|H107223F28
-107223F28:lI101|H107226EB0
-107226EB0:lI97|H107229A48
-107229A48:lI109|N
-1071F3100:Mn2:H1071F5680,H1071F5690
-1071F5680:lH1071F7ED8|N
-1071F7ED8:lI119|H1071FAB30
-1071FAB30:lI120|H1071FDA70
-1071FDA70:lI66|H107200B28
-107200B28:lI117|H107203CD0
-107203CD0:lI102|H107206F00
-107206F00:lI102|H10720A188
-10720A188:lI101|H10720D3E8
-10720D3E8:lI114|H1072105D8
-1072105D8:lI101|H107213858
-107213858:lI100|H107216C10
-107216C10:lI80|H10721A190
-10721A190:lI97|H10721D760
-10721D760:lI105|H107220CD0
-107220CD0:lI110|H107223F88
-107223F88:lI116|H107226EF0
-107226EF0:lI68|H107229A88
-107229A88:lI67|H10722C2E0
-10722C2E0:lI46|H10722E838
-10722E838:lI98|H107230AF0
-107230AF0:lI101|H107232B18
-107232B18:lI97|H107234820
-107234820:lI109|N
-1071F5690:lH1071F7EE8|N
-1071F7EE8:lI119|H1071FAB40
-1071FAB40:lI120|H1071FDA80
-1071FDA80:lI72|H107200B38
-107200B38:lI116|H107203CE0
-107203CE0:lI109|H107206F10
-107206F10:lI108|H10720A198
-10720A198:lI76|H10720D3F8
-10720D3F8:lI105|H1072105E8
-1072105E8:lI110|H107213868
-107213868:lI107|H107216C20
-107216C20:lI69|H10721A1A0
-10721A1A0:lI118|H10721D770
-10721D770:lI101|H107220CE0
-107220CE0:lI110|H107223F98
-107223F98:lI116|H107226F00
-107226F00:lI46|H107229A98
-107229A98:lI98|H10722C2F0
-10722C2F0:lI101|H10722E848
-10722E848:lI97|H107230B00
-107230B00:lI109|N
-1071F30E8:Mn2:H1071F5660,H1071F5670
-1071F5660:lH1071F7EB8|N
-1071F7EB8:lI119|H1071FAB10
-1071FAB10:lI120|H1071FDA50
-1071FDA50:lI67|H107200B08
-107200B08:lI104|H107203CB0
-107203CB0:lI101|H107206EE0
-107206EE0:lI99|H10720A168
-10720A168:lI107|H10720D3C8
-10720D3C8:lI66|H1072105B8
-1072105B8:lI111|H107213838
-107213838:lI120|H107216BF0
-107216BF0:lI46|H10721A170
-10721A170:lI98|H10721D750
-10721D750:lI101|H107220CC0
-107220CC0:lI97|H107223F78
-107223F78:lI109|N
-1071F5670:lH1071F7EC8|N
-1071F7EC8:lI119|H1071FAB20
-1071FAB20:lI120|H1071FDA60
-1071FDA60:lI95|H107200B18
-107200B18:lI109|H107203CC0
-107203CC0:lI105|H107206EF0
-107206EF0:lI115|H10720A178
-10720A178:lI99|H10720D3D8
-10720D3D8:lI46|H1072105C8
-1072105C8:lI98|H107213848
-107213848:lI101|H107216C00
-107216C00:lI97|H10721A180
-10721A180:lI109|N
-1071F30D8:lH1071F5650|N
-1071F5650:lI119|H1071F7EA8
-1071F7EA8:lI120|H1071FAB00
-1071FAB00:lI84|H1071FDA40
-1071FDA40:lI101|H107200AF8
-107200AF8:lI120|H107203CA0
-107203CA0:lI116|H107206ED0
-107206ED0:lI65|H10720A158
-10720A158:lI116|H10720D3B8
-10720D3B8:lI116|H1072105A8
-1072105A8:lI114|H107213828
-107213828:lI46|H107216BE0
-107216BE0:lI98|H10721A160
-10721A160:lI101|H10721D740
-10721D740:lI97|H107220CB0
-107220CB0:lI109|N
-1071F30C0:Mn2:H1071F5630,H1071F5640
-1071F5630:lH1071F7E88|N
-1071F7E88:lI119|H1071FAAE0
-1071FAAE0:lI120|H1071FDA20
-1071FDA20:lI84|H107200AD8
-107200AD8:lI111|H107203C80
-107203C80:lI111|H107206EB0
-107206EB0:lI108|H10720A138
-10720A138:lI98|H10720D398
-10720D398:lI111|H107210588
-107210588:lI111|H107213808
-107213808:lI107|H107216BC0
-107216BC0:lI46|H10721A140
-10721A140:lI98|H10721D720
-10721D720:lI101|H107220C90
-107220C90:lI97|H107223F58
-107223F58:lI109|N
-1071F5640:lH1071F7E98|N
-1071F7E98:lI119|H1071FAAF0
-1071FAAF0:lI120|H1071FDA30
-1071FDA30:lI66|H107200AE8
-107200AE8:lI105|H107203C90
-107203C90:lI116|H107206EC0
-107206EC0:lI109|H10720A148
-10720A148:lI97|H10720D3A8
-10720D3A8:lI112|H107210598
-107210598:lI68|H107213818
-107213818:lI97|H107216BD0
-107216BD0:lI116|H10721A150
-10721A150:lI97|H10721D730
-10721D730:lI79|H107220CA0
-107220CA0:lI98|H107223F68
-107223F68:lI106|H107226EE0
-107226EE0:lI101|H107229A78
-107229A78:lI99|H10722C2D0
-10722C2D0:lI116|H10722E828
-10722E828:lI46|H107230AE0
-107230AE0:lI98|H107232B08
-107232B08:lI101|H107234810
-107234810:lI97|H107236268
-107236268:lI109|N
-1071F30B0:lH1071F5620|N
-1071F5620:lI119|H1071F7E78
-1071F7E78:lI120|H1071FAAD0
-1071FAAD0:lI70|H1071FDA10
-1071FDA10:lI105|H107200AC8
-107200AC8:lI108|H107203C70
-107203C70:lI101|H107206EA0
-107206EA0:lI68|H10720A128
-10720A128:lI97|H10720D388
-10720D388:lI116|H107210578
-107210578:lI97|H1072137F8
-1072137F8:lI79|H107216BB0
-107216BB0:lI98|H10721A130
-10721A130:lI106|H10721D710
-10721D710:lI101|H107220C80
-107220C80:lI99|H107223F48
-107223F48:lI116|H107226ED0
-107226ED0:lI46|H107229A68
-107229A68:lI98|H10722C2C0
-10722C2C0:lI101|H10722E818
-10722E818:lI97|H107230AD0
-107230AD0:lI109|N
-1071F30A0:lH1071F5610|N
-1071F5610:lI119|H1071F7E68
-1071F7E68:lI120|H1071FAAC0
-1071FAAC0:lI80|H1071FDA00
-1071FDA00:lI114|H107200AB8
-107200AB8:lI105|H107203C60
-107203C60:lI110|H107206E90
-107206E90:lI116|H10720A118
-10720A118:lI80|H10720D378
-10720D378:lI114|H107210568
-107210568:lI101|H1072137E8
-1072137E8:lI118|H107216BA0
-107216BA0:lI105|H10721A120
-10721A120:lI101|H10721D700
-10721D700:lI119|H107220C70
-107220C70:lI46|H107223F38
-107223F38:lI98|H107226EC0
-107226EC0:lI101|H107229A58
-107229A58:lI97|H10722C2B0
-10722C2B0:lI109|N
-1071F12A0:Mn8:H1071F2FF0,H1071F3008,H1071F3018,H1071F3030,H1071F3040,H1071F3050,H1071F3060,H1071F3070
-1071F2FF0:Mn2:H1071F5530,H1071F5540
-1071F5530:lH1071F7D78|N
-1071F7D78:lI119|H1071FA9D0
-1071FA9D0:lI120|H1071FD910
-1071FD910:lI83|H1072009C8
-1072009C8:lI97|H107203B70
-107203B70:lI115|H107206DA0
-107206DA0:lI104|H10720A038
-10720A038:lI69|H10720D298
-10720D298:lI118|H107210488
-107210488:lI101|H107213708
-107213708:lI110|H107216AC0
-107216AC0:lI116|H10721A040
-10721A040:lI46|H10721D620
-10721D620:lI98|H107220BB0
-107220BB0:lI101|H107223E78
-107223E78:lI97|H107226E10
-107226E10:lI109|N
-1071F5540:lH1071F7D88|N
-1071F7D88:lI119|H1071FA9E0
-1071FA9E0:lI120|H1071FD920
-1071FD920:lI71|H1072009D8
-1072009D8:lI114|H107203B80
-107203B80:lI97|H107206DB0
-107206DB0:lI112|H10720A048
-10720A048:lI104|H10720D2A8
-10720D2A8:lI105|H107210498
-107210498:lI99|H107213718
-107213718:lI115|H107216AD0
-107216AD0:lI82|H10721A050
-10721A050:lI101|H10721D630
-10721D630:lI110|H107220BC0
-107220BC0:lI100|H107223E88
-107223E88:lI101|H107226E20
-107226E20:lI114|H1072299B8
-1072299B8:lI101|H10722C230
-10722C230:lI114|H10722E7A8
-10722E7A8:lI46|H107230A60
-107230A60:lI98|H107232AA8
-107232AA8:lI101|H1072347D0
-1072347D0:lI97|H107236248
-107236248:lI109|N
-1071F3070:Mn2:H1071F55D0,H1071F55E0
-1071F55D0:lH1071F7E28|N
-1071F7E28:lI119|H1071FAA80
-1071FAA80:lI120|H1071FD9C0
-1071FD9C0:lI69|H107200A78
-107200A78:lI114|H107203C20
-107203C20:lI97|H107206E50
-107206E50:lI115|H10720A0D8
-10720A0D8:lI101|H10720D338
-10720D338:lI69|H107210528
-107210528:lI118|H1072137A8
-1072137A8:lI101|H107216B60
-107216B60:lI110|H10721A0E0
-10721A0E0:lI116|H10721D6C0
-10721D6C0:lI46|H107220C40
-107220C40:lI98|H107223F08
-107223F08:lI101|H107226E90
-107226E90:lI97|H107229A28
-107229A28:lI109|N
-1071F55E0:lH1071F7E38|N
-1071F7E38:lI119|H1071FAA90
-1071FAA90:lI120|H1071FD9D0
-1071FD9D0:lI68|H107200A88
-107200A88:lI105|H107203C30
-107203C30:lI97|H107206E60
-107206E60:lI108|H10720A0E8
-10720A0E8:lI111|H10720D348
-10720D348:lI103|H107210538
-107210538:lI46|H1072137B8
-1072137B8:lI98|H107216B70
-107216B70:lI101|H10721A0F0
-10721A0F0:lI97|H10721D6D0
-10721D6D0:lI109|N
-1071F3060:lH1071F55C0|N
-1071F55C0:lI119|H1071F7E18
-1071F7E18:lI120|H1071FAA70
-1071FAA70:lI68|H1071FD9B0
-1071FD9B0:lI114|H107200A68
-107200A68:lI111|H107203C10
-107203C10:lI112|H107206E40
-107206E40:lI70|H10720A0C8
-10720A0C8:lI105|H10720D328
-10720D328:lI108|H107210518
-107210518:lI101|H107213798
-107213798:lI115|H107216B50
-107216B50:lI69|H10721A0D0
-10721A0D0:lI118|H10721D6B0
-10721D6B0:lI101|H107220C30
-107220C30:lI110|H107223EF8
-107223EF8:lI116|H107226E80
-107226E80:lI46|H107229A18
-107229A18:lI98|H10722C290
-10722C290:lI101|H10722E808
-10722E808:lI97|H107230AC0
-107230AC0:lI109|N
-1071F3050:lH1071F55B0|N
-1071F55B0:lI119|H1071F7E08
-1071F7E08:lI120|H1071FAA60
-1071FAA60:lI46|H1071FD9A0
-1071FD9A0:lI98|H107200A58
-107200A58:lI101|H107203C00
-107203C00:lI97|H107206E30
-107206E30:lI109|N
-1071F3040:lH1071F55A0|N
-1071F55A0:lI119|H1071F7DF8
-1071F7DF8:lI120|H1071FAA50
-1071FAA50:lI73|H1071FD990
-1071FD990:lI110|H107200A48
-107200A48:lI105|H107203BF0
-107203BF0:lI116|H107206E20
-107206E20:lI68|H10720A0B8
-10720A0B8:lI105|H10720D318
-10720D318:lI97|H107210508
-107210508:lI108|H107213788
-107213788:lI111|H107216B40
-107216B40:lI103|H10721A0C0
-10721A0C0:lI69|H10721D6A0
-10721D6A0:lI118|H107220C20
-107220C20:lI101|H107223EE8
-107223EE8:lI110|H107226E70
-107226E70:lI116|H107229A08
-107229A08:lI46|H10722C280
-10722C280:lI98|H10722E7F8
-10722E7F8:lI101|H107230AB0
-107230AB0:lI97|H107232AF8
-107232AF8:lI109|N
-1071F3030:lH1071F5590|N
-1071F5590:lI119|H1071F7DE8
-1071F7DE8:lI120|H1071FAA40
-1071FAA40:lI73|H1071FD980
-1071FD980:lI109|H107200A38
-107200A38:lI97|H107203BE0
-107203BE0:lI103|H107206E10
-107206E10:lI101|H10720A0A8
-10720A0A8:lI76|H10720D308
-10720D308:lI105|H1072104F8
-1072104F8:lI115|H107213778
-107213778:lI116|H107216B30
-107216B30:lI46|H10721A0B0
-10721A0B0:lI98|H10721D690
-10721D690:lI101|H107220C10
-107220C10:lI97|H107223ED8
-107223ED8:lI109|N
-1071F3018:Mn2:H1071F5560,H1071F5578
-1071F5560:Mn2:H1071F7DA8,H1071F7DB8
-1071F7DA8:lH1071FAA00|N
-1071FAA00:lI119|H1071FD940
-1071FD940:lI120|H1072009F8
-1072009F8:lI68|H107203BA0
-107203BA0:lI97|H107206DD0
-107206DD0:lI116|H10720A068
-10720A068:lI101|H10720D2C8
-10720D2C8:lI80|H1072104B8
-1072104B8:lI105|H107213738
-107213738:lI99|H107216AF0
-107216AF0:lI107|H10721A070
-10721A070:lI101|H10721D650
-10721D650:lI114|H107220BD0
-107220BD0:lI67|H107223E98
-107223E98:lI116|H107226E30
-107226E30:lI114|H1072299C8
-1072299C8:lI108|H10722C240
-10722C240:lI46|H10722E7B8
-10722E7B8:lI98|H107230A70
-107230A70:lI101|H107232AB8
-107232AB8:lI97|H1072347E0
-1072347E0:lI109|N
-1071F7DB8:lH1071FAA10|N
-1071FAA10:lI119|H1071FD950
-1071FD950:lI120|H107200A08
-107200A08:lI80|H107203BB0
-107203BB0:lI114|H107206DE0
-107206DE0:lI101|H10720A078
-10720A078:lI118|H10720D2D8
-10720D2D8:lI105|H1072104C8
-1072104C8:lI101|H107213748
-107213748:lI119|H107216B00
-107216B00:lI67|H10721A080
-10721A080:lI97|H10721D660
-10721D660:lI110|H107220BE0
-107220BE0:lI118|H107223EA8
-107223EA8:lI97|H107226E40
-107226E40:lI115|H1072299D8
-1072299D8:lI46|H10722C250
-10722C250:lI98|H10722E7C8
-10722E7C8:lI101|H107230A80
-107230A80:lI97|H107232AC8
-107232AC8:lI109|N
-1071F5578:Mn2:H1071F7DC8,H1071F7DD8
-1071F7DC8:lH1071FAA20|N
-1071FAA20:lI119|H1071FD960
-1071FD960:lI120|H107200A18
-107200A18:lI71|H107203BC0
-107203BC0:lI114|H107206DF0
-107206DF0:lI105|H10720A088
-10720A088:lI100|H10720D2E8
-10720D2E8:lI67|H1072104D8
-1072104D8:lI101|H107213758
-107213758:lI108|H107216B10
-107216B10:lI108|H10721A090
-10721A090:lI84|H10721D670
-10721D670:lI101|H107220BF0
-107220BF0:lI120|H107223EB8
-107223EB8:lI116|H107226E50
-107226E50:lI69|H1072299E8
-1072299E8:lI100|H10722C260
-10722C260:lI105|H10722E7D8
-10722E7D8:lI116|H107230A90
-107230A90:lI111|H107232AD8
-107232AD8:lI114|H1072347F0
-1072347F0:lI46|H107236258
-107236258:lI98|H107237A50
-107237A50:lI101|H107239088
-107239088:lI97|H10723A520
-10723A520:lI109|N
-1071F7DD8:lH1071FAA30|N
-1071FAA30:lI119|H1071FD970
-1071FD970:lI120|H107200A28
-107200A28:lI83|H107203BD0
-107203BD0:lI112|H107206E00
-107206E00:lI108|H10720A098
-10720A098:lI105|H10720D2F8
-10720D2F8:lI116|H1072104E8
-1072104E8:lI116|H107213768
-107213768:lI101|H107216B20
-107216B20:lI114|H10721A0A0
-10721A0A0:lI87|H10721D680
-10721D680:lI105|H107220C00
-107220C00:lI110|H107223EC8
-107223EC8:lI100|H107226E60
-107226E60:lI111|H1072299F8
-1072299F8:lI119|H10722C270
-10722C270:lI46|H10722E7E8
-10722E7E8:lI98|H107230AA0
-107230AA0:lI101|H107232AE8
-107232AE8:lI97|H107234800
-107234800:lI109|N
-1071F3008:lH1071F5550|N
-1071F5550:lI119|H1071F7D98
-1071F7D98:lI120|H1071FA9F0
-1071FA9F0:lI79|H1071FD930
-1071FD930:lI118|H1072009E8
-1072009E8:lI101|H107203B90
-107203B90:lI114|H107206DC0
-107206DC0:lI108|H10720A058
-10720A058:lI97|H10720D2B8
-10720D2B8:lI121|H1072104A8
-1072104A8:lI46|H107213728
-107213728:lI98|H107216AE0
-107216AE0:lI101|H10721A060
-10721A060:lI97|H10721D640
-10721D640:lI109|N
-1071F1238:MnC:H1071F2F00,H1071F2F10,H1071F2F20,H1071F2F30,H1071F2F50,H1071F2F60,H1071F2F78,H1071F2F90,H1071F2FA8,H1071F2FB8,H1071F2FD0,H1071F2FE0
-1071F2F00:lH1071F5408|N
-1071F5408:lI119|H1071F7C48
-1071F7C48:lI120|H1071FA8A0
-1071FA8A0:lI71|H1071FD7E0
-1071FD7E0:lI114|H107200898
-107200898:lI105|H107203A40
-107203A40:lI100|H107206C70
-107206C70:lI67|H107209F08
-107209F08:lI101|H10720D168
-10720D168:lI108|H107210358
-107210358:lI108|H1072135D8
-1072135D8:lI65|H107216990
-107216990:lI116|H107219F10
-107219F10:lI116|H10721D500
-10721D500:lI114|H107220A90
-107220A90:lI46|H107223D68
-107223D68:lI98|H107226D20
-107226D20:lI101|H107229918
-107229918:lI97|H10722C1A0
-10722C1A0:lI109|N
-1071F2FE0:lH1071F5520|N
-1071F5520:lI119|H1071F7D68
-1071F7D68:lI120|H1071FA9C0
-1071FA9C0:lI67|H1071FD900
-1071FD900:lI97|H1072009B8
-1072009B8:lI108|H107203B60
-107203B60:lI101|H107206D90
-107206D90:lI110|H10720A028
-10720A028:lI100|H10720D288
-10720D288:lI97|H107210478
-107210478:lI114|H1072136F8
-1072136F8:lI69|H107216AB0
-107216AB0:lI118|H10721A030
-10721A030:lI101|H10721D610
-10721D610:lI110|H107220BA0
-107220BA0:lI116|H107223E68
-107223E68:lI46|H107226E00
-107226E00:lI98|H1072299A8
-1072299A8:lI101|H10722C220
-10722C220:lI97|H10722E798
-10722E798:lI109|N
-1071F2FD0:lH1071F5510|N
-1071F5510:lI119|H1071F7D58
-1071F7D58:lI120|H1071FA9B0
-1071FA9B0:lI83|H1071FD8F0
-1071FD8F0:lI99|H1072009A8
-1072009A8:lI114|H107203B50
-107203B50:lI111|H107206D80
-107206D80:lI108|H10720A018
-10720A018:lI108|H10720D278
-10720D278:lI66|H107210468
-107210468:lI97|H1072136E8
-1072136E8:lI114|H107216AA0
-107216AA0:lI46|H10721A020
-10721A020:lI98|H10721D600
-10721D600:lI101|H107220B90
-107220B90:lI97|H107223E58
-107223E58:lI109|N
-1071F2FB8:Mn2:H1071F54F0,H1071F5500
-1071F54F0:lH1071F7D38|N
-1071F7D38:lI119|H1071FA990
-1071FA990:lI120|H1071FD8D0
-1071FD8D0:lI71|H107200988
-107200988:lI114|H107203B30
-107203B30:lI97|H107206D60
-107206D60:lI112|H107209FF8
-107209FF8:lI104|H10720D258
-10720D258:lI105|H107210448
-107210448:lI99|H1072136C8
-1072136C8:lI115|H107216A80
-107216A80:lI79|H10721A000
-10721A000:lI98|H10721D5E0
-10721D5E0:lI106|H107220B70
-107220B70:lI101|H107223E38
-107223E38:lI99|H107226DE0
-107226DE0:lI116|H107229988
-107229988:lI46|H10722C200
-10722C200:lI98|H10722E778
-10722E778:lI101|H107230A50
-107230A50:lI97|H107232A98
-107232A98:lI109|N
-1071F5500:lH1071F7D48|N
-1071F7D48:lI119|H1071FA9A0
-1071FA9A0:lI120|H1071FD8E0
-1071FD8E0:lI84|H107200998
-107200998:lI111|H107203B40
-107203B40:lI103|H107206D70
-107206D70:lI103|H10720A008
-10720A008:lI108|H10720D268
-10720D268:lI101|H107210458
-107210458:lI66|H1072136D8
-1072136D8:lI117|H107216A90
-107216A90:lI116|H10721A010
-10721A010:lI116|H10721D5F0
-10721D5F0:lI111|H107220B80
-107220B80:lI110|H107223E48
-107223E48:lI46|H107226DF0
-107226DF0:lI98|H107229998
-107229998:lI101|H10722C210
-10722C210:lI97|H10722E788
-10722E788:lI109|N
-1071F2FA8:lH1071F54E0|N
-1071F54E0:lI119|H1071F7D28
-1071F7D28:lI120|H1071FA980
-1071FA980:lI76|H1071FD8C0
-1071FD8C0:lI105|H107200978
-107200978:lI115|H107203B20
-107203B20:lI116|H107206D50
-107206D50:lI86|H107209FE8
-107209FE8:lI105|H10720D248
-10720D248:lI101|H107210438
-107210438:lI119|H1072136B8
-1072136B8:lI46|H107216A70
-107216A70:lI98|H107219FF0
-107219FF0:lI101|H10721D5D0
-10721D5D0:lI97|H107220B60
-107220B60:lI109|N
-1071F2F90:Mn2:H1071F54C0,H1071F54D0
-1071F54C0:lH1071F7D08|N
-1071F7D08:lI119|H1071FA960
-1071FA960:lI120|H1071FD8A0
-1071FD8A0:lI88|H107200958
-107200958:lI109|H107203B00
-107203B00:lI108|H107206D30
-107206D30:lI82|H107209FC8
-107209FC8:lI101|H10720D228
-10720D228:lI115|H107210418
-107210418:lI111|H107213698
-107213698:lI117|H107216A50
-107216A50:lI114|H107219FD0
-107219FD0:lI99|H10721D5B0
-10721D5B0:lI101|H107220B40
-107220B40:lI46|H107223E18
-107223E18:lI98|H107226DD0
-107226DD0:lI101|H107229978
-107229978:lI97|H10722C1F0
-10722C1F0:lI109|N
-1071F54D0:lH1071F7D18|N
-1071F7D18:lI119|H1071FA970
-1071FA970:lI120|H1071FD8B0
-1071FD8B0:lI76|H107200968
-107200968:lI105|H107203B10
-107203B10:lI115|H107206D40
-107206D40:lI116|H107209FD8
-107209FD8:lI98|H10720D238
-10720D238:lI111|H107210428
-107210428:lI111|H1072136A8
-1072136A8:lI107|H107216A60
-107216A60:lI46|H107219FE0
-107219FE0:lI98|H10721D5C0
-10721D5C0:lI101|H107220B50
-107220B50:lI97|H107223E28
-107223E28:lI109|N
-1071F2F78:Mn2:H1071F54A0,H1071F54B0
-1071F54A0:lH1071F7CE8|N
-1071F7CE8:lI119|H1071FA940
-1071FA940:lI120|H1071FD880
-1071FD880:lI73|H107200938
-107200938:lI100|H107203AE0
-107203AE0:lI108|H107206D10
-107206D10:lI101|H107209FA8
-107209FA8:lI69|H10720D208
-10720D208:lI118|H1072103F8
-1072103F8:lI101|H107213678
-107213678:lI110|H107216A30
-107216A30:lI116|H107219FB0
-107219FB0:lI46|H10721D590
-10721D590:lI98|H107220B20
-107220B20:lI101|H107223DF8
-107223DF8:lI97|H107226DB0
-107226DB0:lI109|N
-1071F54B0:lH1071F7CF8|N
-1071F7CF8:lI119|H1071FA950
-1071FA950:lI120|H1071FD890
-1071FD890:lI70|H107200948
-107200948:lI111|H107203AF0
-107203AF0:lI110|H107206D20
-107206D20:lI116|H107209FB8
-107209FB8:lI80|H10720D218
-10720D218:lI105|H107210408
-107210408:lI99|H107213688
-107213688:lI107|H107216A40
-107216A40:lI101|H107219FC0
-107219FC0:lI114|H10721D5A0
-10721D5A0:lI69|H107220B30
-107220B30:lI118|H107223E08
-107223E08:lI101|H107226DC0
-107226DC0:lI110|H107229968
-107229968:lI116|H10722C1E0
-10722C1E0:lI46|H10722E768
-10722E768:lI98|H107230A40
-107230A40:lI101|H107232A88
-107232A88:lI97|H1072347C0
-1072347C0:lI109|N
-1071F2F60:Mn2:H1071F5480,H1071F5490
-1071F5480:lH1071F7CC8|N
-1071F7CC8:lI119|H1071FA920
-1071FA920:lI120|H1071FD860
-1071FD860:lI84|H107200918
-107200918:lI114|H107203AC0
-107203AC0:lI101|H107206CF0
-107206CF0:lI101|H107209F88
-107209F88:lI69|H10720D1E8
-10720D1E8:lI118|H1072103D8
-1072103D8:lI101|H107213658
-107213658:lI110|H107216A10
-107216A10:lI116|H107219F90
-107219F90:lI46|H10721D570
-10721D570:lI98|H107220B00
-107220B00:lI101|H107223DD8
-107223DD8:lI97|H107226D90
-107226D90:lI109|N
-1071F5490:lH1071F7CD8|N
-1071F7CD8:lI119|H1071FA930
-1071FA930:lI120|H1071FD870
-1071FD870:lI83|H107200928
-107200928:lI105|H107203AD0
-107203AD0:lI122|H107206D00
-107206D00:lI101|H107209F98
-107209F98:lI69|H10720D1F8
-10720D1F8:lI118|H1072103E8
-1072103E8:lI101|H107213668
-107213668:lI110|H107216A20
-107216A20:lI116|H107219FA0
-107219FA0:lI46|H10721D580
-10721D580:lI98|H107220B10
-107220B10:lI101|H107223DE8
-107223DE8:lI97|H107226DA0
-107226DA0:lI109|N
-1071F2F50:lH1071F5470|N
-1071F5470:lI119|H1071F7CB8
-1071F7CB8:lI120|H1071FA910
-1071FA910:lI70|H1071FD850
-1071FD850:lI105|H107200908
-107200908:lI110|H107203AB0
-107203AB0:lI100|H107206CE0
-107206CE0:lI82|H107209F78
-107209F78:lI101|H10720D1D8
-10720D1D8:lI112|H1072103C8
-1072103C8:lI108|H107213648
-107213648:lI97|H107216A00
-107216A00:lI99|H107219F80
-107219F80:lI101|H10721D560
-10721D560:lI68|H107220AF0
-107220AF0:lI105|H107223DC8
-107223DC8:lI97|H107226D80
-107226D80:lI108|H107229958
-107229958:lI111|H10722C1D0
-10722C1D0:lI103|H10722E758
-10722E758:lI46|H107230A30
-107230A30:lI98|H107232A78
-107232A78:lI101|H1072347B0
-1072347B0:lI97|H107236238
-107236238:lI109|N
-1071F2F30:Mn3:H1071F5440,H1071F5450,H1071F5460
-1071F5440:lH1071F7C88|N
-1071F7C88:lI119|H1071FA8E0
-1071FA8E0:lI120|H1071FD820
-1071FD820:lI80|H1072008D8
-1072008D8:lI114|H107203A80
-107203A80:lI105|H107206CB0
-107206CB0:lI110|H107209F48
-107209F48:lI116|H10720D1A8
-10720D1A8:lI68|H107210398
-107210398:lI97|H107213618
-107213618:lI116|H1072169D0
-1072169D0:lI97|H107219F50
-107219F50:lI46|H10721D530
-10721D530:lI98|H107220AC0
-107220AC0:lI101|H107223D98
-107223D98:lI97|H107226D50
-107226D50:lI109|N
-1071F5460:lH1071F7CA8|N
-1071F7CA8:lI119|H1071FA900
-1071FA900:lI120|H1071FD840
-1071FD840:lI84|H1072008F8
-1072008F8:lI97|H107203AA0
-107203AA0:lI115|H107206CD0
-107206CD0:lI107|H107209F68
-107209F68:lI66|H10720D1C8
-10720D1C8:lI97|H1072103B8
-1072103B8:lI114|H107213638
-107213638:lI73|H1072169F0
-1072169F0:lI99|H107219F70
-107219F70:lI111|H10721D550
-10721D550:lI110|H107220AE0
-107220AE0:lI46|H107223DB8
-107223DB8:lI98|H107226D70
-107226D70:lI101|H107229948
-107229948:lI97|H10722C1C0
-10722C1C0:lI109|N
-1071F5450:lH1071F7C98|N
-1071F7C98:lI119|H1071FA8F0
-1071FA8F0:lI120|H1071FD830
-1071FD830:lI70|H1072008E8
-1072008E8:lI111|H107203A90
-107203A90:lI99|H107206CC0
-107206CC0:lI117|H107209F58
-107209F58:lI115|H10720D1B8
-10720D1B8:lI69|H1072103A8
-1072103A8:lI118|H107213628
-107213628:lI101|H1072169E0
-1072169E0:lI110|H107219F60
-107219F60:lI116|H10721D540
-10721D540:lI46|H107220AD0
-107220AD0:lI98|H107223DA8
-107223DA8:lI101|H107226D60
-107226D60:lI97|H107229938
-107229938:lI109|N
-1071F2F20:Mn1:H1071F5428
-1071F5428:Mn2:H1071F7C68,H1071F7C78
-1071F7C68:lH1071FA8C0|N
-1071FA8C0:lI119|H1071FD800
-1071FD800:lI120|H1072008B8
-1072008B8:lI67|H107203A60
-107203A60:lI108|H107206C90
-107206C90:lI105|H107209F28
-107209F28:lI112|H10720D188
-10720D188:lI98|H107210378
-107210378:lI111|H1072135F8
-1072135F8:lI97|H1072169B0
-1072169B0:lI114|H107219F30
-107219F30:lI100|H10721D510
-10721D510:lI84|H107220AA0
-107220AA0:lI101|H107223D78
-107223D78:lI120|H107226D30
-107226D30:lI116|H107229928
-107229928:lI69|H10722C1B0
-10722C1B0:lI118|H10722E748
-10722E748:lI101|H107230A20
-107230A20:lI110|H107232A68
-107232A68:lI116|H1072347A0
-1072347A0:lI46|H107236228
-107236228:lI98|H107237A40
-107237A40:lI101|H107239078
-107239078:lI97|H10723A510
-10723A510:lI109|N
-1071F7C78:lH1071FA8D0|N
-1071FA8D0:lI119|H1071FD810
-1071FD810:lI120|H1072008C8
-1072008C8:lI76|H107203A70
-107203A70:lI105|H107206CA0
-107206CA0:lI115|H107209F38
-107209F38:lI116|H10720D198
-10720D198:lI73|H107210388
-107210388:lI116|H107213608
-107213608:lI101|H1072169C0
-1072169C0:lI109|H107219F40
-107219F40:lI46|H10721D520
-10721D520:lI98|H107220AB0
-107220AB0:lI101|H107223D88
-107223D88:lI97|H107226D40
-107226D40:lI109|N
-1071F2F10:lH1071F5418|N
-1071F5418:lI119|H1071F7C58
-1071F7C58:lI120|H1071FA8B0
-1071FA8B0:lI66|H1071FD7F0
-1071FD7F0:lI117|H1072008A8
-1072008A8:lI116|H107203A50
-107203A50:lI116|H107206C80
-107206C80:lI111|H107209F18
-107209F18:lI110|H10720D178
-10720D178:lI46|H107210368
-107210368:lI98|H1072135E8
-1072135E8:lI101|H1072169A0
-1072169A0:lI97|H107219F20
-107219F20:lI109|N
-1071F11E8:Mn9:H1071F2E40,H1071F2E50,H1071F2E60,H1071F2E78,H1071F2EA0,H1071F2EB0,H1071F2EC0,H1071F2ED8,H1071F2EF0
-1071F2E40:lH1071F5318|N
-1071F5318:lI119|H1071F7B58
-1071F7B58:lI120|H1071FA7B0
-1071FA7B0:lI83|H1071FD6F0
-1071FD6F0:lI121|H1072007A8
-1072007A8:lI115|H107203950
-107203950:lI67|H107206B80
-107206B80:lI111|H107209E28
-107209E28:lI108|H10720D088
-10720D088:lI111|H107210288
-107210288:lI117|H107213508
-107213508:lI114|H1072168C0
-1072168C0:lI67|H107219E40
-107219E40:lI104|H10721D430
-10721D430:lI97|H1072209D0
-1072209D0:lI110|H107223CB8
-107223CB8:lI103|H107226C80
-107226C80:lI101|H107229878
-107229878:lI100|H10722C100
-10722C100:lI69|H10722E6C8
-10722E6C8:lI118|H1072309B0
-1072309B0:lI101|H107232A18
-107232A18:lI110|H107234760
-107234760:lI116|H1072361E8
-1072361E8:lI46|H107237A10
-107237A10:lI98|H107239048
-107239048:lI101|H10723A4E0
-10723A4E0:lI97|H10723B800
-10723B800:lI109|N
-1071F2EF0:lH1071F53F8|N
-1071F53F8:lI119|H1071F7C38
-1071F7C38:lI120|H1071FA890
-1071FA890:lI71|H1071FD7D0
-1071FD7D0:lI114|H107200888
-107200888:lI97|H107203A30
-107203A30:lI112|H107206C60
-107206C60:lI104|H107209EF8
-107209EF8:lI105|H10720D158
-10720D158:lI99|H107210348
-107210348:lI115|H1072135C8
-1072135C8:lI70|H107216980
-107216980:lI111|H107219F00
-107219F00:lI110|H10721D4F0
-10721D4F0:lI116|H107220A80
-107220A80:lI46|H107223D58
-107223D58:lI98|H107226D10
-107226D10:lI101|H107229908
-107229908:lI97|H10722C190
-10722C190:lI109|N
-1071F2ED8:Mn2:H1071F53D8,H1071F53E8
-1071F53D8:lH1071F7C18|N
-1071F7C18:lI119|H1071FA870
-1071FA870:lI120|H1071FD7B0
-1071FD7B0:lI46|H107200868
-107200868:lI97|H107203A10
-107203A10:lI112|H107206C40
-107206C40:lI112|N
-1071F53E8:lH1071F7C28|N
-1071F7C28:lI119|H1071FA880
-1071FA880:lI120|H1071FD7C0
-1071FD7C0:lI78|H107200878
-107200878:lI111|H107203A20
-107203A20:lI116|H107206C50
-107206C50:lI105|H107209EE8
-107209EE8:lI102|H10720D148
-10720D148:lI105|H107210338
-107210338:lI99|H1072135B8
-1072135B8:lI97|H107216970
-107216970:lI116|H107219EF0
-107219EF0:lI105|H10721D4E0
-10721D4E0:lI111|H107220A70
-107220A70:lI110|H107223D48
-107223D48:lI77|H107226D00
-107226D00:lI101|H1072298F8
-1072298F8:lI115|H10722C180
-10722C180:lI115|H10722E738
-10722E738:lI97|H107230A10
-107230A10:lI103|H107232A58
-107232A58:lI101|H107234790
-107234790:lI46|H107236218
-107236218:lI98|H107237A30
-107237A30:lI101|H107239068
-107239068:lI97|H10723A500
-10723A500:lI109|N
-1071F2EC0:Mn2:H1071F53B8,H1071F53C8
-1071F53B8:lH1071F7BF8|N
-1071F7BF8:lI119|H1071FA850
-1071FA850:lI120|H1071FD790
-1071FD790:lI82|H107200848
-107200848:lI101|H1072039F0
-1072039F0:lI103|H107206C20
-107206C20:lI105|H107209EC8
-107209EC8:lI111|H10720D128
-10720D128:lI110|H107210318
-107210318:lI46|H107213598
-107213598:lI98|H107216950
-107216950:lI101|H107219ED0
-107219ED0:lI97|H10721D4C0
-10721D4C0:lI109|N
-1071F53C8:lH1071F7C08|N
-1071F7C08:lI119|H1071FA860
-1071FA860:lI120|H1071FD7A0
-1071FD7A0:lI67|H107200858
-107200858:lI111|H107203A00
-107203A00:lI108|H107206C30
-107206C30:lI111|H107209ED8
-107209ED8:lI117|H10720D138
-10720D138:lI114|H107210328
-107210328:lI68|H1072135A8
-1072135A8:lI105|H107216960
-107216960:lI97|H107219EE0
-107219EE0:lI108|H10721D4D0
-10721D4D0:lI111|H107220A60
-107220A60:lI103|H107223D38
-107223D38:lI46|H107226CF0
-107226CF0:lI98|H1072298E8
-1072298E8:lI101|H10722C170
-10722C170:lI97|H10722E728
-10722E728:lI109|N
-1071F2EB0:lH1071F53A8|N
-1071F53A8:lI119|H1071F7BE8
-1071F7BE8:lI120|H1071FA840
-1071FA840:lI68|H1071FD780
-1071FD780:lI67|H107200838
-107200838:lI79|H1072039E0
-1072039E0:lI118|H107206C10
-107206C10:lI101|H107209EB8
-107209EB8:lI114|H10720D118
-10720D118:lI108|H107210308
-107210308:lI97|H107213588
-107213588:lI121|H107216940
-107216940:lI46|H107219EC0
-107219EC0:lI98|H10721D4B0
-10721D4B0:lI101|H107220A50
-107220A50:lI97|H107223D28
-107223D28:lI109|N
-1071F2EA0:lH1071F5398|N
-1071F5398:lI119|H1071F7BD8
-1071F7BD8:lI120|H1071FA830
-1071FA830:lI77|H1071FD770
-1071FD770:lI101|H107200828
-107200828:lI110|H1072039D0
-1072039D0:lI117|H107206C00
-107206C00:lI73|H107209EA8
-107209EA8:lI116|H10720D108
-10720D108:lI101|H1072102F8
-1072102F8:lI109|H107213578
-107213578:lI46|H107216930
-107216930:lI98|H107219EB0
-107219EB0:lI101|H10721D4A0
-10721D4A0:lI97|H107220A40
-107220A40:lI109|N
-1071F2E78:Mn4:H1071F5358,H1071F5368,H1071F5378,H1071F5388
-1071F5358:lH1071F7B98|N
-1071F7B98:lI119|H1071FA7F0
-1071FA7F0:lI120|H1071FD730
-1071FD730:lI77|H1072007E8
-1072007E8:lI68|H107203990
-107203990:lI73|H107206BC0
-107206BC0:lI67|H107209E68
-107209E68:lI104|H10720D0C8
-10720D0C8:lI105|H1072102C8
-1072102C8:lI108|H107213548
-107213548:lI100|H107216900
-107216900:lI70|H107219E80
-107219E80:lI114|H10721D470
-10721D470:lI97|H107220A10
-107220A10:lI109|H107223CF8
-107223CF8:lI101|H107226CC0
-107226CC0:lI46|H1072298B8
-1072298B8:lI98|H10722C140
-10722C140:lI101|H10722E6F8
-10722E6F8:lI97|H1072309E0
-1072309E0:lI109|N
-1071F5388:lH1071F7BC8|N
-1071F7BC8:lI103|H1071FA820
-1071FA820:lI108|H1071FD760
-1071FD760:lI117|H107200818
-107200818:lI46|H1072039C0
-1072039C0:lI98|H107206BF0
-107206BF0:lI101|H107209E98
-107209E98:lI97|H10720D0F8
-10720D0F8:lI109|N
-1071F5378:lH1071F7BB8|N
-1071F7BB8:lI119|H1071FA810
-1071FA810:lI120|H1071FD750
-1071FD750:lI65|H107200808
-107200808:lI117|H1072039B0
-1072039B0:lI105|H107206BE0
-107206BE0:lI78|H107209E88
-107209E88:lI111|H10720D0E8
-10720D0E8:lI116|H1072102E8
-1072102E8:lI101|H107213568
-107213568:lI98|H107216920
-107216920:lI111|H107219EA0
-107219EA0:lI111|H10721D490
-10721D490:lI107|H107220A30
-107220A30:lI69|H107223D18
-107223D18:lI118|H107226CE0
-107226CE0:lI101|H1072298D8
-1072298D8:lI110|H10722C160
-10722C160:lI116|H10722E718
-10722E718:lI46|H107230A00
-107230A00:lI98|H107232A48
-107232A48:lI101|H107234780
-107234780:lI97|H107236208
-107236208:lI109|N
-1071F5368:lH1071F7BA8|N
-1071F7BA8:lI119|H1071FA800
-1071FA800:lI120|H1071FD740
-1071FD740:lI71|H1072007F8
-1072007F8:lI114|H1072039A0
-1072039A0:lI97|H107206BD0
-107206BD0:lI112|H107209E78
-107209E78:lI104|H10720D0D8
-10720D0D8:lI105|H1072102D8
-1072102D8:lI99|H107213558
-107213558:lI115|H107216910
-107216910:lI77|H107219E90
-107219E90:lI97|H10721D480
-10721D480:lI116|H107220A20
-107220A20:lI114|H107223D08
-107223D08:lI105|H107226CD0
-107226CD0:lI120|H1072298C8
-1072298C8:lI46|H10722C150
-10722C150:lI98|H10722E708
-10722E708:lI101|H1072309F0
-1072309F0:lI97|H107232A38
-107232A38:lI109|N
-1071F2E60:Mn2:H1071F5338,H1071F5348
-1071F5338:lH1071F7B78|N
-1071F7B78:lI119|H1071FA7D0
-1071FA7D0:lI120|H1071FD710
-1071FD710:lI74|H1072007C8
-1072007C8:lI111|H107203970
-107203970:lI121|H107206BA0
-107206BA0:lI115|H107209E48
-107209E48:lI116|H10720D0A8
-10720D0A8:lI105|H1072102A8
-1072102A8:lI99|H107213528
-107213528:lI107|H1072168E0
-1072168E0:lI69|H107219E60
-107219E60:lI118|H10721D450
-10721D450:lI101|H1072209F0
-1072209F0:lI110|H107223CD8
-107223CD8:lI116|H107226CA0
-107226CA0:lI46|H107229898
-107229898:lI98|H10722C120
-10722C120:lI101|H10722E6D8
-10722E6D8:lI97|H1072309C0
-1072309C0:lI109|N
-1071F5348:lH1071F7B88|N
-1071F7B88:lI119|H1071FA7E0
-1071FA7E0:lI120|H1071FD720
-1071FD720:lI71|H1072007D8
-1072007D8:lI114|H107203980
-107203980:lI105|H107206BB0
-107206BB0:lI100|H107209E58
-107209E58:lI67|H10720D0B8
-10720D0B8:lI101|H1072102B8
-1072102B8:lI108|H107213538
-107213538:lI108|H1072168F0
-1072168F0:lI70|H107219E70
-107219E70:lI108|H10721D460
-10721D460:lI111|H107220A00
-107220A00:lI97|H107223CE8
-107223CE8:lI116|H107226CB0
-107226CB0:lI82|H1072298A8
-1072298A8:lI101|H10722C130
-10722C130:lI110|H10722E6E8
-10722E6E8:lI100|H1072309D0
-1072309D0:lI101|H107232A28
-107232A28:lI114|H107234770
-107234770:lI101|H1072361F8
-1072361F8:lI114|H107237A20
-107237A20:lI46|H107239058
-107239058:lI98|H10723A4F0
-10723A4F0:lI101|H10723B810
-10723B810:lI97|H10723C870
-10723C870:lI109|N
-1071F2E50:lH1071F5328|N
-1071F5328:lI119|H1071F7B68
-1071F7B68:lI120|H1071FA7C0
-1071FA7C0:lI80|H1071FD700
-1071FD700:lI114|H1072007B8
-1072007B8:lI101|H107203960
-107203960:lI118|H107206B90
-107206B90:lI105|H107209E38
-107209E38:lI101|H10720D098
-10720D098:lI119|H107210298
-107210298:lI70|H107213518
-107213518:lI114|H1072168D0
-1072168D0:lI97|H107219E50
-107219E50:lI109|H10721D440
-10721D440:lI101|H1072209E0
-1072209E0:lI46|H107223CC8
-107223CC8:lI98|H107226C90
-107226C90:lI101|H107229888
-107229888:lI97|H10722C110
-10722C110:lI109|N
-1071F1190:MnA:H1071F2D88,H1071F2DA0,H1071F2DB0,H1071F2DC8,H1071F2DD8,H1071F2DE8,H1071F2DF8,H1071F2E08,H1071F2E18,H1071F2E28
-1071F2D88:Mn2:H1071F5240,H1071F5250
-1071F5240:lH1071F7A78|N
-1071F7A78:lI119|H1071FA6D0
-1071FA6D0:lI120|H1071FD610
-1071FD610:lI71|H1072006C8
-1072006C8:lI114|H107203870
-107203870:lI105|H107206AA0
-107206AA0:lI100|H107209D48
-107209D48:lI83|H10720CFA8
-10720CFA8:lI105|H1072101B8
-1072101B8:lI122|H107213438
-107213438:lI101|H1072167F0
-1072167F0:lI114|H107219D80
-107219D80:lI46|H10721D380
-10721D380:lI98|H107220930
-107220930:lI101|H107223C28
-107223C28:lI97|H107226C00
-107226C00:lI109|N
-1071F5250:lH1071F7A88|N
-1071F7A88:lI119|H1071FA6E0
-1071FA6E0:lI120|H1071FD620
-1071FD620:lI70|H1072006D8
-1072006D8:lI111|H107203880
-107203880:lI110|H107206AB0
-107206AB0:lI116|H107209D58
-107209D58:lI46|H10720CFB8
-10720CFB8:lI98|H1072101C8
-1072101C8:lI101|H107213448
-107213448:lI97|H107216800
-107216800:lI109|N
-1071F2E28:Mn2:H1071F52F8,H1071F5308
-1071F52F8:lH1071F7B38|N
-1071F7B38:lI119|H1071FA790
-1071FA790:lI120|H1071FD6D0
-1071FD6D0:lI71|H107200788
-107200788:lI114|H107203930
-107203930:lI97|H107206B60
-107206B60:lI112|H107209E08
-107209E08:lI104|H10720D068
-10720D068:lI105|H107210268
-107210268:lI99|H1072134E8
-1072134E8:lI115|H1072168A0
-1072168A0:lI80|H107219E20
-107219E20:lI97|H10721D410
-10721D410:lI116|H1072209B0
-1072209B0:lI104|H107223C98
-107223C98:lI46|H107226C60
-107226C60:lI98|H107229858
-107229858:lI101|H10722C0E0
-10722C0E0:lI97|H10722E6A8
-10722E6A8:lI109|N
-1071F5308:lH1071F7B48|N
-1071F7B48:lI119|H1071FA7A0
-1071FA7A0:lI120|H1071FD6E0
-1071FD6E0:lI77|H107200798
-107200798:lI111|H107203940
-107203940:lI117|H107206B70
-107206B70:lI115|H107209E18
-107209E18:lI101|H10720D078
-10720D078:lI67|H107210278
-107210278:lI97|H1072134F8
-1072134F8:lI112|H1072168B0
-1072168B0:lI116|H107219E30
-107219E30:lI117|H10721D420
-10721D420:lI114|H1072209C0
-1072209C0:lI101|H107223CA8
-107223CA8:lI67|H107226C70
-107226C70:lI104|H107229868
-107229868:lI97|H10722C0F0
-10722C0F0:lI110|H10722E6B8
-10722E6B8:lI103|H1072309A0
-1072309A0:lI101|H107232A08
-107232A08:lI100|H107234750
-107234750:lI69|H1072361D8
-1072361D8:lI118|H107237A00
-107237A00:lI101|H107239038
-107239038:lI110|H10723A4D0
-10723A4D0:lI116|H10723B7F0
-10723B7F0:lI46|H10723C860
-10723C860:lI98|H10723D6F0
-10723D6F0:lI101|H10723E450
-10723E450:lI97|H10723F060
-10723F060:lI109|N
-1071F2E18:Mn1:H1071F52E0
-1071F52E0:Mn2:H1071F7B18,H1071F7B28
-1071F7B18:lH1071FA770|N
-1071FA770:lI119|H1071FD6B0
-1071FD6B0:lI120|H107200768
-107200768:lI80|H107203910
-107203910:lI114|H107206B40
-107206B40:lI105|H107209DE8
-107209DE8:lI110|H10720D048
-10720D048:lI116|H107210248
-107210248:lI101|H1072134C8
-1072134C8:lI114|H107216880
-107216880:lI46|H107219E00
-107219E00:lI98|H10721D3F0
-10721D3F0:lI101|H107220990
-107220990:lI97|H107223C78
-107223C78:lI109|N
-1071F7B28:lH1071FA780|N
-1071FA780:lI119|H1071FD6C0
-1071FD6C0:lI120|H107200778
-107200778:lI68|H107203920
-107203920:lI105|H107206B50
-107206B50:lI115|H107209DF8
-107209DF8:lI112|H10720D058
-10720D058:lI108|H107210258
-107210258:lI97|H1072134D8
-1072134D8:lI121|H107216890
-107216890:lI67|H107219E10
-107219E10:lI104|H10721D400
-10721D400:lI97|H1072209A0
-1072209A0:lI110|H107223C88
-107223C88:lI103|H107226C50
-107226C50:lI101|H107229848
-107229848:lI100|H10722C0D0
-10722C0D0:lI69|H10722E698
-10722E698:lI118|H107230990
-107230990:lI101|H1072329F8
-1072329F8:lI110|H107234740
-107234740:lI116|H1072361C8
-1072361C8:lI46|H1072379F0
-1072379F0:lI98|H107239028
-107239028:lI101|H10723A4C0
-10723A4C0:lI97|H10723B7E0
-10723B7E0:lI109|N
-1071F2E08:lH1071F52D0|N
-1071F52D0:lI119|H1071F7B08
-1071F7B08:lI120|H1071FA760
-1071FA760:lI66|H1071FD6A0
-1071FD6A0:lI117|H107200758
-107200758:lI102|H107203900
-107203900:lI102|H107206B30
-107206B30:lI101|H107209DD8
-107209DD8:lI114|H10720D038
-10720D038:lI101|H107210238
-107210238:lI100|H1072134B8
-1072134B8:lI68|H107216870
-107216870:lI67|H107219DF0
-107219DF0:lI46|H10721D3E0
-10721D3E0:lI98|H107220980
-107220980:lI101|H107223C68
-107223C68:lI97|H107226C40
-107226C40:lI109|N
-1071F2DF8:lH1071F52C0|N
-1071F52C0:lI119|H1071F7AF8
-1071F7AF8:lI120|H1071FA750
-1071FA750:lI67|H1071FD690
-1071FD690:lI111|H107200748
-107200748:lI108|H1072038F0
-1072038F0:lI111|H107206B20
-107206B20:lI117|H107209DC8
-107209DC8:lI114|H10720D028
-10720D028:lI80|H107210228
-107210228:lI105|H1072134A8
-1072134A8:lI99|H107216860
-107216860:lI107|H107219DE0
-107219DE0:lI101|H10721D3D0
-10721D3D0:lI114|H107220970
-107220970:lI69|H107223C58
-107223C58:lI118|H107226C30
-107226C30:lI101|H107229838
-107229838:lI110|H10722C0C0
-10722C0C0:lI116|H10722E688
-10722E688:lI46|H107230980
-107230980:lI98|H1072329E8
-1072329E8:lI101|H107234730
-107234730:lI97|H1072361B8
-1072361B8:lI109|N
-1071F2DE8:lH1071F52B0|N
-1071F52B0:lI119|H1071F7AE8
-1071F7AE8:lI120|H1071FA740
-1071FA740:lI101|H1071FD680
-1071FD680:lI95|H107200738
-107200738:lI117|H1072038E0
-1072038E0:lI116|H107206B10
-107206B10:lI105|H107209DB8
-107209DB8:lI108|H10720D018
-10720D018:lI46|H107210218
-107210218:lI98|H107213498
-107213498:lI101|H107216850
-107216850:lI97|H107219DD0
-107219DD0:lI109|N
-1071F2DD8:lH1071F52A0|N
-1071F52A0:lI119|H1071F7AD8
-1071F7AD8:lI120|H1071FA730
-1071FA730:lI70|H1071FD670
-1071FD670:lI108|H107200728
-107200728:lI101|H1072038D0
-1072038D0:lI120|H107206B00
-107206B00:lI71|H107209DA8
-107209DA8:lI114|H10720D008
-10720D008:lI105|H107210208
-107210208:lI100|H107213488
-107213488:lI83|H107216840
-107216840:lI105|H107219DC0
-107219DC0:lI122|H10721D3C0
-10721D3C0:lI101|H107220960
-107220960:lI114|H107223C48
-107223C48:lI46|H107226C20
-107226C20:lI98|H107229828
-107229828:lI101|H10722C0B0
-10722C0B0:lI97|H10722E678
-10722E678:lI109|N
-1071F2DC8:lH1071F5290|N
-1071F5290:lI119|H1071F7AC8
-1071F7AC8:lI120|H1071FA720
-1071FA720:lI87|H1071FD660
-1071FD660:lI101|H107200718
-107200718:lI98|H1072038C0
-1072038C0:lI86|H107206AF0
-107206AF0:lI105|H107209D98
-107209D98:lI101|H10720CFF8
-10720CFF8:lI119|H1072101F8
-1072101F8:lI46|H107213478
-107213478:lI98|H107216830
-107216830:lI101|H107219DB0
-107219DB0:lI97|H10721D3B0
-10721D3B0:lI109|N
-1071F2DB0:Mn2:H1071F5270,H1071F5280
-1071F5270:lH1071F7AA8|N
-1071F7AA8:lI119|H1071FA700
-1071FA700:lI120|H1071FD640
-1071FD640:lI46|H1072006F8
-1072006F8:lI97|H1072038A0
-1072038A0:lI112|H107206AD0
-107206AD0:lI112|H107209D78
-107209D78:lI117|H10720CFD8
-10720CFD8:lI112|N
-1071F5280:lH1071F7AB8|N
-1071F7AB8:lI119|H1071FA710
-1071FA710:lI120|H1071FD650
-1071FD650:lI83|H107200708
-107200708:lI116|H1072038B0
-1072038B0:lI121|H107206AE0
-107206AE0:lI108|H107209D88
-107209D88:lI101|H10720CFE8
-10720CFE8:lI100|H1072101E8
-1072101E8:lI84|H107213468
-107213468:lI101|H107216820
-107216820:lI120|H107219DA0
-107219DA0:lI116|H10721D3A0
-10721D3A0:lI67|H107220950
-107220950:lI116|H107223C38
-107223C38:lI114|H107226C10
-107226C10:lI108|H107229818
-107229818:lI46|H10722C0A0
-10722C0A0:lI98|H10722E668
-10722E668:lI101|H107230970
-107230970:lI97|H1072329D8
-1072329D8:lI109|N
-1071F2DA0:lH1071F5260|N
-1071F5260:lI119|H1071F7A98
-1071F7A98:lI120|H1071FA6F0
-1071FA6F0:lI77|H1071FD630
-1071FD630:lI101|H1072006E8
-1072006E8:lI109|H107203890
-107203890:lI111|H107206AC0
-107206AC0:lI114|H107209D68
-107209D68:lI121|H10720CFC8
-10720CFC8:lI68|H1072101D8
-1072101D8:lI67|H107213458
-107213458:lI46|H107216810
-107216810:lI98|H107219D90
-107219D90:lI101|H10721D390
-10721D390:lI97|H107220940
-107220940:lI109|N
-1071F1130:MnB:H1071F2CB8,H1071F2CC8,H1071F2CD8,H1071F2CF0,H1071F2D00,H1071F2D18,H1071F2D28,H1071F2D38,H1071F2D48,H1071F2D58,H1071F2D68
-1071F2CB8:lH1071F5150|N
-1071F5150:lI119|H1071F7988
-1071F7988:lI120|H1071FA5E0
-1071FA5E0:lI83|H1071FD520
-1071FD520:lI99|H1072005D8
-1072005D8:lI114|H107203780
-107203780:lI111|H1072069B0
-1072069B0:lI108|H107209C58
-107209C58:lI108|H10720CEB8
-10720CEB8:lI101|H1072100C8
-1072100C8:lI100|H107213348
-107213348:lI87|H107216700
-107216700:lI105|H107219C90
-107219C90:lI110|H10721D290
-10721D290:lI100|H107220850
-107220850:lI111|H107223B48
-107223B48:lI119|H107226B30
-107226B30:lI46|H107229758
-107229758:lI98|H10722BFE0
-10722BFE0:lI101|H10722E5C8
-10722E5C8:lI97|H1072308D0
-1072308D0:lI109|N
-1071F2D68:Mn3:H1071F5210,H1071F5220,H1071F5230
-1071F5210:lH1071F7A48|N
-1071F7A48:lI119|H1071FA6A0
-1071FA6A0:lI120|H1071FD5E0
-1071FD5E0:lI80|H107200698
-107200698:lI111|H107203840
-107203840:lI112|H107206A70
-107206A70:lI117|H107209D18
-107209D18:lI112|H10720CF78
-10720CF78:lI84|H107210188
-107210188:lI114|H107213408
-107213408:lI97|H1072167C0
-1072167C0:lI110|H107219D50
-107219D50:lI115|H10721D350
-10721D350:lI105|H107220900
-107220900:lI101|H107223BF8
-107223BF8:lI110|H107226BE0
-107226BE0:lI116|H1072297F8
-1072297F8:lI87|H10722C080
-10722C080:lI105|H10722E648
-10722E648:lI110|H107230950
-107230950:lI100|H1072329C8
-1072329C8:lI111|H107234720
-107234720:lI119|H1072361A8
-1072361A8:lI46|H1072379E0
-1072379E0:lI98|H107239018
-107239018:lI101|H10723A4B0
-10723A4B0:lI97|H10723B7D0
-10723B7D0:lI109|N
-1071F5230:lH1071F7A68|N
-1071F7A68:lI119|H1071FA6C0
-1071FA6C0:lI120|H1071FD600
-1071FD600:lI67|H1072006B8
-1072006B8:lI108|H107203860
-107203860:lI105|H107206A90
-107206A90:lI101|H107209D38
-107209D38:lI110|H10720CF98
-10720CF98:lI116|H1072101A8
-1072101A8:lI68|H107213428
-107213428:lI67|H1072167E0
-1072167E0:lI46|H107219D70
-107219D70:lI98|H10721D370
-10721D370:lI101|H107220920
-107220920:lI97|H107223C18
-107223C18:lI109|N
-1071F5220:lH1071F7A58|N
-1071F7A58:lI119|H1071FA6B0
-1071FA6B0:lI120|H1071FD5F0
-1071FD5F0:lI66|H1072006A8
-1072006A8:lI111|H107203850
-107203850:lI111|H107206A80
-107206A80:lI107|H107209D28
-107209D28:lI67|H10720CF88
-10720CF88:lI116|H107210198
-107210198:lI114|H107213418
-107213418:lI108|H1072167D0
-1072167D0:lI69|H107219D60
-107219D60:lI118|H10721D360
-10721D360:lI101|H107220910
-107220910:lI110|H107223C08
-107223C08:lI116|H107226BF0
-107226BF0:lI46|H107229808
-107229808:lI98|H10722C090
-10722C090:lI101|H10722E658
-10722E658:lI97|H107230960
-107230960:lI109|N
-1071F2D58:lH1071F5200|N
-1071F5200:lI119|H1071F7A38
-1071F7A38:lI120|H1071FA690
-1071FA690:lI77|H1071FD5D0
-1071FD5D0:lI101|H107200688
-107200688:lI110|H107203830
-107203830:lI117|H107206A60
-107206A60:lI66|H107209D08
-107209D08:lI97|H10720CF68
-10720CF68:lI114|H107210178
-107210178:lI46|H1072133F8
-1072133F8:lI98|H1072167B0
-1072167B0:lI101|H107219D40
-107219D40:lI97|H10721D340
-10721D340:lI109|N
-1071F2D48:lH1071F51F0|N
-1071F51F0:lI119|H1071F7A28
-1071F7A28:lI120|H1071FA680
-1071FA680:lI78|H1071FD5C0
-1071FD5C0:lI97|H107200678
-107200678:lI118|H107203820
-107203820:lI105|H107206A50
-107206A50:lI103|H107209CF8
-107209CF8:lI97|H10720CF58
-10720CF58:lI116|H107210168
-107210168:lI105|H1072133E8
-1072133E8:lI111|H1072167A0
-1072167A0:lI110|H107219D30
-107219D30:lI75|H10721D330
-10721D330:lI101|H1072208F0
-1072208F0:lI121|H107223BE8
-107223BE8:lI69|H107226BD0
-107226BD0:lI118|H1072297E8
-1072297E8:lI101|H10722C070
-10722C070:lI110|H10722E638
-10722E638:lI116|H107230940
-107230940:lI46|H1072329B8
-1072329B8:lI98|H107234710
-107234710:lI101|H107236198
-107236198:lI97|H1072379D0
-1072379D0:lI109|N
-1071F2D38:lH1071F51E0|N
-1071F51E0:lI119|H1071F7A18
-1071F7A18:lI120|H1071FA670
-1071FA670:lI84|H1071FD5B0
-1071FD5B0:lI111|H107200668
-107200668:lI112|H107203810
-107203810:lI76|H107206A40
-107206A40:lI101|H107209CE8
-107209CE8:lI118|H10720CF48
-10720CF48:lI101|H107210158
-107210158:lI108|H1072133D8
-1072133D8:lI87|H107216790
-107216790:lI105|H107219D20
-107219D20:lI110|H10721D320
-10721D320:lI100|H1072208E0
-1072208E0:lI111|H107223BD8
-107223BD8:lI119|H107226BC0
-107226BC0:lI46|H1072297D8
-1072297D8:lI98|H10722C060
-10722C060:lI101|H10722E628
-10722E628:lI97|H107230930
-107230930:lI109|N
-1071F2D28:lH1071F51D0|N
-1071F51D0:lI119|H1071F7A08
-1071F7A08:lI120|H1071FA660
-1071FA660:lI83|H1071FD5A0
-1071FD5A0:lI116|H107200658
-107200658:lI97|H107203800
-107203800:lI116|H107206A30
-107206A30:lI105|H107209CD8
-107209CD8:lI99|H10720CF38
-10720CF38:lI66|H107210148
-107210148:lI105|H1072133C8
-1072133C8:lI116|H107216780
-107216780:lI109|H107219D10
-107219D10:lI97|H10721D310
-10721D310:lI112|H1072208D0
-1072208D0:lI46|H107223BC8
-107223BC8:lI98|H107226BB0
-107226BB0:lI101|H1072297C8
-1072297C8:lI97|H10722C050
-10722C050:lI109|N
-1071F2D18:lH1071F51C0|N
-1071F51C0:lI119|H1071F79F8
-1071F79F8:lI120|H1071FA650
-1071FA650:lI83|H1071FD590
-1071FD590:lI121|H107200648
-107200648:lI115|H1072037F0
-1072037F0:lI116|H107206A20
-107206A20:lI101|H107209CC8
-107209CC8:lI109|H10720CF28
-10720CF28:lI83|H107210138
-107210138:lI101|H1072133B8
-1072133B8:lI116|H107216770
-107216770:lI116|H107219D00
-107219D00:lI105|H10721D300
-10721D300:lI110|H1072208C0
-1072208C0:lI103|H107223BB8
-107223BB8:lI115|H107226BA0
-107226BA0:lI46|H1072297B8
-1072297B8:lI98|H10722C040
-10722C040:lI101|H10722E618
-10722E618:lI97|H107230920
-107230920:lI109|N
-1071F2D00:Mn2:H1071F51A0,H1071F51B0
-1071F51A0:lH1071F79D8|N
-1071F79D8:lI119|H1071FA630
-1071FA630:lI120|H1071FD570
-1071FD570:lI80|H107200628
-107200628:lI114|H1072037D0
-1072037D0:lI101|H107206A00
-107206A00:lI118|H107209CA8
-107209CA8:lI105|H10720CF08
-10720CF08:lI101|H107210118
-107210118:lI119|H107213398
-107213398:lI67|H107216750
-107216750:lI111|H107219CE0
-107219CE0:lI110|H10721D2E0
-10721D2E0:lI116|H1072208A0
-1072208A0:lI114|H107223B98
-107223B98:lI111|H107226B80
-107226B80:lI108|H107229798
-107229798:lI66|H10722C020
-10722C020:lI97|H10722E608
-10722E608:lI114|H107230910
-107230910:lI46|H1072329A8
-1072329A8:lI98|H107234700
-107234700:lI101|H107236188
-107236188:lI97|H1072379C0
-1072379C0:lI109|N
-1071F51B0:lH1071F79E8|N
-1071F79E8:lI119|H1071FA640
-1071FA640:lI120|H1071FD580
-1071FD580:lI65|H107200638
-107200638:lI117|H1072037E0
-1072037E0:lI105|H107206A10
-107206A10:lI80|H107209CB8
-107209CB8:lI97|H10720CF18
-10720CF18:lI110|H107210128
-107210128:lI101|H1072133A8
-1072133A8:lI73|H107216760
-107216760:lI110|H107219CF0
-107219CF0:lI102|H10721D2F0
-10721D2F0:lI111|H1072208B0
-1072208B0:lI46|H107223BA8
-107223BA8:lI98|H107226B90
-107226B90:lI101|H1072297A8
-1072297A8:lI97|H10722C030
-10722C030:lI109|N
-1071F2CF0:lH1071F5190|N
-1071F5190:lI119|H1071F79C8
-1071F79C8:lI120|H1071FA620
-1071FA620:lI70|H1071FD560
-1071FD560:lI105|H107200618
-107200618:lI110|H1072037C0
-1072037C0:lI100|H1072069F0
-1072069F0:lI82|H107209C98
-107209C98:lI101|H10720CEF8
-10720CEF8:lI112|H107210108
-107210108:lI108|H107213388
-107213388:lI97|H107216740
-107216740:lI99|H107219CD0
-107219CD0:lI101|H10721D2D0
-10721D2D0:lI68|H107220890
-107220890:lI97|H107223B88
-107223B88:lI116|H107226B70
-107226B70:lI97|H107229788
-107229788:lI46|H10722C010
-10722C010:lI98|H10722E5F8
-10722E5F8:lI101|H107230900
-107230900:lI97|H107232998
-107232998:lI109|N
-1071F2CD8:Mn2:H1071F5170,H1071F5180
-1071F5170:lH1071F79A8|N
-1071F79A8:lI119|H1071FA600
-1071FA600:lI120|H1071FD540
-1071FD540:lI77|H1072005F8
-1072005F8:lI111|H1072037A0
-1072037A0:lI118|H1072069D0
-1072069D0:lI101|H107209C78
-107209C78:lI69|H10720CED8
-10720CED8:lI118|H1072100E8
-1072100E8:lI101|H107213368
-107213368:lI110|H107216720
-107216720:lI116|H107219CB0
-107219CB0:lI46|H10721D2B0
-10721D2B0:lI98|H107220870
-107220870:lI101|H107223B68
-107223B68:lI97|H107226B50
-107226B50:lI109|N
-1071F5180:lH1071F79B8|N
-1071F79B8:lI119|H1071FA610
-1071FA610:lI120|H1071FD550
-1071FD550:lI72|H107200608
-107200608:lI116|H1072037B0
-1072037B0:lI109|H1072069E0
-1072069E0:lI108|H107209C88
-107209C88:lI69|H10720CEE8
-10720CEE8:lI97|H1072100F8
-1072100F8:lI115|H107213378
-107213378:lI121|H107216730
-107216730:lI80|H107219CC0
-107219CC0:lI114|H10721D2C0
-10721D2C0:lI105|H107220880
-107220880:lI110|H107223B78
-107223B78:lI116|H107226B60
-107226B60:lI105|H107229778
-107229778:lI110|H10722C000
-10722C000:lI103|H10722E5E8
-10722E5E8:lI46|H1072308F0
-1072308F0:lI98|H107232988
-107232988:lI101|H1072346F0
-1072346F0:lI97|H107236178
-107236178:lI109|N
-1071F2CC8:lH1071F5160|N
-1071F5160:lI119|H1071F7998
-1071F7998:lI120|H1071FA5F0
-1071FA5F0:lI65|H1071FD530
-1071FD530:lI99|H1072005E8
-1072005E8:lI99|H107203790
-107203790:lI101|H1072069C0
-1072069C0:lI108|H107209C68
-107209C68:lI101|H10720CEC8
-10720CEC8:lI114|H1072100D8
-1072100D8:lI97|H107213358
-107213358:lI116|H107216710
-107216710:lI111|H107219CA0
-107219CA0:lI114|H10721D2A0
-10721D2A0:lI84|H107220860
-107220860:lI97|H107223B58
-107223B58:lI98|H107226B40
-107226B40:lI108|H107229768
-107229768:lI101|H10722BFF0
-10722BFF0:lI46|H10722E5D8
-10722E5D8:lI98|H1072308E0
-1072308E0:lI101|H107232978
-107232978:lI97|H1072346E0
-1072346E0:lI109|N
-1071F10B0:MnF:H1071F2B88,H1071F2B98,H1071F2BB0,H1071F2BC8,H1071F2BD8,H1071F2BE8,H1071F2BF8,H1071F2C10,H1071F2C20,H1071F2C40,H1071F2C50,H1071F2C60,H1071F2C78,H1071F2C88,H1071F2CA0
-1071F2B88:lH1071F4FE0|N
-1071F4FE0:lI119|H1071F7818
-1071F7818:lI120|H1071FA470
-1071FA470:lI76|H1071FD3B0
-1071FD3B0:lI97|H107200468
-107200468:lI121|H107203610
-107203610:lI111|H107206840
-107206840:lI117|H107209AE8
-107209AE8:lI116|H10720CD48
-10720CD48:lI65|H10720FF58
-10720FF58:lI108|H1072131D8
-1072131D8:lI103|H107216590
-107216590:lI111|H107219B30
-107219B30:lI114|H10721D150
-10721D150:lI105|H107220710
-107220710:lI116|H107223A48
-107223A48:lI104|H107226A60
-107226A60:lI109|H107229698
-107229698:lI46|H10722BF50
-10722BF50:lI98|H10722E538
-10722E538:lI101|H107230860
-107230860:lI97|H107232928
-107232928:lI109|N
-1071F2CA0:Mn2:H1071F5130,H1071F5140
-1071F5130:lH1071F7968|N
-1071F7968:lI119|H1071FA5C0
-1071FA5C0:lI120|H1071FD500
-1071FD500:lI76|H1072005B8
-1072005B8:lI111|H107203760
-107203760:lI103|H107206990
-107206990:lI78|H107209C38
-107209C38:lI117|H10720CE98
-10720CE98:lI108|H1072100A8
-1072100A8:lI108|H107213328
-107213328:lI46|H1072166E0
-1072166E0:lI98|H107219C70
-107219C70:lI101|H10721D270
-10721D270:lI97|H107220830
-107220830:lI109|N
-1071F5140:lH1071F7978|N
-1071F7978:lI119|H1071FA5D0
-1071FA5D0:lI120|H1071FD510
-1071FD510:lI71|H1072005C8
-1072005C8:lI114|H107203770
-107203770:lI105|H1072069A0
-1072069A0:lI100|H107209C48
-107209C48:lI67|H10720CEA8
-10720CEA8:lI101|H1072100B8
-1072100B8:lI108|H107213338
-107213338:lI108|H1072166F0
-1072166F0:lI78|H107219C80
-107219C80:lI117|H10721D280
-10721D280:lI109|H107220840
-107220840:lI98|H107223B38
-107223B38:lI101|H107226B20
-107226B20:lI114|H107229748
-107229748:lI82|H10722BFD0
-10722BFD0:lI101|H10722E5B8
-10722E5B8:lI110|H1072308C0
-1072308C0:lI100|H107232968
-107232968:lI101|H1072346D0
-1072346D0:lI114|H107236168
-107236168:lI101|H1072379B0
-1072379B0:lI114|H107239008
-107239008:lI46|H10723A4A0
-10723A4A0:lI98|H10723B7C0
-10723B7C0:lI101|H10723C850
-10723C850:lI97|H10723D6E0
-10723D6E0:lI109|N
-1071F2C88:Mn2:H1071F5110,H1071F5120
-1071F5110:lH1071F7948|N
-1071F7948:lI119|H1071FA5A0
-1071FA5A0:lI120|H1071FD4E0
-1071FD4E0:lI67|H107200598
-107200598:lI111|H107203740
-107203740:lI108|H107206970
-107206970:lI111|H107209C18
-107209C18:lI117|H10720CE78
-10720CE78:lI114|H107210088
-107210088:lI68|H107213308
-107213308:lI97|H1072166C0
-1072166C0:lI116|H107219C60
-107219C60:lI97|H10721D260
-10721D260:lI46|H107220820
-107220820:lI98|H107223B28
-107223B28:lI101|H107226B10
-107226B10:lI97|H107229738
-107229738:lI109|N
-1071F5120:lH1071F7958|N
-1071F7958:lI119|H1071FA5B0
-1071FA5B0:lI120|H1071FD4F0
-1071FD4F0:lI73|H1072005A8
-1072005A8:lI99|H107203750
-107203750:lI111|H107206980
-107206980:lI110|H107209C28
-107209C28:lI46|H10720CE88
-10720CE88:lI98|H107210098
-107210098:lI101|H107213318
-107213318:lI97|H1072166D0
-1072166D0:lI109|N
-1071F2C78:lH1071F5100|N
-1071F5100:lI119|H1071F7938
-1071F7938:lI120|H1071FA590
-1071FA590:lI77|H1071FD4D0
-1071FD4D0:lI105|H107200588
-107200588:lI114|H107203730
-107203730:lI114|H107206960
-107206960:lI111|H107209C08
-107209C08:lI114|H10720CE68
-10720CE68:lI68|H107210078
-107210078:lI67|H1072132F8
-1072132F8:lI46|H1072166B0
-1072166B0:lI98|H107219C50
-107219C50:lI101|H10721D250
-10721D250:lI97|H107220810
-107220810:lI109|N
-1071F2C60:Mn2:H1071F50E0,H1071F50F0
-1071F50E0:lH1071F7918|N
-1071F7918:lI119|H1071FA570
-1071FA570:lI120|H1071FD4B0
-1071FD4B0:lI65|H107200568
-107200568:lI117|H107203710
-107203710:lI105|H107206940
-107206940:lI83|H107209BE8
-107209BE8:lI105|H10720CE48
-10720CE48:lI109|H107210058
-107210058:lI112|H1072132D8
-1072132D8:lI108|H107216690
-107216690:lI101|H107219C30
-107219C30:lI84|H10721D230
-10721D230:lI97|H1072207F0
-1072207F0:lI98|H107223B08
-107223B08:lI65|H107226AF0
-107226AF0:lI114|H107229718
-107229718:lI116|H10722BFB0
-10722BFB0:lI46|H10722E598
-10722E598:lI98|H1072308B0
-1072308B0:lI101|H107232958
-107232958:lI97|H1072346C0
-1072346C0:lI109|N
-1071F50F0:lH1071F7928|N
-1071F7928:lI119|H1071FA580
-1071FA580:lI120|H1071FD4C0
-1071FD4C0:lI87|H107200578
-107200578:lI101|H107203720
-107203720:lI98|H107206950
-107206950:lI86|H107209BF8
-107209BF8:lI105|H10720CE58
-10720CE58:lI101|H107210068
-107210068:lI119|H1072132E8
-1072132E8:lI69|H1072166A0
-1072166A0:lI118|H107219C40
-107219C40:lI101|H10721D240
-10721D240:lI110|H107220800
-107220800:lI116|H107223B18
-107223B18:lI46|H107226B00
-107226B00:lI98|H107229728
-107229728:lI101|H10722BFC0
-10722BFC0:lI97|H10722E5A8
-10722E5A8:lI109|N
-1071F2C50:lH1071F50D0|N
-1071F50D0:lI119|H1071F7908
-1071F7908:lI120|H1071FA560
-1071FA560:lI78|H1071FD4A0
-1071FD4A0:lI111|H107200558
-107200558:lI116|H107203700
-107203700:lI105|H107206930
-107206930:lI102|H107209BD8
-107209BD8:lI121|H10720CE38
-10720CE38:lI69|H107210048
-107210048:lI118|H1072132C8
-1072132C8:lI101|H107216680
-107216680:lI110|H107219C20
-107219C20:lI116|H10721D220
-10721D220:lI46|H1072207E0
-1072207E0:lI98|H107223AF8
-107223AF8:lI101|H107226AE0
-107226AE0:lI97|H107229708
-107229708:lI109|N
-1071F2C40:lH1071F50C0|N
-1071F50C0:lI119|H1071F78F8
-1071F78F8:lI120|H1071FA550
-1071FA550:lI65|H1071FD490
-1071FD490:lI117|H107200548
-107200548:lI105|H1072036F0
-1072036F0:lI84|H107206920
-107206920:lI97|H107209BC8
-107209BC8:lI98|H10720CE28
-10720CE28:lI65|H107210038
-107210038:lI114|H1072132B8
-1072132B8:lI116|H107216670
-107216670:lI46|H107219C10
-107219C10:lI98|H10721D210
-10721D210:lI101|H1072207D0
-1072207D0:lI97|H107223AE8
-107223AE8:lI109|N
-1071F2C20:Mn3:H1071F5090,H1071F50A0,H1071F50B0
-1071F5090:lH1071F78C8|N
-1071F78C8:lI119|H1071FA520
-1071FA520:lI120|H1071FD460
-1071FD460:lI77|H107200518
-107200518:lI68|H1072036C0
-1072036C0:lI73|H1072068F0
-1072068F0:lI80|H107209B98
-107209B98:lI97|H10720CDF8
-10720CDF8:lI114|H107210008
-107210008:lI101|H107213288
-107213288:lI110|H107216640
-107216640:lI116|H107219BE0
-107219BE0:lI70|H10721D1E0
-10721D1E0:lI114|H1072207A0
-1072207A0:lI97|H107223AB8
-107223AB8:lI109|H107226AC0
-107226AC0:lI101|H1072296F8
-1072296F8:lI46|H10722BFA0
-10722BFA0:lI98|H10722E588
-10722E588:lI101|H1072308A0
-1072308A0:lI97|H107232948
-107232948:lI109|N
-1071F50B0:lH1071F78E8|N
-1071F78E8:lI119|H1071FA540
-1071FA540:lI120|H1071FD480
-1071FD480:lI71|H107200538
-107200538:lI114|H1072036E0
-1072036E0:lI105|H107206910
-107206910:lI100|H107209BB8
-107209BB8:lI69|H10720CE18
-10720CE18:lI118|H107210028
-107210028:lI101|H1072132A8
-1072132A8:lI110|H107216660
-107216660:lI116|H107219C00
-107219C00:lI46|H10721D200
-10721D200:lI98|H1072207C0
-1072207C0:lI101|H107223AD8
-107223AD8:lI97|H107226AD0
-107226AD0:lI109|N
-1071F50A0:lH1071F78D8|N
-1071F78D8:lI119|H1071FA530
-1071FA530:lI120|H1071FD470
-1071FD470:lI83|H107200528
-107200528:lI99|H1072036D0
-1072036D0:lI114|H107206900
-107206900:lI101|H107209BA8
-107209BA8:lI101|H10720CE08
-10720CE08:lI110|H107210018
-107210018:lI68|H107213298
-107213298:lI67|H107216650
-107216650:lI46|H107219BF0
-107219BF0:lI98|H10721D1F0
-10721D1F0:lI101|H1072207B0
-1072207B0:lI97|H107223AC8
-107223AC8:lI109|N
-1071F2C10:lH1071F5080|N
-1071F5080:lI119|H1071F78B8
-1071F78B8:lI120|H1071FA510
-1071FA510:lI80|H1071FD450
-1071FD450:lI114|H107200508
-107200508:lI105|H1072036B0
-1072036B0:lI110|H1072068E0
-1072068E0:lI116|H107209B88
-107209B88:lI111|H10720CDE8
-10720CDE8:lI117|H10720FFF8
-10720FFF8:lI116|H107213278
-107213278:lI46|H107216630
-107216630:lI98|H107219BD0
-107219BD0:lI101|H10721D1D0
-10721D1D0:lI97|H107220790
-107220790:lI109|N
-1071F2BF8:Mn2:H1071F5060,H1071F5070
-1071F5060:lH1071F7898|N
-1071F7898:lI119|H1071FA4F0
-1071FA4F0:lI120|H1071FD430
-1071FD430:lI69|H1072004E8
-1072004E8:lI118|H107203690
-107203690:lI116|H1072068C0
-1072068C0:lI72|H107209B68
-107209B68:lI97|H10720CDC8
-10720CDC8:lI110|H10720FFD8
-10720FFD8:lI100|H107213258
-107213258:lI108|H107216610
-107216610:lI101|H107219BB0
-107219BB0:lI114|H10721D1B0
-10721D1B0:lI46|H107220770
-107220770:lI98|H107223A98
-107223A98:lI101|H107226AA0
-107226AA0:lI97|H1072296D8
-1072296D8:lI109|N
-1071F5070:lH1071F78A8|N
-1071F78A8:lI119|H1071FA500
-1071FA500:lI120|H1071FD440
-1071FD440:lI68|H1072004F8
-1072004F8:lI105|H1072036A0
-1072036A0:lI114|H1072068D0
-1072068D0:lI80|H107209B78
-107209B78:lI105|H10720CDD8
-10720CDD8:lI99|H10720FFE8
-10720FFE8:lI107|H107213268
-107213268:lI101|H107216620
-107216620:lI114|H107219BC0
-107219BC0:lI67|H10721D1C0
-10721D1C0:lI116|H107220780
-107220780:lI114|H107223AA8
-107223AA8:lI108|H107226AB0
-107226AB0:lI46|H1072296E8
-1072296E8:lI98|H10722BF90
-10722BF90:lI101|H10722E578
-10722E578:lI97|H107230890
-107230890:lI109|N
-1071F2BE8:lH1071F5050|N
-1071F5050:lI119|H1071F7888
-1071F7888:lI120|H1071FA4E0
-1071FA4E0:lI84|H1071FD420
-1071FD420:lI114|H1072004D8
-1072004D8:lI101|H107203680
-107203680:lI101|H1072068B0
-1072068B0:lI98|H107209B58
-107209B58:lI111|H10720CDB8
-10720CDB8:lI111|H10720FFC8
-10720FFC8:lI107|H107213248
-107213248:lI46|H107216600
-107216600:lI98|H107219BA0
-107219BA0:lI101|H10721D1A0
-10721D1A0:lI97|H107220760
-107220760:lI109|N
-1071F2BD8:lH1071F5040|N
-1071F5040:lI119|H1071F7878
-1071F7878:lI120|H1071FA4D0
-1071FA4D0:lI76|H1071FD410
-1071FD410:lI111|H1072004C8
-1072004C8:lI99|H107203670
-107203670:lI97|H1072068A0
-1072068A0:lI108|H107209B48
-107209B48:lI101|H10720CDA8
-10720CDA8:lI46|H10720FFB8
-10720FFB8:lI98|H107213238
-107213238:lI101|H1072165F0
-1072165F0:lI97|H107219B90
-107219B90:lI109|N
-1071F2BC8:lH1071F5030|N
-1071F5030:lI119|H1071F7868
-1071F7868:lI120|H1071FA4C0
-1071FA4C0:lI77|H1071FD400
-1071FD400:lI97|H1072004B8
-1072004B8:lI120|H107203660
-107203660:lI105|H107206890
-107206890:lI109|H107209B38
-107209B38:lI105|H10720CD98
-10720CD98:lI122|H10720FFA8
-10720FFA8:lI101|H107213228
-107213228:lI69|H1072165E0
-1072165E0:lI118|H107219B80
-107219B80:lI101|H10721D190
-10721D190:lI110|H107220750
-107220750:lI116|H107223A88
-107223A88:lI46|H107226A90
-107226A90:lI98|H1072296C8
-1072296C8:lI101|H10722BF80
-10722BF80:lI97|H10722E568
-10722E568:lI109|N
-1071F2BB0:Mn2:H1071F5010,H1071F5020
-1071F5010:lH1071F7848|N
-1071F7848:lI119|H1071FA4A0
-1071FA4A0:lI120|H1071FD3E0
-1071FD3E0:lI77|H107200498
-107200498:lI101|H107203640
-107203640:lI115|H107206870
-107206870:lI115|H107209B18
-107209B18:lI97|H10720CD78
-10720CD78:lI103|H10720FF88
-10720FF88:lI101|H107213208
-107213208:lI68|H1072165C0
-1072165C0:lI105|H107219B60
-107219B60:lI97|H10721D170
-10721D170:lI108|H107220730
-107220730:lI111|H107223A68
-107223A68:lI103|H107226A70
-107226A70:lI46|H1072296A8
-1072296A8:lI98|H10722BF60
-10722BF60:lI101|H10722E548
-10722E548:lI97|H107230870
-107230870:lI109|N
-1071F5020:lH1071F7858|N
-1071F7858:lI119|H1071FA4B0
-1071FA4B0:lI120|H1071FD3F0
-1071FD3F0:lI71|H1072004A8
-1072004A8:lI101|H107203650
-107203650:lI110|H107206880
-107206880:lI101|H107209B28
-107209B28:lI114|H10720CD88
-10720CD88:lI105|H10720FF98
-10720FF98:lI99|H107213218
-107213218:lI68|H1072165D0
-1072165D0:lI105|H107219B70
-107219B70:lI114|H10721D180
-10721D180:lI67|H107220740
-107220740:lI116|H107223A78
-107223A78:lI114|H107226A80
-107226A80:lI108|H1072296B8
-1072296B8:lI46|H10722BF70
-10722BF70:lI98|H10722E558
-10722E558:lI101|H107230880
-107230880:lI97|H107232938
-107232938:lI109|N
-1071F2B98:Mn2:H1071F4FF0,H1071F5000
-1071F4FF0:lH1071F7828|N
-1071F7828:lI119|H1071FA480
-1071FA480:lI120|H1071FD3C0
-1071FD3C0:lI71|H107200478
-107200478:lI76|H107203620
-107203620:lI67|H107206850
-107206850:lI97|H107209AF8
-107209AF8:lI110|H10720CD58
-10720CD58:lI118|H10720FF68
-10720FF68:lI97|H1072131E8
-1072131E8:lI115|H1072165A0
-1072165A0:lI46|H107219B40
-107219B40:lI98|H10721D160
-10721D160:lI101|H107220720
-107220720:lI97|H107223A58
-107223A58:lI109|N
-1071F5000:lH1071F7838|N
-1071F7838:lI119|H1071FA490
-1071FA490:lI120|H1071FD3D0
-1071FD3D0:lI83|H107200488
-107200488:lI105|H107203630
-107203630:lI122|H107206860
-107206860:lI101|H107209B08
-107209B08:lI114|H10720CD68
-10720CD68:lI46|H10720FF78
-10720FF78:lI98|H1072131F8
-1072131F8:lI101|H1072165B0
-1072165B0:lI97|H107219B50
-107219B50:lI109|N
-1071F1050:MnB:H1071F2A98,H1071F2AB0,H1071F2AC8,H1071F2AE0,H1071F2AF8,H1071F2B18,H1071F2B28,H1071F2B38,H1071F2B50,H1071F2B60,H1071F2B70
-1071F2A98:Mn2:H1071F4EB0,H1071F4EC0
-1071F4EB0:lH1071F76E8|N
-1071F76E8:lI119|H1071FA340
-1071FA340:lI120|H1071FD280
-1071FD280:lI80|H107200338
-107200338:lI97|H1072034E0
-1072034E0:lI110|H107206710
-107206710:lI101|H1072099B8
-1072099B8:lI108|H10720CC18
-10720CC18:lI46|H10720FE28
-10720FE28:lI98|H1072130A8
-1072130A8:lI101|H107216460
-107216460:lI97|H107219A10
-107219A10:lI109|N
-1071F4EC0:lH1071F76F8|N
-1071F76F8:lI119|H1071FA350
-1071FA350:lI120|H1071FD290
-1071FD290:lI83|H107200348
-107200348:lI116|H1072034F0
-1072034F0:lI97|H107206720
-107206720:lI116|H1072099C8
-1072099C8:lI105|H10720CC28
-10720CC28:lI99|H10720FE38
-10720FE38:lI76|H1072130B8
-1072130B8:lI105|H107216470
-107216470:lI110|H107219A20
-107219A20:lI101|H10721D040
-10721D040:lI46|H107220610
-107220610:lI98|H107223948
-107223948:lI101|H107226980
-107226980:lI97|H1072295F8
-1072295F8:lI109|N
-1071F2B70:Mn2:H1071F4FC0,H1071F4FD0
-1071F4FC0:lH1071F77F8|N
-1071F77F8:lI119|H1071FA450
-1071FA450:lI120|H1071FD390
-1071FD390:lI67|H107200448
-107200448:lI111|H1072035F0
-1072035F0:lI108|H107206820
-107206820:lI111|H107209AC8
-107209AC8:lI117|H10720CD28
-10720CD28:lI114|H10720FF38
-10720FF38:lI80|H1072131B8
-1072131B8:lI105|H107216570
-107216570:lI99|H107219B10
-107219B10:lI107|H10721D130
-10721D130:lI101|H1072206F0
-1072206F0:lI114|H107223A28
-107223A28:lI67|H107226A40
-107226A40:lI116|H107229678
-107229678:lI114|H10722BF30
-10722BF30:lI108|H10722E518
-10722E518:lI46|H107230840
-107230840:lI98|H107232908
-107232908:lI101|H1072346A0
-1072346A0:lI97|H107236148
-107236148:lI109|N
-1071F4FD0:lH1071F7808|N
-1071F7808:lI119|H1071FA460
-1071FA460:lI120|H1071FD3A0
-1071FD3A0:lI71|H107200458
-107200458:lI114|H107203600
-107203600:lI105|H107206830
-107206830:lI100|H107209AD8
-107209AD8:lI67|H10720CD38
-10720CD38:lI101|H10720FF48
-10720FF48:lI108|H1072131C8
-1072131C8:lI108|H107216580
-107216580:lI66|H107219B20
-107219B20:lI111|H10721D140
-10721D140:lI111|H107220700
-107220700:lI108|H107223A38
-107223A38:lI82|H107226A50
-107226A50:lI101|H107229688
-107229688:lI110|H10722BF40
-10722BF40:lI100|H10722E528
-10722E528:lI101|H107230850
-107230850:lI114|H107232918
-107232918:lI101|H1072346B0
-1072346B0:lI114|H107236158
-107236158:lI46|H1072379A0
-1072379A0:lI98|H107238FF8
-107238FF8:lI101|H10723A490
-10723A490:lI97|H10723B7B0
-10723B7B0:lI109|N
-1071F2B60:lH1071F4FB0|N
-1071F4FB0:lI119|H1071F77E8
-1071F77E8:lI120|H1071FA440
-1071FA440:lI70|H1071FD380
-1071FD380:lI111|H107200438
-107200438:lI110|H1072035E0
-1072035E0:lI116|H107206810
-107206810:lI68|H107209AB8
-107209AB8:lI105|H10720CD18
-10720CD18:lI97|H10720FF28
-10720FF28:lI108|H1072131A8
-1072131A8:lI111|H107216560
-107216560:lI103|H107219B00
-107219B00:lI46|H10721D120
-10721D120:lI98|H1072206E0
-1072206E0:lI101|H107223A18
-107223A18:lI97|H107226A30
-107226A30:lI109|N
-1071F2B50:lH1071F4FA0|N
-1071F4FA0:lI119|H1071F77D8
-1071F77D8:lI120|H1071FA430
-1071FA430:lI77|H1071FD370
-1071FD370:lI105|H107200428
-107200428:lI110|H1072035D0
-1072035D0:lI105|H107206800
-107206800:lI70|H107209AA8
-107209AA8:lI114|H10720CD08
-10720CD08:lI97|H10720FF18
-10720FF18:lI109|H107213198
-107213198:lI101|H107216550
-107216550:lI46|H107219AF0
-107219AF0:lI98|H10721D110
-10721D110:lI101|H1072206D0
-1072206D0:lI97|H107223A08
-107223A08:lI109|N
-1071F2B38:Mn2:H1071F4F80,H1071F4F90
-1071F4F80:lH1071F77B8|N
-1071F77B8:lI119|H1071FA410
-1071FA410:lI120|H1071FD350
-1071FD350:lI71|H107200408
-107200408:lI114|H1072035B0
-1072035B0:lI105|H1072067E0
-1072067E0:lI100|H107209A88
-107209A88:lI67|H10720CCE8
-10720CCE8:lI101|H10720FEF8
-10720FEF8:lI108|H107213178
-107213178:lI108|H107216530
-107216530:lI78|H107219AD0
-107219AD0:lI117|H10721D0F0
-10721D0F0:lI109|H1072206B0
-1072206B0:lI98|H1072239E8
-1072239E8:lI101|H107226A10
-107226A10:lI114|H107229658
-107229658:lI69|H10722BF10
-10722BF10:lI100|H10722E508
-10722E508:lI105|H107230830
-107230830:lI116|H1072328F8
-1072328F8:lI111|H107234690
-107234690:lI114|H107236138
-107236138:lI46|H107237990
-107237990:lI98|H107238FE8
-107238FE8:lI101|H10723A480
-10723A480:lI97|H10723B7A0
-10723B7A0:lI109|N
-1071F4F90:lH1071F77C8|N
-1071F77C8:lI119|H1071FA420
-1071FA420:lI120|H1071FD360
-1071FD360:lI83|H107200418
-107200418:lI99|H1072035C0
-1072035C0:lI114|H1072067F0
-1072067F0:lI111|H107209A98
-107209A98:lI108|H10720CCF8
-10720CCF8:lI108|H10720FF08
-10720FF08:lI69|H107213188
-107213188:lI118|H107216540
-107216540:lI101|H107219AE0
-107219AE0:lI110|H10721D100
-10721D100:lI116|H1072206C0
-1072206C0:lI46|H1072239F8
-1072239F8:lI98|H107226A20
-107226A20:lI101|H107229668
-107229668:lI97|H10722BF20
-10722BF20:lI109|N
-1071F2B28:lH1071F4F70|N
-1071F4F70:lI119|H1071F77A8
-1071F77A8:lI120|H1071FA400
-1071FA400:lI83|H1071FD340
-1071FD340:lI112|H1072003F8
-1072003F8:lI108|H1072035A0
-1072035A0:lI97|H1072067D0
-1072067D0:lI115|H107209A78
-107209A78:lI104|H10720CCD8
-10720CCD8:lI83|H10720FEE8
-10720FEE8:lI99|H107213168
-107213168:lI114|H107216520
-107216520:lI101|H107219AC0
-107219AC0:lI101|H10721D0E0
-10721D0E0:lI110|H1072206A0
-1072206A0:lI46|H1072239D8
-1072239D8:lI98|H107226A00
-107226A00:lI101|H107229648
-107229648:lI97|H10722BF00
-10722BF00:lI109|N
-1071F2B18:lH1071F4F60|N
-1071F4F60:lI119|H1071F7798
-1071F7798:lI120|H1071FA3F0
-1071FA3F0:lI80|H1071FD330
-1071FD330:lI97|H1072003E8
-1072003E8:lI105|H107203590
-107203590:lI110|H1072067C0
-1072067C0:lI116|H107209A68
-107209A68:lI68|H10720CCC8
-10720CCC8:lI67|H10720FED8
-10720FED8:lI46|H107213158
-107213158:lI98|H107216510
-107216510:lI101|H107219AB0
-107219AB0:lI97|H10721D0D0
-10721D0D0:lI109|N
-1071F2AF8:Mn3:H1071F4F30,H1071F4F40,H1071F4F50
-1071F4F30:lH1071F7768|N
-1071F7768:lI119|H1071FA3C0
-1071FA3C0:lI120|H1071FD300
-1071FD300:lI71|H1072003B8
-1072003B8:lI67|H107203560
-107203560:lI68|H107206790
-107206790:lI67|H107209A38
-107209A38:lI46|H10720CC98
-10720CC98:lI98|H10720FEA8
-10720FEA8:lI101|H107213128
-107213128:lI97|H1072164E0
-1072164E0:lI109|N
-1071F4F50:lH1071F7788|N
-1071F7788:lI119|H1071FA3E0
-1071FA3E0:lI120|H1071FD320
-1071FD320:lI84|H1072003D8
-1072003D8:lI101|H107203580
-107203580:lI120|H1072067B0
-1072067B0:lI116|H107209A58
-107209A58:lI68|H10720CCB8
-10720CCB8:lI97|H10720FEC8
-10720FEC8:lI116|H107213148
-107213148:lI97|H107216500
-107216500:lI79|H107219AA0
-107219AA0:lI98|H10721D0C0
-10721D0C0:lI106|H107220690
-107220690:lI101|H1072239C8
-1072239C8:lI99|H1072269F0
-1072269F0:lI116|H107229638
-107229638:lI46|H10722BEF0
-10722BEF0:lI98|H10722E4F8
-10722E4F8:lI101|H107230820
-107230820:lI97|H1072328E8
-1072328E8:lI109|N
-1071F4F40:lH1071F7778|N
-1071F7778:lI119|H1071FA3D0
-1071FA3D0:lI120|H1071FD310
-1071FD310:lI71|H1072003C8
-1072003C8:lI114|H107203570
-107203570:lI97|H1072067A0
-1072067A0:lI112|H107209A48
-107209A48:lI104|H10720CCA8
-10720CCA8:lI105|H10720FEB8
-10720FEB8:lI99|H107213138
-107213138:lI115|H1072164F0
-1072164F0:lI66|H107219A90
-107219A90:lI114|H10721D0B0
-10721D0B0:lI117|H107220680
-107220680:lI115|H1072239B8
-1072239B8:lI104|H1072269E0
-1072269E0:lI46|H107229628
-107229628:lI98|H10722BEE0
-10722BEE0:lI101|H10722E4E8
-10722E4E8:lI97|H107230810
-107230810:lI109|N
-1071F2AE0:Mn2:H1071F4F10,H1071F4F20
-1071F4F10:lH1071F7748|N
-1071F7748:lI119|H1071FA3A0
-1071FA3A0:lI120|H1071FD2E0
-1071FD2E0:lI67|H107200398
-107200398:lI108|H107203540
-107203540:lI105|H107206770
-107206770:lI112|H107209A18
-107209A18:lI98|H10720CC78
-10720CC78:lI111|H10720FE88
-10720FE88:lI97|H107213108
-107213108:lI114|H1072164C0
-1072164C0:lI100|H107219A70
-107219A70:lI46|H10721D090
-10721D090:lI98|H107220660
-107220660:lI101|H107223998
-107223998:lI97|H1072269C0
-1072269C0:lI109|N
-1071F4F20:lH1071F7758|N
-1071F7758:lI119|H1071FA3B0
-1071FA3B0:lI120|H1071FD2F0
-1071FD2F0:lI77|H1072003A8
-1072003A8:lI101|H107203550
-107203550:lI110|H107206780
-107206780:lI117|H107209A28
-107209A28:lI69|H10720CC88
-10720CC88:lI118|H10720FE98
-10720FE98:lI101|H107213118
-107213118:lI110|H1072164D0
-1072164D0:lI116|H107219A80
-107219A80:lI46|H10721D0A0
-10721D0A0:lI98|H107220670
-107220670:lI101|H1072239A8
-1072239A8:lI97|H1072269D0
-1072269D0:lI109|N
-1071F2AC8:Mn2:H1071F4EF0,H1071F4F00
-1071F4EF0:lH1071F7728|N
-1071F7728:lI119|H1071FA380
-1071FA380:lI120|H1071FD2C0
-1071FD2C0:lI67|H107200378
-107200378:lI108|H107203520
-107203520:lI111|H107206750
-107206750:lI115|H1072099F8
-1072099F8:lI101|H10720CC58
-10720CC58:lI69|H10720FE68
-10720FE68:lI118|H1072130E8
-1072130E8:lI101|H1072164A0
-1072164A0:lI110|H107219A50
-107219A50:lI116|H10721D070
-10721D070:lI46|H107220640
-107220640:lI98|H107223978
-107223978:lI101|H1072269A0
-1072269A0:lI97|H107229618
-107229618:lI109|N
-1071F4F00:lH1071F7738|N
-1071F7738:lI119|H1071FA390
-1071FA390:lI120|H1071FD2D0
-1071FD2D0:lI83|H107200388
-107200388:lI112|H107203530
-107203530:lI105|H107206760
-107206760:lI110|H107209A08
-107209A08:lI69|H10720CC68
-10720CC68:lI118|H10720FE78
-10720FE78:lI101|H1072130F8
-1072130F8:lI110|H1072164B0
-1072164B0:lI116|H107219A60
-107219A60:lI46|H10721D080
-10721D080:lI98|H107220650
-107220650:lI101|H107223988
-107223988:lI97|H1072269B0
-1072269B0:lI109|N
-1071F2AB0:Mn2:H1071F4ED0,H1071F4EE0
-1071F4ED0:lH1071F7708|N
-1071F7708:lI119|H1071FA360
-1071FA360:lI120|H1071FD2A0
-1071FD2A0:lI83|H107200358
-107200358:lI97|H107203500
-107203500:lI115|H107206730
-107206730:lI104|H1072099D8
-1072099D8:lI76|H10720CC38
-10720CC38:lI97|H10720FE48
-10720FE48:lI121|H1072130C8
-1072130C8:lI111|H107216480
-107216480:lI117|H107219A30
-107219A30:lI116|H10721D050
-10721D050:lI87|H107220620
-107220620:lI105|H107223958
-107223958:lI110|H107226990
-107226990:lI100|H107229608
-107229608:lI111|H10722BED0
-10722BED0:lI119|H10722E4D8
-10722E4D8:lI46|H107230800
-107230800:lI98|H1072328D8
-1072328D8:lI101|H107234680
-107234680:lI97|H107236128
-107236128:lI109|N
-1071F4EE0:lH1071F7718|N
-1071F7718:lI119|H1071FA370
-1071FA370:lI120|H1071FD2B0
-1071FD2B0:lI66|H107200368
-107200368:lI111|H107203510
-107203510:lI120|H107206740
-107206740:lI83|H1072099E8
-1072099E8:lI105|H10720CC48
-10720CC48:lI122|H10720FE58
-10720FE58:lI101|H1072130D8
-1072130D8:lI114|H107216490
-107216490:lI46|H107219A40
-107219A40:lI98|H10721D060
-10721D060:lI101|H107220630
-107220630:lI97|H107223968
-107223968:lI109|N
-1071F1000:Mn9:H1071F29E0,H1071F29F0,H1071F2A08,H1071F2A18,H1071F2A28,H1071F2A48,H1071F2A58,H1071F2A68,H1071F2A78
-1071F29E0:lH1071F4DD0|N
-1071F4DD0:lI119|H1071F7608
-1071F7608:lI120|H1071FA260
-1071FA260:lI80|H1071FD1A0
-1071FD1A0:lI105|H107200258
-107200258:lI99|H107203400
-107203400:lI107|H107206630
-107206630:lI101|H1072098D8
-1072098D8:lI114|H10720CB38
-10720CB38:lI66|H10720FD48
-10720FD48:lI97|H107212FC8
-107212FC8:lI115|H107216380
-107216380:lI101|H107219930
-107219930:lI46|H10721CF70
-10721CF70:lI98|H107220550
-107220550:lI101|H107223898
-107223898:lI97|H1072268D0
-1072268D0:lI109|N
-1071F2A78:Mn3:H1071F4E80,H1071F4E90,H1071F4EA0
-1071F4E80:lH1071F76B8|N
-1071F76B8:lI119|H1071FA310
-1071FA310:lI120|H1071FD250
-1071FD250:lI71|H107200308
-107200308:lI114|H1072034B0
-1072034B0:lI105|H1072066E0
-1072066E0:lI100|H107209988
-107209988:lI67|H10720CBE8
-10720CBE8:lI101|H10720FDF8
-10720FDF8:lI108|H107213078
-107213078:lI108|H107216430
-107216430:lI69|H1072199E0
-1072199E0:lI100|H10721D010
-10721D010:lI105|H1072205E0
-1072205E0:lI116|H107223918
-107223918:lI111|H107226950
-107226950:lI114|H1072295C8
-1072295C8:lI46|H10722BEA0
-10722BEA0:lI98|H10722E4A8
-10722E4A8:lI101|H1072307D0
-1072307D0:lI97|H1072328A8
-1072328A8:lI109|N
-1071F4EA0:lH1071F76D8|N
-1071F76D8:lI119|H1071FA330
-1071FA330:lI120|H1071FD270
-1071FD270:lI71|H107200328
-107200328:lI114|H1072034D0
-1072034D0:lI105|H107206700
-107206700:lI100|H1072099A8
-1072099A8:lI67|H10720CC08
-10720CC08:lI101|H10720FE18
-10720FE18:lI108|H107213098
-107213098:lI108|H107216450
-107216450:lI83|H107219A00
-107219A00:lI116|H10721D030
-10721D030:lI114|H107220600
-107220600:lI105|H107223938
-107223938:lI110|H107226970
-107226970:lI103|H1072295E8
-1072295E8:lI82|H10722BEC0
-10722BEC0:lI101|H10722E4C8
-10722E4C8:lI110|H1072307F0
-1072307F0:lI100|H1072328C8
-1072328C8:lI101|H107234670
-107234670:lI114|H107236118
-107236118:lI101|H107237980
-107237980:lI114|H107238FD8
-107238FD8:lI46|H10723A470
-10723A470:lI98|H10723B790
-10723B790:lI101|H10723C840
-10723C840:lI97|H10723D6D0
-10723D6D0:lI109|N
-1071F4E90:lH1071F76C8|N
-1071F76C8:lI119|H1071FA320
-1071FA320:lI120|H1071FD260
-1071FD260:lI83|H107200318
-107200318:lI116|H1072034C0
-1072034C0:lI121|H1072066F0
-1072066F0:lI108|H107209998
-107209998:lI101|H10720CBF8
-10720CBF8:lI100|H10720FE08
-10720FE08:lI84|H107213088
-107213088:lI101|H107216440
-107216440:lI120|H1072199F0
-1072199F0:lI116|H10721D020
-10721D020:lI69|H1072205F0
-1072205F0:lI118|H107223928
-107223928:lI101|H107226960
-107226960:lI110|H1072295D8
-1072295D8:lI116|H10722BEB0
-10722BEB0:lI46|H10722E4B8
-10722E4B8:lI98|H1072307E0
-1072307E0:lI101|H1072328B8
-1072328B8:lI97|H107234660
-107234660:lI109|N
-1071F2A68:lH1071F4E70|N
-1071F4E70:lI119|H1071F76A8
-1071F76A8:lI120|H1071FA300
-1071FA300:lI83|H1071FD240
-1071FD240:lI105|H1072002F8
-1072002F8:lI122|H1072034A0
-1072034A0:lI101|H1072066D0
-1072066D0:lI114|H107209978
-107209978:lI70|H10720CBD8
-10720CBD8:lI108|H10720FDE8
-10720FDE8:lI97|H107213068
-107213068:lI103|H107216420
-107216420:lI115|H1072199D0
-1072199D0:lI46|H10721D000
-10721D000:lI98|H1072205D0
-1072205D0:lI101|H107223908
-107223908:lI97|H107226940
-107226940:lI109|N
-1071F2A58:lH1071F4E60|N
-1071F4E60:lI119|H1071F7698
-1071F7698:lI120|H1071FA2F0
-1071FA2F0:lI77|H1071FD230
-1071FD230:lI117|H1072002E8
-1072002E8:lI108|H107203490
-107203490:lI116|H1072066C0
-1072066C0:lI105|H107209968
-107209968:lI67|H10720CBC8
-10720CBC8:lI104|H10720FDD8
-10720FDD8:lI111|H107213058
-107213058:lI105|H107216410
-107216410:lI99|H1072199C0
-1072199C0:lI101|H10721CFF0
-10721CFF0:lI68|H1072205C0
-1072205C0:lI105|H1072238F8
-1072238F8:lI97|H107226930
-107226930:lI108|H1072295B8
-1072295B8:lI111|H10722BE90
-10722BE90:lI103|H10722E498
-10722E498:lI46|H1072307C0
-1072307C0:lI98|H107232898
-107232898:lI101|H107234650
-107234650:lI97|H107236108
-107236108:lI109|N
-1071F2A48:lH1071F4E50|N
-1071F4E50:lI119|H1071F7688
-1071F7688:lI120|H1071FA2E0
-1071FA2E0:lI67|H1071FD220
-1071FD220:lI111|H1072002D8
-1072002D8:lI109|H107203480
-107203480:lI98|H1072066B0
-1072066B0:lI111|H107209958
-107209958:lI66|H10720CBB8
-10720CBB8:lI111|H10720FDC8
-10720FDC8:lI120|H107213048
-107213048:lI46|H107216400
-107216400:lI98|H1072199B0
-1072199B0:lI101|H10721CFE0
-10721CFE0:lI97|H1072205B0
-1072205B0:lI109|N
-1071F2A28:Mn3:H1071F4E20,H1071F4E30,H1071F4E40
-1071F4E20:lH1071F7658|N
-1071F7658:lI119|H1071FA2B0
-1071FA2B0:lI120|H1071FD1F0
-1071FD1F0:lI80|H1072002A8
-1072002A8:lI97|H107203450
-107203450:lI115|H107206680
-107206680:lI115|H107209928
-107209928:lI119|H10720CB88
-10720CB88:lI111|H10720FD98
-10720FD98:lI114|H107213018
-107213018:lI100|H1072163D0
-1072163D0:lI69|H107219980
-107219980:lI110|H10721CFB0
-10721CFB0:lI116|H107220580
-107220580:lI114|H1072238C8
-1072238C8:lI121|H107226900
-107226900:lI68|H107229588
-107229588:lI105|H10722BE60
-10722BE60:lI97|H10722E478
-10722E478:lI108|H1072307A0
-1072307A0:lI111|H107232878
-107232878:lI103|H107234630
-107234630:lI46|H1072360E8
-1072360E8:lI98|H107237960
-107237960:lI101|H107238FB8
-107238FB8:lI97|H10723A460
-10723A460:lI109|N
-1071F4E40:lH1071F7678|N
-1071F7678:lI119|H1071FA2D0
-1071FA2D0:lI120|H1071FD210
-1071FD210:lI65|H1072002C8
-1072002C8:lI114|H107203470
-107203470:lI116|H1072066A0
-1072066A0:lI80|H107209948
-107209948:lI114|H10720CBA8
-10720CBA8:lI111|H10720FDB8
-10720FDB8:lI118|H107213038
-107213038:lI105|H1072163F0
-1072163F0:lI100|H1072199A0
-1072199A0:lI101|H10721CFD0
-10721CFD0:lI114|H1072205A0
-1072205A0:lI46|H1072238E8
-1072238E8:lI98|H107226920
-107226920:lI101|H1072295A8
-1072295A8:lI97|H10722BE80
-10722BE80:lI109|N
-1071F4E30:lH1071F7668|N
-1071F7668:lI119|H1071FA2C0
-1071FA2C0:lI120|H1071FD200
-1071FD200:lI83|H1072002B8
-1072002B8:lI105|H107203460
-107203460:lI110|H107206690
-107206690:lI103|H107209938
-107209938:lI108|H10720CB98
-10720CB98:lI101|H10720FDA8
-10720FDA8:lI67|H107213028
-107213028:lI104|H1072163E0
-1072163E0:lI111|H107219990
-107219990:lI105|H10721CFC0
-10721CFC0:lI99|H107220590
-107220590:lI101|H1072238D8
-1072238D8:lI68|H107226910
-107226910:lI105|H107229598
-107229598:lI97|H10722BE70
-10722BE70:lI108|H10722E488
-10722E488:lI111|H1072307B0
-1072307B0:lI103|H107232888
-107232888:lI46|H107234640
-107234640:lI98|H1072360F8
-1072360F8:lI101|H107237970
-107237970:lI97|H107238FC8
-107238FC8:lI109|N
-1071F2A18:lH1071F4E10|N
-1071F4E10:lI119|H1071F7648
-1071F7648:lI120|H1071FA2A0
-1071FA2A0:lI95|H1071FD1E0
-1071FD1E0:lI111|H107200298
-107200298:lI98|H107203440
-107203440:lI106|H107206670
-107206670:lI101|H107209918
-107209918:lI99|H10720CB78
-10720CB78:lI116|H10720FD88
-10720FD88:lI46|H107213008
-107213008:lI98|H1072163C0
-1072163C0:lI101|H107219970
-107219970:lI97|H10721CFA0
-10721CFA0:lI109|N
-1071F2A08:lH1071F4E00|N
-1071F4E00:lI119|H1071F7638
-1071F7638:lI120|H1071FA290
-1071FA290:lI65|H1071FD1D0
-1071FD1D0:lI99|H107200288
-107200288:lI99|H107203430
-107203430:lI101|H107206660
-107206660:lI108|H107209908
-107209908:lI101|H10720CB68
-10720CB68:lI114|H10720FD78
-10720FD78:lI97|H107212FF8
-107212FF8:lI116|H1072163B0
-1072163B0:lI111|H107219960
-107219960:lI114|H10721CF90
-10721CF90:lI69|H107220570
-107220570:lI110|H1072238B8
-1072238B8:lI116|H1072268F0
-1072268F0:lI114|H107229578
-107229578:lI121|H10722BE50
-10722BE50:lI46|H10722E468
-10722E468:lI98|H107230790
-107230790:lI101|H107232868
-107232868:lI97|H107234620
-107234620:lI109|N
-1071F29F0:Mn2:H1071F4DE0,H1071F4DF0
-1071F4DE0:lH1071F7618|N
-1071F7618:lI119|H1071FA270
-1071FA270:lI120|H1071FD1B0
-1071FD1B0:lI70|H107200268
-107200268:lI114|H107203410
-107203410:lI97|H107206640
-107206640:lI109|H1072098E8
-1072098E8:lI101|H10720CB48
-10720CB48:lI46|H10720FD58
-10720FD58:lI98|H107212FD8
-107212FD8:lI101|H107216390
-107216390:lI97|H107219940
-107219940:lI109|N
-1071F4DF0:lH1071F7628|N
-1071F7628:lI119|H1071FA280
-1071FA280:lI120|H1071FD1C0
-1071FD1C0:lI67|H107200278
-107200278:lI104|H107203420
-107203420:lI105|H107206650
-107206650:lI108|H1072098F8
-1072098F8:lI100|H10720CB58
-10720CB58:lI70|H10720FD68
-10720FD68:lI111|H107212FE8
-107212FE8:lI99|H1072163A0
-1072163A0:lI117|H107219950
-107219950:lI115|H10721CF80
-10721CF80:lI69|H107220560
-107220560:lI118|H1072238A8
-1072238A8:lI101|H1072268E0
-1072268E0:lI110|H107229568
-107229568:lI116|H10722BE40
-10722BE40:lI46|H10722E458
-10722E458:lI98|H107230780
-107230780:lI101|H107232858
-107232858:lI97|H107234610
-107234610:lI109|N
-1071F0FA0:MnB:H1071F28F8,H1071F2908,H1071F2918,H1071F2928,H1071F2938,H1071F2948,H1071F2978,H1071F2990,H1071F29A0,H1071F29B8,H1071F29D0
-1071F28F8:lH1071F4CA8|N
-1071F4CA8:lI119|H1071F74D8
-1071F74D8:lI120|H1071FA130
-1071FA130:lI71|H1071FD070
-1071FD070:lI76|H107200128
-107200128:lI67|H1072032D0
-1072032D0:lI111|H107206500
-107206500:lI110|H1072097B8
-1072097B8:lI116|H10720CA18
-10720CA18:lI101|H10720FC28
-10720FC28:lI120|H107212EA8
-107212EA8:lI116|H107216260
-107216260:lI46|H107219810
-107219810:lI98|H10721CE50
-10721CE50:lI101|H107220440
-107220440:lI97|H1072237B8
-1072237B8:lI109|N
-1071F29D0:lH1071F4DC0|N
-1071F4DC0:lI119|H1071F75F8
-1071F75F8:lI120|H1071FA250
-1071FA250:lI78|H1071FD190
-1071FD190:lI111|H107200248
-107200248:lI116|H1072033F0
-1072033F0:lI101|H107206620
-107206620:lI98|H1072098C8
-1072098C8:lI111|H10720CB28
-10720CB28:lI111|H10720FD38
-10720FD38:lI107|H107212FB8
-107212FB8:lI46|H107216370
-107216370:lI98|H107219920
-107219920:lI101|H10721CF60
-10721CF60:lI97|H107220540
-107220540:lI109|N
-1071F29B8:Mn2:H1071F4DA0,H1071F4DB0
-1071F4DA0:lH1071F75D8|N
-1071F75D8:lI119|H1071FA230
-1071FA230:lI120|H1071FD170
-1071FD170:lI76|H107200228
-107200228:lI105|H1072033D0
-1072033D0:lI115|H107206600
-107206600:lI116|H1072098A8
-1072098A8:lI69|H10720CB08
-10720CB08:lI118|H10720FD18
-10720FD18:lI101|H107212F98
-107212F98:lI110|H107216350
-107216350:lI116|H107219900
-107219900:lI46|H10721CF40
-10721CF40:lI98|H107220520
-107220520:lI101|H107223878
-107223878:lI97|H1072268B0
-1072268B0:lI109|N
-1071F4DB0:lH1071F75E8|N
-1071F75E8:lI119|H1071FA240
-1071FA240:lI120|H1071FD180
-1071FD180:lI65|H107200238
-107200238:lI117|H1072033E0
-1072033E0:lI105|H107206610
-107206610:lI77|H1072098B8
-1072098B8:lI97|H10720CB18
-10720CB18:lI110|H10720FD28
-10720FD28:lI97|H107212FA8
-107212FA8:lI103|H107216360
-107216360:lI101|H107219910
-107219910:lI114|H10721CF50
-10721CF50:lI46|H107220530
-107220530:lI98|H107223888
-107223888:lI101|H1072268C0
-1072268C0:lI97|H107229558
-107229558:lI109|N
-1071F29A0:Mn2:H1071F4D80,H1071F4D90
-1071F4D80:lH1071F75B8|N
-1071F75B8:lI119|H1071FA210
-1071FA210:lI120|H1071FD150
-1071FD150:lI87|H107200208
-107200208:lI105|H1072033B0
-1072033B0:lI110|H1072065E0
-1072065E0:lI100|H107209888
-107209888:lI111|H10720CAE8
-10720CAE8:lI119|H10720FCF8
-10720FCF8:lI46|H107212F78
-107212F78:lI98|H107216330
-107216330:lI101|H1072198E0
-1072198E0:lI97|H10721CF20
-10721CF20:lI109|N
-1071F4D90:lH1071F75C8|N
-1071F75C8:lI119|H1071FA220
-1071FA220:lI120|H1071FD160
-1071FD160:lI80|H107200218
-107200218:lI97|H1072033C0
-1072033C0:lI108|H1072065F0
-1072065F0:lI101|H107209898
-107209898:lI116|H10720CAF8
-10720CAF8:lI116|H10720FD08
-10720FD08:lI101|H107212F88
-107212F88:lI46|H107216340
-107216340:lI98|H1072198F0
-1072198F0:lI101|H10721CF30
-10721CF30:lI97|H107220510
-107220510:lI109|N
-1071F2990:lH1071F4D70|N
-1071F4D70:lI119|H1071F75A8
-1071F75A8:lI120|H1071FA200
-1071FA200:lI67|H1071FD140
-1071FD140:lI97|H1072001F8
-1072001F8:lI108|H1072033A0
-1072033A0:lI101|H1072065D0
-1072065D0:lI110|H107209878
-107209878:lI100|H10720CAD8
-10720CAD8:lI97|H10720FCE8
-10720FCE8:lI114|H107212F68
-107212F68:lI68|H107216320
-107216320:lI97|H1072198D0
-1072198D0:lI116|H10721CF10
-10721CF10:lI101|H107220500
-107220500:lI65|H107223868
-107223868:lI116|H1072268A0
-1072268A0:lI116|H107229548
-107229548:lI114|H10722BE30
-10722BE30:lI46|H10722E448
-10722E448:lI98|H107230770
-107230770:lI101|H107232848
-107232848:lI97|H107234600
-107234600:lI109|N
-1071F2978:Mn2:H1071F4D50,H1071F4D60
-1071F4D50:lH1071F7588|N
-1071F7588:lI119|H1071FA1E0
-1071FA1E0:lI120|H1071FD120
-1071FD120:lI84|H1072001D8
-1072001D8:lI101|H107203380
-107203380:lI120|H1072065B0
-1072065B0:lI116|H107209858
-107209858:lI69|H10720CAB8
-10720CAB8:lI110|H10720FCC8
-10720FCC8:lI116|H107212F48
-107212F48:lI114|H107216300
-107216300:lI121|H1072198B0
-1072198B0:lI68|H10721CEF0
-10721CEF0:lI105|H1072204E0
-1072204E0:lI97|H107223858
-107223858:lI108|H107226890
-107226890:lI111|H107229538
-107229538:lI103|H10722BE20
-10722BE20:lI46|H10722E438
-10722E438:lI98|H107230760
-107230760:lI101|H107232838
-107232838:lI97|H1072345F0
-1072345F0:lI109|N
-1071F4D60:lH1071F7598|N
-1071F7598:lI119|H1071FA1F0
-1071FA1F0:lI120|H1071FD130
-1071FD130:lI84|H1072001E8
-1072001E8:lI111|H107203390
-107203390:lI111|H1072065C0
-1072065C0:lI108|H107209868
-107209868:lI84|H10720CAC8
-10720CAC8:lI105|H10720FCD8
-10720FCD8:lI112|H107212F58
-107212F58:lI46|H107216310
-107216310:lI98|H1072198C0
-1072198C0:lI101|H10721CF00
-10721CF00:lI97|H1072204F0
-1072204F0:lI109|N
-1071F2948:Mn5:H1071F4CF8,H1071F4D10,H1071F4D20,H1071F4D30,H1071F4D40
-1071F4CF8:Mn2:H1071F7528,H1071F7538
-1071F7528:lH1071FA180|N
-1071FA180:lI119|H1071FD0C0
-1071FD0C0:lI120|H107200178
-107200178:lI83|H107203320
-107203320:lI116|H107206550
-107206550:lI100|H1072097F8
-1072097F8:lI68|H10720CA58
-10720CA58:lI105|H10720FC68
-10720FC68:lI97|H107212EE8
-107212EE8:lI108|H1072162A0
-1072162A0:lI111|H107219850
-107219850:lI103|H10721CE90
-10721CE90:lI66|H107220480
-107220480:lI117|H1072237F8
-1072237F8:lI116|H107226850
-107226850:lI116|H1072294F8
-1072294F8:lI111|H10722BE00
-10722BE00:lI110|H10722E418
-10722E418:lI83|H107230750
-107230750:lI105|H107232828
-107232828:lI122|H1072345E0
-1072345E0:lI101|H1072360D8
-1072360D8:lI114|H107237950
-107237950:lI46|H107238FA8
-107238FA8:lI98|H10723A450
-10723A450:lI101|H10723B780
-10723B780:lI97|H10723C830
-10723C830:lI109|N
-1071F7538:lH1071FA190|N
-1071FA190:lI119|H1071FD0D0
-1071FD0D0:lI120|H107200188
-107200188:lI83|H107203330
-107203330:lI116|H107206560
-107206560:lI97|H107209808
-107209808:lI116|H10720CA68
-10720CA68:lI105|H10720FC78
-10720FC78:lI99|H107212EF8
-107212EF8:lI66|H1072162B0
-1072162B0:lI111|H107219860
-107219860:lI120|H10721CEA0
-10721CEA0:lI46|H107220490
-107220490:lI98|H107223808
-107223808:lI101|H107226860
-107226860:lI97|H107229508
-107229508:lI109|N
-1071F4D40:lH1071F7578|N
-1071F7578:lI119|H1071FA1D0
-1071FA1D0:lI120|H1071FD110
-1071FD110:lI73|H1072001C8
-1072001C8:lI99|H107203370
-107203370:lI111|H1072065A0
-1072065A0:lI110|H107209848
-107209848:lI66|H10720CAA8
-10720CAA8:lI117|H10720FCB8
-10720FCB8:lI110|H107212F38
-107212F38:lI100|H1072162F0
-1072162F0:lI108|H1072198A0
-1072198A0:lI101|H10721CEE0
-10721CEE0:lI46|H1072204D0
-1072204D0:lI98|H107223848
-107223848:lI101|H107226880
-107226880:lI97|H107229528
-107229528:lI109|N
-1071F4D30:lH1071F7568|N
-1071F7568:lI119|H1071FA1C0
-1071FA1C0:lI120|H1071FD100
-1071FD100:lI84|H1072001B8
-1072001B8:lI114|H107203360
-107203360:lI101|H107206590
-107206590:lI101|H107209838
-107209838:lI67|H10720CA98
-10720CA98:lI116|H10720FCA8
-10720FCA8:lI114|H107212F28
-107212F28:lI108|H1072162E0
-1072162E0:lI46|H107219890
-107219890:lI98|H10721CED0
-10721CED0:lI101|H1072204C0
-1072204C0:lI97|H107223838
-107223838:lI109|N
-1071F4D20:lH1071F7558|N
-1071F7558:lI119|H1071FA1B0
-1071FA1B0:lI120|H1071FD0F0
-1071FD0F0:lI67|H1072001A8
-1072001A8:lI97|H107203350
-107203350:lI108|H107206580
-107206580:lI101|H107209828
-107209828:lI110|H10720CA88
-10720CA88:lI100|H10720FC98
-10720FC98:lI97|H107212F18
-107212F18:lI114|H1072162D0
-1072162D0:lI67|H107219880
-107219880:lI116|H10721CEC0
-10721CEC0:lI114|H1072204B0
-1072204B0:lI108|H107223828
-107223828:lI46|H107226870
-107226870:lI98|H107229518
-107229518:lI101|H10722BE10
-10722BE10:lI97|H10722E428
-10722E428:lI109|N
-1071F4D10:lH1071F7548|N
-1071F7548:lI119|H1071FA1A0
-1071FA1A0:lI120|H1071FD0E0
-1071FD0E0:lI82|H107200198
-107200198:lI97|H107203340
-107203340:lI100|H107206570
-107206570:lI105|H107209818
-107209818:lI111|H10720CA78
-10720CA78:lI66|H10720FC88
-10720FC88:lI111|H107212F08
-107212F08:lI120|H1072162C0
-1072162C0:lI46|H107219870
-107219870:lI98|H10721CEB0
-10721CEB0:lI101|H1072204A0
-1072204A0:lI97|H107223818
-107223818:lI109|N
-1071F2938:lH1071F4CE8|N
-1071F4CE8:lI119|H1071F7518
-1071F7518:lI120|H1071FA170
-1071FA170:lI84|H1071FD0B0
-1071FD0B0:lI97|H107200168
-107200168:lI115|H107203310
-107203310:lI107|H107206540
-107206540:lI66|H1072097E8
-1072097E8:lI97|H10720CA48
-10720CA48:lI114|H10720FC58
-10720FC58:lI73|H107212ED8
-107212ED8:lI99|H107216290
-107216290:lI111|H107219840
-107219840:lI110|H10721CE80
-10721CE80:lI69|H107220470
-107220470:lI118|H1072237E8
-1072237E8:lI101|H107226840
-107226840:lI110|H1072294E8
-1072294E8:lI116|H10722BDF0
-10722BDF0:lI46|H10722E408
-10722E408:lI98|H107230740
-107230740:lI101|H107232818
-107232818:lI97|H1072345D0
-1072345D0:lI109|N
-1071F2928:lH1071F4CD8|N
-1071F4CD8:lI119|H1071F7508
-1071F7508:lI120|H1071FA160
-1071FA160:lI70|H1071FD0A0
-1071FD0A0:lI105|H107200158
-107200158:lI108|H107203300
-107203300:lI101|H107206530
-107206530:lI80|H1072097D8
-1072097D8:lI105|H10720CA38
-10720CA38:lI99|H10720FC48
-10720FC48:lI107|H107212EC8
-107212EC8:lI101|H107216280
-107216280:lI114|H107219830
-107219830:lI67|H10721CE70
-10721CE70:lI116|H107220460
-107220460:lI114|H1072237D8
-1072237D8:lI108|H107226830
-107226830:lI46|H1072294D8
-1072294D8:lI98|H10722BDE0
-10722BDE0:lI101|H10722E3F8
-10722E3F8:lI97|H107230730
-107230730:lI109|N
-1071F2918:lH1071F4CC8|N
-1071F4CC8:lI119|H1071F74F8
-1071F74F8:lI120|H1071FA150
-1071FA150:lI80|H1071FD090
-1071FD090:lI97|H107200148
-107200148:lI105|H1072032F0
-1072032F0:lI110|H107206520
-107206520:lI116|H1072097C8
-1072097C8:lI69|H10720CA28
-10720CA28:lI118|H10720FC38
-10720FC38:lI101|H107212EB8
-107212EB8:lI110|H107216270
-107216270:lI116|H107219820
-107219820:lI46|H10721CE60
-10721CE60:lI98|H107220450
-107220450:lI101|H1072237C8
-1072237C8:lI97|H107226820
-107226820:lI109|N
-1071F2908:lH1071F4CB8|N
-1071F4CB8:lI103|H1071F74E8
-1071F74E8:lI108|H1071FA140
-1071FA140:lI46|H1071FD080
-1071FD080:lI98|H107200138
-107200138:lI101|H1072032E0
-1072032E0:lI97|H107206510
-107206510:lI109|N
-1071F0F50:Mn9:H1071F2858,H1071F2868,H1071F2878,H1071F2890,H1071F28A0,H1071F28B0,H1071F28C8,H1071F28D8,H1071F28E8
-1071F2858:lH1071F4BF8|N
-1071F4BF8:lI119|H1071F7428
-1071F7428:lI120|H1071FA080
-1071FA080:lI70|H1071FCFC0
-1071FCFC0:lI111|H107200078
-107200078:lI110|H107203220
-107203220:lI116|H107206450
-107206450:lI80|H107209708
-107209708:lI105|H10720C968
-10720C968:lI99|H10720FB78
-10720FB78:lI107|H107212E08
-107212E08:lI101|H1072161C0
-1072161C0:lI114|H107219780
-107219780:lI67|H10721CDD0
-10721CDD0:lI116|H1072203D0
-1072203D0:lI114|H107223758
-107223758:lI108|H1072267D0
-1072267D0:lI46|H107229488
-107229488:lI98|H10722BD90
-10722BD90:lI101|H10722E3A8
-10722E3A8:lI97|H1072306F0
-1072306F0:lI109|N
-1071F28E8:lH1071F4C98|N
-1071F4C98:lI119|H1071F74C8
-1071F74C8:lI120|H1071FA120
-1071FA120:lI76|H1071FD060
-1071FD060:lI105|H107200118
-107200118:lI115|H1072032C0
-1072032C0:lI116|H1072064F0
-1072064F0:lI66|H1072097A8
-1072097A8:lI111|H10720CA08
-10720CA08:lI120|H10720FC18
-10720FC18:lI46|H107212E98
-107212E98:lI98|H107216250
-107216250:lI101|H107219800
-107219800:lI97|H10721CE40
-10721CE40:lI109|N
-1071F28D8:lH1071F4C88|N
-1071F4C88:lI119|H1071F74B8
-1071F74B8:lI120|H1071FA110
-1071FA110:lI83|H1071FD050
-1071FD050:lI104|H107200108
-107200108:lI111|H1072032B0
-1072032B0:lI119|H1072064E0
-1072064E0:lI69|H107209798
-107209798:lI118|H10720C9F8
-10720C9F8:lI101|H10720FC08
-10720FC08:lI110|H107212E88
-107212E88:lI116|H107216240
-107216240:lI46|H1072197F0
-1072197F0:lI98|H10721CE30
-10721CE30:lI101|H107220430
-107220430:lI97|H1072237A8
-1072237A8:lI109|N
-1071F28C8:lH1071F4C78|N
-1071F4C78:lI119|H1071F74A8
-1071F74A8:lI120|H1071FA100
-1071FA100:lI71|H1071FD040
-1071FD040:lI114|H1072000F8
-1072000F8:lI105|H1072032A0
-1072032A0:lI100|H1072064D0
-1072064D0:lI67|H107209788
-107209788:lI101|H10720C9E8
-10720C9E8:lI108|H10720FBF8
-10720FBF8:lI108|H107212E78
-107212E78:lI66|H107216230
-107216230:lI111|H1072197E0
-1072197E0:lI111|H10721CE20
-10721CE20:lI108|H107220420
-107220420:lI69|H107223798
-107223798:lI100|H107226810
-107226810:lI105|H1072294C8
-1072294C8:lI116|H10722BDD0
-10722BDD0:lI111|H10722E3E8
-10722E3E8:lI114|H107230720
-107230720:lI46|H107232808
-107232808:lI98|H1072345C0
-1072345C0:lI101|H1072360C8
-1072360C8:lI97|H107237940
-107237940:lI109|N
-1071F28B0:Mn2:H1071F4C58,H1071F4C68
-1071F4C58:lH1071F7488|N
-1071F7488:lI119|H1071FA0E0
-1071FA0E0:lI120|H1071FD020
-1071FD020:lI77|H1072000D8
-1072000D8:lI68|H107203280
-107203280:lI73|H1072064B0
-1072064B0:lI67|H107209768
-107209768:lI108|H10720C9C8
-10720C9C8:lI105|H10720FBD8
-10720FBD8:lI101|H107212E58
-107212E58:lI110|H107216210
-107216210:lI116|H1072197C0
-1072197C0:lI87|H10721CE00
-10721CE00:lI105|H107220400
-107220400:lI110|H107223788
-107223788:lI100|H107226800
-107226800:lI111|H1072294B8
-1072294B8:lI119|H10722BDC0
-10722BDC0:lI46|H10722E3D8
-10722E3D8:lI98|H107230710
-107230710:lI101|H1072327F8
-1072327F8:lI97|H1072345B0
-1072345B0:lI109|N
-1071F4C68:lH1071F7498|N
-1071F7498:lI119|H1071FA0F0
-1071FA0F0:lI120|H1071FD030
-1071FD030:lI68|H1072000E8
-1072000E8:lI105|H107203290
-107203290:lI115|H1072064C0
-1072064C0:lI112|H107209778
-107209778:lI108|H10720C9D8
-10720C9D8:lI97|H10720FBE8
-10720FBE8:lI121|H107212E68
-107212E68:lI46|H107216220
-107216220:lI98|H1072197D0
-1072197D0:lI101|H10721CE10
-10721CE10:lI97|H107220410
-107220410:lI109|N
-1071F28A0:lH1071F4C48|N
-1071F4C48:lI119|H1071F7478
-1071F7478:lI120|H1071FA0D0
-1071FA0D0:lI66|H1071FD010
-1071FD010:lI105|H1072000C8
-1072000C8:lI116|H107203270
-107203270:lI109|H1072064A0
-1072064A0:lI97|H107209758
-107209758:lI112|H10720C9B8
-10720C9B8:lI46|H10720FBC8
-10720FBC8:lI98|H107212E48
-107212E48:lI101|H107216200
-107216200:lI97|H1072197B0
-1072197B0:lI109|N
-1071F2890:lH1071F4C38|N
-1071F4C38:lI119|H1071F7468
-1071F7468:lI120|H1071FA0C0
-1071FA0C0:lI80|H1071FD000
-1071FD000:lI101|H1072000B8
-1072000B8:lI110|H107203260
-107203260:lI46|H107206490
-107206490:lI98|H107209748
-107209748:lI101|H10720C9A8
-10720C9A8:lI97|H10720FBB8
-10720FBB8:lI109|N
-1071F2878:Mn2:H1071F4C18,H1071F4C28
-1071F4C18:lH1071F7448|N
-1071F7448:lI119|H1071FA0A0
-1071FA0A0:lI120|H1071FCFE0
-1071FCFE0:lI71|H107200098
-107200098:lI114|H107203240
-107203240:lI97|H107206470
-107206470:lI112|H107209728
-107209728:lI104|H10720C988
-10720C988:lI105|H10720FB98
-10720FB98:lI99|H107212E28
-107212E28:lI115|H1072161E0
-1072161E0:lI67|H1072197A0
-1072197A0:lI111|H10721CDF0
-10721CDF0:lI110|H1072203F0
-1072203F0:lI116|H107223778
-107223778:lI101|H1072267F0
-1072267F0:lI120|H1072294A8
-1072294A8:lI116|H10722BDB0
-10722BDB0:lI46|H10722E3C8
-10722E3C8:lI98|H107230700
-107230700:lI101|H1072327E8
-1072327E8:lI97|H1072345A0
-1072345A0:lI109|N
-1071F4C28:lH1071F7458|N
-1071F7458:lI119|H1071FA0B0
-1071FA0B0:lI120|H1071FCFF0
-1071FCFF0:lI77|H1072000A8
-1072000A8:lI97|H107203250
-107203250:lI115|H107206480
-107206480:lI107|H107209738
-107209738:lI46|H10720C998
-10720C998:lI98|H10720FBA8
-10720FBA8:lI101|H107212E38
-107212E38:lI97|H1072161F0
-1072161F0:lI109|N
-1071F2868:lH1071F4C08|N
-1071F4C08:lI119|H1071F7438
-1071F7438:lI120|H1071FA090
-1071FA090:lI83|H1071FCFD0
-1071FCFD0:lI112|H107200088
-107200088:lI108|H107203230
-107203230:lI105|H107206460
-107206460:lI116|H107209718
-107209718:lI116|H10720C978
-10720C978:lI101|H10720FB88
-10720FB88:lI114|H107212E18
-107212E18:lI69|H1072161D0
-1072161D0:lI118|H107219790
-107219790:lI101|H10721CDE0
-10721CDE0:lI110|H1072203E0
-1072203E0:lI116|H107223768
-107223768:lI46|H1072267E0
-1072267E0:lI98|H107229498
-107229498:lI101|H10722BDA0
-10722BDA0:lI97|H10722E3B8
-10722E3B8:lI109|N
-1071F0EF8:MnA:H1071F27A8,H1071F27C0,H1071F27D0,H1071F27E8,H1071F27F8,H1071F2808,H1071F2818,H1071F2828,H1071F2838,H1071F2848
-1071F27A8:Mn2:H1071F4B30,H1071F4B40
-1071F4B30:lH1071F7358|N
-1071F7358:lI119|H1071F9FB0
-1071F9FB0:lI120|H1071FCEF0
-1071FCEF0:lI72|H1071FFFA8
-1071FFFA8:lI116|H107203150
-107203150:lI109|H107206380
-107206380:lI108|H107209638
-107209638:lI87|H10720C898
-10720C898:lI105|H10720FAA8
-10720FAA8:lI110|H107212D38
-107212D38:lI100|H1072160F0
-1072160F0:lI111|H1072196C0
-1072196C0:lI119|H10721CD30
-10721CD30:lI46|H107220330
-107220330:lI98|H1072236D8
-1072236D8:lI101|H107226750
-107226750:lI97|H107229418
-107229418:lI109|N
-1071F4B40:lH1071F7368|N
-1071F7368:lI119|H1071F9FC0
-1071F9FC0:lI120|H1071FCF00
-1071FCF00:lI67|H1071FFFB8
-1071FFFB8:lI97|H107203160
-107203160:lI114|H107206390
-107206390:lI101|H107209648
-107209648:lI116|H10720C8A8
-10720C8A8:lI46|H10720FAB8
-10720FAB8:lI98|H107212D48
-107212D48:lI101|H107216100
-107216100:lI97|H1072196D0
-1072196D0:lI109|N
-1071F2848:lH1071F4BE8|N
-1071F4BE8:lI119|H1071F7418
-1071F7418:lI120|H1071FA070
-1071FA070:lI101|H1071FCFB0
-1071FCFB0:lI95|H107200068
-107200068:lI109|H107203210
-107203210:lI97|H107206440
-107206440:lI115|H1072096F8
-1072096F8:lI116|H10720C958
-10720C958:lI101|H10720FB68
-10720FB68:lI114|H107212DF8
-107212DF8:lI46|H1072161B0
-1072161B0:lI98|H107219770
-107219770:lI101|H10721CDC0
-10721CDC0:lI97|H1072203C0
-1072203C0:lI109|N
-1071F2838:Mn1:H1071F4BD0
-1071F4BD0:Mn2:H1071F73F8,H1071F7408
-1071F73F8:lH1071FA050|N
-1071FA050:lI119|H1071FCF90
-1071FCF90:lI120|H107200048
-107200048:lI65|H1072031F0
-1072031F0:lI117|H107206420
-107206420:lI105|H1072096D8
-1072096D8:lI78|H10720C938
-10720C938:lI111|H10720FB48
-10720FB48:lI116|H107212DD8
-107212DD8:lI101|H107216190
-107216190:lI98|H107219750
-107219750:lI111|H10721CDA0
-10721CDA0:lI111|H1072203A0
-1072203A0:lI107|H107223738
-107223738:lI46|H1072267B0
-1072267B0:lI98|H107229468
-107229468:lI101|H10722BD70
-10722BD70:lI97|H10722E388
-10722E388:lI109|N
-1071F7408:lH1071FA060|N
-1071FA060:lI119|H1071FCFA0
-1071FCFA0:lI120|H107200058
-107200058:lI85|H107203200
-107203200:lI112|H107206430
-107206430:lI100|H1072096E8
-1072096E8:lI97|H10720C948
-10720C948:lI116|H10720FB58
-10720FB58:lI101|H107212DE8
-107212DE8:lI85|H1072161A0
-1072161A0:lI73|H107219760
-107219760:lI69|H10721CDB0
-10721CDB0:lI118|H1072203B0
-1072203B0:lI101|H107223748
-107223748:lI110|H1072267C0
-1072267C0:lI116|H107229478
-107229478:lI46|H10722BD80
-10722BD80:lI98|H10722E398
-10722E398:lI101|H1072306E0
-1072306E0:lI97|H1072327D8
-1072327D8:lI109|N
-1071F2828:lH1071F4BC0|N
-1071F4BC0:lI119|H1071F73E8
-1071F73E8:lI120|H1071FA040
-1071FA040:lI101|H1071FCF80
-1071FCF80:lI95|H107200038
-107200038:lI115|H1072031E0
-1072031E0:lI101|H107206410
-107206410:lI114|H1072096C8
-1072096C8:lI118|H10720C928
-10720C928:lI101|H10720FB38
-10720FB38:lI114|H107212DC8
-107212DC8:lI46|H107216180
-107216180:lI98|H107219740
-107219740:lI101|H10721CD90
-10721CD90:lI97|H107220390
-107220390:lI109|N
-1071F2818:lH1071F4BB0|N
-1071F4BB0:lI119|H1071F73D8
-1071F73D8:lI120|H1071FA030
-1071FA030:lI67|H1071FCF70
-1071FCF70:lI111|H107200028
-107200028:lI109|H1072031D0
-1072031D0:lI109|H107206400
-107206400:lI97|H1072096B8
-1072096B8:lI110|H10720C918
-10720C918:lI100|H10720FB28
-10720FB28:lI69|H107212DB8
-107212DB8:lI118|H107216170
-107216170:lI101|H107219730
-107219730:lI110|H10721CD80
-10721CD80:lI116|H107220380
-107220380:lI46|H107223728
-107223728:lI98|H1072267A0
-1072267A0:lI101|H107229458
-107229458:lI97|H10722BD60
-10722BD60:lI109|N
-1071F2808:lH1071F4BA0|N
-1071F4BA0:lI119|H1071F73C8
-1071F73C8:lI120|H1071FA020
-1071FA020:lI67|H1071FCF60
-1071FCF60:lI104|H107200018
-107200018:lI111|H1072031C0
-1072031C0:lI105|H1072063F0
-1072063F0:lI99|H1072096A8
-1072096A8:lI101|H10720C908
-10720C908:lI46|H10720FB18
-10720FB18:lI98|H107212DA8
-107212DA8:lI101|H107216160
-107216160:lI97|H107219720
-107219720:lI109|N
-1071F27F8:lH1071F4B90|N
-1071F4B90:lI119|H1071F73B8
-1071F73B8:lI120|H1071FA010
-1071FA010:lI71|H1071FCF50
-1071FCF50:lI114|H107200008
-107200008:lI105|H1072031B0
-1072031B0:lI100|H1072063E0
-1072063E0:lI66|H107209698
-107209698:lI97|H10720C8F8
-10720C8F8:lI103|H10720FB08
-10720FB08:lI83|H107212D98
-107212D98:lI105|H107216150
-107216150:lI122|H107219710
-107219710:lI101|H10721CD70
-10721CD70:lI114|H107220370
-107220370:lI46|H107223718
-107223718:lI98|H107226790
-107226790:lI101|H107229448
-107229448:lI97|H10722BD50
-10722BD50:lI109|N
-1071F27E8:lH1071F4B80|N
-1071F4B80:lI119|H1071F73A8
-1071F73A8:lI120|H1071FA000
-1071FA000:lI71|H1071FCF40
-1071FCF40:lI97|H1071FFFF8
-1071FFFF8:lI117|H1072031A0
-1072031A0:lI103|H1072063D0
-1072063D0:lI101|H107209688
-107209688:lI46|H10720C8E8
-10720C8E8:lI98|H10720FAF8
-10720FAF8:lI101|H107212D88
-107212D88:lI97|H107216140
-107216140:lI109|N
-1071F27D0:Mn2:H1071F4B60,H1071F4B70
-1071F4B60:lH1071F7388|N
-1071F7388:lI119|H1071F9FE0
-1071F9FE0:lI120|H1071FCF20
-1071FCF20:lI72|H1071FFFD8
-1071FFFD8:lI101|H107203180
-107203180:lI108|H1072063B0
-1072063B0:lI112|H107209668
-107209668:lI69|H10720C8C8
-10720C8C8:lI118|H10720FAD8
-10720FAD8:lI101|H107212D68
-107212D68:lI110|H107216120
-107216120:lI116|H1072196F0
-1072196F0:lI46|H10721CD50
-10721CD50:lI98|H107220350
-107220350:lI101|H1072236F8
-1072236F8:lI97|H107226770
-107226770:lI109|N
-1071F4B70:lH1071F7398|N
-1071F7398:lI119|H1071F9FF0
-1071F9FF0:lI120|H1071FCF30
-1071FCF30:lI67|H1071FFFE8
-1071FFFE8:lI104|H107203190
-107203190:lI101|H1072063C0
-1072063C0:lI99|H107209678
-107209678:lI107|H10720C8D8
-10720C8D8:lI76|H10720FAE8
-10720FAE8:lI105|H107212D78
-107212D78:lI115|H107216130
-107216130:lI116|H107219700
-107219700:lI66|H10721CD60
-10721CD60:lI111|H107220360
-107220360:lI120|H107223708
-107223708:lI46|H107226780
-107226780:lI98|H107229438
-107229438:lI101|H10722BD40
-10722BD40:lI97|H10722E378
-10722E378:lI109|N
-1071F27C0:lH1071F4B50|N
-1071F4B50:lI119|H1071F7378
-1071F7378:lI120|H1071F9FD0
-1071F9FD0:lI80|H1071FCF10
-1071FCF10:lI114|H1071FFFC8
-1071FFFC8:lI105|H107203170
-107203170:lI110|H1072063A0
-1072063A0:lI116|H107209658
-107209658:lI68|H10720C8B8
-10720C8B8:lI105|H10720FAC8
-10720FAC8:lI97|H107212D58
-107212D58:lI108|H107216110
-107216110:lI111|H1072196E0
-1072196E0:lI103|H10721CD40
-10721CD40:lI46|H107220340
-107220340:lI98|H1072236E8
-1072236E8:lI101|H107226760
-107226760:lI97|H107229428
-107229428:lI109|N
-1071F02B8:lI47|H1071F0E78
-1071F0E78:lI111|H1071F2698
-1071F2698:lI112|H1071F49F0
-1071F49F0:lI116|H1071F7218
-1071F7218:lI47|H1071F9E70
-1071F9E70:lI104|H1071FCDB0
-1071FCDB0:lI111|H1071FFE68
-1071FFE68:lI109|H107203010
-107203010:lI101|H107206240
-107206240:lI98|H1072094F8
-1072094F8:lI114|H10720C758
-10720C758:lI101|H10720F968
-10720F968:lI119|H107212BF8
-107212BF8:lI47|H107215FC0
-107215FC0:lI67|H1072195A0
-1072195A0:lI101|H10721CC10
-10721CC10:lI108|H107220220
-107220220:lI108|H1072235C8
-1072235C8:lI97|H107226660
-107226660:lI114|H107229358
-107229358:lI47|H10722BCA0
-10722BCA0:lI101|H10722E2E8
-10722E2E8:lI114|H107230670
-107230670:lI108|H107232768
-107232768:lI97|H107234560
-107234560:lI110|H107236088
-107236088:lI103|H107237900
-107237900:lI47|H107238F78
-107238F78:lI50|H10723A430
-10723A430:lI54|H10723B760
-10723B760:lI46|H10723C820
-10723C820:lI48|H10723D6C0
-10723D6C0:lI46|H10723E440
-10723E440:lI50|H10723F050
-10723F050:lI47|H10723FB20
-10723FB20:lI108|H107240470
-107240470:lI105|H107240CF0
-107240CF0:lI98|H107241480
-107241480:lI47|H107241BB0
-107241BB0:lI101|H107242280
-107242280:lI114|H1072428F0
-1072428F0:lI108|H107242EF0
-107242EF0:lI97|H107243460
-107243460:lI110|H1072439A0
-1072439A0:lI103|H107243E90
-107243E90:lI47|H107244380
-107244380:lI108|H107244830
-107244830:lI105|H107244CA0
-107244CA0:lI98|H107245100
-107245100:lI47|H107245550
-107245550:lI119|H107245950
-107245950:lI120|H107245D10
-107245D10:lI45|H1072460A0
-1072460A0:lI50|H107246430
-107246430:lI46|H1072467C0
-1072467C0:lI51|H107246B50
-107246B50:lI47|H280052C20
-10724AF50:lH10724AFC0|H10724AFD8
-10724AFC0:t2:H1071F0378,H1071F0388
-1071F0388:Mf10:H1071F1440:N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N
-1071F1440:t10:H1071F3338,H1071F3348,H1071F3358,H1071F3368,H1071F3378,H1071F3388,H1071F3398,H1071F33A8,H1071F33B8,H1071F33C8,H1071F33D8,H1071F33E8,H1071F33F8,H1071F3408,H1071F3418,H1071F3428
-1071F3428:lI120|H1071F5A10
-1071F5A10:lI114|H1071F8278
-1071F8278:lI101|H1071FAED0
-1071FAED0:lI102|H1071FDE10
-1071FDE10:lI95|H107200EC8
-107200EC8:lI117|H107204070
-107204070:lI116|H1072072A0
-1072072A0:lI105|H10720A528
-10720A528:lI108|H10720D738
-10720D738:lI115|H1072108E8
-1072108E8:lI46|H107213B48
-107213B48:lI98|H107216F00
-107216F00:lI101|H10721A470
-10721A470:lI97|H10721DA20
-10721DA20:lI109|N
-1071F3418:lI120|H1071F5A00
-1071F5A00:lI114|H1071F8268
-1071F8268:lI101|H1071FAEC0
-1071FAEC0:lI102|H1071FDE00
-1071FDE00:lI95|H107200EB8
-107200EB8:lI115|H107204060
-107204060:lI99|H107207290
-107207290:lI97|H10720A518
-10720A518:lI110|H10720D728
-10720D728:lI110|H1072108D8
-1072108D8:lI101|H107213B38
-107213B38:lI114|H107216EF0
-107216EF0:lI46|H10721A460
-10721A460:lI98|H10721DA10
-10721DA10:lI101|H107220F60
-107220F60:lI97|H1072241A8
-1072241A8:lI109|N
-1071F3408:lI120|H1071F59F0
-1071F59F0:lI114|H1071F8258
-1071F8258:lI101|H1071FAEB0
-1071FAEB0:lI102|H1071FDDF0
-1071FDDF0:lI95|H107200EA8
-107200EA8:lI114|H107204050
-107204050:lI101|H107207280
-107207280:lI97|H10720A508
-10720A508:lI100|H10720D718
-10720D718:lI101|H1072108C8
-1072108C8:lI114|H107213B28
-107213B28:lI46|H107216EE0
-107216EE0:lI98|H10721A450
-10721A450:lI101|H10721DA00
-10721DA00:lI97|H107220F50
-107220F50:lI109|N
-1071F33F8:lI120|H1071F59E0
-1071F59E0:lI114|H1071F8248
-1071F8248:lI101|H1071FAEA0
-1071FAEA0:lI102|H1071FDDE0
-1071FDDE0:lI95|H107200E98
-107200E98:lI112|H107204040
-107204040:lI97|H107207270
-107207270:lI114|H10720A4F8
-10720A4F8:lI115|H10720D708
-10720D708:lI101|H1072108B8
-1072108B8:lI114|H107213B18
-107213B18:lI46|H107216ED0
-107216ED0:lI98|H10721A440
-10721A440:lI101|H10721D9F0
-10721D9F0:lI97|H107220F40
-107220F40:lI109|N
-1071F33E8:lI120|H1071F59D0
-1071F59D0:lI114|H1071F8238
-1071F8238:lI101|H1071FAE90
-1071FAE90:lI102|H1071FDDD0
-1071FDDD0:lI95|H107200E88
-107200E88:lI99|H107204030
-107204030:lI111|H107207260
-107207260:lI109|H10720A4E8
-10720A4E8:lI112|H10720D6F8
-10720D6F8:lI105|H1072108A8
-1072108A8:lI108|H107213B08
-107213B08:lI101|H107216EC0
-107216EC0:lI114|H10721A430
-10721A430:lI46|H10721D9E0
-10721D9E0:lI98|H107220F30
-107220F30:lI101|H107224198
-107224198:lI97|H1072270E0
-1072270E0:lI109|N
-1071F33D8:lI120|H1071F59C0
-1071F59C0:lI114|H1071F8228
-1071F8228:lI101|H1071FAE80
-1071FAE80:lI102|H1071FDDC0
-1071FDDC0:lI95|H107200E78
-107200E78:lI98|H107204020
-107204020:lI97|H107207250
-107207250:lI115|H10720A4D8
-10720A4D8:lI101|H10720D6E8
-10720D6E8:lI46|H107210898
-107210898:lI98|H107213AF8
-107213AF8:lI101|H107216EB0
-107216EB0:lI97|H10721A420
-10721A420:lI109|N
-1071F33C8:lI120|H1071F59B0
-1071F59B0:lI114|H1071F8218
-1071F8218:lI101|H1071FAE70
-1071FAE70:lI102|H1071FDDB0
-1071FDDB0:lI46|H107200E68
-107200E68:lI98|H107204010
-107204010:lI101|H107207240
-107207240:lI97|H10720A4C8
-10720A4C8:lI109|N
-1071F33B8:lI116|H1071F59A0
-1071F59A0:lI111|H1071F8208
-1071F8208:lI111|H1071FAE60
-1071FAE60:lI108|H1071FDDA0
-1071FDDA0:lI115|H107200E58
-107200E58:lI46|H107204000
-107204000:lI97|H107207230
-107207230:lI112|H10720A4B8
-10720A4B8:lI112|H10720D6D8
-10720D6D8:lI117|H107210888
-107210888:lI112|N
-1071F33A8:lI116|H1071F5990
-1071F5990:lI111|H1071F81F8
-1071F81F8:lI111|H1071FAE50
-1071FAE50:lI108|H1071FDD90
-1071FDD90:lI115|H107200E48
-107200E48:lI46|H107203FF0
-107203FF0:lI97|H107207220
-107207220:lI112|H10720A4A8
-10720A4A8:lI112|N
-1071F3398:lI116|H1071F5980
-1071F5980:lI97|H1071F81E8
-1071F81E8:lI103|H1071FAE40
-1071FAE40:lI115|H1071FDD80
-1071FDD80:lI46|H107200E38
-107200E38:lI98|H107203FE0
-107203FE0:lI101|H107207210
-107207210:lI97|H10720A498
-10720A498:lI109|N
-1071F3388:lI109|H1071F5970
-1071F5970:lI97|H1071F81D8
-1071F81D8:lI107|H1071FAE30
-1071FAE30:lI101|H1071FDD70
-1071FDD70:lI46|H107200E28
-107200E28:lI98|H107203FD0
-107203FD0:lI101|H107207200
-107207200:lI97|H10720A488
-10720A488:lI109|N
-1071F3378:lI108|H1071F5960
-1071F5960:lI99|H1071F81C8
-1071F81C8:lI110|H1071FAE20
-1071FAE20:lI116|H1071FDD60
-1071FDD60:lI46|H107200E18
-107200E18:lI98|H107203FC0
-107203FC0:lI101|H1072071F0
-1072071F0:lI97|H10720A478
-10720A478:lI109|N
-1071F3368:lI102|H1071F5950
-1071F5950:lI112|H1071F81B8
-1071F81B8:lI114|H1071FAE10
-1071FAE10:lI111|H1071FDD50
-1071FDD50:lI102|H107200E08
-107200E08:lI46|H107203FB0
-107203FB0:lI98|H1072071E0
-1072071E0:lI101|H10720A468
-10720A468:lI97|H10720D6C8
-10720D6C8:lI109|N
-1071F3358:lI101|H1071F5940
-1071F5940:lI112|H1071F81A8
-1071F81A8:lI114|H1071FAE00
-1071FAE00:lI111|H1071FDD40
-1071FDD40:lI102|H107200DF8
-107200DF8:lI46|H107203FA0
-107203FA0:lI98|H1072071D0
-1072071D0:lI101|H10720A458
-10720A458:lI97|H10720D6B8
-10720D6B8:lI109|N
-1071F3348:lI99|H1071F5930
-1071F5930:lI112|H1071F8198
-1071F8198:lI114|H1071FADF0
-1071FADF0:lI111|H1071FDD30
-1071FDD30:lI102|H107200DE8
-107200DE8:lI46|H107203F90
-107203F90:lI98|H1072071C0
-1072071C0:lI101|H10720A448
-10720A448:lI97|H10720D6A8
-10720D6A8:lI109|N
-1071F3338:lI99|H1071F5920
-1071F5920:lI111|H1071F8188
-1071F8188:lI118|H1071FADE0
-1071FADE0:lI101|H1071FDD20
-1071FDD20:lI114|H107200DD8
-107200DD8:lI46|H107203F80
-107203F80:lI98|H1072071B0
-1072071B0:lI101|H10720A438
-10720A438:lI97|H10720D698
-10720D698:lI109|N
-1071F0378:lI47|H1071F1430
-1071F1430:lI111|H1071F3328
-1071F3328:lI112|H1071F5910
-1071F5910:lI116|H1071F8178
-1071F8178:lI47|H1071FADD0
-1071FADD0:lI104|H1071FDD10
-1071FDD10:lI111|H107200DC8
-107200DC8:lI109|H107203F70
-107203F70:lI101|H1072071A0
-1072071A0:lI98|H10720A428
-10720A428:lI114|H10720D688
-10720D688:lI101|H107210878
-107210878:lI119|H107213AE8
-107213AE8:lI47|H107216EA0
-107216EA0:lI67|H10721A410
-10721A410:lI101|H10721D9D0
-10721D9D0:lI108|H107220F20
-107220F20:lI108|H107224188
-107224188:lI97|H1072270D0
-1072270D0:lI114|H107229C38
-107229C38:lI47|H10722C460
-10722C460:lI101|H10722E9A8
-10722E9A8:lI114|H107230C20
-107230C20:lI108|H107232C18
-107232C18:lI97|H1072348F0
-1072348F0:lI110|H107236328
-107236328:lI103|H107237AF0
-107237AF0:lI47|H107239108
-107239108:lI50|H10723A5A0
-10723A5A0:lI54|H10723B860
-10723B860:lI46|H10723C8B0
-10723C8B0:lI48|H10723D720
-10723D720:lI46|H10723E480
-10723E480:lI50|H10723F090
-10723F090:lI47|H10723FB50
-10723FB50:lI108|H1072404A0
-1072404A0:lI105|H107240D20
-107240D20:lI98|H1072414B0
-1072414B0:lI47|H107241BE0
-107241BE0:lI101|H1072422B0
-1072422B0:lI114|H107242920
-107242920:lI108|H107242F20
-107242F20:lI97|H107243490
-107243490:lI110|H1072439D0
-1072439D0:lI103|H107243EC0
-107243EC0:lI47|H1072443B0
-1072443B0:lI108|H107244860
-107244860:lI105|H107244CD0
-107244CD0:lI98|H107245130
-107245130:lI47|H107245580
-107245580:lI116|H107245980
-107245980:lI111|H107245D40
-107245D40:lI111|H1072460D0
-1072460D0:lI108|H107246460
-107246460:lI115|H1072467F0
-1072467F0:lI45|H107246B80
-107246B80:lI51|H107246EB0
-107246EB0:lI46|H1072471D0
-1072471D0:lI54|H1072474F0
-1072474F0:lI47|H280052C20
-10724AFD8:lH10724B048|H10724B060
-10724B048:t2:H1071F0440,H1071F0450
-1071F0450:MfA:H1071F14F8:N,N,N,N,N,N,N,N,N,N
-1071F14F8:tA:H1071F3468,H1071F3478,H1071F3488,H1071F3498,H1071F34A8,H1071F34B8,H1071F34C8,H1071F34D8,H1071F34E8,H1071F34F8
-1071F34F8:lI116|H1071F5AE0
-1071F5AE0:lI102|H1071F8348
-1071F8348:lI116|H1071FAFA0
-1071FAFA0:lI112|H1071FDEE0
-1071FDEE0:lI95|H107200F98
-107200F98:lI115|H107204140
-107204140:lI117|H107207370
-107207370:lI112|H10720A5E8
-10720A5E8:lI46|H10720D7E8
-10720D7E8:lI98|H107210988
-107210988:lI101|H107213BE8
-107213BE8:lI97|H107216FA0
-107216FA0:lI109|N
-1071F34E8:lI116|H1071F5AD0
-1071F5AD0:lI102|H1071F8338
-1071F8338:lI116|H1071FAF90
-1071FAF90:lI112|H1071FDED0
-1071FDED0:lI95|H107200F88
-107200F88:lI108|H107204130
-107204130:lI111|H107207360
-107207360:lI103|H10720A5D8
-10720A5D8:lI103|H10720D7D8
-10720D7D8:lI101|H107210978
-107210978:lI114|H107213BD8
-107213BD8:lI46|H107216F90
-107216F90:lI98|H10721A4E0
-10721A4E0:lI101|H10721DA80
-10721DA80:lI97|H107220FC0
-107220FC0:lI109|N
-1071F34D8:lI116|H1071F5AC0
-1071F5AC0:lI102|H1071F8328
-1071F8328:lI116|H1071FAF80
-1071FAF80:lI112|H1071FDEC0
-1071FDEC0:lI95|H107200F78
-107200F78:lI108|H107204120
-107204120:lI105|H107207350
-107207350:lI98|H10720A5C8
-10720A5C8:lI46|H10720D7C8
-10720D7C8:lI98|H107210968
-107210968:lI101|H107213BC8
-107213BC8:lI97|H107216F80
-107216F80:lI109|N
-1071F34C8:lI116|H1071F5AB0
-1071F5AB0:lI102|H1071F8318
-1071F8318:lI116|H1071FAF70
-1071FAF70:lI112|H1071FDEB0
-1071FDEB0:lI95|H107200F68
-107200F68:lI102|H107204110
-107204110:lI105|H107207340
-107207340:lI108|H10720A5B8
-10720A5B8:lI101|H10720D7B8
-10720D7B8:lI46|H107210958
-107210958:lI98|H107213BB8
-107213BB8:lI101|H107216F70
-107216F70:lI97|H10721A4D0
-10721A4D0:lI109|N
-1071F34B8:lI116|H1071F5AA0
-1071F5AA0:lI102|H1071F8308
-1071F8308:lI116|H1071FAF60
-1071FAF60:lI112|H1071FDEA0
-1071FDEA0:lI95|H107200F58
-107200F58:lI101|H107204100
-107204100:lI110|H107207330
-107207330:lI103|H10720A5A8
-10720A5A8:lI105|H10720D7A8
-10720D7A8:lI110|H107210948
-107210948:lI101|H107213BA8
-107213BA8:lI46|H107216F60
-107216F60:lI98|H10721A4C0
-10721A4C0:lI101|H10721DA70
-10721DA70:lI97|H107220FB0
-107220FB0:lI109|N
-1071F34A8:lI116|H1071F5A90
-1071F5A90:lI102|H1071F82F8
-1071F82F8:lI116|H1071FAF50
-1071FAF50:lI112|H1071FDE90
-1071FDE90:lI95|H107200F48
-107200F48:lI98|H1072040F0
-1072040F0:lI105|H107207320
-107207320:lI110|H10720A598
-10720A598:lI97|H10720D798
-10720D798:lI114|H107210938
-107210938:lI121|H107213B98
-107213B98:lI46|H107216F50
-107216F50:lI98|H10721A4B0
-10721A4B0:lI101|H10721DA60
-10721DA60:lI97|H107220FA0
-107220FA0:lI109|N
-1071F3498:lI116|H1071F5A80
-1071F5A80:lI102|H1071F82E8
-1071F82E8:lI116|H1071FAF40
-1071FAF40:lI112|H1071FDE80
-1071FDE80:lI95|H107200F38
-107200F38:lI97|H1072040E0
-1072040E0:lI112|H107207310
-107207310:lI112|H10720A588
-10720A588:lI46|H10720D788
-10720D788:lI98|H107210928
-107210928:lI101|H107213B88
-107213B88:lI97|H107216F40
-107216F40:lI109|N
-1071F3488:lI116|H1071F5A70
-1071F5A70:lI102|H1071F82D8
-1071F82D8:lI116|H1071FAF30
-1071FAF30:lI112|H1071FDE70
-1071FDE70:lI46|H107200F28
-107200F28:lI98|H1072040D0
-1072040D0:lI101|H107207300
-107207300:lI97|H10720A578
-10720A578:lI109|N
-1071F3478:lI116|H1071F5A60
-1071F5A60:lI102|H1071F82C8
-1071F82C8:lI116|H1071FAF20
-1071FAF20:lI112|H1071FDE60
-1071FDE60:lI46|H107200F18
-107200F18:lI97|H1072040C0
-1072040C0:lI112|H1072072F0
-1072072F0:lI112|H10720A568
-10720A568:lI117|H10720D778
-10720D778:lI112|N
-1071F3468:lI116|H1071F5A50
-1071F5A50:lI102|H1071F82B8
-1071F82B8:lI116|H1071FAF10
-1071FAF10:lI112|H1071FDE50
-1071FDE50:lI46|H107200F08
-107200F08:lI97|H1072040B0
-1072040B0:lI112|H1072072E0
-1072072E0:lI112|N
-1071F0440:lI47|H1071F14E8
-1071F14E8:lI111|H1071F3458
-1071F3458:lI112|H1071F5A40
-1071F5A40:lI116|H1071F82A8
-1071F82A8:lI47|H1071FAF00
-1071FAF00:lI104|H1071FDE40
-1071FDE40:lI111|H107200EF8
-107200EF8:lI109|H1072040A0
-1072040A0:lI101|H1072072D0
-1072072D0:lI98|H10720A558
-10720A558:lI114|H10720D768
-10720D768:lI101|H107210918
-107210918:lI119|H107213B78
-107213B78:lI47|H107216F30
-107216F30:lI67|H10721A4A0
-10721A4A0:lI101|H10721DA50
-10721DA50:lI108|H107220F90
-107220F90:lI108|H1072241D8
-1072241D8:lI97|H107227110
-107227110:lI114|H107229C68
-107229C68:lI47|H10722C490
-10722C490:lI101|H10722E9D8
-10722E9D8:lI114|H107230C50
-107230C50:lI108|H107232C48
-107232C48:lI97|H107234920
-107234920:lI110|H107236358
-107236358:lI103|H107237B20
-107237B20:lI47|H107239138
-107239138:lI50|H10723A5D0
-10723A5D0:lI54|H10723B890
-10723B890:lI46|H10723C8E0
-10723C8E0:lI48|H10723D750
-10723D750:lI46|H10723E4B0
-10723E4B0:lI50|H10723F0C0
-10723F0C0:lI47|H10723FB80
-10723FB80:lI108|H1072404D0
-1072404D0:lI105|H107240D50
-107240D50:lI98|H1072414E0
-1072414E0:lI47|H107241C10
-107241C10:lI101|H1072422E0
-1072422E0:lI114|H107242950
-107242950:lI108|H107242F50
-107242F50:lI97|H1072434C0
-1072434C0:lI110|H107243A00
-107243A00:lI103|H107243EF0
-107243EF0:lI47|H1072443E0
-1072443E0:lI108|H107244890
-107244890:lI105|H107244D00
-107244D00:lI98|H107245160
-107245160:lI47|H1072455B0
-1072455B0:lI116|H1072459B0
-1072459B0:lI102|H107245D70
-107245D70:lI116|H107246100
-107246100:lI112|H107246490
-107246490:lI45|H107246820
-107246820:lI49|H107246BB0
-107246BB0:lI46|H107246EE0
-107246EE0:lI49|H107247200
-107247200:lI47|H280052C20
-10724B060:lH10724B0D0|H10724B0E8
-10724B0D0:t2:H1071F04B8,H1071F04C8
-1071F04C8:MfB:H1071F1560:N,N,N,N,N,N,N,N,N,N,N
-1071F1560:tB:H1071F3518,H1071F3528,H1071F3538,H1071F3548,H1071F3558,H1071F3568,H1071F3578,H1071F3588,H1071F3598,H1071F35A8,H1071F35B8
-1071F35B8:lI115|H1071F5BA0
-1071F5BA0:lI121|H1071F8408
-1071F8408:lI110|H1071FB060
-1071FB060:lI116|H1071FDFA0
-1071FDFA0:lI97|H107201058
-107201058:lI120|H107204200
-107204200:lI95|H107207430
-107207430:lI116|H10720A6A8
-10720A6A8:lI111|H10720D898
-10720D898:lI111|H107210A38
-107210A38:lI108|H107213C98
-107213C98:lI115|H107217050
-107217050:lI46|H10721A580
-10721A580:lI97|H10721DB20
-10721DB20:lI112|H107221040
-107221040:lI112|H107224248
-107224248:lI117|H107227170
-107227170:lI112|N
-1071F35A8:lI115|H1071F5B90
-1071F5B90:lI121|H1071F83F8
-1071F83F8:lI110|H1071FB050
-1071FB050:lI116|H1071FDF90
-1071FDF90:lI97|H107201048
-107201048:lI120|H1072041F0
-1072041F0:lI95|H107207420
-107207420:lI116|H10720A698
-10720A698:lI111|H10720D888
-10720D888:lI111|H107210A28
-107210A28:lI108|H107213C88
-107213C88:lI115|H107217040
-107217040:lI46|H10721A570
-10721A570:lI97|H10721DB10
-10721DB10:lI112|H107221030
-107221030:lI112|N
-1071F3598:lI112|H1071F5B80
-1071F5B80:lI114|H1071F83E8
-1071F83E8:lI101|H1071FB040
-1071FB040:lI116|H1071FDF80
-1071FDF80:lI116|H107201038
-107201038:lI121|H1072041E0
-1072041E0:lI112|H107207410
-107207410:lI114|H10720A688
-10720A688:lI46|H10720D878
-10720D878:lI98|H107210A18
-107210A18:lI101|H107213C78
-107213C78:lI97|H107217030
-107217030:lI109|N
-1071F3588:lI109|H1071F5B70
-1071F5B70:lI101|H1071F83D8
-1071F83D8:lI114|H1071FB030
-1071FB030:lI108|H1071FDF70
-1071FDF70:lI95|H107201028
-107201028:lI116|H1072041D0
-1072041D0:lI114|H107207400
-107207400:lI97|H10720A678
-10720A678:lI110|H10720D868
-10720D868:lI115|H107210A08
-107210A08:lI102|H107213C68
-107213C68:lI111|H107217020
-107217020:lI114|H10721A560
-10721A560:lI109|H10721DB00
-10721DB00:lI46|H107221020
-107221020:lI98|H107224238
-107224238:lI101|H107227160
-107227160:lI97|H107229CA8
-107229CA8:lI109|N
-1071F3578:lI109|H1071F5B60
-1071F5B60:lI101|H1071F83C8
-1071F83C8:lI114|H1071FB020
-1071FB020:lI108|H1071FDF60
-1071FDF60:lI46|H107201018
-107201018:lI98|H1072041C0
-1072041C0:lI101|H1072073F0
-1072073F0:lI97|H10720A668
-10720A668:lI109|N
-1071F3568:lI101|H1071F5B50
-1071F5B50:lI114|H1071F83B8
-1071F83B8:lI108|H1071FB010
-1071FB010:lI95|H1071FDF50
-1071FDF50:lI115|H107201008
-107201008:lI121|H1072041B0
-1072041B0:lI110|H1072073E0
-1072073E0:lI116|H10720A658
-10720A658:lI97|H10720D858
-10720D858:lI120|H1072109F8
-1072109F8:lI95|H107213C58
-107213C58:lI108|H107217010
-107217010:lI105|H10721A550
-10721A550:lI98|H10721DAF0
-10721DAF0:lI46|H107221010
-107221010:lI98|H107224228
-107224228:lI101|H107227150
-107227150:lI97|H107229C98
-107229C98:lI109|N
-1071F3558:lI101|H1071F5B40
-1071F5B40:lI114|H1071F83A8
-1071F83A8:lI108|H1071FB000
-1071FB000:lI95|H1071FDF40
-1071FDF40:lI115|H107200FF8
-107200FF8:lI121|H1072041A0
-1072041A0:lI110|H1072073D0
-1072073D0:lI116|H10720A648
-10720A648:lI97|H10720D848
-10720D848:lI120|H1072109E8
-1072109E8:lI46|H107213C48
-107213C48:lI98|H107217000
-107217000:lI101|H10721A540
-10721A540:lI97|H10721DAE0
-10721DAE0:lI109|N
-1071F3548:lI101|H1071F5B30
-1071F5B30:lI114|H1071F8398
-1071F8398:lI108|H1071FAFF0
-1071FAFF0:lI95|H1071FDF30
-1071FDF30:lI114|H107200FE8
-107200FE8:lI101|H107204190
-107204190:lI99|H1072073C0
-1072073C0:lI111|H10720A638
-10720A638:lI109|H10720D838
-10720D838:lI109|H1072109D8
-1072109D8:lI101|H107213C38
-107213C38:lI110|H107216FF0
-107216FF0:lI116|H10721A530
-10721A530:lI46|H10721DAD0
-10721DAD0:lI98|H107221000
-107221000:lI101|H107224218
-107224218:lI97|H107227140
-107227140:lI109|N
-1071F3538:lI101|H1071F5B20
-1071F5B20:lI114|H1071F8388
-1071F8388:lI108|H1071FAFE0
-1071FAFE0:lI95|H1071FDF20
-1071FDF20:lI112|H107200FD8
-107200FD8:lI114|H107204180
-107204180:lI101|H1072073B0
-1072073B0:lI116|H10720A628
-10720A628:lI116|H10720D828
-10720D828:lI121|H1072109C8
-1072109C8:lI112|H107213C28
-107213C28:lI114|H107216FE0
-107216FE0:lI46|H10721A520
-10721A520:lI98|H10721DAC0
-10721DAC0:lI101|H107220FF0
-107220FF0:lI97|H107224208
-107224208:lI109|N
-1071F3528:lI101|H1071F5B10
-1071F5B10:lI114|H1071F8378
-1071F8378:lI108|H1071FAFD0
-1071FAFD0:lI95|H1071FDF10
-1071FDF10:lI99|H107200FC8
-107200FC8:lI111|H107204170
-107204170:lI109|H1072073A0
-1072073A0:lI109|H10720A618
-10720A618:lI101|H10720D818
-10720D818:lI110|H1072109B8
-1072109B8:lI116|H107213C18
-107213C18:lI95|H107216FD0
-107216FD0:lI115|H10721A510
-10721A510:lI99|H10721DAB0
-10721DAB0:lI97|H107220FE0
-107220FE0:lI110|H1072241F8
-1072241F8:lI46|H107227130
-107227130:lI98|H107229C88
-107229C88:lI101|H10722C4B0
-10722C4B0:lI97|H10722E9F8
-10722E9F8:lI109|N
-1071F3518:lI101|H1071F5B00
-1071F5B00:lI112|H1071F8368
-1071F8368:lI112|H1071FAFC0
-1071FAFC0:lI95|H1071FDF00
-1071FDF00:lI100|H107200FB8
-107200FB8:lI111|H107204160
-107204160:lI100|H107207390
-107207390:lI103|H10720A608
-10720A608:lI101|H10720D808
-10720D808:lI114|H1072109A8
-1072109A8:lI46|H107213C08
-107213C08:lI98|H107216FC0
-107216FC0:lI101|H10721A500
-10721A500:lI97|H10721DAA0
-10721DAA0:lI109|N
-1071F04B8:lI47|H1071F1550
-1071F1550:lI111|H1071F3508
-1071F3508:lI112|H1071F5AF0
-1071F5AF0:lI116|H1071F8358
-1071F8358:lI47|H1071FAFB0
-1071FAFB0:lI104|H1071FDEF0
-1071FDEF0:lI111|H107200FA8
-107200FA8:lI109|H107204150
-107204150:lI101|H107207380
-107207380:lI98|H10720A5F8
-10720A5F8:lI114|H10720D7F8
-10720D7F8:lI101|H107210998
-107210998:lI119|H107213BF8
-107213BF8:lI47|H107216FB0
-107216FB0:lI67|H10721A4F0
-10721A4F0:lI101|H10721DA90
-10721DA90:lI108|H107220FD0
-107220FD0:lI108|H1072241E8
-1072241E8:lI97|H107227120
-107227120:lI114|H107229C78
-107229C78:lI47|H10722C4A0
-10722C4A0:lI101|H10722E9E8
-10722E9E8:lI114|H107230C60
-107230C60:lI108|H107232C58
-107232C58:lI97|H107234930
-107234930:lI110|H107236368
-107236368:lI103|H107237B30
-107237B30:lI47|H107239148
-107239148:lI50|H10723A5E0
-10723A5E0:lI54|H10723B8A0
-10723B8A0:lI46|H10723C8F0
-10723C8F0:lI48|H10723D760
-10723D760:lI46|H10723E4C0
-10723E4C0:lI50|H10723F0D0
-10723F0D0:lI47|H10723FB90
-10723FB90:lI108|H1072404E0
-1072404E0:lI105|H107240D60
-107240D60:lI98|H1072414F0
-1072414F0:lI47|H107241C20
-107241C20:lI101|H1072422F0
-1072422F0:lI114|H107242960
-107242960:lI108|H107242F60
-107242F60:lI97|H1072434D0
-1072434D0:lI110|H107243A10
-107243A10:lI103|H107243F00
-107243F00:lI47|H1072443F0
-1072443F0:lI108|H1072448A0
-1072448A0:lI105|H107244D10
-107244D10:lI98|H107245170
-107245170:lI47|H1072455C0
-1072455C0:lI115|H1072459C0
-1072459C0:lI121|H107245D80
-107245D80:lI110|H107246110
-107246110:lI116|H1072464A0
-1072464A0:lI97|H107246830
-107246830:lI120|H107246BC0
-107246BC0:lI95|H107246EF0
-107246EF0:lI116|H107247210
-107247210:lI111|H107247520
-107247520:lI111|H107247820
-107247820:lI108|H107247B20
-107247B20:lI115|H107247E10
-107247E10:lI45|H1072480E0
-1072480E0:lI51|H1072483A0
-1072483A0:lI46|H107248660
-107248660:lI49|H107248910
-107248910:lI47|H280052C20
-10724B0E8:lH10724B158|H1071F0538
-10724B158:t2:H1071F0548,H1071F0558
-1071F0558:Mh4A:10:H1071F15F8,H1071F1610,H1071F1640,H1071F1678,H1071F16A8,H1071F16D8,H1071F16F8,H1071F1728,H1071F1748,H1071F1770,H1071F1790,H1071F17B8,H1071F17F0,H1071F1810,H1071F1838,H1071F1850
-1071F15F8:Mn2:H1071F36A0,H1071F36B0
-1071F36A0:lH1071F5E60|N
-1071F5E60:lI115|H1071F8AB0
-1071F8AB0:lI115|H1071FB9F0
-1071FB9F0:lI108|H1071FEAA8
-1071FEAA8:lI46|H107201C50
-107201C50:lI97|H107204E90
-107204E90:lI112|H107208188
-107208188:lI112|N
-1071F36B0:lH1071F5E70|N
-1071F5E70:lI116|H1071F8AC0
-1071F8AC0:lI108|H1071FBA00
-1071FBA00:lI115|H1071FEAB8
-1071FEAB8:lI95|H107201C60
-107201C60:lI114|H107204EA0
-107204EA0:lI101|H107208198
-107208198:lI99|H10720B468
-10720B468:lI111|H10720E728
-10720E728:lI114|H107211AA8
-107211AA8:lI100|H107214F80
-107214F80:lI46|H107218620
-107218620:lI98|H10721BE80
-10721BE80:lI101|H10721F5B0
-10721F5B0:lI97|H107222AB8
-107222AB8:lI109|N
-1071F1850:Mn3:H1071F3AB8,H1071F3AC8,H1071F3AD8
-1071F3AB8:lH1071F62D0|N
-1071F62D0:lI116|H1071F8F20
-1071F8F20:lI108|H1071FBE60
-1071FBE60:lI115|H1071FEF18
-1071FEF18:lI95|H1072020C0
-1072020C0:lI99|H107205300
-107205300:lI108|H1072085F8
-1072085F8:lI105|H10720B8C8
-10720B8C8:lI101|H10720EB88
-10720EB88:lI110|H107211EE8
-107211EE8:lI116|H1072153C0
-1072153C0:lI95|H107218A50
-107218A50:lI99|H10721C280
-10721C280:lI111|H10721F980
-10721F980:lI110|H107222E78
-107222E78:lI110|H107225FE0
-107225FE0:lI101|H107228DC8
-107228DC8:lI99|H10722B800
-10722B800:lI116|H10722DED8
-10722DED8:lI105|H107230300
-107230300:lI111|H107232478
-107232478:lI110|H1072342F0
-1072342F0:lI95|H107235E58
-107235E58:lI49|H107237750
-107237750:lI95|H107238DD8
-107238DD8:lI51|H10723A2B0
-10723A2B0:lI46|H10723B610
-10723B610:lI98|H10723C700
-10723C700:lI101|H10723D5C0
-10723D5C0:lI97|H10723E340
-10723E340:lI109|N
-1071F3AD8:lH1071F62F0|N
-1071F62F0:lI116|H1071F8F40
-1071F8F40:lI108|H1071FBE80
-1071FBE80:lI115|H1071FEF38
-1071FEF38:lI95|H1072020E0
-1072020E0:lI98|H107205320
-107205320:lI108|H107208618
-107208618:lI111|H10720B8E8
-10720B8E8:lI111|H10720EBA8
-10720EBA8:lI109|H107211F08
-107211F08:lI95|H1072153E0
-1072153E0:lI102|H107218A70
-107218A70:lI105|H10721C2A0
-10721C2A0:lI108|H10721F9A0
-10721F9A0:lI116|H107222E98
-107222E98:lI101|H107226000
-107226000:lI114|H107228DE8
-107228DE8:lI46|H10722B820
-10722B820:lI98|H10722DEF8
-10722DEF8:lI101|H107230320
-107230320:lI97|H107232498
-107232498:lI109|N
-1071F3AC8:lH1071F62E0|N
-1071F62E0:lI115|H1071F8F30
-1071F8F30:lI115|H1071FBE70
-1071FBE70:lI108|H1071FEF28
-1071FEF28:lI95|H1072020D0
-1072020D0:lI108|H107205310
-107205310:lI105|H107208608
-107208608:lI115|H10720B8D8
-10720B8D8:lI116|H10720EB98
-10720EB98:lI101|H107211EF8
-107211EF8:lI110|H1072153D0
-1072153D0:lI95|H107218A60
-107218A60:lI116|H10721C290
-10721C290:lI114|H10721F990
-10721F990:lI97|H107222E88
-107222E88:lI99|H107225FF0
-107225FF0:lI107|H107228DD8
-107228DD8:lI101|H10722B810
-10722B810:lI114|H10722DEE8
-10722DEE8:lI95|H107230310
-107230310:lI115|H107232488
-107232488:lI117|H107234300
-107234300:lI112|H107235E68
-107235E68:lI46|H107237760
-107237760:lI98|H107238DE8
-107238DE8:lI101|H10723A2C0
-10723A2C0:lI97|H10723B620
-10723B620:lI109|N
-1071F1838:Mn2:H1071F3A98,H1071F3AA8
-1071F3A98:lH1071F62B0|N
-1071F62B0:lI100|H1071F8F00
-1071F8F00:lI116|H1071FBE40
-1071FBE40:lI108|H1071FEEF8
-1071FEEF8:lI115|H1072020A0
-1072020A0:lI95|H1072052E0
-1072052E0:lI104|H1072085D8
-1072085D8:lI97|H10720B8A8
-10720B8A8:lI110|H10720EB68
-10720EB68:lI100|H107211EC8
-107211EC8:lI115|H1072153A0
-1072153A0:lI104|H107218A30
-107218A30:lI97|H10721C260
-10721C260:lI107|H10721F960
-10721F960:lI101|H107222E58
-107222E58:lI46|H107225FC0
-107225FC0:lI98|H107228DA8
-107228DA8:lI101|H10722B7E0
-10722B7E0:lI97|H10722DEC8
-10722DEC8:lI109|N
-1071F3AA8:lH1071F62C0|N
-1071F62C0:lI115|H1071F8F10
-1071F8F10:lI115|H1071FBE50
-1071FBE50:lI108|H1071FEF08
-1071FEF08:lI95|H1072020B0
-1072020B0:lI104|H1072052F0
-1072052F0:lI97|H1072085E8
-1072085E8:lI110|H10720B8B8
-10720B8B8:lI100|H10720EB78
-10720EB78:lI115|H107211ED8
-107211ED8:lI104|H1072153B0
-1072153B0:lI97|H107218A40
-107218A40:lI107|H10721C270
-10721C270:lI101|H10721F970
-10721F970:lI46|H107222E68
-107222E68:lI98|H107225FD0
-107225FD0:lI101|H107228DB8
-107228DB8:lI97|H10722B7F0
-10722B7F0:lI109|N
-1071F1810:Mn4:H1071F3A58,H1071F3A68,H1071F3A78,H1071F3A88
-1071F3A58:lH1071F6270|N
-1071F6270:lI116|H1071F8EC0
-1071F8EC0:lI108|H1071FBE00
-1071FBE00:lI115|H1071FEEB8
-1071FEEB8:lI95|H107202060
-107202060:lI115|H1072052A0
-1072052A0:lI101|H107208598
-107208598:lI114|H10720B868
-10720B868:lI118|H10720EB28
-10720EB28:lI101|H107211E88
-107211E88:lI114|H107215360
-107215360:lI95|H107218A00
-107218A00:lI115|H10721C230
-10721C230:lI101|H10721F930
-10721F930:lI115|H107222E28
-107222E28:lI115|H107225F90
-107225F90:lI105|H107228D88
-107228D88:lI111|H10722B7D0
-10722B7D0:lI110|H10722DEB8
-10722DEB8:lI95|H1072302F0
-1072302F0:lI116|H107232468
-107232468:lI105|H1072342E0
-1072342E0:lI99|H107235E48
-107235E48:lI107|H107237740
-107237740:lI101|H107238DC8
-107238DC8:lI116|H10723A2A0
-10723A2A0:lI95|H10723B600
-10723B600:lI115|H10723C6F0
-10723C6F0:lI117|H10723D5B0
-10723D5B0:lI112|H10723E330
-10723E330:lI46|H10723EF50
-10723EF50:lI98|H10723FA20
-10723FA20:lI101|H107240370
-107240370:lI97|H107240BF0
-107240BF0:lI109|N
-1071F3A88:lH1071F62A0|N
-1071F62A0:lI116|H1071F8EF0
-1071F8EF0:lI108|H1071FBE30
-1071FBE30:lI115|H1071FEEE8
-1071FEEE8:lI95|H107202090
-107202090:lI118|H1072052D0
-1072052D0:lI49|H1072085C8
-1072085C8:lI46|H10720B898
-10720B898:lI98|H10720EB58
-10720EB58:lI101|H107211EB8
-107211EB8:lI97|H107215390
-107215390:lI109|N
-1071F3A78:lH1071F6290|N
-1071F6290:lI116|H1071F8EE0
-1071F8EE0:lI108|H1071FBE20
-1071FBE20:lI115|H1071FEED8
-1071FEED8:lI95|H107202080
-107202080:lI100|H1072052C0
-1072052C0:lI105|H1072085B8
-1072085B8:lI115|H10720B888
-10720B888:lI116|H10720EB48
-10720EB48:lI95|H107211EA8
-107211EA8:lI115|H107215380
-107215380:lI117|H107218A20
-107218A20:lI112|H10721C250
-10721C250:lI46|H10721F950
-10721F950:lI98|H107222E48
-107222E48:lI101|H107225FB0
-107225FB0:lI97|H107228D98
-107228D98:lI109|N
-1071F3A68:lH1071F6280|N
-1071F6280:lI115|H1071F8ED0
-1071F8ED0:lI115|H1071FBE10
-1071FBE10:lI108|H1071FEEC8
-1071FEEC8:lI95|H107202070
-107202070:lI112|H1072052B0
-1072052B0:lI107|H1072085A8
-1072085A8:lI105|H10720B878
-10720B878:lI120|H10720EB38
-10720EB38:lI95|H107211E98
-107211E98:lI100|H107215370
-107215370:lI98|H107218A10
-107218A10:lI46|H10721C240
-10721C240:lI98|H10721F940
-10721F940:lI101|H107222E38
-107222E38:lI97|H107225FA0
-107225FA0:lI109|N
-1071F17F0:Mn3:H1071F3A20,H1071F3A30,H1071F3A40
-1071F3A20:lH1071F6230|N
-1071F6230:lI100|H1071F8E80
-1071F8E80:lI116|H1071FBDC0
-1071FBDC0:lI108|H1071FEE78
-1071FEE78:lI115|H107202020
-107202020:lI95|H107205260
-107205260:lI115|H107208558
-107208558:lI111|H10720B828
-10720B828:lI99|H10720EAE8
-10720EAE8:lI107|H107211E48
-107211E48:lI101|H107215320
-107215320:lI116|H1072189C0
-1072189C0:lI46|H10721C1F0
-10721C1F0:lI98|H10721F8F0
-10721F8F0:lI101|H107222DE8
-107222DE8:lI97|H107225F50
-107225F50:lI109|N
-1071F3A40:Mn2:H1071F6250,H1071F6260
-1071F6250:lH1071F8EA0|N
-1071F8EA0:lI115|H1071FBDE0
-1071FBDE0:lI115|H1071FEE98
-1071FEE98:lI108|H107202040
-107202040:lI95|H107205280
-107205280:lI108|H107208578
-107208578:lI111|H10720B848
-10720B848:lI103|H10720EB08
-10720EB08:lI103|H107211E68
-107211E68:lI101|H107215340
-107215340:lI114|H1072189E0
-1072189E0:lI46|H10721C210
-10721C210:lI98|H10721F910
-10721F910:lI101|H107222E08
-107222E08:lI97|H107225F70
-107225F70:lI109|N
-1071F6260:lH1071F8EB0|N
-1071F8EB0:lI116|H1071FBDF0
-1071FBDF0:lI108|H1071FEEA8
-1071FEEA8:lI115|H107202050
-107202050:lI95|H107205290
-107205290:lI99|H107208588
-107208588:lI111|H10720B858
-10720B858:lI110|H10720EB18
-10720EB18:lI110|H107211E78
-107211E78:lI101|H107215350
-107215350:lI99|H1072189F0
-1072189F0:lI116|H10721C220
-10721C220:lI105|H10721F920
-10721F920:lI111|H107222E18
-107222E18:lI110|H107225F80
-107225F80:lI95|H107228D78
-107228D78:lI115|H10722B7C0
-10722B7C0:lI117|H10722DEA8
-10722DEA8:lI112|H1072302E0
-1072302E0:lI46|H107232458
-107232458:lI98|H1072342D0
-1072342D0:lI101|H107235E38
-107235E38:lI97|H107237730
-107237730:lI109|N
-1071F3A30:lH1071F6240|N
-1071F6240:lI115|H1071F8E90
-1071F8E90:lI115|H1071FBDD0
-1071FBDD0:lI108|H1071FEE88
-1071FEE88:lI95|H107202030
-107202030:lI112|H107205270
-107205270:lI101|H107208568
-107208568:lI109|H10720B838
-10720B838:lI95|H10720EAF8
-10720EAF8:lI99|H107211E58
-107211E58:lI97|H107215330
-107215330:lI99|H1072189D0
-1072189D0:lI104|H10721C200
-10721C200:lI101|H10721F900
-10721F900:lI46|H107222DF8
-107222DF8:lI98|H107225F60
-107225F60:lI101|H107228D68
-107228D68:lI97|H10722B7B0
-10722B7B0:lI109|N
-1071F17B8:Mn6:H1071F39C0,H1071F39D0,H1071F39E0,H1071F39F0,H1071F3A00,H1071F3A10
-1071F39C0:lH1071F61D0|N
-1071F61D0:lI115|H1071F8E20
-1071F8E20:lI115|H1071FBD60
-1071FBD60:lI108|H1071FEE18
-1071FEE18:lI95|H107201FC0
-107201FC0:lI100|H107205200
-107205200:lI104|H1072084F8
-1072084F8:lI95|H10720B7C8
-10720B7C8:lI103|H10720EA88
-10720EA88:lI114|H107211DE8
-107211DE8:lI111|H1072152C0
-1072152C0:lI117|H107218960
-107218960:lI112|H10721C190
-10721C190:lI115|H10721F890
-10721F890:lI46|H107222D88
-107222D88:lI98|H107225EF0
-107225EF0:lI101|H107228D08
-107228D08:lI97|H10722B750
-10722B750:lI109|N
-1071F3A10:lH1071F6220|N
-1071F6220:lI115|H1071F8E70
-1071F8E70:lI115|H1071FBDB0
-1071FBDB0:lI108|H1071FEE68
-1071FEE68:lI95|H107202010
-107202010:lI99|H107205250
-107205250:lI105|H107208548
-107208548:lI112|H10720B818
-10720B818:lI104|H10720EAD8
-10720EAD8:lI101|H107211E38
-107211E38:lI114|H107215310
-107215310:lI95|H1072189B0
-1072189B0:lI102|H10721C1E0
-10721C1E0:lI111|H10721F8E0
-10721F8E0:lI114|H107222DD8
-107222DD8:lI109|H107225F40
-107225F40:lI97|H107228D58
-107228D58:lI116|H10722B7A0
-10722B7A0:lI46|H10722DE98
-10722DE98:lI98|H1072302D0
-1072302D0:lI101|H107232448
-107232448:lI97|H1072342C0
-1072342C0:lI109|N
-1071F3A00:lH1071F6210|N
-1071F6210:lI116|H1071F8E60
-1071F8E60:lI108|H1071FBDA0
-1071FBDA0:lI115|H1071FEE58
-1071FEE58:lI95|H107202000
-107202000:lI103|H107205240
-107205240:lI101|H107208538
-107208538:lI110|H10720B808
-10720B808:lI95|H10720EAC8
-10720EAC8:lI99|H107211E28
-107211E28:lI111|H107215300
-107215300:lI110|H1072189A0
-1072189A0:lI110|H10721C1D0
-10721C1D0:lI101|H10721F8D0
-10721F8D0:lI99|H107222DC8
-107222DC8:lI116|H107225F30
-107225F30:lI105|H107228D48
-107228D48:lI111|H10722B790
-10722B790:lI110|H10722DE88
-10722DE88:lI95|H1072302C0
-1072302C0:lI49|H107232438
-107232438:lI95|H1072342B0
-1072342B0:lI51|H107235E28
-107235E28:lI46|H107237720
-107237720:lI98|H107238DB8
-107238DB8:lI101|H10723A290
-10723A290:lI97|H10723B5F0
-10723B5F0:lI109|N
-1071F39F0:lH1071F6200|N
-1071F6200:lI115|H1071F8E50
-1071F8E50:lI115|H1071FBD90
-1071FBD90:lI108|H1071FEE48
-1071FEE48:lI95|H107201FF0
-107201FF0:lI115|H107205230
-107205230:lI114|H107208528
-107208528:lI112|H10720B7F8
-10720B7F8:lI95|H10720EAB8
-10720EAB8:lI112|H107211E18
-107211E18:lI114|H1072152F0
-1072152F0:lI105|H107218990
-107218990:lI109|H10721C1C0
-10721C1C0:lI101|H10721F8C0
-10721F8C0:lI115|H107222DB8
-107222DB8:lI46|H107225F20
-107225F20:lI98|H107228D38
-107228D38:lI101|H10722B780
-10722B780:lI97|H10722DE78
-10722DE78:lI109|N
-1071F39E0:lH1071F61F0|N
-1071F61F0:lI105|H1071F8E40
-1071F8E40:lI110|H1071FBD80
-1071FBD80:lI101|H1071FEE38
-1071FEE38:lI116|H107201FE0
-107201FE0:lI54|H107205220
-107205220:lI95|H107208518
-107208518:lI116|H10720B7E8
-10720B7E8:lI108|H10720EAA8
-10720EAA8:lI115|H107211E08
-107211E08:lI95|H1072152E0
-1072152E0:lI100|H107218980
-107218980:lI105|H10721C1B0
-10721C1B0:lI115|H10721F8B0
-10721F8B0:lI116|H107222DA8
-107222DA8:lI46|H107225F10
-107225F10:lI98|H107228D28
-107228D28:lI101|H10722B770
-10722B770:lI97|H10722DE68
-10722DE68:lI109|N
-1071F39D0:lH1071F61E0|N
-1071F61E0:lI115|H1071F8E30
-1071F8E30:lI115|H1071FBD70
-1071FBD70:lI108|H1071FEE28
-1071FEE28:lI95|H107201FD0
-107201FD0:lI115|H107205210
-107205210:lI101|H107208508
-107208508:lI114|H10720B7D8
-10720B7D8:lI118|H10720EA98
-10720EA98:lI101|H107211DF8
-107211DF8:lI114|H1072152D0
-1072152D0:lI95|H107218970
-107218970:lI115|H10721C1A0
-10721C1A0:lI101|H10721F8A0
-10721F8A0:lI115|H107222D98
-107222D98:lI115|H107225F00
-107225F00:lI105|H107228D18
-107228D18:lI111|H10722B760
-10722B760:lI110|H10722DE58
-10722DE58:lI95|H1072302B0
-1072302B0:lI99|H107232428
-107232428:lI97|H1072342A0
-1072342A0:lI99|H107235E18
-107235E18:lI104|H107237710
-107237710:lI101|H107238DA8
-107238DA8:lI95|H10723A280
-10723A280:lI115|H10723B5E0
-10723B5E0:lI117|H10723C6E0
-10723C6E0:lI112|H10723D5A0
-10723D5A0:lI46|H10723E320
-10723E320:lI98|H10723EF40
-10723EF40:lI101|H10723FA10
-10723FA10:lI97|H107240360
-107240360:lI109|N
-1071F1790:Mn4:H1071F3980,H1071F3990,H1071F39A0,H1071F39B0
-1071F3980:lH1071F6190|N
-1071F6190:lI116|H1071F8DE0
-1071F8DE0:lI108|H1071FBD20
-1071FBD20:lI115|H1071FEDD8
-1071FEDD8:lI95|H107201F80
-107201F80:lI115|H1072051C0
-1072051C0:lI101|H1072084B8
-1072084B8:lI114|H10720B788
-10720B788:lI118|H10720EA48
-10720EA48:lI101|H107211DA8
-107211DA8:lI114|H107215280
-107215280:lI95|H107218920
-107218920:lI115|H10721C150
-10721C150:lI101|H10721F850
-10721F850:lI115|H107222D48
-107222D48:lI115|H107225EC0
-107225EC0:lI105|H107228CD8
-107228CD8:lI111|H10722B720
-10722B720:lI110|H10722DE28
-10722DE28:lI95|H1072302A0
-1072302A0:lI116|H107232418
-107232418:lI105|H107234290
-107234290:lI99|H107235E08
-107235E08:lI107|H107237700
-107237700:lI101|H107238D98
-107238D98:lI116|H10723A270
-10723A270:lI46|H10723B5D0
-10723B5D0:lI98|H10723C6D0
-10723C6D0:lI101|H10723D590
-10723D590:lI97|H10723E310
-10723E310:lI109|N
-1071F39B0:lH1071F61C0|N
-1071F61C0:lI115|H1071F8E10
-1071F8E10:lI115|H1071FBD50
-1071FBD50:lI108|H1071FEE08
-1071FEE08:lI95|H107201FB0
-107201FB0:lI103|H1072051F0
-1072051F0:lI101|H1072084E8
-1072084E8:lI110|H10720B7B8
-10720B7B8:lI95|H10720EA78
-10720EA78:lI115|H107211DD8
-107211DD8:lI116|H1072152B0
-1072152B0:lI97|H107218950
-107218950:lI116|H10721C180
-10721C180:lI101|H10721F880
-10721F880:lI109|H107222D78
-107222D78:lI46|H107225EE0
-107225EE0:lI98|H107228CF8
-107228CF8:lI101|H10722B740
-10722B740:lI97|H10722DE48
-10722DE48:lI109|N
-1071F39A0:lH1071F61B0|N
-1071F61B0:lI116|H1071F8E00
-1071F8E00:lI108|H1071FBD40
-1071FBD40:lI115|H1071FEDF8
-1071FEDF8:lI95|H107201FA0
-107201FA0:lI99|H1072051E0
-1072051E0:lI111|H1072084D8
-1072084D8:lI110|H10720B7A8
-10720B7A8:lI110|H10720EA68
-10720EA68:lI101|H107211DC8
-107211DC8:lI99|H1072152A0
-1072152A0:lI116|H107218940
-107218940:lI105|H10721C170
-10721C170:lI111|H10721F870
-10721F870:lI110|H107222D68
-107222D68:lI46|H107225ED0
-107225ED0:lI98|H107228CE8
-107228CE8:lI101|H10722B730
-10722B730:lI97|H10722DE38
-10722DE38:lI109|N
-1071F3990:lH1071F61A0|N
-1071F61A0:lI115|H1071F8DF0
-1071F8DF0:lI115|H1071FBD30
-1071FBD30:lI108|H1071FEDE8
-1071FEDE8:lI95|H107201F90
-107201F90:lI99|H1072051D0
-1072051D0:lI105|H1072084C8
-1072084C8:lI112|H10720B798
-10720B798:lI104|H10720EA58
-10720EA58:lI101|H107211DB8
-107211DB8:lI114|H107215290
-107215290:lI46|H107218930
-107218930:lI98|H10721C160
-10721C160:lI101|H10721F860
-10721F860:lI97|H107222D58
-107222D58:lI109|N
-1071F1770:Mn3:H1071F3940,H1071F3958,H1071F3968
-1071F3940:Mn2:H1071F6140,H1071F6150
-1071F6140:lH1071F8D90|N
-1071F8D90:lI115|H1071FBCD0
-1071FBCD0:lI115|H1071FED88
-1071FED88:lI108|H107201F30
-107201F30:lI95|H107205170
-107205170:lI114|H107208468
-107208468:lI101|H10720B738
-10720B738:lI99|H10720E9F8
-10720E9F8:lI111|H107211D58
-107211D58:lI114|H107215230
-107215230:lI100|H1072188D0
-1072188D0:lI46|H10721C100
-10721C100:lI98|H10721F800
-10721F800:lI101|H107222CF8
-107222CF8:lI97|H107225E70
-107225E70:lI109|N
-1071F6150:lH1071F8DA0|N
-1071F8DA0:lI116|H1071FBCE0
-1071FBCE0:lI108|H1071FED98
-1071FED98:lI115|H107201F40
-107201F40:lI95|H107205180
-107205180:lI99|H107208478
-107208478:lI108|H10720B748
-10720B748:lI105|H10720EA08
-10720EA08:lI101|H107211D68
-107211D68:lI110|H107215240
-107215240:lI116|H1072188E0
-1072188E0:lI95|H10721C110
-10721C110:lI116|H10721F810
-10721F810:lI105|H107222D08
-107222D08:lI99|H107225E80
-107225E80:lI107|H107228C98
-107228C98:lI101|H10722B6E0
-10722B6E0:lI116|H10722DDE8
-10722DDE8:lI95|H107230260
-107230260:lI115|H1072323D8
-1072323D8:lI116|H107234250
-107234250:lI111|H107235DD8
-107235DD8:lI114|H1072376D0
-1072376D0:lI101|H107238D68
-107238D68:lI46|H10723A250
-10723A250:lI98|H10723B5B0
-10723B5B0:lI101|H10723C6B0
-10723C6B0:lI97|H10723D570
-10723D570:lI109|N
-1071F3968:Mn2:H1071F6170,H1071F6180
-1071F6170:lH1071F8DC0|N
-1071F8DC0:lI115|H1071FBD00
-1071FBD00:lI115|H1071FEDB8
-1071FEDB8:lI108|H107201F60
-107201F60:lI95|H1072051A0
-1072051A0:lI100|H107208498
-107208498:lI105|H10720B768
-10720B768:lI115|H10720EA28
-10720EA28:lI116|H107211D88
-107211D88:lI95|H107215260
-107215260:lI99|H107218900
-107218900:lI111|H10721C130
-10721C130:lI110|H10721F830
-10721F830:lI110|H107222D28
-107222D28:lI101|H107225EA0
-107225EA0:lI99|H107228CB8
-107228CB8:lI116|H10722B700
-10722B700:lI105|H10722DE08
-10722DE08:lI111|H107230280
-107230280:lI110|H1072323F8
-1072323F8:lI95|H107234270
-107234270:lI115|H107235DE8
-107235DE8:lI117|H1072376E0
-1072376E0:lI112|H107238D78
-107238D78:lI46|H10723A260
-10723A260:lI98|H10723B5C0
-10723B5C0:lI101|H10723C6C0
-10723C6C0:lI97|H10723D580
-10723D580:lI109|N
-1071F6180:lH1071F8DD0|N
-1071F8DD0:lI100|H1071FBD10
-1071FBD10:lI116|H1071FEDC8
-1071FEDC8:lI108|H107201F70
-107201F70:lI115|H1072051B0
-1072051B0:lI95|H1072084A8
-1072084A8:lI99|H10720B778
-10720B778:lI111|H10720EA38
-10720EA38:lI110|H107211D98
-107211D98:lI110|H107215270
-107215270:lI101|H107218910
-107218910:lI99|H10721C140
-10721C140:lI116|H10721F840
-10721F840:lI105|H107222D38
-107222D38:lI111|H107225EB0
-107225EB0:lI110|H107228CC8
-107228CC8:lI95|H10722B710
-10722B710:lI115|H10722DE18
-10722DE18:lI117|H107230290
-107230290:lI112|H107232408
-107232408:lI46|H107234280
-107234280:lI98|H107235DF8
-107235DF8:lI101|H1072376F0
-1072376F0:lI97|H107238D88
-107238D88:lI109|N
-1071F3958:lH1071F6160|N
-1071F6160:lI115|H1071F8DB0
-1071F8DB0:lI115|H1071FBCF0
-1071FBCF0:lI108|H1071FEDA8
-1071FEDA8:lI95|H107201F50
-107201F50:lI99|H107205190
-107205190:lI114|H107208488
-107208488:lI108|H10720B758
-10720B758:lI95|H10720EA18
-10720EA18:lI99|H107211D78
-107211D78:lI97|H107215250
-107215250:lI99|H1072188F0
-1072188F0:lI104|H10721C120
-10721C120:lI101|H10721F820
-10721F820:lI95|H107222D18
-107222D18:lI97|H107225E90
-107225E90:lI112|H107228CA8
-107228CA8:lI105|H10722B6F0
-10722B6F0:lI46|H10722DDF8
-10722DDF8:lI98|H107230270
-107230270:lI101|H1072323E8
-1072323E8:lI97|H107234260
-107234260:lI109|N
-1071F1748:Mn4:H1071F3900,H1071F3910,H1071F3920,H1071F3930
-1071F3900:lH1071F6100|N
-1071F6100:lI115|H1071F8D50
-1071F8D50:lI115|H1071FBC90
-1071FBC90:lI108|H1071FED48
-1071FED48:lI95|H107201EF0
-107201EF0:lI117|H107205130
-107205130:lI112|H107208428
-107208428:lI103|H10720B6F8
-10720B6F8:lI114|H10720E9B8
-10720E9B8:lI97|H107211D18
-107211D18:lI100|H1072151F0
-1072151F0:lI101|H107218890
-107218890:lI95|H10721C0C0
-10721C0C0:lI115|H10721F7C0
-10721F7C0:lI101|H107222CB8
-107222CB8:lI114|H107225E30
-107225E30:lI118|H107228C68
-107228C68:lI101|H10722B6B0
-10722B6B0:lI114|H10722DDB8
-10722DDB8:lI95|H107230230
-107230230:lI115|H1072323A8
-1072323A8:lI101|H107234230
-107234230:lI115|H107235DB8
-107235DB8:lI115|H1072376B0
-1072376B0:lI105|H107238D58
-107238D58:lI111|H10723A240
-10723A240:lI110|H10723B5A0
-10723B5A0:lI95|H10723C6A0
-10723C6A0:lI99|H10723D560
-10723D560:lI97|H10723E300
-10723E300:lI99|H10723EF30
-10723EF30:lI104|H10723FA00
-10723FA00:lI101|H107240350
-107240350:lI95|H107240BE0
-107240BE0:lI115|H107241380
-107241380:lI117|H107241AB0
-107241AB0:lI112|H107242180
-107242180:lI46|H1072427F0
-1072427F0:lI98|H107242DF0
-107242DF0:lI101|H107243360
-107243360:lI97|H1072438A0
-1072438A0:lI109|N
-1071F3930:lH1071F6130|N
-1071F6130:lI115|H1071F8D80
-1071F8D80:lI115|H1071FBCC0
-1071FBCC0:lI108|H1071FED78
-1071FED78:lI95|H107201F20
-107201F20:lI99|H107205160
-107205160:lI114|H107208458
-107208458:lI108|H10720B728
-10720B728:lI95|H10720E9E8
-10720E9E8:lI104|H107211D48
-107211D48:lI97|H107215220
-107215220:lI115|H1072188C0
-1072188C0:lI104|H10721C0F0
-10721C0F0:lI95|H10721F7F0
-10721F7F0:lI100|H107222CE8
-107222CE8:lI105|H107225E60
-107225E60:lI114|H107228C88
-107228C88:lI46|H10722B6D0
-10722B6D0:lI98|H10722DDD8
-10722DDD8:lI101|H107230250
-107230250:lI97|H1072323C8
-1072323C8:lI109|N
-1071F3920:lH1071F6120|N
-1071F6120:lI115|H1071F8D70
-1071F8D70:lI115|H1071FBCB0
-1071FBCB0:lI108|H1071FED68
-1071FED68:lI95|H107201F10
-107201F10:lI109|H107205150
-107205150:lI97|H107208448
-107208448:lI110|H10720B718
-10720B718:lI97|H10720E9D8
-10720E9D8:lI103|H107211D38
-107211D38:lI101|H107215210
-107215210:lI114|H1072188B0
-1072188B0:lI46|H10721C0E0
-10721C0E0:lI98|H10721F7E0
-10721F7E0:lI101|H107222CD8
-107222CD8:lI97|H107225E50
-107225E50:lI109|N
-1071F3910:lH1071F6110|N
-1071F6110:lI100|H1071F8D60
-1071F8D60:lI116|H1071FBCA0
-1071FBCA0:lI108|H1071FED58
-1071FED58:lI115|H107201F00
-107201F00:lI95|H107205140
-107205140:lI103|H107208438
-107208438:lI101|H10720B708
-10720B708:lI110|H10720E9C8
-10720E9C8:lI95|H107211D28
-107211D28:lI99|H107215200
-107215200:lI111|H1072188A0
-1072188A0:lI110|H10721C0D0
-10721C0D0:lI110|H10721F7D0
-10721F7D0:lI101|H107222CC8
-107222CC8:lI99|H107225E40
-107225E40:lI116|H107228C78
-107228C78:lI105|H10722B6C0
-10722B6C0:lI111|H10722DDC8
-10722DDC8:lI110|H107230240
-107230240:lI46|H1072323B8
-1072323B8:lI98|H107234240
-107234240:lI101|H107235DC8
-107235DC8:lI97|H1072376C0
-1072376C0:lI109|N
-1071F1728:Mn3:H1071F38D0,H1071F38E0,H1071F38F0
-1071F38D0:lH1071F60D0|N
-1071F60D0:lI116|H1071F8D20
-1071F8D20:lI108|H1071FBC60
-1071FBC60:lI115|H1071FED18
-1071FED18:lI95|H107201EC0
-107201EC0:lI100|H107205100
-107205100:lI105|H1072083F8
-1072083F8:lI115|H10720B6C8
-10720B6C8:lI116|H10720E988
-10720E988:lI95|H107211CF8
-107211CF8:lI115|H1072151D0
-1072151D0:lI101|H107218870
-107218870:lI114|H10721C0A0
-10721C0A0:lI118|H10721F7A0
-10721F7A0:lI101|H107222C98
-107222C98:lI114|H107225E10
-107225E10:lI95|H107228C48
-107228C48:lI115|H10722B6A0
-10722B6A0:lI117|H10722DDA8
-10722DDA8:lI112|H107230220
-107230220:lI46|H107232398
-107232398:lI98|H107234220
-107234220:lI101|H107235DA8
-107235DA8:lI97|H1072376A0
-1072376A0:lI109|N
-1071F38F0:lH1071F60F0|N
-1071F60F0:lI115|H1071F8D40
-1071F8D40:lI115|H1071FBC80
-1071FBC80:lI108|H1071FED38
-1071FED38:lI95|H107201EE0
-107201EE0:lI100|H107205120
-107205120:lI105|H107208418
-107208418:lI115|H10720B6E8
-10720B6E8:lI116|H10720E9A8
-10720E9A8:lI95|H107211D08
-107211D08:lI115|H1072151E0
-1072151E0:lI117|H107218880
-107218880:lI112|H10721C0B0
-10721C0B0:lI46|H10721F7B0
-10721F7B0:lI98|H107222CA8
-107222CA8:lI101|H107225E20
-107225E20:lI97|H107228C58
-107228C58:lI109|N
-1071F38E0:lH1071F60E0|N
-1071F60E0:lI115|H1071F8D30
-1071F8D30:lI115|H1071FBC70
-1071FBC70:lI108|H1071FED28
-1071FED28:lI46|H107201ED0
-107201ED0:lI97|H107205110
-107205110:lI112|H107208408
-107208408:lI112|H10720B6D8
-10720B6D8:lI117|H10720E998
-10720E998:lI112|N
-1071F16F8:Mn5:H1071F3878,H1071F3888,H1071F38A0,H1071F38B0,H1071F38C0
-1071F3878:lH1071F6070|N
-1071F6070:lI100|H1071F8CC0
-1071F8CC0:lI116|H1071FBC00
-1071FBC00:lI108|H1071FECB8
-1071FECB8:lI115|H107201E60
-107201E60:lI95|H1072050A0
-1072050A0:lI115|H107208398
-107208398:lI117|H10720B668
-10720B668:lI112|H10720E928
-10720E928:lI46|H107211CA8
-107211CA8:lI98|H107215180
-107215180:lI101|H107218820
-107218820:lI97|H10721C060
-10721C060:lI109|N
-1071F38C0:lH1071F60C0|N
-1071F60C0:lI116|H1071F8D10
-1071F8D10:lI108|H1071FBC50
-1071FBC50:lI115|H1071FED08
-1071FED08:lI95|H107201EB0
-107201EB0:lI115|H1072050F0
-1072050F0:lI101|H1072083E8
-1072083E8:lI110|H10720B6B8
-10720B6B8:lI100|H10720E978
-10720E978:lI101|H107211CE8
-107211CE8:lI114|H1072151C0
-1072151C0:lI46|H107218860
-107218860:lI98|H10721C090
-10721C090:lI101|H10721F790
-10721F790:lI97|H107222C88
-107222C88:lI109|N
-1071F38B0:lH1071F60B0|N
-1071F60B0:lI100|H1071F8D00
-1071F8D00:lI116|H1071FBC40
-1071FBC40:lI108|H1071FECF8
-1071FECF8:lI115|H107201EA0
-107201EA0:lI95|H1072050E0
-1072050E0:lI118|H1072083D8
-1072083D8:lI49|H10720B6A8
-10720B6A8:lI46|H10720E968
-10720E968:lI98|H107211CD8
-107211CD8:lI101|H1072151B0
-1072151B0:lI97|H107218850
-107218850:lI109|N
-1071F38A0:lH1071F60A0|N
-1071F60A0:lI115|H1071F8CF0
-1071F8CF0:lI115|H1071FBC30
-1071FBC30:lI108|H1071FECE8
-1071FECE8:lI95|H107201E90
-107201E90:lI99|H1072050D0
-1072050D0:lI101|H1072083C8
-1072083C8:lI114|H10720B698
-10720B698:lI116|H10720E958
-10720E958:lI105|H107211CC8
-107211CC8:lI102|H1072151A0
-1072151A0:lI105|H107218840
-107218840:lI99|H10721C080
-10721C080:lI97|H10721F780
-10721F780:lI116|H107222C78
-107222C78:lI101|H107225E00
-107225E00:lI46|H107228C38
-107228C38:lI98|H10722B690
-10722B690:lI101|H10722DD98
-10722DD98:lI97|H107230210
-107230210:lI109|N
-1071F3888:Mn2:H1071F6080,H1071F6090
-1071F6080:lH1071F8CD0|N
-1071F8CD0:lI115|H1071FBC10
-1071FBC10:lI115|H1071FECC8
-1071FECC8:lI108|H107201E70
-107201E70:lI46|H1072050B0
-1072050B0:lI98|H1072083A8
-1072083A8:lI101|H10720B678
-10720B678:lI97|H10720E938
-10720E938:lI109|N
-1071F6090:lH1071F8CE0|N
-1071F8CE0:lI115|H1071FBC20
-1071FBC20:lI115|H1071FECD8
-1071FECD8:lI108|H107201E80
-107201E80:lI95|H1072050C0
-1072050C0:lI115|H1072083B8
-1072083B8:lI101|H10720B688
-10720B688:lI115|H10720E948
-10720E948:lI115|H107211CB8
-107211CB8:lI105|H107215190
-107215190:lI111|H107218830
-107218830:lI110|H10721C070
-10721C070:lI95|H10721F770
-10721F770:lI99|H107222C68
-107222C68:lI97|H107225DF0
-107225DF0:lI99|H107228C28
-107228C28:lI104|H10722B680
-10722B680:lI101|H10722DD88
-10722DD88:lI95|H107230200
-107230200:lI97|H107232388
-107232388:lI112|H107234210
-107234210:lI105|H107235D98
-107235D98:lI46|H107237690
-107237690:lI98|H107238D48
-107238D48:lI101|H10723A230
-10723A230:lI97|H10723B590
-10723B590:lI109|N
-1071F16D8:Mn3:H1071F3840,H1071F3858,H1071F3868
-1071F3840:Mn2:H1071F6030,H1071F6040
-1071F6030:lH1071F8C80|N
-1071F8C80:lI115|H1071FBBC0
-1071FBBC0:lI115|H1071FEC78
-1071FEC78:lI108|H107201E20
-107201E20:lI95|H107205060
-107205060:lI99|H107208358
-107208358:lI111|H10720B628
-10720B628:lI110|H10720E8E8
-10720E8E8:lI102|H107211C68
-107211C68:lI105|H107215140
-107215140:lI103|H1072187E0
-1072187E0:lI46|H10721C020
-10721C020:lI98|H10721F730
-10721F730:lI101|H107222C28
-107222C28:lI97|H107225DB0
-107225DB0:lI109|N
-1071F6040:lH1071F8C90|N
-1071F8C90:lI116|H1071FBBD0
-1071FBBD0:lI108|H1071FEC88
-1071FEC88:lI115|H107201E30
-107201E30:lI95|H107205070
-107205070:lI114|H107208368
-107208368:lI101|H10720B638
-10720B638:lI99|H10720E8F8
-10720E8F8:lI111|H107211C78
-107211C78:lI114|H107215150
-107215150:lI100|H1072187F0
-1072187F0:lI95|H10721C030
-10721C030:lI49|H10721F740
-10721F740:lI95|H107222C38
-107222C38:lI51|H107225DC0
-107225DC0:lI46|H107228C08
-107228C08:lI98|H10722B660
-10722B660:lI101|H10722DD68
-10722DD68:lI97|H1072301E0
-1072301E0:lI109|N
-1071F3868:lH1071F6060|N
-1071F6060:lI115|H1071F8CB0
-1071F8CB0:lI115|H1071FBBF0
-1071FBBF0:lI108|H1071FECA8
-1071FECA8:lI95|H107201E50
-107201E50:lI115|H107205090
-107205090:lI101|H107208388
-107208388:lI115|H10720B658
-10720B658:lI115|H10720E918
-10720E918:lI105|H107211C98
-107211C98:lI111|H107215170
-107215170:lI110|H107218810
-107218810:lI46|H10721C050
-10721C050:lI98|H10721F760
-10721F760:lI101|H107222C58
-107222C58:lI97|H107225DE0
-107225DE0:lI109|N
-1071F3858:lH1071F6050|N
-1071F6050:lI115|H1071F8CA0
-1071F8CA0:lI115|H1071FBBE0
-1071FBBE0:lI108|H1071FEC98
-1071FEC98:lI95|H107201E40
-107201E40:lI115|H107205080
-107205080:lI101|H107208378
-107208378:lI114|H10720B648
-10720B648:lI118|H10720E908
-10720E908:lI101|H107211C88
-107211C88:lI114|H107215160
-107215160:lI95|H107218800
-107218800:lI115|H10721C040
-10721C040:lI101|H10721F750
-10721F750:lI115|H107222C48
-107222C48:lI115|H107225DD0
-107225DD0:lI105|H107228C18
-107228C18:lI111|H10722B670
-10722B670:lI110|H10722DD78
-10722DD78:lI95|H1072301F0
-1072301F0:lI99|H107232378
-107232378:lI97|H107234200
-107234200:lI99|H107235D88
-107235D88:lI104|H107237680
-107237680:lI101|H107238D38
-107238D38:lI95|H10723A220
-10723A220:lI100|H10723B580
-10723B580:lI98|H10723C690
-10723C690:lI46|H10723D550
-10723D550:lI98|H10723E2F0
-10723E2F0:lI101|H10723EF20
-10723EF20:lI97|H10723F9F0
-10723F9F0:lI109|N
-1071F16A8:Mn5:H1071F37F0,H1071F3800,H1071F3810,H1071F3820,H1071F3830
-1071F37F0:lH1071F5FE0|N
-1071F5FE0:lI100|H1071F8C30
-1071F8C30:lI116|H1071FBB70
-1071FBB70:lI108|H1071FEC28
-1071FEC28:lI115|H107201DD0
-107201DD0:lI95|H107205010
-107205010:lI115|H107208308
-107208308:lI101|H10720B5D8
-10720B5D8:lI114|H10720E898
-10720E898:lI118|H107211C18
-107211C18:lI101|H1072150F0
-1072150F0:lI114|H107218790
-107218790:lI95|H10721BFD0
-10721BFD0:lI115|H10721F6E0
-10721F6E0:lI117|H107222BD8
-107222BD8:lI112|H107225D60
-107225D60:lI46|H107228BB8
-107228BB8:lI98|H10722B610
-10722B610:lI101|H10722DD28
-10722DD28:lI97|H1072301A0
-1072301A0:lI109|N
-1071F3830:lH1071F6020|N
-1071F6020:lI116|H1071F8C70
-1071F8C70:lI108|H1071FBBB0
-1071FBBB0:lI115|H1071FEC68
-1071FEC68:lI95|H107201E10
-107201E10:lI103|H107205050
-107205050:lI101|H107208348
-107208348:lI110|H10720B618
-10720B618:lI95|H10720E8D8
-10720E8D8:lI99|H107211C58
-107211C58:lI111|H107215130
-107215130:lI110|H1072187D0
-1072187D0:lI110|H10721C010
-10721C010:lI101|H10721F720
-10721F720:lI99|H107222C18
-107222C18:lI116|H107225DA0
-107225DA0:lI105|H107228BF8
-107228BF8:lI111|H10722B650
-10722B650:lI110|H10722DD58
-10722DD58:lI46|H1072301D0
-1072301D0:lI98|H107232368
-107232368:lI101|H1072341F0
-1072341F0:lI97|H107235D78
-107235D78:lI109|N
-1071F3820:lH1071F6010|N
-1071F6010:lI105|H1071F8C60
-1071F8C60:lI110|H1071FBBA0
-1071FBBA0:lI101|H1071FEC58
-1071FEC58:lI116|H107201E00
-107201E00:lI95|H107205040
-107205040:lI116|H107208338
-107208338:lI108|H10720B608
-10720B608:lI115|H10720E8C8
-10720E8C8:lI95|H107211C48
-107211C48:lI100|H107215120
-107215120:lI105|H1072187C0
-1072187C0:lI115|H10721C000
-10721C000:lI116|H10721F710
-10721F710:lI46|H107222C08
-107222C08:lI98|H107225D90
-107225D90:lI101|H107228BE8
-107228BE8:lI97|H10722B640
-10722B640:lI109|N
-1071F3810:lH1071F6000|N
-1071F6000:lI115|H1071F8C50
-1071F8C50:lI115|H1071FBB90
-1071FBB90:lI108|H1071FEC48
-1071FEC48:lI95|H107201DF0
-107201DF0:lI99|H107205030
-107205030:lI111|H107208328
-107208328:lI110|H10720B5F8
-10720B5F8:lI110|H10720E8B8
-10720E8B8:lI101|H107211C38
-107211C38:lI99|H107215110
-107215110:lI116|H1072187B0
-1072187B0:lI105|H10721BFF0
-10721BFF0:lI111|H10721F700
-10721F700:lI110|H107222BF8
-107222BF8:lI95|H107225D80
-107225D80:lI115|H107228BD8
-107228BD8:lI117|H10722B630
-10722B630:lI112|H10722DD48
-10722DD48:lI46|H1072301C0
-1072301C0:lI98|H107232358
-107232358:lI101|H1072341E0
-1072341E0:lI97|H107235D68
-107235D68:lI109|N
-1071F3800:lH1071F5FF0|N
-1071F5FF0:lI115|H1071F8C40
-1071F8C40:lI115|H1071FBB80
-1071FBB80:lI108|H1071FEC38
-1071FEC38:lI95|H107201DE0
-107201DE0:lI100|H107205020
-107205020:lI105|H107208318
-107208318:lI115|H10720B5E8
-10720B5E8:lI116|H10720E8A8
-10720E8A8:lI95|H107211C28
-107211C28:lI97|H107215100
-107215100:lI100|H1072187A0
-1072187A0:lI109|H10721BFE0
-10721BFE0:lI105|H10721F6F0
-10721F6F0:lI110|H107222BE8
-107222BE8:lI95|H107225D70
-107225D70:lI115|H107228BC8
-107228BC8:lI117|H10722B620
-10722B620:lI112|H10722DD38
-10722DD38:lI46|H1072301B0
-1072301B0:lI98|H107232348
-107232348:lI101|H1072341D0
-1072341D0:lI97|H107235D58
-107235D58:lI109|N
-1071F1678:Mn5:H1071F37A0,H1071F37B0,H1071F37C0,H1071F37D0,H1071F37E0
-1071F37A0:lH1071F5F90|N
-1071F5F90:lI116|H1071F8BE0
-1071F8BE0:lI108|H1071FBB20
-1071FBB20:lI115|H1071FEBD8
-1071FEBD8:lI95|H107201D80
-107201D80:lI115|H107204FC0
-107204FC0:lI111|H1072082B8
-1072082B8:lI99|H10720B588
-10720B588:lI107|H10720E848
-10720E848:lI101|H107211BC8
-107211BC8:lI116|H1072150A0
-1072150A0:lI46|H107218740
-107218740:lI98|H10721BF90
-10721BF90:lI101|H10721F6A0
-10721F6A0:lI97|H107222BA8
-107222BA8:lI109|N
-1071F37E0:lH1071F5FD0|N
-1071F5FD0:lI115|H1071F8C20
-1071F8C20:lI115|H1071FBB60
-1071FBB60:lI108|H1071FEC18
-1071FEC18:lI95|H107201DC0
-107201DC0:lI99|H107205000
-107205000:lI114|H1072082F8
-1072082F8:lI108|H10720B5C8
-10720B5C8:lI46|H10720E888
-10720E888:lI98|H107211C08
-107211C08:lI101|H1072150E0
-1072150E0:lI97|H107218780
-107218780:lI109|N
-1071F37D0:lH1071F5FC0|N
-1071F5FC0:lI115|H1071F8C10
-1071F8C10:lI115|H1071FBB50
-1071FBB50:lI108|H1071FEC08
-1071FEC08:lI95|H107201DB0
-107201DB0:lI116|H107204FF0
-107204FF0:lI114|H1072082E8
-1072082E8:lI97|H10720B5B8
-10720B5B8:lI99|H10720E878
-10720E878:lI101|H107211BF8
-107211BF8:lI46|H1072150D0
-1072150D0:lI98|H107218770
-107218770:lI101|H10721BFC0
-10721BFC0:lI97|H10721F6D0
-10721F6D0:lI109|N
-1071F37C0:lH1071F5FB0|N
-1071F5FB0:lI100|H1071F8C00
-1071F8C00:lI116|H1071FBB40
-1071FBB40:lI108|H1071FEBF8
-1071FEBF8:lI115|H107201DA0
-107201DA0:lI95|H107204FE0
-107204FE0:lI114|H1072082D8
-1072082D8:lI101|H10720B5A8
-10720B5A8:lI99|H10720E868
-10720E868:lI111|H107211BE8
-107211BE8:lI114|H1072150C0
-1072150C0:lI100|H107218760
-107218760:lI46|H10721BFB0
-10721BFB0:lI98|H10721F6C0
-10721F6C0:lI101|H107222BC8
-107222BC8:lI97|H107225D50
-107225D50:lI109|N
-1071F37B0:lH1071F5FA0|N
-1071F5FA0:lI100|H1071F8BF0
-1071F8BF0:lI116|H1071FBB30
-1071FBB30:lI108|H1071FEBE8
-1071FEBE8:lI115|H107201D90
-107201D90:lI95|H107204FD0
-107204FD0:lI108|H1072082C8
-1072082C8:lI105|H10720B598
-10720B598:lI115|H10720E858
-10720E858:lI116|H107211BD8
-107211BD8:lI101|H1072150B0
-1072150B0:lI110|H107218750
-107218750:lI101|H10721BFA0
-10721BFA0:lI114|H10721F6B0
-10721F6B0:lI95|H107222BB8
-107222BB8:lI115|H107225D40
-107225D40:lI117|H107228BA8
-107228BA8:lI112|H10722B600
-10722B600:lI46|H10722DD18
-10722DD18:lI98|H107230190
-107230190:lI101|H107232338
-107232338:lI97|H1072341C0
-1072341C0:lI109|N
-1071F1640:Mn6:H1071F3720,H1071F3740,H1071F3750,H1071F3760,H1071F3780,H1071F3790
-1071F3720:Mn3:H1071F5EF0,H1071F5F00,H1071F5F10
-1071F5EF0:lH1071F8B40|N
-1071F8B40:lI115|H1071FBA80
-1071FBA80:lI115|H1071FEB38
-1071FEB38:lI108|H107201CE0
-107201CE0:lI95|H107204F20
-107204F20:lI115|H107208218
-107208218:lI101|H10720B4E8
-10720B4E8:lI114|H10720E7A8
-10720E7A8:lI118|H107211B28
-107211B28:lI101|H107215000
-107215000:lI114|H1072186A0
-1072186A0:lI95|H10721BF00
-10721BF00:lI115|H10721F620
-10721F620:lI101|H107222B28
-107222B28:lI115|H107225CD0
-107225CD0:lI115|H107228B38
-107228B38:lI105|H10722B590
-10722B590:lI111|H10722DCA8
-10722DCA8:lI110|H107230140
-107230140:lI95|H1072322E8
-1072322E8:lI99|H107234170
-107234170:lI97|H107235D08
-107235D08:lI99|H107237630
-107237630:lI104|H107238CE8
-107238CE8:lI101|H10723A1D0
-10723A1D0:lI46|H10723B530
-10723B530:lI98|H10723C640
-10723C640:lI101|H10723D510
-10723D510:lI97|H10723E2B0
-10723E2B0:lI109|N
-1071F5F10:lH1071F8B60|N
-1071F8B60:lI116|H1071FBAA0
-1071FBAA0:lI108|H1071FEB58
-1071FEB58:lI115|H107201D00
-107201D00:lI95|H107204F40
-107204F40:lI100|H107208238
-107208238:lI121|H10720B508
-10720B508:lI110|H10720E7C8
-10720E7C8:lI95|H107211B48
-107211B48:lI99|H107215020
-107215020:lI111|H1072186C0
-1072186C0:lI110|H10721BF20
-10721BF20:lI110|H10721F640
-10721F640:lI101|H107222B48
-107222B48:lI99|H107225CF0
-107225CF0:lI116|H107228B58
-107228B58:lI105|H10722B5B0
-10722B5B0:lI111|H10722DCC8
-10722DCC8:lI110|H107230150
-107230150:lI95|H1072322F8
-1072322F8:lI115|H107234180
-107234180:lI117|H107235D18
-107235D18:lI112|H107237640
-107237640:lI46|H107238CF8
-107238CF8:lI98|H10723A1E0
-10723A1E0:lI101|H10723B540
-10723B540:lI97|H10723C650
-10723C650:lI109|N
-1071F5F00:lH1071F8B50|N
-1071F8B50:lI116|H1071FBA90
-1071FBA90:lI108|H1071FEB48
-1071FEB48:lI115|H107201CF0
-107201CF0:lI95|H107204F30
-107204F30:lI104|H107208228
-107208228:lI97|H10720B4F8
-10720B4F8:lI110|H10720E7B8
-10720E7B8:lI100|H107211B38
-107211B38:lI115|H107215010
-107215010:lI104|H1072186B0
-1072186B0:lI97|H10721BF10
-10721BF10:lI107|H10721F630
-10721F630:lI101|H107222B38
-107222B38:lI46|H107225CE0
-107225CE0:lI98|H107228B48
-107228B48:lI101|H10722B5A0
-10722B5A0:lI97|H10722DCB8
-10722DCB8:lI109|N
-1071F3790:lH1071F5F80|N
-1071F5F80:lI115|H1071F8BD0
-1071F8BD0:lI115|H1071FBB10
-1071FBB10:lI108|H1071FEBC8
-1071FEBC8:lI95|H107201D70
-107201D70:lI99|H107204FB0
-107204FB0:lI108|H1072082A8
-1072082A8:lI105|H10720B578
-10720B578:lI101|H10720E838
-10720E838:lI110|H107211BB8
-107211BB8:lI116|H107215090
-107215090:lI95|H107218730
-107218730:lI115|H10721BF80
-10721BF80:lI101|H10721F690
-10721F690:lI115|H107222B98
-107222B98:lI115|H107225D30
-107225D30:lI105|H107228B98
-107228B98:lI111|H10722B5F0
-10722B5F0:lI110|H10722DD08
-10722DD08:lI95|H107230180
-107230180:lI99|H107232328
-107232328:lI97|H1072341B0
-1072341B0:lI99|H107235D48
-107235D48:lI104|H107237670
-107237670:lI101|H107238D28
-107238D28:lI95|H10723A210
-10723A210:lI100|H10723B570
-10723B570:lI98|H10723C680
-10723C680:lI46|H10723D540
-10723D540:lI98|H10723E2E0
-10723E2E0:lI101|H10723EF10
-10723EF10:lI97|H10723F9E0
-10723F9E0:lI109|N
-1071F3780:lH1071F5F70|N
-1071F5F70:lI115|H1071F8BC0
-1071F8BC0:lI115|H1071FBB00
-1071FBB00:lI108|H1071FEBB8
-1071FEBB8:lI95|H107201D60
-107201D60:lI97|H107204FA0
-107204FA0:lI112|H107208298
-107208298:lI112|H10720B568
-10720B568:lI46|H10720E828
-10720E828:lI98|H107211BA8
-107211BA8:lI101|H107215080
-107215080:lI97|H107218720
-107218720:lI109|N
-1071F3760:Mn3:H1071F5F40,H1071F5F50,H1071F5F60
-1071F5F40:lH1071F8B90|N
-1071F8B90:lI115|H1071FBAD0
-1071FBAD0:lI115|H1071FEB88
-1071FEB88:lI108|H107201D30
-107201D30:lI95|H107204F70
-107204F70:lI115|H107208268
-107208268:lI117|H10720B538
-10720B538:lI112|H10720E7F8
-10720E7F8:lI46|H107211B78
-107211B78:lI98|H107215050
-107215050:lI101|H1072186F0
-1072186F0:lI97|H10721BF50
-10721BF50:lI109|N
-1071F5F60:lH1071F8BB0|N
-1071F8BB0:lI116|H1071FBAF0
-1071FBAF0:lI108|H1071FEBA8
-1071FEBA8:lI115|H107201D50
-107201D50:lI95|H107204F90
-107204F90:lI115|H107208288
-107208288:lI101|H10720B558
-10720B558:lI114|H10720E818
-10720E818:lI118|H107211B98
-107211B98:lI101|H107215070
-107215070:lI114|H107218710
-107218710:lI95|H10721BF70
-10721BF70:lI99|H10721F680
-10721F680:lI111|H107222B88
-107222B88:lI110|H107225D20
-107225D20:lI110|H107228B88
-107228B88:lI101|H10722B5E0
-10722B5E0:lI99|H10722DCF8
-10722DCF8:lI116|H107230170
-107230170:lI105|H107232318
-107232318:lI111|H1072341A0
-1072341A0:lI110|H107235D38
-107235D38:lI95|H107237660
-107237660:lI49|H107238D18
-107238D18:lI95|H10723A200
-10723A200:lI51|H10723B560
-10723B560:lI46|H10723C670
-10723C670:lI98|H10723D530
-10723D530:lI101|H10723E2D0
-10723E2D0:lI97|H10723EF00
-10723EF00:lI109|N
-1071F5F50:lH1071F8BA0|N
-1071F8BA0:lI115|H1071FBAE0
-1071FBAE0:lI115|H1071FEB98
-1071FEB98:lI108|H107201D40
-107201D40:lI95|H107204F80
-107204F80:lI97|H107208278
-107208278:lI108|H10720B548
-10720B548:lI101|H10720E808
-10720E808:lI114|H107211B88
-107211B88:lI116|H107215060
-107215060:lI46|H107218700
-107218700:lI98|H10721BF60
-10721BF60:lI101|H10721F670
-10721F670:lI97|H107222B78
-107222B78:lI109|N
-1071F3750:lH1071F5F30|N
-1071F5F30:lI100|H1071F8B80
-1071F8B80:lI116|H1071FBAC0
-1071FBAC0:lI108|H1071FEB78
-1071FEB78:lI115|H107201D20
-107201D20:lI95|H107204F60
-107204F60:lI115|H107208258
-107208258:lI101|H10720B528
-10720B528:lI114|H10720E7E8
-10720E7E8:lI118|H107211B68
-107211B68:lI101|H107215040
-107215040:lI114|H1072186E0
-1072186E0:lI95|H10721BF40
-10721BF40:lI115|H10721F660
-10721F660:lI101|H107222B68
-107222B68:lI115|H107225D10
-107225D10:lI115|H107228B78
-107228B78:lI105|H10722B5D0
-10722B5D0:lI111|H10722DCE8
-10722DCE8:lI110|H107230160
-107230160:lI95|H107232308
-107232308:lI99|H107234190
-107234190:lI97|H107235D28
-107235D28:lI99|H107237650
-107237650:lI104|H107238D08
-107238D08:lI101|H10723A1F0
-10723A1F0:lI95|H10723B550
-10723B550:lI115|H10723C660
-10723C660:lI117|H10723D520
-10723D520:lI112|H10723E2C0
-10723E2C0:lI46|H10723EEF0
-10723EEF0:lI98|H10723F9D0
-10723F9D0:lI101|H107240340
-107240340:lI97|H107240BD0
-107240BD0:lI109|N
-1071F3740:lH1071F5F20|N
-1071F5F20:lI116|H1071F8B70
-1071F8B70:lI108|H1071FBAB0
-1071FBAB0:lI115|H1071FEB68
-1071FEB68:lI95|H107201D10
-107201D10:lI115|H107204F50
-107204F50:lI101|H107208248
-107208248:lI114|H10720B518
-10720B518:lI118|H10720E7D8
-10720E7D8:lI101|H107211B58
-107211B58:lI114|H107215030
-107215030:lI95|H1072186D0
-1072186D0:lI115|H10721BF30
-10721BF30:lI117|H10721F650
-10721F650:lI112|H107222B58
-107222B58:lI46|H107225D00
-107225D00:lI98|H107228B68
-107228B68:lI101|H10722B5C0
-10722B5C0:lI97|H10722DCD8
-10722DCD8:lI109|N
-1071F1610:Mn5:H1071F36C0,H1071F36D8,H1071F36E8,H1071F36F8,H1071F3708
-1071F36C0:Mn2:H1071F5E80,H1071F5E90
-1071F5E80:lH1071F8AD0|N
-1071F8AD0:lI116|H1071FBA10
-1071FBA10:lI108|H1071FEAC8
-1071FEAC8:lI115|H107201C70
-107201C70:lI95|H107204EB0
-107204EB0:lI104|H1072081A8
-1072081A8:lI97|H10720B478
-10720B478:lI110|H10720E738
-10720E738:lI100|H107211AB8
-107211AB8:lI115|H107214F90
-107214F90:lI104|H107218630
-107218630:lI97|H10721BE90
-10721BE90:lI107|H10721F5C0
-10721F5C0:lI101|H107222AC8
-107222AC8:lI95|H107225C70
-107225C70:lI49|H107228AD8
-107228AD8:lI95|H10722B530
-10722B530:lI51|H10722DC58
-10722DC58:lI46|H107230100
-107230100:lI98|H1072322A8
-1072322A8:lI101|H107234140
-107234140:lI97|H107235CE8
-107235CE8:lI109|N
-1071F5E90:lH1071F8AE0|N
-1071F8AE0:lI115|H1071FBA20
-1071FBA20:lI115|H1071FEAD8
-1071FEAD8:lI108|H107201C80
-107201C80:lI95|H107204EC0
-107204EC0:lI97|H1072081B8
-1072081B8:lI100|H10720B488
-10720B488:lI109|H10720E748
-10720E748:lI105|H107211AC8
-107211AC8:lI110|H107214FA0
-107214FA0:lI95|H107218640
-107218640:lI115|H10721BEA0
-10721BEA0:lI117|H10721F5D0
-10721F5D0:lI112|H107222AD8
-107222AD8:lI46|H107225C80
-107225C80:lI98|H107228AE8
-107228AE8:lI101|H10722B540
-10722B540:lI97|H10722DC68
-10722DC68:lI109|N
-1071F3708:Mn2:H1071F5ED0,H1071F5EE0
-1071F5ED0:lH1071F8B20|N
-1071F8B20:lI116|H1071FBA60
-1071FBA60:lI108|H1071FEB18
-1071FEB18:lI115|H107201CC0
-107201CC0:lI95|H107204F00
-107204F00:lI115|H1072081F8
-1072081F8:lI117|H10720B4C8
-10720B4C8:lI112|H10720E788
-10720E788:lI46|H107211B08
-107211B08:lI98|H107214FE0
-107214FE0:lI101|H107218680
-107218680:lI97|H10721BEE0
-10721BEE0:lI109|N
-1071F5EE0:lH1071F8B30|N
-1071F8B30:lI100|H1071FBA70
-1071FBA70:lI116|H1071FEB28
-1071FEB28:lI108|H107201CD0
-107201CD0:lI115|H107204F10
-107204F10:lI95|H107208208
-107208208:lI99|H10720B4D8
-10720B4D8:lI111|H10720E798
-10720E798:lI110|H107211B18
-107211B18:lI110|H107214FF0
-107214FF0:lI101|H107218690
-107218690:lI99|H10721BEF0
-10721BEF0:lI116|H10721F610
-10721F610:lI105|H107222B18
-107222B18:lI111|H107225CC0
-107225CC0:lI110|H107228B28
-107228B28:lI46|H10722B580
-10722B580:lI98|H10722DC98
-10722DC98:lI101|H107230130
-107230130:lI97|H1072322D8
-1072322D8:lI109|N
-1071F36F8:lH1071F5EC0|N
-1071F5EC0:lI115|H1071F8B10
-1071F8B10:lI115|H1071FBA50
-1071FBA50:lI108|H1071FEB08
-1071FEB08:lI95|H107201CB0
-107201CB0:lI99|H107204EF0
-107204EF0:lI114|H1072081E8
-1072081E8:lI108|H10720B4B8
-10720B4B8:lI95|H10720E778
-10720E778:lI99|H107211AF8
-107211AF8:lI97|H107214FD0
-107214FD0:lI99|H107218670
-107218670:lI104|H10721BED0
-10721BED0:lI101|H10721F600
-10721F600:lI46|H107222B08
-107222B08:lI98|H107225CB0
-107225CB0:lI101|H107228B18
-107228B18:lI97|H10722B570
-10722B570:lI109|N
-1071F36E8:lH1071F5EB0|N
-1071F5EB0:lI100|H1071F8B00
-1071F8B00:lI116|H1071FBA40
-1071FBA40:lI108|H1071FEAF8
-1071FEAF8:lI115|H107201CA0
-107201CA0:lI95|H107204EE0
-107204EE0:lI112|H1072081D8
-1072081D8:lI97|H10720B4A8
-10720B4A8:lI99|H10720E768
-10720E768:lI107|H107211AE8
-107211AE8:lI101|H107214FC0
-107214FC0:lI116|H107218660
-107218660:lI95|H10721BEC0
-10721BEC0:lI100|H10721F5F0
-10721F5F0:lI101|H107222AF8
-107222AF8:lI109|H107225CA0
-107225CA0:lI117|H107228B08
-107228B08:lI120|H10722B560
-10722B560:lI46|H10722DC88
-10722DC88:lI98|H107230120
-107230120:lI101|H1072322C8
-1072322C8:lI97|H107234160
-107234160:lI109|N
-1071F36D8:lH1071F5EA0|N
-1071F5EA0:lI116|H1071F8AF0
-1071F8AF0:lI108|H1071FBA30
-1071FBA30:lI115|H1071FEAE8
-1071FEAE8:lI95|H107201C90
-107201C90:lI100|H107204ED0
-107204ED0:lI116|H1072081C8
-1072081C8:lI108|H10720B498
-10720B498:lI115|H10720E758
-10720E758:lI95|H107211AD8
-107211AD8:lI99|H107214FB0
-107214FB0:lI111|H107218650
-107218650:lI110|H10721BEB0
-10721BEB0:lI110|H10721F5E0
-10721F5E0:lI101|H107222AE8
-107222AE8:lI99|H107225C90
-107225C90:lI116|H107228AF8
-107228AF8:lI105|H10722B550
-10722B550:lI111|H10722DC78
-10722DC78:lI110|H107230110
-107230110:lI46|H1072322B8
-1072322B8:lI98|H107234150
-107234150:lI101|H107235CF8
-107235CF8:lI97|H107237620
-107237620:lI109|N
-1071F0548:lI47|H1071F15E8
-1071F15E8:lI111|H1071F3690
-1071F3690:lI112|H1071F5E50
-1071F5E50:lI116|H1071F8AA0
-1071F8AA0:lI47|H1071FB9E0
-1071FB9E0:lI104|H1071FEA98
-1071FEA98:lI111|H107201C40
-107201C40:lI109|H107204E80
-107204E80:lI101|H107208178
-107208178:lI98|H10720B458
-10720B458:lI114|H10720E718
-10720E718:lI101|H107211A98
-107211A98:lI119|H107214F70
-107214F70:lI47|H107218610
-107218610:lI67|H10721BE70
-10721BE70:lI101|H10721F5A0
-10721F5A0:lI108|H107222AA8
-107222AA8:lI108|H107225C60
-107225C60:lI97|H107228AC8
-107228AC8:lI114|H10722B520
-10722B520:lI47|H10722DC48
-10722DC48:lI101|H1072300F0
-1072300F0:lI114|H107232298
-107232298:lI108|H107234130
-107234130:lI97|H107235CD8
-107235CD8:lI110|H107237610
-107237610:lI103|H107238CD8
-107238CD8:lI47|H10723A1C0
-10723A1C0:lI50|H10723B520
-10723B520:lI54|H10723C630
-10723C630:lI46|H10723D500
-10723D500:lI48|H10723E2A0
-10723E2A0:lI46|H10723EEE0
-10723EEE0:lI50|H10723F9C0
-10723F9C0:lI47|H107240330
-107240330:lI108|H107240BC0
-107240BC0:lI105|H107241370
-107241370:lI98|H107241AA0
-107241AA0:lI47|H107242170
-107242170:lI101|H1072427E0
-1072427E0:lI114|H107242DE0
-107242DE0:lI108|H107243350
-107243350:lI97|H107243890
-107243890:lI110|H107243DA0
-107243DA0:lI103|H107244290
-107244290:lI47|H107244740
-107244740:lI108|H107244BB0
-107244BB0:lI105|H107245010
-107245010:lI98|H107245460
-107245460:lI47|H107245860
-107245860:lI115|H107245C20
-107245C20:lI115|H107245FB0
-107245FB0:lI108|H107246340
-107246340:lI45|H1072466D0
-1072466D0:lI49|H107246A60
-107246A60:lI49|H107246DA0
-107246DA0:lI46|H1072470C0
-1072470C0:lI48|H1072473E0
-1072473E0:lI46|H1072476F0
-1072476F0:lI50|H1072479F0
-1072479F0:lI47|H280052C20
-1071F0538:lH1071F15C0|H1071F15D8
-1071F15C0:t2:H1071F35C8,H1071F35D8
-1071F35D8:Mh2B:10:H1071F5BC0,H1071F5BF8,H1071F5C10,H1071F5C30,H1071F5C48,H1071F5C58,H1071F5C70,H1071F5C90,H1071F5CA8,H1071F5CD0,H1071F5CE8,H1071F5D10,H1071F5D20,H1071F5D40,H1071F5D58,H1071F5D70
-1071F5BC0:Mn6:H1071F8428,H1071F8438,H1071F8450,H1071F8460,H1071F8470,H1071F8480
-1071F8428:lH1071FB080|N
-1071FB080:lI115|H1071FDFC0
-1071FDFC0:lI115|H107201078
-107201078:lI104|H107204220
-107204220:lI95|H107207450
-107207450:lI99|H10720A6C8
-10720A6C8:lI108|H10720D8B8
-10720D8B8:lI105|H107210A58
-107210A58:lI101|H107213CB8
-107213CB8:lI110|H107217070
-107217070:lI116|H10721A5A0
-10721A5A0:lI95|H10721DB40
-10721DB40:lI99|H107221060
-107221060:lI104|H107224268
-107224268:lI97|H107227190
-107227190:lI110|H107229CC8
-107229CC8:lI110|H10722C4D0
-10722C4D0:lI101|H10722EA18
-10722EA18:lI108|H107230C80
-107230C80:lI46|H107232C78
-107232C78:lI98|H107234950
-107234950:lI101|H107236388
-107236388:lI97|H107237B50
-107237B50:lI109|N
-1071F8480:lH1071FB0E0|N
-1071FB0E0:lI115|H1071FE020
-1071FE020:lI115|H1072010D8
-1072010D8:lI104|H107204280
-107204280:lI95|H1072074B0
-1072074B0:lI115|H10720A728
-10720A728:lI101|H10720D918
-10720D918:lI114|H107210AA8
-107210AA8:lI118|H107213D08
-107213D08:lI101|H1072170C0
-1072170C0:lI114|H10721A5F0
-10721A5F0:lI95|H10721DB90
-10721DB90:lI99|H1072210B0
-1072210B0:lI104|H1072242B8
-1072242B8:lI97|H1072271D0
-1072271D0:lI110|H107229D08
-107229D08:lI110|H10722C500
-10722C500:lI101|H10722EA48
-10722EA48:lI108|H107230CB0
-107230CB0:lI46|H107232CA8
-107232CA8:lI98|H107234980
-107234980:lI101|H1072363A8
-1072363A8:lI97|H107237B70
-107237B70:lI109|N
-1071F8470:lH1071FB0D0|N
-1071FB0D0:lI115|H1071FE010
-1071FE010:lI115|H1072010C8
-1072010C8:lI104|H107204270
-107204270:lI95|H1072074A0
-1072074A0:lI115|H10720A718
-10720A718:lI101|H10720D908
-10720D908:lI114|H107210A98
-107210A98:lI118|H107213CF8
-107213CF8:lI101|H1072170B0
-1072170B0:lI114|H10721A5E0
-10721A5E0:lI95|H10721DB80
-10721DB80:lI107|H1072210A0
-1072210A0:lI101|H1072242A8
-1072242A8:lI121|H1072271C0
-1072271C0:lI95|H107229CF8
-107229CF8:lI97|H10722C4F0
-10722C4F0:lI112|H10722EA38
-10722EA38:lI105|H107230CA0
-107230CA0:lI46|H107232C98
-107232C98:lI98|H107234970
-107234970:lI101|H107236398
-107236398:lI97|H107237B60
-107237B60:lI109|N
-1071F8460:lH1071FB0C0|N
-1071FB0C0:lI115|H1071FE000
-1071FE000:lI115|H1072010B8
-1072010B8:lI104|H107204260
-107204260:lI95|H107207490
-107207490:lI109|H10720A708
-10720A708:lI101|H10720D8F8
-10720D8F8:lI115|H107210A88
-107210A88:lI115|H107213CE8
-107213CE8:lI97|H1072170A0
-1072170A0:lI103|H10721A5D0
-10721A5D0:lI101|H10721DB70
-10721DB70:lI46|H107221090
-107221090:lI98|H107224298
-107224298:lI101|H1072271B0
-1072271B0:lI97|H107229CE8
-107229CE8:lI109|N
-1071F8450:lH1071FB0B0|N
-1071FB0B0:lI115|H1071FDFF0
-1071FDFF0:lI115|H1072010A8
-1072010A8:lI104|H107204250
-107204250:lI46|H107207480
-107207480:lI97|H10720A6F8
-10720A6F8:lI112|H10720D8E8
-10720D8E8:lI112|N
-1071F8438:Mn2:H1071FB090,H1071FB0A0
-1071FB090:lH1071FDFD0|N
-1071FDFD0:lI115|H107201088
-107201088:lI115|H107204230
-107204230:lI104|H107207460
-107207460:lI95|H10720A6D8
-10720A6D8:lI99|H10720D8C8
-10720D8C8:lI104|H107210A68
-107210A68:lI97|H107213CC8
-107213CC8:lI110|H107217080
-107217080:lI110|H10721A5B0
-10721A5B0:lI101|H10721DB50
-10721DB50:lI108|H107221070
-107221070:lI95|H107224278
-107224278:lI115|H1072271A0
-1072271A0:lI117|H107229CD8
-107229CD8:lI112|H10722C4E0
-10722C4E0:lI46|H10722EA28
-10722EA28:lI98|H107230C90
-107230C90:lI101|H107232C88
-107232C88:lI97|H107234960
-107234960:lI109|N
-1071FB0A0:lH1071FDFE0|N
-1071FDFE0:lI115|H107201098
-107201098:lI115|H107204240
-107204240:lI104|H107207470
-107207470:lI95|H10720A6E8
-10720A6E8:lI115|H10720D8D8
-10720D8D8:lI102|H107210A78
-107210A78:lI116|H107213CD8
-107213CD8:lI112|H107217090
-107217090:lI46|H10721A5C0
-10721A5C0:lI98|H10721DB60
-10721DB60:lI101|H107221080
-107221080:lI97|H107224288
-107224288:lI109|N
-1071F5D70:Mn2:H1071F86A8,H1071F86B8
-1071F86A8:lH1071FB310|N
-1071FB310:lI115|H1071FE250
-1071FE250:lI115|H107201308
-107201308:lI104|H1072044B0
-1072044B0:lI95|H1072076E0
-1072076E0:lI115|H10720A958
-10720A958:lI102|H10720DB48
-10720DB48:lI116|H107210CD8
-107210CD8:lI112|H107213F38
-107213F38:lI100|H1072172D0
-1072172D0:lI95|H10721A800
-10721A800:lI102|H10721DD80
-10721DD80:lI105|H107221280
-107221280:lI108|H107224428
-107224428:lI101|H107227300
-107227300:lI46|H107229E38
-107229E38:lI98|H10722C620
-10722C620:lI101|H10722EB58
-10722EB58:lI97|H107230DB0
-107230DB0:lI109|N
-1071F86B8:lH1071FB320|N
-1071FB320:lI115|H1071FE260
-1071FE260:lI115|H107201318
-107201318:lI104|H1072044C0
-1072044C0:lI95|H1072076F0
-1072076F0:lI99|H10720A968
-10720A968:lI104|H10720DB58
-10720DB58:lI97|H107210CE8
-107210CE8:lI110|H107213F48
-107213F48:lI110|H1072172E0
-1072172E0:lI101|H10721A810
-10721A810:lI108|H10721DD90
-10721DD90:lI46|H107221290
-107221290:lI98|H107224438
-107224438:lI101|H107227310
-107227310:lI97|H107229E48
-107229E48:lI109|N
-1071F5D58:Mn2:H1071F8688,H1071F8698
-1071F8688:lH1071FB2F0|N
-1071FB2F0:lI115|H1071FE230
-1071FE230:lI115|H1072012E8
-1072012E8:lI104|H107204490
-107204490:lI95|H1072076C0
-1072076C0:lI97|H10720A938
-10720A938:lI99|H10720DB28
-10720DB28:lI99|H107210CB8
-107210CB8:lI101|H107213F18
-107213F18:lI112|H1072172B0
-1072172B0:lI116|H10721A7E0
-10721A7E0:lI111|H10721DD60
-10721DD60:lI114|H107221260
-107221260:lI46|H107224418
-107224418:lI98|H1072272F0
-1072272F0:lI101|H107229E28
-107229E28:lI97|H10722C610
-10722C610:lI109|N
-1071F8698:lH1071FB300|N
-1071FB300:lI115|H1071FE240
-1071FE240:lI115|H1072012F8
-1072012F8:lI104|H1072044A0
-1072044A0:lI95|H1072076D0
-1072076D0:lI102|H10720A948
-10720A948:lI105|H10720DB38
-10720DB38:lI108|H107210CC8
-107210CC8:lI101|H107213F28
-107213F28:lI46|H1072172C0
-1072172C0:lI98|H10721A7F0
-10721A7F0:lI101|H10721DD70
-10721DD70:lI97|H107221270
-107221270:lI109|N
-1071F5D40:Mn2:H1071F8668,H1071F8678
-1071F8668:lH1071FB2D0|N
-1071FB2D0:lI115|H1071FE210
-1071FE210:lI115|H1072012C8
-1072012C8:lI104|H107204470
-107204470:lI95|H1072076A0
-1072076A0:lI115|H10720A918
-10720A918:lI117|H10720DB08
-10720DB08:lI98|H107210C98
-107210C98:lI115|H107213EF8
-107213EF8:lI121|H107217290
-107217290:lI115|H10721A7C0
-10721A7C0:lI116|H10721DD40
-10721DD40:lI101|H107221240
-107221240:lI109|H1072243F8
-1072243F8:lI95|H1072272D0
-1072272D0:lI115|H107229E08
-107229E08:lI117|H10722C5F0
-10722C5F0:lI112|H10722EB38
-10722EB38:lI46|H107230D90
-107230D90:lI98|H107232D68
-107232D68:lI101|H107234A30
-107234A30:lI97|H107236448
-107236448:lI109|N
-1071F8678:lH1071FB2E0|N
-1071FB2E0:lI115|H1071FE220
-1071FE220:lI115|H1072012D8
-1072012D8:lI104|H107204480
-107204480:lI95|H1072076B0
-1072076B0:lI102|H10720A928
-10720A928:lI115|H10720DB18
-10720DB18:lI109|H107210CA8
-107210CA8:lI95|H107213F08
-107213F08:lI117|H1072172A0
-1072172A0:lI115|H10721A7D0
-10721A7D0:lI101|H10721DD50
-10721DD50:lI114|H107221250
-107221250:lI97|H107224408
-107224408:lI117|H1072272E0
-1072272E0:lI116|H107229E18
-107229E18:lI104|H10722C600
-10722C600:lI95|H10722EB48
-10722EB48:lI99|H107230DA0
-107230DA0:lI108|H107232D78
-107232D78:lI105|H107234A40
-107234A40:lI101|H107236458
-107236458:lI110|H107237C10
-107237C10:lI116|H1072391C8
-1072391C8:lI46|H10723A660
-10723A660:lI98|H10723B920
-10723B920:lI101|H10723C950
-10723C950:lI97|H10723D7C0
-10723D7C0:lI109|N
-1071F5D20:Mn3:H1071F8638,H1071F8648,H1071F8658
-1071F8638:lH1071FB2A0|N
-1071FB2A0:lI115|H1071FE1E0
-1071FE1E0:lI115|H107201298
-107201298:lI104|H107204440
-107204440:lI95|H107207670
-107207670:lI97|H10720A8E8
-10720A8E8:lI103|H10720DAD8
-10720DAD8:lI101|H107210C68
-107210C68:lI110|H107213EC8
-107213EC8:lI116|H107217260
-107217260:lI46|H10721A790
-10721A790:lI98|H10721DD10
-10721DD10:lI101|H107221210
-107221210:lI97|H1072243C8
-1072243C8:lI109|N
-1071F8658:lH1071FB2C0|N
-1071FB2C0:lI115|H1071FE200
-1071FE200:lI115|H1072012B8
-1072012B8:lI104|H107204460
-107204460:lI95|H107207690
-107207690:lI100|H10720A908
-10720A908:lI97|H10720DAF8
-10720DAF8:lI101|H107210C88
-107210C88:lI109|H107213EE8
-107213EE8:lI111|H107217280
-107217280:lI110|H10721A7B0
-10721A7B0:lI95|H10721DD30
-10721DD30:lI99|H107221230
-107221230:lI104|H1072243E8
-1072243E8:lI97|H1072272C0
-1072272C0:lI110|H107229DF8
-107229DF8:lI110|H10722C5E0
-10722C5E0:lI101|H10722EB28
-10722EB28:lI108|H107230D80
-107230D80:lI46|H107232D58
-107232D58:lI98|H107234A20
-107234A20:lI101|H107236438
-107236438:lI97|H107237C00
-107237C00:lI109|N
-1071F8648:lH1071FB2B0|N
-1071FB2B0:lI115|H1071FE1F0
-1071FE1F0:lI115|H1072012A8
-1072012A8:lI104|H107204450
-107204450:lI95|H107207680
-107207680:lI116|H10720A8F8
-10720A8F8:lI99|H10720DAE8
-10720DAE8:lI112|H107210C78
-107210C78:lI105|H107213ED8
-107213ED8:lI112|H107217270
-107217270:lI95|H10721A7A0
-10721A7A0:lI102|H10721DD20
-10721DD20:lI111|H107221220
-107221220:lI114|H1072243D8
-1072243D8:lI119|H1072272B0
-1072272B0:lI97|H107229DE8
-107229DE8:lI114|H10722C5D0
-10722C5D0:lI100|H10722EB18
-10722EB18:lI95|H107230D70
-107230D70:lI99|H107232D48
-107232D48:lI108|H107234A10
-107234A10:lI105|H107236428
-107236428:lI101|H107237BF0
-107237BF0:lI110|H1072391B8
-1072391B8:lI116|H10723A650
-10723A650:lI46|H10723B910
-10723B910:lI98|H10723C940
-10723C940:lI101|H10723D7B0
-10723D7B0:lI97|H10723E500
-10723E500:lI109|N
-1071F5D10:lH1071F8628|N
-1071F8628:lI115|H1071FB290
-1071FB290:lI115|H1071FE1D0
-1071FE1D0:lI104|H107201288
-107201288:lI95|H107204430
-107204430:lI97|H107207660
-107207660:lI112|H10720A8D8
-10720A8D8:lI112|H10720DAC8
-10720DAC8:lI46|H107210C58
-107210C58:lI98|H107213EB8
-107213EB8:lI101|H107217250
-107217250:lI97|H10721A780
-10721A780:lI109|N
-1071F5CE8:Mn4:H1071F85E8,H1071F85F8,H1071F8608,H1071F8618
-1071F85E8:lH1071FB250|N
-1071FB250:lI115|H1071FE190
-1071FE190:lI115|H107201248
-107201248:lI104|H1072043F0
-1072043F0:lI95|H107207620
-107207620:lI120|H10720A898
-10720A898:lI102|H10720DA88
-10720DA88:lI101|H107210C18
-107210C18:lI114|H107213E78
-107213E78:lI46|H107217210
-107217210:lI98|H10721A740
-10721A740:lI101|H10721DCD0
-10721DCD0:lI97|H1072211D0
-1072211D0:lI109|N
-1071F8618:lH1071FB280|N
-1071FB280:lI115|H1071FE1C0
-1071FE1C0:lI115|H107201278
-107201278:lI104|H107204420
-107204420:lI95|H107207650
-107207650:lI98|H10720A8C8
-10720A8C8:lI105|H10720DAB8
-10720DAB8:lI116|H107210C48
-107210C48:lI115|H107213EA8
-107213EA8:lI46|H107217240
-107217240:lI98|H10721A770
-10721A770:lI101|H10721DD00
-10721DD00:lI97|H107221200
-107221200:lI109|N
-1071F8608:lH1071FB270|N
-1071FB270:lI115|H1071FE1B0
-1071FE1B0:lI115|H107201268
-107201268:lI104|H107204410
-107204410:lI95|H107207640
-107207640:lI102|H10720A8B8
-10720A8B8:lI115|H10720DAA8
-10720DAA8:lI109|H107210C38
-107210C38:lI95|H107213E98
-107213E98:lI107|H107217230
-107217230:lI101|H10721A760
-10721A760:lI120|H10721DCF0
-10721DCF0:lI105|H1072211F0
-1072211F0:lI110|H1072243B8
-1072243B8:lI105|H1072272A0
-1072272A0:lI116|H107229DD8
-107229DD8:lI46|H10722C5C0
-10722C5C0:lI98|H10722EB08
-10722EB08:lI101|H107230D60
-107230D60:lI97|H107232D38
-107232D38:lI109|N
-1071F85F8:lH1071FB260|N
-1071FB260:lI115|H1071FE1A0
-1071FE1A0:lI115|H107201258
-107201258:lI104|H107204400
-107204400:lI95|H107207630
-107207630:lI111|H10720A8A8
-10720A8A8:lI112|H10720DA98
-10720DA98:lI116|H107210C28
-107210C28:lI105|H107213E88
-107213E88:lI111|H107217220
-107217220:lI110|H10721A750
-10721A750:lI115|H10721DCE0
-10721DCE0:lI46|H1072211E0
-1072211E0:lI98|H1072243A8
-1072243A8:lI101|H107227290
-107227290:lI97|H107229DC8
-107229DC8:lI109|N
-1071F5CD0:Mn2:H1071F85C8,H1071F85D8
-1071F85C8:lH1071FB230|N
-1071FB230:lI115|H1071FE170
-1071FE170:lI115|H107201228
-107201228:lI104|H1072043D0
-1072043D0:lI95|H107207600
-107207600:lI116|H10720A878
-10720A878:lI99|H10720DA68
-10720DA68:lI112|H107210BF8
-107210BF8:lI105|H107213E58
-107213E58:lI112|H1072171F0
-1072171F0:lI95|H10721A720
-10721A720:lI102|H10721DCB0
-10721DCB0:lI111|H1072211B0
-1072211B0:lI114|H107224388
-107224388:lI119|H107227270
-107227270:lI97|H107229DA8
-107229DA8:lI114|H10722C5A0
-10722C5A0:lI100|H10722EAE8
-10722EAE8:lI95|H107230D40
-107230D40:lI97|H107232D28
-107232D28:lI99|H107234A00
-107234A00:lI99|H107236418
-107236418:lI101|H107237BE0
-107237BE0:lI112|H1072391A8
-1072391A8:lI116|H10723A640
-10723A640:lI111|H10723B900
-10723B900:lI114|H10723C930
-10723C930:lI95|H10723D7A0
-10723D7A0:lI115|H10723E4F0
-10723E4F0:lI117|H10723F100
-10723F100:lI112|H10723FBC0
-10723FBC0:lI46|H107240500
-107240500:lI98|H107240D80
-107240D80:lI101|H107241510
-107241510:lI97|H107241C40
-107241C40:lI109|N
-1071F85D8:lH1071FB240|N
-1071FB240:lI115|H1071FE180
-1071FE180:lI115|H107201238
-107201238:lI104|H1072043E0
-1072043E0:lI95|H107207610
-107207610:lI115|H10720A888
-10720A888:lI121|H10720DA78
-10720DA78:lI115|H107210C08
-107210C08:lI116|H107213E68
-107213E68:lI101|H107217200
-107217200:lI109|H10721A730
-10721A730:lI95|H10721DCC0
-10721DCC0:lI115|H1072211C0
-1072211C0:lI117|H107224398
-107224398:lI112|H107227280
-107227280:lI46|H107229DB8
-107229DB8:lI98|H10722C5B0
-10722C5B0:lI101|H10722EAF8
-10722EAF8:lI97|H107230D50
-107230D50:lI109|N
-1071F5CA8:Mn4:H1071F8588,H1071F8598,H1071F85A8,H1071F85B8
-1071F8588:lH1071FB1F0|N
-1071FB1F0:lI115|H1071FE130
-1071FE130:lI115|H1072011E8
-1072011E8:lI104|H107204390
-107204390:lI95|H1072075C0
-1072075C0:lI116|H10720A838
-10720A838:lI99|H10720DA28
-10720DA28:lI112|H107210BB8
-107210BB8:lI105|H107213E18
-107213E18:lI112|H1072171B0
-1072171B0:lI95|H10721A6E0
-10721A6E0:lI102|H10721DC70
-10721DC70:lI111|H107221170
-107221170:lI114|H107224358
-107224358:lI119|H107227250
-107227250:lI97|H107229D88
-107229D88:lI114|H10722C580
-10722C580:lI100|H10722EAC8
-10722EAC8:lI95|H107230D30
-107230D30:lI115|H107232D18
-107232D18:lI114|H1072349F0
-1072349F0:lI118|H107236408
-107236408:lI46|H107237BD0
-107237BD0:lI98|H107239198
-107239198:lI101|H10723A630
-10723A630:lI97|H10723B8F0
-10723B8F0:lI109|N
-1071F85B8:lH1071FB220|N
-1071FB220:lI115|H1071FE160
-1071FE160:lI115|H107201218
-107201218:lI104|H1072043C0
-1072043C0:lI95|H1072075F0
-1072075F0:lI97|H10720A868
-10720A868:lI117|H10720DA58
-10720DA58:lI116|H107210BE8
-107210BE8:lI104|H107213E48
-107213E48:lI46|H1072171E0
-1072171E0:lI98|H10721A710
-10721A710:lI101|H10721DCA0
-10721DCA0:lI97|H1072211A0
-1072211A0:lI109|N
-1071F85A8:lH1071FB210|N
-1071FB210:lI115|H1071FE150
-1071FE150:lI115|H107201208
-107201208:lI104|H1072043B0
-1072043B0:lI95|H1072075E0
-1072075E0:lI116|H10720A858
-10720A858:lI114|H10720DA48
-10720DA48:lI97|H107210BD8
-107210BD8:lI110|H107213E38
-107213E38:lI115|H1072171D0
-1072171D0:lI112|H10721A700
-10721A700:lI111|H10721DC90
-10721DC90:lI114|H107221190
-107221190:lI116|H107224378
-107224378:lI46|H107227260
-107227260:lI98|H107229D98
-107229D98:lI101|H10722C590
-10722C590:lI97|H10722EAD8
-10722EAD8:lI109|N
-1071F8598:lH1071FB200|N
-1071FB200:lI115|H1071FE140
-1071FE140:lI115|H1072011F8
-1072011F8:lI104|H1072043A0
-1072043A0:lI95|H1072075D0
-1072075D0:lI115|H10720A848
-10720A848:lI104|H10720DA38
-10720DA38:lI101|H107210BC8
-107210BC8:lI108|H107213E28
-107213E28:lI108|H1072171C0
-1072171C0:lI46|H10721A6F0
-10721A6F0:lI98|H10721DC80
-10721DC80:lI101|H107221180
-107221180:lI97|H107224368
-107224368:lI109|N
-1071F5C90:Mn2:H1071F8568,H1071F8578
-1071F8568:lH1071FB1D0|N
-1071FB1D0:lI115|H1071FE110
-1071FE110:lI115|H1072011C8
-1072011C8:lI104|H107204370
-107204370:lI95|H1072075A0
-1072075A0:lI102|H10720A818
-10720A818:lI115|H10720DA08
-10720DA08:lI109|H107210B98
-107210B98:lI95|H107213DF8
-107213DF8:lI117|H107217190
-107217190:lI115|H10721A6C0
-10721A6C0:lI101|H10721DC50
-10721DC50:lI114|H107221150
-107221150:lI97|H107224338
-107224338:lI117|H107227230
-107227230:lI116|H107229D68
-107229D68:lI104|H10722C560
-10722C560:lI95|H10722EAA8
-10722EAA8:lI115|H107230D10
-107230D10:lI101|H107232CF8
-107232CF8:lI114|H1072349D0
-1072349D0:lI118|H1072363E8
-1072363E8:lI101|H107237BB0
-107237BB0:lI114|H107239188
-107239188:lI46|H10723A620
-10723A620:lI98|H10723B8E0
-10723B8E0:lI101|H10723C920
-10723C920:lI97|H10723D790
-10723D790:lI109|N
-1071F8578:lH1071FB1E0|N
-1071FB1E0:lI115|H1071FE120
-1071FE120:lI115|H1072011D8
-1072011D8:lI104|H107204380
-107204380:lI95|H1072075B0
-1072075B0:lI99|H10720A828
-10720A828:lI108|H10720DA18
-10720DA18:lI105|H107210BA8
-107210BA8:lI101|H107213E08
-107213E08:lI110|H1072171A0
-1072171A0:lI116|H10721A6D0
-10721A6D0:lI95|H10721DC60
-10721DC60:lI107|H107221160
-107221160:lI101|H107224348
-107224348:lI121|H107227240
-107227240:lI95|H107229D78
-107229D78:lI97|H10722C570
-10722C570:lI112|H10722EAB8
-10722EAB8:lI105|H107230D20
-107230D20:lI46|H107232D08
-107232D08:lI98|H1072349E0
-1072349E0:lI101|H1072363F8
-1072363F8:lI97|H107237BC0
-107237BC0:lI109|N
-1071F5C70:Mn3:H1071F8538,H1071F8548,H1071F8558
-1071F8538:lH1071FB1A0|N
-1071FB1A0:lI115|H1071FE0E0
-1071FE0E0:lI115|H107201198
-107201198:lI104|H107204340
-107204340:lI46|H107207570
-107207570:lI97|H10720A7E8
-10720A7E8:lI112|H10720D9D8
-10720D9D8:lI112|H107210B68
-107210B68:lI117|H107213DC8
-107213DC8:lI112|N
-1071F8558:lH1071FB1C0|N
-1071FB1C0:lI115|H1071FE100
-1071FE100:lI115|H1072011B8
-1072011B8:lI104|H107204360
-107204360:lI95|H107207590
-107207590:lI105|H10720A808
-10720A808:lI111|H10720D9F8
-10720D9F8:lI46|H107210B88
-107210B88:lI98|H107213DE8
-107213DE8:lI101|H107217180
-107217180:lI97|H10721A6B0
-10721A6B0:lI109|N
-1071F8548:lH1071FB1B0|N
-1071FB1B0:lI115|H1071FE0F0
-1071FE0F0:lI115|H1072011A8
-1072011A8:lI104|H107204350
-107204350:lI95|H107207580
-107207580:lI99|H10720A7F8
-10720A7F8:lI111|H10720D9E8
-10720D9E8:lI110|H107210B78
-107210B78:lI110|H107213DD8
-107213DD8:lI101|H107217170
-107217170:lI99|H10721A6A0
-10721A6A0:lI116|H10721DC40
-10721DC40:lI105|H107221140
-107221140:lI111|H107224328
-107224328:lI110|H107227220
-107227220:lI46|H107229D58
-107229D58:lI98|H10722C550
-10722C550:lI101|H10722EA98
-10722EA98:lI97|H107230D00
-107230D00:lI109|N
-1071F5C58:Mn2:H1071F8518,H1071F8528
-1071F8518:lH1071FB180|N
-1071FB180:lI115|H1071FE0C0
-1071FE0C0:lI115|H107201178
-107201178:lI104|H107204320
-107204320:lI95|H107207550
-107207550:lI115|H10720A7C8
-10720A7C8:lI102|H10720D9B8
-10720D9B8:lI116|H107210B48
-107210B48:lI112|H107213DA8
-107213DA8:lI100|H107217150
-107217150:lI95|H10721A680
-10721A680:lI102|H10721DC20
-10721DC20:lI105|H107221120
-107221120:lI108|H107224318
-107224318:lI101|H107227210
-107227210:lI95|H107229D48
-107229D48:lI97|H10722C540
-10722C540:lI112|H10722EA88
-10722EA88:lI105|H107230CF0
-107230CF0:lI46|H107232CE8
-107232CE8:lI98|H1072349C0
-1072349C0:lI101|H1072363D8
-1072363D8:lI97|H107237BA0
-107237BA0:lI109|N
-1071F8528:lH1071FB190|N
-1071FB190:lI115|H1071FE0D0
-1071FE0D0:lI115|H107201188
-107201188:lI104|H107204330
-107204330:lI95|H107207560
-107207560:lI105|H10720A7D8
-10720A7D8:lI110|H10720D9C8
-10720D9C8:lI102|H107210B58
-107210B58:lI111|H107213DB8
-107213DB8:lI46|H107217160
-107217160:lI98|H10721A690
-10721A690:lI101|H10721DC30
-10721DC30:lI97|H107221130
-107221130:lI109|N
-1071F5C48:lH1071F8508|N
-1071F8508:lI115|H1071FB170
-1071FB170:lI115|H1071FE0B0
-1071FE0B0:lI104|H107201168
-107201168:lI95|H107204310
-107204310:lI99|H107207540
-107207540:lI111|H10720A7B8
-10720A7B8:lI110|H10720D9A8
-10720D9A8:lI110|H107210B38
-107210B38:lI101|H107213D98
-107213D98:lI99|H107217140
-107217140:lI116|H10721A670
-10721A670:lI105|H10721DC10
-10721DC10:lI111|H107221110
-107221110:lI110|H107224308
-107224308:lI95|H107227200
-107227200:lI104|H107229D38
-107229D38:lI97|H10722C530
-10722C530:lI110|H10722EA78
-10722EA78:lI100|H107230CE0
-107230CE0:lI108|H107232CD8
-107232CD8:lI101|H1072349B0
-1072349B0:lI114|H1072363C8
-1072363C8:lI46|H107237B90
-107237B90:lI98|H107239178
-107239178:lI101|H10723A610
-10723A610:lI97|H10723B8D0
-10723B8D0:lI109|N
-1071F5C30:Mn2:H1071F84E0,H1071F84F8
-1071F84E0:Mn2:H1071FB140,H1071FB150
-1071FB140:lH1071FE080|N
-1071FE080:lI115|H107201138
-107201138:lI115|H1072042E0
-1072042E0:lI104|H107207510
-107207510:lI95|H10720A788
-10720A788:lI100|H10720D978
-10720D978:lI98|H107210B08
-107210B08:lI103|H107213D68
-107213D68:lI46|H107217120
-107217120:lI98|H10721A650
-10721A650:lI101|H10721DBF0
-10721DBF0:lI97|H1072210F0
-1072210F0:lI109|N
-1071FB150:lH1071FE090|N
-1071FE090:lI115|H107201148
-107201148:lI115|H1072042F0
-1072042F0:lI104|H107207520
-107207520:lI46|H10720A798
-10720A798:lI98|H10720D988
-10720D988:lI101|H107210B18
-107210B18:lI97|H107213D78
-107213D78:lI109|N
-1071F84F8:lH1071FB160|N
-1071FB160:lI115|H1071FE0A0
-1071FE0A0:lI115|H107201158
-107201158:lI104|H107204300
-107204300:lI95|H107207530
-107207530:lI115|H10720A7A8
-10720A7A8:lI102|H10720D998
-10720D998:lI116|H107210B28
-107210B28:lI112|H107213D88
-107213D88:lI100|H107217130
-107217130:lI46|H10721A660
-10721A660:lI98|H10721DC00
-10721DC00:lI101|H107221100
-107221100:lI97|H1072242F8
-1072242F8:lI109|N
-1071F5C10:Mn3:H1071F84B0,H1071F84C0,H1071F84D0
-1071F84B0:lH1071FB110|N
-1071FB110:lI115|H1071FE050
-1071FE050:lI115|H107201108
-107201108:lI104|H1072042B0
-1072042B0:lI95|H1072074E0
-1072074E0:lI110|H10720A758
-10720A758:lI111|H10720D948
-10720D948:lI95|H107210AD8
-107210AD8:lI105|H107213D38
-107213D38:lI111|H1072170F0
-1072170F0:lI46|H10721A620
-10721A620:lI98|H10721DBC0
-10721DBC0:lI101|H1072210D0
-1072210D0:lI97|H1072242D8
-1072242D8:lI109|N
-1071F84D0:lH1071FB130|N
-1071FB130:lI115|H1071FE070
-1071FE070:lI115|H107201128
-107201128:lI104|H1072042D0
-1072042D0:lI95|H107207500
-107207500:lI99|H10720A778
-10720A778:lI108|H10720D968
-10720D968:lI105|H107210AF8
-107210AF8:lI46|H107213D58
-107213D58:lI98|H107217110
-107217110:lI101|H10721A640
-10721A640:lI97|H10721DBE0
-10721DBE0:lI109|N
-1071F84C0:lH1071FB120|N
-1071FB120:lI115|H1071FE060
-1071FE060:lI115|H107201118
-107201118:lI104|H1072042C0
-1072042C0:lI95|H1072074F0
-1072074F0:lI116|H10720A768
-10720A768:lI99|H10720D958
-10720D958:lI112|H107210AE8
-107210AE8:lI105|H107213D48
-107213D48:lI112|H107217100
-107217100:lI95|H10721A630
-10721A630:lI102|H10721DBD0
-10721DBD0:lI111|H1072210E0
-1072210E0:lI114|H1072242E8
-1072242E8:lI119|H1072271F0
-1072271F0:lI97|H107229D28
-107229D28:lI114|H10722C520
-10722C520:lI100|H10722EA68
-10722EA68:lI95|H107230CD0
-107230CD0:lI97|H107232CC8
-107232CC8:lI99|H1072349A0
-1072349A0:lI99|H1072363B8
-1072363B8:lI101|H107237B80
-107237B80:lI112|H107239168
-107239168:lI116|H10723A600
-10723A600:lI111|H10723B8C0
-10723B8C0:lI114|H10723C910
-10723C910:lI46|H10723D780
-10723D780:lI98|H10723E4E0
-10723E4E0:lI101|H10723F0F0
-10723F0F0:lI97|H10723FBB0
-10723FBB0:lI109|N
-1071F5BF8:Mn2:H1071F8490,H1071F84A0
-1071F8490:lH1071FB0F0|N
-1071FB0F0:lI115|H1071FE030
-1071FE030:lI115|H1072010E8
-1072010E8:lI104|H107204290
-107204290:lI95|H1072074C0
-1072074C0:lI97|H10720A738
-10720A738:lI99|H10720D928
-10720D928:lI99|H107210AB8
-107210AB8:lI101|H107213D18
-107213D18:lI112|H1072170D0
-1072170D0:lI116|H10721A600
-10721A600:lI111|H10721DBA0
-10721DBA0:lI114|H1072210C0
-1072210C0:lI95|H1072242C8
-1072242C8:lI115|H1072271E0
-1072271E0:lI117|H107229D18
-107229D18:lI112|H10722C510
-10722C510:lI46|H10722EA58
-10722EA58:lI98|H107230CC0
-107230CC0:lI101|H107232CB8
-107232CB8:lI97|H107234990
-107234990:lI109|N
-1071F84A0:lH1071FB100|N
-1071FB100:lI115|H1071FE040
-1071FE040:lI115|H1072010F8
-1072010F8:lI104|H1072042A0
-1072042A0:lI95|H1072074D0
-1072074D0:lI108|H10720A748
-10720A748:lI105|H10720D938
-10720D938:lI98|H107210AC8
-107210AC8:lI46|H107213D28
-107213D28:lI98|H1072170E0
-1072170E0:lI101|H10721A610
-10721A610:lI97|H10721DBB0
-10721DBB0:lI109|N
-1071F35C8:lI47|H1071F5BB0
-1071F5BB0:lI111|H1071F8418
-1071F8418:lI112|H1071FB070
-1071FB070:lI116|H1071FDFB0
-1071FDFB0:lI47|H107201068
-107201068:lI104|H107204210
-107204210:lI111|H107207440
-107207440:lI109|H10720A6B8
-10720A6B8:lI101|H10720D8A8
-10720D8A8:lI98|H107210A48
-107210A48:lI114|H107213CA8
-107213CA8:lI101|H107217060
-107217060:lI119|H10721A590
-10721A590:lI47|H10721DB30
-10721DB30:lI67|H107221050
-107221050:lI101|H107224258
-107224258:lI108|H107227180
-107227180:lI108|H107229CB8
-107229CB8:lI97|H10722C4C0
-10722C4C0:lI114|H10722EA08
-10722EA08:lI47|H107230C70
-107230C70:lI101|H107232C68
-107232C68:lI114|H107234940
-107234940:lI108|H107236378
-107236378:lI97|H107237B40
-107237B40:lI110|H107239158
-107239158:lI103|H10723A5F0
-10723A5F0:lI47|H10723B8B0
-10723B8B0:lI50|H10723C900
-10723C900:lI54|H10723D770
-10723D770:lI46|H10723E4D0
-10723E4D0:lI48|H10723F0E0
-10723F0E0:lI46|H10723FBA0
-10723FBA0:lI50|H1072404F0
-1072404F0:lI47|H107240D70
-107240D70:lI108|H107241500
-107241500:lI105|H107241C30
-107241C30:lI98|H107242300
-107242300:lI47|H107242970
-107242970:lI101|H107242F70
-107242F70:lI114|H1072434E0
-1072434E0:lI108|H107243A20
-107243A20:lI97|H107243F10
-107243F10:lI110|H107244400
-107244400:lI103|H1072448B0
-1072448B0:lI47|H107244D20
-107244D20:lI108|H107245180
-107245180:lI105|H1072455D0
-1072455D0:lI98|H1072459D0
-1072459D0:lI47|H107245D90
-107245D90:lI115|H107246120
-107246120:lI115|H1072464B0
-1072464B0:lI104|H107246840
-107246840:lI45|H107246BD0
-107246BD0:lI53|H107246F00
-107246F00:lI46|H107247220
-107247220:lI48|H107247530
-107247530:lI46|H107247830
-107247830:lI49|H107247B30
-107247B30:lI47|H280052C20
-1071F15D8:lH1071F3668|H1071F3680
-1071F3668:t2:H1071F5D88,H1071F5D98
-1071F5D98:Mh5B:10:H1071F86D8,H1071F8700,H1071F8720,H1071F8740,H1071F8778,H1071F8788,H1071F87B8,H1071F87D8,H1071F87F8,H1071F8840,H1071F8878,H1071F8898,H1071F88E0,H1071F8920,H1071F8950,H1071F8988
-1071F86D8:Mn4:H1071FB340,H1071FB350,H1071FB370,H1071FB380
-1071FB340:lH1071FE280|N
-1071FE280:lI115|H107201338
-107201338:lI110|H1072044E0
-1072044E0:lI109|H107207710
-107207710:lI112|H10720A988
-10720A988:lI95|H10720DB78
-10720DB78:lI118|H107210D08
-107210D08:lI105|H107213F68
-107213F68:lI101|H107217300
-107217300:lI119|H10721A830
-10721A830:lI95|H10721DDB0
-10721DDB0:lI98|H1072212B0
-1072212B0:lI97|H107224458
-107224458:lI115|H107227330
-107227330:lI101|H107229E68
-107229E68:lI100|H10722C640
-10722C640:lI95|H10722EB78
-10722EB78:lI97|H107230DD0
-107230DD0:lI99|H107232D98
-107232D98:lI109|H107234A60
-107234A60:lI95|H107236478
-107236478:lI109|H107237C30
-107237C30:lI105|H1072391E8
-1072391E8:lI98|H10723A680
-10723A680:lI46|H10723B940
-10723B940:lI98|H10723C970
-10723C970:lI101|H10723D7E0
-10723D7E0:lI97|H10723E520
-10723E520:lI109|N
-1071FB380:lH1071FE2D0|N
-1071FE2D0:lI115|H107201388
-107201388:lI110|H107204530
-107204530:lI109|H107207760
-107207760:lI112|H10720A9D8
-10720A9D8:lI97|H10720DBC8
-10720DBC8:lI95|H107210D58
-107210D58:lI97|H107213FB8
-107213FB8:lI103|H107217350
-107217350:lI101|H10721A880
-10721A880:lI110|H10721DE00
-10721DE00:lI116|H107221300
-107221300:lI95|H1072244A8
-1072244A8:lI115|H107227380
-107227380:lI117|H107229EB8
-107229EB8:lI112|H10722C670
-10722C670:lI46|H10722EBA8
-10722EBA8:lI98|H107230E00
-107230E00:lI101|H107232DC8
-107232DC8:lI97|H107234A90
-107234A90:lI109|N
-1071FB370:lH1071FE2C0|N
-1071FE2C0:lI115|H107201378
-107201378:lI110|H107204520
-107204520:lI109|H107207750
-107207750:lI112|H10720A9C8
-10720A9C8:lI97|H10720DBB8
-10720DBB8:lI95|H107210D48
-107210D48:lI115|H107213FA8
-107213FA8:lI118|H107217340
-107217340:lI98|H10721A870
-10721A870:lI108|H10721DDF0
-10721DDF0:lI46|H1072212F0
-1072212F0:lI98|H107224498
-107224498:lI101|H107227370
-107227370:lI97|H107229EA8
-107229EA8:lI109|N
-1071FB350:Mn3:H1071FE290,H1071FE2A0,H1071FE2B0
-1071FE290:lH107201348|N
-107201348:lI115|H1072044F0
-1072044F0:lI110|H107207720
-107207720:lI109|H10720A998
-10720A998:lI112|H10720DB88
-10720DB88:lI95|H107210D18
-107210D18:lI102|H107213F78
-107213F78:lI114|H107217310
-107217310:lI97|H10721A840
-10721A840:lI109|H10721DDC0
-10721DDC0:lI101|H1072212C0
-1072212C0:lI119|H107224468
-107224468:lI111|H107227340
-107227340:lI114|H107229E78
-107229E78:lI107|H10722C650
-10722C650:lI95|H10722EB88
-10722EB88:lI109|H107230DE0
-107230DE0:lI105|H107232DA8
-107232DA8:lI98|H107234A70
-107234A70:lI46|H107236488
-107236488:lI98|H107237C40
-107237C40:lI101|H1072391F8
-1072391F8:lI97|H10723A690
-10723A690:lI109|N
-1071FE2B0:lH107201368|N
-107201368:lI115|H107204510
-107204510:lI110|H107207740
-107207740:lI109|H10720A9B8
-10720A9B8:lI112|H10720DBA8
-10720DBA8:lI97|H107210D38
-107210D38:lI95|H107213F98
-107213F98:lI97|H107217330
-107217330:lI99|H10721A860
-10721A860:lI109|H10721DDE0
-10721DDE0:lI46|H1072212E0
-1072212E0:lI98|H107224488
-107224488:lI101|H107227360
-107227360:lI97|H107229E98
-107229E98:lI109|N
-1071FE2A0:lH107201358|N
-107201358:lI115|H107204500
-107204500:lI110|H107207730
-107207730:lI109|H10720A9A8
-10720A9A8:lI112|H10720DB98
-10720DB98:lI109|H107210D28
-107210D28:lI95|H107213F88
-107213F88:lI117|H107217320
-107217320:lI115|H10721A850
-10721A850:lI101|H10721DDD0
-10721DDD0:lI114|H1072212D0
-1072212D0:lI95|H107224478
-107224478:lI100|H107227350
-107227350:lI101|H107229E88
-107229E88:lI102|H10722C660
-10722C660:lI97|H10722EB98
-10722EB98:lI117|H107230DF0
-107230DF0:lI108|H107232DB8
-107232DB8:lI116|H107234A80
-107234A80:lI46|H107236498
-107236498:lI98|H107237C50
-107237C50:lI101|H107239208
-107239208:lI97|H10723A6A0
-10723A6A0:lI109|N
-1071F8988:Mn5:H1071FB820,H1071FB830,H1071FB840,H1071FB850,H1071FB860
-1071FB820:lH1071FE7D0|N
-1071FE7D0:lI115|H107201888
-107201888:lI110|H107204A30
-107204A30:lI109|H107207C60
-107207C60:lI112|H10720AED8
-10720AED8:lI97|H10720E0C8
-10720E0C8:lI95|H107211258
-107211258:lI116|H1072144B8
-1072144B8:lI97|H107217850
-107217850:lI114|H10721AD60
-10721AD60:lI103|H10721E2C0
-10721E2C0:lI101|H1072217A0
-1072217A0:lI116|H107224948
-107224948:lI95|H1072277E0
-1072277E0:lI99|H10722A268
-10722A268:lI97|H10722C9C0
-10722C9C0:lI99|H10722EED8
-10722EED8:lI104|H107231100
-107231100:lI101|H107233058
-107233058:lI46|H107234CC0
-107234CC0:lI98|H107236688
-107236688:lI101|H107237DF0
-107237DF0:lI97|H107239388
-107239388:lI109|N
-1071FB860:lH1071FE818|N
-1071FE818:lI115|H1072018D8
-1072018D8:lI110|H107204A80
-107204A80:lI109|H107207CB0
-107207CB0:lI112|H10720AF28
-10720AF28:lI97|H10720E118
-10720E118:lI95|H1072112A8
-1072112A8:lI109|H107214508
-107214508:lI105|H1072178A0
-1072178A0:lI98|H10721ADB0
-10721ADB0:lI95|H10721E310
-10721E310:lI100|H1072217F0
-1072217F0:lI97|H107224998
-107224998:lI116|H107227830
-107227830:lI97|H10722A2B8
-10722A2B8:lI95|H10722CA10
-10722CA10:lI116|H10722EF28
-10722EF28:lI116|H107231140
-107231140:lI116|H107233078
-107233078:lI110|H107234CE0
-107234CE0:lI46|H1072366A8
-1072366A8:lI98|H107237E10
-107237E10:lI101|H1072393A8
-1072393A8:lI97|H10723A800
-10723A800:lI109|N
-1071FB850:Mn1:H1071FE800
-1071FE800:Mn2:H1072018B8,H1072018C8
-1072018B8:lH107204A60|N
-107204A60:lI115|H107207C90
-107207C90:lI110|H10720AF08
-10720AF08:lI109|H10720E0F8
-10720E0F8:lI112|H107211288
-107211288:lI95|H1072144E8
-1072144E8:lI105|H107217880
-107217880:lI110|H10721AD90
-10721AD90:lI100|H10721E2F0
-10721E2F0:lI101|H1072217D0
-1072217D0:lI120|H107224978
-107224978:lI46|H107227810
-107227810:lI98|H10722A298
-10722A298:lI101|H10722C9F0
-10722C9F0:lI97|H10722EF08
-10722EF08:lI109|N
-1072018C8:lH107204A70|N
-107204A70:lI115|H107207CA0
-107207CA0:lI110|H10720AF18
-10720AF18:lI109|H10720E108
-10720E108:lI112|H107211298
-107211298:lI97|H1072144F8
-1072144F8:lI95|H107217890
-107217890:lI97|H10721ADA0
-10721ADA0:lI103|H10721E300
-10721E300:lI101|H1072217E0
-1072217E0:lI110|H107224988
-107224988:lI116|H107227820
-107227820:lI46|H10722A2A8
-10722A2A8:lI98|H10722CA00
-10722CA00:lI101|H10722EF18
-10722EF18:lI97|H107231130
-107231130:lI109|N
-1071FB840:lH1071FE7F0|N
-1071FE7F0:lI115|H1072018A8
-1072018A8:lI110|H107204A50
-107204A50:lI109|H107207C80
-107207C80:lI112|H10720AEF8
-10720AEF8:lI97|H10720E0E8
-10720E0E8:lI95|H107211278
-107211278:lI103|H1072144D8
-1072144D8:lI101|H107217870
-107217870:lI116|H10721AD80
-10721AD80:lI95|H10721E2E0
-10721E2E0:lI108|H1072217C0
-1072217C0:lI105|H107224968
-107224968:lI98|H107227800
-107227800:lI46|H10722A288
-10722A288:lI98|H10722C9E0
-10722C9E0:lI101|H10722EEF8
-10722EEF8:lI97|H107231120
-107231120:lI109|N
-1071FB830:lH1071FE7E0|N
-1071FE7E0:lI115|H107201898
-107201898:lI110|H107204A40
-107204A40:lI109|H107207C70
-107207C70:lI112|H10720AEE8
-10720AEE8:lI97|H10720E0D8
-10720E0D8:lI95|H107211268
-107211268:lI109|H1072144C8
-1072144C8:lI105|H107217860
-107217860:lI98|H10721AD70
-10721AD70:lI95|H10721E2D0
-10721E2D0:lI115|H1072217B0
-1072217B0:lI116|H107224958
-107224958:lI111|H1072277F0
-1072277F0:lI114|H10722A278
-10722A278:lI97|H10722C9D0
-10722C9D0:lI103|H10722EEE8
-10722EEE8:lI101|H107231110
-107231110:lI95|H107233068
-107233068:lI109|H107234CD0
-107234CD0:lI110|H107236698
-107236698:lI101|H107237E00
-107237E00:lI115|H107239398
-107239398:lI105|H10723A7F0
-10723A7F0:lI97|H10723BA30
-10723BA30:lI46|H10723CA60
-10723CA60:lI98|H10723D8C0
-10723D8C0:lI101|H10723E5C0
-10723E5C0:lI97|H10723F1A0
-10723F1A0:lI109|N
-1071F8950:Mn6:H1071FB7B8,H1071FB7C8,H1071FB7D8,H1071FB7E8,H1071FB7F8,H1071FB808
-1071FB7B8:lH1071FE760|N
-1071FE760:lI115|H107201818
-107201818:lI110|H1072049C0
-1072049C0:lI109|H107207BF0
-107207BF0:lI112|H10720AE68
-10720AE68:lI97|H10720E058
-10720E058:lI95|H1072111E8
-1072111E8:lI108|H107214448
-107214448:lI111|H1072177E0
-1072177E0:lI99|H10721AD00
-10721AD00:lI97|H10721E270
-10721E270:lI108|H107221750
-107221750:lI95|H1072248F8
-1072248F8:lI100|H107227790
-107227790:lI98|H10722A218
-10722A218:lI46|H10722C970
-10722C970:lI98|H10722EE88
-10722EE88:lI101|H1072310B0
-1072310B0:lI97|H107233008
-107233008:lI109|N
-1071FB808:Mn2:H1071FE7B0,H1071FE7C0
-1071FE7B0:lH107201868|N
-107201868:lI115|H107204A10
-107204A10:lI110|H107207C40
-107207C40:lI109|H10720AEB8
-10720AEB8:lI112|H10720E0A8
-10720E0A8:lI46|H107211238
-107211238:lI97|H107214498
-107214498:lI112|H107217830
-107217830:lI112|N
-1071FE7C0:lH107201878|N
-107201878:lI115|H107204A20
-107204A20:lI110|H107207C50
-107207C50:lI109|H10720AEC8
-10720AEC8:lI112|H10720E0B8
-10720E0B8:lI97|H107211248
-107211248:lI95|H1072144A8
-1072144A8:lI109|H107217840
-107217840:lI105|H10721AD50
-10721AD50:lI98|H10721E2B0
-10721E2B0:lI95|H107221790
-107221790:lI115|H107224938
-107224938:lI116|H1072277D0
-1072277D0:lI111|H10722A258
-10722A258:lI114|H10722C9B0
-10722C9B0:lI97|H10722EEC8
-10722EEC8:lI103|H1072310F0
-1072310F0:lI101|H107233048
-107233048:lI95|H107234CB0
-107234CB0:lI101|H107236678
-107236678:lI116|H107237DE0
-107237DE0:lI115|H107239378
-107239378:lI46|H10723A7E0
-10723A7E0:lI98|H10723BA20
-10723BA20:lI101|H10723CA50
-10723CA50:lI97|H10723D8B0
-10723D8B0:lI109|N
-1071FB7F8:lH1071FE7A0|N
-1071FE7A0:lI115|H107201858
-107201858:lI110|H107204A00
-107204A00:lI109|H107207C30
-107207C30:lI112|H10720AEA8
-10720AEA8:lI97|H10720E098
-10720E098:lI46|H107211228
-107211228:lI98|H107214488
-107214488:lI101|H107217820
-107217820:lI97|H10721AD40
-10721AD40:lI109|N
-1071FB7E8:lH1071FE790|N
-1071FE790:lI115|H107201848
-107201848:lI110|H1072049F0
-1072049F0:lI109|H107207C20
-107207C20:lI112|H10720AE98
-10720AE98:lI109|H10720E088
-10720E088:lI95|H107211218
-107211218:lI115|H107214478
-107214478:lI117|H107217810
-107217810:lI112|H10721AD30
-10721AD30:lI101|H10721E2A0
-10721E2A0:lI114|H107221780
-107221780:lI118|H107224928
-107224928:lI105|H1072277C0
-1072277C0:lI115|H10722A248
-10722A248:lI111|H10722C9A0
-10722C9A0:lI114|H10722EEB8
-10722EEB8:lI46|H1072310E0
-1072310E0:lI98|H107233038
-107233038:lI101|H107234CA0
-107234CA0:lI97|H107236668
-107236668:lI109|N
-1071FB7D8:lH1071FE780|N
-1071FE780:lI115|H107201838
-107201838:lI110|H1072049E0
-1072049E0:lI109|H107207C10
-107207C10:lI112|H10720AE88
-10720AE88:lI97|H10720E078
-10720E078:lI95|H107211208
-107211208:lI103|H107214468
-107214468:lI101|H107217800
-107217800:lI116|H10721AD20
-10721AD20:lI95|H10721E290
-10721E290:lI109|H107221770
-107221770:lI101|H107224918
-107224918:lI99|H1072277B0
-1072277B0:lI104|H10722A238
-10722A238:lI97|H10722C990
-10722C990:lI110|H10722EEA8
-10722EEA8:lI105|H1072310D0
-1072310D0:lI115|H107233028
-107233028:lI109|H107234C90
-107234C90:lI46|H107236658
-107236658:lI98|H107237DD0
-107237DD0:lI101|H107239368
-107239368:lI97|H10723A7D0
-10723A7D0:lI109|N
-1071FB7C8:lH1071FE770|N
-1071FE770:lI115|H107201828
-107201828:lI110|H1072049D0
-1072049D0:lI109|H107207C00
-107207C00:lI112|H10720AE78
-10720AE78:lI97|H10720E068
-10720E068:lI95|H1072111F8
-1072111F8:lI110|H107214458
-107214458:lI101|H1072177F0
-1072177F0:lI116|H10721AD10
-10721AD10:lI95|H10721E280
-10721E280:lI105|H107221760
-107221760:lI102|H107224908
-107224908:lI95|H1072277A0
-1072277A0:lI102|H10722A228
-10722A228:lI105|H10722C980
-10722C980:lI108|H10722EE98
-10722EE98:lI116|H1072310C0
-1072310C0:lI101|H107233018
-107233018:lI114|H107234C80
-107234C80:lI46|H107236648
-107236648:lI98|H107237DC0
-107237DC0:lI101|H107239358
-107239358:lI97|H10723A7C0
-10723A7C0:lI109|N
-1071F8920:Mn5:H1071FB760,H1071FB778,H1071FB788,H1071FB798,H1071FB7A8
-1071FB760:Mn2:H1071FE700,H1071FE710
-1071FE700:lH1072017B8|N
-1072017B8:lI115|H107204960
-107204960:lI110|H107207B90
-107207B90:lI109|H10720AE08
-10720AE08:lI112|H10720DFF8
-10720DFF8:lI97|H107211188
-107211188:lI95|H1072143E8
-1072143E8:lI101|H107217780
-107217780:lI114|H10721ACA0
-10721ACA0:lI114|H10721E210
-10721E210:lI111|H1072216F0
-1072216F0:lI114|H107224898
-107224898:lI46|H107227740
-107227740:lI98|H10722A1C8
-10722A1C8:lI101|H10722C920
-10722C920:lI97|H10722EE38
-10722EE38:lI109|N
-1071FE710:lH1072017C8|N
-1072017C8:lI115|H107204970
-107204970:lI110|H107207BA0
-107207BA0:lI109|H10720AE18
-10720AE18:lI112|H10720E008
-10720E008:lI109|H107211198
-107211198:lI95|H1072143F8
-1072143F8:lI110|H107217790
-107217790:lI101|H10721ACB0
-10721ACB0:lI116|H10721E220
-10721E220:lI95|H107221700
-107221700:lI105|H1072248A8
-1072248A8:lI102|H107227750
-107227750:lI46|H10722A1D8
-10722A1D8:lI98|H10722C930
-10722C930:lI101|H10722EE48
-10722EE48:lI97|H107231080
-107231080:lI109|N
-1071FB7A8:lH1071FE750|N
-1071FE750:lI115|H107201808
-107201808:lI110|H1072049B0
-1072049B0:lI109|H107207BE0
-107207BE0:lI112|H10720AE58
-10720AE58:lI109|H10720E048
-10720E048:lI95|H1072111D8
-1072111D8:lI109|H107214438
-107214438:lI105|H1072177D0
-1072177D0:lI115|H10721ACF0
-10721ACF0:lI99|H10721E260
-10721E260:lI95|H107221740
-107221740:lI115|H1072248E8
-1072248E8:lI117|H107227780
-107227780:lI112|H10722A208
-10722A208:lI46|H10722C960
-10722C960:lI98|H10722EE78
-10722EE78:lI101|H1072310A0
-1072310A0:lI97|H107232FF8
-107232FF8:lI109|N
-1071FB798:lH1071FE740|N
-1071FE740:lI115|H1072017F8
-1072017F8:lI110|H1072049A0
-1072049A0:lI109|H107207BD0
-107207BD0:lI112|H10720AE48
-10720AE48:lI95|H10720E038
-10720E038:lI117|H1072111C8
-1072111C8:lI115|H107214428
-107214428:lI109|H1072177C0
-1072177C0:lI46|H10721ACE0
-10721ACE0:lI98|H10721E250
-10721E250:lI101|H107221730
-107221730:lI97|H1072248D8
-1072248D8:lI109|N
-1071FB788:lH1071FE730|N
-1071FE730:lI115|H1072017E8
-1072017E8:lI110|H107204990
-107204990:lI109|H107207BC0
-107207BC0:lI112|H10720AE38
-10720AE38:lI109|H10720E028
-10720E028:lI95|H1072111B8
-1072111B8:lI117|H107214418
-107214418:lI115|H1072177B0
-1072177B0:lI101|H10721ACD0
-10721ACD0:lI114|H10721E240
-10721E240:lI95|H107221720
-107221720:lI111|H1072248C8
-1072248C8:lI108|H107227770
-107227770:lI100|H10722A1F8
-10722A1F8:lI46|H10722C950
-10722C950:lI98|H10722EE68
-10722EE68:lI101|H107231090
-107231090:lI97|H107232FE8
-107232FE8:lI109|N
-1071FB778:lH1071FE720|N
-1071FE720:lI115|H1072017D8
-1072017D8:lI110|H107204980
-107204980:lI109|H107207BB0
-107207BB0:lI112|H10720AE28
-10720AE28:lI95|H10720E018
-10720E018:lI103|H1072111A8
-1072111A8:lI101|H107214408
-107214408:lI110|H1072177A0
-1072177A0:lI101|H10721ACC0
-10721ACC0:lI114|H10721E230
-10721E230:lI105|H107221710
-107221710:lI99|H1072248B8
-1072248B8:lI46|H107227760
-107227760:lI98|H10722A1E8
-10722A1E8:lI101|H10722C940
-10722C940:lI97|H10722EE58
-10722EE58:lI109|N
-1071F88E0:Mn7:H1071FB6E8,H1071FB6F8,H1071FB708,H1071FB718,H1071FB728,H1071FB740,H1071FB750
-1071FB6E8:lH1071FE680|N
-1071FE680:lI115|H107201738
-107201738:lI110|H1072048E0
-1072048E0:lI109|H107207B10
-107207B10:lI112|H10720AD88
-10720AD88:lI99|H10720DF78
-10720DF78:lI95|H107211108
-107211108:lI109|H107214368
-107214368:lI105|H107217700
-107217700:lI98|H10721AC30
-10721AC30:lI95|H10721E1A0
-10721E1A0:lI116|H107221680
-107221680:lI111|H107224828
-107224828:lI95|H1072276D0
-1072276D0:lI104|H10722A158
-10722A158:lI114|H10722C8C0
-10722C8C0:lI108|H10722EDD8
-10722EDD8:lI46|H107231020
-107231020:lI98|H107232F88
-107232F88:lI101|H107234C30
-107234C30:lI97|H1072365F8
-1072365F8:lI109|N
-1071FB750:lH1071FE6F0|N
-1071FE6F0:lI115|H1072017A8
-1072017A8:lI110|H107204950
-107204950:lI109|H107207B80
-107207B80:lI112|H10720ADF8
-10720ADF8:lI97|H10720DFE8
-10720DFE8:lI95|H107211178
-107211178:lI109|H1072143D8
-1072143D8:lI105|H107217770
-107217770:lI115|H10721AC90
-10721AC90:lI99|H10721E200
-10721E200:lI95|H1072216E0
-1072216E0:lI115|H107224888
-107224888:lI117|H107227730
-107227730:lI112|H10722A1B8
-10722A1B8:lI46|H10722C910
-10722C910:lI98|H10722EE28
-10722EE28:lI101|H107231070
-107231070:lI97|H107232FD8
-107232FD8:lI109|N
-1071FB740:lH1071FE6E0|N
-1071FE6E0:lI115|H107201798
-107201798:lI110|H107204940
-107204940:lI109|H107207B70
-107207B70:lI112|H10720ADE8
-10720ADE8:lI97|H10720DFD8
-10720DFD8:lI95|H107211168
-107211168:lI99|H1072143C8
-1072143C8:lI111|H107217760
-107217760:lI110|H10721AC80
-10721AC80:lI102|H10721E1F0
-10721E1F0:lI46|H1072216D0
-1072216D0:lI98|H107224878
-107224878:lI101|H107227720
-107227720:lI97|H10722A1A8
-10722A1A8:lI109|N
-1071FB728:Mn2:H1071FE6C0,H1071FE6D0
-1071FE6C0:lH107201778|N
-107201778:lI115|H107204920
-107204920:lI110|H107207B50
-107207B50:lI109|H10720ADC8
-10720ADC8:lI112|H10720DFB8
-10720DFB8:lI95|H107211148
-107211148:lI110|H1072143A8
-1072143A8:lI111|H107217740
-107217740:lI116|H10721AC60
-10721AC60:lI101|H10721E1D0
-10721E1D0:lI95|H1072216B0
-1072216B0:lI115|H107224858
-107224858:lI116|H107227700
-107227700:lI111|H10722A188
-10722A188:lI114|H10722C8F0
-10722C8F0:lI101|H10722EE08
-10722EE08:lI46|H107231050
-107231050:lI98|H107232FB8
-107232FB8:lI101|H107234C60
-107234C60:lI97|H107236628
-107236628:lI109|N
-1071FE6D0:lH107201788|N
-107201788:lI115|H107204930
-107204930:lI110|H107207B60
-107207B60:lI109|H10720ADD8
-10720ADD8:lI112|H10720DFC8
-10720DFC8:lI97|H107211158
-107211158:lI95|H1072143B8
-1072143B8:lI100|H107217750
-107217750:lI105|H10721AC70
-10721AC70:lI115|H10721E1E0
-10721E1E0:lI99|H1072216C0
-1072216C0:lI111|H107224868
-107224868:lI118|H107227710
-107227710:lI101|H10722A198
-10722A198:lI114|H10722C900
-10722C900:lI121|H10722EE18
-10722EE18:lI95|H107231060
-107231060:lI104|H107232FC8
-107232FC8:lI97|H107234C70
-107234C70:lI110|H107236638
-107236638:lI100|H107237DB0
-107237DB0:lI108|H107239348
-107239348:lI101|H10723A7B0
-10723A7B0:lI114|H10723BA10
-10723BA10:lI46|H10723CA40
-10723CA40:lI98|H10723D8A0
-10723D8A0:lI101|H10723E5B0
-10723E5B0:lI97|H10723F190
-10723F190:lI109|N
-1071FB718:lH1071FE6B0|N
-1071FE6B0:lI115|H107201768
-107201768:lI110|H107204910
-107204910:lI109|H107207B40
-107207B40:lI112|H10720ADB8
-10720ADB8:lI109|H10720DFA8
-10720DFA8:lI95|H107211138
-107211138:lI115|H107214398
-107214398:lI101|H107217730
-107217730:lI114|H10721AC50
-10721AC50:lI118|H10721E1C0
-10721E1C0:lI101|H1072216A0
-1072216A0:lI114|H107224848
-107224848:lI95|H1072276F0
-1072276F0:lI115|H10722A178
-10722A178:lI117|H10722C8E0
-10722C8E0:lI112|H10722EDF8
-10722EDF8:lI46|H107231040
-107231040:lI98|H107232FA8
-107232FA8:lI101|H107234C50
-107234C50:lI97|H107236618
-107236618:lI109|N
-1071FB708:lH1071FE6A0|N
-1071FE6A0:lI115|H107201758
-107201758:lI110|H107204900
-107204900:lI109|H107207B30
-107207B30:lI112|H10720ADA8
-10720ADA8:lI46|H10720DF98
-10720DF98:lI98|H107211128
-107211128:lI101|H107214388
-107214388:lI97|H107217720
-107217720:lI109|N
-1071FB6F8:lH1071FE690|N
-1071FE690:lI115|H107201748
-107201748:lI110|H1072048F0
-1072048F0:lI109|H107207B20
-107207B20:lI112|H10720AD98
-10720AD98:lI97|H10720DF88
-10720DF88:lI95|H107211118
-107211118:lI100|H107214378
-107214378:lI105|H107217710
-107217710:lI115|H10721AC40
-10721AC40:lI99|H10721E1B0
-10721E1B0:lI111|H107221690
-107221690:lI118|H107224838
-107224838:lI101|H1072276E0
-1072276E0:lI114|H10722A168
-10722A168:lI121|H10722C8D0
-10722C8D0:lI95|H10722EDE8
-10722EDE8:lI104|H107231030
-107231030:lI97|H107232F98
-107232F98:lI110|H107234C40
-107234C40:lI100|H107236608
-107236608:lI108|H107237DA0
-107237DA0:lI101|H107239338
-107239338:lI114|H10723A7A0
-10723A7A0:lI95|H10723BA00
-10723BA00:lI100|H10723CA30
-10723CA30:lI101|H10723D890
-10723D890:lI102|H10723E5A0
-10723E5A0:lI97|H10723F180
-10723F180:lI117|H10723FC30
-10723FC30:lI108|H107240570
-107240570:lI116|H107240DE0
-107240DE0:lI46|H107241570
-107241570:lI98|H107241C90
-107241C90:lI101|H107242350
-107242350:lI97|H1072429B0
-1072429B0:lI109|N
-1071F8898:Mn8:H1071FB650,H1071FB660,H1071FB680,H1071FB690,H1071FB6A0,H1071FB6B0,H1071FB6C0,H1071FB6D0
-1071FB650:lH1071FE5D0|N
-1071FE5D0:lI115|H107201688
-107201688:lI110|H107204830
-107204830:lI109|H107207A60
-107207A60:lI112|H10720ACD8
-10720ACD8:lI95|H10720DEC8
-10720DEC8:lI115|H107211058
-107211058:lI104|H1072142B8
-1072142B8:lI97|H107217650
-107217650:lI100|H10721AB80
-10721AB80:lI111|H10721E0F0
-10721E0F0:lI119|H1072215E0
-1072215E0:lI95|H107224788
-107224788:lI116|H107227640
-107227640:lI97|H10722A0E8
-10722A0E8:lI98|H10722C860
-10722C860:lI108|H10722ED88
-10722ED88:lI101|H107230FD0
-107230FD0:lI46|H107232F48
-107232F48:lI98|H107234BF0
-107234BF0:lI101|H1072365B8
-1072365B8:lI97|H107237D60
-107237D60:lI109|N
-1071FB6D0:Mn2:H1071FE660,H1071FE670
-1071FE660:lH107201718|N
-107201718:lI115|H1072048C0
-1072048C0:lI110|H107207AF0
-107207AF0:lI109|H10720AD68
-10720AD68:lI112|H10720DF58
-10720DF58:lI97|H1072110E8
-1072110E8:lI95|H107214348
-107214348:lI118|H1072176E0
-1072176E0:lI97|H10721AC10
-10721AC10:lI99|H10721E180
-10721E180:lI109|H107221670
-107221670:lI46|H107224818
-107224818:lI98|H1072276C0
-1072276C0:lI101|H10722A148
-10722A148:lI97|H10722C8B0
-10722C8B0:lI109|N
-1071FE670:lH107201728|N
-107201728:lI115|H1072048D0
-1072048D0:lI110|H107207B00
-107207B00:lI109|H10720AD78
-10720AD78:lI112|H10720DF68
-10720DF68:lI109|H1072110F8
-1072110F8:lI46|H107214358
-107214358:lI98|H1072176F0
-1072176F0:lI101|H10721AC20
-10721AC20:lI97|H10721E190
-10721E190:lI109|N
-1071FB6C0:lH1071FE650|N
-1071FE650:lI115|H107201708
-107201708:lI110|H1072048B0
-1072048B0:lI109|H107207AE0
-107207AE0:lI112|H10720AD58
-10720AD58:lI95|H10720DF48
-10720DF48:lI112|H1072110D8
-1072110D8:lI100|H107214338
-107214338:lI117|H1072176D0
-1072176D0:lI115|H10721AC00
-10721AC00:lI46|H10721E170
-10721E170:lI98|H107221660
-107221660:lI101|H107224808
-107224808:lI97|H1072276B0
-1072276B0:lI109|N
-1071FB6B0:lH1071FE640|N
-1071FE640:lI115|H1072016F8
-1072016F8:lI110|H1072048A0
-1072048A0:lI109|H107207AD0
-107207AD0:lI112|H10720AD48
-10720AD48:lI97|H10720DF38
-10720DF38:lI95|H1072110C8
-1072110C8:lI116|H107214328
-107214328:lI114|H1072176C0
-1072176C0:lI97|H10721ABF0
-10721ABF0:lI112|H10721E160
-10721E160:lI46|H107221650
-107221650:lI98|H1072247F8
-1072247F8:lI101|H1072276A0
-1072276A0:lI97|H10722A138
-10722A138:lI109|N
-1071FB6A0:lH1071FE630|N
-1071FE630:lI115|H1072016E8
-1072016E8:lI110|H107204890
-107204890:lI109|H107207AC0
-107207AC0:lI112|H10720AD38
-10720AD38:lI97|H10720DF28
-10720DF28:lI95|H1072110B8
-1072110B8:lI109|H107214318
-107214318:lI112|H1072176B0
-1072176B0:lI100|H10721ABE0
-10721ABE0:lI46|H10721E150
-10721E150:lI98|H107221640
-107221640:lI101|H1072247E8
-1072247E8:lI97|H107227690
-107227690:lI109|N
-1071FB690:lH1071FE620|N
-1071FE620:lI115|H1072016D8
-1072016D8:lI110|H107204880
-107204880:lI109|H107207AB0
-107207AB0:lI112|H10720AD28
-10720AD28:lI97|H10720DF18
-10720DF18:lI95|H1072110A8
-1072110A8:lI110|H107214308
-107214308:lI111|H1072176A0
-1072176A0:lI116|H10721ABD0
-10721ABD0:lI105|H10721E140
-10721E140:lI102|H107221630
-107221630:lI105|H1072247D8
-1072247D8:lI99|H107227680
-107227680:lI97|H10722A128
-10722A128:lI116|H10722C8A0
-10722C8A0:lI105|H10722EDC8
-10722EDC8:lI111|H107231010
-107231010:lI110|H107232F78
-107232F78:lI95|H107234C20
-107234C20:lI100|H1072365E8
-1072365E8:lI101|H107237D90
-107237D90:lI108|H107239328
-107239328:lI105|H10723A790
-10723A790:lI118|H10723B9F0
-10723B9F0:lI101|H10723CA20
-10723CA20:lI114|H10723D880
-10723D880:lI121|H10723E590
-10723E590:lI95|H10723F170
-10723F170:lI105|H10723FC20
-10723FC20:lI110|H107240560
-107240560:lI102|H107240DD0
-107240DD0:lI111|H107241560
-107241560:lI95|H107241C80
-107241C80:lI114|H107242340
-107242340:lI101|H1072429A0
-1072429A0:lI99|H107242F90
-107242F90:lI101|H107243500
-107243500:lI105|H107243A40
-107243A40:lI118|H107243F30
-107243F30:lI101|H107244420
-107244420:lI114|H1072448D0
-1072448D0:lI46|H107244D40
-107244D40:lI98|H1072451A0
-1072451A0:lI101|H1072455F0
-1072455F0:lI97|H1072459F0
-1072459F0:lI109|N
-1071FB680:lH1071FE610|N
-1071FE610:lI115|H1072016C8
-1072016C8:lI110|H107204870
-107204870:lI109|H107207AA0
-107207AA0:lI112|H10720AD18
-10720AD18:lI95|H10720DF08
-10720DF08:lI108|H107211098
-107211098:lI111|H1072142F8
-1072142F8:lI103|H107217690
-107217690:lI46|H10721ABC0
-10721ABC0:lI98|H10721E130
-10721E130:lI101|H107221620
-107221620:lI97|H1072247C8
-1072247C8:lI109|N
-1071FB660:Mn3:H1071FE5E0,H1071FE5F0,H1071FE600
-1071FE5E0:lH107201698|N
-107201698:lI115|H107204840
-107204840:lI110|H107207A70
-107207A70:lI109|H10720ACE8
-10720ACE8:lI112|H10720DED8
-10720DED8:lI95|H107211068
-107211068:lI99|H1072142C8
-1072142C8:lI111|H107217660
-107217660:lI109|H10721AB90
-10721AB90:lI109|H10721E100
-10721E100:lI117|H1072215F0
-1072215F0:lI110|H107224798
-107224798:lI105|H107227650
-107227650:lI116|H10722A0F8
-10722A0F8:lI121|H10722C870
-10722C870:lI95|H10722ED98
-10722ED98:lI109|H107230FE0
-107230FE0:lI105|H107232F58
-107232F58:lI98|H107234C00
-107234C00:lI46|H1072365C8
-1072365C8:lI98|H107237D70
-107237D70:lI101|H107239308
-107239308:lI97|H10723A770
-10723A770:lI109|N
-1071FE600:lH1072016B8|N
-1072016B8:lI115|H107204860
-107204860:lI110|H107207A90
-107207A90:lI109|H10720AD08
-10720AD08:lI112|H10720DEF8
-10720DEF8:lI109|H107211088
-107211088:lI95|H1072142E8
-1072142E8:lI115|H107217680
-107217680:lI101|H10721ABB0
-10721ABB0:lI114|H10721E120
-10721E120:lI118|H107221610
-107221610:lI101|H1072247B8
-1072247B8:lI114|H107227670
-107227670:lI46|H10722A118
-10722A118:lI98|H10722C890
-10722C890:lI101|H10722EDB8
-10722EDB8:lI97|H107231000
-107231000:lI109|N
-1071FE5F0:lH1072016A8|N
-1072016A8:lI115|H107204850
-107204850:lI110|H107207A80
-107207A80:lI109|H10720ACF8
-10720ACF8:lI112|H10720DEE8
-10720DEE8:lI97|H107211078
-107211078:lI95|H1072142D8
-1072142D8:lI110|H107217670
-107217670:lI101|H10721ABA0
-10721ABA0:lI116|H10721E110
-10721E110:lI119|H107221600
-107221600:lI111|H1072247A8
-1072247A8:lI114|H107227660
-107227660:lI107|H10722A108
-10722A108:lI95|H10722C880
-10722C880:lI105|H10722EDA8
-10722EDA8:lI110|H107230FF0
-107230FF0:lI116|H107232F68
-107232F68:lI101|H107234C10
-107234C10:lI114|H1072365D8
-1072365D8:lI102|H107237D80
-107237D80:lI97|H107239318
-107239318:lI99|H10723A780
-10723A780:lI101|H10723B9E0
-10723B9E0:lI46|H10723CA10
-10723CA10:lI98|H10723D870
-10723D870:lI101|H10723E580
-10723E580:lI97|H10723F160
-10723F160:lI109|N
-1071F8878:Mn3:H1071FB620,H1071FB630,H1071FB640
-1071FB620:lH1071FE5A0|N
-1071FE5A0:lI115|H107201658
-107201658:lI110|H107204800
-107204800:lI109|H107207A30
-107207A30:lI112|H10720ACA8
-10720ACA8:lI95|H10720DE98
-10720DE98:lI116|H107211028
-107211028:lI97|H107214288
-107214288:lI114|H107217620
-107217620:lI103|H10721AB50
-10721AB50:lI101|H10721E0C0
-10721E0C0:lI116|H1072215B0
-1072215B0:lI95|H107224758
-107224758:lI109|H107227610
-107227610:lI105|H10722A0C8
-10722A0C8:lI98|H10722C850
-10722C850:lI46|H10722ED78
-10722ED78:lI98|H107230FC0
-107230FC0:lI101|H107232F38
-107232F38:lI97|H107234BE0
-107234BE0:lI109|N
-1071FB640:lH1071FE5C0|N
-1071FE5C0:lI115|H107201678
-107201678:lI110|H107204820
-107204820:lI109|H107207A50
-107207A50:lI112|H10720ACC8
-10720ACC8:lI95|H10720DEB8
-10720DEB8:lI109|H107211048
-107211048:lI105|H1072142A8
-1072142A8:lI115|H107217640
-107217640:lI99|H10721AB70
-10721AB70:lI46|H10721E0E0
-10721E0E0:lI98|H1072215D0
-1072215D0:lI101|H107224778
-107224778:lI97|H107227630
-107227630:lI109|N
-1071FB630:lH1071FE5B0|N
-1071FE5B0:lI115|H107201668
-107201668:lI110|H107204810
-107204810:lI109|H107207A40
-107207A40:lI112|H10720ACB8
-10720ACB8:lI99|H10720DEA8
-10720DEA8:lI95|H107211038
-107211038:lI109|H107214298
-107214298:lI105|H107217630
-107217630:lI115|H10721AB60
-10721AB60:lI99|H10721E0D0
-10721E0D0:lI46|H1072215C0
-1072215C0:lI98|H107224768
-107224768:lI101|H107227620
-107227620:lI97|H10722A0D8
-10722A0D8:lI109|N
-1071F8840:Mn6:H1071FB5B8,H1071FB5C8,H1071FB5D8,H1071FB5E8,H1071FB5F8,H1071FB610
-1071FB5B8:lH1071FE530|N
-1071FE530:lI115|H1072015E8
-1072015E8:lI110|H107204790
-107204790:lI109|H1072079C0
-1072079C0:lI112|H10720AC38
-10720AC38:lI97|H10720DE28
-10720DE28:lI95|H107210FB8
-107210FB8:lI115|H107214218
-107214218:lI101|H1072175B0
-1072175B0:lI116|H10721AAE0
-10721AAE0:lI46|H10721E050
-10721E050:lI98|H107221540
-107221540:lI101|H1072246E8
-1072246E8:lI97|H1072275A0
-1072275A0:lI109|N
-1071FB610:lH1071FE590|N
-1071FE590:lI115|H107201648
-107201648:lI110|H1072047F0
-1072047F0:lI109|H107207A20
-107207A20:lI112|H10720AC98
-10720AC98:lI109|H10720DE88
-10720DE88:lI95|H107211018
-107211018:lI110|H107214278
-107214278:lI101|H107217610
-107217610:lI116|H10721AB40
-10721AB40:lI119|H10721E0B0
-10721E0B0:lI111|H1072215A0
-1072215A0:lI114|H107224748
-107224748:lI107|H107227600
-107227600:lI95|H10722A0B8
-10722A0B8:lI105|H10722C840
-10722C840:lI110|H10722ED68
-10722ED68:lI116|H107230FB0
-107230FB0:lI101|H107232F28
-107232F28:lI114|H107234BD0
-107234BD0:lI102|H1072365A8
-1072365A8:lI97|H107237D50
-107237D50:lI99|H1072392F8
-1072392F8:lI101|H10723A760
-10723A760:lI95|H10723B9D0
-10723B9D0:lI102|H10723CA00
-10723CA00:lI105|H10723D860
-10723D860:lI108|H10723E570
-10723E570:lI116|H10723F150
-10723F150:lI101|H10723FC10
-10723FC10:lI114|H107240550
-107240550:lI46|H107240DC0
-107240DC0:lI98|H107241550
-107241550:lI101|H107241C70
-107241C70:lI97|H107242330
-107242330:lI109|N
-1071FB5F8:Mn2:H1071FE570,H1071FE580
-1071FE570:lH107201628|N
-107201628:lI115|H1072047D0
-1072047D0:lI110|H107207A00
-107207A00:lI109|H10720AC78
-10720AC78:lI112|H10720DE68
-10720DE68:lI97|H107210FF8
-107210FF8:lI95|H107214258
-107214258:lI110|H1072175F0
-1072175F0:lI111|H10721AB20
-10721AB20:lI116|H10721E090
-10721E090:lI105|H107221580
-107221580:lI102|H107224728
-107224728:lI105|H1072275E0
-1072275E0:lI99|H10722A098
-10722A098:lI97|H10722C820
-10722C820:lI116|H10722ED48
-10722ED48:lI105|H107230F90
-107230F90:lI111|H107232F08
-107232F08:lI110|H107234BB0
-107234BB0:lI95|H107236588
-107236588:lI102|H107237D30
-107237D30:lI105|H1072392D8
-1072392D8:lI108|H10723A740
-10723A740:lI116|H10723B9B0
-10723B9B0:lI101|H10723C9E0
-10723C9E0:lI114|H10723D850
-10723D850:lI46|H10723E560
-10723E560:lI98|H10723F140
-10723F140:lI101|H10723FC00
-10723FC00:lI97|H107240540
-107240540:lI109|N
-1071FE580:lH107201638|N
-107201638:lI115|H1072047E0
-1072047E0:lI110|H107207A10
-107207A10:lI109|H10720AC88
-10720AC88:lI112|H10720DE78
-10720DE78:lI97|H107211008
-107211008:lI95|H107214268
-107214268:lI115|H107217600
-107217600:lI121|H10721AB30
-10721AB30:lI109|H10721E0A0
-10721E0A0:lI98|H107221590
-107221590:lI111|H107224738
-107224738:lI108|H1072275F0
-1072275F0:lI105|H10722A0A8
-10722A0A8:lI99|H10722C830
-10722C830:lI95|H10722ED58
-10722ED58:lI115|H107230FA0
-107230FA0:lI116|H107232F18
-107232F18:lI111|H107234BC0
-107234BC0:lI114|H107236598
-107236598:lI101|H107237D40
-107237D40:lI46|H1072392E8
-1072392E8:lI98|H10723A750
-10723A750:lI101|H10723B9C0
-10723B9C0:lI97|H10723C9F0
-10723C9F0:lI109|N
-1071FB5E8:lH1071FE560|N
-1071FE560:lI115|H107201618
-107201618:lI110|H1072047C0
-1072047C0:lI109|H1072079F0
-1072079F0:lI112|H10720AC68
-10720AC68:lI109|H10720DE58
-10720DE58:lI95|H107210FE8
-107210FE8:lI110|H107214248
-107214248:lI101|H1072175E0
-1072175E0:lI116|H10721AB10
-10721AB10:lI119|H10721E080
-10721E080:lI111|H107221570
-107221570:lI114|H107224718
-107224718:lI107|H1072275D0
-1072275D0:lI95|H10722A088
-10722A088:lI105|H10722C810
-10722C810:lI110|H10722ED38
-10722ED38:lI116|H107230F80
-107230F80:lI101|H107232EF8
-107232EF8:lI114|H107234BA0
-107234BA0:lI102|H107236578
-107236578:lI97|H107237D20
-107237D20:lI99|H1072392C8
-1072392C8:lI101|H10723A730
-10723A730:lI46|H10723B9A0
-10723B9A0:lI98|H10723C9D0
-10723C9D0:lI101|H10723D840
-10723D840:lI97|H10723E550
-10723E550:lI109|N
-1071FB5D8:lH1071FE550|N
-1071FE550:lI115|H107201608
-107201608:lI110|H1072047B0
-1072047B0:lI109|H1072079E0
-1072079E0:lI112|H10720AC58
-10720AC58:lI109|H10720DE48
-10720DE48:lI95|H107210FD8
-107210FD8:lI117|H107214238
-107214238:lI115|H1072175D0
-1072175D0:lI101|H10721AB00
-10721AB00:lI114|H10721E070
-10721E070:lI46|H107221560
-107221560:lI98|H107224708
-107224708:lI101|H1072275C0
-1072275C0:lI97|H10722A078
-10722A078:lI109|N
-1071FB5C8:lH1071FE540|N
-1071FE540:lI115|H1072015F8
-1072015F8:lI110|H1072047A0
-1072047A0:lI109|H1072079D0
-1072079D0:lI112|H10720AC48
-10720AC48:lI95|H10720DE38
-10720DE38:lI99|H107210FC8
-107210FC8:lI111|H107214228
-107214228:lI110|H1072175C0
-1072175C0:lI102|H10721AAF0
-10721AAF0:lI105|H10721E060
-10721E060:lI103|H107221550
-107221550:lI46|H1072246F8
-1072246F8:lI98|H1072275B0
-1072275B0:lI101|H10722A068
-10722A068:lI97|H10722C800
-10722C800:lI109|N
-1071F87F8:Mn8:H1071FB538,H1071FB548,H1071FB558,H1071FB568,H1071FB578,H1071FB588,H1071FB598,H1071FB5A8
-1071FB538:lH1071FE4B0|N
-1071FE4B0:lI115|H107201568
-107201568:lI110|H107204710
-107204710:lI109|H107207940
-107207940:lI112|H10720ABB8
-10720ABB8:lI97|H10720DDA8
-10720DDA8:lI95|H107210F38
-107210F38:lI117|H107214198
-107214198:lI115|H107217530
-107217530:lI109|H10721AA60
-10721AA60:lI46|H10721DFD0
-10721DFD0:lI98|H1072214C0
-1072214C0:lI101|H107224668
-107224668:lI97|H107227520
-107227520:lI109|N
-1071FB5A8:lH1071FE520|N
-1071FE520:lI115|H1072015D8
-1072015D8:lI110|H107204780
-107204780:lI109|H1072079B0
-1072079B0:lI112|H10720AC28
-10720AC28:lI97|H10720DE18
-10720DE18:lI95|H107210FA8
-107210FA8:lI101|H107214208
-107214208:lI114|H1072175A0
-1072175A0:lI114|H10721AAD0
-10721AAD0:lI111|H10721E040
-10721E040:lI114|H107221530
-107221530:lI95|H1072246D8
-1072246D8:lI108|H107227590
-107227590:lI111|H10722A058
-10722A058:lI103|H10722C7F0
-10722C7F0:lI103|H10722ED28
-10722ED28:lI101|H107230F70
-107230F70:lI114|H107232EE8
-107232EE8:lI46|H107234B90
-107234B90:lI98|H107236568
-107236568:lI101|H107237D10
-107237D10:lI97|H1072392B8
-1072392B8:lI109|N
-1071FB598:lH1071FE510|N
-1071FE510:lI115|H1072015C8
-1072015C8:lI110|H107204770
-107204770:lI109|H1072079A0
-1072079A0:lI112|H10720AC18
-10720AC18:lI97|H10720DE08
-10720DE08:lI95|H107210F98
-107210F98:lI101|H1072141F8
-1072141F8:lI114|H107217590
-107217590:lI114|H10721AAC0
-10721AAC0:lI111|H10721E030
-10721E030:lI114|H107221520
-107221520:lI95|H1072246C8
-1072246C8:lI105|H107227580
-107227580:lI111|H10722A048
-10722A048:lI46|H10722C7E0
-10722C7E0:lI98|H10722ED18
-10722ED18:lI101|H107230F60
-107230F60:lI97|H107232ED8
-107232ED8:lI109|N
-1071FB588:lH1071FE500|N
-1071FE500:lI115|H1072015B8
-1072015B8:lI110|H107204760
-107204760:lI109|H107207990
-107207990:lI112|H10720AC08
-10720AC08:lI95|H10720DDF8
-10720DDF8:lI99|H107210F88
-107210F88:lI111|H1072141E8
-1072141E8:lI110|H107217580
-107217580:lI102|H10721AAB0
-10721AAB0:lI46|H10721E020
-10721E020:lI98|H107221510
-107221510:lI101|H1072246B8
-1072246B8:lI97|H107227570
-107227570:lI109|N
-1071FB578:lH1071FE4F0|N
-1071FE4F0:lI115|H1072015A8
-1072015A8:lI110|H107204750
-107204750:lI109|H107207980
-107207980:lI112|H10720ABF8
-10720ABF8:lI97|H10720DDE8
-10720DDE8:lI95|H107210F78
-107210F78:lI109|H1072141D8
-1072141D8:lI105|H107217570
-107217570:lI98|H10721AAA0
-10721AAA0:lI95|H10721E010
-10721E010:lI115|H107221500
-107221500:lI116|H1072246A8
-1072246A8:lI111|H107227560
-107227560:lI114|H10722A038
-10722A038:lI97|H10722C7D0
-10722C7D0:lI103|H10722ED08
-10722ED08:lI101|H107230F50
-107230F50:lI95|H107232EC8
-107232EC8:lI100|H107234B80
-107234B80:lI101|H107236558
-107236558:lI116|H107237D00
-107237D00:lI115|H1072392A8
-1072392A8:lI46|H10723A720
-10723A720:lI98|H10723B990
-10723B990:lI101|H10723C9C0
-10723C9C0:lI97|H10723D830
-10723D830:lI109|N
-1071FB568:lH1071FE4E0|N
-1071FE4E0:lI115|H107201598
-107201598:lI110|H107204740
-107204740:lI109|H107207970
-107207970:lI112|H10720ABE8
-10720ABE8:lI97|H10720DDD8
-10720DDD8:lI95|H107210F68
-107210F68:lI109|H1072141C8
-1072141C8:lI105|H107217560
-107217560:lI98|H10721AA90
-10721AA90:lI95|H10721E000
-10721E000:lI108|H1072214F0
-1072214F0:lI105|H107224698
-107224698:lI98|H107227550
-107227550:lI46|H10722A028
-10722A028:lI98|H10722C7C0
-10722C7C0:lI101|H10722ECF8
-10722ECF8:lI97|H107230F40
-107230F40:lI109|N
-1071FB558:lH1071FE4D0|N
-1071FE4D0:lI115|H107201588
-107201588:lI110|H107204730
-107204730:lI109|H107207960
-107207960:lI112|H10720ABD8
-10720ABD8:lI95|H10720DDC8
-10720DDC8:lI109|H107210F58
-107210F58:lI105|H1072141B8
-1072141B8:lI110|H107217550
-107217550:lI105|H10721AA80
-10721AA80:lI95|H10721DFF0
-10721DFF0:lI109|H1072214E0
-1072214E0:lI105|H107224688
-107224688:lI98|H107227540
-107227540:lI46|H10722A018
-10722A018:lI98|H10722C7B0
-10722C7B0:lI101|H10722ECE8
-10722ECE8:lI97|H107230F30
-107230F30:lI109|N
-1071FB548:lH1071FE4C0|N
-1071FE4C0:lI115|H107201578
-107201578:lI110|H107204720
-107204720:lI109|H107207950
-107207950:lI112|H10720ABC8
-10720ABC8:lI97|H10720DDB8
-10720DDB8:lI95|H107210F48
-107210F48:lI97|H1072141A8
-1072141A8:lI117|H107217540
-107217540:lI116|H10721AA70
-10721AA70:lI104|H10721DFE0
-10721DFE0:lI101|H1072214D0
-1072214D0:lI110|H107224678
-107224678:lI116|H107227530
-107227530:lI105|H10722A008
-10722A008:lI99|H10722C7A0
-10722C7A0:lI97|H10722ECD8
-10722ECD8:lI116|H107230F20
-107230F20:lI105|H107232EB8
-107232EB8:lI111|H107234B70
-107234B70:lI110|H107236548
-107236548:lI95|H107237CF0
-107237CF0:lI115|H107239298
-107239298:lI101|H10723A710
-10723A710:lI114|H10723B980
-10723B980:lI118|H10723C9B0
-10723C9B0:lI105|H10723D820
-10723D820:lI99|H10723E540
-10723E540:lI101|H10723F130
-10723F130:lI46|H10723FBF0
-10723FBF0:lI98|H107240530
-107240530:lI101|H107240DB0
-107240DB0:lI97|H107241540
-107241540:lI109|N
-1071F87D8:Mn3:H1071FB500,H1071FB518,H1071FB528
-1071FB500:Mn2:H1071FE470,H1071FE480
-1071FE470:lH107201528|N
-107201528:lI115|H1072046D0
-1072046D0:lI110|H107207900
-107207900:lI109|H10720AB78
-10720AB78:lI112|H10720DD68
-10720DD68:lI99|H107210EF8
-107210EF8:lI95|H107214158
-107214158:lI109|H1072174F0
-1072174F0:lI105|H10721AA20
-10721AA20:lI98|H10721DF90
-10721DF90:lI95|H107221480
-107221480:lI103|H107224628
-107224628:lI114|H1072274E0
-1072274E0:lI97|H107229FD8
-107229FD8:lI109|H10722C770
-10722C770:lI46|H10722ECA8
-10722ECA8:lI98|H107230EF0
-107230EF0:lI101|H107232E88
-107232E88:lI97|H107234B50
-107234B50:lI109|N
-1071FE480:lH107201538|N
-107201538:lI115|H1072046E0
-1072046E0:lI110|H107207910
-107207910:lI109|H10720AB88
-10720AB88:lI112|H10720DD78
-10720DD78:lI97|H107210F08
-107210F08:lI95|H107214168
-107214168:lI110|H107217500
-107217500:lI101|H10721AA30
-10721AA30:lI116|H10721DFA0
-10721DFA0:lI119|H107221490
-107221490:lI111|H107224638
-107224638:lI114|H1072274F0
-1072274F0:lI107|H107229FE8
-107229FE8:lI95|H10722C780
-10722C780:lI105|H10722ECB8
-10722ECB8:lI110|H107230F00
-107230F00:lI116|H107232E98
-107232E98:lI101|H107234B60
-107234B60:lI114|H107236538
-107236538:lI102|H107237CE0
-107237CE0:lI97|H107239288
-107239288:lI99|H10723A700
-10723A700:lI101|H10723B970
-10723B970:lI95|H10723C9A0
-10723C9A0:lI102|H10723D810
-10723D810:lI105|H10723E530
-10723E530:lI108|H10723F120
-10723F120:lI116|H10723FBE0
-10723FBE0:lI101|H107240520
-107240520:lI114|H107240DA0
-107240DA0:lI46|H107241530
-107241530:lI98|H107241C60
-107241C60:lI101|H107242320
-107242320:lI97|H107242990
-107242990:lI109|N
-1071FB528:lH1071FE4A0|N
-1071FE4A0:lI115|H107201558
-107201558:lI110|H107204700
-107204700:lI109|H107207930
-107207930:lI112|H10720ABA8
-10720ABA8:lI109|H10720DD98
-10720DD98:lI95|H107210F28
-107210F28:lI117|H107214188
-107214188:lI115|H107217520
-107217520:lI109|H10721AA50
-10721AA50:lI46|H10721DFC0
-10721DFC0:lI98|H1072214B0
-1072214B0:lI101|H107224658
-107224658:lI97|H107227510
-107227510:lI109|N
-1071FB518:lH1071FE490|N
-1071FE490:lI115|H107201548
-107201548:lI110|H1072046F0
-1072046F0:lI109|H107207920
-107207920:lI112|H10720AB98
-10720AB98:lI97|H10720DD88
-10720DD88:lI95|H107210F18
-107210F18:lI109|H107214178
-107214178:lI105|H107217510
-107217510:lI98|H10721AA40
-10721AA40:lI95|H10721DFB0
-10721DFB0:lI100|H1072214A0
-1072214A0:lI97|H107224648
-107224648:lI116|H107227500
-107227500:lI97|H107229FF8
-107229FF8:lI46|H10722C790
-10722C790:lI98|H10722ECC8
-10722ECC8:lI101|H107230F10
-107230F10:lI97|H107232EA8
-107232EA8:lI109|N
-1071F87B8:Mn3:H1071FB4D0,H1071FB4E0,H1071FB4F0
-1071FB4D0:lH1071FE440|N
-1071FE440:lI115|H1072014F8
-1072014F8:lI110|H1072046A0
-1072046A0:lI109|H1072078D0
-1072078D0:lI112|H10720AB48
-10720AB48:lI97|H10720DD38
-10720DD38:lI95|H107210EC8
-107210EC8:lI109|H107214128
-107214128:lI105|H1072174C0
-1072174C0:lI98|H10721A9F0
-10721A9F0:lI46|H10721DF70
-10721DF70:lI98|H107221460
-107221460:lI101|H107224608
-107224608:lI97|H1072274C0
-1072274C0:lI109|N
-1071FB4F0:lH1071FE460|N
-1071FE460:lI115|H107201518
-107201518:lI110|H1072046C0
-1072046C0:lI109|H1072078F0
-1072078F0:lI112|H10720AB68
-10720AB68:lI46|H10720DD58
-10720DD58:lI97|H107210EE8
-107210EE8:lI112|H107214148
-107214148:lI112|H1072174E0
-1072174E0:lI117|H10721AA10
-10721AA10:lI112|N
-1071FB4E0:lH1071FE450|N
-1071FE450:lI115|H107201508
-107201508:lI110|H1072046B0
-1072046B0:lI109|H1072078E0
-1072078E0:lI112|H10720AB58
-10720AB58:lI109|H10720DD48
-10720DD48:lI95|H107210ED8
-107210ED8:lI99|H107214138
-107214138:lI111|H1072174D0
-1072174D0:lI110|H10721AA00
-10721AA00:lI102|H10721DF80
-10721DF80:lI105|H107221470
-107221470:lI103|H107224618
-107224618:lI46|H1072274D0
-1072274D0:lI98|H107229FC8
-107229FC8:lI101|H10722C760
-10722C760:lI97|H10722EC98
-10722EC98:lI109|N
-1071F8788:Mn5:H1071FB480,H1071FB490,H1071FB4A0,H1071FB4B0,H1071FB4C0
-1071FB480:lH1071FE3F0|N
-1071FE3F0:lI115|H1072014A8
-1072014A8:lI110|H107204650
-107204650:lI109|H107207880
-107207880:lI112|H10720AAF8
-10720AAF8:lI97|H10720DCE8
-10720DCE8:lI95|H107210E78
-107210E78:lI115|H1072140D8
-1072140D8:lI101|H107217470
-107217470:lI116|H10721A9A0
-10721A9A0:lI95|H10721DF20
-10721DF20:lI109|H107221410
-107221410:lI101|H1072245B8
-1072245B8:lI99|H107227470
-107227470:lI104|H107229F98
-107229F98:lI97|H10722C730
-10722C730:lI110|H10722EC68
-10722EC68:lI105|H107230EC0
-107230EC0:lI115|H107232E58
-107232E58:lI109|H107234B20
-107234B20:lI46|H107236508
-107236508:lI98|H107237CB0
-107237CB0:lI101|H107239258
-107239258:lI97|H10723A6D0
-10723A6D0:lI109|N
-1071FB4C0:lH1071FE430|N
-1071FE430:lI115|H1072014E8
-1072014E8:lI110|H107204690
-107204690:lI109|H1072078C0
-1072078C0:lI112|H10720AB38
-10720AB38:lI95|H10720DD28
-10720DD28:lI103|H107210EB8
-107210EB8:lI101|H107214118
-107214118:lI110|H1072174B0
-1072174B0:lI101|H10721A9E0
-10721A9E0:lI114|H10721DF60
-10721DF60:lI105|H107221450
-107221450:lI99|H1072245F8
-1072245F8:lI95|H1072274B0
-1072274B0:lI109|H107229FB8
-107229FB8:lI110|H10722C750
-10722C750:lI101|H10722EC88
-10722EC88:lI115|H107230EE0
-107230EE0:lI105|H107232E78
-107232E78:lI97|H107234B40
-107234B40:lI46|H107236528
-107236528:lI98|H107237CD0
-107237CD0:lI101|H107239278
-107239278:lI97|H10723A6F0
-10723A6F0:lI109|N
-1071FB4B0:lH1071FE420|N
-1071FE420:lI115|H1072014D8
-1072014D8:lI110|H107204680
-107204680:lI109|H1072078B0
-1072078B0:lI112|H10720AB28
-10720AB28:lI97|H10720DD18
-10720DD18:lI95|H107210EA8
-107210EA8:lI97|H107214108
-107214108:lI112|H1072174A0
-1072174A0:lI112|H10721A9D0
-10721A9D0:lI46|H10721DF50
-10721DF50:lI98|H107221440
-107221440:lI101|H1072245E8
-1072245E8:lI97|H1072274A0
-1072274A0:lI109|N
-1071FB4A0:lH1071FE410|N
-1071FE410:lI115|H1072014C8
-1072014C8:lI110|H107204670
-107204670:lI109|H1072078A0
-1072078A0:lI112|H10720AB18
-10720AB18:lI109|H10720DD08
-10720DD08:lI95|H107210E98
-107210E98:lI110|H1072140F8
-1072140F8:lI101|H107217490
-107217490:lI116|H10721A9C0
-10721A9C0:lI95|H10721DF40
-10721DF40:lI105|H107221430
-107221430:lI102|H1072245D8
-1072245D8:lI95|H107227490
-107227490:lI102|H107229FA8
-107229FA8:lI105|H10722C740
-10722C740:lI108|H10722EC78
-10722EC78:lI116|H107230ED0
-107230ED0:lI101|H107232E68
-107232E68:lI114|H107234B30
-107234B30:lI46|H107236518
-107236518:lI98|H107237CC0
-107237CC0:lI101|H107239268
-107239268:lI97|H10723A6E0
-10723A6E0:lI109|N
-1071FB490:lH1071FE400|N
-1071FE400:lI115|H1072014B8
-1072014B8:lI110|H107204660
-107204660:lI109|H107207890
-107207890:lI112|H10720AB08
-10720AB08:lI99|H10720DCF8
-10720DCF8:lI95|H107210E88
-107210E88:lI116|H1072140E8
-1072140E8:lI111|H107217480
-107217480:lI107|H10721A9B0
-10721A9B0:lI46|H10721DF30
-10721DF30:lI98|H107221420
-107221420:lI101|H1072245C8
-1072245C8:lI97|H107227480
-107227480:lI109|N
-1071F8778:lH1071FB470|N
-1071FB470:lI115|H1071FE3E0
-1071FE3E0:lI110|H107201498
-107201498:lI109|H107204640
-107204640:lI112|H107207870
-107207870:lI97|H10720AAE8
-10720AAE8:lI95|H10720DCD8
-10720DCD8:lI103|H107210E68
-107210E68:lI101|H1072140C8
-1072140C8:lI116|H107217460
-107217460:lI46|H10721A990
-10721A990:lI98|H10721DF10
-10721DF10:lI101|H107221400
-107221400:lI97|H1072245A8
-1072245A8:lI109|N
-1071F8740:Mn6:H1071FB408,H1071FB418,H1071FB428,H1071FB438,H1071FB450,H1071FB460
-1071FB408:lH1071FE370|N
-1071FE370:lI115|H107201428
-107201428:lI110|H1072045D0
-1072045D0:lI109|H107207800
-107207800:lI112|H10720AA78
-10720AA78:lI95|H10720DC68
-10720DC68:lI117|H107210DF8
-107210DF8:lI115|H107214058
-107214058:lI101|H1072173F0
-1072173F0:lI114|H10721A920
-10721A920:lI95|H10721DEA0
-10721DEA0:lI98|H107221390
-107221390:lI97|H107224538
-107224538:lI115|H107227410
-107227410:lI101|H107229F48
-107229F48:lI100|H10722C6E0
-10722C6E0:lI95|H10722EC18
-10722EC18:lI115|H107230E70
-107230E70:lI109|H107232E18
-107232E18:lI95|H107234AE0
-107234AE0:lI109|H1072364D8
-1072364D8:lI105|H107237C80
-107237C80:lI98|H107239238
-107239238:lI46|H10723A6C0
-10723A6C0:lI98|H10723B960
-10723B960:lI101|H10723C990
-10723C990:lI97|H10723D800
-10723D800:lI109|N
-1071FB460:lH1071FE3D0|N
-1071FE3D0:lI115|H107201488
-107201488:lI110|H107204630
-107204630:lI109|H107207860
-107207860:lI112|H10720AAD8
-10720AAD8:lI99|H10720DCC8
-10720DCC8:lI95|H107210E58
-107210E58:lI108|H1072140B8
-1072140B8:lI105|H107217450
-107217450:lI98|H10721A980
-10721A980:lI46|H10721DF00
-10721DF00:lI98|H1072213F0
-1072213F0:lI101|H107224598
-107224598:lI97|H107227460
-107227460:lI109|N
-1071FB450:lH1071FE3C0|N
-1071FE3C0:lI115|H107201478
-107201478:lI110|H107204620
-107204620:lI109|H107207850
-107207850:lI112|H10720AAC8
-10720AAC8:lI95|H10720DCB8
-10720DCB8:lI115|H107210E48
-107210E48:lI116|H1072140A8
-1072140A8:lI97|H107217440
-107217440:lI110|H10721A970
-10721A970:lI100|H10721DEF0
-10721DEF0:lI97|H1072213E0
-1072213E0:lI114|H107224588
-107224588:lI100|H107227450
-107227450:lI95|H107229F88
-107229F88:lI109|H10722C720
-10722C720:lI105|H10722EC58
-10722EC58:lI98|H107230EB0
-107230EB0:lI46|H107232E48
-107232E48:lI98|H107234B10
-107234B10:lI101|H1072364F8
-1072364F8:lI97|H107237CA0
-107237CA0:lI109|N
-1071FB438:Mn2:H1071FE3A0,H1071FE3B0
-1071FE3A0:lH107201458|N
-107201458:lI115|H107204600
-107204600:lI110|H107207830
-107207830:lI109|H10720AAA8
-10720AAA8:lI112|H10720DC98
-10720DC98:lI95|H107210E28
-107210E28:lI118|H107214088
-107214088:lI101|H107217420
-107217420:lI114|H10721A950
-10721A950:lI98|H10721DED0
-10721DED0:lI111|H1072213C0
-1072213C0:lI115|H107224568
-107224568:lI105|H107227430
-107227430:lI116|H107229F68
-107229F68:lI121|H10722C700
-10722C700:lI46|H10722EC38
-10722EC38:lI98|H107230E90
-107230E90:lI101|H107232E38
-107232E38:lI97|H107234B00
-107234B00:lI109|N
-1071FE3B0:lH107201468|N
-107201468:lI115|H107204610
-107204610:lI110|H107207840
-107207840:lI109|H10720AAB8
-10720AAB8:lI112|H10720DCA8
-10720DCA8:lI97|H107210E38
-107210E38:lI95|H107214098
-107214098:lI110|H107217430
-107217430:lI101|H10721A960
-10721A960:lI116|H10721DEE0
-10721DEE0:lI95|H1072213D0
-1072213D0:lI105|H107224578
-107224578:lI102|H107227440
-107227440:lI46|H107229F78
-107229F78:lI98|H10722C710
-10722C710:lI101|H10722EC48
-10722EC48:lI97|H107230EA0
-107230EA0:lI109|N
-1071FB428:lH1071FE390|N
-1071FE390:lI115|H107201448
-107201448:lI110|H1072045F0
-1072045F0:lI109|H107207820
-107207820:lI112|H10720AA98
-10720AA98:lI95|H10720DC88
-10720DC88:lI97|H107210E18
-107210E18:lI112|H107214078
-107214078:lI112|H107217410
-107217410:lI46|H10721A940
-10721A940:lI98|H10721DEC0
-10721DEC0:lI101|H1072213B0
-1072213B0:lI97|H107224558
-107224558:lI109|N
-1071FB418:lH1071FE380|N
-1071FE380:lI115|H107201438
-107201438:lI110|H1072045E0
-1072045E0:lI109|H107207810
-107207810:lI112|H10720AA88
-10720AA88:lI97|H10720DC78
-10720DC78:lI95|H107210E08
-107210E08:lI101|H107214068
-107214068:lI114|H107217400
-107217400:lI114|H10721A930
-10721A930:lI111|H10721DEB0
-10721DEB0:lI114|H1072213A0
-1072213A0:lI95|H107224548
-107224548:lI114|H107227420
-107227420:lI101|H107229F58
-107229F58:lI112|H10722C6F0
-10722C6F0:lI111|H10722EC28
-10722EC28:lI114|H107230E80
-107230E80:lI116|H107232E28
-107232E28:lI46|H107234AF0
-107234AF0:lI98|H1072364E8
-1072364E8:lI101|H107237C90
-107237C90:lI97|H107239248
-107239248:lI109|N
-1071F8720:Mn3:H1071FB3C8,H1071FB3D8,H1071FB3E8
-1071FB3C8:lH1071FE320|N
-1071FE320:lI115|H1072013D8
-1072013D8:lI110|H107204580
-107204580:lI109|H1072077B0
-1072077B0:lI112|H10720AA28
-10720AA28:lI109|H10720DC18
-10720DC18:lI95|H107210DA8
-107210DA8:lI110|H107214008
-107214008:lI101|H1072173A0
-1072173A0:lI116|H10721A8D0
-10721A8D0:lI95|H10721DE50
-10721DE50:lI105|H107221350
-107221350:lI102|H1072244F8
-1072244F8:lI95|H1072273D0
-1072273D0:lI109|H107229F08
-107229F08:lI116|H10722C6A0
-10722C6A0:lI46|H10722EBD8
-10722EBD8:lI98|H107230E30
-107230E30:lI101|H107232DF8
-107232DF8:lI97|H107234AC0
-107234AC0:lI109|N
-1071FB3E8:Mn3:H1071FE340,H1071FE350,H1071FE360
-1071FE340:lH1072013F8|N
-1072013F8:lI115|H1072045A0
-1072045A0:lI110|H1072077D0
-1072077D0:lI109|H10720AA48
-10720AA48:lI112|H10720DC38
-10720DC38:lI97|H107210DC8
-107210DC8:lI95|H107214028
-107214028:lI109|H1072173C0
-1072173C0:lI105|H10721A8F0
-10721A8F0:lI98|H10721DE70
-10721DE70:lI95|H107221370
-107221370:lI115|H107224518
-107224518:lI116|H1072273F0
-1072273F0:lI111|H107229F28
-107229F28:lI114|H10722C6C0
-10722C6C0:lI97|H10722EBF8
-10722EBF8:lI103|H107230E50
-107230E50:lI101|H107232E08
-107232E08:lI46|H107234AD0
-107234AD0:lI98|H1072364C8
-1072364C8:lI101|H107237C70
-107237C70:lI97|H107239228
-107239228:lI109|N
-1071FE360:lH107201418|N
-107201418:lI115|H1072045C0
-1072045C0:lI110|H1072077F0
-1072077F0:lI109|H10720AA68
-10720AA68:lI112|H10720DC58
-10720DC58:lI95|H107210DE8
-107210DE8:lI97|H107214048
-107214048:lI112|H1072173E0
-1072173E0:lI112|H10721A910
-10721A910:lI95|H10721DE90
-10721DE90:lI115|H107221380
-107221380:lI117|H107224528
-107224528:lI112|H107227400
-107227400:lI46|H107229F38
-107229F38:lI98|H10722C6D0
-10722C6D0:lI101|H10722EC08
-10722EC08:lI97|H107230E60
-107230E60:lI109|N
-1071FE350:lH107201408|N
-107201408:lI115|H1072045B0
-1072045B0:lI110|H1072077E0
-1072077E0:lI109|H10720AA58
-10720AA58:lI112|H10720DC48
-10720DC48:lI99|H107210DD8
-107210DD8:lI46|H107214038
-107214038:lI98|H1072173D0
-1072173D0:lI101|H10721A900
-10721A900:lI97|H10721DE80
-10721DE80:lI109|N
-1071FB3D8:lH1071FE330|N
-1071FE330:lI115|H1072013E8
-1072013E8:lI110|H107204590
-107204590:lI109|H1072077C0
-1072077C0:lI112|H10720AA38
-10720AA38:lI97|H10720DC28
-10720DC28:lI95|H107210DB8
-107210DB8:lI115|H107214018
-107214018:lI101|H1072173B0
-1072173B0:lI116|H10721A8E0
-10721A8E0:lI95|H10721DE60
-10721DE60:lI108|H107221360
-107221360:lI105|H107224508
-107224508:lI98|H1072273E0
-1072273E0:lI46|H107229F18
-107229F18:lI98|H10722C6B0
-10722C6B0:lI101|H10722EBE8
-10722EBE8:lI97|H107230E40
-107230E40:lI109|N
-1071F8700:Mn3:H1071FB390,H1071FB3A0,H1071FB3B0
-1071FB390:lH1071FE2E0|N
-1071FE2E0:lI115|H107201398
-107201398:lI110|H107204540
-107204540:lI109|H107207770
-107207770:lI112|H10720A9E8
-10720A9E8:lI97|H10720DBD8
-10720DBD8:lI95|H107210D68
-107210D68:lI115|H107213FC8
-107213FC8:lI117|H107217360
-107217360:lI112|H10721A890
-10721A890:lI101|H10721DE10
-10721DE10:lI114|H107221310
-107221310:lI118|H1072244B8
-1072244B8:lI105|H107227390
-107227390:lI115|H107229EC8
-107229EC8:lI111|H10722C680
-10722C680:lI114|H10722EBB8
-10722EBB8:lI46|H107230E10
-107230E10:lI98|H107232DD8
-107232DD8:lI101|H107234AA0
-107234AA0:lI97|H1072364A8
-1072364A8:lI109|N
-1071FB3B0:Mn2:H1071FE300,H1071FE310
-1071FE300:lH1072013B8|N
-1072013B8:lI115|H107204560
-107204560:lI110|H107207790
-107207790:lI109|H10720AA08
-10720AA08:lI112|H10720DBF8
-10720DBF8:lI95|H107210D88
-107210D88:lI110|H107213FE8
-107213FE8:lI111|H107217380
-107217380:lI116|H10721A8B0
-10721A8B0:lI105|H10721DE30
-10721DE30:lI102|H107221330
-107221330:lI105|H1072244D8
-1072244D8:lI99|H1072273B0
-1072273B0:lI97|H107229EE8
-107229EE8:lI116|H10722C690
-10722C690:lI105|H10722EBC8
-10722EBC8:lI111|H107230E20
-107230E20:lI110|H107232DE8
-107232DE8:lI95|H107234AB0
-107234AB0:lI109|H1072364B8
-1072364B8:lI105|H107237C60
-107237C60:lI98|H107239218
-107239218:lI46|H10723A6B0
-10723A6B0:lI98|H10723B950
-10723B950:lI101|H10723C980
-10723C980:lI97|H10723D7F0
-10723D7F0:lI109|N
-1071FE310:lH1072013C8|N
-1072013C8:lI115|H107204570
-107204570:lI110|H1072077A0
-1072077A0:lI109|H10720AA18
-10720AA18:lI112|H10720DC08
-10720DC08:lI109|H107210D98
-107210D98:lI95|H107213FF8
-107213FF8:lI109|H107217390
-107217390:lI112|H10721A8C0
-10721A8C0:lI100|H10721DE40
-10721DE40:lI46|H107221340
-107221340:lI98|H1072244E8
-1072244E8:lI101|H1072273C0
-1072273C0:lI97|H107229EF8
-107229EF8:lI109|N
-1071FB3A0:lH1071FE2F0|N
-1071FE2F0:lI115|H1072013A8
-1072013A8:lI110|H107204550
-107204550:lI109|H107207780
-107207780:lI112|H10720A9F8
-10720A9F8:lI109|H10720DBE8
-10720DBE8:lI95|H107210D78
-107210D78:lI99|H107213FD8
-107213FD8:lI111|H107217370
-107217370:lI110|H10721A8A0
-10721A8A0:lI102|H10721DE20
-10721DE20:lI46|H107221320
-107221320:lI98|H1072244C8
-1072244C8:lI101|H1072273A0
-1072273A0:lI97|H107229ED8
-107229ED8:lI109|N
-1071F5D88:lI47|H1071F86C8
-1071F86C8:lI111|H1071FB330
-1071FB330:lI112|H1071FE270
-1071FE270:lI116|H107201328
-107201328:lI47|H1072044D0
-1072044D0:lI104|H107207700
-107207700:lI111|H10720A978
-10720A978:lI109|H10720DB68
-10720DB68:lI101|H107210CF8
-107210CF8:lI98|H107213F58
-107213F58:lI114|H1072172F0
-1072172F0:lI101|H10721A820
-10721A820:lI119|H10721DDA0
-10721DDA0:lI47|H1072212A0
-1072212A0:lI67|H107224448
-107224448:lI101|H107227320
-107227320:lI108|H107229E58
-107229E58:lI108|H10722C630
-10722C630:lI97|H10722EB68
-10722EB68:lI114|H107230DC0
-107230DC0:lI47|H107232D88
-107232D88:lI101|H107234A50
-107234A50:lI114|H107236468
-107236468:lI108|H107237C20
-107237C20:lI97|H1072391D8
-1072391D8:lI110|H10723A670
-10723A670:lI103|H10723B930
-10723B930:lI47|H10723C960
-10723C960:lI50|H10723D7D0
-10723D7D0:lI54|H10723E510
-10723E510:lI46|H10723F110
-10723F110:lI48|H10723FBD0
-10723FBD0:lI46|H107240510
-107240510:lI50|H107240D90
-107240D90:lI47|H107241520
-107241520:lI108|H107241C50
-107241C50:lI105|H107242310
-107242310:lI98|H107242980
-107242980:lI47|H107242F80
-107242F80:lI101|H1072434F0
-1072434F0:lI114|H107243A30
-107243A30:lI108|H107243F20
-107243F20:lI97|H107244410
-107244410:lI110|H1072448C0
-1072448C0:lI103|H107244D30
-107244D30:lI47|H107245190
-107245190:lI108|H1072455E0
-1072455E0:lI105|H1072459E0
-1072459E0:lI98|H107245DA0
-107245DA0:lI47|H107246130
-107246130:lI115|H1072464C0
-1072464C0:lI110|H107246850
-107246850:lI109|H107246BE0
-107246BE0:lI112|H107246F10
-107246F10:lI45|H107247230
-107247230:lI53|H107247540
-107247540:lI46|H107247840
-107247840:lI49|H107247B40
-107247B40:lI52|H107247E20
-107247E20:lI47|H280052C20
-1071F3680:lH1071F5E28|H1071F5E40
-1071F5E28:t2:H1071F89B8,H1071F89C8
-1071F89C8:Mf13:H1071FB880:N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N
-1071FB880:t13:H1071FE838,H1071FE848,H1071FE858,H1071FE868,H1071FE878,H1071FE888,H1071FE898,H1071FE8A8,H1071FE8B8,H1071FE8C8,H1071FE8D8,H1071FE8E8,H1071FE8F8,H1071FE908,H1071FE918,H1071FE928,H1071FE938,H1071FE948,H1071FE958
-1071FE958:lI115|H107201A18
-107201A18:lI121|H107204BC0
-107204BC0:lI115|H107207DF0
-107207DF0:lI116|H10720B068
-10720B068:lI111|H10720E258
-10720E258:lI111|H1072113E8
-1072113E8:lI108|H107214638
-107214638:lI115|H1072179C0
-1072179C0:lI95|H10721AEC0
-10721AEC0:lI114|H10721E410
-10721E410:lI101|H1072218E0
-1072218E0:lI108|H107224A88
-107224A88:lI117|H107227910
-107227910:lI112|H10722A388
-10722A388:lI46|H10722CAE0
-10722CAE0:lI98|H10722EFD8
-10722EFD8:lI101|H1072311E0
-1072311E0:lI97|H1072330F8
-1072330F8:lI109|N
-1071FE948:lI115|H107201A08
-107201A08:lI121|H107204BB0
-107204BB0:lI115|H107207DE0
-107207DE0:lI116|H10720B058
-10720B058:lI111|H10720E248
-10720E248:lI111|H1072113D8
-1072113D8:lI108|H107214628
-107214628:lI115|H1072179B0
-1072179B0:lI95|H10721AEB0
-10721AEB0:lI114|H10721E400
-10721E400:lI99|H1072218D0
-1072218D0:lI46|H107224A78
-107224A78:lI98|H107227900
-107227900:lI101|H10722A378
-10722A378:lI97|H10722CAD0
-10722CAD0:lI109|N
-1071FE938:lI115|H1072019F8
-1072019F8:lI121|H107204BA0
-107204BA0:lI115|H107207DD0
-107207DD0:lI116|H10720B048
-10720B048:lI111|H10720E238
-10720E238:lI111|H1072113C8
-1072113C8:lI108|H107214618
-107214618:lI115|H1072179A0
-1072179A0:lI95|H10721AEA0
-10721AEA0:lI109|H10721E3F0
-10721E3F0:lI97|H1072218C0
-1072218C0:lI107|H107224A68
-107224A68:lI101|H1072278F0
-1072278F0:lI46|H10722A368
-10722A368:lI98|H10722CAC0
-10722CAC0:lI101|H10722EFC8
-10722EFC8:lI97|H1072311D0
-1072311D0:lI109|N
-1071FE928:lI115|H1072019E8
-1072019E8:lI121|H107204B90
-107204B90:lI115|H107207DC0
-107207DC0:lI116|H10720B038
-10720B038:lI111|H10720E228
-10720E228:lI111|H1072113B8
-1072113B8:lI108|H107214608
-107214608:lI115|H107217990
-107217990:lI95|H10721AE90
-10721AE90:lI108|H10721E3E0
-10721E3E0:lI105|H1072218B0
-1072218B0:lI98|H107224A58
-107224A58:lI46|H1072278E0
-1072278E0:lI98|H10722A358
-10722A358:lI101|H10722CAB0
-10722CAB0:lI97|H10722EFB8
-10722EFB8:lI109|N
-1071FE918:lI115|H1072019D8
-1072019D8:lI121|H107204B80
-107204B80:lI115|H107207DB0
-107207DB0:lI116|H10720B028
-10720B028:lI111|H10720E218
-10720E218:lI111|H1072113A8
-1072113A8:lI108|H1072145F8
-1072145F8:lI115|H107217980
-107217980:lI46|H10721AE80
-10721AE80:lI98|H10721E3D0
-10721E3D0:lI101|H1072218A0
-1072218A0:lI97|H107224A48
-107224A48:lI109|N
-1071FE908:lI115|H1072019C8
-1072019C8:lI97|H107204B70
-107204B70:lI115|H107207DA0
-107207DA0:lI108|H10720B018
-10720B018:lI95|H10720E208
-10720E208:lI114|H107211398
-107211398:lI101|H1072145E8
-1072145E8:lI112|H107217970
-107217970:lI111|H10721AE70
-10721AE70:lI114|H10721E3C0
-10721E3C0:lI116|H107221890
-107221890:lI95|H107224A38
-107224A38:lI116|H1072278D0
-1072278D0:lI116|H10722A348
-10722A348:lI121|H10722CAA0
-10722CAA0:lI95|H10722EFA8
-10722EFA8:lI104|H1072311C0
-1072311C0:lI46|H1072330E8
-1072330E8:lI98|H107234D40
-107234D40:lI101|H1072366E8
-1072366E8:lI97|H107237E50
-107237E50:lI109|N
-1071FE8F8:lI115|H1072019B8
-1072019B8:lI97|H107204B60
-107204B60:lI115|H107207D90
-107207D90:lI108|H10720B008
-10720B008:lI95|H10720E1F8
-10720E1F8:lI114|H107211388
-107211388:lI101|H1072145D8
-1072145D8:lI112|H107217960
-107217960:lI111|H10721AE60
-10721AE60:lI114|H10721E3B0
-10721E3B0:lI116|H107221880
-107221880:lI95|H107224A28
-107224A28:lI102|H1072278C0
-1072278C0:lI105|H10722A338
-10722A338:lI108|H10722CA90
-10722CA90:lI101|H10722EF98
-10722EF98:lI95|H1072311B0
-1072311B0:lI104|H1072330D8
-1072330D8:lI46|H107234D30
-107234D30:lI98|H1072366D8
-1072366D8:lI101|H107237E40
-107237E40:lI97|H1072393C8
-1072393C8:lI109|N
-1071FE8E8:lI115|H1072019A8
-1072019A8:lI97|H107204B50
-107204B50:lI115|H107207D80
-107207D80:lI108|H10720AFF8
-10720AFF8:lI95|H10720E1E8
-10720E1E8:lI114|H107211378
-107211378:lI101|H1072145C8
-1072145C8:lI112|H107217950
-107217950:lI111|H10721AE50
-10721AE50:lI114|H10721E3A0
-10721E3A0:lI116|H107221870
-107221870:lI46|H107224A18
-107224A18:lI98|H1072278B0
-1072278B0:lI101|H10722A328
-10722A328:lI97|H10722CA80
-10722CA80:lI109|N
-1071FE8D8:lI115|H107201998
-107201998:lI97|H107204B40
-107204B40:lI115|H107207D70
-107207D70:lI108|H10720AFE8
-10720AFE8:lI46|H10720E1D8
-10720E1D8:lI98|H107211368
-107211368:lI101|H1072145B8
-1072145B8:lI97|H107217940
-107217940:lI109|N
-1071FE8C8:lI115|H107201988
-107201988:lI97|H107204B30
-107204B30:lI115|H107207D60
-107207D60:lI108|H10720AFD8
-10720AFD8:lI46|H10720E1C8
-10720E1C8:lI97|H107211358
-107211358:lI112|H1072145A8
-1072145A8:lI112|H107217930
-107217930:lI117|H10721AE40
-10721AE40:lI112|N
-1071FE8B8:lI115|H107201978
-107201978:lI97|H107204B20
-107204B20:lI115|H107207D50
-107207D50:lI108|H10720AFC8
-10720AFC8:lI46|H10720E1B8
-10720E1B8:lI97|H107211348
-107211348:lI112|H107214598
-107214598:lI112|N
-1071FE8A8:lI114|H107201968
-107201968:lI101|H107204B10
-107204B10:lI108|H107207D40
-107207D40:lI101|H10720AFB8
-10720AFB8:lI97|H10720E1A8
-10720E1A8:lI115|H107211338
-107211338:lI101|H107214588
-107214588:lI95|H107217920
-107217920:lI104|H10721AE30
-10721AE30:lI97|H10721E390
-10721E390:lI110|H107221860
-107221860:lI100|H107224A08
-107224A08:lI108|H1072278A0
-1072278A0:lI101|H10722A318
-10722A318:lI114|H10722CA70
-10722CA70:lI95|H10722EF88
-10722EF88:lI49|H1072311A0
-1072311A0:lI46|H1072330C8
-1072330C8:lI98|H107234D20
-107234D20:lI101|H1072366C8
-1072366C8:lI97|H107237E30
-107237E30:lI109|N
-1071FE898:lI114|H107201958
-107201958:lI101|H107204B00
-107204B00:lI108|H107207D30
-107207D30:lI101|H10720AFA8
-10720AFA8:lI97|H10720E198
-10720E198:lI115|H107211328
-107211328:lI101|H107214578
-107214578:lI95|H107217910
-107217910:lI104|H10721AE20
-10721AE20:lI97|H10721E380
-10721E380:lI110|H107221850
-107221850:lI100|H1072249F8
-1072249F8:lI108|H107227890
-107227890:lI101|H10722A308
-10722A308:lI114|H10722CA60
-10722CA60:lI46|H10722EF78
-10722EF78:lI98|H107231190
-107231190:lI101|H1072330B8
-1072330B8:lI97|H107234D10
-107234D10:lI109|N
-1071FE888:lI114|H107201948
-107201948:lI98|H107204AF0
-107204AF0:lI95|H107207D20
-107207D20:lI102|H10720AF98
-10720AF98:lI111|H10720E188
-10720E188:lI114|H107211318
-107211318:lI109|H107214568
-107214568:lI97|H107217900
-107217900:lI116|H10721AE10
-10721AE10:lI95|H10721E370
-10721E370:lI115|H107221840
-107221840:lI117|H1072249E8
-1072249E8:lI112|H107227880
-107227880:lI112|H10722A2F8
-10722A2F8:lI46|H10722CA50
-10722CA50:lI98|H10722EF68
-10722EF68:lI101|H107231180
-107231180:lI97|H1072330A8
-1072330A8:lI109|N
-1071FE878:lI114|H107201938
-107201938:lI98|H107204AE0
-107204AE0:lI46|H107207D10
-107207D10:lI98|H10720AF88
-10720AF88:lI101|H10720E178
-10720E178:lI97|H107211308
-107211308:lI109|N
-1071FE868:lI109|H107201928
-107201928:lI105|H107204AD0
-107204AD0:lI115|H107207D00
-107207D00:lI99|H10720AF78
-10720AF78:lI95|H10720E168
-10720E168:lI115|H1072112F8
-1072112F8:lI117|H107214558
-107214558:lI112|H1072178F0
-1072178F0:lI112|H10721AE00
-10721AE00:lI46|H10721E360
-10721E360:lI98|H107221830
-107221830:lI101|H1072249D8
-1072249D8:lI97|H107227870
-107227870:lI109|N
-1071FE858:lI102|H107201918
-107201918:lI111|H107204AC0
-107204AC0:lI114|H107207CF0
-107207CF0:lI109|H10720AF68
-10720AF68:lI97|H10720E158
-10720E158:lI116|H1072112E8
-1072112E8:lI95|H107214548
-107214548:lI108|H1072178E0
-1072178E0:lI105|H10721ADF0
-10721ADF0:lI98|H10721E350
-10721E350:lI95|H107221820
-107221820:lI115|H1072249C8
-1072249C8:lI117|H107227860
-107227860:lI112|H10722A2E8
-10722A2E8:lI112|H10722CA40
-10722CA40:lI46|H10722EF58
-10722EF58:lI98|H107231170
-107231170:lI101|H107233098
-107233098:lI97|H107234D00
-107234D00:lI109|N
-1071FE848:lI101|H107201908
-107201908:lI114|H107204AB0
-107204AB0:lI108|H107207CE0
-107207CE0:lI115|H10720AF58
-10720AF58:lI114|H10720E148
-10720E148:lI118|H1072112D8
-1072112D8:lI46|H107214538
-107214538:lI98|H1072178D0
-1072178D0:lI101|H10721ADE0
-10721ADE0:lI97|H10721E340
-10721E340:lI109|N
-1071FE838:lI97|H1072018F8
-1072018F8:lI108|H107204AA0
-107204AA0:lI97|H107207CD0
-107207CD0:lI114|H10720AF48
-10720AF48:lI109|H10720E138
-10720E138:lI95|H1072112C8
-1072112C8:lI104|H107214528
-107214528:lI97|H1072178C0
-1072178C0:lI110|H10721ADD0
-10721ADD0:lI100|H10721E330
-10721E330:lI108|H107221810
-107221810:lI101|H1072249B8
-1072249B8:lI114|H107227850
-107227850:lI46|H10722A2D8
-10722A2D8:lI98|H10722CA30
-10722CA30:lI101|H10722EF48
-10722EF48:lI97|H107231160
-107231160:lI109|N
-1071F89B8:lI47|H1071FB870
-1071FB870:lI111|H1071FE828
-1071FE828:lI112|H1072018E8
-1072018E8:lI116|H107204A90
-107204A90:lI47|H107207CC0
-107207CC0:lI104|H10720AF38
-10720AF38:lI111|H10720E128
-10720E128:lI109|H1072112B8
-1072112B8:lI101|H107214518
-107214518:lI98|H1072178B0
-1072178B0:lI114|H10721ADC0
-10721ADC0:lI101|H10721E320
-10721E320:lI119|H107221800
-107221800:lI47|H1072249A8
-1072249A8:lI67|H107227840
-107227840:lI101|H10722A2C8
-10722A2C8:lI108|H10722CA20
-10722CA20:lI108|H10722EF38
-10722EF38:lI97|H107231150
-107231150:lI114|H107233088
-107233088:lI47|H107234CF0
-107234CF0:lI101|H1072366B8
-1072366B8:lI114|H107237E20
-107237E20:lI108|H1072393B8
-1072393B8:lI97|H10723A810
-10723A810:lI110|H10723BA40
-10723BA40:lI103|H10723CA70
-10723CA70:lI47|H10723D8D0
-10723D8D0:lI50|H10723E5D0
-10723E5D0:lI54|H10723F1B0
-10723F1B0:lI46|H10723FC40
-10723FC40:lI48|H107240580
-107240580:lI46|H107240DF0
-107240DF0:lI50|H107241580
-107241580:lI47|H107241CA0
-107241CA0:lI108|H107242360
-107242360:lI105|H1072429C0
-1072429C0:lI98|H107242FA0
-107242FA0:lI47|H107243510
-107243510:lI101|H107243A50
-107243A50:lI114|H107243F40
-107243F40:lI108|H107244430
-107244430:lI97|H1072448E0
-1072448E0:lI110|H107244D50
-107244D50:lI103|H1072451B0
-1072451B0:lI47|H107245600
-107245600:lI108|H107245A00
-107245A00:lI105|H107245DB0
-107245DB0:lI98|H107246140
-107246140:lI47|H1072464D0
-1072464D0:lI115|H107246860
-107246860:lI97|H107246BF0
-107246BF0:lI115|H107246F20
-107246F20:lI108|H107247240
-107247240:lI45|H107247550
-107247550:lI52|H107247850
-107247850:lI46|H107247B50
-107247B50:lI50|H107247E30
-107247E30:lI46|H1072480F0
-1072480F0:lI49|H1072483B0
-1072483B0:lI47|H280052C20
-1071F5E40:lH1071F8A78|H1071F8A90
-1071F8A78:t2:H1071FB920,H1071FB930
-1071FB930:MfE:H1071FE978:N,N,N,N,N,N,N,N,N,N,N,N,N,N
-1071FE978:tE:H107201A38,H107201A48,H107201A58,H107201A68,H107201A78,H107201A88,H107201A98,H107201AA8,H107201AB8,H107201AC8,H107201AD8,H107201AE8,H107201AF8,H107201B08
-107201B08:lI116|H107204CB0
-107204CB0:lI116|H107207EE0
-107207EE0:lI98|H10720B158
-10720B158:lI95|H10720E348
-10720E348:lI97|H1072114D8
-1072114D8:lI117|H107214728
-107214728:lI116|H107217AB0
-107217AB0:lI111|H10721AFA0
-10721AFA0:lI115|H10721E4F0
-10721E4F0:lI116|H1072219B0
-1072219B0:lI97|H107224B58
-107224B58:lI114|H1072279E0
-1072279E0:lI116|H10722A448
-10722A448:lI46|H10722CB90
-10722CB90:lI98|H10722F078
-10722F078:lI101|H107231270
-107231270:lI97|H107233178
-107233178:lI109|N
-107201AF8:lI115|H107204CA0
-107204CA0:lI121|H107207ED0
-107207ED0:lI115|H10720B148
-10720B148:lI116|H10720E338
-10720E338:lI101|H1072114C8
-1072114C8:lI109|H107214718
-107214718:lI95|H107217AA0
-107217AA0:lI105|H10721AF90
-10721AF90:lI110|H10721E4E0
-10721E4E0:lI102|H1072219A0
-1072219A0:lI111|H107224B48
-107224B48:lI114|H1072279D0
-1072279D0:lI109|H10722A438
-10722A438:lI97|H10722CB80
-10722CB80:lI116|H10722F068
-10722F068:lI105|H107231260
-107231260:lI111|H107233168
-107233168:lI110|H107234DA0
-107234DA0:lI46|H107236738
-107236738:lI98|H107237EA0
-107237EA0:lI101|H107239408
-107239408:lI97|H10723A830
-10723A830:lI109|N
-107201AE8:lI115|H107204C90
-107204C90:lI99|H107207EC0
-107207EC0:lI104|H10720B138
-10720B138:lI101|H10720E328
-10720E328:lI100|H1072114B8
-1072114B8:lI117|H107214708
-107214708:lI108|H107217A90
-107217A90:lI101|H10721AF80
-10721AF80:lI114|H10721E4D0
-10721E4D0:lI46|H107221990
-107221990:lI98|H107224B38
-107224B38:lI101|H1072279C0
-1072279C0:lI97|H10722A428
-10722A428:lI109|N
-107201AD8:lI114|H107204C80
-107204C80:lI117|H107207EB0
-107207EB0:lI110|H10720B128
-10720B128:lI116|H10720E318
-10720E318:lI105|H1072114A8
-1072114A8:lI109|H1072146F8
-1072146F8:lI101|H107217A80
-107217A80:lI95|H10721AF70
-10721AF70:lI116|H10721E4C0
-10721E4C0:lI111|H107221980
-107221980:lI111|H107224B28
-107224B28:lI108|H1072279B0
-1072279B0:lI115|H10722A418
-10722A418:lI95|H10722CB70
-10722CB70:lI115|H10722F058
-10722F058:lI117|H107231250
-107231250:lI112|H107233158
-107233158:lI46|H107234D90
-107234D90:lI98|H107236728
-107236728:lI101|H107237E90
-107237E90:lI97|H1072393F8
-1072393F8:lI109|N
-107201AC8:lI114|H107204C70
-107204C70:lI117|H107207EA0
-107207EA0:lI110|H10720B118
-10720B118:lI116|H10720E308
-10720E308:lI105|H107211498
-107211498:lI109|H1072146E8
-1072146E8:lI101|H107217A70
-107217A70:lI95|H10721AF60
-10721AF60:lI116|H10721E4B0
-10721E4B0:lI111|H107221970
-107221970:lI111|H107224B18
-107224B18:lI108|H1072279A0
-1072279A0:lI115|H10722A408
-10722A408:lI46|H10722CB60
-10722CB60:lI98|H10722F048
-10722F048:lI101|H107231240
-107231240:lI97|H107233148
-107233148:lI109|N
-107201AB8:lI114|H107204C60
-107204C60:lI117|H107207E90
-107207E90:lI110|H10720B108
-10720B108:lI116|H10720E2F8
-10720E2F8:lI105|H107211488
-107211488:lI109|H1072146D8
-1072146D8:lI101|H107217A60
-107217A60:lI95|H10721AF50
-10721AF50:lI116|H10721E4A0
-10721E4A0:lI111|H107221960
-107221960:lI111|H107224B08
-107224B08:lI108|H107227990
-107227990:lI115|H10722A3F8
-10722A3F8:lI46|H10722CB50
-10722CB50:lI97|H10722F038
-10722F038:lI112|H107231230
-107231230:lI112|H107233138
-107233138:lI117|H107234D80
-107234D80:lI112|N
-107201AA8:lI114|H107204C50
-107204C50:lI117|H107207E80
-107207E80:lI110|H10720B0F8
-10720B0F8:lI116|H10720E2E8
-10720E2E8:lI105|H107211478
-107211478:lI109|H1072146C8
-1072146C8:lI101|H107217A50
-107217A50:lI95|H10721AF40
-10721AF40:lI116|H10721E490
-10721E490:lI111|H107221950
-107221950:lI111|H107224AF8
-107224AF8:lI108|H107227980
-107227980:lI115|H10722A3E8
-10722A3E8:lI46|H10722CB40
-10722CB40:lI97|H10722F028
-10722F028:lI112|H107231220
-107231220:lI112|N
-107201A98:lI111|H107204C40
-107204C40:lI98|H107207E70
-107207E70:lI115|H10720B0E8
-10720B0E8:lI101|H10720E2D8
-10720E2D8:lI114|H107211468
-107211468:lI118|H1072146B8
-1072146B8:lI101|H107217A40
-107217A40:lI114|H10721AF30
-10721AF30:lI95|H10721E480
-10721E480:lI98|H107221940
-107221940:lI97|H107224AE8
-107224AE8:lI99|H107227970
-107227970:lI107|H10722A3D8
-10722A3D8:lI101|H10722CB30
-10722CB30:lI110|H10722F018
-10722F018:lI100|H107231210
-107231210:lI46|H107233128
-107233128:lI98|H107234D70
-107234D70:lI101|H107236718
-107236718:lI97|H107237E80
-107237E80:lI109|N
-107201A88:lI109|H107204C30
-107204C30:lI115|H107207E60
-107207E60:lI97|H10720B0D8
-10720B0D8:lI99|H10720E2C8
-10720E2C8:lI99|H107211458
-107211458:lI46|H1072146A8
-1072146A8:lI98|H107217A30
-107217A30:lI101|H10721AF20
-10721AF20:lI97|H10721E470
-10721E470:lI109|N
-107201A78:lI105|H107204C20
-107204C20:lI110|H107207E50
-107207E50:lI115|H10720B0C8
-10720B0C8:lI116|H10720E2B8
-10720E2B8:lI114|H107211448
-107211448:lI117|H107214698
-107214698:lI109|H107217A20
-107217A20:lI101|H10721AF10
-10721AF10:lI110|H10721E460
-10721E460:lI116|H107221930
-107221930:lI46|H107224AD8
-107224AD8:lI98|H107227960
-107227960:lI101|H10722A3C8
-10722A3C8:lI97|H10722CB20
-10722CB20:lI109|N
-107201A68:lI101|H107204C10
-107204C10:lI114|H107207E40
-107207E40:lI116|H10720B0B8
-10720B0B8:lI115|H10720E2A8
-10720E2A8:lI95|H107211438
-107211438:lI97|H107214688
-107214688:lI108|H107217A10
-107217A10:lI108|H10721AF00
-10721AF00:lI111|H10721E450
-10721E450:lI99|H107221920
-107221920:lI95|H107224AC8
-107224AC8:lI99|H107227950
-107227950:lI111|H10722A3B8
-10722A3B8:lI110|H10722CB10
-10722CB10:lI102|H10722F008
-10722F008:lI105|H107231200
-107231200:lI103|H107233118
-107233118:lI46|H107234D60
-107234D60:lI98|H107236708
-107236708:lI101|H107237E70
-107237E70:lI97|H1072393E8
-1072393E8:lI109|N
-107201A58:lI100|H107204C00
-107204C00:lI121|H107207E30
-107207E30:lI110|H10720B0A8
-10720B0A8:lI116|H10720E298
-10720E298:lI114|H107211428
-107211428:lI97|H107214678
-107214678:lI99|H107217A00
-107217A00:lI101|H10721AEF0
-10721AEF0:lI46|H10721E440
-10721E440:lI98|H107221910
-107221910:lI101|H107224AB8
-107224AB8:lI97|H107227940
-107227940:lI109|N
-107201A48:lI100|H107204BF0
-107204BF0:lI98|H107207E20
-107207E20:lI103|H10720B098
-10720B098:lI46|H10720E288
-10720E288:lI98|H107211418
-107211418:lI101|H107214668
-107214668:lI97|H1072179F0
-1072179F0:lI109|N
-107201A38:lI97|H107204BE0
-107204BE0:lI112|H107207E10
-107207E10:lI112|H10720B088
-10720B088:lI109|H10720E278
-10720E278:lI111|H107211408
-107211408:lI110|H107214658
-107214658:lI95|H1072179E0
-1072179E0:lI105|H10721AEE0
-10721AEE0:lI110|H10721E430
-10721E430:lI102|H107221900
-107221900:lI111|H107224AA8
-107224AA8:lI46|H107227930
-107227930:lI98|H10722A3A8
-10722A3A8:lI101|H10722CB00
-10722CB00:lI97|H10722EFF8
-10722EFF8:lI109|N
-1071FB920:lI47|H1071FE968
-1071FE968:lI111|H107201A28
-107201A28:lI112|H107204BD0
-107204BD0:lI116|H107207E00
-107207E00:lI47|H10720B078
-10720B078:lI104|H10720E268
-10720E268:lI111|H1072113F8
-1072113F8:lI109|H107214648
-107214648:lI101|H1072179D0
-1072179D0:lI98|H10721AED0
-10721AED0:lI114|H10721E420
-10721E420:lI101|H1072218F0
-1072218F0:lI119|H107224A98
-107224A98:lI47|H107227920
-107227920:lI67|H10722A398
-10722A398:lI101|H10722CAF0
-10722CAF0:lI108|H10722EFE8
-10722EFE8:lI108|H1072311F0
-1072311F0:lI97|H107233108
-107233108:lI114|H107234D50
-107234D50:lI47|H1072366F8
-1072366F8:lI101|H107237E60
-107237E60:lI114|H1072393D8
-1072393D8:lI108|H10723A820
-10723A820:lI97|H10723BA50
-10723BA50:lI110|H10723CA80
-10723CA80:lI103|H10723D8E0
-10723D8E0:lI47|H10723E5E0
-10723E5E0:lI50|H10723F1C0
-10723F1C0:lI54|H10723FC50
-10723FC50:lI46|H107240590
-107240590:lI48|H107240E00
-107240E00:lI46|H107241590
-107241590:lI50|H107241CB0
-107241CB0:lI47|H107242370
-107242370:lI108|H1072429D0
-1072429D0:lI105|H107242FB0
-107242FB0:lI98|H107243520
-107243520:lI47|H107243A60
-107243A60:lI101|H107243F50
-107243F50:lI114|H107244440
-107244440:lI108|H1072448F0
-1072448F0:lI97|H107244D60
-107244D60:lI110|H1072451C0
-1072451C0:lI103|H107245610
-107245610:lI47|H107245A10
-107245A10:lI108|H107245DC0
-107245DC0:lI105|H107246150
-107246150:lI98|H1072464E0
-1072464E0:lI47|H107246870
-107246870:lI114|H107246C00
-107246C00:lI117|H107246F30
-107246F30:lI110|H107247250
-107247250:lI116|H107247560
-107247560:lI105|H107247860
-107247860:lI109|H107247B60
-107247B60:lI101|H107247E40
-107247E40:lI95|H107248100
-107248100:lI116|H1072483C0
-1072483C0:lI111|H107248670
-107248670:lI111|H107248920
-107248920:lI108|H107248BA0
-107248BA0:lI115|H107248E20
-107248E20:lI45|H107249090
-107249090:lI50|H107249300
-107249300:lI46|H107249560
-107249560:lI48|H1072497C0
-1072497C0:lI47|H280052C20
-1071F8A90:lH1071FB9B8|H1071FB9D0
-1071FB9B8:t2:H1071FE9F0,H1071FEA00
-1071FEA00:MfB:H107201B28:N,N,N,N,N,N,N,N,N,N,N
-107201B28:tB:H107204CD0,H107204CE0,H107204CF0,H107204D00,H107204D10,H107204D20,H107204D30,H107204D40,H107204D50,H107204D60,H107204D70
-107204D70:lI114|H107207FA0
-107207FA0:lI101|H10720B218
-10720B218:lI108|H10720E408
-10720E408:lI116|H107211598
-107211598:lI111|H1072147E8
-1072147E8:lI111|H107217B70
-107217B70:lI108|H10721B060
-10721B060:lI95|H10721E5B0
-10721E5B0:lI117|H107221A70
-107221A70:lI116|H107224C18
-107224C18:lI105|H107227A90
-107227A90:lI108|H10722A4E8
-10722A4E8:lI115|H10722CC20
-10722CC20:lI46|H10722F108
-10722F108:lI98|H107231300
-107231300:lI101|H107233208
-107233208:lI97|H107234E30
-107234E30:lI109|N
-107204D60:lI114|H107207F90
-107207F90:lI101|H10720B208
-10720B208:lI108|H10720E3F8
-10720E3F8:lI116|H107211588
-107211588:lI111|H1072147D8
-1072147D8:lI111|H107217B60
-107217B60:lI108|H10721B050
-10721B050:lI95|H10721E5A0
-10721E5A0:lI116|H107221A60
-107221A60:lI97|H107224C08
-107224C08:lI114|H107227A80
-107227A80:lI103|H10722A4D8
-10722A4D8:lI101|H10722CC10
-10722CC10:lI116|H10722F0F8
-10722F0F8:lI46|H1072312F0
-1072312F0:lI98|H1072331F8
-1072331F8:lI101|H107234E20
-107234E20:lI97|H1072367B8
-1072367B8:lI109|N
-107204D50:lI114|H107207F80
-107207F80:lI101|H10720B1F8
-10720B1F8:lI108|H10720E3E8
-10720E3E8:lI116|H107211578
-107211578:lI111|H1072147C8
-1072147C8:lI111|H107217B50
-107217B50:lI108|H10721B040
-10721B040:lI95|H10721E590
-10721E590:lI115|H107221A50
-107221A50:lI121|H107224BF8
-107224BF8:lI115|H107227A70
-107227A70:lI95|H10722A4C8
-10722A4C8:lI119|H10722CC00
-10722CC00:lI105|H10722F0E8
-10722F0E8:lI110|H1072312E0
-1072312E0:lI46|H1072331E8
-1072331E8:lI98|H107234E10
-107234E10:lI101|H1072367A8
-1072367A8:lI97|H107237EF0
-107237EF0:lI109|N
-107204D40:lI114|H107207F70
-107207F70:lI101|H10720B1E8
-10720B1E8:lI108|H10720E3D8
-10720E3D8:lI116|H107211568
-107211568:lI111|H1072147B8
-1072147B8:lI111|H107217B40
-107217B40:lI108|H10721B030
-10721B030:lI95|H10721E580
-10721E580:lI115|H107221A40
-107221A40:lI101|H107224BE8
-107224BE8:lI114|H107227A60
-107227A60:lI118|H10722A4B8
-10722A4B8:lI101|H10722CBF0
-10722CBF0:lI114|H10722F0D8
-10722F0D8:lI46|H1072312D0
-1072312D0:lI98|H1072331D8
-1072331D8:lI101|H107234E00
-107234E00:lI97|H107236798
-107236798:lI109|N
-107204D30:lI114|H107207F60
-107207F60:lI101|H10720B1D8
-10720B1D8:lI108|H10720E3C8
-10720E3C8:lI116|H107211558
-107211558:lI111|H1072147A8
-1072147A8:lI111|H107217B30
-107217B30:lI108|H10721B020
-10721B020:lI95|H10721E570
-10721E570:lI109|H107221A30
-107221A30:lI111|H107224BD8
-107224BD8:lI100|H107227A50
-107227A50:lI95|H10722A4A8
-10722A4A8:lI119|H10722CBE0
-10722CBE0:lI105|H10722F0C8
-10722F0C8:lI110|H1072312C0
-1072312C0:lI46|H1072331C8
-1072331C8:lI98|H107234DF0
-107234DF0:lI101|H107236788
-107236788:lI97|H107237EE0
-107237EE0:lI109|N
-107204D20:lI114|H107207F50
-107207F50:lI101|H10720B1C8
-10720B1C8:lI108|H10720E3B8
-10720E3B8:lI116|H107211548
-107211548:lI111|H107214798
-107214798:lI111|H107217B20
-107217B20:lI108|H10721B010
-10721B010:lI95|H10721E560
-10721E560:lI102|H107221A20
-107221A20:lI103|H107224BC8
-107224BC8:lI114|H107227A40
-107227A40:lI97|H10722A498
-10722A498:lI112|H10722CBD0
-10722CBD0:lI104|H10722F0B8
-10722F0B8:lI95|H1072312B0
-1072312B0:lI119|H1072331B8
-1072331B8:lI105|H107234DE0
-107234DE0:lI110|H107236778
-107236778:lI46|H107237ED0
-107237ED0:lI98|H107239428
-107239428:lI101|H10723A850
-10723A850:lI97|H10723BA70
-10723BA70:lI109|N
-107204D10:lI114|H107207F40
-107207F40:lI101|H10720B1B8
-10720B1B8:lI108|H10720E3A8
-10720E3A8:lI116|H107211538
-107211538:lI111|H107214788
-107214788:lI111|H107217B10
-107217B10:lI108|H10721B000
-10721B000:lI95|H10721E550
-10721E550:lI102|H107221A10
-107221A10:lI103|H107224BB8
-107224BB8:lI114|H107227A30
-107227A30:lI97|H10722A488
-10722A488:lI112|H10722CBC0
-10722CBC0:lI104|H10722F0A8
-10722F0A8:lI46|H1072312A0
-1072312A0:lI98|H1072331A8
-1072331A8:lI101|H107234DD0
-107234DD0:lI97|H107236768
-107236768:lI109|N
-107204D00:lI114|H107207F30
-107207F30:lI101|H10720B1A8
-10720B1A8:lI108|H10720E398
-10720E398:lI116|H107211528
-107211528:lI111|H107214778
-107214778:lI111|H107217B00
-107217B00:lI108|H10721AFF0
-10721AFF0:lI95|H10721E540
-10721E540:lI97|H107221A00
-107221A00:lI112|H107224BA8
-107224BA8:lI112|H107227A20
-107227A20:lI95|H10722A478
-10722A478:lI119|H10722CBB0
-10722CBB0:lI105|H10722F098
-10722F098:lI110|H107231290
-107231290:lI46|H107233198
-107233198:lI98|H107234DC0
-107234DC0:lI101|H107236758
-107236758:lI97|H107237EC0
-107237EC0:lI109|N
-107204CF0:lI114|H107207F20
-107207F20:lI101|H10720B198
-10720B198:lI108|H10720E388
-10720E388:lI116|H107211518
-107211518:lI111|H107214768
-107214768:lI111|H107217AF0
-107217AF0:lI108|H10721AFE0
-10721AFE0:lI46|H10721E530
-10721E530:lI98|H1072219F0
-1072219F0:lI101|H107224B98
-107224B98:lI97|H107227A10
-107227A10:lI109|N
-107204CE0:lI114|H107207F10
-107207F10:lI101|H10720B188
-10720B188:lI108|H10720E378
-10720E378:lI116|H107211508
-107211508:lI111|H107214758
-107214758:lI111|H107217AE0
-107217AE0:lI108|H10721AFD0
-10721AFD0:lI46|H10721E520
-10721E520:lI97|H1072219E0
-1072219E0:lI112|H107224B88
-107224B88:lI112|H107227A00
-107227A00:lI117|H10722A468
-10722A468:lI112|N
-107204CD0:lI114|H107207F00
-107207F00:lI101|H10720B178
-10720B178:lI108|H10720E368
-10720E368:lI116|H1072114F8
-1072114F8:lI111|H107214748
-107214748:lI111|H107217AD0
-107217AD0:lI108|H10721AFC0
-10721AFC0:lI46|H10721E510
-10721E510:lI97|H1072219D0
-1072219D0:lI112|H107224B78
-107224B78:lI112|N
-1071FE9F0:lI47|H107201B18
-107201B18:lI111|H107204CC0
-107204CC0:lI112|H107207EF0
-107207EF0:lI116|H10720B168
-10720B168:lI47|H10720E358
-10720E358:lI104|H1072114E8
-1072114E8:lI111|H107214738
-107214738:lI109|H107217AC0
-107217AC0:lI101|H10721AFB0
-10721AFB0:lI98|H10721E500
-10721E500:lI114|H1072219C0
-1072219C0:lI101|H107224B68
-107224B68:lI119|H1072279F0
-1072279F0:lI47|H10722A458
-10722A458:lI67|H10722CBA0
-10722CBA0:lI101|H10722F088
-10722F088:lI108|H107231280
-107231280:lI108|H107233188
-107233188:lI97|H107234DB0
-107234DB0:lI114|H107236748
-107236748:lI47|H107237EB0
-107237EB0:lI101|H107239418
-107239418:lI114|H10723A840
-10723A840:lI108|H10723BA60
-10723BA60:lI97|H10723CA90
-10723CA90:lI110|H10723D8F0
-10723D8F0:lI103|H10723E5F0
-10723E5F0:lI47|H10723F1D0
-10723F1D0:lI50|H10723FC60
-10723FC60:lI54|H1072405A0
-1072405A0:lI46|H107240E10
-107240E10:lI48|H1072415A0
-1072415A0:lI46|H107241CC0
-107241CC0:lI50|H107242380
-107242380:lI47|H1072429E0
-1072429E0:lI108|H107242FC0
-107242FC0:lI105|H107243530
-107243530:lI98|H107243A70
-107243A70:lI47|H107243F60
-107243F60:lI101|H107244450
-107244450:lI114|H107244900
-107244900:lI108|H107244D70
-107244D70:lI97|H1072451D0
-1072451D0:lI110|H107245620
-107245620:lI103|H107245A20
-107245A20:lI47|H107245DD0
-107245DD0:lI108|H107246160
-107246160:lI105|H1072464F0
-1072464F0:lI98|H107246880
-107246880:lI47|H107246C10
-107246C10:lI114|H107246F40
-107246F40:lI101|H107247260
-107247260:lI108|H107247570
-107247570:lI116|H107247870
-107247870:lI111|H107247B70
-107247B70:lI111|H107247E50
-107247E50:lI108|H107248110
-107248110:lI45|H1072483D0
-1072483D0:lI49|H107248680
-107248680:lI46|H107248930
-107248930:lI48|H107248BB0
-107248BB0:lI47|H280052C20
-1071FB9D0:lH1071FEA70|H1071FEA88
-1071FEA70:t2:H107201B88,H107201B98
-107201B98:MfD:H107204D90:N,N,N,N,N,N,N,N,N,N,N,N,N
-107204D90:tD:H107207FC0,H107207FD0,H107207FE0,H107207FF0,H107208000,H107208010,H107208020,H107208030,H107208040,H107208050,H107208060,H107208070,H107208080
-107208080:lI112|H10720B2F8
-10720B2F8:lI117|H10720E4E8
-10720E4E8:lI98|H107211678
-107211678:lI108|H1072148C8
-1072148C8:lI105|H107217C50
-107217C50:lI99|H10721B140
-10721B140:lI95|H10721E690
-10721E690:lI107|H107221B50
-107221B50:lI101|H107224CF8
-107224CF8:lI121|H107227B70
-107227B70:lI46|H10722A5C8
-10722A5C8:lI98|H10722CD00
-10722CD00:lI101|H10722F1E8
-10722F1E8:lI97|H1072313D0
-1072313D0:lI109|N
-107208070:lI112|H10720B2E8
-10720B2E8:lI117|H10720E4D8
-10720E4D8:lI98|H107211668
-107211668:lI108|H1072148B8
-1072148B8:lI105|H107217C40
-107217C40:lI99|H10721B130
-10721B130:lI95|H10721E680
-10721E680:lI107|H107221B40
-107221B40:lI101|H107224CE8
-107224CE8:lI121|H107227B60
-107227B60:lI46|H10722A5B8
-10722A5B8:lI97|H10722CCF0
-10722CCF0:lI112|H10722F1D8
-10722F1D8:lI112|H1072313C0
-1072313C0:lI117|H107233278
-107233278:lI112|N
-107208060:lI112|H10720B2D8
-10720B2D8:lI117|H10720E4C8
-10720E4C8:lI98|H107211658
-107211658:lI108|H1072148A8
-1072148A8:lI105|H107217C30
-107217C30:lI99|H10721B120
-10721B120:lI95|H10721E670
-10721E670:lI107|H107221B30
-107221B30:lI101|H107224CD8
-107224CD8:lI121|H107227B50
-107227B50:lI46|H10722A5A8
-10722A5A8:lI97|H10722CCE0
-10722CCE0:lI112|H10722F1C8
-10722F1C8:lI112|N
-107208050:lI112|H10720B2C8
-10720B2C8:lI117|H10720E4B8
-10720E4B8:lI98|H107211648
-107211648:lI107|H107214898
-107214898:lI101|H107217C20
-107217C20:lI121|H10721B110
-10721B110:lI95|H10721E660
-10721E660:lI115|H107221B20
-107221B20:lI115|H107224CC8
-107224CC8:lI104|H107227B40
-107227B40:lI46|H10722A598
-10722A598:lI98|H10722CCD0
-10722CCD0:lI101|H10722F1B8
-10722F1B8:lI97|H1072313B0
-1072313B0:lI109|N
-107208040:lI112|H10720B2B8
-10720B2B8:lI117|H10720E4A8
-10720E4A8:lI98|H107211638
-107211638:lI107|H107214888
-107214888:lI101|H107217C10
-107217C10:lI121|H10721B100
-10721B100:lI95|H10721E650
-10721E650:lI112|H107221B10
-107221B10:lI101|H107224CB8
-107224CB8:lI109|H107227B30
-107227B30:lI46|H10722A588
-10722A588:lI98|H10722CCC0
-10722CCC0:lI101|H10722F1A8
-10722F1A8:lI97|H1072313A0
-1072313A0:lI109|N
-107208030:lI112|H10720B2A8
-10720B2A8:lI117|H10720E498
-10720E498:lI98|H107211628
-107211628:lI107|H107214878
-107214878:lI101|H107217C00
-107217C00:lI121|H10721B0F0
-10721B0F0:lI95|H10721E640
-10721E640:lI112|H107221B00
-107221B00:lI98|H107224CA8
-107224CA8:lI101|H107227B20
-107227B20:lI46|H10722A578
-10722A578:lI98|H10722CCB0
-10722CCB0:lI101|H10722F198
-10722F198:lI97|H107231390
-107231390:lI109|N
-107208020:lI112|H10720B298
-10720B298:lI117|H10720E488
-10720E488:lI98|H107211618
-107211618:lI107|H107214868
-107214868:lI101|H107217BF0
-107217BF0:lI121|H10721B0E0
-10721B0E0:lI95|H10721E630
-10721E630:lI111|H107221AF0
-107221AF0:lI115|H107224C98
-107224C98:lI95|H107227B10
-107227B10:lI99|H10722A568
-10722A568:lI97|H10722CCA0
-10722CCA0:lI99|H10722F188
-10722F188:lI101|H107231380
-107231380:lI114|H107233268
-107233268:lI116|H107234E60
-107234E60:lI115|H1072367E8
-1072367E8:lI46|H107237F20
-107237F20:lI98|H107239458
-107239458:lI101|H10723A880
-10723A880:lI97|H10723BAA0
-10723BAA0:lI109|N
-107208010:lI112|H10720B288
-10720B288:lI117|H10720E478
-10720E478:lI98|H107211608
-107211608:lI107|H107214858
-107214858:lI101|H107217BE0
-107217BE0:lI121|H10721B0D0
-10721B0D0:lI95|H10721E620
-10721E620:lI111|H107221AE0
-107221AE0:lI99|H107224C88
-107224C88:lI115|H107227B00
-107227B00:lI112|H10722A558
-10722A558:lI46|H10722CC90
-10722CC90:lI98|H10722F178
-10722F178:lI101|H107231370
-107231370:lI97|H107233258
-107233258:lI109|N
-107208000:lI112|H10720B278
-10720B278:lI117|H10720E468
-10720E468:lI98|H1072115F8
-1072115F8:lI107|H107214848
-107214848:lI101|H107217BD0
-107217BD0:lI121|H10721B0C0
-10721B0C0:lI95|H10721E610
-10721E610:lI99|H107221AD0
-107221AD0:lI114|H107224C78
-107224C78:lI108|H107227AF0
-107227AF0:lI46|H10722A548
-10722A548:lI98|H10722CC80
-10722CC80:lI101|H10722F168
-10722F168:lI97|H107231360
-107231360:lI109|N
-107207FF0:lI112|H10720B268
-10720B268:lI117|H10720E458
-10720E458:lI98|H1072115E8
-1072115E8:lI107|H107214838
-107214838:lI101|H107217BC0
-107217BC0:lI121|H10721B0B0
-10721B0B0:lI95|H10721E600
-10721E600:lI99|H107221AC0
-107221AC0:lI101|H107224C68
-107224C68:lI114|H107227AE0
-107227AE0:lI116|H10722A538
-10722A538:lI95|H10722CC70
-10722CC70:lI114|H10722F158
-10722F158:lI101|H107231350
-107231350:lI99|H107233248
-107233248:lI111|H107234E50
-107234E50:lI114|H1072367D8
-1072367D8:lI100|H107237F10
-107237F10:lI115|H107239448
-107239448:lI46|H10723A870
-10723A870:lI98|H10723BA90
-10723BA90:lI101|H10723CAB0
-10723CAB0:lI97|H10723D910
-10723D910:lI109|N
-107207FE0:lI112|H10720B258
-10720B258:lI117|H10720E448
-10720E448:lI98|H1072115D8
-1072115D8:lI107|H107214828
-107214828:lI101|H107217BB0
-107217BB0:lI121|H10721B0A0
-10721B0A0:lI95|H10721E5F0
-10721E5F0:lI99|H107221AB0
-107221AB0:lI101|H107224C58
-107224C58:lI114|H107227AD0
-107227AD0:lI116|H10722A528
-10722A528:lI46|H10722CC60
-10722CC60:lI98|H10722F148
-10722F148:lI101|H107231340
-107231340:lI97|H107233238
-107233238:lI109|N
-107207FD0:lI80|H10720B248
-10720B248:lI75|H10720E438
-10720E438:lI67|H1072115C8
-1072115C8:lI83|H107214818
-107214818:lI45|H107217BA0
-107217BA0:lI70|H10721B090
-10721B090:lI82|H10721E5E0
-10721E5E0:lI65|H107221AA0
-107221AA0:lI77|H107224C48
-107224C48:lI69|H107227AC0
-107227AC0:lI46|H10722A518
-10722A518:lI98|H10722CC50
-10722CC50:lI101|H10722F138
-10722F138:lI97|H107231330
-107231330:lI109|N
-107207FC0:lI79|H10720B238
-10720B238:lI84|H10720E428
-10720E428:lI80|H1072115B8
-1072115B8:lI45|H107214808
-107214808:lI80|H107217B90
-107217B90:lI85|H10721B080
-10721B080:lI66|H10721E5D0
-10721E5D0:lI45|H107221A90
-107221A90:lI75|H107224C38
-107224C38:lI69|H107227AB0
-107227AB0:lI89|H10722A508
-10722A508:lI46|H10722CC40
-10722CC40:lI98|H10722F128
-10722F128:lI101|H107231320
-107231320:lI97|H107233228
-107233228:lI109|N
-107201B88:lI47|H107204D80
-107204D80:lI111|H107207FB0
-107207FB0:lI112|H10720B228
-10720B228:lI116|H10720E418
-10720E418:lI47|H1072115A8
-1072115A8:lI104|H1072147F8
-1072147F8:lI111|H107217B80
-107217B80:lI109|H10721B070
-10721B070:lI101|H10721E5C0
-10721E5C0:lI98|H107221A80
-107221A80:lI114|H107224C28
-107224C28:lI101|H107227AA0
-107227AA0:lI119|H10722A4F8
-10722A4F8:lI47|H10722CC30
-10722CC30:lI67|H10722F118
-10722F118:lI101|H107231310
-107231310:lI108|H107233218
-107233218:lI108|H107234E40
-107234E40:lI97|H1072367C8
-1072367C8:lI114|H107237F00
-107237F00:lI47|H107239438
-107239438:lI101|H10723A860
-10723A860:lI114|H10723BA80
-10723BA80:lI108|H10723CAA0
-10723CAA0:lI97|H10723D900
-10723D900:lI110|H10723E600
-10723E600:lI103|H10723F1E0
-10723F1E0:lI47|H10723FC70
-10723FC70:lI50|H1072405B0
-1072405B0:lI54|H107240E20
-107240E20:lI46|H1072415B0
-1072415B0:lI48|H107241CD0
-107241CD0:lI46|H107242390
-107242390:lI50|H1072429F0
-1072429F0:lI47|H107242FD0
-107242FD0:lI108|H107243540
-107243540:lI105|H107243A80
-107243A80:lI98|H107243F70
-107243F70:lI47|H107244460
-107244460:lI101|H107244910
-107244910:lI114|H107244D80
-107244D80:lI108|H1072451E0
-1072451E0:lI97|H107245630
-107245630:lI110|H107245A30
-107245A30:lI103|H107245DE0
-107245DE0:lI47|H107246170
-107246170:lI108|H107246500
-107246500:lI105|H107246890
-107246890:lI98|H107246C20
-107246C20:lI47|H107246F50
-107246F50:lI112|H107247270
-107247270:lI117|H107247580
-107247580:lI98|H107247880
-107247880:lI108|H107247B80
-107247B80:lI105|H107247E60
-107247E60:lI99|H107248120
-107248120:lI95|H1072483E0
-1072483E0:lI107|H107248690
-107248690:lI101|H107248940
-107248940:lI121|H107248BC0
-107248BC0:lI45|H107248E30
-107248E30:lI49|H1072490A0
-1072490A0:lI46|H107249310
-107249310:lI49|H107249570
-107249570:lI52|H1072497D0
-1072497D0:lI47|H280052C20
-1071FEA88:lH107201C18|H107201C30
-107201C18:t2:H107204E00,H107204E10
-107204E10:Mf6:H1072080A0:N,N,N,N,N,N
-1072080A0:t6:H10720B318,H10720B328,H10720B338,H10720B348,H10720B358,H10720B368
-10720B368:lI121|H10720E558
-10720E558:lI101|H1072116E8
-1072116E8:lI99|H107214938
-107214938:lI99|H107217CC0
-107217CC0:lI115|H10721B1B0
-10721B1B0:lI99|H10721E700
-10721E700:lI97|H107221BC0
-107221BC0:lI110|H107224D68
-107224D68:lI46|H107227BC0
-107227BC0:lI98|H10722A618
-10722A618:lI101|H10722CD50
-10722CD50:lI97|H10722F238
-10722F238:lI109|N
-10720B358:lI121|H10720E548
-10720E548:lI101|H1072116D8
-1072116D8:lI99|H107214928
-107214928:lI99|H107217CB0
-107217CB0:lI112|H10721B1A0
-10721B1A0:lI97|H10721E6F0
-10721E6F0:lI114|H107221BB0
-107221BB0:lI115|H107224D58
-107224D58:lI101|H107227BB0
-107227BB0:lI114|H10722A608
-10722A608:lI46|H10722CD40
-10722CD40:lI98|H10722F228
-10722F228:lI101|H107231410
-107231410:lI97|H1072332A8
-1072332A8:lI109|N
-10720B348:lI121|H10720E538
-10720E538:lI101|H1072116C8
-1072116C8:lI99|H107214918
-107214918:lI99|H107217CA0
-107217CA0:lI46|H10721B190
-10721B190:lI98|H10721E6E0
-10721E6E0:lI101|H107221BA0
-107221BA0:lI97|H107224D48
-107224D48:lI109|N
-10720B338:lI112|H10720E528
-10720E528:lI97|H1072116B8
-1072116B8:lI114|H107214908
-107214908:lI115|H107217C90
-107217C90:lI101|H10721B180
-10721B180:lI116|H10721E6D0
-10721E6D0:lI111|H107221B90
-107221B90:lI111|H107224D38
-107224D38:lI108|H107227BA0
-107227BA0:lI115|H10722A5F8
-10722A5F8:lI46|H10722CD30
-10722CD30:lI97|H10722F218
-10722F218:lI112|H107231400
-107231400:lI112|H107233298
-107233298:lI117|H107234E80
-107234E80:lI112|N
-10720B328:lI112|H10720E518
-10720E518:lI97|H1072116A8
-1072116A8:lI114|H1072148F8
-1072148F8:lI115|H107217C80
-107217C80:lI101|H10721B170
-10721B170:lI116|H10721E6C0
-10721E6C0:lI111|H107221B80
-107221B80:lI111|H107224D28
-107224D28:lI108|H107227B90
-107227B90:lI115|H10722A5E8
-10722A5E8:lI46|H10722CD20
-10722CD20:lI97|H10722F208
-10722F208:lI112|H1072313F0
-1072313F0:lI112|N
-10720B318:lI108|H10720E508
-10720E508:lI101|H107211698
-107211698:lI101|H1072148E8
-1072148E8:lI120|H107217C70
-107217C70:lI46|H10721B160
-10721B160:lI98|H10721E6B0
-10721E6B0:lI101|H107221B70
-107221B70:lI97|H107224D18
-107224D18:lI109|N
-107204E00:lI47|H107208090
-107208090:lI111|H10720B308
-10720B308:lI112|H10720E4F8
-10720E4F8:lI116|H107211688
-107211688:lI47|H1072148D8
-1072148D8:lI104|H107217C60
-107217C60:lI111|H10721B150
-10721B150:lI109|H10721E6A0
-10721E6A0:lI101|H107221B60
-107221B60:lI98|H107224D08
-107224D08:lI114|H107227B80
-107227B80:lI101|H10722A5D8
-10722A5D8:lI119|H10722CD10
-10722CD10:lI47|H10722F1F8
-10722F1F8:lI67|H1072313E0
-1072313E0:lI101|H107233288
-107233288:lI108|H107234E70
-107234E70:lI108|H1072367F8
-1072367F8:lI97|H107237F30
-107237F30:lI114|H107239468
-107239468:lI47|H10723A890
-10723A890:lI101|H10723BAB0
-10723BAB0:lI114|H10723CAC0
-10723CAC0:lI108|H10723D920
-10723D920:lI97|H10723E610
-10723E610:lI110|H10723F1F0
-10723F1F0:lI103|H10723FC80
-10723FC80:lI47|H1072405C0
-1072405C0:lI50|H107240E30
-107240E30:lI54|H1072415C0
-1072415C0:lI46|H107241CE0
-107241CE0:lI48|H1072423A0
-1072423A0:lI46|H107242A00
-107242A00:lI50|H107242FE0
-107242FE0:lI47|H107243550
-107243550:lI108|H107243A90
-107243A90:lI105|H107243F80
-107243F80:lI98|H107244470
-107244470:lI47|H107244920
-107244920:lI101|H107244D90
-107244D90:lI114|H1072451F0
-1072451F0:lI108|H107245640
-107245640:lI97|H107245A40
-107245A40:lI110|H107245DF0
-107245DF0:lI103|H107246180
-107246180:lI47|H107246510
-107246510:lI108|H1072468A0
-1072468A0:lI105|H107246C30
-107246C30:lI98|H107246F60
-107246F60:lI47|H107247280
-107247280:lI112|H107247590
-107247590:lI97|H107247890
-107247890:lI114|H107247B90
-107247B90:lI115|H107247E70
-107247E70:lI101|H107248130
-107248130:lI116|H1072483F0
-1072483F0:lI111|H1072486A0
-1072486A0:lI111|H107248950
-107248950:lI108|H107248BD0
-107248BD0:lI115|H107248E40
-107248E40:lI45|H1072490B0
-1072490B0:lI50|H107249320
-107249320:lI46|H107249580
-107249580:lI53|H1072497E0
-1072497E0:lI47|H280052C20
-107201C30:lH107204E58|H107204E70
-107204E58:t2:H1072080D8,H1072080E8
-1072080E8:MfA:H10720B388:N,N,N,N,N,N,N,N,N,N
-10720B388:tA:H10720E578,H10720E588,H10720E598,H10720E5A8,H10720E5B8,H10720E5C8,H10720E5D8,H10720E5E8,H10720E5F8,H10720E608
-10720E608:lI111|H107211798
-107211798:lI115|H1072149E8
-1072149E8:lI95|H107217D70
-107217D70:lI115|H10721B260
-10721B260:lI117|H10721E7B0
-10721E7B0:lI112|H107221C70
-107221C70:lI46|H107224E18
-107224E18:lI98|H107227C70
-107227C70:lI101|H10722A6C8
-10722A6C8:lI97|H10722CDF0
-10722CDF0:lI109|N
-10720E5F8:lI111|H107211788
-107211788:lI115|H1072149D8
-1072149D8:lI95|H107217D60
-107217D60:lI109|H10721B250
-10721B250:lI111|H10721E7A0
-10721E7A0:lI110|H107221C60
-107221C60:lI95|H107224E08
-107224E08:lI115|H107227C60
-107227C60:lI121|H10722A6B8
-10722A6B8:lI115|H10722CDE0
-10722CDE0:lI105|H10722F2A8
-10722F2A8:lI110|H107231450
-107231450:lI102|H1072332E8
-1072332E8:lI111|H107234EC0
-107234EC0:lI46|H107236818
-107236818:lI98|H107237F50
-107237F50:lI101|H107239488
-107239488:lI97|H10723A8B0
-10723A8B0:lI109|N
-10720E5E8:lI111|H107211778
-107211778:lI115|H1072149C8
-1072149C8:lI95|H107217D50
-107217D50:lI109|H10721B240
-10721B240:lI111|H10721E790
-10721E790:lI110|H107221C50
-107221C50:lI95|H107224DF8
-107224DF8:lI109|H107227C50
-107227C50:lI105|H10722A6A8
-10722A6A8:lI98|H10722CDD0
-10722CDD0:lI46|H10722F298
-10722F298:lI98|H107231440
-107231440:lI101|H1072332D8
-1072332D8:lI97|H107234EB0
-107234EB0:lI109|N
-10720E5D8:lI111|H107211768
-107211768:lI115|H1072149B8
-1072149B8:lI95|H107217D40
-107217D40:lI109|H10721B230
-10721B230:lI111|H10721E780
-10721E780:lI110|H107221C40
-107221C40:lI46|H107224DE8
-107224DE8:lI98|H107227C40
-107227C40:lI101|H10722A698
-10722A698:lI97|H10722CDC0
-10722CDC0:lI109|N
-10720E5C8:lI111|H107211758
-107211758:lI115|H1072149A8
-1072149A8:lI95|H107217D30
-107217D30:lI109|H10721B220
-10721B220:lI111|H10721E770
-10721E770:lI110|H107221C30
-107221C30:lI46|H107224DD8
-107224DD8:lI97|H107227C30
-107227C30:lI112|H10722A688
-10722A688:lI112|H10722CDB0
-10722CDB0:lI117|H10722F288
-10722F288:lI112|N
-10720E5B8:lI111|H107211748
-107211748:lI115|H107214998
-107214998:lI95|H107217D20
-107217D20:lI109|H10721B210
-10721B210:lI111|H10721E760
-10721E760:lI110|H107221C20
-107221C20:lI46|H107224DC8
-107224DC8:lI97|H107227C20
-107227C20:lI112|H10722A678
-10722A678:lI112|N
-10720E5A8:lI110|H107211738
-107211738:lI116|H107214988
-107214988:lI101|H107217D10
-107217D10:lI118|H10721B200
-10721B200:lI101|H10721E750
-10721E750:lI110|H107221C10
-107221C10:lI116|H107224DB8
-107224DB8:lI108|H107227C10
-107227C10:lI111|H10722A668
-10722A668:lI103|H10722CDA0
-10722CDA0:lI46|H10722F278
-10722F278:lI98|H107231430
-107231430:lI101|H1072332C8
-1072332C8:lI97|H107234EA0
-107234EA0:lI109|N
-10720E598:lI109|H107211728
-107211728:lI101|H107214978
-107214978:lI109|H107217D00
-107217D00:lI115|H10721B1F0
-10721B1F0:lI117|H10721E740
-10721E740:lI112|H107221C00
-107221C00:lI46|H107224DA8
-107224DA8:lI98|H107227C00
-107227C00:lI101|H10722A658
-10722A658:lI97|H10722CD90
-10722CD90:lI109|N
-10720E588:lI100|H107211718
-107211718:lI105|H107214968
-107214968:lI115|H107217CF0
-107217CF0:lI107|H10721B1E0
-10721B1E0:lI115|H10721E730
-10721E730:lI117|H107221BF0
-107221BF0:lI112|H107224D98
-107224D98:lI46|H107227BF0
-107227BF0:lI98|H10722A648
-10722A648:lI101|H10722CD80
-10722CD80:lI97|H10722F268
-10722F268:lI109|N
-10720E578:lI99|H107211708
-107211708:lI112|H107214958
-107214958:lI117|H107217CE0
-107217CE0:lI95|H10721B1D0
-10721B1D0:lI115|H10721E720
-10721E720:lI117|H107221BE0
-107221BE0:lI112|H107224D88
-107224D88:lI46|H107227BE0
-107227BE0:lI98|H10722A638
-10722A638:lI101|H10722CD70
-10722CD70:lI97|H10722F258
-10722F258:lI109|N
-1072080D8:lI47|H10720B378
-10720B378:lI111|H10720E568
-10720E568:lI112|H1072116F8
-1072116F8:lI116|H107214948
-107214948:lI47|H107217CD0
-107217CD0:lI104|H10721B1C0
-10721B1C0:lI111|H10721E710
-10721E710:lI109|H107221BD0
-107221BD0:lI101|H107224D78
-107224D78:lI98|H107227BD0
-107227BD0:lI114|H10722A628
-10722A628:lI101|H10722CD60
-10722CD60:lI119|H10722F248
-10722F248:lI47|H107231420
-107231420:lI67|H1072332B8
-1072332B8:lI101|H107234E90
-107234E90:lI108|H107236808
-107236808:lI108|H107237F40
-107237F40:lI97|H107239478
-107239478:lI114|H10723A8A0
-10723A8A0:lI47|H10723BAC0
-10723BAC0:lI101|H10723CAD0
-10723CAD0:lI114|H10723D930
-10723D930:lI108|H10723E620
-10723E620:lI97|H10723F200
-10723F200:lI110|H10723FC90
-10723FC90:lI103|H1072405D0
-1072405D0:lI47|H107240E40
-107240E40:lI50|H1072415D0
-1072415D0:lI54|H107241CF0
-107241CF0:lI46|H1072423B0
-1072423B0:lI48|H107242A10
-107242A10:lI46|H107242FF0
-107242FF0:lI50|H107243560
-107243560:lI47|H107243AA0
-107243AA0:lI108|H107243F90
-107243F90:lI105|H107244480
-107244480:lI98|H107244930
-107244930:lI47|H107244DA0
-107244DA0:lI101|H107245200
-107245200:lI114|H107245650
-107245650:lI108|H107245A50
-107245A50:lI97|H107245E00
-107245E00:lI110|H107246190
-107246190:lI103|H107246520
-107246520:lI47|H1072468B0
-1072468B0:lI108|H107246C40
-107246C40:lI105|H107246F70
-107246F70:lI98|H107247290
-107247290:lI47|H1072475A0
-1072475A0:lI111|H1072478A0
-1072478A0:lI115|H107247BA0
-107247BA0:lI95|H107247E80
-107247E80:lI109|H107248140
-107248140:lI111|H107248400
-107248400:lI110|H1072486B0
-1072486B0:lI45|H107248960
-107248960:lI50|H107248BE0
-107248BE0:lI46|H107248E50
-107248E50:lI57|H1072490C0
-1072490C0:lI47|H280052C20
-107204E70:lH107208150|H107208168
-107208150:t2:H10720B3E0,H10720B3F0
-10720B3F0:Mf5:H10720E628:N,N,N,N,N
-10720E628:t5:H1072117B8,H1072117C8,H1072117D8,H1072117E8,H1072117F8
-1072117F8:lI111|H107214A48
-107214A48:lI100|H107217DD0
-107217DD0:lI98|H10721B2C0
-10721B2C0:lI99|H10721E810
-10721E810:lI95|H107221CD0
-107221CD0:lI115|H107224E78
-107224E78:lI117|H107227CD0
-107227CD0:lI112|H10722A718
-10722A718:lI46|H10722CE30
-10722CE30:lI98|H10722F2D8
-10722F2D8:lI101|H107231480
-107231480:lI97|H107233318
-107233318:lI109|N
-1072117E8:lI111|H107214A38
-107214A38:lI100|H107217DC0
-107217DC0:lI98|H10721B2B0
-10721B2B0:lI99|H10721E800
-10721E800:lI95|H107221CC0
-107221CC0:lI97|H107224E68
-107224E68:lI112|H107227CC0
-107227CC0:lI112|H10722A708
-10722A708:lI46|H10722CE20
-10722CE20:lI98|H10722F2C8
-10722F2C8:lI101|H107231470
-107231470:lI97|H107233308
-107233308:lI109|N
-1072117D8:lI111|H107214A28
-107214A28:lI100|H107217DB0
-107217DB0:lI98|H10721B2A0
-10721B2A0:lI99|H10721E7F0
-10721E7F0:lI46|H107221CB0
-107221CB0:lI98|H107224E58
-107224E58:lI101|H107227CB0
-107227CB0:lI97|H10722A6F8
-10722A6F8:lI109|N
-1072117C8:lI111|H107214A18
-107214A18:lI100|H107217DA0
-107217DA0:lI98|H10721B290
-10721B290:lI99|H10721E7E0
-10721E7E0:lI46|H107221CA0
-107221CA0:lI97|H107224E48
-107224E48:lI112|H107227CA0
-107227CA0:lI112|H10722A6E8
-10722A6E8:lI117|H10722CE10
-10722CE10:lI112|N
-1072117B8:lI111|H107214A08
-107214A08:lI100|H107217D90
-107217D90:lI98|H10721B280
-10721B280:lI99|H10721E7D0
-10721E7D0:lI46|H107221C90
-107221C90:lI97|H107224E38
-107224E38:lI112|H107227C90
-107227C90:lI112|N
-10720B3E0:lI47|H10720E618
-10720E618:lI111|H1072117A8
-1072117A8:lI112|H1072149F8
-1072149F8:lI116|H107217D80
-107217D80:lI47|H10721B270
-10721B270:lI104|H10721E7C0
-10721E7C0:lI111|H107221C80
-107221C80:lI109|H107224E28
-107224E28:lI101|H107227C80
-107227C80:lI98|H10722A6D8
-10722A6D8:lI114|H10722CE00
-10722CE00:lI101|H10722F2B8
-10722F2B8:lI119|H107231460
-107231460:lI47|H1072332F8
-1072332F8:lI67|H107234ED0
-107234ED0:lI101|H107236828
-107236828:lI108|H107237F60
-107237F60:lI108|H107239498
-107239498:lI97|H10723A8C0
-10723A8C0:lI114|H10723BAD0
-10723BAD0:lI47|H10723CAE0
-10723CAE0:lI101|H10723D940
-10723D940:lI114|H10723E630
-10723E630:lI108|H10723F210
-10723F210:lI97|H10723FCA0
-10723FCA0:lI110|H1072405E0
-1072405E0:lI103|H107240E50
-107240E50:lI47|H1072415E0
-1072415E0:lI50|H107241D00
-107241D00:lI54|H1072423C0
-1072423C0:lI46|H107242A20
-107242A20:lI48|H107243000
-107243000:lI46|H107243570
-107243570:lI50|H107243AB0
-107243AB0:lI47|H107243FA0
-107243FA0:lI108|H107244490
-107244490:lI105|H107244940
-107244940:lI98|H107244DB0
-107244DB0:lI47|H107245210
-107245210:lI101|H107245660
-107245660:lI114|H107245A60
-107245A60:lI108|H107245E10
-107245E10:lI97|H1072461A0
-1072461A0:lI110|H107246530
-107246530:lI103|H1072468C0
-1072468C0:lI47|H107246C50
-107246C50:lI108|H107246F80
-107246F80:lI105|H1072472A0
-1072472A0:lI98|H1072475B0
-1072475B0:lI47|H1072478B0
-1072478B0:lI111|H107247BB0
-107247BB0:lI100|H107247E90
-107247E90:lI98|H107248150
-107248150:lI99|H107248410
-107248410:lI45|H1072486C0
-1072486C0:lI50|H107248970
-107248970:lI46|H107248BF0
-107248BF0:lI49|H107248E60
-107248E60:lI52|H1072490D0
-1072490D0:lI46|H107249330
-107249330:lI49|H107249590
-107249590:lI47|H280052C20
-107208168:lH10720B430|H10720B448
-10720B430:t2:H10720E658,H10720E668
-10720E668:Mh2E:F:H107211818,H107211830,H107211848,H107211878,H107211890,H1072118B0,H1072118C0,H107211900,H107211918,H107211930,H107211940,H107211958,H107211988,H1072119A8,H1072119C0
-107211818:Mn2:H107214A68,H107214A78
-107214A68:lH107217DF0|N
-107217DF0:lI99|H10721B2E0
-10721B2E0:lI100|H10721E830
-10721E830:lI118|H107221CF0
-107221CF0:lI95|H107224E98
-107224E98:lI112|H107227CF0
-107227CF0:lI111|H10722A738
-10722A738:lI114|H10722CE50
-10722CE50:lI116|H10722F2F8
-10722F2F8:lI95|H1072314A0
-1072314A0:lI99|H107233338
-107233338:lI98|H107234EF0
-107234EF0:lI46|H107236848
-107236848:lI98|H107237F80
-107237F80:lI101|H1072394B8
-1072394B8:lI97|H10723A8E0
-10723A8E0:lI109|N
-107214A78:lH107217E00|N
-107217E00:lI99|H10721B2F0
-10721B2F0:lI100|H10721E840
-10721E840:lI118|H107221D00
-107221D00:lI95|H107224EA8
-107224EA8:lI109|H107227D00
-107227D00:lI111|H10722A748
-10722A748:lI100|H10722CE60
-10722CE60:lI95|H10722F308
-10722F308:lI99|H1072314B0
-1072314B0:lI98|H107233348
-107233348:lI46|H107234F00
-107234F00:lI98|H107236858
-107236858:lI101|H107237F90
-107237F90:lI97|H1072394C8
-1072394C8:lI109|N
-1072119C0:Mn2:H107214CF0,H107214D10
-107214CF0:Mn3:H107218090,H1072180A0,H1072180B0
-107218090:lH10721B580|N
-10721B580:lI99|H10721EAD0
-10721EAD0:lI100|H107221F90
-107221F90:lI118|H107225138
-107225138:lI95|H107227F90
-107227F90:lI112|H10722A9D8
-10722A9D8:lI101|H10722D0F0
-10722D0F0:lI114|H10722F588
-10722F588:lI115|H107231720
-107231720:lI105|H1072335B8
-1072335B8:lI115|H107235150
-107235150:lI116|H107236A98
-107236A98:lI101|H1072381A0
-1072381A0:lI110|H1072396B8
-1072396B8:lI116|H10723AA90
-10723AA90:lI95|H10723BC30
-10723BC30:lI99|H10723CC00
-10723CC00:lI98|H10723DA40
-10723DA40:lI46|H10723E720
-10723E720:lI98|H10723F2D0
-10723F2D0:lI101|H10723FD30
-10723FD30:lI97|H107240630
-107240630:lI109|N
-1072180B0:lH10721B5A0|N
-10721B5A0:lI111|H10721EAF0
-10721EAF0:lI98|H107221FB0
-107221FB0:lI115|H107225158
-107225158:lI101|H107227FB0
-107227FB0:lI114|H10722A9F8
-10722A9F8:lI118|H10722D110
-10722D110:lI101|H10722F5A8
-10722F5A8:lI114|H107231740
-107231740:lI95|H1072335D8
-1072335D8:lI97|H107235170
-107235170:lI108|H107236AB8
-107236AB8:lI108|H1072381C0
-1072381C0:lI111|H1072396D8
-1072396D8:lI99|H10723AAB0
-10723AAB0:lI95|H10723BC50
-10723BC50:lI119|H10723CC20
-10723CC20:lI120|H10723DA50
-10723DA50:lI46|H10723E730
-10723E730:lI98|H10723F2E0
-10723F2E0:lI101|H10723FD40
-10723FD40:lI97|H107240640
-107240640:lI109|N
-1072180A0:lH10721B590|N
-10721B590:lI99|H10721EAE0
-10721EAE0:lI100|H107221FA0
-107221FA0:lI118|H107225148
-107225148:lI95|H107227FA0
-107227FA0:lI109|H10722A9E8
-10722A9E8:lI117|H10722D100
-10722D100:lI108|H10722F598
-10722F598:lI116|H107231730
-107231730:lI105|H1072335C8
-1072335C8:lI95|H107235160
-107235160:lI119|H107236AA8
-107236AA8:lI120|H1072381B0
-1072381B0:lI46|H1072396C8
-1072396C8:lI98|H10723AAA0
-10723AAA0:lI101|H10723BC40
-10723BC40:lI97|H10723CC10
-10723CC10:lI109|N
-107214D10:lH1072180C0|N
-1072180C0:lI111|H10721B5B0
-10721B5B0:lI98|H10721EB00
-10721EB00:lI115|H107221FC0
-107221FC0:lI101|H107225168
-107225168:lI114|H107227FC0
-107227FC0:lI118|H10722AA08
-10722AA08:lI101|H10722D120
-10722D120:lI114|H10722F5B8
-10722F5B8:lI95|H107231750
-107231750:lI116|H1072335E8
-1072335E8:lI118|H107235180
-107235180:lI95|H107236AC8
-107236AC8:lI119|H1072381D0
-1072381D0:lI120|H1072396E8
-1072396E8:lI46|H10723AAC0
-10723AAC0:lI98|H10723BC60
-10723BC60:lI101|H10723CC30
-10723CC30:lI97|H10723DA60
-10723DA60:lI109|N
-1072119A8:Mn2:H107214CD0,H107214CE0
-107214CD0:lH107218070|N
-107218070:lI111|H10721B560
-10721B560:lI98|H10721EAB0
-10721EAB0:lI115|H107221F70
-107221F70:lI101|H107225118
-107225118:lI114|H107227F70
-107227F70:lI118|H10722A9B8
-10722A9B8:lI101|H10722D0D0
-10722D0D0:lI114|H10722F568
-10722F568:lI95|H107231700
-107231700:lI104|H107233598
-107233598:lI116|H107235130
-107235130:lI109|H107236A78
-107236A78:lI108|H107238180
-107238180:lI95|H107239698
-107239698:lI108|H10723AA80
-10723AA80:lI105|H10723BC20
-10723BC20:lI98|H10723CBF0
-10723CBF0:lI46|H10723DA30
-10723DA30:lI98|H10723E710
-10723E710:lI101|H10723F2C0
-10723F2C0:lI97|H10723FD20
-10723FD20:lI109|N
-107214CE0:lH107218080|N
-107218080:lI99|H10721B570
-10721B570:lI100|H10721EAC0
-10721EAC0:lI118|H107221F80
-107221F80:lI95|H107225128
-107225128:lI103|H107227F80
-107227F80:lI101|H10722A9C8
-10722A9C8:lI110|H10722D0E0
-10722D0E0:lI95|H10722F578
-10722F578:lI99|H107231710
-107231710:lI98|H1072335A8
-1072335A8:lI46|H107235140
-107235140:lI98|H107236A88
-107236A88:lI101|H107238190
-107238190:lI97|H1072396A8
-1072396A8:lI109|N
-107211988:Mn3:H107214C98,H107214CA8,H107214CB8
-107214C98:lH107218030|N
-107218030:lI111|H10721B520
-10721B520:lI98|H10721EA70
-10721EA70:lI115|H107221F30
-107221F30:lI101|H1072250D8
-1072250D8:lI114|H107227F30
-107227F30:lI118|H10722A978
-10722A978:lI101|H10722D090
-10722D090:lI114|H10722F528
-10722F528:lI46|H1072316C0
-1072316C0:lI98|H107233558
-107233558:lI101|H1072350F0
-1072350F0:lI97|H107236A38
-107236A38:lI109|N
-107214CB8:Mn2:H107218050,H107218060
-107218050:lH10721B540|N
-10721B540:lI111|H10721EA90
-10721EA90:lI98|H107221F50
-107221F50:lI115|H1072250F8
-1072250F8:lI101|H107227F50
-107227F50:lI114|H10722A998
-10722A998:lI118|H10722D0B0
-10722D0B0:lI101|H10722F548
-10722F548:lI114|H1072316E0
-1072316E0:lI95|H107233578
-107233578:lI116|H107235110
-107235110:lI114|H107236A58
-107236A58:lI97|H107238170
-107238170:lI99|H107239688
-107239688:lI101|H10723AA70
-10723AA70:lI111|H10723BC10
-10723BC10:lI112|H10723CBE0
-10723CBE0:lI116|H10723DA20
-10723DA20:lI105|H10723E700
-10723E700:lI111|H10723F2B0
-10723F2B0:lI110|H10723FD10
-10723FD10:lI115|H107240620
-107240620:lI95|H107240E80
-107240E80:lI119|H107241600
-107241600:lI120|H107241D20
-107241D20:lI46|H1072423E0
-1072423E0:lI98|H107242A40
-107242A40:lI101|H107243020
-107243020:lI97|H107243590
-107243590:lI109|N
-107218060:lH10721B550|N
-10721B550:lI111|H10721EAA0
-10721EAA0:lI98|H107221F60
-107221F60:lI115|H107225108
-107225108:lI101|H107227F60
-107227F60:lI114|H10722A9A8
-10722A9A8:lI118|H10722D0C0
-10722D0C0:lI101|H10722F558
-10722F558:lI114|H1072316F0
-1072316F0:lI46|H107233588
-107233588:lI97|H107235120
-107235120:lI112|H107236A68
-107236A68:lI112|N
-107214CA8:lH107218040|N
-107218040:lI101|H10721B530
-10721B530:lI116|H10721EA80
-10721EA80:lI111|H107221F40
-107221F40:lI112|H1072250E8
-1072250E8:lI95|H107227F40
-107227F40:lI116|H10722A988
-10722A988:lI120|H10722D0A0
-10722D0A0:lI116|H10722F538
-10722F538:lI46|H1072316D0
-1072316D0:lI98|H107233568
-107233568:lI101|H107235100
-107235100:lI97|H107236A48
-107236A48:lI109|N
-107211958:Mn5:H107214C48,H107214C58,H107214C68,H107214C78,H107214C88
-107214C48:lH107217FE0|N
-107217FE0:lI99|H10721B4D0
-10721B4D0:lI100|H10721EA20
-10721EA20:lI118|H107221EE0
-107221EE0:lI95|H107225088
-107225088:lI112|H107227EE0
-107227EE0:lI114|H10722A928
-10722A928:lI111|H10722D040
-10722D040:lI99|H10722F4D8
-10722F4D8:lI95|H107231680
-107231680:lI99|H107233518
-107233518:lI98|H1072350B0
-1072350B0:lI46|H1072369F8
-1072369F8:lI98|H107238130
-107238130:lI101|H107239648
-107239648:lI97|H10723AA30
-10723AA30:lI109|N
-107214C88:lH107218020|N
-107218020:lI111|H10721B510
-10721B510:lI98|H10721EA60
-10721EA60:lI115|H107221F20
-107221F20:lI101|H1072250C8
-1072250C8:lI114|H107227F20
-107227F20:lI118|H10722A968
-10722A968:lI101|H10722D080
-10722D080:lI114|H10722F518
-10722F518:lI95|H1072316B0
-1072316B0:lI116|H107233548
-107233548:lI118|H1072350E0
-1072350E0:lI95|H107236A28
-107236A28:lI116|H107238160
-107238160:lI97|H107239678
-107239678:lI98|H10723AA60
-10723AA60:lI108|H10723BC00
-10723BC00:lI101|H10723CBD0
-10723CBD0:lI46|H10723DA10
-10723DA10:lI98|H10723E6F0
-10723E6F0:lI101|H10723F2A0
-10723F2A0:lI97|H10723FD00
-10723FD00:lI109|N
-107214C78:lH107218010|N
-107218010:lI111|H10721B500
-10721B500:lI98|H10721EA50
-10721EA50:lI115|H107221F10
-107221F10:lI101|H1072250B8
-1072250B8:lI114|H107227F10
-107227F10:lI118|H10722A958
-10722A958:lI101|H10722D070
-10722D070:lI114|H10722F508
-10722F508:lI95|H1072316A0
-1072316A0:lI115|H107233538
-107233538:lI121|H1072350D0
-1072350D0:lI115|H107236A18
-107236A18:lI95|H107238150
-107238150:lI119|H107239668
-107239668:lI120|H10723AA50
-10723AA50:lI46|H10723BBF0
-10723BBF0:lI98|H10723CBC0
-10723CBC0:lI101|H10723DA00
-10723DA00:lI97|H10723E6E0
-10723E6E0:lI109|N
-107214C68:lH107218000|N
-107218000:lI99|H10721B4F0
-10721B4F0:lI100|H10721EA40
-10721EA40:lI118|H107221F00
-107221F00:lI95|H1072250A8
-1072250A8:lI118|H107227F00
-107227F00:lI105|H10722A948
-10722A948:lI114|H10722D060
-10722D060:lI116|H10722F4F8
-10722F4F8:lI117|H107231690
-107231690:lI97|H107233528
-107233528:lI108|H1072350C0
-1072350C0:lI95|H107236A08
-107236A08:lI108|H107238140
-107238140:lI105|H107239658
-107239658:lI115|H10723AA40
-10723AA40:lI116|H10723BBE0
-10723BBE0:lI95|H10723CBB0
-10723CBB0:lI119|H10723D9F0
-10723D9F0:lI120|H10723E6D0
-10723E6D0:lI46|H10723F290
-10723F290:lI98|H10723FCF0
-10723FCF0:lI101|H107240610
-107240610:lI97|H107240E70
-107240E70:lI109|N
-107214C58:lH107217FF0|N
-107217FF0:lI101|H10721B4E0
-10721B4E0:lI116|H10721EA30
-10721EA30:lI111|H107221EF0
-107221EF0:lI112|H107225098
-107225098:lI46|H107227EF0
-107227EF0:lI98|H10722A938
-10722A938:lI101|H10722D050
-10722D050:lI97|H10722F4E8
-10722F4E8:lI109|N
-107211940:Mn2:H107214C20,H107214C38
-107214C20:Mn2:H107217FB0,H107217FC0
-107217FB0:lH10721B4A0|N
-10721B4A0:lI111|H10721E9F0
-10721E9F0:lI98|H107221EB0
-107221EB0:lI115|H107225058
-107225058:lI101|H107227EB0
-107227EB0:lI114|H10722A8F8
-10722A8F8:lI118|H10722D010
-10722D010:lI101|H10722F4A8
-10722F4A8:lI114|H107231650
-107231650:lI95|H1072334E8
-1072334E8:lI119|H107235080
-107235080:lI120|H1072369C8
-1072369C8:lI46|H107238100
-107238100:lI98|H107239618
-107239618:lI101|H10723AA00
-10723AA00:lI97|H10723BBB0
-10723BBB0:lI109|N
-107217FC0:lH10721B4B0|N
-10721B4B0:lI99|H10721EA00
-10721EA00:lI100|H107221EC0
-107221EC0:lI118|H107225068
-107225068:lI95|H107227EC0
-107227EC0:lI116|H10722A908
-10722A908:lI97|H10722D020
-10722D020:lI98|H10722F4B8
-10722F4B8:lI108|H107231660
-107231660:lI101|H1072334F8
-1072334F8:lI95|H107235090
-107235090:lI119|H1072369D8
-1072369D8:lI120|H107238110
-107238110:lI46|H107239628
-107239628:lI98|H10723AA10
-10723AA10:lI101|H10723BBC0
-10723BBC0:lI97|H10723CB90
-10723CB90:lI109|N
-107214C38:lH107217FD0|N
-107217FD0:lI111|H10721B4C0
-10721B4C0:lI98|H10721EA10
-10721EA10:lI115|H107221ED0
-107221ED0:lI101|H107225078
-107225078:lI114|H107227ED0
-107227ED0:lI118|H10722A918
-10722A918:lI101|H10722D030
-10722D030:lI114|H10722F4C8
-10722F4C8:lI95|H107231670
-107231670:lI116|H107233508
-107233508:lI114|H1072350A0
-1072350A0:lI97|H1072369E8
-1072369E8:lI99|H107238120
-107238120:lI101|H107239638
-107239638:lI95|H10723AA20
-10723AA20:lI119|H10723BBD0
-10723BBD0:lI120|H10723CBA0
-10723CBA0:lI46|H10723D9E0
-10723D9E0:lI98|H10723E6C0
-10723E6C0:lI101|H10723F280
-10723F280:lI97|H10723FCE0
-10723FCE0:lI109|N
-107211930:Mn1:H107214C08
-107214C08:Mn2:H107217F90,H107217FA0
-107217F90:lH10721B480|N
-10721B480:lI111|H10721E9D0
-10721E9D0:lI98|H107221E90
-107221E90:lI115|H107225038
-107225038:lI101|H107227E90
-107227E90:lI114|H10722A8D8
-10722A8D8:lI118|H10722CFF0
-10722CFF0:lI101|H10722F488
-10722F488:lI114|H107231630
-107231630:lI95|H1072334C8
-1072334C8:lI112|H107235060
-107235060:lI114|H1072369A8
-1072369A8:lI111|H1072380E0
-1072380E0:lI99|H1072395F8
-1072395F8:lI105|H10723A9E0
-10723A9E0:lI110|H10723BB90
-10723BB90:lI102|H10723CB70
-10723CB70:lI111|H10723D9C0
-10723D9C0:lI46|H10723E6A0
-10723E6A0:lI98|H10723F260
-10723F260:lI101|H10723FCC0
-10723FCC0:lI97|H107240600
-107240600:lI109|N
-107217FA0:lH10721B490|N
-10721B490:lI111|H10721E9E0
-10721E9E0:lI98|H107221EA0
-107221EA0:lI115|H107225048
-107225048:lI101|H107227EA0
-107227EA0:lI114|H10722A8E8
-10722A8E8:lI118|H10722D000
-10722D000:lI101|H10722F498
-10722F498:lI114|H107231640
-107231640:lI95|H1072334D8
-1072334D8:lI112|H107235070
-107235070:lI101|H1072369B8
-1072369B8:lI114|H1072380F0
-1072380F0:lI102|H107239608
-107239608:lI95|H10723A9F0
-10723A9F0:lI119|H10723BBA0
-10723BBA0:lI120|H10723CB80
-10723CB80:lI46|H10723D9D0
-10723D9D0:lI98|H10723E6B0
-10723E6B0:lI101|H10723F270
-10723F270:lI97|H10723FCD0
-10723FCD0:lI109|N
-107211918:Mn2:H107214BE8,H107214BF8
-107214BE8:lH107217F70|N
-107217F70:lI111|H10721B460
-10721B460:lI98|H10721E9B0
-10721E9B0:lI115|H107221E70
-107221E70:lI101|H107225018
-107225018:lI114|H107227E70
-107227E70:lI118|H10722A8B8
-10722A8B8:lI101|H10722CFD0
-10722CFD0:lI114|H10722F468
-10722F468:lI95|H107231610
-107231610:lI112|H1072334A8
-1072334A8:lI114|H107235040
-107235040:lI111|H107236988
-107236988:lI95|H1072380C0
-1072380C0:lI119|H1072395D8
-1072395D8:lI120|H10723A9C0
-10723A9C0:lI46|H10723BB80
-10723BB80:lI98|H10723CB60
-10723CB60:lI101|H10723D9B0
-10723D9B0:lI97|H10723E690
-10723E690:lI109|N
-107214BF8:lH107217F80|N
-107217F80:lI99|H10721B470
-10721B470:lI100|H10721E9C0
-10721E9C0:lI118|H107221E80
-107221E80:lI95|H107225028
-107225028:lI100|H107227E80
-107227E80:lI105|H10722A8C8
-10722A8C8:lI115|H10722CFE0
-10722CFE0:lI116|H10722F478
-10722F478:lI95|H107231620
-107231620:lI99|H1072334B8
-1072334B8:lI98|H107235050
-107235050:lI46|H107236998
-107236998:lI98|H1072380D0
-1072380D0:lI101|H1072395E8
-1072395E8:lI97|H10723A9D0
-10723A9D0:lI109|N
-107211900:Mn2:H107214BC8,H107214BD8
-107214BC8:lH107217F50|N
-107217F50:lI116|H10721B440
-10721B440:lI116|H10721E990
-10721E990:lI98|H107221E50
-107221E50:lI46|H107224FF8
-107224FF8:lI98|H107227E50
-107227E50:lI101|H10722A898
-10722A898:lI97|H10722CFB0
-10722CFB0:lI109|N
-107214BD8:lH107217F60|N
-107217F60:lI111|H10721B450
-10721B450:lI98|H10721E9A0
-10721E9A0:lI115|H107221E60
-107221E60:lI101|H107225008
-107225008:lI114|H107227E60
-107227E60:lI118|H10722A8A8
-10722A8A8:lI101|H10722CFC0
-10722CFC0:lI114|H10722F458
-10722F458:lI95|H107231600
-107231600:lI115|H107233498
-107233498:lI111|H107235030
-107235030:lI99|H107236978
-107236978:lI107|H1072380B0
-1072380B0:lI95|H1072395C8
-1072395C8:lI119|H10723A9B0
-10723A9B0:lI120|H10723BB70
-10723BB70:lI46|H10723CB50
-10723CB50:lI98|H10723D9A0
-10723D9A0:lI101|H10723E680
-10723E680:lI97|H10723F250
-10723F250:lI109|N
-1072118C0:Mn7:H107214B58,H107214B68,H107214B78,H107214B88,H107214B98,H107214BA8,H107214BB8
-107214B58:lH107217EE0|N
-107217EE0:lI99|H10721B3D0
-10721B3D0:lI100|H10721E920
-10721E920:lI118|H107221DE0
-107221DE0:lI95|H107224F88
-107224F88:lI119|H107227DE0
-107227DE0:lI120|H10722A828
-10722A828:lI46|H10722CF40
-10722CF40:lI98|H10722F3E8
-10722F3E8:lI101|H107231590
-107231590:lI97|H107233428
-107233428:lI109|N
-107214BB8:lH107217F40|N
-107217F40:lI99|H10721B430
-10721B430:lI100|H10721E980
-10721E980:lI118|H107221E40
-107221E40:lI95|H107224FE8
-107224FE8:lI105|H107227E40
-107227E40:lI110|H10722A888
-10722A888:lI102|H10722CFA0
-10722CFA0:lI111|H10722F448
-10722F448:lI95|H1072315F0
-1072315F0:lI119|H107233488
-107233488:lI120|H107235020
-107235020:lI46|H107236968
-107236968:lI98|H1072380A0
-1072380A0:lI101|H1072395B8
-1072395B8:lI97|H10723A9A0
-10723A9A0:lI109|N
-107214BA8:lH107217F30|N
-107217F30:lI111|H10721B420
-10721B420:lI98|H10721E970
-10721E970:lI115|H107221E30
-107221E30:lI101|H107224FD8
-107224FD8:lI114|H107227E30
-107227E30:lI118|H10722A878
-10722A878:lI101|H10722CF90
-10722CF90:lI114|H10722F438
-10722F438:lI46|H1072315E0
-1072315E0:lI97|H107233478
-107233478:lI112|H107235010
-107235010:lI112|H107236958
-107236958:lI117|H107238090
-107238090:lI112|N
-107214B98:lH107217F20|N
-107217F20:lI99|H10721B410
-10721B410:lI100|H10721E960
-10721E960:lI118|H107221E20
-107221E20:lI95|H107224FC8
-107224FC8:lI105|H107227E20
-107227E20:lI110|H10722A868
-10722A868:lI116|H10722CF80
-10722CF80:lI95|H10722F428
-10722F428:lI116|H1072315D0
-1072315D0:lI97|H107233468
-107233468:lI98|H107235000
-107235000:lI95|H107236948
-107236948:lI99|H107238080
-107238080:lI98|H1072395A8
-1072395A8:lI46|H10723A990
-10723A990:lI98|H10723BB60
-10723BB60:lI101|H10723CB40
-10723CB40:lI97|H10723D990
-10723D990:lI109|N
-107214B88:lH107217F10|N
-107217F10:lI99|H10721B400
-10721B400:lI100|H10721E950
-10721E950:lI118|H107221E10
-107221E10:lI95|H107224FB8
-107224FB8:lI116|H107227E10
-107227E10:lI105|H10722A858
-10722A858:lI109|H10722CF70
-10722CF70:lI101|H10722F418
-10722F418:lI114|H1072315C0
-1072315C0:lI95|H107233458
-107233458:lI99|H107234FF0
-107234FF0:lI98|H107236938
-107236938:lI46|H107238070
-107238070:lI98|H107239598
-107239598:lI101|H10723A980
-10723A980:lI97|H10723BB50
-10723BB50:lI109|N
-107214B78:lH107217F00|N
-107217F00:lI99|H10721B3F0
-10721B3F0:lI114|H10721E940
-10721E940:lI97|H107221E00
-107221E00:lI115|H107224FA8
-107224FA8:lI104|H107227E00
-107227E00:lI100|H10722A848
-10722A848:lI117|H10722CF60
-10722CF60:lI109|H10722F408
-10722F408:lI112|H1072315B0
-1072315B0:lI95|H107233448
-107233448:lI118|H107234FE0
-107234FE0:lI105|H107236928
-107236928:lI101|H107238060
-107238060:lI119|H107239588
-107239588:lI101|H10723A970
-10723A970:lI114|H10723BB40
-10723BB40:lI46|H10723CB30
-10723CB30:lI98|H10723D980
-10723D980:lI101|H10723E670
-10723E670:lI97|H10723F240
-10723F240:lI109|N
-107214B68:lH107217EF0|N
-107217EF0:lI99|H10721B3E0
-10721B3E0:lI100|H10721E930
-10721E930:lI118|H107221DF0
-107221DF0:lI95|H107224F98
-107224F98:lI115|H107227DF0
-107227DF0:lI99|H10722A838
-10722A838:lI104|H10722CF50
-10722CF50:lI101|H10722F3F8
-10722F3F8:lI100|H1072315A0
-1072315A0:lI95|H107233438
-107233438:lI99|H107234FD0
-107234FD0:lI98|H107236918
-107236918:lI46|H107238050
-107238050:lI98|H107239578
-107239578:lI101|H10723A960
-10723A960:lI97|H10723BB30
-10723BB30:lI109|N
-1072118B0:lH107214B48|N
-107214B48:lI99|H107217ED0
-107217ED0:lI100|H10721B3C0
-10721B3C0:lI118|H10721E910
-10721E910:lI95|H107221DD0
-107221DD0:lI109|H107224F78
-107224F78:lI101|H107227DD0
-107227DD0:lI109|H10722A818
-10722A818:lI95|H10722CF30
-10722CF30:lI99|H10722F3D8
-10722F3D8:lI98|H107231580
-107231580:lI46|H107233418
-107233418:lI98|H107234FC0
-107234FC0:lI101|H107236908
-107236908:lI97|H107238040
-107238040:lI109|N
-107211890:Mn3:H107214B18,H107214B28,H107214B38
-107214B18:lH107217EA0|N
-107217EA0:lI111|H10721B390
-10721B390:lI98|H10721E8E0
-10721E8E0:lI115|H107221DA0
-107221DA0:lI101|H107224F48
-107224F48:lI114|H107227DA0
-107227DA0:lI118|H10722A7E8
-10722A7E8:lI101|H10722CF00
-10722CF00:lI114|H10722F3A8
-10722F3A8:lI95|H107231550
-107231550:lI112|H1072333E8
-1072333E8:lI111|H107234FA0
-107234FA0:lI114|H1072368E8
-1072368E8:lI116|H107238020
-107238020:lI95|H107239558
-107239558:lI119|H10723A940
-10723A940:lI120|H10723BB20
-10723BB20:lI46|H10723CB20
-10723CB20:lI98|H10723D970
-10723D970:lI101|H10723E660
-10723E660:lI97|H10723F230
-10723F230:lI109|N
-107214B38:lH107217EC0|N
-107217EC0:lI116|H10721B3B0
-10721B3B0:lI116|H10721E900
-10721E900:lI98|H107221DC0
-107221DC0:lI95|H107224F68
-107224F68:lI101|H107227DC0
-107227DC0:lI116|H10722A808
-10722A808:lI46|H10722CF20
-10722CF20:lI98|H10722F3C8
-10722F3C8:lI101|H107231570
-107231570:lI97|H107233408
-107233408:lI109|N
-107214B28:lH107217EB0|N
-107217EB0:lI99|H10721B3A0
-10721B3A0:lI100|H10721E8F0
-10721E8F0:lI118|H107221DB0
-107221DB0:lI95|H107224F58
-107224F58:lI97|H107227DB0
-107227DB0:lI116|H10722A7F8
-10722A7F8:lI111|H10722CF10
-10722CF10:lI109|H10722F3B8
-10722F3B8:lI95|H107231560
-107231560:lI99|H1072333F8
-1072333F8:lI98|H107234FB0
-107234FB0:lI46|H1072368F8
-1072368F8:lI98|H107238030
-107238030:lI101|H107239568
-107239568:lI97|H10723A950
-10723A950:lI109|N
-107211878:Mn2:H107214AF8,H107214B08
-107214AF8:lH107217E80|N
-107217E80:lI99|H10721B370
-10721B370:lI100|H10721E8C0
-10721E8C0:lI118|H107221D80
-107221D80:lI95|H107224F28
-107224F28:lI100|H107227D80
-107227D80:lI101|H10722A7C8
-10722A7C8:lI116|H10722CEE0
-10722CEE0:lI97|H10722F388
-10722F388:lI105|H107231530
-107231530:lI108|H1072333C8
-1072333C8:lI95|H107234F80
-107234F80:lI119|H1072368C8
-1072368C8:lI120|H107238000
-107238000:lI46|H107239538
-107239538:lI98|H10723A930
-10723A930:lI101|H10723BB10
-10723BB10:lI97|H10723CB10
-10723CB10:lI109|N
-107214B08:lH107217E90|N
-107217E90:lI99|H10721B380
-10721B380:lI100|H10721E8D0
-10721E8D0:lI118|H107221D90
-107221D90:lI95|H107224F38
-107224F38:lI102|H107227D90
-107227D90:lI117|H10722A7D8
-10722A7D8:lI110|H10722CEF0
-10722CEF0:lI95|H10722F398
-10722F398:lI99|H107231540
-107231540:lI98|H1072333D8
-1072333D8:lI46|H107234F90
-107234F90:lI98|H1072368D8
-1072368D8:lI101|H107238010
-107238010:lI97|H107239548
-107239548:lI109|N
-107211848:Mn5:H107214AA8,H107214AB8,H107214AC8,H107214AD8,H107214AE8
-107214AA8:lH107217E30|N
-107217E30:lI99|H10721B320
-10721B320:lI100|H10721E870
-10721E870:lI118|H107221D30
-107221D30:lI95|H107224ED8
-107224ED8:lI104|H107227D30
-107227D30:lI116|H10722A778
-10722A778:lI109|H10722CE90
-10722CE90:lI108|H10722F338
-10722F338:lI95|H1072314E0
-1072314E0:lI119|H107233378
-107233378:lI120|H107234F30
-107234F30:lI46|H107236888
-107236888:lI98|H107237FC0
-107237FC0:lI101|H1072394F8
-1072394F8:lI97|H10723A910
-10723A910:lI109|N
-107214AE8:lH107217E70|N
-107217E70:lI101|H10721B360
-10721B360:lI116|H10721E8B0
-10721E8B0:lI111|H107221D70
-107221D70:lI112|H107224F18
-107224F18:lI95|H107227D70
-107227D70:lI116|H10722A7B8
-10722A7B8:lI114|H10722CED0
-10722CED0:lI46|H10722F378
-10722F378:lI98|H107231520
-107231520:lI101|H1072333B8
-1072333B8:lI97|H107234F70
-107234F70:lI109|N
-107214AD8:lH107217E60|N
-107217E60:lI99|H10721B350
-10721B350:lI100|H10721E8A0
-10721E8A0:lI118|H107221D60
-107221D60:lI95|H107224F08
-107224F08:lI98|H107227D60
-107227D60:lI105|H10722A7A8
-10722A7A8:lI110|H10722CEC0
-10722CEC0:lI95|H10722F368
-10722F368:lI99|H107231510
-107231510:lI98|H1072333A8
-1072333A8:lI46|H107234F60
-107234F60:lI98|H1072368B8
-1072368B8:lI101|H107237FF0
-107237FF0:lI97|H107239528
-107239528:lI109|N
-107214AC8:lH107217E50|N
-107217E50:lI99|H10721B340
-10721B340:lI100|H10721E890
-10721E890:lI118|H107221D50
-107221D50:lI95|H107224EF8
-107224EF8:lI101|H107227D50
-107227D50:lI116|H10722A798
-10722A798:lI115|H10722CEB0
-10722CEB0:lI95|H10722F358
-10722F358:lI99|H107231500
-107231500:lI98|H107233398
-107233398:lI46|H107234F50
-107234F50:lI98|H1072368A8
-1072368A8:lI101|H107237FE0
-107237FE0:lI97|H107239518
-107239518:lI109|N
-107214AB8:lH107217E40|N
-107217E40:lI99|H10721B330
-10721B330:lI100|H10721E880
-10721E880:lI118|H107221D40
-107221D40:lI95|H107224EE8
-107224EE8:lI116|H107227D40
-107227D40:lI101|H10722A788
-10722A788:lI114|H10722CEA0
-10722CEA0:lI109|H10722F348
-10722F348:lI95|H1072314F0
-1072314F0:lI99|H107233388
-107233388:lI98|H107234F40
-107234F40:lI46|H107236898
-107236898:lI98|H107237FD0
-107237FD0:lI101|H107239508
-107239508:lI97|H10723A920
-10723A920:lI109|N
-107211830:Mn2:H107214A88,H107214A98
-107214A88:lH107217E10|N
-107217E10:lI111|H10721B300
-10721B300:lI98|H10721E850
-10721E850:lI115|H107221D10
-107221D10:lI101|H107224EB8
-107224EB8:lI114|H107227D10
-107227D10:lI118|H10722A758
-10722A758:lI101|H10722CE70
-10722CE70:lI114|H10722F318
-10722F318:lI95|H1072314C0
-1072314C0:lI108|H107233358
-107233358:lI105|H107234F10
-107234F10:lI98|H107236868
-107236868:lI46|H107237FA0
-107237FA0:lI98|H1072394D8
-1072394D8:lI101|H10723A8F0
-10723A8F0:lI97|H10723BAF0
-10723BAF0:lI109|N
-107214A98:lH107217E20|N
-107217E20:lI111|H10721B310
-10721B310:lI98|H10721E860
-10721E860:lI115|H107221D20
-107221D20:lI101|H107224EC8
-107224EC8:lI114|H107227D20
-107227D20:lI118|H10722A768
-10722A768:lI101|H10722CE80
-10722CE80:lI114|H10722F328
-10722F328:lI95|H1072314D0
-1072314D0:lI97|H107233368
-107233368:lI112|H107234F20
-107234F20:lI112|H107236878
-107236878:lI95|H107237FB0
-107237FB0:lI119|H1072394E8
-1072394E8:lI120|H10723A900
-10723A900:lI46|H10723BB00
-10723BB00:lI98|H10723CB00
-10723CB00:lI101|H10723D960
-10723D960:lI97|H10723E650
-10723E650:lI109|N
-10720E658:lI47|H107211808
-107211808:lI111|H107214A58
-107214A58:lI112|H107217DE0
-107217DE0:lI116|H10721B2D0
-10721B2D0:lI47|H10721E820
-10721E820:lI104|H107221CE0
-107221CE0:lI111|H107224E88
-107224E88:lI109|H107227CE0
-107227CE0:lI101|H10722A728
-10722A728:lI98|H10722CE40
-10722CE40:lI114|H10722F2E8
-10722F2E8:lI101|H107231490
-107231490:lI119|H107233328
-107233328:lI47|H107234EE0
-107234EE0:lI67|H107236838
-107236838:lI101|H107237F70
-107237F70:lI108|H1072394A8
-1072394A8:lI108|H10723A8D0
-10723A8D0:lI97|H10723BAE0
-10723BAE0:lI114|H10723CAF0
-10723CAF0:lI47|H10723D950
-10723D950:lI101|H10723E640
-10723E640:lI114|H10723F220
-10723F220:lI108|H10723FCB0
-10723FCB0:lI97|H1072405F0
-1072405F0:lI110|H107240E60
-107240E60:lI103|H1072415F0
-1072415F0:lI47|H107241D10
-107241D10:lI50|H1072423D0
-1072423D0:lI54|H107242A30
-107242A30:lI46|H107243010
-107243010:lI48|H107243580
-107243580:lI46|H107243AC0
-107243AC0:lI50|H107243FB0
-107243FB0:lI47|H1072444A0
-1072444A0:lI108|H107244950
-107244950:lI105|H107244DC0
-107244DC0:lI98|H107245220
-107245220:lI47|H107245670
-107245670:lI101|H107245A70
-107245A70:lI114|H107245E20
-107245E20:lI108|H1072461B0
-1072461B0:lI97|H107246540
-107246540:lI110|H1072468D0
-1072468D0:lI103|H107246C60
-107246C60:lI47|H107246F90
-107246F90:lI108|H1072472B0
-1072472B0:lI105|H1072475C0
-1072475C0:lI98|H1072478C0
-1072478C0:lI47|H107247BC0
-107247BC0:lI111|H107247EA0
-107247EA0:lI98|H107248160
-107248160:lI115|H107248420
-107248420:lI101|H1072486D0
-1072486D0:lI114|H107248980
-107248980:lI118|H107248C00
-107248C00:lI101|H107248E70
-107248E70:lI114|H1072490E0
-1072490E0:lI45|H107249340
-107249340:lI50|H1072495A0
-1072495A0:lI46|H1072497F0
-1072497F0:lI49|H107249A10
-107249A10:lI53|H107249C20
-107249C20:lI47|H280052C20
-10720B448:lH10720E6F0|H10720E708
-10720E6F0:t2:H1072119D8,H1072119E8
-1072119E8:Mh21:F:H107214D30,H107214D50,H107214D88,H107214DA0,H107214DB8,H107214DD8,H107214DE8,H107214DF8,H107214E20,H107214E30,H107214E48,H107214E58,H107214E68,H107214E78,H107214E98
-107214D30:Mn3:H1072180E0,H1072180F0,H107218100
-1072180E0:lH10721B5D0|N
-10721B5D0:lI109|H10721EB20
-10721EB20:lI110|H107221FE0
-107221FE0:lI101|H107225188
-107225188:lI115|H107227FE0
-107227FE0:lI105|H10722AA28
-10722AA28:lI97|H10722D140
-10722D140:lI95|H10722F5D8
-10722F5D8:lI114|H107231770
-107231770:lI101|H107233608
-107233608:lI103|H1072351A0
-1072351A0:lI105|H107236AE8
-107236AE8:lI115|H1072381F0
-1072381F0:lI116|H107239708
-107239708:lI114|H10723AAE0
-10723AAE0:lI121|H10723BC80
-10723BC80:lI46|H10723CC50
-10723CC50:lI98|H10723DA80
-10723DA80:lI101|H10723E750
-10723E750:lI97|H10723F300
-10723F300:lI109|N
-107218100:lH10721B5F0|N
-10721B5F0:lI109|H10721EB40
-10721EB40:lI110|H107222000
-107222000:lI101|H1072251A8
-1072251A8:lI115|H107228000
-107228000:lI105|H10722AA48
-10722AA48:lI97|H10722D160
-10722D160:lI95|H10722F5F8
-10722F5F8:lI98|H107231790
-107231790:lI117|H107233628
-107233628:lI112|H1072351C0
-1072351C0:lI46|H107236B08
-107236B08:lI98|H107238210
-107238210:lI101|H107239728
-107239728:lI97|H10723AB00
-10723AB00:lI109|N
-1072180F0:lH10721B5E0|N
-10721B5E0:lI109|H10721EB30
-10721EB30:lI110|H107221FF0
-107221FF0:lI101|H107225198
-107225198:lI115|H107227FF0
-107227FF0:lI105|H10722AA38
-10722AA38:lI97|H10722D150
-10722D150:lI95|H10722F5E8
-10722F5E8:lI99|H107231780
-107231780:lI104|H107233618
-107233618:lI101|H1072351B0
-1072351B0:lI99|H107236AF8
-107236AF8:lI107|H107238200
-107238200:lI112|H107239718
-107239718:lI111|H10723AAF0
-10723AAF0:lI105|H10723BC90
-10723BC90:lI110|H10723CC60
-10723CC60:lI116|H10723DA90
-10723DA90:lI46|H10723E760
-10723E760:lI98|H10723F310
-10723F310:lI101|H10723FD60
-10723FD60:lI97|H107240660
-107240660:lI109|N
-107214E98:Mn2:H1072182D0,H1072182E0
-1072182D0:lH10721B7C0|N
-10721B7C0:lI109|H10721ED10
-10721ED10:lI110|H1072221D0
-1072221D0:lI101|H107225378
-107225378:lI115|H1072281D0
-1072281D0:lI105|H10722AC18
-10722AC18:lI97|H10722D330
-10722D330:lI95|H10722F7C8
-10722F7C8:lI108|H107231960
-107231960:lI97|H1072337E8
-1072337E8:lI116|H107235380
-107235380:lI101|H107236CB8
-107236CB8:lI95|H1072383B0
-1072383B0:lI108|H1072398C8
-1072398C8:lI111|H10723AC80
-10723AC80:lI97|H10723BDB0
-10723BDB0:lI100|H10723CD70
-10723CD70:lI101|H10723DB70
-10723DB70:lI114|H10723E7F0
-10723E7F0:lI46|H10723F370
-10723F370:lI98|H10723FDA0
-10723FDA0:lI101|H107240690
-107240690:lI97|H107240EB0
-107240EB0:lI109|N
-1072182E0:lH10721B7D0|N
-10721B7D0:lI109|H10721ED20
-10721ED20:lI110|H1072221E0
-1072221E0:lI101|H107225388
-107225388:lI115|H1072281E0
-1072281E0:lI105|H10722AC28
-10722AC28:lI97|H10722D340
-10722D340:lI95|H10722F7D8
-10722F7D8:lI98|H107231970
-107231970:lI97|H1072337F8
-1072337F8:lI99|H107235390
-107235390:lI107|H107236CC8
-107236CC8:lI101|H1072383C0
-1072383C0:lI110|H1072398D8
-1072398D8:lI100|H10723AC90
-10723AC90:lI95|H10723BDC0
-10723BDC0:lI116|H10723CD80
-10723CD80:lI121|H10723DB80
-10723DB80:lI112|H10723E800
-10723E800:lI101|H10723F380
-10723F380:lI46|H10723FDB0
-10723FDB0:lI98|H1072406A0
-1072406A0:lI101|H107240EC0
-107240EC0:lI97|H107241630
-107241630:lI109|N
-107214E78:Mn3:H1072182A0,H1072182B0,H1072182C0
-1072182A0:lH10721B790|N
-10721B790:lI109|H10721ECE0
-10721ECE0:lI110|H1072221A0
-1072221A0:lI101|H107225348
-107225348:lI115|H1072281A0
-1072281A0:lI105|H10722ABE8
-10722ABE8:lI97|H10722D300
-10722D300:lI95|H10722F798
-10722F798:lI99|H107231930
-107231930:lI104|H1072337B8
-1072337B8:lI101|H107235350
-107235350:lI99|H107236C88
-107236C88:lI107|H107238380
-107238380:lI112|H107239898
-107239898:lI111|H10723AC60
-10723AC60:lI105|H10723BD90
-10723BD90:lI110|H10723CD50
-10723CD50:lI116|H10723DB50
-10723DB50:lI95|H10723E7E0
-10723E7E0:lI115|H10723F360
-10723F360:lI117|H10723FD90
-10723FD90:lI112|H107240680
-107240680:lI46|H107240EA0
-107240EA0:lI98|H107241620
-107241620:lI101|H107241D40
-107241D40:lI97|H107242400
-107242400:lI109|N
-1072182C0:lH10721B7B0|N
-10721B7B0:lI109|H10721ED00
-10721ED00:lI110|H1072221C0
-1072221C0:lI101|H107225368
-107225368:lI115|H1072281C0
-1072281C0:lI105|H10722AC08
-10722AC08:lI97|H10722D320
-10722D320:lI95|H10722F7B8
-10722F7B8:lI115|H107231950
-107231950:lI112|H1072337D8
-1072337D8:lI46|H107235370
-107235370:lI98|H107236CA8
-107236CA8:lI101|H1072383A0
-1072383A0:lI97|H1072398B8
-1072398B8:lI109|N
-1072182B0:lH10721B7A0|N
-10721B7A0:lI109|H10721ECF0
-10721ECF0:lI110|H1072221B0
-1072221B0:lI101|H107225358
-107225358:lI115|H1072281B0
-1072281B0:lI105|H10722ABF8
-10722ABF8:lI97|H10722D310
-10722D310:lI95|H10722F7A8
-10722F7A8:lI115|H107231940
-107231940:lI99|H1072337C8
-1072337C8:lI104|H107235360
-107235360:lI101|H107236C98
-107236C98:lI109|H107238390
-107238390:lI97|H1072398A8
-1072398A8:lI46|H10723AC70
-10723AC70:lI98|H10723BDA0
-10723BDA0:lI101|H10723CD60
-10723CD60:lI97|H10723DB60
-10723DB60:lI109|N
-107214E68:lH107218290|N
-107218290:lI109|H10721B780
-10721B780:lI110|H10721ECD0
-10721ECD0:lI101|H107222190
-107222190:lI115|H107225338
-107225338:lI105|H107228190
-107228190:lI97|H10722ABD8
-10722ABD8:lI95|H10722D2F0
-10722D2F0:lI116|H10722F788
-10722F788:lI101|H107231920
-107231920:lI120|H1072337A8
-1072337A8:lI116|H107235340
-107235340:lI46|H107236C78
-107236C78:lI98|H107238370
-107238370:lI101|H107239888
-107239888:lI97|H10723AC50
-10723AC50:lI109|N
-107214E58:lH107218280|N
-107218280:lI109|H10721B770
-10721B770:lI110|H10721ECC0
-10721ECC0:lI101|H107222180
-107222180:lI115|H107225328
-107225328:lI105|H107228180
-107228180:lI97|H10722ABC8
-10722ABC8:lI95|H10722D2E0
-10722D2E0:lI99|H10722F778
-10722F778:lI111|H107231910
-107231910:lI110|H107233798
-107233798:lI116|H107235330
-107235330:lI114|H107236C68
-107236C68:lI111|H107238360
-107238360:lI108|H107239878
-107239878:lI108|H10723AC40
-10723AC40:lI101|H10723BD80
-10723BD80:lI114|H10723CD40
-10723CD40:lI46|H10723DB40
-10723DB40:lI98|H10723E7D0
-10723E7D0:lI101|H10723F350
-10723F350:lI97|H10723FD80
-10723FD80:lI109|N
-107214E48:lH107218270|N
-107218270:lI109|H10721B760
-10721B760:lI110|H10721ECB0
-10721ECB0:lI101|H107222170
-107222170:lI115|H107225318
-107225318:lI105|H107228170
-107228170:lI97|H10722ABB8
-10722ABB8:lI95|H10722D2D0
-10722D2D0:lI108|H10722F768
-10722F768:lI111|H107231900
-107231900:lI99|H107233788
-107233788:lI107|H107235320
-107235320:lI101|H107236C58
-107236C58:lI114|H107238350
-107238350:lI46|H107239868
-107239868:lI98|H10723AC30
-10723AC30:lI101|H10723BD70
-10723BD70:lI97|H10723CD30
-10723CD30:lI109|N
-107214E30:Mn2:H107218250,H107218260
-107218250:lH10721B740|N
-10721B740:lI109|H10721EC90
-10721EC90:lI110|H107222150
-107222150:lI101|H1072252F8
-1072252F8:lI115|H107228150
-107228150:lI105|H10722AB98
-10722AB98:lI97|H10722D2B0
-10722D2B0:lI95|H10722F748
-10722F748:lI107|H1072318E0
-1072318E0:lI101|H107233768
-107233768:lI114|H107235300
-107235300:lI110|H107236C38
-107236C38:lI101|H107238330
-107238330:lI108|H107239848
-107239848:lI95|H10723AC10
-10723AC10:lI115|H10723BD50
-10723BD50:lI117|H10723CD20
-10723CD20:lI112|H10723DB30
-10723DB30:lI46|H10723E7C0
-10723E7C0:lI98|H10723F340
-10723F340:lI101|H10723FD70
-10723FD70:lI97|H107240670
-107240670:lI109|N
-107218260:lH10721B750|N
-10721B750:lI109|H10721ECA0
-10721ECA0:lI110|H107222160
-107222160:lI101|H107225308
-107225308:lI115|H107228160
-107228160:lI105|H10722ABA8
-10722ABA8:lI97|H10722D2C0
-10722D2C0:lI95|H10722F758
-10722F758:lI102|H1072318F0
-1072318F0:lI114|H107233778
-107233778:lI97|H107235310
-107235310:lI103|H107236C48
-107236C48:lI46|H107238340
-107238340:lI98|H107239858
-107239858:lI101|H10723AC20
-10723AC20:lI97|H10723BD60
-10723BD60:lI109|N
-107214E20:lH107218240|N
-107218240:lI109|H10721B730
-10721B730:lI110|H10721EC80
-10721EC80:lI101|H107222140
-107222140:lI115|H1072252E8
-1072252E8:lI105|H107228140
-107228140:lI97|H10722AB88
-10722AB88:lI95|H10722D2A0
-10722D2A0:lI102|H10722F738
-10722F738:lI114|H1072318D0
-1072318D0:lI97|H107233758
-107233758:lI103|H1072352F0
-1072352F0:lI95|H107236C28
-107236C28:lI104|H107238320
-107238320:lI97|H107239838
-107239838:lI115|H10723AC00
-10723AC00:lI104|H10723BD40
-10723BD40:lI46|H10723CD10
-10723CD10:lI98|H10723DB20
-10723DB20:lI101|H10723E7B0
-10723E7B0:lI97|H10723F330
-10723F330:lI109|N
-107214DF8:Mn4:H107218200,H107218210,H107218220,H107218230
-107218200:lH10721B6F0|N
-10721B6F0:lI109|H10721EC40
-10721EC40:lI110|H107222100
-107222100:lI101|H1072252A8
-1072252A8:lI115|H107228100
-107228100:lI105|H10722AB48
-10722AB48:lI97|H10722D260
-10722D260:lI95|H10722F6F8
-10722F6F8:lI116|H107231890
-107231890:lI109|H107233718
-107233718:lI46|H1072352B0
-1072352B0:lI98|H107236BE8
-107236BE8:lI101|H1072382E0
-1072382E0:lI97|H1072397F8
-1072397F8:lI109|N
-107218230:lH10721B720|N
-10721B720:lI109|H10721EC70
-10721EC70:lI110|H107222130
-107222130:lI101|H1072252D8
-1072252D8:lI115|H107228130
-107228130:lI105|H10722AB78
-10722AB78:lI97|H10722D290
-10722D290:lI95|H10722F728
-10722F728:lI100|H1072318C0
-1072318C0:lI117|H107233748
-107233748:lI109|H1072352E0
-1072352E0:lI112|H107236C18
-107236C18:lI101|H107238310
-107238310:lI114|H107239828
-107239828:lI46|H10723ABF0
-10723ABF0:lI98|H10723BD30
-10723BD30:lI101|H10723CD00
-10723CD00:lI97|H10723DB10
-10723DB10:lI109|N
-107218220:lH10721B710|N
-10721B710:lI109|H10721EC60
-10721EC60:lI110|H107222120
-107222120:lI101|H1072252C8
-1072252C8:lI115|H107228120
-107228120:lI105|H10722AB68
-10722AB68:lI97|H10722D280
-10722D280:lI95|H10722F718
-10722F718:lI101|H1072318B0
-1072318B0:lI118|H107233738
-107233738:lI101|H1072352D0
-1072352D0:lI110|H107236C08
-107236C08:lI116|H107238300
-107238300:lI46|H107239818
-107239818:lI98|H10723ABE0
-10723ABE0:lI101|H10723BD20
-10723BD20:lI97|H10723CCF0
-10723CCF0:lI109|N
-107218210:lH10721B700|N
-10721B700:lI109|H10721EC50
-10721EC50:lI110|H107222110
-107222110:lI101|H1072252B8
-1072252B8:lI115|H107228110
-107228110:lI105|H10722AB58
-10722AB58:lI97|H10722D270
-10722D270:lI95|H10722F708
-10722F708:lI98|H1072318A0
-1072318A0:lI97|H107233728
-107233728:lI99|H1072352C0
-1072352C0:lI107|H107236BF8
-107236BF8:lI117|H1072382F0
-1072382F0:lI112|H107239808
-107239808:lI46|H10723ABD0
-10723ABD0:lI98|H10723BD10
-10723BD10:lI101|H10723CCE0
-10723CCE0:lI97|H10723DB00
-10723DB00:lI109|N
-107214DE8:lH1072181F0|N
-1072181F0:lI109|H10721B6E0
-10721B6E0:lI110|H10721EC30
-10721EC30:lI101|H1072220F0
-1072220F0:lI115|H107225298
-107225298:lI105|H1072280F0
-1072280F0:lI97|H10722AB38
-10722AB38:lI46|H10722D250
-10722D250:lI97|H10722F6E8
-10722F6E8:lI112|H107231880
-107231880:lI112|N
-107214DD8:lH1072181E0|N
-1072181E0:lI109|H10721B6D0
-10721B6D0:lI110|H10721EC20
-10721EC20:lI101|H1072220E0
-1072220E0:lI115|H107225288
-107225288:lI105|H1072280E0
-1072280E0:lI97|H10722AB28
-10722AB28:lI95|H10722D240
-10722D240:lI115|H10722F6D8
-10722F6D8:lI110|H107231870
-107231870:lI109|H107233708
-107233708:lI112|H1072352A0
-1072352A0:lI95|H107236BD8
-107236BD8:lI104|H1072382D0
-1072382D0:lI111|H1072397E8
-1072397E8:lI111|H10723ABC0
-10723ABC0:lI107|H10723BD00
-10723BD00:lI46|H10723CCD0
-10723CCD0:lI98|H10723DAF0
-10723DAF0:lI101|H10723E7A0
-10723E7A0:lI97|H10723F320
-10723F320:lI109|N
-107214DB8:Mn3:H1072181B0,H1072181C0,H1072181D0
-1072181B0:lH10721B6A0|N
-10721B6A0:lI109|H10721EBF0
-10721EBF0:lI110|H1072220B0
-1072220B0:lI101|H107225258
-107225258:lI115|H1072280B0
-1072280B0:lI105|H10722AAF8
-10722AAF8:lI97|H10722D210
-10722D210:lI95|H10722F6A8
-10722F6A8:lI115|H107231840
-107231840:lI117|H1072336D8
-1072336D8:lI112|H107235270
-107235270:lI46|H107236BA8
-107236BA8:lI98|H1072382B0
-1072382B0:lI101|H1072397C8
-1072397C8:lI97|H10723ABA0
-10723ABA0:lI109|N
-1072181D0:lH10721B6C0|N
-10721B6C0:lI109|H10721EC10
-10721EC10:lI110|H1072220D0
-1072220D0:lI101|H107225278
-107225278:lI115|H1072280D0
-1072280D0:lI105|H10722AB18
-10722AB18:lI97|H10722D230
-10722D230:lI95|H10722F6C8
-10722F6C8:lI108|H107231860
-107231860:lI105|H1072336F8
-1072336F8:lI98|H107235290
-107235290:lI46|H107236BC8
-107236BC8:lI98|H1072382C0
-1072382C0:lI101|H1072397D8
-1072397D8:lI97|H10723ABB0
-10723ABB0:lI109|N
-1072181C0:lH10721B6B0|N
-10721B6B0:lI109|H10721EC00
-10721EC00:lI110|H1072220C0
-1072220C0:lI101|H107225268
-107225268:lI115|H1072280C0
-1072280C0:lI105|H10722AB08
-10722AB08:lI97|H10722D220
-10722D220:lI46|H10722F6B8
-10722F6B8:lI97|H107231850
-107231850:lI112|H1072336E8
-1072336E8:lI112|H107235280
-107235280:lI117|H107236BB8
-107236BB8:lI112|N
-107214DA0:Mn2:H107218190,H1072181A0
-107218190:lH10721B680|N
-10721B680:lI109|H10721EBD0
-10721EBD0:lI110|H107222090
-107222090:lI101|H107225238
-107225238:lI115|H107228090
-107228090:lI105|H10722AAD8
-10722AAD8:lI97|H10722D1F0
-10722D1F0:lI95|H10722F688
-10722F688:lI97|H107231820
-107231820:lI112|H1072336B8
-1072336B8:lI112|H107235250
-107235250:lI46|H107236B88
-107236B88:lI98|H107238290
-107238290:lI101|H1072397A8
-1072397A8:lI97|H10723AB80
-10723AB80:lI109|N
-1072181A0:lH10721B690|N
-10721B690:lI109|H10721EBE0
-10721EBE0:lI110|H1072220A0
-1072220A0:lI101|H107225248
-107225248:lI115|H1072280A0
-1072280A0:lI105|H10722AAE8
-10722AAE8:lI97|H10722D200
-10722D200:lI95|H10722F698
-10722F698:lI108|H107231830
-107231830:lI111|H1072336C8
-1072336C8:lI103|H107235260
-107235260:lI46|H107236B98
-107236B98:lI98|H1072382A0
-1072382A0:lI101|H1072397B8
-1072397B8:lI97|H10723AB90
-10723AB90:lI109|N
-107214D88:Mn2:H107218170,H107218180
-107218170:lH10721B660|N
-10721B660:lI109|H10721EBB0
-10721EBB0:lI110|H107222070
-107222070:lI101|H107225218
-107225218:lI115|H107228070
-107228070:lI105|H10722AAB8
-10722AAB8:lI97|H10722D1D0
-10722D1D0:lI95|H10722F668
-10722F668:lI115|H107231800
-107231800:lI117|H107233698
-107233698:lI98|H107235230
-107235230:lI115|H107236B68
-107236B68:lI99|H107238270
-107238270:lI114|H107239788
-107239788:lI46|H10723AB60
-10723AB60:lI98|H10723BCF0
-10723BCF0:lI101|H10723CCC0
-10723CCC0:lI97|H10723DAE0
-10723DAE0:lI109|N
-107218180:lH10721B670|N
-10721B670:lI109|H10721EBC0
-10721EBC0:lI110|H107222080
-107222080:lI101|H107225228
-107225228:lI115|H107228080
-107228080:lI105|H10722AAC8
-10722AAC8:lI97|H10722D1E0
-10722D1E0:lI95|H10722F678
-10722F678:lI114|H107231810
-107231810:lI112|H1072336A8
-1072336A8:lI99|H107235240
-107235240:lI46|H107236B78
-107236B78:lI98|H107238280
-107238280:lI101|H107239798
-107239798:lI97|H10723AB70
-10723AB70:lI109|N
-107214D50:Mn6:H107218110,H107218120,H107218130,H107218140,H107218150,H107218160
-107218110:lH10721B600|N
-10721B600:lI109|H10721EB50
-10721EB50:lI110|H107222010
-107222010:lI101|H1072251B8
-1072251B8:lI115|H107228010
-107228010:lI105|H10722AA58
-10722AA58:lI97|H10722D170
-10722D170:lI46|H10722F608
-10722F608:lI98|H1072317A0
-1072317A0:lI101|H107233638
-107233638:lI97|H1072351D0
-1072351D0:lI109|N
-107218160:lH10721B650|N
-10721B650:lI109|H10721EBA0
-10721EBA0:lI110|H107222060
-107222060:lI101|H107225208
-107225208:lI115|H107228060
-107228060:lI105|H10722AAA8
-10722AAA8:lI97|H10722D1C0
-10722D1C0:lI95|H10722F658
-10722F658:lI109|H1072317F0
-1072317F0:lI111|H107233688
-107233688:lI110|H107235220
-107235220:lI105|H107236B58
-107236B58:lI116|H107238260
-107238260:lI111|H107239778
-107239778:lI114|H10723AB50
-10723AB50:lI46|H10723BCE0
-10723BCE0:lI98|H10723CCB0
-10723CCB0:lI101|H10723DAD0
-10723DAD0:lI97|H10723E790
-10723E790:lI109|N
-107218150:lH10721B640|N
-10721B640:lI109|H10721EB90
-10721EB90:lI110|H107222050
-107222050:lI101|H1072251F8
-1072251F8:lI115|H107228050
-107228050:lI105|H10722AA98
-10722AA98:lI97|H10722D1B0
-10722D1B0:lI95|H10722F648
-10722F648:lI105|H1072317E0
-1072317E0:lI110|H107233678
-107233678:lI100|H107235210
-107235210:lI101|H107236B48
-107236B48:lI120|H107238250
-107238250:lI46|H107239768
-107239768:lI98|H10723AB40
-10723AB40:lI101|H10723BCD0
-10723BCD0:lI97|H10723CCA0
-10723CCA0:lI109|N
-107218140:lH10721B630|N
-10721B630:lI109|H10721EB80
-10721EB80:lI110|H107222040
-107222040:lI101|H1072251E8
-1072251E8:lI115|H107228040
-107228040:lI105|H10722AA88
-10722AA88:lI97|H10722D1A0
-10722D1A0:lI95|H10722F638
-10722F638:lI114|H1072317D0
-1072317D0:lI101|H107233668
-107233668:lI99|H107235200
-107235200:lI111|H107236B38
-107236B38:lI118|H107238240
-107238240:lI101|H107239758
-107239758:lI114|H10723AB30
-10723AB30:lI46|H10723BCC0
-10723BCC0:lI98|H10723CC90
-10723CC90:lI101|H10723DAC0
-10723DAC0:lI97|H10723E780
-10723E780:lI109|N
-107218130:lH10721B620|N
-10721B620:lI109|H10721EB70
-10721EB70:lI110|H107222030
-107222030:lI101|H1072251D8
-1072251D8:lI115|H107228030
-107228030:lI105|H10722AA78
-10722AA78:lI97|H10722D190
-10722D190:lI95|H10722F628
-10722F628:lI108|H1072317C0
-1072317C0:lI111|H107233658
-107233658:lI97|H1072351F0
-1072351F0:lI100|H107236B28
-107236B28:lI101|H107238230
-107238230:lI114|H107239748
-107239748:lI46|H10723AB20
-10723AB20:lI98|H10723BCB0
-10723BCB0:lI101|H10723CC80
-10723CC80:lI97|H10723DAB0
-10723DAB0:lI109|N
-107218120:lH10721B610|N
-10721B610:lI109|H10721EB60
-10721EB60:lI110|H107222020
-107222020:lI101|H1072251C8
-1072251C8:lI115|H107228020
-107228020:lI105|H10722AA68
-10722AA68:lI97|H10722D180
-10722D180:lI95|H10722F618
-10722F618:lI101|H1072317B0
-1072317B0:lI120|H107233648
-107233648:lI116|H1072351E0
-1072351E0:lI95|H107236B18
-107236B18:lI115|H107238220
-107238220:lI117|H107239738
-107239738:lI112|H10723AB10
-10723AB10:lI46|H10723BCA0
-10723BCA0:lI98|H10723CC70
-10723CC70:lI101|H10723DAA0
-10723DAA0:lI97|H10723E770
-10723E770:lI109|N
-1072119D8:lI47|H107214D20
-107214D20:lI111|H1072180D0
-1072180D0:lI112|H10721B5C0
-10721B5C0:lI116|H10721EB10
-10721EB10:lI47|H107221FD0
-107221FD0:lI104|H107225178
-107225178:lI111|H107227FD0
-107227FD0:lI109|H10722AA18
-10722AA18:lI101|H10722D130
-10722D130:lI98|H10722F5C8
-10722F5C8:lI114|H107231760
-107231760:lI101|H1072335F8
-1072335F8:lI119|H107235190
-107235190:lI47|H107236AD8
-107236AD8:lI67|H1072381E0
-1072381E0:lI101|H1072396F8
-1072396F8:lI108|H10723AAD0
-10723AAD0:lI108|H10723BC70
-10723BC70:lI97|H10723CC40
-10723CC40:lI114|H10723DA70
-10723DA70:lI47|H10723E740
-10723E740:lI101|H10723F2F0
-10723F2F0:lI114|H10723FD50
-10723FD50:lI108|H107240650
-107240650:lI97|H107240E90
-107240E90:lI110|H107241610
-107241610:lI103|H107241D30
-107241D30:lI47|H1072423F0
-1072423F0:lI50|H107242A50
-107242A50:lI54|H107243030
-107243030:lI46|H1072435A0
-1072435A0:lI48|H107243AD0
-107243AD0:lI46|H107243FC0
-107243FC0:lI50|H1072444B0
-1072444B0:lI47|H107244960
-107244960:lI108|H107244DD0
-107244DD0:lI105|H107245230
-107245230:lI98|H107245680
-107245680:lI47|H107245A80
-107245A80:lI101|H107245E30
-107245E30:lI114|H1072461C0
-1072461C0:lI108|H107246550
-107246550:lI97|H1072468E0
-1072468E0:lI110|H107246C70
-107246C70:lI103|H107246FA0
-107246FA0:lI47|H1072472C0
-1072472C0:lI108|H1072475D0
-1072475D0:lI105|H1072478D0
-1072478D0:lI98|H107247BD0
-107247BD0:lI47|H107247EB0
-107247EB0:lI109|H107248170
-107248170:lI110|H107248430
-107248430:lI101|H1072486E0
-1072486E0:lI115|H107248990
-107248990:lI105|H107248C10
-107248C10:lI97|H107248E80
-107248E80:lI45|H1072490F0
-1072490F0:lI52|H107249350
-107249350:lI46|H1072495B0
-1072495B0:lI50|H107249800
-107249800:lI50|H107249A20
-107249A20:lI47|H280052C20
-10720E708:lH107211A70|H107211A88
-107211A70:t2:H107214EB0,H107214EC0
-107214EC0:Mh43:F:H107218300,H107218320,H107218350,H107218378,H107218398,H1072183D0,H1072183E8,H107218420,H107218450,H107218470,H107218490,H1072184B8,H1072184C8,H1072184E8,H107218518
-107218300:Mn3:H10721B7F0,H10721B800,H10721B810
-10721B7F0:lH10721ED40|N
-10721ED40:lI109|H107222200
-107222200:lI101|H1072253A8
-1072253A8:lI103|H107228200
-107228200:lI97|H10722AC48
-10722AC48:lI99|H10722D360
-10722D360:lI111|H10722F7F8
-10722F7F8:lI95|H107231990
-107231990:lI116|H107233818
-107233818:lI101|H1072353B0
-1072353B0:lI120|H107236CE8
-107236CE8:lI116|H1072383E0
-1072383E0:lI95|H1072398F8
-1072398F8:lI112|H10723ACB0
-10723ACB0:lI97|H10723BDE0
-10723BDE0:lI114|H10723CDA0
-10723CDA0:lI115|H10723DBA0
-10723DBA0:lI101|H10723E820
-10723E820:lI114|H10723F3A0
-10723F3A0:lI95|H10723FDD0
-10723FDD0:lI118|H1072406C0
-1072406C0:lI51|H107240EE0
-107240EE0:lI46|H107241650
-107241650:lI98|H107241D60
-107241D60:lI101|H107242420
-107242420:lI97|H107242A70
-107242A70:lI109|N
-10721B810:lH10721ED60|N
-10721ED60:lI109|H107222220
-107222220:lI101|H1072253C8
-1072253C8:lI103|H107228220
-107228220:lI97|H10722AC68
-10722AC68:lI99|H10722D380
-10722D380:lI111|H10722F818
-10722F818:lI95|H1072319B0
-1072319B0:lI112|H107233838
-107233838:lI101|H1072353D0
-1072353D0:lI114|H107236D08
-107236D08:lI95|H107238400
-107238400:lI109|H107239918
-107239918:lI101|H10723ACD0
-10723ACD0:lI100|H10723BE00
-10723BE00:lI105|H10723CDC0
-10723CDC0:lI97|H10723DBC0
-10723DBC0:lI95|H10723E830
-10723E830:lI103|H10723F3B0
-10723F3B0:lI97|H10723FDE0
-10723FDE0:lI116|H1072406D0
-1072406D0:lI101|H107240EF0
-107240EF0:lI119|H107241660
-107241660:lI97|H107241D70
-107241D70:lI121|H107242430
-107242430:lI95|H107242A80
-107242A80:lI99|H107243050
-107243050:lI111|H1072435C0
-1072435C0:lI110|H107243AF0
-107243AF0:lI116|H107243FE0
-107243FE0:lI114|H1072444D0
-1072444D0:lI111|H107244980
-107244980:lI108|H107244DF0
-107244DF0:lI95|H107245250
-107245250:lI118|H1072456A0
-1072456A0:lI49|H107245AA0
-107245AA0:lI46|H107245E50
-107245E50:lI98|H1072461E0
-1072461E0:lI101|H107246570
-107246570:lI97|H107246900
-107246900:lI109|N
-10721B800:lH10721ED50|N
-10721ED50:lI109|H107222210
-107222210:lI101|H1072253B8
-1072253B8:lI103|H107228210
-107228210:lI97|H10722AC58
-10722AC58:lI99|H10722D370
-10722D370:lI111|H10722F808
-10722F808:lI95|H1072319A0
-1072319A0:lI116|H107233828
-107233828:lI105|H1072353C0
-1072353C0:lI109|H107236CF8
-107236CF8:lI101|H1072383F0
-1072383F0:lI114|H107239908
-107239908:lI46|H10723ACC0
-10723ACC0:lI98|H10723BDF0
-10723BDF0:lI101|H10723CDB0
-10723CDB0:lI97|H10723DBB0
-10723DBB0:lI109|N
-107218518:Mn5:H10721BB78,H10721BB88,H10721BB98,H10721BBA8,H10721BBB8
-10721BB78:lH10721F110|N
-10721F110:lI109|H1072225E0
-1072225E0:lI101|H107225788
-107225788:lI103|H1072285E0
-1072285E0:lI97|H10722B028
-10722B028:lI99|H10722D740
-10722D740:lI111|H10722FBD8
-10722FBD8:lI95|H107231D70
-107231D70:lI98|H107233BF8
-107233BF8:lI105|H107235790
-107235790:lI110|H1072370B8
-1072370B8:lI97|H1072387B0
-1072387B0:lI114|H107239CA8
-107239CA8:lI121|H10723B060
-10723B060:lI95|H10723C190
-10723C190:lI110|H10723D110
-10723D110:lI97|H10723DF10
-10723DF10:lI109|H10723EB70
-10723EB70:lI101|H10723F6D0
-10723F6D0:lI95|H1072400D0
-1072400D0:lI114|H1072409B0
-1072409B0:lI101|H107241190
-107241190:lI115|H1072418E0
-1072418E0:lI111|H107241FD0
-107241FD0:lI108|H107242640
-107242640:lI118|H107242C80
-107242C80:lI101|H107243210
-107243210:lI114|H107243760
-107243760:lI95|H107243C80
-107243C80:lI118|H107244170
-107244170:lI50|H107244620
-107244620:lI46|H107244A90
-107244A90:lI98|H107244F00
-107244F00:lI101|H107245350
-107245350:lI97|H107245750
-107245750:lI109|N
-10721BBB8:lH10721F150|N
-10721F150:lI109|H107222620
-107222620:lI101|H1072257C8
-1072257C8:lI103|H107228620
-107228620:lI97|H10722B068
-10722B068:lI99|H10722D780
-10722D780:lI111|H10722FC18
-10722FC18:lI95|H107231DB0
-107231DB0:lI101|H107233C38
-107233C38:lI114|H1072357D0
-1072357D0:lI108|H1072370F8
-1072370F8:lI95|H1072387F0
-1072387F0:lI100|H107239CE8
-107239CE8:lI105|H10723B0A0
-10723B0A0:lI115|H10723C1D0
-10723C1D0:lI116|H10723D150
-10723D150:lI95|H10723DF40
-10723DF40:lI101|H10723EBA0
-10723EBA0:lI110|H10723F700
-10723F700:lI99|H107240100
-107240100:lI111|H1072409E0
-1072409E0:lI100|H1072411C0
-1072411C0:lI101|H107241910
-107241910:lI114|H107242000
-107242000:lI46|H107242670
-107242670:lI98|H107242CB0
-107242CB0:lI101|H107243230
-107243230:lI97|H107243780
-107243780:lI109|N
-10721BBA8:lH10721F140|N
-10721F140:lI109|H107222610
-107222610:lI101|H1072257B8
-1072257B8:lI103|H107228610
-107228610:lI97|H10722B058
-10722B058:lI99|H10722D770
-10722D770:lI111|H10722FC08
-10722FC08:lI95|H107231DA0
-107231DA0:lI99|H107233C28
-107233C28:lI111|H1072357C0
-1072357C0:lI109|H1072370E8
-1072370E8:lI112|H1072387E0
-1072387E0:lI97|H107239CD8
-107239CD8:lI99|H10723B090
-10723B090:lI116|H10723C1C0
-10723C1C0:lI95|H10723D140
-10723D140:lI116|H10723DF30
-10723DF30:lI101|H10723EB90
-10723EB90:lI120|H10723F6F0
-10723F6F0:lI116|H1072400F0
-1072400F0:lI95|H1072409D0
-1072409D0:lI101|H1072411B0
-1072411B0:lI110|H107241900
-107241900:lI99|H107241FF0
-107241FF0:lI111|H107242660
-107242660:lI100|H107242CA0
-107242CA0:lI101|H107243220
-107243220:lI114|H107243770
-107243770:lI46|H107243C90
-107243C90:lI98|H107244180
-107244180:lI101|H107244630
-107244630:lI97|H107244AA0
-107244AA0:lI109|N
-10721BB98:lH10721F130|N
-10721F130:lI109|H107222600
-107222600:lI101|H1072257A8
-1072257A8:lI103|H107228600
-107228600:lI97|H10722B048
-10722B048:lI99|H10722D760
-10722D760:lI111|H10722FBF8
-10722FBF8:lI95|H107231D90
-107231D90:lI117|H107233C18
-107233C18:lI115|H1072357B0
-1072357B0:lI101|H1072370D8
-1072370D8:lI114|H1072387D0
-1072387D0:lI46|H107239CC8
-107239CC8:lI98|H10723B080
-10723B080:lI101|H10723C1B0
-10723C1B0:lI97|H10723D130
-10723D130:lI109|N
-10721BB88:lH10721F120|N
-10721F120:lI109|H1072225F0
-1072225F0:lI101|H107225798
-107225798:lI103|H1072285F0
-1072285F0:lI97|H10722B038
-10722B038:lI99|H10722D750
-10722D750:lI111|H10722FBE8
-10722FBE8:lI95|H107231D80
-107231D80:lI101|H107233C08
-107233C08:lI100|H1072357A0
-1072357A0:lI105|H1072370C8
-1072370C8:lI115|H1072387C0
-1072387C0:lI116|H107239CB8
-107239CB8:lI95|H10723B070
-10723B070:lI99|H10723C1A0
-10723C1A0:lI111|H10723D120
-10723D120:lI109|H10723DF20
-10723DF20:lI112|H10723EB80
-10723EB80:lI114|H10723F6E0
-10723F6E0:lI101|H1072400E0
-1072400E0:lI115|H1072409C0
-1072409C0:lI115|H1072411A0
-1072411A0:lI46|H1072418F0
-1072418F0:lI98|H107241FE0
-107241FE0:lI101|H107242650
-107242650:lI97|H107242C90
-107242C90:lI109|N
-1072184E8:Mn5:H10721BB20,H10721BB30,H10721BB40,H10721BB58,H10721BB68
-10721BB20:lH10721F0B0|N
-10721F0B0:lI109|H107222580
-107222580:lI101|H107225728
-107225728:lI103|H107228580
-107228580:lI97|H10722AFC8
-10722AFC8:lI99|H10722D6E0
-10722D6E0:lI111|H10722FB78
-10722FB78:lI95|H107231D10
-107231D10:lI116|H107233B98
-107233B98:lI99|H107235730
-107235730:lI112|H107237068
-107237068:lI46|H107238760
-107238760:lI98|H107239C58
-107239C58:lI101|H10723B010
-10723B010:lI97|H10723C140
-10723C140:lI109|N
-10721BB68:lH10721F100|N
-10721F100:lI109|H1072225D0
-1072225D0:lI101|H107225778
-107225778:lI103|H1072285D0
-1072285D0:lI97|H10722B018
-10722B018:lI99|H10722D730
-10722D730:lI111|H10722FBC8
-10722FBC8:lI95|H107231D60
-107231D60:lI102|H107233BE8
-107233BE8:lI105|H107235780
-107235780:lI108|H1072370A8
-1072370A8:lI116|H1072387A0
-1072387A0:lI101|H107239C98
-107239C98:lI114|H10723B050
-10723B050:lI46|H10723C180
-10723C180:lI98|H10723D100
-10723D100:lI101|H10723DF00
-10723DF00:lI97|H10723EB60
-10723EB60:lI109|N
-10721BB58:lH10721F0F0|N
-10721F0F0:lI109|H1072225C0
-1072225C0:lI101|H107225768
-107225768:lI103|H1072285C0
-1072285C0:lI97|H10722B008
-10722B008:lI99|H10722D720
-10722D720:lI111|H10722FBB8
-10722FBB8:lI95|H107231D50
-107231D50:lI116|H107233BD8
-107233BD8:lI114|H107235770
-107235770:lI97|H107237098
-107237098:lI110|H107238790
-107238790:lI115|H107239C88
-107239C88:lI95|H10723B040
-10723B040:lI115|H10723C170
-10723C170:lI101|H10723D0F0
-10723D0F0:lI110|H10723DEF0
-10723DEF0:lI100|H10723EB50
-10723EB50:lI101|H10723F6C0
-10723F6C0:lI114|H1072400C0
-1072400C0:lI46|H1072409A0
-1072409A0:lI98|H107241180
-107241180:lI101|H1072418D0
-1072418D0:lI97|H107241FC0
-107241FC0:lI109|N
-10721BB40:Mn2:H10721F0D0,H10721F0E0
-10721F0D0:lH1072225A0|N
-1072225A0:lI109|H107225748
-107225748:lI101|H1072285A0
-1072285A0:lI103|H10722AFE8
-10722AFE8:lI97|H10722D700
-10722D700:lI99|H10722FB98
-10722FB98:lI111|H107231D30
-107231D30:lI95|H107233BB8
-107233BB8:lI98|H107235750
-107235750:lI105|H107237078
-107237078:lI110|H107238770
-107238770:lI97|H107239C68
-107239C68:lI114|H10723B020
-10723B020:lI121|H10723C150
-10723C150:lI95|H10723D0D0
-10723D0D0:lI116|H10723DED0
-10723DED0:lI114|H10723EB30
-10723EB30:lI97|H10723F6A0
-10723F6A0:lI110|H1072400A0
-1072400A0:lI115|H107240980
-107240980:lI102|H107241160
-107241160:lI111|H1072418B0
-1072418B0:lI114|H107241FA0
-107241FA0:lI109|H107242620
-107242620:lI101|H107242C60
-107242C60:lI114|H1072431F0
-1072431F0:lI95|H107243740
-107243740:lI118|H107243C60
-107243C60:lI51|H107244150
-107244150:lI46|H107244600
-107244600:lI98|H107244A70
-107244A70:lI101|H107244EE0
-107244EE0:lI97|H107245330
-107245330:lI109|N
-10721F0E0:lH1072225B0|N
-1072225B0:lI109|H107225758
-107225758:lI101|H1072285B0
-1072285B0:lI103|H10722AFF8
-10722AFF8:lI97|H10722D710
-10722D710:lI99|H10722FBA8
-10722FBA8:lI111|H107231D40
-107231D40:lI95|H107233BC8
-107233BC8:lI99|H107235760
-107235760:lI111|H107237088
-107237088:lI109|H107238780
-107238780:lI112|H107239C78
-107239C78:lI97|H10723B030
-10723B030:lI99|H10723C160
-10723C160:lI116|H10723D0E0
-10723D0E0:lI95|H10723DEE0
-10723DEE0:lI116|H10723EB40
-10723EB40:lI101|H10723F6B0
-10723F6B0:lI120|H1072400B0
-1072400B0:lI116|H107240990
-107240990:lI95|H107241170
-107241170:lI101|H1072418C0
-1072418C0:lI110|H107241FB0
-107241FB0:lI99|H107242630
-107242630:lI111|H107242C70
-107242C70:lI100|H107243200
-107243200:lI101|H107243750
-107243750:lI114|H107243C70
-107243C70:lI95|H107244160
-107244160:lI118|H107244610
-107244610:lI49|H107244A80
-107244A80:lI46|H107244EF0
-107244EF0:lI98|H107245340
-107245340:lI101|H107245740
-107245740:lI97|H107245B10
-107245B10:lI109|N
-10721BB30:lH10721F0C0|N
-10721F0C0:lI109|H107222590
-107222590:lI101|H107225738
-107225738:lI103|H107228590
-107228590:lI97|H10722AFD8
-10722AFD8:lI99|H10722D6F0
-10722D6F0:lI111|H10722FB88
-10722FB88:lI46|H107231D20
-107231D20:lI97|H107233BA8
-107233BA8:lI112|H107235740
-107235740:lI112|N
-1072184C8:Mn3:H10721BAF0,H10721BB00,H10721BB10
-10721BAF0:lH10721F080|N
-10721F080:lI109|H107222550
-107222550:lI101|H1072256F8
-1072256F8:lI103|H107228550
-107228550:lI97|H10722AF98
-10722AF98:lI99|H10722D6B0
-10722D6B0:lI111|H10722FB48
-10722FB48:lI95|H107231CE0
-107231CE0:lI109|H107233B68
-107233B68:lI105|H107235700
-107235700:lI115|H107237038
-107237038:lI99|H107238730
-107238730:lI95|H107239C28
-107239C28:lI115|H10723AFE0
-10723AFE0:lI117|H10723C110
-10723C110:lI112|H10723D0A0
-10723D0A0:lI46|H10723DEA0
-10723DEA0:lI98|H10723EB00
-10723EB00:lI101|H10723F670
-10723F670:lI97|H107240070
-107240070:lI109|N
-10721BB10:lH10721F0A0|N
-10721F0A0:lI109|H107222570
-107222570:lI101|H107225718
-107225718:lI103|H107228570
-107228570:lI97|H10722AFB8
-10722AFB8:lI99|H10722D6D0
-10722D6D0:lI111|H10722FB68
-10722FB68:lI95|H107231D00
-107231D00:lI109|H107233B88
-107233B88:lI101|H107235720
-107235720:lI115|H107237058
-107237058:lI115|H107238750
-107238750:lI101|H107239C48
-107239C48:lI110|H10723B000
-10723B000:lI103|H10723C130
-10723C130:lI101|H10723D0C0
-10723D0C0:lI114|H10723DEC0
-10723DEC0:lI95|H10723EB20
-10723EB20:lI109|H10723F690
-10723F690:lI105|H107240090
-107240090:lI115|H107240970
-107240970:lI99|H107241150
-107241150:lI46|H1072418A0
-1072418A0:lI98|H107241F90
-107241F90:lI101|H107242610
-107242610:lI97|H107242C50
-107242C50:lI109|N
-10721BB00:lH10721F090|N
-10721F090:lI109|H107222560
-107222560:lI101|H107225708
-107225708:lI103|H107228560
-107228560:lI97|H10722AFA8
-10722AFA8:lI99|H10722D6C0
-10722D6C0:lI111|H10722FB58
-10722FB58:lI95|H107231CF0
-107231CF0:lI112|H107233B78
-107233B78:lI114|H107235710
-107235710:lI101|H107237048
-107237048:lI116|H107238740
-107238740:lI116|H107239C38
-107239C38:lI121|H10723AFF0
-10723AFF0:lI95|H10723C120
-10723C120:lI116|H10723D0B0
-10723D0B0:lI101|H10723DEB0
-10723DEB0:lI120|H10723EB10
-10723EB10:lI116|H10723F680
-10723F680:lI95|H107240080
-107240080:lI101|H107240960
-107240960:lI110|H107241140
-107241140:lI99|H107241890
-107241890:lI111|H107241F80
-107241F80:lI100|H107242600
-107242600:lI101|H107242C40
-107242C40:lI114|H1072431E0
-1072431E0:lI95|H107243730
-107243730:lI118|H107243C50
-107243C50:lI50|H107244140
-107244140:lI46|H1072445F0
-1072445F0:lI98|H107244A60
-107244A60:lI101|H107244ED0
-107244ED0:lI97|H107245320
-107245320:lI109|N
-1072184B8:lH10721BAE0|N
-10721BAE0:lI109|H10721F070
-10721F070:lI101|H107222540
-107222540:lI103|H1072256E8
-1072256E8:lI97|H107228540
-107228540:lI99|H10722AF88
-10722AF88:lI111|H10722D6A0
-10722D6A0:lI95|H10722FB38
-10722FB38:lI102|H107231CD0
-107231CD0:lI108|H107233B58
-107233B58:lI101|H1072356F0
-1072356F0:lI120|H107237028
-107237028:lI95|H107238720
-107238720:lI115|H107239C18
-107239C18:lI99|H10723AFD0
-10723AFD0:lI97|H10723C100
-10723C100:lI110|H10723D090
-10723D090:lI110|H10723DE90
-10723DE90:lI101|H10723EAF0
-10723EAF0:lI114|H10723F660
-10723F660:lI95|H107240060
-107240060:lI104|H107240950
-107240950:lI97|H107241130
-107241130:lI110|H107241880
-107241880:lI100|H107241F70
-107241F70:lI108|H1072425F0
-1072425F0:lI101|H107242C30
-107242C30:lI114|H1072431D0
-1072431D0:lI46|H107243720
-107243720:lI98|H107243C40
-107243C40:lI101|H107244130
-107244130:lI97|H1072445E0
-1072445E0:lI109|N
-107218490:Mn4:H10721BAA0,H10721BAB0,H10721BAC0,H10721BAD0
-10721BAA0:lH10721F030|N
-10721F030:lI109|H107222500
-107222500:lI101|H1072256A8
-1072256A8:lI103|H107228500
-107228500:lI97|H10722AF48
-10722AF48:lI99|H10722D660
-10722D660:lI111|H10722FAF8
-10722FAF8:lI95|H107231C90
-107231C90:lI116|H107233B18
-107233B18:lI99|H1072356B0
-1072356B0:lI112|H107236FE8
-107236FE8:lI95|H1072386E0
-1072386E0:lI99|H107239BD8
-107239BD8:lI111|H10723AF90
-10723AF90:lI110|H10723C0C0
-10723C0C0:lI110|H10723D050
-10723D050:lI101|H10723DE50
-10723DE50:lI99|H10723EAB0
-10723EAB0:lI116|H10723F620
-10723F620:lI105|H107240040
-107240040:lI111|H107240930
-107240930:lI110|H107241110
-107241110:lI95|H107241860
-107241860:lI115|H107241F50
-107241F50:lI117|H1072425D0
-1072425D0:lI112|H107242C10
-107242C10:lI46|H1072431B0
-1072431B0:lI98|H107243700
-107243700:lI101|H107243C20
-107243C20:lI97|H107244110
-107244110:lI109|N
-10721BAD0:lH10721F060|N
-10721F060:lI109|H107222530
-107222530:lI101|H1072256D8
-1072256D8:lI103|H107228530
-107228530:lI97|H10722AF78
-10722AF78:lI99|H10722D690
-10722D690:lI111|H10722FB28
-10722FB28:lI95|H107231CC0
-107231CC0:lI98|H107233B48
-107233B48:lI105|H1072356E0
-1072356E0:lI110|H107237018
-107237018:lI97|H107238710
-107238710:lI114|H107239C08
-107239C08:lI121|H10723AFC0
-10723AFC0:lI95|H10723C0F0
-10723C0F0:lI101|H10723D080
-10723D080:lI110|H10723DE80
-10723DE80:lI99|H10723EAE0
-10723EAE0:lI111|H10723F650
-10723F650:lI100|H107240050
-107240050:lI101|H107240940
-107240940:lI114|H107241120
-107241120:lI95|H107241870
-107241870:lI108|H107241F60
-107241F60:lI105|H1072425E0
-1072425E0:lI98|H107242C20
-107242C20:lI46|H1072431C0
-1072431C0:lI98|H107243710
-107243710:lI101|H107243C30
-107243C30:lI97|H107244120
-107244120:lI109|N
-10721BAC0:lH10721F050|N
-10721F050:lI109|H107222520
-107222520:lI101|H1072256C8
-1072256C8:lI103|H107228520
-107228520:lI97|H10722AF68
-10722AF68:lI99|H10722D680
-10722D680:lI111|H10722FB18
-10722FB18:lI95|H107231CB0
-107231CB0:lI117|H107233B38
-107233B38:lI100|H1072356D0
-1072356D0:lI112|H107237008
-107237008:lI95|H107238700
-107238700:lI115|H107239BF8
-107239BF8:lI117|H10723AFB0
-10723AFB0:lI112|H10723C0E0
-10723C0E0:lI46|H10723D070
-10723D070:lI98|H10723DE70
-10723DE70:lI101|H10723EAD0
-10723EAD0:lI97|H10723F640
-10723F640:lI109|N
-10721BAB0:lH10721F040|N
-10721F040:lI109|H107222510
-107222510:lI101|H1072256B8
-1072256B8:lI103|H107228510
-107228510:lI97|H10722AF58
-10722AF58:lI99|H10722D670
-10722D670:lI111|H10722FB08
-10722FB08:lI95|H107231CA0
-107231CA0:lI109|H107233B28
-107233B28:lI111|H1072356C0
-1072356C0:lI110|H107236FF8
-107236FF8:lI105|H1072386F0
-1072386F0:lI116|H107239BE8
-107239BE8:lI111|H10723AFA0
-10723AFA0:lI114|H10723C0D0
-10723C0D0:lI46|H10723D060
-10723D060:lI98|H10723DE60
-10723DE60:lI101|H10723EAC0
-10723EAC0:lI97|H10723F630
-10723F630:lI109|N
-107218470:Mn3:H10721BA70,H10721BA80,H10721BA90
-10721BA70:lH10721F000|N
-10721F000:lI109|H1072224D0
-1072224D0:lI101|H107225678
-107225678:lI103|H1072284D0
-1072284D0:lI97|H10722AF18
-10722AF18:lI99|H10722D630
-10722D630:lI111|H10722FAC8
-10722FAC8:lI95|H107231C60
-107231C60:lI116|H107233AE8
-107233AE8:lI114|H107235680
-107235680:lI97|H107236FB8
-107236FB8:lI110|H1072386B0
-1072386B0:lI115|H107239BA8
-107239BA8:lI112|H10723AF60
-10723AF60:lI111|H10723C090
-10723C090:lI114|H10723D020
-10723D020:lI116|H10723DE20
-10723DE20:lI46|H10723EA80
-10723EA80:lI98|H10723F5F0
-10723F5F0:lI101|H107240010
-107240010:lI97|H107240900
-107240900:lI109|N
-10721BA90:lH10721F020|N
-10721F020:lI109|H1072224F0
-1072224F0:lI101|H107225698
-107225698:lI103|H1072284F0
-1072284F0:lI97|H10722AF38
-10722AF38:lI99|H10722D650
-10722D650:lI111|H10722FAE8
-10722FAE8:lI95|H107231C80
-107231C80:lI98|H107233B08
-107233B08:lI101|H1072356A0
-1072356A0:lI114|H107236FD8
-107236FD8:lI95|H1072386D0
-1072386D0:lI109|H107239BC8
-107239BC8:lI101|H10723AF80
-10723AF80:lI100|H10723C0B0
-10723C0B0:lI105|H10723D040
-10723D040:lI97|H10723DE40
-10723DE40:lI95|H10723EAA0
-10723EAA0:lI103|H10723F610
-10723F610:lI97|H107240030
-107240030:lI116|H107240920
-107240920:lI101|H107241100
-107241100:lI119|H107241850
-107241850:lI97|H107241F40
-107241F40:lI121|H1072425C0
-1072425C0:lI95|H107242C00
-107242C00:lI99|H1072431A0
-1072431A0:lI111|H1072436F0
-1072436F0:lI110|H107243C10
-107243C10:lI116|H107244100
-107244100:lI114|H1072445D0
-1072445D0:lI111|H107244A50
-107244A50:lI108|H107244EC0
-107244EC0:lI95|H107245310
-107245310:lI118|H107245730
-107245730:lI50|H107245B00
-107245B00:lI46|H107245EA0
-107245EA0:lI98|H107246230
-107246230:lI101|H1072465C0
-1072465C0:lI97|H107246950
-107246950:lI109|N
-10721BA80:lH10721F010|N
-10721F010:lI109|H1072224E0
-1072224E0:lI101|H107225688
-107225688:lI103|H1072284E0
-1072284E0:lI97|H10722AF28
-10722AF28:lI99|H10722D640
-10722D640:lI111|H10722FAD8
-10722FAD8:lI95|H107231C70
-107231C70:lI116|H107233AF8
-107233AF8:lI101|H107235690
-107235690:lI120|H107236FC8
-107236FC8:lI116|H1072386C0
-1072386C0:lI95|H107239BB8
-107239BB8:lI112|H10723AF70
-10723AF70:lI97|H10723C0A0
-10723C0A0:lI114|H10723D030
-10723D030:lI115|H10723DE30
-10723DE30:lI101|H10723EA90
-10723EA90:lI114|H10723F600
-10723F600:lI95|H107240020
-107240020:lI118|H107240910
-107240910:lI49|H1072410F0
-1072410F0:lI46|H107241840
-107241840:lI98|H107241F30
-107241F30:lI101|H1072425B0
-1072425B0:lI97|H107242BF0
-107242BF0:lI109|N
-107218450:Mn3:H10721BA40,H10721BA50,H10721BA60
-10721BA40:lH10721EFD0|N
-10721EFD0:lI109|H1072224A0
-1072224A0:lI101|H107225648
-107225648:lI103|H1072284A0
-1072284A0:lI97|H10722AEE8
-10722AEE8:lI99|H10722D600
-10722D600:lI111|H10722FA98
-10722FA98:lI95|H107231C30
-107231C30:lI115|H107233AB8
-107233AB8:lI117|H107235650
-107235650:lI112|H107236F88
-107236F88:lI46|H107238680
-107238680:lI98|H107239B78
-107239B78:lI101|H10723AF30
-10723AF30:lI97|H10723C060
-10723C060:lI109|N
-10721BA60:lH10721EFF0|N
-10721EFF0:lI109|H1072224C0
-1072224C0:lI101|H107225668
-107225668:lI103|H1072284C0
-1072284C0:lI97|H10722AF08
-10722AF08:lI99|H10722D620
-10722D620:lI111|H10722FAB8
-10722FAB8:lI95|H107231C50
-107231C50:lI98|H107233AD8
-107233AD8:lI101|H107235670
-107235670:lI114|H107236FA8
-107236FA8:lI95|H1072386A0
-1072386A0:lI101|H107239B98
-107239B98:lI110|H10723AF50
-10723AF50:lI99|H10723C080
-10723C080:lI111|H10723D010
-10723D010:lI100|H10723DE10
-10723DE10:lI101|H10723EA70
-10723EA70:lI114|H10723F5E0
-10723F5E0:lI46|H107240000
-107240000:lI98|H1072408F0
-1072408F0:lI101|H1072410E0
-1072410E0:lI97|H107241830
-107241830:lI109|N
-10721BA50:lH10721EFE0|N
-10721EFE0:lI109|H1072224B0
-1072224B0:lI101|H107225658
-107225658:lI103|H1072284B0
-1072284B0:lI97|H10722AEF8
-10722AEF8:lI99|H10722D610
-10722D610:lI111|H10722FAA8
-10722FAA8:lI95|H107231C40
-107231C40:lI100|H107233AC8
-107233AC8:lI105|H107235660
-107235660:lI103|H107236F98
-107236F98:lI105|H107238690
-107238690:lI116|H107239B88
-107239B88:lI95|H10723AF40
-10723AF40:lI109|H10723C070
-10723C070:lI97|H10723D000
-10723D000:lI112|H10723DE00
-10723DE00:lI46|H10723EA60
-10723EA60:lI98|H10723F5D0
-10723F5D0:lI101|H10723FFF0
-10723FFF0:lI97|H1072408E0
-1072408E0:lI109|N
-107218420:Mn5:H10721B9F0,H10721BA00,H10721BA10,H10721BA20,H10721BA30
-10721B9F0:lH10721EF80|N
-10721EF80:lI109|H107222450
-107222450:lI101|H1072255F8
-1072255F8:lI103|H107228450
-107228450:lI97|H10722AE98
-10722AE98:lI99|H10722D5B0
-10722D5B0:lI111|H10722FA48
-10722FA48:lI95|H107231BE0
-107231BE0:lI112|H107233A68
-107233A68:lI101|H107235600
-107235600:lI114|H107236F38
-107236F38:lI95|H107238630
-107238630:lI109|H107239B38
-107239B38:lI101|H10723AEF0
-10723AEF0:lI100|H10723C020
-10723C020:lI105|H10723CFC0
-10723CFC0:lI97|H10723DDC0
-10723DDC0:lI95|H10723EA20
-10723EA20:lI103|H10723F590
-10723F590:lI97|H10723FFB0
-10723FFB0:lI116|H1072408A0
-1072408A0:lI101|H1072410A0
-1072410A0:lI119|H1072417F0
-1072417F0:lI97|H107241EF0
-107241EF0:lI121|H107242570
-107242570:lI95|H107242BB0
-107242BB0:lI99|H107243160
-107243160:lI111|H1072436B0
-1072436B0:lI110|H107243BD0
-107243BD0:lI116|H1072440C0
-1072440C0:lI114|H107244590
-107244590:lI111|H107244A10
-107244A10:lI108|H107244E80
-107244E80:lI95|H1072452D0
-1072452D0:lI118|H107245700
-107245700:lI50|H107245AE0
-107245AE0:lI46|H107245E80
-107245E80:lI98|H107246210
-107246210:lI101|H1072465A0
-1072465A0:lI97|H107246930
-107246930:lI109|N
-10721BA30:lH10721EFC0|N
-10721EFC0:lI109|H107222490
-107222490:lI101|H107225638
-107225638:lI103|H107228490
-107228490:lI97|H10722AED8
-10722AED8:lI99|H10722D5F0
-10722D5F0:lI111|H10722FA88
-10722FA88:lI46|H107231C20
-107231C20:lI97|H107233AA8
-107233AA8:lI112|H107235640
-107235640:lI112|H107236F78
-107236F78:lI117|H107238670
-107238670:lI112|N
-10721BA20:lH10721EFB0|N
-10721EFB0:lI109|H107222480
-107222480:lI101|H107225628
-107225628:lI103|H107228480
-107228480:lI97|H10722AEC8
-10722AEC8:lI99|H10722D5E0
-10722D5E0:lI111|H10722FA78
-10722FA78:lI95|H107231C10
-107231C10:lI112|H107233A98
-107233A98:lI101|H107235630
-107235630:lI114|H107236F68
-107236F68:lI95|H107238660
-107238660:lI109|H107239B68
-107239B68:lI101|H10723AF20
-10723AF20:lI100|H10723C050
-10723C050:lI105|H10723CFF0
-10723CFF0:lI97|H10723DDF0
-10723DDF0:lI95|H10723EA50
-10723EA50:lI103|H10723F5C0
-10723F5C0:lI97|H10723FFE0
-10723FFE0:lI116|H1072408D0
-1072408D0:lI101|H1072410D0
-1072410D0:lI119|H107241820
-107241820:lI97|H107241F20
-107241F20:lI121|H1072425A0
-1072425A0:lI95|H107242BE0
-107242BE0:lI99|H107243190
-107243190:lI111|H1072436E0
-1072436E0:lI110|H107243C00
-107243C00:lI116|H1072440F0
-1072440F0:lI114|H1072445C0
-1072445C0:lI111|H107244A40
-107244A40:lI108|H107244EB0
-107244EB0:lI95|H107245300
-107245300:lI118|H107245720
-107245720:lI51|H107245AF0
-107245AF0:lI46|H107245E90
-107245E90:lI98|H107246220
-107246220:lI101|H1072465B0
-1072465B0:lI97|H107246940
-107246940:lI109|N
-10721BA10:lH10721EFA0|N
-10721EFA0:lI109|H107222470
-107222470:lI101|H107225618
-107225618:lI103|H107228470
-107228470:lI97|H10722AEB8
-10722AEB8:lI99|H10722D5D0
-10722D5D0:lI111|H10722FA68
-10722FA68:lI95|H107231C00
-107231C00:lI112|H107233A88
-107233A88:lI114|H107235620
-107235620:lI101|H107236F58
-107236F58:lI116|H107238650
-107238650:lI116|H107239B58
-107239B58:lI121|H10723AF10
-10723AF10:lI95|H10723C040
-10723C040:lI116|H10723CFE0
-10723CFE0:lI101|H10723DDE0
-10723DDE0:lI120|H10723EA40
-10723EA40:lI116|H10723F5B0
-10723F5B0:lI95|H10723FFD0
-10723FFD0:lI101|H1072408C0
-1072408C0:lI110|H1072410C0
-1072410C0:lI99|H107241810
-107241810:lI111|H107241F10
-107241F10:lI100|H107242590
-107242590:lI101|H107242BD0
-107242BD0:lI114|H107243180
-107243180:lI95|H1072436D0
-1072436D0:lI118|H107243BF0
-107243BF0:lI51|H1072440E0
-1072440E0:lI46|H1072445B0
-1072445B0:lI98|H107244A30
-107244A30:lI101|H107244EA0
-107244EA0:lI97|H1072452F0
-1072452F0:lI109|N
-10721BA00:lH10721EF90|N
-10721EF90:lI109|H107222460
-107222460:lI101|H107225608
-107225608:lI103|H107228460
-107228460:lI97|H10722AEA8
-10722AEA8:lI99|H10722D5C0
-10722D5C0:lI111|H10722FA58
-10722FA58:lI95|H107231BF0
-107231BF0:lI98|H107233A78
-107233A78:lI105|H107235610
-107235610:lI110|H107236F48
-107236F48:lI97|H107238640
-107238640:lI114|H107239B48
-107239B48:lI121|H10723AF00
-10723AF00:lI95|H10723C030
-10723C030:lI110|H10723CFD0
-10723CFD0:lI97|H10723DDD0
-10723DDD0:lI109|H10723EA30
-10723EA30:lI101|H10723F5A0
-10723F5A0:lI95|H10723FFC0
-10723FFC0:lI114|H1072408B0
-1072408B0:lI101|H1072410B0
-1072410B0:lI115|H107241800
-107241800:lI111|H107241F00
-107241F00:lI108|H107242580
-107242580:lI118|H107242BC0
-107242BC0:lI101|H107243170
-107243170:lI114|H1072436C0
-1072436C0:lI95|H107243BE0
-107243BE0:lI118|H1072440D0
-1072440D0:lI49|H1072445A0
-1072445A0:lI46|H107244A20
-107244A20:lI98|H107244E90
-107244E90:lI101|H1072452E0
-1072452E0:lI97|H107245710
-107245710:lI109|N
-1072183E8:Mn6:H10721B980,H10721B990,H10721B9A0,H10721B9B0,H10721B9D0,H10721B9E0
-10721B980:lH10721EF00|N
-10721EF00:lI109|H1072223D0
-1072223D0:lI101|H107225578
-107225578:lI103|H1072283D0
-1072283D0:lI97|H10722AE18
-10722AE18:lI99|H10722D530
-10722D530:lI111|H10722F9C8
-10722F9C8:lI95|H107231B60
-107231B60:lI98|H1072339E8
-1072339E8:lI105|H107235580
-107235580:lI110|H107236EB8
-107236EB8:lI97|H1072385B0
-1072385B0:lI114|H107239AC8
-107239AC8:lI121|H10723AE80
-10723AE80:lI95|H10723BFB0
-10723BFB0:lI116|H10723CF60
-10723CF60:lI114|H10723DD60
-10723DD60:lI97|H10723E9C0
-10723E9C0:lI110|H10723F530
-10723F530:lI115|H10723FF50
-10723FF50:lI102|H107240840
-107240840:lI111|H107241040
-107241040:lI114|H107241790
-107241790:lI109|H107241E90
-107241E90:lI101|H107242520
-107242520:lI114|H107242B60
-107242B60:lI95|H107243110
-107243110:lI118|H107243670
-107243670:lI49|H107243B90
-107243B90:lI46|H107244080
-107244080:lI98|H107244560
-107244560:lI101|H1072449F0
-1072449F0:lI97|H107244E60
-107244E60:lI109|N
-10721B9E0:lH10721EF70|N
-10721EF70:lI109|H107222440
-107222440:lI101|H1072255E8
-1072255E8:lI103|H107228440
-107228440:lI97|H10722AE88
-10722AE88:lI99|H10722D5A0
-10722D5A0:lI111|H10722FA38
-10722FA38:lI95|H107231BD0
-107231BD0:lI102|H107233A58
-107233A58:lI108|H1072355F0
-1072355F0:lI101|H107236F28
-107236F28:lI120|H107238620
-107238620:lI95|H107239B28
-107239B28:lI115|H10723AEE0
-10723AEE0:lI99|H10723C010
-10723C010:lI97|H10723CFB0
-10723CFB0:lI110|H10723DDB0
-10723DDB0:lI110|H10723EA10
-10723EA10:lI101|H10723F580
-10723F580:lI114|H10723FFA0
-10723FFA0:lI46|H107240890
-107240890:lI98|H107241090
-107241090:lI101|H1072417E0
-1072417E0:lI97|H107241EE0
-107241EE0:lI109|N
-10721B9D0:lH10721EF60|N
-10721EF60:lI109|H107222430
-107222430:lI101|H1072255D8
-1072255D8:lI103|H107228430
-107228430:lI97|H10722AE78
-10722AE78:lI99|H10722D590
-10722D590:lI111|H10722FA28
-10722FA28:lI95|H107231BC0
-107231BC0:lI115|H107233A48
-107233A48:lI100|H1072355E0
-1072355E0:lI112|H107236F18
-107236F18:lI46|H107238610
-107238610:lI98|H107239B18
-107239B18:lI101|H10723AED0
-10723AED0:lI97|H10723C000
-10723C000:lI109|N
-10721B9B0:Mn3:H10721EF30,H10721EF40,H10721EF50
-10721EF30:lH107222400|N
-107222400:lI109|H1072255A8
-1072255A8:lI101|H107228400
-107228400:lI103|H10722AE48
-10722AE48:lI97|H10722D560
-10722D560:lI99|H10722F9F8
-10722F9F8:lI111|H107231B90
-107231B90:lI46|H107233A18
-107233A18:lI98|H1072355B0
-1072355B0:lI101|H107236EE8
-107236EE8:lI97|H1072385E0
-1072385E0:lI109|N
-10721EF50:lH107222420|N
-107222420:lI109|H1072255C8
-1072255C8:lI101|H107228420
-107228420:lI103|H10722AE68
-10722AE68:lI97|H10722D580
-10722D580:lI99|H10722FA18
-10722FA18:lI111|H107231BB0
-107231BB0:lI95|H107233A38
-107233A38:lI116|H1072355D0
-1072355D0:lI101|H107236F08
-107236F08:lI120|H107238600
-107238600:lI116|H107239B08
-107239B08:lI95|H10723AEC0
-10723AEC0:lI109|H10723BFF0
-10723BFF0:lI105|H10723CFA0
-10723CFA0:lI110|H10723DDA0
-10723DDA0:lI105|H10723EA00
-10723EA00:lI95|H10723F570
-10723F570:lI100|H10723FF90
-10723FF90:lI101|H107240880
-107240880:lI99|H107241080
-107241080:lI111|H1072417D0
-1072417D0:lI100|H107241ED0
-107241ED0:lI101|H107242560
-107242560:lI114|H107242BA0
-107242BA0:lI46|H107243150
-107243150:lI98|H1072436A0
-1072436A0:lI101|H107243BC0
-107243BC0:lI97|H1072440B0
-1072440B0:lI109|N
-10721EF40:lH107222410|N
-107222410:lI109|H1072255B8
-1072255B8:lI101|H107228410
-107228410:lI103|H10722AE58
-10722AE58:lI97|H10722D570
-10722D570:lI99|H10722FA08
-10722FA08:lI111|H107231BA0
-107231BA0:lI95|H107233A28
-107233A28:lI116|H1072355C0
-1072355C0:lI99|H107236EF8
-107236EF8:lI112|H1072385F0
-1072385F0:lI95|H107239AF8
-107239AF8:lI97|H10723AEB0
-10723AEB0:lI99|H10723BFE0
-10723BFE0:lI99|H10723CF90
-10723CF90:lI101|H10723DD90
-10723DD90:lI112|H10723E9F0
-10723E9F0:lI116|H10723F560
-10723F560:lI95|H10723FF80
-10723FF80:lI115|H107240870
-107240870:lI117|H107241070
-107241070:lI112|H1072417C0
-1072417C0:lI46|H107241EC0
-107241EC0:lI98|H107242550
-107242550:lI101|H107242B90
-107242B90:lI97|H107243140
-107243140:lI109|N
-10721B9A0:lH10721EF20|N
-10721EF20:lI109|H1072223F0
-1072223F0:lI101|H107225598
-107225598:lI103|H1072283F0
-1072283F0:lI97|H10722AE38
-10722AE38:lI99|H10722D550
-10722D550:lI111|H10722F9E8
-10722F9E8:lI95|H107231B80
-107231B80:lI98|H107233A08
-107233A08:lI105|H1072355A0
-1072355A0:lI110|H107236ED8
-107236ED8:lI97|H1072385D0
-1072385D0:lI114|H107239AE8
-107239AE8:lI121|H10723AEA0
-10723AEA0:lI95|H10723BFD0
-10723BFD0:lI110|H10723CF80
-10723CF80:lI97|H10723DD80
-10723DD80:lI109|H10723E9E0
-10723E9E0:lI101|H10723F550
-10723F550:lI95|H10723FF70
-10723FF70:lI114|H107240860
-107240860:lI101|H107241060
-107241060:lI115|H1072417B0
-1072417B0:lI111|H107241EB0
-107241EB0:lI108|H107242540
-107242540:lI118|H107242B80
-107242B80:lI101|H107243130
-107243130:lI114|H107243690
-107243690:lI95|H107243BB0
-107243BB0:lI118|H1072440A0
-1072440A0:lI51|H107244580
-107244580:lI46|H107244A00
-107244A00:lI98|H107244E70
-107244E70:lI101|H1072452C0
-1072452C0:lI97|H1072456F0
-1072456F0:lI109|N
-10721B990:lH10721EF10|N
-10721EF10:lI109|H1072223E0
-1072223E0:lI101|H107225588
-107225588:lI103|H1072283E0
-1072283E0:lI97|H10722AE28
-10722AE28:lI99|H10722D540
-10722D540:lI111|H10722F9D8
-10722F9D8:lI95|H107231B70
-107231B70:lI101|H1072339F8
-1072339F8:lI114|H107235590
-107235590:lI108|H107236EC8
-107236EC8:lI95|H1072385C0
-1072385C0:lI100|H107239AD8
-107239AD8:lI105|H10723AE90
-10723AE90:lI115|H10723BFC0
-10723BFC0:lI116|H10723CF70
-10723CF70:lI95|H10723DD70
-10723DD70:lI101|H10723E9D0
-10723E9D0:lI110|H10723F540
-10723F540:lI99|H10723FF60
-10723FF60:lI111|H107240850
-107240850:lI100|H107241050
-107241050:lI101|H1072417A0
-1072417A0:lI114|H107241EA0
-107241EA0:lI95|H107242530
-107242530:lI109|H107242B70
-107242B70:lI99|H107243120
-107243120:lI46|H107243680
-107243680:lI98|H107243BA0
-107243BA0:lI101|H107244090
-107244090:lI97|H107244570
-107244570:lI109|N
-1072183D0:Mn2:H10721B958,H10721B970
-10721B958:Mn2:H10721EED0,H10721EEE0
-10721EED0:lH1072223A0|N
-1072223A0:lI109|H107225548
-107225548:lI101|H1072283A0
-1072283A0:lI103|H10722ADE8
-10722ADE8:lI97|H10722D500
-10722D500:lI99|H10722F998
-10722F998:lI111|H107231B30
-107231B30:lI95|H1072339B8
-1072339B8:lI99|H107235550
-107235550:lI111|H107236E88
-107236E88:lI109|H107238580
-107238580:lI112|H107239A98
-107239A98:lI97|H10723AE50
-10723AE50:lI99|H10723BF80
-10723BF80:lI116|H10723CF30
-10723CF30:lI95|H10723DD30
-10723DD30:lI116|H10723E990
-10723E990:lI101|H10723F500
-10723F500:lI120|H10723FF20
-10723FF20:lI116|H107240810
-107240810:lI95|H107241010
-107241010:lI101|H107241760
-107241760:lI110|H107241E60
-107241E60:lI99|H107242510
-107242510:lI111|H107242B50
-107242B50:lI100|H107243100
-107243100:lI101|H107243660
-107243660:lI114|H107243B80
-107243B80:lI95|H107244070
-107244070:lI118|H107244550
-107244550:lI50|H1072449E0
-1072449E0:lI46|H107244E50
-107244E50:lI98|H1072452B0
-1072452B0:lI101|H1072456E0
-1072456E0:lI97|H107245AD0
-107245AD0:lI109|N
-10721EEE0:lH1072223B0|N
-1072223B0:lI109|H107225558
-107225558:lI101|H1072283B0
-1072283B0:lI103|H10722ADF8
-10722ADF8:lI97|H10722D510
-10722D510:lI99|H10722F9A8
-10722F9A8:lI111|H107231B40
-107231B40:lI95|H1072339C8
-1072339C8:lI112|H107235560
-107235560:lI101|H107236E98
-107236E98:lI114|H107238590
-107238590:lI95|H107239AA8
-107239AA8:lI101|H10723AE60
-10723AE60:lI110|H10723BF90
-10723BF90:lI99|H10723CF40
-10723CF40:lI111|H10723DD40
-10723DD40:lI100|H10723E9A0
-10723E9A0:lI101|H10723F510
-10723F510:lI114|H10723FF30
-10723FF30:lI46|H107240820
-107240820:lI98|H107241020
-107241020:lI101|H107241770
-107241770:lI97|H107241E70
-107241E70:lI109|N
-10721B970:lH10721EEF0|N
-10721EEF0:lI109|H1072223C0
-1072223C0:lI101|H107225568
-107225568:lI103|H1072283C0
-1072283C0:lI97|H10722AE08
-10722AE08:lI99|H10722D520
-10722D520:lI111|H10722F9B8
-10722F9B8:lI95|H107231B50
-107231B50:lI117|H1072339D8
-1072339D8:lI115|H107235570
-107235570:lI101|H107236EA8
-107236EA8:lI114|H1072385A0
-1072385A0:lI95|H107239AB8
-107239AB8:lI100|H10723AE70
-10723AE70:lI101|H10723BFA0
-10723BFA0:lI102|H10723CF50
-10723CF50:lI97|H10723DD50
-10723DD50:lI117|H10723E9B0
-10723E9B0:lI108|H10723F520
-10723F520:lI116|H10723FF40
-10723FF40:lI46|H107240830
-107240830:lI98|H107241030
-107241030:lI101|H107241780
-107241780:lI97|H107241E80
-107241E80:lI109|N
-107218398:Mn6:H10721B8E8,H10721B8F8,H10721B910,H10721B928,H10721B938,H10721B948
-10721B8E8:lH10721EE50|N
-10721EE50:lI109|H107222320
-107222320:lI101|H1072254C8
-1072254C8:lI103|H107228320
-107228320:lI97|H10722AD68
-10722AD68:lI99|H10722D480
-10722D480:lI111|H10722F918
-10722F918:lI95|H107231AB0
-107231AB0:lI112|H107233938
-107233938:lI114|H1072354D0
-1072354D0:lI101|H107236E08
-107236E08:lI116|H107238500
-107238500:lI116|H107239A18
-107239A18:lI121|H10723ADD0
-10723ADD0:lI95|H10723BF00
-10723BF00:lI116|H10723CEB0
-10723CEB0:lI101|H10723DCB0
-10723DCB0:lI120|H10723E920
-10723E920:lI116|H10723F490
-10723F490:lI95|H10723FEB0
-10723FEB0:lI101|H1072407A0
-1072407A0:lI110|H107240FA0
-107240FA0:lI99|H1072416F0
-1072416F0:lI111|H107241E00
-107241E00:lI100|H1072424B0
-1072424B0:lI101|H107242AF0
-107242AF0:lI114|H1072430B0
-1072430B0:lI95|H107243620
-107243620:lI118|H107243B40
-107243B40:lI49|H107244030
-107244030:lI46|H107244510
-107244510:lI98|H1072449B0
-1072449B0:lI101|H107244E20
-107244E20:lI97|H107245280
-107245280:lI109|N
-10721B948:lH10721EEC0|N
-10721EEC0:lI109|H107222390
-107222390:lI101|H107225538
-107225538:lI103|H107228390
-107228390:lI97|H10722ADD8
-10722ADD8:lI99|H10722D4F0
-10722D4F0:lI111|H10722F988
-10722F988:lI95|H107231B20
-107231B20:lI98|H1072339A8
-1072339A8:lI105|H107235540
-107235540:lI110|H107236E78
-107236E78:lI97|H107238570
-107238570:lI114|H107239A88
-107239A88:lI121|H10723AE40
-10723AE40:lI95|H10723BF70
-10723BF70:lI116|H10723CF20
-10723CF20:lI101|H10723DD20
-10723DD20:lI114|H10723E980
-10723E980:lI109|H10723F4F0
-10723F4F0:lI95|H10723FF10
-10723FF10:lI105|H107240800
-107240800:lI100|H107241000
-107241000:lI46|H107241750
-107241750:lI98|H107241E50
-107241E50:lI101|H107242500
-107242500:lI97|H107242B40
-107242B40:lI109|N
-10721B938:lH10721EEB0|N
-10721EEB0:lI109|H107222380
-107222380:lI101|H107225528
-107225528:lI103|H107228380
-107228380:lI97|H10722ADC8
-10722ADC8:lI99|H10722D4E0
-10722D4E0:lI111|H10722F978
-10722F978:lI95|H107231B10
-107231B10:lI115|H107233998
-107233998:lI116|H107235530
-107235530:lI97|H107236E68
-107236E68:lI116|H107238560
-107238560:lI115|H107239A78
-107239A78:lI46|H10723AE30
-10723AE30:lI98|H10723BF60
-10723BF60:lI101|H10723CF10
-10723CF10:lI97|H10723DD10
-10723DD10:lI109|N
-10721B928:lH10721EEA0|N
-10721EEA0:lI109|H107222370
-107222370:lI101|H107225518
-107225518:lI103|H107228370
-107228370:lI97|H10722ADB8
-10722ADB8:lI99|H10722D4D0
-10722D4D0:lI111|H10722F968
-10722F968:lI95|H107231B00
-107231B00:lI99|H107233988
-107233988:lI111|H107235520
-107235520:lI109|H107236E58
-107236E58:lI112|H107238550
-107238550:lI97|H107239A68
-107239A68:lI99|H10723AE20
-10723AE20:lI116|H10723BF50
-10723BF50:lI95|H10723CF00
-10723CF00:lI116|H10723DD00
-10723DD00:lI101|H10723E970
-10723E970:lI120|H10723F4E0
-10723F4E0:lI116|H10723FF00
-10723FF00:lI95|H1072407F0
-1072407F0:lI101|H107240FF0
-107240FF0:lI110|H107241740
-107241740:lI99|H107241E40
-107241E40:lI111|H1072424F0
-1072424F0:lI100|H107242B30
-107242B30:lI101|H1072430F0
-1072430F0:lI114|H107243650
-107243650:lI95|H107243B70
-107243B70:lI118|H107244060
-107244060:lI51|H107244540
-107244540:lI46|H1072449D0
-1072449D0:lI98|H107244E40
-107244E40:lI101|H1072452A0
-1072452A0:lI97|H1072456D0
-1072456D0:lI109|N
-10721B910:Mn2:H10721EE80,H10721EE90
-10721EE80:lH107222350|N
-107222350:lI109|H1072254F8
-1072254F8:lI101|H107228350
-107228350:lI103|H10722AD98
-10722AD98:lI97|H10722D4B0
-10722D4B0:lI99|H10722F948
-10722F948:lI111|H107231AE0
-107231AE0:lI95|H107233968
-107233968:lI98|H107235500
-107235500:lI101|H107236E38
-107236E38:lI114|H107238530
-107238530:lI95|H107239A48
-107239A48:lI109|H10723AE00
-10723AE00:lI101|H10723BF30
-10723BF30:lI100|H10723CEE0
-10723CEE0:lI105|H10723DCE0
-10723DCE0:lI97|H10723E950
-10723E950:lI95|H10723F4C0
-10723F4C0:lI103|H10723FEE0
-10723FEE0:lI97|H1072407D0
-1072407D0:lI116|H107240FD0
-107240FD0:lI101|H107241720
-107241720:lI119|H107241E30
-107241E30:lI97|H1072424E0
-1072424E0:lI121|H107242B20
-107242B20:lI95|H1072430E0
-1072430E0:lI99|H107243640
-107243640:lI111|H107243B60
-107243B60:lI110|H107244050
-107244050:lI116|H107244530
-107244530:lI114|H1072449C0
-1072449C0:lI111|H107244E30
-107244E30:lI108|H107245290
-107245290:lI95|H1072456C0
-1072456C0:lI118|H107245AC0
-107245AC0:lI51|H107245E70
-107245E70:lI46|H107246200
-107246200:lI98|H107246590
-107246590:lI101|H107246920
-107246920:lI97|H107246C90
-107246C90:lI109|N
-10721EE90:lH107222360|N
-107222360:lI109|H107225508
-107225508:lI101|H107228360
-107228360:lI103|H10722ADA8
-10722ADA8:lI97|H10722D4C0
-10722D4C0:lI99|H10722F958
-10722F958:lI111|H107231AF0
-107231AF0:lI95|H107233978
-107233978:lI116|H107235510
-107235510:lI99|H107236E48
-107236E48:lI112|H107238540
-107238540:lI95|H107239A58
-107239A58:lI97|H10723AE10
-10723AE10:lI99|H10723BF40
-10723BF40:lI99|H10723CEF0
-10723CEF0:lI101|H10723DCF0
-10723DCF0:lI112|H10723E960
-10723E960:lI116|H10723F4D0
-10723F4D0:lI46|H10723FEF0
-10723FEF0:lI98|H1072407E0
-1072407E0:lI101|H107240FE0
-107240FE0:lI97|H107241730
-107241730:lI109|N
-10721B8F8:Mn2:H10721EE60,H10721EE70
-10721EE60:lH107222330|N
-107222330:lI109|H1072254D8
-1072254D8:lI101|H107228330
-107228330:lI103|H10722AD78
-10722AD78:lI97|H10722D490
-10722D490:lI99|H10722F928
-10722F928:lI111|H107231AC0
-107231AC0:lI95|H107233948
-107233948:lI116|H1072354E0
-1072354E0:lI101|H107236E18
-107236E18:lI120|H107238510
-107238510:lI116|H107239A28
-107239A28:lI95|H10723ADE0
-10723ADE0:lI112|H10723BF10
-10723BF10:lI97|H10723CEC0
-10723CEC0:lI114|H10723DCC0
-10723DCC0:lI115|H10723E930
-10723E930:lI101|H10723F4A0
-10723F4A0:lI114|H10723FEC0
-10723FEC0:lI95|H1072407B0
-1072407B0:lI118|H107240FB0
-107240FB0:lI50|H107241700
-107241700:lI46|H107241E10
-107241E10:lI98|H1072424C0
-1072424C0:lI101|H107242B00
-107242B00:lI97|H1072430C0
-1072430C0:lI109|N
-10721EE70:lH107222340|N
-107222340:lI109|H1072254E8
-1072254E8:lI101|H107228340
-107228340:lI103|H10722AD88
-10722AD88:lI97|H10722D4A0
-10722D4A0:lI99|H10722F938
-10722F938:lI111|H107231AD0
-107231AD0:lI95|H107233958
-107233958:lI98|H1072354F0
-1072354F0:lI105|H107236E28
-107236E28:lI110|H107238520
-107238520:lI97|H107239A38
-107239A38:lI114|H10723ADF0
-10723ADF0:lI121|H10723BF20
-10723BF20:lI95|H10723CED0
-10723CED0:lI116|H10723DCD0
-10723DCD0:lI101|H10723E940
-10723E940:lI114|H10723F4B0
-10723F4B0:lI109|H10723FED0
-10723FED0:lI95|H1072407C0
-1072407C0:lI105|H107240FC0
-107240FC0:lI100|H107241710
-107241710:lI95|H107241E20
-107241E20:lI103|H1072424D0
-1072424D0:lI101|H107242B10
-107242B10:lI110|H1072430D0
-1072430D0:lI46|H107243630
-107243630:lI98|H107243B50
-107243B50:lI101|H107244040
-107244040:lI97|H107244520
-107244520:lI109|N
-107218378:Mn3:H10721B8B8,H10721B8C8,H10721B8D8
-10721B8B8:lH10721EE18|N
-10721EE18:lI109|H1072222E0
-1072222E0:lI101|H107225488
-107225488:lI103|H1072282E0
-1072282E0:lI97|H10722AD28
-10722AD28:lI99|H10722D440
-10722D440:lI111|H10722F8D8
-10722F8D8:lI95|H107231A70
-107231A70:lI101|H1072338F8
-1072338F8:lI110|H107235490
-107235490:lI99|H107236DC8
-107236DC8:lI111|H1072384C0
-1072384C0:lI100|H1072399D8
-1072399D8:lI101|H10723AD90
-10723AD90:lI114|H10723BEC0
-10723BEC0:lI46|H10723CE70
-10723CE70:lI98|H10723DC70
-10723DC70:lI101|H10723E8E0
-10723E8E0:lI97|H10723F460
-10723F460:lI109|N
-10721B8D8:Mn1:H10721EE38
-10721EE38:Mn2:H107222300,H107222310
-107222300:lH1072254A8|N
-1072254A8:lI109|H107228300
-107228300:lI101|H10722AD48
-10722AD48:lI103|H10722D460
-10722D460:lI97|H10722F8F8
-10722F8F8:lI99|H107231A90
-107231A90:lI111|H107233918
-107233918:lI95|H1072354B0
-1072354B0:lI116|H107236DE8
-107236DE8:lI99|H1072384E0
-1072384E0:lI112|H1072399F8
-1072399F8:lI95|H10723ADB0
-10723ADB0:lI115|H10723BEE0
-10723BEE0:lI117|H10723CE90
-10723CE90:lI112|H10723DC90
-10723DC90:lI46|H10723E900
-10723E900:lI98|H10723F470
-10723F470:lI101|H10723FE90
-10723FE90:lI97|H107240780
-107240780:lI109|N
-107222310:lH1072254B8|N
-1072254B8:lI109|H107228310
-107228310:lI101|H10722AD58
-10722AD58:lI103|H10722D470
-10722D470:lI97|H10722F908
-10722F908:lI99|H107231AA0
-107231AA0:lI111|H107233928
-107233928:lI95|H1072354C0
-1072354C0:lI116|H107236DF8
-107236DF8:lI101|H1072384F0
-1072384F0:lI120|H107239A08
-107239A08:lI116|H10723ADC0
-10723ADC0:lI95|H10723BEF0
-10723BEF0:lI109|H10723CEA0
-10723CEA0:lI105|H10723DCA0
-10723DCA0:lI110|H10723E910
-10723E910:lI105|H10723F480
-10723F480:lI95|H10723FEA0
-10723FEA0:lI112|H107240790
-107240790:lI97|H107240F90
-107240F90:lI114|H1072416E0
-1072416E0:lI115|H107241DF0
-107241DF0:lI101|H1072424A0
-1072424A0:lI114|H107242AE0
-107242AE0:lI46|H1072430A0
-1072430A0:lI98|H107243610
-107243610:lI101|H107243B30
-107243B30:lI97|H107244020
-107244020:lI109|N
-10721B8C8:lH10721EE28|N
-10721EE28:lI109|H1072222F0
-1072222F0:lI101|H107225498
-107225498:lI103|H1072282F0
-1072282F0:lI97|H10722AD38
-10722AD38:lI99|H10722D450
-10722D450:lI111|H10722F8E8
-10722F8E8:lI95|H107231A80
-107231A80:lI99|H107233908
-107233908:lI111|H1072354A0
-1072354A0:lI110|H107236DD8
-107236DD8:lI102|H1072384D0
-1072384D0:lI105|H1072399E8
-1072399E8:lI103|H10723ADA0
-10723ADA0:lI46|H10723BED0
-10723BED0:lI98|H10723CE80
-10723CE80:lI101|H10723DC80
-10723DC80:lI97|H10723E8F0
-10723E8F0:lI109|N
-107218350:Mn4:H10721B870,H10721B888,H10721B898,H10721B8A8
-10721B870:Mn2:H10721EDC0,H10721EDD0
-10721EDC0:lH107222280|N
-107222280:lI109|H107225428
-107225428:lI101|H107228280
-107228280:lI103|H10722ACC8
-10722ACC8:lI97|H10722D3E0
-10722D3E0:lI99|H10722F878
-10722F878:lI111|H107231A10
-107231A10:lI95|H107233898
-107233898:lI109|H107235430
-107235430:lI101|H107236D68
-107236D68:lI115|H107238460
-107238460:lI115|H107239978
-107239978:lI101|H10723AD30
-10723AD30:lI110|H10723BE60
-10723BE60:lI103|H10723CE10
-10723CE10:lI101|H10723DC10
-10723DC10:lI114|H10723E880
-10723E880:lI46|H10723F400
-10723F400:lI98|H10723FE30
-10723FE30:lI101|H107240720
-107240720:lI97|H107240F40
-107240F40:lI109|N
-10721EDD0:lH107222290|N
-107222290:lI109|H107225438
-107225438:lI101|H107228290
-107228290:lI103|H10722ACD8
-10722ACD8:lI97|H10722D3F0
-10722D3F0:lI99|H10722F888
-10722F888:lI111|H107231A20
-107231A20:lI95|H1072338A8
-1072338A8:lI98|H107235440
-107235440:lI105|H107236D78
-107236D78:lI110|H107238470
-107238470:lI97|H107239988
-107239988:lI114|H10723AD40
-10723AD40:lI121|H10723BE70
-10723BE70:lI95|H10723CE20
-10723CE20:lI116|H10723DC20
-10723DC20:lI114|H10723E890
-10723E890:lI97|H10723F410
-10723F410:lI110|H10723FE40
-10723FE40:lI115|H107240730
-107240730:lI102|H107240F50
-107240F50:lI111|H1072416A0
-1072416A0:lI114|H107241DB0
-107241DB0:lI109|H107242460
-107242460:lI101|H107242AB0
-107242AB0:lI114|H107243070
-107243070:lI95|H1072435E0
-1072435E0:lI118|H107243B10
-107243B10:lI50|H107244000
-107244000:lI46|H1072444F0
-1072444F0:lI98|H1072449A0
-1072449A0:lI101|H107244E10
-107244E10:lI97|H107245270
-107245270:lI109|N
-10721B8A8:Mn1:H10721EE00
-10721EE00:Mn2:H1072222C0,H1072222D0
-1072222C0:lH107225468|N
-107225468:lI109|H1072282C0
-1072282C0:lI101|H10722AD08
-10722AD08:lI103|H10722D420
-10722D420:lI97|H10722F8B8
-10722F8B8:lI99|H107231A50
-107231A50:lI111|H1072338D8
-1072338D8:lI95|H107235470
-107235470:lI98|H107236DA8
-107236DA8:lI105|H1072384A0
-1072384A0:lI110|H1072399B8
-1072399B8:lI97|H10723AD70
-10723AD70:lI114|H10723BEA0
-10723BEA0:lI121|H10723CE50
-10723CE50:lI95|H10723DC50
-10723DC50:lI101|H10723E8C0
-10723E8C0:lI110|H10723F440
-10723F440:lI99|H10723FE70
-10723FE70:lI111|H107240760
-107240760:lI100|H107240F70
-107240F70:lI101|H1072416C0
-1072416C0:lI114|H107241DD0
-107241DD0:lI46|H107242480
-107242480:lI98|H107242AD0
-107242AD0:lI101|H107243090
-107243090:lI97|H107243600
-107243600:lI109|N
-1072222D0:lH107225478|N
-107225478:lI109|H1072282D0
-1072282D0:lI101|H10722AD18
-10722AD18:lI103|H10722D430
-10722D430:lI97|H10722F8C8
-10722F8C8:lI99|H107231A60
-107231A60:lI111|H1072338E8
-1072338E8:lI95|H107235480
-107235480:lI99|H107236DB8
-107236DB8:lI111|H1072384B0
-1072384B0:lI110|H1072399C8
-1072399C8:lI102|H10723AD80
-10723AD80:lI105|H10723BEB0
-10723BEB0:lI103|H10723CE60
-10723CE60:lI95|H10723DC60
-10723DC60:lI109|H10723E8D0
-10723E8D0:lI105|H10723F450
-10723F450:lI115|H10723FE80
-10723FE80:lI99|H107240770
-107240770:lI46|H107240F80
-107240F80:lI98|H1072416D0
-1072416D0:lI101|H107241DE0
-107241DE0:lI97|H107242490
-107242490:lI109|N
-10721B898:lH10721EDF0|N
-10721EDF0:lI109|H1072222B0
-1072222B0:lI101|H107225458
-107225458:lI103|H1072282B0
-1072282B0:lI97|H10722ACF8
-10722ACF8:lI99|H10722D410
-10722D410:lI111|H10722F8A8
-10722F8A8:lI95|H107231A40
-107231A40:lI112|H1072338C8
-1072338C8:lI114|H107235460
-107235460:lI101|H107236D98
-107236D98:lI116|H107238490
-107238490:lI116|H1072399A8
-1072399A8:lI121|H10723AD60
-10723AD60:lI95|H10723BE90
-10723BE90:lI116|H10723CE40
-10723CE40:lI101|H10723DC40
-10723DC40:lI120|H10723E8B0
-10723E8B0:lI116|H10723F430
-10723F430:lI95|H10723FE60
-10723FE60:lI101|H107240750
-107240750:lI110|H107240F60
-107240F60:lI99|H1072416B0
-1072416B0:lI111|H107241DC0
-107241DC0:lI100|H107242470
-107242470:lI101|H107242AC0
-107242AC0:lI114|H107243080
-107243080:lI46|H1072435F0
-1072435F0:lI98|H107243B20
-107243B20:lI101|H107244010
-107244010:lI97|H107244500
-107244500:lI109|N
-10721B888:lH10721EDE0|N
-10721EDE0:lI109|H1072222A0
-1072222A0:lI101|H107225448
-107225448:lI103|H1072282A0
-1072282A0:lI97|H10722ACE8
-10722ACE8:lI99|H10722D400
-10722D400:lI111|H10722F898
-10722F898:lI95|H107231A30
-107231A30:lI116|H1072338B8
-1072338B8:lI114|H107235450
-107235450:lI97|H107236D88
-107236D88:lI110|H107238480
-107238480:lI115|H107239998
-107239998:lI95|H10723AD50
-10723AD50:lI115|H10723BE80
-10723BE80:lI117|H10723CE30
-10723CE30:lI112|H10723DC30
-10723DC30:lI46|H10723E8A0
-10723E8A0:lI98|H10723F420
-10723F420:lI101|H10723FE50
-10723FE50:lI97|H107240740
-107240740:lI109|N
-107218320:Mn5:H10721B820,H10721B830,H10721B840,H10721B850,H10721B860
-10721B820:lH10721ED70|N
-10721ED70:lI109|H107222230
-107222230:lI101|H1072253D8
-1072253D8:lI103|H107228230
-107228230:lI97|H10722AC78
-10722AC78:lI99|H10722D390
-10722D390:lI111|H10722F828
-10722F828:lI95|H1072319C0
-1072319C0:lI117|H107233848
-107233848:lI100|H1072353E0
-1072353E0:lI112|H107236D18
-107236D18:lI46|H107238410
-107238410:lI98|H107239928
-107239928:lI101|H10723ACE0
-10723ACE0:lI97|H10723BE10
-10723BE10:lI109|N
-10721B860:lH10721EDB0|N
-10721EDB0:lI109|H107222270
-107222270:lI101|H107225418
-107225418:lI103|H107228270
-107228270:lI97|H10722ACB8
-10722ACB8:lI99|H10722D3D0
-10722D3D0:lI111|H10722F868
-10722F868:lI95|H107231A00
-107231A00:lI98|H107233888
-107233888:lI101|H107235420
-107235420:lI114|H107236D58
-107236D58:lI95|H107238450
-107238450:lI109|H107239968
-107239968:lI101|H10723AD20
-10723AD20:lI100|H10723BE50
-10723BE50:lI105|H10723CE00
-10723CE00:lI97|H10723DC00
-10723DC00:lI95|H10723E870
-10723E870:lI103|H10723F3F0
-10723F3F0:lI97|H10723FE20
-10723FE20:lI116|H107240710
-107240710:lI101|H107240F30
-107240F30:lI119|H107241690
-107241690:lI97|H107241DA0
-107241DA0:lI121|H107242450
-107242450:lI95|H107242AA0
-107242AA0:lI99|H107243060
-107243060:lI111|H1072435D0
-1072435D0:lI110|H107243B00
-107243B00:lI116|H107243FF0
-107243FF0:lI114|H1072444E0
-1072444E0:lI111|H107244990
-107244990:lI108|H107244E00
-107244E00:lI95|H107245260
-107245260:lI118|H1072456B0
-1072456B0:lI49|H107245AB0
-107245AB0:lI46|H107245E60
-107245E60:lI98|H1072461F0
-1072461F0:lI101|H107246580
-107246580:lI97|H107246910
-107246910:lI109|N
-10721B850:lH10721EDA0|N
-10721EDA0:lI109|H107222260
-107222260:lI101|H107225408
-107225408:lI103|H107228260
-107228260:lI97|H10722ACA8
-10722ACA8:lI99|H10722D3C0
-10722D3C0:lI111|H10722F858
-10722F858:lI95|H1072319F0
-1072319F0:lI116|H107233878
-107233878:lI99|H107235410
-107235410:lI112|H107236D48
-107236D48:lI95|H107238440
-107238440:lI99|H107239958
-107239958:lI111|H10723AD10
-10723AD10:lI110|H10723BE40
-10723BE40:lI110|H10723CDF0
-10723CDF0:lI101|H10723DBF0
-10723DBF0:lI99|H10723E860
-10723E860:lI116|H10723F3E0
-10723F3E0:lI105|H10723FE10
-10723FE10:lI111|H107240700
-107240700:lI110|H107240F20
-107240F20:lI46|H107241680
-107241680:lI98|H107241D90
-107241D90:lI101|H107242440
-107242440:lI97|H107242A90
-107242A90:lI109|N
-10721B840:lH10721ED90|N
-10721ED90:lI109|H107222250
-107222250:lI101|H1072253F8
-1072253F8:lI103|H107228250
-107228250:lI97|H10722AC98
-10722AC98:lI99|H10722D3B0
-10722D3B0:lI111|H10722F848
-10722F848:lI95|H1072319E0
-1072319E0:lI116|H107233868
-107233868:lI101|H107235400
-107235400:lI120|H107236D38
-107236D38:lI116|H107238430
-107238430:lI95|H107239948
-107239948:lI115|H10723AD00
-10723AD00:lI99|H10723BE30
-10723BE30:lI97|H10723CDE0
-10723CDE0:lI110|H10723DBE0
-10723DBE0:lI110|H10723E850
-10723E850:lI101|H10723F3D0
-10723F3D0:lI114|H10723FE00
-10723FE00:lI46|H1072406F0
-1072406F0:lI98|H107240F10
-107240F10:lI101|H107241670
-107241670:lI97|H107241D80
-107241D80:lI109|N
-10721B830:lH10721ED80|N
-10721ED80:lI109|H107222240
-107222240:lI101|H1072253E8
-1072253E8:lI103|H107228240
-107228240:lI97|H10722AC88
-10722AC88:lI99|H10722D3A0
-10722D3A0:lI111|H10722F838
-10722F838:lI95|H1072319D0
-1072319D0:lI117|H107233858
-107233858:lI100|H1072353F0
-1072353F0:lI112|H107236D28
-107236D28:lI95|H107238420
-107238420:lI115|H107239938
-107239938:lI101|H10723ACF0
-10723ACF0:lI114|H10723BE20
-10723BE20:lI118|H10723CDD0
-10723CDD0:lI101|H10723DBD0
-10723DBD0:lI114|H10723E840
-10723E840:lI46|H10723F3C0
-10723F3C0:lI98|H10723FDF0
-10723FDF0:lI101|H1072406E0
-1072406E0:lI97|H107240F00
-107240F00:lI109|N
-107214EB0:lI47|H1072182F0
-1072182F0:lI111|H10721B7E0
-10721B7E0:lI112|H10721ED30
-10721ED30:lI116|H1072221F0
-1072221F0:lI47|H107225398
-107225398:lI104|H1072281F0
-1072281F0:lI111|H10722AC38
-10722AC38:lI109|H10722D350
-10722D350:lI101|H10722F7E8
-10722F7E8:lI98|H107231980
-107231980:lI114|H107233808
-107233808:lI101|H1072353A0
-1072353A0:lI119|H107236CD8
-107236CD8:lI47|H1072383D0
-1072383D0:lI67|H1072398E8
-1072398E8:lI101|H10723ACA0
-10723ACA0:lI108|H10723BDD0
-10723BDD0:lI108|H10723CD90
-10723CD90:lI97|H10723DB90
-10723DB90:lI114|H10723E810
-10723E810:lI47|H10723F390
-10723F390:lI101|H10723FDC0
-10723FDC0:lI114|H1072406B0
-1072406B0:lI108|H107240ED0
-107240ED0:lI97|H107241640
-107241640:lI110|H107241D50
-107241D50:lI103|H107242410
-107242410:lI47|H107242A60
-107242A60:lI50|H107243040
-107243040:lI54|H1072435B0
-1072435B0:lI46|H107243AE0
-107243AE0:lI48|H107243FD0
-107243FD0:lI46|H1072444C0
-1072444C0:lI50|H107244970
-107244970:lI47|H107244DE0
-107244DE0:lI108|H107245240
-107245240:lI105|H107245690
-107245690:lI98|H107245A90
-107245A90:lI47|H107245E40
-107245E40:lI101|H1072461D0
-1072461D0:lI114|H107246560
-107246560:lI108|H1072468F0
-1072468F0:lI97|H107246C80
-107246C80:lI110|H107246FB0
-107246FB0:lI103|H1072472D0
-1072472D0:lI47|H1072475E0
-1072475E0:lI108|H1072478E0
-1072478E0:lI105|H107247BE0
-107247BE0:lI98|H107247EC0
-107247EC0:lI47|H107248180
-107248180:lI109|H107248440
-107248440:lI101|H1072486F0
-1072486F0:lI103|H1072489A0
-1072489A0:lI97|H107248C20
-107248C20:lI99|H107248E90
-107248E90:lI111|H107249100
-107249100:lI45|H107249360
-107249360:lI52|H1072495C0
-1072495C0:lI46|H107249810
-107249810:lI52|H107249A30
-107249A30:lI46|H107249C30
-107249C30:lI52|H107249E10
-107249E10:lI47|H280052C20
-107211A88:lH107214F48|H107214F60
-107214F48:t2:H107218548,H107218558
-107218558:Mh41:10:H10721BBD8,H10721BBF8,H10721BC20,H10721BC50,H10721BC68,H10721BC78,H10721BCA8,H10721BCD8,H10721BCF8,H10721BD18,H10721BD48,H10721BD88,H10721BDA0,H10721BDC8,H10721BDF8,H10721BE10
-10721BBD8:Mn3:H10721F170,H10721F188,H10721F198
-10721F170:Mn2:H107222640,H107222650
-107222640:lH1072257E8|N
-1072257E8:lI105|H107228640
-107228640:lI110|H10722B088
-10722B088:lI101|H10722D7A0
-10722D7A0:lI116|H10722FC38
-10722FC38:lI115|H107231DD0
-107231DD0:lI95|H107233C58
-107233C58:lI115|H1072357F0
-1072357F0:lI101|H107237118
-107237118:lI114|H107238810
-107238810:lI118|H107239D08
-107239D08:lI105|H10723B0C0
-10723B0C0:lI99|H10723C1F0
-10723C1F0:lI101|H10723D170
-10723D170:lI46|H10723DF60
-10723DF60:lI98|H10723EBC0
-10723EBC0:lI101|H10723F720
-10723F720:lI97|H107240120
-107240120:lI109|N
-107222650:lH1072257F8|N
-1072257F8:lI104|H107228650
-107228650:lI116|H10722B098
-10722B098:lI116|H10722D7B0
-10722D7B0:lI112|H10722FC48
-10722FC48:lI99|H107231DE0
-107231DE0:lI95|H107233C68
-107233C68:lI114|H107235800
-107235800:lI101|H107237128
-107237128:lI115|H107238820
-107238820:lI112|H107239D18
-107239D18:lI111|H10723B0D0
-10723B0D0:lI110|H10723C200
-10723C200:lI115|H10723D180
-10723D180:lI101|H10723DF70
-10723DF70:lI46|H10723EBD0
-10723EBD0:lI98|H10723F730
-10723F730:lI101|H107240130
-107240130:lI97|H107240A00
-107240A00:lI109|N
-10721F198:lH107222670|N
-107222670:lI104|H107225818
-107225818:lI116|H107228670
-107228670:lI116|H10722B0B8
-10722B0B8:lI112|H10722D7D0
-10722D7D0:lI100|H10722FC68
-10722FC68:lI95|H107231E00
-107231E00:lI114|H107233C88
-107233C88:lI101|H107235820
-107235820:lI115|H107237148
-107237148:lI112|H107238840
-107238840:lI111|H107239D38
-107239D38:lI110|H10723B0F0
-10723B0F0:lI115|H10723C220
-10723C220:lI101|H10723D1A0
-10723D1A0:lI46|H10723DF90
-10723DF90:lI98|H10723EBF0
-10723EBF0:lI101|H10723F750
-10723F750:lI97|H107240150
-107240150:lI109|N
-10721F188:lH107222660|N
-107222660:lI109|H107225808
-107225808:lI111|H107228660
-107228660:lI100|H10722B0A8
-10722B0A8:lI95|H10722D7C0
-10722D7C0:lI97|H10722FC58
-10722FC58:lI117|H107231DF0
-107231DF0:lI116|H107233C78
-107233C78:lI104|H107235810
-107235810:lI95|H107237138
-107237138:lI115|H107238830
-107238830:lI101|H107239D28
-107239D28:lI114|H10723B0E0
-10723B0E0:lI118|H10723C210
-10723C210:lI101|H10723D190
-10723D190:lI114|H10723DF80
-10723DF80:lI46|H10723EBE0
-10723EBE0:lI98|H10723F740
-10723F740:lI101|H107240140
-107240140:lI97|H107240A10
-107240A10:lI109|N
-10721BE10:Mn4:H10721F518,H10721F528,H10721F538,H10721F548
-10721F518:lH107222A10|N
-107222A10:lI109|H107225BB8
-107225BB8:lI111|H107228A10
-107228A10:lI100|H10722B458
-10722B458:lI95|H10722DB70
-10722DB70:lI115|H107230008
-107230008:lI101|H1072321A0
-1072321A0:lI99|H107234028
-107234028:lI117|H107235BC0
-107235BC0:lI114|H1072374E8
-1072374E8:lI105|H107238BA0
-107238BA0:lI116|H10723A088
-10723A088:lI121|H10723B400
-10723B400:lI95|H10723C520
-10723C520:lI115|H10723D3F0
-10723D3F0:lI101|H10723E190
-10723E190:lI114|H10723EDD0
-10723EDD0:lI118|H10723F8B0
-10723F8B0:lI101|H107240220
-107240220:lI114|H107240AB0
-107240AB0:lI46|H107241270
-107241270:lI98|H1072419A0
-1072419A0:lI101|H107242070
-107242070:lI97|H1072426E0
-1072426E0:lI109|N
-10721F548:lH107222A40|N
-107222A40:lI109|H107225BE8
-107225BE8:lI111|H107228A40
-107228A40:lI100|H10722B488
-10722B488:lI95|H10722DBA0
-10722DBA0:lI104|H107230038
-107230038:lI101|H1072321D0
-1072321D0:lI97|H107234058
-107234058:lI100|H107235BF0
-107235BF0:lI46|H107237518
-107237518:lI98|H107238BD0
-107238BD0:lI101|H10723A0B8
-10723A0B8:lI97|H10723B420
-10723B420:lI109|N
-10721F538:lH107222A30|N
-107222A30:lI109|H107225BD8
-107225BD8:lI111|H107228A30
-107228A30:lI100|H10722B478
-10722B478:lI95|H10722DB90
-10722DB90:lI108|H107230028
-107230028:lI111|H1072321C0
-1072321C0:lI103|H107234048
-107234048:lI46|H107235BE0
-107235BE0:lI98|H107237508
-107237508:lI101|H107238BC0
-107238BC0:lI97|H10723A0A8
-10723A0A8:lI109|N
-10721F528:lH107222A20|N
-107222A20:lI109|H107225BC8
-107225BC8:lI111|H107228A20
-107228A20:lI100|H10722B468
-10722B468:lI95|H10722DB80
-10722DB80:lI97|H107230018
-107230018:lI117|H1072321B0
-1072321B0:lI116|H107234038
-107234038:lI104|H107235BD0
-107235BD0:lI95|H1072374F8
-1072374F8:lI109|H107238BB0
-107238BB0:lI110|H10723A098
-10723A098:lI101|H10723B410
-10723B410:lI115|H10723C530
-10723C530:lI105|H10723D400
-10723D400:lI97|H10723E1A0
-10723E1A0:lI46|H10723EDE0
-10723EDE0:lI98|H10723F8C0
-10723F8C0:lI101|H107240230
-107240230:lI97|H107240AC0
-107240AC0:lI109|N
-10721BDF8:Mn2:H10721F4F0,H10721F508
-10721F4F0:Mn2:H1072229E0,H1072229F0
-1072229E0:lH107225B88|N
-107225B88:lI109|H1072289E0
-1072289E0:lI111|H10722B428
-10722B428:lI100|H10722DB40
-10722DB40:lI95|H10722FFD8
-10722FFD8:lI97|H107232170
-107232170:lI99|H107233FF8
-107233FF8:lI116|H107235B90
-107235B90:lI105|H1072374B8
-1072374B8:lI111|H107238B80
-107238B80:lI110|H10723A068
-10723A068:lI115|H10723B3E0
-10723B3E0:lI46|H10723C500
-10723C500:lI98|H10723D3E0
-10723D3E0:lI101|H10723E180
-10723E180:lI97|H10723EDC0
-10723EDC0:lI109|N
-1072229F0:lH107225B98|N
-107225B98:lI109|H1072289F0
-1072289F0:lI111|H10722B438
-10722B438:lI100|H10722DB50
-10722DB50:lI95|H10722FFE8
-10722FFE8:lI97|H107232180
-107232180:lI117|H107234008
-107234008:lI116|H107235BA0
-107235BA0:lI104|H1072374C8
-1072374C8:lI46|H107238B90
-107238B90:lI98|H10723A078
-10723A078:lI101|H10723B3F0
-10723B3F0:lI97|H10723C510
-10723C510:lI109|N
-10721F508:lH107222A00|N
-107222A00:lI104|H107225BA8
-107225BA8:lI116|H107228A00
-107228A00:lI116|H10722B448
-10722B448:lI112|H10722DB60
-10722DB60:lI99|H10722FFF8
-10722FFF8:lI46|H107232190
-107232190:lI98|H107234018
-107234018:lI101|H107235BB0
-107235BB0:lI97|H1072374D8
-1072374D8:lI109|N
-10721BDC8:Mn5:H10721F4A0,H10721F4B0,H10721F4C0,H10721F4D0,H10721F4E0
-10721F4A0:lH107222990|N
-107222990:lI104|H107225B38
-107225B38:lI116|H107228990
-107228990:lI116|H10722B3D8
-10722B3D8:lI112|H10722DAF0
-10722DAF0:lI99|H10722FF88
-10722FF88:lI95|H107232120
-107232120:lI104|H107233FA8
-107233FA8:lI97|H107235B40
-107235B40:lI110|H107237468
-107237468:lI100|H107238B50
-107238B50:lI108|H10723A038
-10723A038:lI101|H10723B3B0
-10723B3B0:lI114|H10723C4D0
-10723C4D0:lI95|H10723D3B0
-10723D3B0:lI115|H10723E150
-10723E150:lI117|H10723ED90
-10723ED90:lI112|H10723F880
-10723F880:lI46|H107240200
-107240200:lI98|H107240AA0
-107240AA0:lI101|H107241260
-107241260:lI97|H107241990
-107241990:lI109|N
-10721F4E0:lH1072229D0|N
-1072229D0:lI105|H107225B78
-107225B78:lI110|H1072289D0
-1072289D0:lI101|H10722B418
-10722B418:lI116|H10722DB30
-10722DB30:lI115|H10722FFC8
-10722FFC8:lI46|H107232160
-107232160:lI98|H107233FE8
-107233FE8:lI101|H107235B80
-107235B80:lI97|H1072374A8
-1072374A8:lI109|N
-10721F4D0:lH1072229C0|N
-1072229C0:lI104|H107225B68
-107225B68:lI116|H1072289C0
-1072289C0:lI116|H10722B408
-10722B408:lI112|H10722DB20
-10722DB20:lI100|H10722FFB8
-10722FFB8:lI95|H107232150
-107232150:lI109|H107233FD8
-107233FD8:lI105|H107235B70
-107235B70:lI115|H107237498
-107237498:lI99|H107238B70
-107238B70:lI95|H10723A058
-10723A058:lI115|H10723B3D0
-10723B3D0:lI117|H10723C4F0
-10723C4F0:lI112|H10723D3D0
-10723D3D0:lI46|H10723E170
-10723E170:lI98|H10723EDB0
-10723EDB0:lI101|H10723F8A0
-10723F8A0:lI97|H107240210
-107240210:lI109|N
-10721F4C0:lH1072229B0|N
-1072229B0:lI104|H107225B58
-107225B58:lI116|H1072289B0
-1072289B0:lI116|H10722B3F8
-10722B3F8:lI112|H10722DB10
-10722DB10:lI100|H10722FFA8
-10722FFA8:lI46|H107232140
-107232140:lI98|H107233FC8
-107233FC8:lI101|H107235B60
-107235B60:lI97|H107237488
-107237488:lI109|N
-10721F4B0:lH1072229A0|N
-1072229A0:lI104|H107225B48
-107225B48:lI116|H1072289A0
-1072289A0:lI116|H10722B3E8
-10722B3E8:lI112|H10722DB00
-10722DB00:lI100|H10722FF98
-10722FF98:lI95|H107232130
-107232130:lI109|H107233FB8
-107233FB8:lI97|H107235B50
-107235B50:lI110|H107237478
-107237478:lI97|H107238B60
-107238B60:lI103|H10723A048
-10723A048:lI101|H10723B3C0
-10723B3C0:lI114|H10723C4E0
-10723C4E0:lI46|H10723D3C0
-10723D3C0:lI98|H10723E160
-10723E160:lI101|H10723EDA0
-10723EDA0:lI97|H10723F890
-10723F890:lI109|N
-10721BDA0:Mn4:H10721F460,H10721F470,H10721F480,H10721F490
-10721F460:lH107222950|N
-107222950:lI104|H107225AF8
-107225AF8:lI116|H107228950
-107228950:lI116|H10722B398
-10722B398:lI112|H10722DAB0
-10722DAB0:lI100|H10722FF48
-10722FF48:lI95|H1072320E0
-1072320E0:lI115|H107233F68
-107233F68:lI117|H107235B00
-107235B00:lI112|H107237428
-107237428:lI46|H107238B10
-107238B10:lI98|H107239FF8
-107239FF8:lI101|H10723B380
-10723B380:lI97|H10723C4A0
-10723C4A0:lI109|N
-10721F490:lH107222980|N
-107222980:lI109|H107225B28
-107225B28:lI111|H107228980
-107228980:lI100|H10722B3C8
-10722B3C8:lI95|H10722DAE0
-10722DAE0:lI103|H10722FF78
-10722FF78:lI101|H107232110
-107232110:lI116|H107233F98
-107233F98:lI46|H107235B30
-107235B30:lI98|H107237458
-107237458:lI101|H107238B40
-107238B40:lI97|H10723A028
-10723A028:lI109|N
-10721F480:lH107222970|N
-107222970:lI104|H107225B18
-107225B18:lI116|H107228970
-107228970:lI116|H10722B3B8
-10722B3B8:lI112|H10722DAD0
-10722DAD0:lI95|H10722FF68
-10722FF68:lI114|H107232100
-107232100:lI101|H107233F88
-107233F88:lI115|H107235B20
-107235B20:lI112|H107237448
-107237448:lI111|H107238B30
-107238B30:lI110|H10723A018
-10723A018:lI115|H10723B3A0
-10723B3A0:lI101|H10723C4C0
-10723C4C0:lI46|H10723D3A0
-10723D3A0:lI98|H10723E140
-10723E140:lI101|H10723ED80
-10723ED80:lI97|H10723F870
-10723F870:lI109|N
-10721F470:lH107222960|N
-107222960:lI104|H107225B08
-107225B08:lI116|H107228960
-107228960:lI116|H10722B3A8
-10722B3A8:lI112|H10722DAC0
-10722DAC0:lI100|H10722FF58
-10722FF58:lI95|H1072320F0
-1072320F0:lI108|H107233F78
-107233F78:lI111|H107235B10
-107235B10:lI103|H107237438
-107237438:lI103|H107238B20
-107238B20:lI101|H10723A008
-10723A008:lI114|H10723B390
-10723B390:lI46|H10723C4B0
-10723C4B0:lI98|H10723D390
-10723D390:lI101|H10723E130
-10723E130:lI97|H10723ED70
-10723ED70:lI109|N
-10721BD88:Mn2:H10721F440,H10721F450
-10721F440:lH107222930|N
-107222930:lI109|H107225AD8
-107225AD8:lI111|H107228930
-107228930:lI100|H10722B378
-10722B378:lI95|H10722DA90
-10722DA90:lI100|H10722FF28
-10722FF28:lI105|H1072320C0
-1072320C0:lI114|H107233F48
-107233F48:lI46|H107235AE0
-107235AE0:lI98|H107237408
-107237408:lI101|H107238AF0
-107238AF0:lI97|H107239FD8
-107239FD8:lI109|N
-10721F450:lH107222940|N
-107222940:lI104|H107225AE8
-107225AE8:lI116|H107228940
-107228940:lI116|H10722B388
-10722B388:lI112|H10722DAA0
-10722DAA0:lI95|H10722FF38
-10722FF38:lI117|H1072320D0
-1072320D0:lI116|H107233F58
-107233F58:lI105|H107235AF0
-107235AF0:lI108|H107237418
-107237418:lI46|H107238B00
-107238B00:lI98|H107239FE8
-107239FE8:lI101|H10723B370
-10723B370:lI97|H10723C490
-10723C490:lI109|N
-10721BD48:Mn7:H10721F3C8,H10721F3D8,H10721F3E8,H10721F3F8,H10721F410,H10721F420,H10721F430
-10721F3C8:lH1072228B0|N
-1072228B0:lI104|H107225A58
-107225A58:lI116|H1072288B0
-1072288B0:lI116|H10722B2F8
-10722B2F8:lI112|H10722DA10
-10722DA10:lI100|H10722FEA8
-10722FEA8:lI95|H107232040
-107232040:lI101|H107233EC8
-107233EC8:lI120|H107235A60
-107235A60:lI97|H107237388
-107237388:lI109|H107238A70
-107238A70:lI112|H107239F58
-107239F58:lI108|H10723B2F0
-10723B2F0:lI101|H10723C410
-10723C410:lI46|H10723D330
-10723D330:lI98|H10723E100
-10723E100:lI101|H10723ED40
-10723ED40:lI97|H10723F850
-10723F850:lI109|N
-10721F430:lH107222920|N
-107222920:lI104|H107225AC8
-107225AC8:lI116|H107228920
-107228920:lI116|H10722B368
-10722B368:lI112|H10722DA80
-10722DA80:lI100|H10722FF18
-10722FF18:lI95|H1072320B0
-1072320B0:lI102|H107233F38
-107233F38:lI105|H107235AD0
-107235AD0:lI108|H1072373F8
-1072373F8:lI101|H107238AE0
-107238AE0:lI46|H107239FC8
-107239FC8:lI98|H10723B360
-10723B360:lI101|H10723C480
-10723C480:lI97|H10723D380
-10723D380:lI109|N
-10721F420:lH107222910|N
-107222910:lI104|H107225AB8
-107225AB8:lI116|H107228910
-107228910:lI116|H10722B358
-10722B358:lI112|H10722DA70
-10722DA70:lI99|H10722FF08
-10722FF08:lI95|H1072320A0
-1072320A0:lI99|H107233F28
-107233F28:lI111|H107235AC0
-107235AC0:lI111|H1072373E8
-1072373E8:lI107|H107238AD0
-107238AD0:lI105|H107239FB8
-107239FB8:lI101|H10723B350
-10723B350:lI46|H10723C470
-10723C470:lI98|H10723D370
-10723D370:lI101|H10723E120
-10723E120:lI97|H10723ED60
-10723ED60:lI109|N
-10721F410:lH107222900|N
-107222900:lI104|H107225AA8
-107225AA8:lI116|H107228900
-107228900:lI116|H10722B348
-10722B348:lI112|H10722DA60
-10722DA60:lI99|H10722FEF8
-10722FEF8:lI95|H107232090
-107232090:lI114|H107233F18
-107233F18:lI101|H107235AB0
-107235AB0:lI113|H1072373D8
-1072373D8:lI117|H107238AC0
-107238AC0:lI101|H107239FA8
-107239FA8:lI115|H10723B340
-10723B340:lI116|H10723C460
-10723C460:lI46|H10723D360
-10723D360:lI98|H10723E110
-10723E110:lI101|H10723ED50
-10723ED50:lI97|H10723F860
-10723F860:lI109|N
-10721F3F8:Mn2:H1072228E0,H1072228F0
-1072228E0:lH107225A88|N
-107225A88:lI104|H1072288E0
-1072288E0:lI116|H10722B328
-10722B328:lI116|H10722DA40
-10722DA40:lI112|H10722FED8
-10722FED8:lI100|H107232070
-107232070:lI95|H107233EF8
-107233EF8:lI99|H107235A90
-107235A90:lI103|H1072373B8
-1072373B8:lI105|H107238AA0
-107238AA0:lI46|H107239F88
-107239F88:lI98|H10723B320
-10723B320:lI101|H10723C440
-10723C440:lI97|H10723D340
-10723D340:lI109|N
-1072228F0:lH107225A98|N
-107225A98:lI109|H1072288F0
-1072288F0:lI111|H10722B338
-10722B338:lI100|H10722DA50
-10722DA50:lI95|H10722FEE8
-10722FEE8:lI97|H107232080
-107232080:lI108|H107233F08
-107233F08:lI105|H107235AA0
-107235AA0:lI97|H1072373C8
-1072373C8:lI115|H107238AB0
-107238AB0:lI46|H107239F98
-107239F98:lI98|H10723B330
-10723B330:lI101|H10723C450
-10723C450:lI97|H10723D350
-10723D350:lI109|N
-10721F3E8:lH1072228D0|N
-1072228D0:lI105|H107225A78
-107225A78:lI110|H1072288D0
-1072288D0:lI101|H10722B318
-10722B318:lI116|H10722DA30
-10722DA30:lI115|H10722FEC8
-10722FEC8:lI95|H107232060
-107232060:lI97|H107233EE8
-107233EE8:lI112|H107235A80
-107235A80:lI112|H1072373A8
-1072373A8:lI46|H107238A90
-107238A90:lI98|H107239F78
-107239F78:lI101|H10723B310
-10723B310:lI97|H10723C430
-10723C430:lI109|N
-10721F3D8:lH1072228C0|N
-1072228C0:lI109|H107225A68
-107225A68:lI111|H1072288C0
-1072288C0:lI100|H10722B308
-10722B308:lI95|H10722DA20
-10722DA20:lI114|H10722FEB8
-10722FEB8:lI97|H107232050
-107232050:lI110|H107233ED8
-107233ED8:lI103|H107235A70
-107235A70:lI101|H107237398
-107237398:lI46|H107238A80
-107238A80:lI98|H107239F68
-107239F68:lI101|H10723B300
-10723B300:lI97|H10723C420
-10723C420:lI109|N
-10721BD18:Mn5:H10721F378,H10721F388,H10721F398,H10721F3A8,H10721F3B8
-10721F378:lH107222860|N
-107222860:lI104|H107225A08
-107225A08:lI116|H107228860
-107228860:lI116|H10722B2A8
-10722B2A8:lI112|H10722D9C0
-10722D9C0:lI99|H10722FE58
-10722FE58:lI95|H107231FF0
-107231FF0:lI109|H107233E78
-107233E78:lI97|H107235A10
-107235A10:lI110|H107237338
-107237338:lI97|H107238A20
-107238A20:lI103|H107239F08
-107239F08:lI101|H10723B2A0
-10723B2A0:lI114|H10723C3C0
-10723C3C0:lI46|H10723D2E0
-10723D2E0:lI98|H10723E0C0
-10723E0C0:lI101|H10723ED00
-10723ED00:lI97|H10723F820
-10723F820:lI109|N
-10721F3B8:lH1072228A0|N
-1072228A0:lI109|H107225A48
-107225A48:lI111|H1072288A0
-1072288A0:lI100|H10722B2E8
-10722B2E8:lI95|H10722DA00
-10722DA00:lI115|H10722FE98
-10722FE98:lI101|H107232030
-107232030:lI99|H107233EB8
-107233EB8:lI117|H107235A50
-107235A50:lI114|H107237378
-107237378:lI105|H107238A60
-107238A60:lI116|H107239F48
-107239F48:lI121|H10723B2E0
-10723B2E0:lI46|H10723C400
-10723C400:lI98|H10723D320
-10723D320:lI101|H10723E0F0
-10723E0F0:lI97|H10723ED30
-10723ED30:lI109|N
-10721F3A8:lH107222890|N
-107222890:lI104|H107225A38
-107225A38:lI116|H107228890
-107228890:lI116|H10722B2D8
-10722B2D8:lI112|H10722D9F0
-10722D9F0:lI100|H10722FE88
-10722FE88:lI95|H107232020
-107232020:lI99|H107233EA8
-107233EA8:lI111|H107235A40
-107235A40:lI110|H107237368
-107237368:lI102|H107238A50
-107238A50:lI46|H107239F38
-107239F38:lI98|H10723B2D0
-10723B2D0:lI101|H10723C3F0
-10723C3F0:lI97|H10723D310
-10723D310:lI109|N
-10721F398:lH107222880|N
-107222880:lI104|H107225A28
-107225A28:lI116|H107228880
-107228880:lI116|H10722B2C8
-10722B2C8:lI112|H10722D9E0
-10722D9E0:lI95|H10722FE78
-10722FE78:lI116|H107232010
-107232010:lI114|H107233E98
-107233E98:lI97|H107235A30
-107235A30:lI110|H107237358
-107237358:lI115|H107238A40
-107238A40:lI112|H107239F28
-107239F28:lI111|H10723B2C0
-10723B2C0:lI114|H10723C3E0
-10723C3E0:lI116|H10723D300
-10723D300:lI46|H10723E0E0
-10723E0E0:lI98|H10723ED20
-10723ED20:lI101|H10723F840
-10723F840:lI97|H1072401F0
-1072401F0:lI109|N
-10721F388:lH107222870|N
-107222870:lI104|H107225A18
-107225A18:lI116|H107228870
-107228870:lI116|H10722B2B8
-10722B2B8:lI112|H10722D9D0
-10722D9D0:lI100|H10722FE68
-10722FE68:lI95|H107232000
-107232000:lI114|H107233E88
-107233E88:lI101|H107235A20
-107235A20:lI113|H107237348
-107237348:lI117|H107238A30
-107238A30:lI101|H107239F18
-107239F18:lI115|H10723B2B0
-10723B2B0:lI116|H10723C3D0
-10723C3D0:lI95|H10723D2F0
-10723D2F0:lI104|H10723E0D0
-10723E0D0:lI97|H10723ED10
-10723ED10:lI110|H10723F830
-10723F830:lI100|H1072401E0
-1072401E0:lI108|H107240A90
-107240A90:lI101|H107241250
-107241250:lI114|H107241980
-107241980:lI46|H107242060
-107242060:lI98|H1072426D0
-1072426D0:lI101|H107242CE0
-107242CE0:lI97|H107243250
-107243250:lI109|N
-10721BCF8:Mn3:H10721F348,H10721F358,H10721F368
-10721F348:lH107222830|N
-107222830:lI104|H1072259D8
-1072259D8:lI116|H107228830
-107228830:lI116|H10722B278
-10722B278:lI112|H10722D990
-10722D990:lI95|H10722FE28
-10722FE28:lI117|H107231FC0
-107231FC0:lI114|H107233E48
-107233E48:lI105|H1072359E0
-1072359E0:lI46|H107237308
-107237308:lI98|H1072389F0
-1072389F0:lI101|H107239ED8
-107239ED8:lI97|H10723B270
-10723B270:lI109|N
-10721F368:lH107222850|N
-107222850:lI104|H1072259F8
-1072259F8:lI116|H107228850
-107228850:lI116|H10722B298
-10722B298:lI112|H10722D9B0
-10722D9B0:lI99|H10722FE48
-10722FE48:lI95|H107231FE0
-107231FE0:lI112|H107233E68
-107233E68:lI114|H107235A00
-107235A00:lI111|H107237328
-107237328:lI102|H107238A10
-107238A10:lI105|H107239EF8
-107239EF8:lI108|H10723B290
-10723B290:lI101|H10723C3B0
-10723C3B0:lI95|H10723D2D0
-10723D2D0:lI115|H10723E0B0
-10723E0B0:lI117|H10723ECF0
-10723ECF0:lI112|H10723F810
-10723F810:lI46|H1072401D0
-1072401D0:lI98|H107240A80
-107240A80:lI101|H107241240
-107241240:lI97|H107241970
-107241970:lI109|N
-10721F358:lH107222840|N
-107222840:lI104|H1072259E8
-1072259E8:lI116|H107228840
-107228840:lI116|H10722B288
-10722B288:lI112|H10722D9A0
-10722D9A0:lI100|H10722FE38
-10722FE38:lI95|H107231FD0
-107231FD0:lI115|H107233E58
-107233E58:lI99|H1072359F0
-1072359F0:lI114|H107237318
-107237318:lI105|H107238A00
-107238A00:lI112|H107239EE8
-107239EE8:lI116|H10723B280
-10723B280:lI95|H10723C3A0
-10723C3A0:lI101|H10723D2C0
-10723D2C0:lI110|H10723E0A0
-10723E0A0:lI118|H10723ECE0
-10723ECE0:lI46|H10723F800
-10723F800:lI98|H1072401C0
-1072401C0:lI101|H107240A70
-107240A70:lI97|H107241230
-107241230:lI109|N
-10721BCD8:Mn3:H10721F318,H10721F328,H10721F338
-10721F318:lH107222800|N
-107222800:lI105|H1072259A8
-1072259A8:lI110|H107228800
-107228800:lI101|H10722B248
-10722B248:lI116|H10722D960
-10722D960:lI115|H10722FDF8
-10722FDF8:lI46|H107231F90
-107231F90:lI97|H107233E18
-107233E18:lI112|H1072359B0
-1072359B0:lI112|H1072372D8
-1072372D8:lI117|H1072389C0
-1072389C0:lI112|N
-10721F338:lH107222820|N
-107222820:lI104|H1072259C8
-1072259C8:lI116|H107228820
-107228820:lI116|H10722B268
-10722B268:lI112|H10722D980
-10722D980:lI100|H10722FE18
-10722FE18:lI95|H107231FB0
-107231FB0:lI117|H107233E38
-107233E38:lI116|H1072359D0
-1072359D0:lI105|H1072372F8
-1072372F8:lI108|H1072389E0
-1072389E0:lI46|H107239EC8
-107239EC8:lI98|H10723B260
-10723B260:lI101|H10723C390
-10723C390:lI97|H10723D2B0
-10723D2B0:lI109|N
-10721F328:lH107222810|N
-107222810:lI104|H1072259B8
-1072259B8:lI116|H107228810
-107228810:lI116|H10722B258
-10722B258:lI112|H10722D970
-10722D970:lI99|H10722FE08
-10722FE08:lI95|H107231FA0
-107231FA0:lI104|H107233E28
-107233E28:lI97|H1072359C0
-1072359C0:lI110|H1072372E8
-1072372E8:lI100|H1072389D0
-1072389D0:lI108|H107239EB8
-107239EB8:lI101|H10723B250
-10723B250:lI114|H10723C380
-10723C380:lI46|H10723D2A0
-10723D2A0:lI98|H10723E090
-10723E090:lI101|H10723ECD0
-10723ECD0:lI97|H10723F7F0
-10723F7F0:lI109|N
-10721BCA8:Mn5:H10721F2C0,H10721F2D0,H10721F2E8,H10721F2F8,H10721F308
-10721F2C0:lH1072227A0|N
-1072227A0:lI104|H107225948
-107225948:lI116|H1072287A0
-1072287A0:lI116|H10722B1E8
-10722B1E8:lI112|H10722D900
-10722D900:lI100|H10722FD98
-10722FD98:lI95|H107231F30
-107231F30:lI108|H107233DB8
-107233DB8:lI111|H107235950
-107235950:lI103|H107237278
-107237278:lI46|H107238970
-107238970:lI98|H107239E68
-107239E68:lI101|H10723B220
-10723B220:lI97|H10723C350
-10723C350:lI109|N
-10721F308:lH1072227F0|N
-1072227F0:lI109|H107225998
-107225998:lI111|H1072287F0
-1072287F0:lI100|H10722B238
-10722B238:lI95|H10722D950
-10722D950:lI99|H10722FDE8
-10722FDE8:lI103|H107231F80
-107231F80:lI105|H107233E08
-107233E08:lI46|H1072359A0
-1072359A0:lI98|H1072372C8
-1072372C8:lI101|H1072389B0
-1072389B0:lI97|H107239EA8
-107239EA8:lI109|N
-10721F2F8:lH1072227E0|N
-1072227E0:lI109|H107225988
-107225988:lI111|H1072287E0
-1072287E0:lI100|H10722B228
-10722B228:lI95|H10722D940
-10722D940:lI101|H10722FDD8
-10722FDD8:lI115|H107231F70
-107231F70:lI105|H107233DF8
-107233DF8:lI46|H107235990
-107235990:lI98|H1072372B8
-1072372B8:lI101|H1072389A0
-1072389A0:lI97|H107239E98
-107239E98:lI109|N
-10721F2E8:lH1072227D0|N
-1072227D0:lI105|H107225978
-107225978:lI110|H1072287D0
-1072287D0:lI101|H10722B218
-10722B218:lI116|H10722D930
-10722D930:lI115|H10722FDC8
-10722FDC8:lI95|H107231F60
-107231F60:lI116|H107233DE8
-107233DE8:lI114|H107235980
-107235980:lI97|H1072372A8
-1072372A8:lI99|H107238990
-107238990:lI101|H107239E88
-107239E88:lI46|H10723B240
-10723B240:lI98|H10723C370
-10723C370:lI101|H10723D290
-10723D290:lI97|H10723E080
-10723E080:lI109|N
-10721F2D0:Mn2:H1072227B0,H1072227C0
-1072227B0:lH107225958|N
-107225958:lI105|H1072287B0
-1072287B0:lI110|H10722B1F8
-10722B1F8:lI101|H10722D910
-10722D910:lI116|H10722FDA8
-10722FDA8:lI115|H107231F40
-107231F40:lI46|H107233DC8
-107233DC8:lI97|H107235960
-107235960:lI112|H107237288
-107237288:lI112|N
-1072227C0:lH107225968|N
-107225968:lI104|H1072287C0
-1072287C0:lI116|H10722B208
-10722B208:lI116|H10722D920
-10722D920:lI112|H10722FDB8
-10722FDB8:lI100|H107231F50
-107231F50:lI95|H107233DD8
-107233DD8:lI97|H107235970
-107235970:lI99|H107237298
-107237298:lI99|H107238980
-107238980:lI101|H107239E78
-107239E78:lI112|H10723B230
-10723B230:lI116|H10723C360
-10723C360:lI111|H10723D280
-10723D280:lI114|H10723E070
-10723E070:lI95|H10723ECC0
-10723ECC0:lI115|H10723F7E0
-10723F7E0:lI117|H1072401B0
-1072401B0:lI112|H107240A60
-107240A60:lI46|H107241220
-107241220:lI98|H107241960
-107241960:lI101|H107242050
-107242050:lI97|H1072426C0
-1072426C0:lI109|N
-10721BC78:Mn5:H10721F270,H10721F280,H10721F290,H10721F2A0,H10721F2B0
-10721F270:lH107222750|N
-107222750:lI109|H1072258F8
-1072258F8:lI111|H107228750
-107228750:lI100|H10722B198
-10722B198:lI95|H10722D8B0
-10722D8B0:lI114|H10722FD48
-10722FD48:lI101|H107231EE0
-107231EE0:lI115|H107233D68
-107233D68:lI112|H107235900
-107235900:lI111|H107237228
-107237228:lI110|H107238920
-107238920:lI115|H107239E18
-107239E18:lI101|H10723B1D0
-10723B1D0:lI99|H10723C300
-10723C300:lI111|H10723D240
-10723D240:lI110|H10723E030
-10723E030:lI116|H10723EC80
-10723EC80:lI114|H10723F7C0
-10723F7C0:lI111|H1072401A0
-1072401A0:lI108|H107240A50
-107240A50:lI46|H107241210
-107241210:lI98|H107241950
-107241950:lI101|H107242040
-107242040:lI97|H1072426B0
-1072426B0:lI109|N
-10721F2B0:lH107222790|N
-107222790:lI104|H107225938
-107225938:lI116|H107228790
-107228790:lI116|H10722B1D8
-10722B1D8:lI112|H10722D8F0
-10722D8F0:lI100|H10722FD88
-10722FD88:lI95|H107231F20
-107231F20:lI99|H107233DA8
-107233DA8:lI117|H107235940
-107235940:lI115|H107237268
-107237268:lI116|H107238960
-107238960:lI111|H107239E58
-107239E58:lI109|H10723B210
-10723B210:lI46|H10723C340
-10723C340:lI98|H10723D270
-10723D270:lI101|H10723E060
-10723E060:lI97|H10723ECB0
-10723ECB0:lI109|N
-10721F2A0:lH107222780|N
-107222780:lI104|H107225928
-107225928:lI116|H107228780
-107228780:lI116|H10722B1C8
-10722B1C8:lI112|H10722D8E0
-10722D8E0:lI100|H10722FD78
-10722FD78:lI95|H107231F10
-107231F10:lI114|H107233D98
-107233D98:lI101|H107235930
-107235930:lI113|H107237258
-107237258:lI117|H107238950
-107238950:lI101|H107239E48
-107239E48:lI115|H10723B200
-10723B200:lI116|H10723C330
-10723C330:lI46|H10723D260
-10723D260:lI98|H10723E050
-10723E050:lI101|H10723ECA0
-10723ECA0:lI97|H10723F7D0
-10723F7D0:lI109|N
-10721F290:lH107222770|N
-107222770:lI104|H107225918
-107225918:lI116|H107228770
-107228770:lI116|H10722B1B8
-10722B1B8:lI112|H10722D8D0
-10722D8D0:lI100|H10722FD68
-10722FD68:lI95|H107231F00
-107231F00:lI101|H107233D88
-107233D88:lI115|H107235920
-107235920:lI105|H107237248
-107237248:lI46|H107238940
-107238940:lI98|H107239E38
-107239E38:lI101|H10723B1F0
-10723B1F0:lI97|H10723C320
-10723C320:lI109|N
-10721F280:lH107222760|N
-107222760:lI109|H107225908
-107225908:lI111|H107228760
-107228760:lI100|H10722B1A8
-10722B1A8:lI95|H10722D8C0
-10722D8C0:lI100|H10722FD58
-10722FD58:lI105|H107231EF0
-107231EF0:lI115|H107233D78
-107233D78:lI107|H107235910
-107235910:lI95|H107237238
-107237238:lI108|H107238930
-107238930:lI111|H107239E28
-107239E28:lI103|H10723B1E0
-10723B1E0:lI46|H10723C310
-10723C310:lI98|H10723D250
-10723D250:lI101|H10723E040
-10723E040:lI97|H10723EC90
-10723EC90:lI109|N
-10721BC68:lH10721F260|N
-10721F260:lI109|H107222740
-107222740:lI111|H1072258E8
-1072258E8:lI100|H107228740
-107228740:lI95|H10722B188
-10722B188:lI97|H10722D8A0
-10722D8A0:lI117|H10722FD38
-10722FD38:lI116|H107231ED0
-107231ED0:lI104|H107233D58
-107233D58:lI95|H1072358F0
-1072358F0:lI112|H107237218
-107237218:lI108|H107238910
-107238910:lI97|H107239E08
-107239E08:lI105|H10723B1C0
-10723B1C0:lI110|H10723C2F0
-10723C2F0:lI46|H10723D230
-10723D230:lI98|H10723E020
-10723E020:lI101|H10723EC70
-10723EC70:lI97|H10723F7B0
-10723F7B0:lI109|N
-10721BC50:Mn2:H10721F240,H10721F250
-10721F240:lH107222720|N
-107222720:lI109|H1072258C8
-1072258C8:lI111|H107228720
-107228720:lI100|H10722B168
-10722B168:lI95|H10722D880
-10722D880:lI97|H10722FD18
-10722FD18:lI117|H107231EB0
-107231EB0:lI116|H107233D38
-107233D38:lI104|H1072358D0
-1072358D0:lI95|H1072371F8
-1072371F8:lI100|H1072388F0
-1072388F0:lI101|H107239DE8
-107239DE8:lI116|H10723B1A0
-10723B1A0:lI115|H10723C2D0
-10723C2D0:lI46|H10723D220
-10723D220:lI98|H10723E010
-10723E010:lI101|H10723EC60
-10723EC60:lI97|H10723F7A0
-10723F7A0:lI109|N
-10721F250:lH107222730|N
-107222730:lI109|H1072258D8
-1072258D8:lI111|H107228730
-107228730:lI100|H10722B178
-10722B178:lI95|H10722D890
-10722D890:lI116|H10722FD28
-10722FD28:lI114|H107231EC0
-107231EC0:lI97|H107233D48
-107233D48:lI99|H1072358E0
-1072358E0:lI101|H107237208
-107237208:lI46|H107238900
-107238900:lI98|H107239DF8
-107239DF8:lI101|H10723B1B0
-10723B1B0:lI97|H10723C2E0
-10723C2E0:lI109|N
-10721BC20:Mn5:H10721F1E8,H10721F1F8,H10721F208,H10721F218,H10721F230
-10721F1E8:lH1072226C0|N
-1072226C0:lI104|H107225868
-107225868:lI116|H1072286C0
-1072286C0:lI116|H10722B108
-10722B108:lI112|H10722D820
-10722D820:lI100|H10722FCB8
-10722FCB8:lI95|H107231E50
-107231E50:lI99|H107233CD8
-107233CD8:lI117|H107235870
-107235870:lI115|H107237198
-107237198:lI116|H107238890
-107238890:lI111|H107239D88
-107239D88:lI109|H10723B140
-10723B140:lI95|H10723C270
-10723C270:lI97|H10723D1D0
-10723D1D0:lI112|H10723DFC0
-10723DFC0:lI105|H10723EC20
-10723EC20:lI46|H10723F770
-10723F770:lI98|H107240170
-107240170:lI101|H107240A20
-107240A20:lI97|H1072411E0
-1072411E0:lI109|N
-10721F230:lH107222710|N
-107222710:lI104|H1072258B8
-1072258B8:lI116|H107228710
-107228710:lI116|H10722B158
-10722B158:lI112|H10722D870
-10722D870:lI95|H10722FD08
-10722FD08:lI114|H107231EA0
-107231EA0:lI101|H107233D28
-107233D28:lI113|H1072358C0
-1072358C0:lI117|H1072371E8
-1072371E8:lI101|H1072388E0
-1072388E0:lI115|H107239DD8
-107239DD8:lI116|H10723B190
-10723B190:lI46|H10723C2C0
-10723C2C0:lI98|H10723D210
-10723D210:lI101|H10723E000
-10723E000:lI97|H10723EC50
-10723EC50:lI109|N
-10721F218:Mn2:H1072226F0,H107222700
-1072226F0:lH107225898|N
-107225898:lI104|H1072286F0
-1072286F0:lI116|H10722B138
-10722B138:lI116|H10722D850
-10722D850:lI112|H10722FCE8
-10722FCE8:lI100|H107231E80
-107231E80:lI95|H107233D08
-107233D08:lI105|H1072358A0
-1072358A0:lI110|H1072371C8
-1072371C8:lI115|H1072388C0
-1072388C0:lI116|H107239DB8
-107239DB8:lI97|H10723B170
-10723B170:lI110|H10723C2A0
-10723C2A0:lI99|H10723D1F0
-10723D1F0:lI101|H10723DFE0
-10723DFE0:lI95|H10723EC40
-10723EC40:lI115|H10723F790
-10723F790:lI117|H107240190
-107240190:lI112|H107240A40
-107240A40:lI46|H107241200
-107241200:lI98|H107241940
-107241940:lI101|H107242030
-107242030:lI97|H1072426A0
-1072426A0:lI109|N
-107222700:lH1072258A8|N
-1072258A8:lI104|H107228700
-107228700:lI116|H10722B148
-10722B148:lI116|H10722D860
-10722D860:lI112|H10722FCF8
-10722FCF8:lI95|H107231E90
-107231E90:lI99|H107233D18
-107233D18:lI104|H1072358B0
-1072358B0:lI117|H1072371D8
-1072371D8:lI110|H1072388D0
-1072388D0:lI107|H107239DC8
-107239DC8:lI46|H10723B180
-10723B180:lI98|H10723C2B0
-10723C2B0:lI101|H10723D200
-10723D200:lI97|H10723DFF0
-10723DFF0:lI109|N
-10721F208:lH1072226E0|N
-1072226E0:lI105|H107225888
-107225888:lI110|H1072286E0
-1072286E0:lI101|H10722B128
-10722B128:lI116|H10722D840
-10722D840:lI115|H10722FCD8
-10722FCD8:lI95|H107231E70
-107231E70:lI115|H107233CF8
-107233CF8:lI117|H107235890
-107235890:lI112|H1072371B8
-1072371B8:lI46|H1072388B0
-1072388B0:lI98|H107239DA8
-107239DA8:lI101|H10723B160
-10723B160:lI97|H10723C290
-10723C290:lI109|N
-10721F1F8:lH1072226D0|N
-1072226D0:lI104|H107225878
-107225878:lI116|H1072286D0
-1072286D0:lI116|H10722B118
-10722B118:lI112|H10722D830
-10722D830:lI100|H10722FCC8
-10722FCC8:lI95|H107231E60
-107231E60:lI99|H107233CE8
-107233CE8:lI111|H107235880
-107235880:lI110|H1072371A8
-1072371A8:lI110|H1072388A0
-1072388A0:lI101|H107239D98
-107239D98:lI99|H10723B150
-10723B150:lI116|H10723C280
-10723C280:lI105|H10723D1E0
-10723D1E0:lI111|H10723DFD0
-10723DFD0:lI110|H10723EC30
-10723EC30:lI95|H10723F780
-10723F780:lI115|H107240180
-107240180:lI117|H107240A30
-107240A30:lI112|H1072411F0
-1072411F0:lI46|H107241930
-107241930:lI98|H107242020
-107242020:lI101|H107242690
-107242690:lI97|H107242CD0
-107242CD0:lI109|N
-10721BBF8:Mn4:H10721F1A8,H10721F1B8,H10721F1C8,H10721F1D8
-10721F1A8:lH107222680|N
-107222680:lI104|H107225828
-107225828:lI116|H107228680
-107228680:lI116|H10722B0C8
-10722B0C8:lI112|H10722D7E0
-10722D7E0:lI100|H10722FC78
-10722FC78:lI95|H107231E10
-107231E10:lI97|H107233C98
-107233C98:lI99|H107235830
-107235830:lI99|H107237158
-107237158:lI101|H107238850
-107238850:lI112|H107239D48
-107239D48:lI116|H10723B100
-10723B100:lI111|H10723C230
-10723C230:lI114|H10723D1B0
-10723D1B0:lI46|H10723DFA0
-10723DFA0:lI98|H10723EC00
-10723EC00:lI101|H10723F760
-10723F760:lI97|H107240160
-107240160:lI109|N
-10721F1D8:lH1072226B0|N
-1072226B0:lI105|H107225858
-107225858:lI110|H1072286B0
-1072286B0:lI101|H10722B0F8
-10722B0F8:lI116|H10722D810
-10722D810:lI115|H10722FCA8
-10722FCA8:lI95|H107231E40
-107231E40:lI108|H107233CC8
-107233CC8:lI105|H107235860
-107235860:lI98|H107237188
-107237188:lI46|H107238880
-107238880:lI98|H107239D78
-107239D78:lI101|H10723B130
-10723B130:lI97|H10723C260
-10723C260:lI109|N
-10721F1C8:lH1072226A0|N
-1072226A0:lI104|H107225848
-107225848:lI116|H1072286A0
-1072286A0:lI116|H10722B0E8
-10722B0E8:lI112|H10722D800
-10722D800:lI100|H10722FC98
-10722FC98:lI95|H107231E30
-107231E30:lI115|H107233CB8
-107233CB8:lI111|H107235850
-107235850:lI99|H107237178
-107237178:lI107|H107238870
-107238870:lI101|H107239D68
-107239D68:lI116|H10723B120
-10723B120:lI46|H10723C250
-10723C250:lI98|H10723D1C0
-10723D1C0:lI101|H10723DFB0
-10723DFB0:lI97|H10723EC10
-10723EC10:lI109|N
-10721F1B8:lH107222690|N
-107222690:lI104|H107225838
-107225838:lI116|H107228690
-107228690:lI116|H10722B0D8
-10722B0D8:lI112|H10722D7F0
-10722D7F0:lI99|H10722FC88
-10722FC88:lI95|H107231E20
-107231E20:lI115|H107233CA8
-107233CA8:lI117|H107235840
-107235840:lI112|H107237168
-107237168:lI46|H107238860
-107238860:lI98|H107239D58
-107239D58:lI101|H10723B110
-10723B110:lI97|H10723C240
-10723C240:lI109|N
-107218548:lI47|H10721BBC8
-10721BBC8:lI111|H10721F160
-10721F160:lI112|H107222630
-107222630:lI116|H1072257D8
-1072257D8:lI47|H107228630
-107228630:lI104|H10722B078
-10722B078:lI111|H10722D790
-10722D790:lI109|H10722FC28
-10722FC28:lI101|H107231DC0
-107231DC0:lI98|H107233C48
-107233C48:lI114|H1072357E0
-1072357E0:lI101|H107237108
-107237108:lI119|H107238800
-107238800:lI47|H107239CF8
-107239CF8:lI67|H10723B0B0
-10723B0B0:lI101|H10723C1E0
-10723C1E0:lI108|H10723D160
-10723D160:lI108|H10723DF50
-10723DF50:lI97|H10723EBB0
-10723EBB0:lI114|H10723F710
-10723F710:lI47|H107240110
-107240110:lI101|H1072409F0
-1072409F0:lI114|H1072411D0
-1072411D0:lI108|H107241920
-107241920:lI97|H107242010
-107242010:lI110|H107242680
-107242680:lI103|H107242CC0
-107242CC0:lI47|H107243240
-107243240:lI50|H107243790
-107243790:lI54|H107243CA0
-107243CA0:lI46|H107244190
-107244190:lI48|H107244640
-107244640:lI46|H107244AB0
-107244AB0:lI50|H107244F10
-107244F10:lI47|H107245360
-107245360:lI108|H107245760
-107245760:lI105|H107245B20
-107245B20:lI98|H107245EB0
-107245EB0:lI47|H107246240
-107246240:lI101|H1072465D0
-1072465D0:lI114|H107246960
-107246960:lI108|H107246CA0
-107246CA0:lI97|H107246FC0
-107246FC0:lI110|H1072472E0
-1072472E0:lI103|H1072475F0
-1072475F0:lI47|H1072478F0
-1072478F0:lI108|H107247BF0
-107247BF0:lI105|H107247ED0
-107247ED0:lI98|H107248190
-107248190:lI47|H107248450
-107248450:lI105|H107248700
-107248700:lI110|H1072489B0
-1072489B0:lI101|H107248C30
-107248C30:lI116|H107248EA0
-107248EA0:lI115|H107249110
-107249110:lI45|H107249370
-107249370:lI57|H1072495D0
-1072495D0:lI46|H107249820
-107249820:lI48|H107249A40
-107249A40:lI46|H107249C40
-107249C40:lI49|H107249E20
-107249E20:lI47|H280052C20
-107214F60:lH1072185E8|H107218600
-1072185E8:t2:H10721BE38,A5:cache
-10721BE38:lI47|H10721F558
-10721F558:lI111|H107222A50
-107222A50:lI112|H107225BF8
-107225BF8:lI116|H107228A50
-107228A50:lI47|H10722B498
-10722B498:lI104|H10722DBB0
-10722DBB0:lI111|H107230048
-107230048:lI109|H1072321E0
-1072321E0:lI101|H107234068
-107234068:lI98|H107235C00
-107235C00:lI114|H107237528
-107237528:lI101|H107238BE0
-107238BE0:lI119|H10723A0C8
-10723A0C8:lI47|H10723B430
-10723B430:lI67|H10723C540
-10723C540:lI101|H10723D410
-10723D410:lI108|H10723E1B0
-10723E1B0:lI108|H10723EDF0
-10723EDF0:lI97|H10723F8D0
-10723F8D0:lI114|H107240240
-107240240:lI47|H107240AD0
-107240AD0:lI101|H107241280
-107241280:lI114|H1072419B0
-1072419B0:lI108|H107242080
-107242080:lI97|H1072426F0
-1072426F0:lI110|H107242CF0
-107242CF0:lI103|H107243260
-107243260:lI47|H1072437A0
-1072437A0:lI50|H107243CB0
-107243CB0:lI54|H1072441A0
-1072441A0:lI46|H107244650
-107244650:lI48|H107244AC0
-107244AC0:lI46|H107244F20
-107244F20:lI50|H107245370
-107245370:lI47|H107245770
-107245770:lI108|H107245B30
-107245B30:lI105|H107245EC0
-107245EC0:lI98|H107246250
-107246250:lI47|H1072465E0
-1072465E0:lI101|H107246970
-107246970:lI114|H107246CB0
-107246CB0:lI108|H107246FD0
-107246FD0:lI97|H1072472F0
-1072472F0:lI110|H107247600
-107247600:lI103|H107247900
-107247900:lI47|H107247C00
-107247C00:lI108|H107247EE0
-107247EE0:lI105|H1072481A0
-1072481A0:lI98|H107248460
-107248460:lI47|H107248710
-107248710:lI102|H1072489C0
-1072489C0:lI116|H107248C40
-107248C40:lI112|H107248EB0
-107248EB0:lI45|H107249120
-107249120:lI49|H107249380
-107249380:lI46|H1072495E0
-1072495E0:lI50|H107249830
-107249830:lI47|H280052C20
-107218600:lH10721BE48|H10721BE60
-10721BE48:t2:H10721F568,A5:cache
-10721F568:lI47|H107222A60
-107222A60:lI111|H107225C08
-107225C08:lI112|H107228A60
-107228A60:lI116|H10722B4A8
-10722B4A8:lI47|H10722DBC0
-10722DBC0:lI104|H107230058
-107230058:lI111|H1072321F0
-1072321F0:lI109|H107234078
-107234078:lI101|H107235C10
-107235C10:lI98|H107237538
-107237538:lI114|H107238BF0
-107238BF0:lI101|H10723A0D8
-10723A0D8:lI119|H10723B440
-10723B440:lI47|H10723C550
-10723C550:lI67|H10723D420
-10723D420:lI101|H10723E1C0
-10723E1C0:lI108|H10723EE00
-10723EE00:lI108|H10723F8E0
-10723F8E0:lI97|H107240250
-107240250:lI114|H107240AE0
-107240AE0:lI47|H107241290
-107241290:lI101|H1072419C0
-1072419C0:lI114|H107242090
-107242090:lI108|H107242700
-107242700:lI97|H107242D00
-107242D00:lI110|H107243270
-107243270:lI103|H1072437B0
-1072437B0:lI47|H107243CC0
-107243CC0:lI50|H1072441B0
-1072441B0:lI54|H107244660
-107244660:lI46|H107244AD0
-107244AD0:lI48|H107244F30
-107244F30:lI46|H107245380
-107245380:lI50|H107245780
-107245780:lI47|H107245B40
-107245B40:lI108|H107245ED0
-107245ED0:lI105|H107246260
-107246260:lI98|H1072465F0
-1072465F0:lI47|H107246980
-107246980:lI101|H107246CC0
-107246CC0:lI114|H107246FE0
-107246FE0:lI108|H107247300
-107247300:lI97|H107247610
-107247610:lI110|H107247910
-107247910:lI103|H107247C10
-107247C10:lI47|H107247EF0
-107247EF0:lI108|H1072481B0
-1072481B0:lI105|H107248470
-107248470:lI98|H107248720
-107248720:lI47|H1072489D0
-1072489D0:lI101|H107248C50
-107248C50:lI117|H107248EC0
-107248EC0:lI110|H107249130
-107249130:lI105|H107249390
-107249390:lI116|H1072495F0
-1072495F0:lI45|H107249840
-107249840:lI50|H107249A50
-107249A50:lI46|H107249C50
-107249C50:lI56|H107249E30
-107249E30:lI46|H107249FF0
-107249FF0:lI50|H10724A190
-10724A190:lI47|H280052C20
-10721BE60:lH10721F578|H10721F590
-10721F578:t2:H107222A70,A5:cache
-107222A70:lI47|H107225C18
-107225C18:lI111|H107228A70
-107228A70:lI112|H10722B4B8
-10722B4B8:lI116|H10722DBD0
-10722DBD0:lI47|H107230068
-107230068:lI104|H107232200
-107232200:lI111|H107234088
-107234088:lI109|H107235C20
-107235C20:lI101|H107237548
-107237548:lI98|H107238C00
-107238C00:lI114|H10723A0E8
-10723A0E8:lI101|H10723B450
-10723B450:lI119|H10723C560
-10723C560:lI47|H10723D430
-10723D430:lI67|H10723E1D0
-10723E1D0:lI101|H10723EE10
-10723EE10:lI108|H10723F8F0
-10723F8F0:lI108|H107240260
-107240260:lI97|H107240AF0
-107240AF0:lI114|H1072412A0
-1072412A0:lI47|H1072419D0
-1072419D0:lI101|H1072420A0
-1072420A0:lI114|H107242710
-107242710:lI108|H107242D10
-107242D10:lI97|H107243280
-107243280:lI110|H1072437C0
-1072437C0:lI103|H107243CD0
-107243CD0:lI47|H1072441C0
-1072441C0:lI50|H107244670
-107244670:lI54|H107244AE0
-107244AE0:lI46|H107244F40
-107244F40:lI48|H107245390
-107245390:lI46|H107245790
-107245790:lI50|H107245B50
-107245B50:lI47|H107245EE0
-107245EE0:lI108|H107246270
-107246270:lI105|H107246600
-107246600:lI98|H107246990
-107246990:lI47|H107246CD0
-107246CD0:lI101|H107246FF0
-107246FF0:lI114|H107247310
-107247310:lI108|H107247620
-107247620:lI97|H107247920
-107247920:lI110|H107247C20
-107247C20:lI103|H107247F00
-107247F00:lI47|H1072481C0
-1072481C0:lI108|H107248480
-107248480:lI105|H107248730
-107248730:lI98|H1072489E0
-1072489E0:lI47|H107248C60
-107248C60:lI101|H107248ED0
-107248ED0:lI116|H107249140
-107249140:lI45|H1072493A0
-1072493A0:lI49|H107249600
-107249600:lI46|H107249850
-107249850:lI55|H107249A60
-107249A60:lI47|H280052C20
-10721F590:lH107222A80|H107222A98
-107222A80:t2:H107225C28,A5:cache
-107225C28:lI47|H107228A80
-107228A80:lI111|H10722B4C8
-10722B4C8:lI112|H10722DBE0
-10722DBE0:lI116|H107230078
-107230078:lI47|H107232210
-107232210:lI104|H107234098
-107234098:lI111|H107235C30
-107235C30:lI109|H107237558
-107237558:lI101|H107238C10
-107238C10:lI98|H10723A0F8
-10723A0F8:lI114|H10723B460
-10723B460:lI101|H10723C570
-10723C570:lI119|H10723D440
-10723D440:lI47|H10723E1E0
-10723E1E0:lI67|H10723EE20
-10723EE20:lI101|H10723F900
-10723F900:lI108|H107240270
-107240270:lI108|H107240B00
-107240B00:lI97|H1072412B0
-1072412B0:lI114|H1072419E0
-1072419E0:lI47|H1072420B0
-1072420B0:lI101|H107242720
-107242720:lI114|H107242D20
-107242D20:lI108|H107243290
-107243290:lI97|H1072437D0
-1072437D0:lI110|H107243CE0
-107243CE0:lI103|H1072441D0
-1072441D0:lI47|H107244680
-107244680:lI50|H107244AF0
-107244AF0:lI54|H107244F50
-107244F50:lI46|H1072453A0
-1072453A0:lI48|H1072457A0
-1072457A0:lI46|H107245B60
-107245B60:lI50|H107245EF0
-107245EF0:lI47|H107246280
-107246280:lI108|H107246610
-107246610:lI105|H1072469A0
-1072469A0:lI98|H107246CE0
-107246CE0:lI47|H107247000
-107247000:lI101|H107247320
-107247320:lI114|H107247630
-107247630:lI108|H107247930
-107247930:lI97|H107247C30
-107247C30:lI110|H107247F10
-107247F10:lI103|H1072481D0
-1072481D0:lI47|H107248490
-107248490:lI108|H107248740
-107248740:lI105|H1072489F0
-1072489F0:lI98|H107248C70
-107248C70:lI47|H107248EE0
-107248EE0:lI101|H107249150
-107249150:lI114|H1072493B0
-1072493B0:lI116|H107249610
-107249610:lI115|H107249860
-107249860:lI45|H107249A70
-107249A70:lI49|H107249C60
-107249C60:lI52|H107249E40
-107249E40:lI46|H10724A000
-10724A000:lI48|H10724A1A0
-10724A1A0:lI46|H10724A320
-10724A320:lI50|H10724A490
-10724A490:lI47|H280052C20
-107222A98:lH107225C38|H107225C50
-107225C38:t2:H107228A90,A5:cache
-107228A90:lI47|H10722B4D8
-10722B4D8:lI111|H10722DBF0
-10722DBF0:lI112|H107230088
-107230088:lI116|H107232220
-107232220:lI47|H1072340A8
-1072340A8:lI104|H107235C40
-107235C40:lI111|H107237568
-107237568:lI109|H107238C20
-107238C20:lI101|H10723A108
-10723A108:lI98|H10723B470
-10723B470:lI114|H10723C580
-10723C580:lI101|H10723D450
-10723D450:lI119|H10723E1F0
-10723E1F0:lI47|H10723EE30
-10723EE30:lI67|H10723F910
-10723F910:lI101|H107240280
-107240280:lI108|H107240B10
-107240B10:lI108|H1072412C0
-1072412C0:lI97|H1072419F0
-1072419F0:lI114|H1072420C0
-1072420C0:lI47|H107242730
-107242730:lI101|H107242D30
-107242D30:lI114|H1072432A0
-1072432A0:lI108|H1072437E0
-1072437E0:lI97|H107243CF0
-107243CF0:lI110|H1072441E0
-1072441E0:lI103|H107244690
-107244690:lI47|H107244B00
-107244B00:lI50|H107244F60
-107244F60:lI54|H1072453B0
-1072453B0:lI46|H1072457B0
-1072457B0:lI48|H107245B70
-107245B70:lI46|H107245F00
-107245F00:lI50|H107246290
-107246290:lI47|H107246620
-107246620:lI108|H1072469B0
-1072469B0:lI105|H107246CF0
-107246CF0:lI98|H107247010
-107247010:lI47|H107247330
-107247330:lI101|H107247640
-107247640:lI114|H107247940
-107247940:lI108|H107247C40
-107247C40:lI97|H107247F20
-107247F20:lI110|H1072481E0
-1072481E0:lI103|H1072484A0
-1072484A0:lI47|H107248750
-107248750:lI108|H107248A00
-107248A00:lI105|H107248C80
-107248C80:lI98|H107248EF0
-107248EF0:lI47|H107249160
-107249160:lI101|H1072493C0
-1072493C0:lI114|H107249620
-107249620:lI108|H107249870
-107249870:lI95|H107249A80
-107249A80:lI105|H107249C70
-107249C70:lI110|H107249E50
-107249E50:lI116|H10724A010
-10724A010:lI101|H10724A1B0
-10724A1B0:lI114|H10724A330
-10724A330:lI102|H10724A4A0
-10724A4A0:lI97|H10724A600
-10724A600:lI99|H10724A740
-10724A740:lI101|H10724A860
-10724A860:lI45|H10724A970
-10724A970:lI53|H10724AA60
-10724AA60:lI46|H10724AB30
-10724AB30:lI52|H10724ABD0
-10724ABD0:lI47|H280052C20
-107225C50:lH107228AA0|H107228AB8
-107228AA0:t2:H10722B4E8,A5:cache
-10722B4E8:lI47|H10722DC00
-10722DC00:lI111|H107230098
-107230098:lI112|H107232230
-107232230:lI116|H1072340B8
-1072340B8:lI47|H107235C50
-107235C50:lI104|H107237578
-107237578:lI111|H107238C30
-107238C30:lI109|H10723A118
-10723A118:lI101|H10723B480
-10723B480:lI98|H10723C590
-10723C590:lI114|H10723D460
-10723D460:lI101|H10723E200
-10723E200:lI119|H10723EE40
-10723EE40:lI47|H10723F920
-10723F920:lI67|H107240290
-107240290:lI101|H107240B20
-107240B20:lI108|H1072412D0
-1072412D0:lI108|H107241A00
-107241A00:lI97|H1072420D0
-1072420D0:lI114|H107242740
-107242740:lI47|H107242D40
-107242D40:lI101|H1072432B0
-1072432B0:lI114|H1072437F0
-1072437F0:lI108|H107243D00
-107243D00:lI97|H1072441F0
-1072441F0:lI110|H1072446A0
-1072446A0:lI103|H107244B10
-107244B10:lI47|H107244F70
-107244F70:lI50|H1072453C0
-1072453C0:lI54|H1072457C0
-1072457C0:lI46|H107245B80
-107245B80:lI48|H107245F10
-107245F10:lI46|H1072462A0
-1072462A0:lI50|H107246630
-107246630:lI47|H1072469C0
-1072469C0:lI108|H107246D00
-107246D00:lI105|H107247020
-107247020:lI98|H107247340
-107247340:lI47|H107247650
-107247650:lI101|H107247950
-107247950:lI114|H107247C50
-107247C50:lI108|H107247F30
-107247F30:lI97|H1072481F0
-1072481F0:lI110|H1072484B0
-1072484B0:lI103|H107248760
-107248760:lI47|H107248A10
-107248A10:lI108|H107248C90
-107248C90:lI105|H107248F00
-107248F00:lI98|H107249170
-107249170:lI47|H1072493D0
-1072493D0:lI101|H107249630
-107249630:lI114|H107249880
-107249880:lI108|H107249A90
-107249A90:lI95|H107249C80
-107249C80:lI100|H107249E60
-107249E60:lI111|H10724A020
-10724A020:lI99|H10724A1C0
-10724A1C0:lI103|H10724A340
-10724A340:lI101|H10724A4B0
-10724A4B0:lI110|H10724A610
-10724A610:lI45|H10724A750
-10724A750:lI49|H10724A870
-10724A870:lI46|H10724A980
-10724A980:lI53|H10724AA70
-10724AA70:lI47|H280052C20
-107228AB8:lH10722B4F8|H10722B510
-10722B4F8:t2:H10722DC10,A5:cache
-10722DC10:lI47|H1072300A8
-1072300A8:lI111|H107232240
-107232240:lI112|H1072340C8
-1072340C8:lI116|H107235C60
-107235C60:lI47|H107237588
-107237588:lI104|H107238C40
-107238C40:lI111|H10723A128
-10723A128:lI109|H10723B490
-10723B490:lI101|H10723C5A0
-10723C5A0:lI98|H10723D470
-10723D470:lI114|H10723E210
-10723E210:lI101|H10723EE50
-10723EE50:lI119|H10723F930
-10723F930:lI47|H1072402A0
-1072402A0:lI67|H107240B30
-107240B30:lI101|H1072412E0
-1072412E0:lI108|H107241A10
-107241A10:lI108|H1072420E0
-1072420E0:lI97|H107242750
-107242750:lI114|H107242D50
-107242D50:lI47|H1072432C0
-1072432C0:lI101|H107243800
-107243800:lI114|H107243D10
-107243D10:lI108|H107244200
-107244200:lI97|H1072446B0
-1072446B0:lI110|H107244B20
-107244B20:lI103|H107244F80
-107244F80:lI47|H1072453D0
-1072453D0:lI50|H1072457D0
-1072457D0:lI54|H107245B90
-107245B90:lI46|H107245F20
-107245F20:lI48|H1072462B0
-1072462B0:lI46|H107246640
-107246640:lI50|H1072469D0
-1072469D0:lI47|H107246D10
-107246D10:lI108|H107247030
-107247030:lI105|H107247350
-107247350:lI98|H107247660
-107247660:lI47|H107247960
-107247960:lI101|H107247C60
-107247C60:lI114|H107247F40
-107247F40:lI108|H107248200
-107248200:lI97|H1072484C0
-1072484C0:lI110|H107248770
-107248770:lI103|H107248A20
-107248A20:lI47|H107248CA0
-107248CA0:lI108|H107248F10
-107248F10:lI105|H107249180
-107249180:lI98|H1072493E0
-1072493E0:lI47|H107249640
-107249640:lI101|H107249890
-107249890:lI108|H107249AA0
-107249AA0:lI100|H107249C90
-107249C90:lI97|H107249E70
-107249E70:lI112|H10724A030
-10724A030:lI45|H10724A1D0
-10724A1D0:lI49|H10724A350
-10724A350:lI46|H10724A4C0
-10724A4C0:lI50|H10724A620
-10724A620:lI46|H10724A760
-10724A760:lI49|H10724A880
-10724A880:lI49|H10724A990
-10724A990:lI47|H280052C20
-10722B510:lH10722DC20|H10722DC38
-10722DC20:t2:H1072300B8,A5:cache
-1072300B8:lI47|H107232250
-107232250:lI111|H1072340D8
-1072340D8:lI112|H107235C70
-107235C70:lI116|H107237598
-107237598:lI47|H107238C50
-107238C50:lI104|H10723A138
-10723A138:lI111|H10723B4A0
-10723B4A0:lI109|H10723C5B0
-10723C5B0:lI101|H10723D480
-10723D480:lI98|H10723E220
-10723E220:lI114|H10723EE60
-10723EE60:lI101|H10723F940
-10723F940:lI119|H1072402B0
-1072402B0:lI47|H107240B40
-107240B40:lI67|H1072412F0
-1072412F0:lI101|H107241A20
-107241A20:lI108|H1072420F0
-1072420F0:lI108|H107242760
-107242760:lI97|H107242D60
-107242D60:lI114|H1072432D0
-1072432D0:lI47|H107243810
-107243810:lI101|H107243D20
-107243D20:lI114|H107244210
-107244210:lI108|H1072446C0
-1072446C0:lI97|H107244B30
-107244B30:lI110|H107244F90
-107244F90:lI103|H1072453E0
-1072453E0:lI47|H1072457E0
-1072457E0:lI50|H107245BA0
-107245BA0:lI54|H107245F30
-107245F30:lI46|H1072462C0
-1072462C0:lI48|H107246650
-107246650:lI46|H1072469E0
-1072469E0:lI50|H107246D20
-107246D20:lI47|H107247040
-107247040:lI108|H107247360
-107247360:lI105|H107247670
-107247670:lI98|H107247970
-107247970:lI47|H107247C70
-107247C70:lI101|H107247F50
-107247F50:lI114|H107248210
-107248210:lI108|H1072484D0
-1072484D0:lI97|H107248780
-107248780:lI110|H107248A30
-107248A30:lI103|H107248CB0
-107248CB0:lI47|H107248F20
-107248F20:lI108|H107249190
-107249190:lI105|H1072493F0
-1072493F0:lI98|H107249650
-107249650:lI47|H1072498A0
-1072498A0:lI101|H107249AB0
-107249AB0:lI100|H107249CA0
-107249CA0:lI111|H107249E80
-107249E80:lI99|H10724A040
-10724A040:lI45|H10724A1E0
-10724A1E0:lI49|H10724A360
-10724A360:lI46|H10724A4D0
-10724A4D0:lI50|H10724A630
-10724A630:lI47|H280052C20
-10722DC38:lH1072300C8|H1072300E0
-1072300C8:t2:H107232260,A5:cache
-107232260:lI47|H1072340E8
-1072340E8:lI111|H107235C80
-107235C80:lI112|H1072375A8
-1072375A8:lI116|H107238C60
-107238C60:lI47|H10723A148
-10723A148:lI104|H10723B4B0
-10723B4B0:lI111|H10723C5C0
-10723C5C0:lI109|H10723D490
-10723D490:lI101|H10723E230
-10723E230:lI98|H10723EE70
-10723EE70:lI114|H10723F950
-10723F950:lI101|H1072402C0
-1072402C0:lI119|H107240B50
-107240B50:lI47|H107241300
-107241300:lI67|H107241A30
-107241A30:lI101|H107242100
-107242100:lI108|H107242770
-107242770:lI108|H107242D70
-107242D70:lI97|H1072432E0
-1072432E0:lI114|H107243820
-107243820:lI47|H107243D30
-107243D30:lI101|H107244220
-107244220:lI114|H1072446D0
-1072446D0:lI108|H107244B40
-107244B40:lI97|H107244FA0
-107244FA0:lI110|H1072453F0
-1072453F0:lI103|H1072457F0
-1072457F0:lI47|H107245BB0
-107245BB0:lI50|H107245F40
-107245F40:lI54|H1072462D0
-1072462D0:lI46|H107246660
-107246660:lI48|H1072469F0
-1072469F0:lI46|H107246D30
-107246D30:lI50|H107247050
-107247050:lI47|H107247370
-107247370:lI108|H107247680
-107247680:lI105|H107247980
-107247980:lI98|H107247C80
-107247C80:lI47|H107247F60
-107247F60:lI101|H107248220
-107248220:lI114|H1072484E0
-1072484E0:lI108|H107248790
-107248790:lI97|H107248A40
-107248A40:lI110|H107248CC0
-107248CC0:lI103|H107248F30
-107248F30:lI47|H1072491A0
-1072491A0:lI108|H107249400
-107249400:lI105|H107249660
-107249660:lI98|H1072498B0
-1072498B0:lI47|H107249AC0
-107249AC0:lI100|H107249CB0
-107249CB0:lI105|H107249E90
-107249E90:lI97|H10724A050
-10724A050:lI109|H10724A1F0
-10724A1F0:lI101|H10724A370
-10724A370:lI116|H10724A4E0
-10724A4E0:lI101|H10724A640
-10724A640:lI114|H10724A770
-10724A770:lI45|H10724A890
-10724A890:lI50|H10724A9A0
-10724A9A0:lI46|H10724AA80
-10724AA80:lI51|H10724AB40
-10724AB40:lI47|H280052C20
-1072300E0:lH107232270|H107232288
-107232270:t2:H1072340F8,A5:cache
-1072340F8:lI47|H107235C90
-107235C90:lI111|H1072375B8
-1072375B8:lI112|H107238C70
-107238C70:lI116|H10723A158
-10723A158:lI47|H10723B4C0
-10723B4C0:lI104|H10723C5D0
-10723C5D0:lI111|H10723D4A0
-10723D4A0:lI109|H10723E240
-10723E240:lI101|H10723EE80
-10723EE80:lI98|H10723F960
-10723F960:lI114|H1072402D0
-1072402D0:lI101|H107240B60
-107240B60:lI119|H107241310
-107241310:lI47|H107241A40
-107241A40:lI67|H107242110
-107242110:lI101|H107242780
-107242780:lI108|H107242D80
-107242D80:lI108|H1072432F0
-1072432F0:lI97|H107243830
-107243830:lI114|H107243D40
-107243D40:lI47|H107244230
-107244230:lI101|H1072446E0
-1072446E0:lI114|H107244B50
-107244B50:lI108|H107244FB0
-107244FB0:lI97|H107245400
-107245400:lI110|H107245800
-107245800:lI103|H107245BC0
-107245BC0:lI47|H107245F50
-107245F50:lI50|H1072462E0
-1072462E0:lI54|H107246670
-107246670:lI46|H107246A00
-107246A00:lI48|H107246D40
-107246D40:lI46|H107247060
-107247060:lI50|H107247380
-107247380:lI47|H107247690
-107247690:lI108|H107247990
-107247990:lI105|H107247C90
-107247C90:lI98|H107247F70
-107247F70:lI47|H107248230
-107248230:lI101|H1072484F0
-1072484F0:lI114|H1072487A0
-1072487A0:lI108|H107248A50
-107248A50:lI97|H107248CD0
-107248CD0:lI110|H107248F40
-107248F40:lI103|H1072491B0
-1072491B0:lI47|H107249410
-107249410:lI108|H107249670
-107249670:lI105|H1072498C0
-1072498C0:lI98|H107249AD0
-107249AD0:lI47|H107249CC0
-107249CC0:lI100|H107249EA0
-107249EA0:lI105|H10724A060
-10724A060:lI97|H10724A200
-10724A200:lI108|H10724A380
-10724A380:lI121|H10724A4F0
-10724A4F0:lI122|H10724A650
-10724A650:lI101|H10724A780
-10724A780:lI114|H10724A8A0
-10724A8A0:lI45|H10724A9B0
-10724A9B0:lI53|H10724AA90
-10724AA90:lI46|H10724AB50
-10724AB50:lI49|H10724ABE0
-10724ABE0:lI47|H280052C20
-107232288:lH107234108|H107234120
-107234108:t2:H107235CA0,A5:cache
-107235CA0:lI47|H1072375C8
-1072375C8:lI111|H107238C80
-107238C80:lI112|H10723A168
-10723A168:lI116|H10723B4D0
-10723B4D0:lI47|H10723C5E0
-10723C5E0:lI104|H10723D4B0
-10723D4B0:lI111|H10723E250
-10723E250:lI109|H10723EE90
-10723EE90:lI101|H10723F970
-10723F970:lI98|H1072402E0
-1072402E0:lI114|H107240B70
-107240B70:lI101|H107241320
-107241320:lI119|H107241A50
-107241A50:lI47|H107242120
-107242120:lI67|H107242790
-107242790:lI101|H107242D90
-107242D90:lI108|H107243300
-107243300:lI108|H107243840
-107243840:lI97|H107243D50
-107243D50:lI114|H107244240
-107244240:lI47|H1072446F0
-1072446F0:lI101|H107244B60
-107244B60:lI114|H107244FC0
-107244FC0:lI108|H107245410
-107245410:lI97|H107245810
-107245810:lI110|H107245BD0
-107245BD0:lI103|H107245F60
-107245F60:lI47|H1072462F0
-1072462F0:lI50|H107246680
-107246680:lI54|H107246A10
-107246A10:lI46|H107246D50
-107246D50:lI48|H107247070
-107247070:lI46|H107247390
-107247390:lI50|H1072476A0
-1072476A0:lI47|H1072479A0
-1072479A0:lI108|H107247CA0
-107247CA0:lI105|H107247F80
-107247F80:lI98|H107248240
-107248240:lI47|H107248500
-107248500:lI101|H1072487B0
-1072487B0:lI114|H107248A60
-107248A60:lI108|H107248CE0
-107248CE0:lI97|H107248F50
-107248F50:lI110|H1072491C0
-1072491C0:lI103|H107249420
-107249420:lI47|H107249680
-107249680:lI108|H1072498D0
-1072498D0:lI105|H107249AE0
-107249AE0:lI98|H107249CD0
-107249CD0:lI47|H107249EB0
-107249EB0:lI100|H10724A070
-10724A070:lI101|H10724A210
-10724A210:lI98|H10724A390
-10724A390:lI117|H10724A500
-10724A500:lI103|H10724A660
-10724A660:lI103|H10724A790
-10724A790:lI101|H10724A8B0
-10724A8B0:lI114|H10724A9C0
-10724A9C0:lI45|H10724AAA0
-10724AAA0:lI53|H10724AB60
-10724AB60:lI46|H10724ABF0
-10724ABF0:lI51|H10724AC60
-10724AC60:lI46|H10724ACC0
-10724ACC0:lI49|H10724AD10
-10724AD10:lI47|H280052C20
-107234120:lH107235CB0|H107235CC8
-107235CB0:t2:H1072375D8,A5:cache
-1072375D8:lI47|H107238C90
-107238C90:lI111|H10723A178
-10723A178:lI112|H10723B4E0
-10723B4E0:lI116|H10723C5F0
-10723C5F0:lI47|H10723D4C0
-10723D4C0:lI104|H10723E260
-10723E260:lI111|H10723EEA0
-10723EEA0:lI109|H10723F980
-10723F980:lI101|H1072402F0
-1072402F0:lI98|H107240B80
-107240B80:lI114|H107241330
-107241330:lI101|H107241A60
-107241A60:lI119|H107242130
-107242130:lI47|H1072427A0
-1072427A0:lI67|H107242DA0
-107242DA0:lI101|H107243310
-107243310:lI108|H107243850
-107243850:lI108|H107243D60
-107243D60:lI97|H107244250
-107244250:lI114|H107244700
-107244700:lI47|H107244B70
-107244B70:lI101|H107244FD0
-107244FD0:lI114|H107245420
-107245420:lI108|H107245820
-107245820:lI97|H107245BE0
-107245BE0:lI110|H107245F70
-107245F70:lI103|H107246300
-107246300:lI47|H107246690
-107246690:lI50|H107246A20
-107246A20:lI54|H107246D60
-107246D60:lI46|H107247080
-107247080:lI48|H1072473A0
-1072473A0:lI46|H1072476B0
-1072476B0:lI50|H1072479B0
-1072479B0:lI47|H107247CB0
-107247CB0:lI108|H107247F90
-107247F90:lI105|H107248250
-107248250:lI98|H107248510
-107248510:lI47|H1072487C0
-1072487C0:lI101|H107248A70
-107248A70:lI114|H107248CF0
-107248CF0:lI108|H107248F60
-107248F60:lI97|H1072491D0
-1072491D0:lI110|H107249430
-107249430:lI103|H107249690
-107249690:lI47|H1072498E0
-1072498E0:lI108|H107249AF0
-107249AF0:lI105|H107249CE0
-107249CE0:lI98|H107249EC0
-107249EC0:lI47|H10724A080
-10724A080:lI99|H10724A220
-10724A220:lI114|H10724A3A0
-10724A3A0:lI121|H10724A510
-10724A510:lI112|H10724A670
-10724A670:lI116|H10724A7A0
-10724A7A0:lI111|H10724A8C0
-10724A8C0:lI45|H10724A9D0
-10724A9D0:lI53|H10724AAB0
-10724AAB0:lI46|H10724AB70
-10724AB70:lI50|H10724AC00
-10724AC00:lI47|H280052C20
-107235CC8:lH1072375E8|H107237600
-1072375E8:t2:H107238CA0,A5:cache
-107238CA0:lI47|H10723A188
-10723A188:lI111|H10723B4F0
-10723B4F0:lI112|H10723C600
-10723C600:lI116|H10723D4D0
-10723D4D0:lI47|H10723E270
-10723E270:lI104|H10723EEB0
-10723EEB0:lI111|H10723F990
-10723F990:lI109|H107240300
-107240300:lI101|H107240B90
-107240B90:lI98|H107241340
-107241340:lI114|H107241A70
-107241A70:lI101|H107242140
-107242140:lI119|H1072427B0
-1072427B0:lI47|H107242DB0
-107242DB0:lI67|H107243320
-107243320:lI101|H107243860
-107243860:lI108|H107243D70
-107243D70:lI108|H107244260
-107244260:lI97|H107244710
-107244710:lI114|H107244B80
-107244B80:lI47|H107244FE0
-107244FE0:lI101|H107245430
-107245430:lI114|H107245830
-107245830:lI108|H107245BF0
-107245BF0:lI97|H107245F80
-107245F80:lI110|H107246310
-107246310:lI103|H1072466A0
-1072466A0:lI47|H107246A30
-107246A30:lI50|H107246D70
-107246D70:lI54|H107247090
-107247090:lI46|H1072473B0
-1072473B0:lI48|H1072476C0
-1072476C0:lI46|H1072479C0
-1072479C0:lI50|H107247CC0
-107247CC0:lI47|H107247FA0
-107247FA0:lI108|H107248260
-107248260:lI105|H107248520
-107248520:lI98|H1072487D0
-1072487D0:lI47|H107248A80
-107248A80:lI101|H107248D00
-107248D00:lI114|H107248F70
-107248F70:lI108|H1072491E0
-1072491E0:lI97|H107249440
-107249440:lI110|H1072496A0
-1072496A0:lI103|H1072498F0
-1072498F0:lI47|H107249B00
-107249B00:lI108|H107249CF0
-107249CF0:lI105|H107249ED0
-107249ED0:lI98|H10724A090
-10724A090:lI47|H10724A230
-10724A230:lI99|H10724A3B0
-10724A3B0:lI111|H10724A520
-10724A520:lI109|H10724A680
-10724A680:lI112|H10724A7B0
-10724A7B0:lI105|H10724A8D0
-10724A8D0:lI108|H10724A9E0
-10724A9E0:lI101|H10724AAC0
-10724AAC0:lI114|H10724AB80
-10724AB80:lI45|H10724AC10
-10724AC10:lI56|H10724AC70
-10724AC70:lI46|H10724ACD0
-10724ACD0:lI51|H10724AD20
-10724AD20:lI46|H10724AD60
-10724AD60:lI50|H10724ADA0
-10724ADA0:lI47|H280052C20
-107237600:lH107238CB0|H107238CC8
-107238CB0:t2:H10723A198,A5:cache
-10723A198:lI47|H10723B500
-10723B500:lI111|H10723C610
-10723C610:lI112|H10723D4E0
-10723D4E0:lI116|H10723E280
-10723E280:lI47|H10723EEC0
-10723EEC0:lI104|H10723F9A0
-10723F9A0:lI111|H107240310
-107240310:lI109|H107240BA0
-107240BA0:lI101|H107241350
-107241350:lI98|H107241A80
-107241A80:lI114|H107242150
-107242150:lI101|H1072427C0
-1072427C0:lI119|H107242DC0
-107242DC0:lI47|H107243330
-107243330:lI67|H107243870
-107243870:lI101|H107243D80
-107243D80:lI108|H107244270
-107244270:lI108|H107244720
-107244720:lI97|H107244B90
-107244B90:lI114|H107244FF0
-107244FF0:lI47|H107245440
-107245440:lI101|H107245840
-107245840:lI114|H107245C00
-107245C00:lI108|H107245F90
-107245F90:lI97|H107246320
-107246320:lI110|H1072466B0
-1072466B0:lI103|H107246A40
-107246A40:lI47|H107246D80
-107246D80:lI50|H1072470A0
-1072470A0:lI54|H1072473C0
-1072473C0:lI46|H1072476D0
-1072476D0:lI48|H1072479D0
-1072479D0:lI46|H107247CD0
-107247CD0:lI50|H107247FB0
-107247FB0:lI47|H107248270
-107248270:lI108|H107248530
-107248530:lI105|H1072487E0
-1072487E0:lI98|H107248A90
-107248A90:lI47|H107248D10
-107248D10:lI101|H107248F80
-107248F80:lI114|H1072491F0
-1072491F0:lI108|H107249450
-107249450:lI97|H1072496B0
-1072496B0:lI110|H107249900
-107249900:lI103|H107249B10
-107249B10:lI47|H107249D00
-107249D00:lI108|H107249EE0
-107249EE0:lI105|H10724A0A0
-10724A0A0:lI98|H10724A240
-10724A240:lI47|H10724A3C0
-10724A3C0:lI99|H10724A530
-10724A530:lI111|H10724A690
-10724A690:lI109|H10724A7C0
-10724A7C0:lI109|H10724A8E0
-10724A8E0:lI111|H10724A9F0
-10724A9F0:lI110|H10724AAD0
-10724AAD0:lI95|H10724AB90
-10724AB90:lI116|H10724AC20
-10724AC20:lI101|H10724AC80
-10724AC80:lI115|H10724ACE0
-10724ACE0:lI116|H10724AD30
-10724AD30:lI45|H10724AD70
-10724AD70:lI49|H10724ADB0
-10724ADB0:lI46|H10724ADE0
-10724ADE0:lI50|H10724AE10
-10724AE10:lI53|H10724AE30
-10724AE30:lI47|H280052C20
-107238CC8:lH10723A1A8|N
-10723A1A8:t2:H10723B510,A5:cache
-10723B510:lI47|H10723C620
-10723C620:lI111|H10723D4F0
-10723D4F0:lI112|H10723E290
-10723E290:lI116|H10723EED0
-10723EED0:lI47|H10723F9B0
-10723F9B0:lI104|H107240320
-107240320:lI111|H107240BB0
-107240BB0:lI109|H107241360
-107241360:lI101|H107241A90
-107241A90:lI98|H107242160
-107242160:lI114|H1072427D0
-1072427D0:lI101|H107242DD0
-107242DD0:lI119|H107243340
-107243340:lI47|H107243880
-107243880:lI67|H107243D90
-107243D90:lI101|H107244280
-107244280:lI108|H107244730
-107244730:lI108|H107244BA0
-107244BA0:lI97|H107245000
-107245000:lI114|H107245450
-107245450:lI47|H107245850
-107245850:lI101|H107245C10
-107245C10:lI114|H107245FA0
-107245FA0:lI108|H107246330
-107246330:lI97|H1072466C0
-1072466C0:lI110|H107246A50
-107246A50:lI103|H107246D90
-107246D90:lI47|H1072470B0
-1072470B0:lI50|H1072473D0
-1072473D0:lI54|H1072476E0
-1072476E0:lI46|H1072479E0
-1072479E0:lI48|H107247CE0
-107247CE0:lI46|H107247FC0
-107247FC0:lI50|H107248280
-107248280:lI47|H107248540
-107248540:lI108|H1072487F0
-1072487F0:lI105|H107248AA0
-107248AA0:lI98|H107248D20
-107248D20:lI47|H107248F90
-107248F90:lI101|H107249200
-107249200:lI114|H107249460
-107249460:lI108|H1072496C0
-1072496C0:lI97|H107249910
-107249910:lI110|H107249B20
-107249B20:lI103|H107249D10
-107249D10:lI47|H107249EF0
-107249EF0:lI108|H10724A0B0
-10724A0B0:lI105|H10724A250
-10724A250:lI98|H10724A3D0
-10724A3D0:lI47|H10724A540
-10724A540:lI97|H10724A6A0
-10724A6A0:lI115|H10724A7D0
-10724A7D0:lI110|H10724A8F0
-10724A8F0:lI49|H10724AA00
-10724AA00:lI45|H10724AAE0
-10724AAE0:lI53|H10724ABA0
-10724ABA0:lI46|H10724AC30
-10724AC30:lI49|H10724AC90
-10724AC90:lI47|H280052C20
-1071F0038:lI47|H1071F05F8
-1071F05F8:lI111|H1071F1880
-1071F1880:lI112|H1071F3AF8
-1071F3AF8:lI116|H1071F6310
-1071F6310:lI47|H1071F8F60
-1071F8F60:lI104|H1071FBEA0
-1071FBEA0:lI111|H1071FEF58
-1071FEF58:lI109|H107202100
-107202100:lI101|H107205340
-107205340:lI98|H107208638
-107208638:lI114|H10720B908
-10720B908:lI101|H10720EBC8
-10720EBC8:lI119|H107211F28
-107211F28:lI47|H107215400
-107215400:lI67|H107218A90
-107218A90:lI101|H10721C2C0
-10721C2C0:lI108|H10721F9C0
-10721F9C0:lI108|H107222EB8
-107222EB8:lI97|H107226020
-107226020:lI114|H107228E08
-107228E08:lI47|H10722B840
-10722B840:lI101|H10722DF18
-10722DF18:lI114|H107230340
-107230340:lI108|H1072324B8
-1072324B8:lI97|H107234320
-107234320:lI110|H107235E88
-107235E88:lI103|H107237780
-107237780:lI47|H107238E08
-107238E08:lI50|H10723A2E0
-10723A2E0:lI54|H10723B640
-10723B640:lI46|H10723C720
-10723C720:lI48|H10723D5E0
-10723D5E0:lI46|H10723E360
-10723E360:lI50|H10723EF70
-10723EF70:lI47|H10723FA40
-10723FA40:lI108|H107240390
-107240390:lI105|H107240C10
-107240C10:lI98|H1072413A0
-1072413A0:lI47|H107241AD0
-107241AD0:lI101|H1072421A0
-1072421A0:lI114|H107242810
-107242810:lI108|H107242E10
-107242E10:lI97|H107243380
-107243380:lI110|H1072438C0
-1072438C0:lI103|N
-=proc_dictionary:<0.51.0>
-H105D8DDC8
-H105D8DE00
-=proc_stack:<0.51.0>
-y0:N
-y1:A8:infinity
-y2:H105D8DE90
-y3:H105D8DF68
-y4:A12:standard_error_sup
-y5:P<0.49.0>
-0x0000000105d8e3d8:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105d8e3f8:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.51.0>
-105D8DE90:t5:AE:callback_cache,A11:supervisor_bridge,H105D8DE18,H105D8DE40,H105D8DE68
-105D8DE68:E24:g3F3EXN1cGVydmlzb3JfYnJpZGdldwtoYW5kbGVfaW5mb2EC
-105D8DE40:E24:g3F3EXN1cGVydmlzb3JfYnJpZGdldwtoYW5kbGVfY2FzdGEC
-105D8DE18:E24:g3F3EXN1cGVydmlzb3JfYnJpZGdldwtoYW5kbGVfY2FsbGED
-105D8DF68:t5:A5:state,AE:standard_error,P<0.52.0>,P<0.52.0>,H280068C20
-105D8DDC8:t2:AA:$ancestors,H105D8DDB8
-105D8DDB8:lAA:kernel_sup|H105D8DD78
-105D8DD78:lP<0.47.0>|N
-105D8DE00:t2:AD:$initial_call,H105D8DDE0
-105D8DDE0:t3:A11:supervisor_bridge,AE:standard_error,I1
-=proc_dictionary:<0.52.0>
-H105D972F8
-H105D972E0
-=proc_stack:<0.52.0>
-y0:p<0.1>
-0x0000000105d979e0:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.52.0>
-105D972F8:t2:A5:onlcr,A5:false
-105D972E0:t2:A8:encoding,A7:unicode
-=proc_dictionary:<0.53.0>
-H105D801F0
-H105D80208
-=proc_stack:<0.53.0>
-y0:N
-y1:A8:infinity
-y2:H105D801C0
-y3:A9:undefined
-y4:AD:file_server_2
-y5:P<0.49.0>
-0x0000000105ddf9b8:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105ddf9d8:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.53.0>
-105D801C0:t5:AE:callback_cache,AB:file_server,H105D80220,H105D80248,H105D80270
-105D80270:E1E:g3F3C2ZpbGVfc2VydmVydwtoYW5kbGVfaW5mb2EC
-105D80248:E1E:g3F3C2ZpbGVfc2VydmVydwtoYW5kbGVfY2FzdGEC
-105D80220:E1E:g3F3C2ZpbGVfc2VydmVydwtoYW5kbGVfY2FsbGED
-105D801F0:t2:AA:$ancestors,H105D80298
-105D80298:lAA:kernel_sup|H105D802C8
-105D802C8:lP<0.47.0>|N
-105D80208:t2:AD:$initial_call,H105D802A8
-105D802A8:t3:AB:file_server,A4:init,I1
-=proc_dictionary:<0.55.0>
-H105D90368
-H105D90380
-=proc_stack:<0.55.0>
-y0:N
-y1:A8:infinity
-y2:H105D902E8
-y3:H105D90318
-y4:A7:inet_db
-y5:P<0.49.0>
-0x0000000105d92198:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105d921b8:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.55.0>
-105D902E8:t5:AE:callback_cache,A7:inet_db,H105D90398,H105D903C0,H105D903E8
-105D903E8:E1A:g3F3B2luZXRfZGJ3C2hhbmRsZV9pbmZvYQI=
-105D903C0:E1A:g3F3B2luZXRfZGJ3C2hhbmRsZV9jYXN0YQI=
-105D90398:E1A:g3F3B2luZXRfZGJ3C2hhbmRsZV9jYWxsYQM=
-105D90318:t9:A5:state,A7:inet_db,AA:inet_cache,A11:inet_hosts_byname,A11:inet_hosts_byaddr,A16:inet_hosts_file_byname,A16:inet_hosts_file_byaddr,AC:inet_sockets,H105D90410
-105D90410:E23:g1oAA3cNbm9ub2RlQG5vaG9zdAAAAAAAAK/o+vQAAd/g02c=
-105D90368:t2:AA:$ancestors,H105D90428
-105D90428:lAA:kernel_sup|H105D90458
-105D90458:lP<0.47.0>|N
-105D90380:t2:AD:$initial_call,H105D90438
-105D90438:t3:A7:inet_db,A4:init,I1
-=proc_dictionary:<0.56.0>
-H105D98DE8
-H105D98E20
-=proc_stack:<0.56.0>
-y0:N
-y1:A8:infinity
-y2:H105D98EB0
-y3:H105D98F20
-y4:A3:rex
-y5:P<0.49.0>
-0x0000000105d99428:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105d99448:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.56.0>
-105D98EB0:t5:AE:callback_cache,A3:rpc,H105D98E38,H105D98E60,H105D98E88
-105D98E88:E16:g3F3A3JwY3cLaGFuZGxlX2luZm9hAg==
-105D98E60:E16:g3F3A3JwY3cLaGFuZGxlX2Nhc3RhAg==
-105D98E38:E16:g3F3A3JwY3cLaGFuZGxlX2NhbGxhAw==
-105D98F20:Mf1:H280071110:H105D98F08
-105D98F08:t2:P<0.57.0>,H105D98EF0
-105D98EF0:E23:g1oAA3cNbm9ub2RlQG5vaG9zdAAAAAAAALAD+vQAAd/g02c=
-105D98DE8:t2:AA:$ancestors,H105D98DD8
-105D98DD8:lAA:kernel_sup|H105D98D98
-105D98D98:lP<0.47.0>|N
-105D98E20:t2:AD:$initial_call,H105D98E00
-105D98E00:t3:A3:rpc,A4:init,I1
-=proc_stack:<0.57.0>
-y0:N
-y1:H105D99468
-y2:N
-0x0000000105d99b98:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.57.0>
-105D99468:E23:g1oAA3cNbm9ub2RlQG5vaG9zdAAAAAAAALAE+vYAAd/g02c=
-=proc_dictionary:<0.58.0>
-H105D84510
-H105DA9070
-H105DA9088
-H105D84428
-=proc_stack:<0.58.0>
-y0:N
-y1:A8:infinity
-y2:H105DA9040
-y3:H105DA9158
-y4:A12:global_name_server
-y5:P<0.49.0>
-0x0000000105d856e8:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105d85708:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.58.0>
-105DA9040:t5:AE:callback_cache,A6:global,H105DA90A0,H105DA90C8,H105DA90F0
-105DA90F0:E19:g3F3Bmdsb2JhbHcLaGFuZGxlX2luZm9hAg==
-105DA90C8:E19:g3F3Bmdsb2JhbHcLaGFuZGxlX2Nhc3RhAg==
-105DA90A0:E19:g3F3Bmdsb2JhbHcLaGFuZGxlX2NhbGxhAw==
-105DA9158:tB:A5:state,H105DA91B8,H2800715B0,N,N,N,AD:nonode@nohost,P<0.59.0>,P<0.60.0>,A8:no_trace,A5:false
-105DA91B8:t3:A4:conf,A4:true,A4:true
-105D84510:t2:A12:creation_extension,H105D833F0
-105D833F0:B889410000978444288
-105DA9070:t2:AA:$ancestors,H105DA9118
-105DA9118:lAA:kernel_sup|H105DA9148
-105DA9148:lP<0.47.0>|N
-105DA9088:t2:AD:$initial_call,H105DA9128
-105DA9128:t3:A6:global,A4:init,I1
-105D84428:t2:A9:rand_seed,H105D84400
-105D84400:t2:H105D84478,H105D844C0
-105D844C0:lI236283493786687394|I177509139475053309
-105D84478:Mf6:H28007DE10:A5:exsss,H28007DD70,I58,H28007DD98,H28007DDC0,H28007DDE8
-=proc_stack:<0.59.0>
-y0:A8:infinity
-y1:H105DAE560
-0x0000000105daeb20:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.59.0>
-105DAE560:t7:A5:multi,N,N,N,AD:nonode@nohost,A5:false,A5:false
-=proc_stack:<0.60.0>
-y0:N
-0x0000000105dafe38:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.60.0>
-=proc_dictionary:<0.61.0>
-H105DAA4F0
-H105DAA580
-H105DAA418
-H105DAA430
-H105DAA518
-H105DAA598
-=proc_stack:<0.61.0>
-y0:N
-y1:A8:infinity
-y2:H105DAA3D8
-y3:H105DAAB68
-y4:AC:global_group
-y5:P<0.49.0>
-0x0000000105daaef0:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105daaf10:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.61.0>
-105DAA3D8:t5:AE:callback_cache,AC:global_group,H105DAA478,H105DAA4A0,H105DAA4C8
-105DAA4C8:E1F:g3F3DGdsb2JhbF9ncm91cHcLaGFuZGxlX2luZm9hAg==
-105DAA4A0:E1F:g3F3DGdsb2JhbF9ncm91cHcLaGFuZGxlX2Nhc3RhAg==
-105DAA478:E1F:g3F3DGdsb2JhbF9ncm91cHcLaGFuZGxlX2NhbGxhAw==
-105DAAB68:tA:A5:state,A7:no_conf,N,H28007F1E8,N,N,A6:normal,H28007F1E8,H28007FCE8,A9:undefined
-105DAA4F0:t2:A4:send,H28007F1D8
-105DAA580:t2:AA:$ancestors,H105DAA5C0
-105DAA5C0:lAA:kernel_sup|H105DAA600
-105DAA600:lP<0.47.0>|N
-105DAA418:t2:A12:global_group_check,P<0.62.0>
-105DAA430:t2:A10:registered_names,H28007F1D8
-105DAA518:t2:AC:whereis_name,H28007F1D8
-105DAA598:t2:AD:$initial_call,H105DAA5D0
-105DAA5D0:t3:AC:global_group,A4:init,I1
-=proc_stack:<0.62.0>
-0x0000000105daf270:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.62.0>
-=proc_dictionary:<0.63.0>
-H105DAFF28
-H105DAFF40
-=proc_stack:<0.63.0>
-y0:A5:false
-y1:N
-y2:A8:infinity
-y3:H105DB0060
-y4:A11:erl_signal_server
-y5:P<0.49.0>
-0x0000000105db0568:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105db0588:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.63.0>
-105DB0060:lH105DB0030|N
-105DB0030:t5:A7:handler,A12:erl_signal_handler,A5:false,H28008FBD0,A5:false
-105DAFF28:t2:AA:$ancestors,H105DAFF18
-105DAFF18:lAA:kernel_sup|H105DAFED8
-105DAFED8:lP<0.47.0>|N
-105DAFF40:t2:AD:$initial_call,H280042BE0
-=proc_dictionary:<0.64.0>
-H105DF31D8
-H105DF31F0
-=proc_stack:<0.64.0>
-y0:N
-y1:A8:infinity
-y2:H105DF31A8
-y3:H105DFA798
-y4:P<0.64.0>
-y5:P<0.49.0>
-0x0000000105dfb420:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105dfb440:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.64.0>
-105DF31A8:t5:AE:callback_cache,A11:supervisor_bridge,H105DF3230,H105DF3258,H105DF3280
-105DF3280:E24:g3F3EXN1cGVydmlzb3JfYnJpZGdldwtoYW5kbGVfaW5mb2EC
-105DF3258:E24:g3F3EXN1cGVydmlzb3JfYnJpZGdldwtoYW5kbGVfY2FzdGEC
-105DF3230:E24:g3F3EXN1cGVydmlzb3JfYnJpZGdldwtoYW5kbGVfY2FsbGED
-105DFA798:t5:A5:state,A8:user_sup,P<0.69.0>,P<0.69.0>,H105DF3190
-105DF3190:t2:P<0.64.0>,A8:user_sup
-105DF31D8:t2:AA:$ancestors,H105DF32A8
-105DF32A8:lAA:kernel_sup|H105DF3310
-105DF3310:lP<0.47.0>|N
-105DF31F0:t2:AD:$initial_call,H105DF32B8
-105DF32B8:t3:A11:supervisor_bridge,A8:user_sup,I1
-=proc_dictionary:<0.65.0>
-H105DAC538
-H105D87E18
-H105DAC250
-=proc_stack:<0.65.0>
-y0:N
-y1:A8:infinity
-y2:H105D889A8
-y3:N
-y4:H105DAC4F8
-0x0000000105d89030:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105d89050:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.65.0>
-105D889A8:t5:A5:state,H105D88990,N,H280082770,A5:false
-105D88990:t2:A6:server,H105D88920
-105D88920:tA:A5:state,H105DAC3B0,H105DAC350,H105DAC398,A5:false,A9:undefined,P<0.69.0>,P<0.69.0>,H105D87DE8,H105D888F0
-105D888F0:t2:A5:false,H28005B2F8
-105D87DE8:t5:A2:gr,I1,I0,P<0.69.0>,H105D87E40
-105D87E40:lH105D87E50|N
-105D87E50:t4:A5:group,I0,P<0.69.0>,H280010188
-105DAC398:E23:g1oAA3cNbm9ub2RlQG5vaG9zdAAAAAAAALBC+vQAAd/g02c=
-105DAC350:E23:g1oAA3cNbm9ub2RlQG5vaG9zdAAAAAAAALBA+vQAAd/g02c=
-105DAC3B0:t1A:A5:state,H105DAC2B8,H105DAC488,H105DAC2D0,H105DAC2E8,A4:true,N,N,N,N,A9:undefined,I125,I12,A5:false,H280086838,H280086850,H280086868,H280086880,H280086898,H2800868B0,H2800868C8,A5:false,A5:false,H2800868E0,H2800868F8,H105DAC320
-105DAC320:t5:AA:re_pattern,I0,I1,I0,H105DAC368
-105DAC368:Yc130931BD0:0:15E
-105DAC2E8:Mf4:H280086920:A4:true,A5:false,A5:false,A5:false
-105DAC2D0:t2:P<0.67.0>,H105DAC350
-105DAC488:t2:P<0.68.0>,H105DAC398
-105DAC2B8:E23:g1oAA3cNbm9ub2RlQG5vaG9zdAAAAAAAALA++vYAAd/g02c=
-105DAC4F8:t7:A6:params,AF:state_functions,A5:false,P<0.65.0>,H105DAC598,A8:user_drv,A8:infinity
-105DAC598:lA8:user_drv|N
-105DAC538:t2:AA:$ancestors,H105DAC5A8
-105DAC5A8:lP<0.69.0>|H105DAC268
-105DAC268:lP<0.64.0>|H105DAC298
-105DAC298:lAA:kernel_sup|H105DAC2A8
-105DAC2A8:lP<0.47.0>|N
-105D87E18:t2:AD:current_group,P<0.69.0>
-105DAC250:t2:AD:$initial_call,H105DAC278
-105DAC278:t3:A8:user_drv,A4:init,I1
-=proc_dictionary:<0.67.0>
-H105DAAFD8
-H105DAB010
-=proc_stack:<0.67.0>
-y0:N
-y1:H105DAB028
-y2:H105DAAF50
-0x0000000105dab640:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105dab660:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.67.0>
-105DAB028:E23:g1oAA3cNbm9ub2RlQG5vaG9zdAAAAAAAALBA+vQAAd/g02c=
-105DAAF50:E23:g1oAA3cNbm9ub2RlQG5vaG9zdAAAAAAAALA++vYAAd/g02c=
-105DAAFD8:t2:AA:$ancestors,H105DAAFC8
-105DAAFC8:lA8:user_drv|H105DAAF88
-105DAAF88:lP<0.64.0>|H105DAAF78
-105DAAF78:lAA:kernel_sup|H105DAAF68
-105DAAF68:lP<0.47.0>|N
-105DAB010:t2:AD:$initial_call,H105DAAFF0
-105DAAFF0:t3:A8:prim_tty,A6:writer,I1
-=proc_dictionary:<0.68.0>
-H105DAB758
-H105DAB790
-=proc_stack:<0.68.0>
-y0:N
-y1:N
-y2:H280086C10
-y3:A4:utf8
-y4:H105DAB7A8
-y5:H105DAB7C0
-y6:P<0.65.0>
-y7:H105DAB6B0
-0x0000000105dabd90:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105dabdb0:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.68.0>
-105DAB7A8:E23:g1oAA3cNbm9ub2RlQG5vaG9zdAAAAAAAALBC+vQAAd/g02c=
-105DAB7C0:E23:g1oAA3cNbm9ub2RlQG5vaG9zdAAAAAAAALBD+vQAAd/g02c=
-105DAB6B0:E23:g1oAA3cNbm9ub2RlQG5vaG9zdAAAAAAAALA++vYAAd/g02c=
-105DAB758:t2:AA:$ancestors,H105DAB748
-105DAB748:lA8:user_drv|H105DAB708
-105DAB708:lP<0.64.0>|H105DAB6F8
-105DAB6F8:lAA:kernel_sup|H105DAB6E8
-105DAB6E8:lP<0.47.0>|N
-105DAB790:t2:AD:$initial_call,H105DAB770
-105DAB770:t3:A8:prim_tty,A6:reader,I1
-=proc_dictionary:<0.69.0>
-H105D89778
-H105D898F8
-H105D897E8
-H105D85E78
-H105D89810
-H105D89730
-H105D89748
-H105D89760
-=proc_stack:<0.69.0>
-y0:N
-y1:A2:ok
-y2:P<0.65.0>
-0x0000000105d89c18:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.69.0>
-105D89778:t2:AD:unicode_state,A4:true
-105D898F8:t2:AA:expand_fun,H2800870F0
-105D897E8:t2:A4:echo,A5:false
-105D85E78:t2:AB:kill_buffer,N
-105D89810:t2:AC:expand_below,A4:true
-105D89730:t2:AB:line_buffer,N
-105D89748:t2:A9:read_mode,A6:binary
-105D89760:t2:A8:user_drv,P<0.65.0>
-=proc_dictionary:<0.70.0>
-H105D86A30
-H105D86A48
-=proc_stack:<0.70.0>
-y0:N
-y1:A8:infinity
-y2:H105D86C90
-y3:H105D81B48
-y4:AA:logger_sup
-y5:P<0.49.0>
-0x0000000105d82070:SReturn addr 0x3E951BC (proc_lib:wake_up/3 + 220)
-y0:N
-y1:N
-y2:SCatch 0x3E951E4 (proc_lib:wake_up/3 + 260)
-0x0000000105d82090:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.70.0>
-105D86C90:t5:AE:callback_cache,AA:supervisor,H105D86CC0,H105D86CE8,H105D86D10
-105D86D10:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9pbmZvYQI=
-105D86CE8:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9jYXN0YQI=
-105D86CC0:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9jYWxsYQM=
-105D81B48:tC:A5:state,H280088258,AB:one_for_one,H105D81B30,A9:undefined,I1,I5,N,I0,A5:never,AA:logger_sup,N
-105D81B30:t2:H105D81B20,H105D81AC0
-105D81AC0:Mf4:H105D81AF8:H105D81718,H105D86BE0,H105D86C30,H105D81A70
-105D81AF8:t4:A7:default,A16:logger_handler_watcher,AC:logger_proxy,AB:ssl_handler
-105D81A70:t9:A5:child,P<0.105.0>,AB:ssl_handler,H105D81A50,A9:temporary,A5:false,I2000,A6:worker,H280091F30
-105D81A50:t3:AA:logger_olp,AA:start_link,A9:undefined
-105D86C30:t9:A5:child,P<0.72.0>,AC:logger_proxy,H28005A150,A9:temporary,A5:false,I2000,A6:worker,H28005A140
-105D86BE0:t9:A5:child,P<0.71.0>,A16:logger_handler_watcher,H2800882C0,A9:permanent,A5:false,AB:brutal_kill,A6:worker,H105D86C80
-105D86C80:lA16:logger_handler_watcher|N
-105D81718:t9:A5:child,P<0.77.0>,A7:default,H105D817D8,A9:temporary,A5:false,I2000,A6:worker,H280091F30
-105D817D8:t3:AA:logger_olp,AA:start_link,A9:undefined
-105D81B20:lAB:ssl_handler|H105D81698
-105D81698:lA7:default|H105D86B70
-105D86B70:lAC:logger_proxy|H105D86BB8
-105D86BB8:lA16:logger_handler_watcher|N
-105D86A30:t2:AA:$ancestors,H105D86A70
-105D86A70:lAA:kernel_sup|H105D86AB0
-105D86AB0:lP<0.47.0>|N
-105D86A48:t2:AD:$initial_call,H105D86A80
-105D86A80:t3:AA:supervisor,AA:logger_sup,I1
-=proc_dictionary:<0.71.0>
-H105D85808
-H105D85840
-=proc_stack:<0.71.0>
-y0:N
-y1:A8:infinity
-y2:H105D858D0
-y3:H105D85B58
-y4:A16:logger_handler_watcher
-y5:P<0.70.0>
-0x0000000105d85e38:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105d85e58:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.71.0>
-105D858D0:t5:AE:callback_cache,A16:logger_handler_watcher,H105D85858,H105D85880,H105D858A8
-105D858A8:E29:g3F3FmxvZ2dlcl9oYW5kbGVyX3dhdGNoZXJ3C2hhbmRsZV9pbmZvYQI=
-105D85880:E29:g3F3FmxvZ2dlcl9oYW5kbGVyX3dhdGNoZXJ3C2hhbmRsZV9jYXN0YQI=
-105D85858:E29:g3F3FmxvZ2dlcl9oYW5kbGVyX3dhdGNoZXJ3C2hhbmRsZV9jYWxsYQM=
-105D85B58:t2:A5:state,H105D85B48
-105D85B48:lH105D859F0|H105D85B38
-105D859F0:t2:A7:default,H105D859D8
-105D859D8:E23:g1oAA3cNbm9ub2RlQG5vaG9zdAAAAAAAALCJ+vQAAd/g02c=
-105D85B38:lH105D85B20|N
-105D85B20:t2:AB:ssl_handler,H105D85B08
-105D85B08:E23:g1oAA3cNbm9ub2RlQG5vaG9zdAAAAAAAALFo+vQAAd/g02c=
-105D85808:t2:AA:$ancestors,H105D857F8
-105D857F8:lAA:logger_sup|H105D857B8
-105D857B8:lAA:kernel_sup|H105D857A8
-105D857A8:lP<0.47.0>|N
-105D85840:t2:AD:$initial_call,H105D85820
-105D85820:t3:A16:logger_handler_watcher,A4:init,I1
-=proc_dictionary:<0.72.0>
-H105D89DB0
-H105D89DC8
-H105D89DE0
-=proc_stack:<0.72.0>
-0x0000000105d8a748:SReturn addr 0x3F1CC18 (gen_server:try_handle_info/3 + 240)
-y0:N
-y1:N
-y2:N
-y3:AA:logger_olp
-y4:H105D89CF8
-y5:H105DE8808
-y6:SCatch 0x3F1CC6C (gen_server:try_handle_info/3 + 324)
-0x0000000105d8a788:SReturn addr 0x3F1D994 (gen_server:handle_msg/6 + 1028)
-y0:A8:infinity
-y1:H105D8A120
-y2:H105D89CF8
-y3:P<0.72.0>
-y4:P<0.70.0>
-y5:H105DE8808
-0x0000000105d8a7c0:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105d8a7e0:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.72.0>
-105D89CF8:Mf14:H105D89E18:AC:logger_proxy,AC:logger_proxy,A5:async,A4:true,A5:false,I1000,I5000,I500,I0,I-576460751881273,A8:no_state,I-576460751881273,I0,H105D89EC0,I5000,I500,I1000,A5:false,I3000000,I20000
-105D89E18:t14:A2:id,A6:module,A4:mode,A4:idle,A12:burst_limit_enable,AE:drop_mode_qlen,AA:flush_qlen,AE:sync_mode_qlen,AF:burst_msg_count,AC:burst_win_ts,A8:cb_state,AC:last_load_ts,A9:last_qlen,A8:mode_ref,A1B:overload_kill_restart_after,A15:burst_limit_max_count,A17:burst_limit_window_time,A14:overload_kill_enable,A16:overload_kill_mem_size,A12:overload_kill_qlen
-105D89EC0:t2:AA:logger_olp,AC:logger_proxy
-105DE8808:t5:A3:log,A5:error,H105DE5C18,H105DE8758,H105DE87D0
-105DE87D0:Mf4:H105DE87A8:H105DE8768,P<0.134.0>,I1701928823965135,P<0.69.0>
-105DE87A8:t4:AC:error_logger,A3:pid,A4:time,A2:gl
-105DE8768:Mf2:H105DE8790:A4:true,A5:error
-105DE8790:t2:A8:emulator,A3:tag
-105DE8758:lP<0.134.0>|H105DE5C28
-105DE5C28:lH105DE5C38|N
-105DE5C38:t2:H105DE5C50,H105DE5C90
-105DE5C90:lH105DE5D10|H105DE5CA0
-105DE5D10:t4:A23:showtime@internal@reports@formatter,A1C:-create_test_report/1-fun-4-,I1,H105DE5DD8
-105DE5DD8:lH105DE5E78|H105DE5DE8
-105DE5E78:t2:A4:file,H105DE86B8
-105DE86B8:lI47|H105DE86A8
-105DE86A8:lI85|H105DE8698
-105DE8698:lI115|H105DE8688
-105DE8688:lI101|H105DE8678
-105DE8678:lI114|H105DE8668
-105DE8668:lI115|H105DE8658
-105DE8658:lI47|H105DE8648
-105DE8648:lI110|H105DE8638
-105DE8638:lI105|H105DE8628
-105DE8628:lI99|H105DE8618
-105DE8618:lI104|H105DE8608
-105DE8608:lI111|H105DE85F8
-105DE85F8:lI108|H105DE85E8
-105DE85E8:lI97|H105DE85D8
-105DE85D8:lI115|H105DE85C8
-105DE85C8:lI99|H105DE85B8
-105DE85B8:lI97|H105DE85A8
-105DE85A8:lI114|H105DE8598
-105DE8598:lI108|H105DE8588
-105DE8588:lI115|H105DE8578
-105DE8578:lI111|H105DE8568
-105DE8568:lI110|H105DE8558
-105DE8558:lI47|H105DE8548
-105DE8548:lI86|H105DE8538
-105DE8538:lI83|H105DE8528
-105DE8528:lI32|H105DE8518
-105DE8518:lI67|H105DE8508
-105DE8508:lI111|H105DE84F8
-105DE84F8:lI100|H105DE84E8
-105DE84E8:lI101|H105DE84D8
-105DE84D8:lI47|H105DE84C8
-105DE84C8:lI65|H105DE84B8
-105DE84B8:lI100|H105DE84A8
-105DE84A8:lI118|H105DE8498
-105DE8498:lI101|H105DE8488
-105DE8488:lI110|H105DE8478
-105DE8478:lI116|H105DE8468
-105DE8468:lI79|H105DE8458
-105DE8458:lI102|H105DE8448
-105DE8448:lI67|H105DE8438
-105DE8438:lI111|H105DE8428
-105DE8428:lI100|H105DE8418
-105DE8418:lI101|H105DE8408
-105DE8408:lI47|H105DE83F8
-105DE83F8:lI97|H105DE83E8
-105DE83E8:lI111|H105DE83D8
-105DE83D8:lI99|H105DE83C8
-105DE83C8:lI50|H105DE83B8
-105DE83B8:lI48|H105DE83A8
-105DE83A8:lI50|H105DE8398
-105DE8398:lI51|H105DE8388
-105DE8388:lI47|H105DE8378
-105DE8378:lI98|H105DE8368
-105DE8368:lI117|H105DE8358
-105DE8358:lI105|H105DE8348
-105DE8348:lI108|H105DE8338
-105DE8338:lI100|H105DE8328
-105DE8328:lI47|H105DE8318
-105DE8318:lI100|H105DE8308
-105DE8308:lI101|H105DE82F8
-105DE82F8:lI118|H105DE82E8
-105DE82E8:lI47|H105DE82D8
-105DE82D8:lI101|H105DE82C8
-105DE82C8:lI114|H105DE82B8
-105DE82B8:lI108|H105DE82A8
-105DE82A8:lI97|H105DE8298
-105DE8298:lI110|H105DE8288
-105DE8288:lI103|H105DE8278
-105DE8278:lI47|H105DE8268
-105DE8268:lI97|H105DE8258
-105DE8258:lI100|H105DE8248
-105DE8248:lI103|H105DE8238
-105DE8238:lI108|H105DE8228
-105DE8228:lI101|H105DE8218
-105DE8218:lI110|H105DE8208
-105DE8208:lI116|H105DE81F8
-105DE81F8:lI47|H105DE81E8
-105DE81E8:lI95|H105DE81D8
-105DE81D8:lI103|H105DE81C8
-105DE81C8:lI108|H105DE81B8
-105DE81B8:lI101|H105DE81A8
-105DE81A8:lI97|H105DE8198
-105DE8198:lI109|H105DE8188
-105DE8188:lI95|H105DE8178
-105DE8178:lI97|H105DE8168
-105DE8168:lI114|H105DE8158
-105DE8158:lI116|H105DE8148
-105DE8148:lI101|H105DE8138
-105DE8138:lI102|H105DE8128
-105DE8128:lI97|H105DE8118
-105DE8118:lI99|H105DE8108
-105DE8108:lI116|H105DE80F8
-105DE80F8:lI115|H105DE80E8
-105DE80E8:lI47|H105DE80D8
-105DE80D8:lI115|H105DE80C8
-105DE80C8:lI104|H105DE80B8
-105DE80B8:lI111|H105DE80A8
-105DE80A8:lI119|H105DE8098
-105DE8098:lI116|H105DE8088
-105DE8088:lI105|H105DE8078
-105DE8078:lI109|H105DE8068
-105DE8068:lI101|H105DE8058
-105DE8058:lI64|H105DE8048
-105DE8048:lI105|H105DE8038
-105DE8038:lI110|H105DE8028
-105DE8028:lI116|H105DE8018
-105DE8018:lI101|H105DE8008
-105DE8008:lI114|H105DE7FF8
-105DE7FF8:lI110|H105DE7FE8
-105DE7FE8:lI97|H105DE7FD8
-105DE7FD8:lI108|H105DE7FC8
-105DE7FC8:lI64|H105DE7FB8
-105DE7FB8:lI114|H105DE7FA8
-105DE7FA8:lI101|H105DE7F98
-105DE7F98:lI112|H105DE7F88
-105DE7F88:lI111|H105DE7F78
-105DE7F78:lI114|H105DE7F68
-105DE7F68:lI116|H105DE7F58
-105DE7F58:lI115|H105DE7F48
-105DE7F48:lI64|H105DE7F38
-105DE7F38:lI102|H105DE7F28
-105DE7F28:lI111|H105DE7F18
-105DE7F18:lI114|H105DE7F08
-105DE7F08:lI109|H105DE7EF8
-105DE7EF8:lI97|H105DE7EE8
-105DE7EE8:lI116|H105DE7ED8
-105DE7ED8:lI116|H105DE7EC8
-105DE7EC8:lI101|H105DE7EB8
-105DE7EB8:lI114|H105DE7EA8
-105DE7EA8:lI46|H105DE7E98
-105DE7E98:lI101|H105DE7E88
-105DE7E88:lI114|H105DE7E78
-105DE7E78:lI108|N
-105DE5DE8:lH105DE5E90|N
-105DE5E90:t2:A4:line,I665
-105DE5CA0:lH105DE5D38|H105DE5CB0
-105DE5D38:t4:AA:gleam@list,AD:do_filter_map,I3,H105DE5DF8
-105DE5DF8:lH105DE5EA8|H105DE5E08
-105DE5EA8:t2:A4:file,H105DE7E68
-105DE7E68:lI47|H105DE7E58
-105DE7E58:lI85|H105DE7E48
-105DE7E48:lI115|H105DE7E38
-105DE7E38:lI101|H105DE7E28
-105DE7E28:lI114|H105DE7E18
-105DE7E18:lI115|H105DE7E08
-105DE7E08:lI47|H105DE7DF8
-105DE7DF8:lI110|H105DE7DE8
-105DE7DE8:lI105|H105DE7DD8
-105DE7DD8:lI99|H105DE7DC8
-105DE7DC8:lI104|H105DE7DB8
-105DE7DB8:lI111|H105DE7DA8
-105DE7DA8:lI108|H105DE7D98
-105DE7D98:lI97|H105DE7D88
-105DE7D88:lI115|H105DE7D78
-105DE7D78:lI99|H105DE7D68
-105DE7D68:lI97|H105DE7D58
-105DE7D58:lI114|H105DE7D48
-105DE7D48:lI108|H105DE7D38
-105DE7D38:lI115|H105DE7D28
-105DE7D28:lI111|H105DE7D18
-105DE7D18:lI110|H105DE7D08
-105DE7D08:lI47|H105DE7CF8
-105DE7CF8:lI86|H105DE7CE8
-105DE7CE8:lI83|H105DE7CD8
-105DE7CD8:lI32|H105DE7CC8
-105DE7CC8:lI67|H105DE7CB8
-105DE7CB8:lI111|H105DE7CA8
-105DE7CA8:lI100|H105DE7C98
-105DE7C98:lI101|H105DE7C88
-105DE7C88:lI47|H105DE7C78
-105DE7C78:lI65|H105DE7C68
-105DE7C68:lI100|H105DE7C58
-105DE7C58:lI118|H105DE7C48
-105DE7C48:lI101|H105DE7C38
-105DE7C38:lI110|H105DE7C28
-105DE7C28:lI116|H105DE7C18
-105DE7C18:lI79|H105DE7C08
-105DE7C08:lI102|H105DE7BF8
-105DE7BF8:lI67|H105DE7BE8
-105DE7BE8:lI111|H105DE7BD8
-105DE7BD8:lI100|H105DE7BC8
-105DE7BC8:lI101|H105DE7BB8
-105DE7BB8:lI47|H105DE7BA8
-105DE7BA8:lI97|H105DE7B98
-105DE7B98:lI111|H105DE7B88
-105DE7B88:lI99|H105DE7B78
-105DE7B78:lI50|H105DE7B68
-105DE7B68:lI48|H105DE7B58
-105DE7B58:lI50|H105DE7B48
-105DE7B48:lI51|H105DE7B38
-105DE7B38:lI47|H105DE7B28
-105DE7B28:lI98|H105DE7B18
-105DE7B18:lI117|H105DE7B08
-105DE7B08:lI105|H105DE7AF8
-105DE7AF8:lI108|H105DE7AE8
-105DE7AE8:lI100|H105DE7AD8
-105DE7AD8:lI47|H105DE7AC8
-105DE7AC8:lI100|H105DE7AB8
-105DE7AB8:lI101|H105DE7AA8
-105DE7AA8:lI118|H105DE7A98
-105DE7A98:lI47|H105DE7A88
-105DE7A88:lI101|H105DE7A78
-105DE7A78:lI114|H105DE7A68
-105DE7A68:lI108|H105DE7A58
-105DE7A58:lI97|H105DE7A48
-105DE7A48:lI110|H105DE7A38
-105DE7A38:lI103|H105DE7A28
-105DE7A28:lI47|H105DE7A18
-105DE7A18:lI103|H105DE7A08
-105DE7A08:lI108|H105DE79F8
-105DE79F8:lI101|H105DE79E8
-105DE79E8:lI97|H105DE79D8
-105DE79D8:lI109|H105DE79C8
-105DE79C8:lI95|H105DE79B8
-105DE79B8:lI115|H105DE79A8
-105DE79A8:lI116|H105DE7998
-105DE7998:lI100|H105DE7988
-105DE7988:lI108|H105DE7978
-105DE7978:lI105|H105DE7968
-105DE7968:lI98|H105DE7958
-105DE7958:lI47|H105DE7948
-105DE7948:lI95|H105DE7938
-105DE7938:lI103|H105DE7928
-105DE7928:lI108|H105DE7918
-105DE7918:lI101|H105DE7908
-105DE7908:lI97|H105DE78F8
-105DE78F8:lI109|H105DE78E8
-105DE78E8:lI95|H105DE78D8
-105DE78D8:lI97|H105DE78C8
-105DE78C8:lI114|H105DE78B8
-105DE78B8:lI116|H105DE78A8
-105DE78A8:lI101|H105DE7898
-105DE7898:lI102|H105DE7888
-105DE7888:lI97|H105DE7878
-105DE7878:lI99|H105DE7868
-105DE7868:lI116|H105DE7858
-105DE7858:lI115|H105DE7848
-105DE7848:lI47|H105DE7838
-105DE7838:lI103|H105DE7828
-105DE7828:lI108|H105DE7818
-105DE7818:lI101|H105DE7808
-105DE7808:lI97|H105DE77F8
-105DE77F8:lI109|H105DE77E8
-105DE77E8:lI64|H105DE77D8
-105DE77D8:lI108|H105DE77C8
-105DE77C8:lI105|H105DE77B8
-105DE77B8:lI115|H105DE77A8
-105DE77A8:lI116|H105DE7798
-105DE7798:lI46|H105DE7788
-105DE7788:lI101|H105DE7778
-105DE7778:lI114|H105DE7768
-105DE7768:lI108|N
-105DE5E08:lH105DE5EC0|N
-105DE5EC0:t2:A4:line,I94
-105DE5CB0:lH105DE5D60|H105DE5CC0
-105DE5D60:t4:A23:showtime@internal@reports@formatter,A12:create_test_report,I1,H105DE5E18
-105DE5E18:lH105DE5ED8|H105DE5E28
-105DE5ED8:t2:A4:file,H105DE7758
-105DE7758:lI47|H105DE7748
-105DE7748:lI85|H105DE7738
-105DE7738:lI115|H105DE7728
-105DE7728:lI101|H105DE7718
-105DE7718:lI114|H105DE7708
-105DE7708:lI115|H105DE76F8
-105DE76F8:lI47|H105DE76E8
-105DE76E8:lI110|H105DE76D8
-105DE76D8:lI105|H105DE76C8
-105DE76C8:lI99|H105DE76B8
-105DE76B8:lI104|H105DE76A8
-105DE76A8:lI111|H105DE7698
-105DE7698:lI108|H105DE7688
-105DE7688:lI97|H105DE7678
-105DE7678:lI115|H105DE7668
-105DE7668:lI99|H105DE7658
-105DE7658:lI97|H105DE7648
-105DE7648:lI114|H105DE7638
-105DE7638:lI108|H105DE7628
-105DE7628:lI115|H105DE7618
-105DE7618:lI111|H105DE7608
-105DE7608:lI110|H105DE75F8
-105DE75F8:lI47|H105DE75E8
-105DE75E8:lI86|H105DE75D8
-105DE75D8:lI83|H105DE75C8
-105DE75C8:lI32|H105DE75B8
-105DE75B8:lI67|H105DE75A8
-105DE75A8:lI111|H105DE7598
-105DE7598:lI100|H105DE7588
-105DE7588:lI101|H105DE7578
-105DE7578:lI47|H105DE7568
-105DE7568:lI65|H105DE7558
-105DE7558:lI100|H105DE7548
-105DE7548:lI118|H105DE7538
-105DE7538:lI101|H105DE7528
-105DE7528:lI110|H105DE7518
-105DE7518:lI116|H105DE7508
-105DE7508:lI79|H105DE74F8
-105DE74F8:lI102|H105DE74E8
-105DE74E8:lI67|H105DE74D8
-105DE74D8:lI111|H105DE74C8
-105DE74C8:lI100|H105DE74B8
-105DE74B8:lI101|H105DE74A8
-105DE74A8:lI47|H105DE7498
-105DE7498:lI97|H105DE7488
-105DE7488:lI111|H105DE7478
-105DE7478:lI99|H105DE7468
-105DE7468:lI50|H105DE7458
-105DE7458:lI48|H105DE7448
-105DE7448:lI50|H105DE7438
-105DE7438:lI51|H105DE7428
-105DE7428:lI47|H105DE7418
-105DE7418:lI98|H105DE7408
-105DE7408:lI117|H105DE73F8
-105DE73F8:lI105|H105DE73E8
-105DE73E8:lI108|H105DE73D8
-105DE73D8:lI100|H105DE73C8
-105DE73C8:lI47|H105DE73B8
-105DE73B8:lI100|H105DE73A8
-105DE73A8:lI101|H105DE7398
-105DE7398:lI118|H105DE7388
-105DE7388:lI47|H105DE7378
-105DE7378:lI101|H105DE7368
-105DE7368:lI114|H105DE7358
-105DE7358:lI108|H105DE7348
-105DE7348:lI97|H105DE7338
-105DE7338:lI110|H105DE7328
-105DE7328:lI103|H105DE7318
-105DE7318:lI47|H105DE7308
-105DE7308:lI97|H105DE72F8
-105DE72F8:lI100|H105DE72E8
-105DE72E8:lI103|H105DE72D8
-105DE72D8:lI108|H105DE72C8
-105DE72C8:lI101|H105DE72B8
-105DE72B8:lI110|H105DE72A8
-105DE72A8:lI116|H105DE7298
-105DE7298:lI47|H105DE7288
-105DE7288:lI95|H105DE7278
-105DE7278:lI103|H105DE7268
-105DE7268:lI108|H105DE7258
-105DE7258:lI101|H105DE7248
-105DE7248:lI97|H105DE7238
-105DE7238:lI109|H105DE7228
-105DE7228:lI95|H105DE7218
-105DE7218:lI97|H105DE7208
-105DE7208:lI114|H105DE71F8
-105DE71F8:lI116|H105DE71E8
-105DE71E8:lI101|H105DE71D8
-105DE71D8:lI102|H105DE71C8
-105DE71C8:lI97|H105DE71B8
-105DE71B8:lI99|H105DE71A8
-105DE71A8:lI116|H105DE7198
-105DE7198:lI115|H105DE7188
-105DE7188:lI47|H105DE7178
-105DE7178:lI115|H105DE7168
-105DE7168:lI104|H105DE7158
-105DE7158:lI111|H105DE7148
-105DE7148:lI119|H105DE7138
-105DE7138:lI116|H105DE7128
-105DE7128:lI105|H105DE7118
-105DE7118:lI109|H105DE7108
-105DE7108:lI101|H105DE70F8
-105DE70F8:lI64|H105DE70E8
-105DE70E8:lI105|H105DE70D8
-105DE70D8:lI110|H105DE70C8
-105DE70C8:lI116|H105DE70B8
-105DE70B8:lI101|H105DE70A8
-105DE70A8:lI114|H105DE7098
-105DE7098:lI110|H105DE7088
-105DE7088:lI97|H105DE7078
-105DE7078:lI108|H105DE7068
-105DE7068:lI64|H105DE7058
-105DE7058:lI114|H105DE7048
-105DE7048:lI101|H105DE7038
-105DE7038:lI112|H105DE7028
-105DE7028:lI111|H105DE7018
-105DE7018:lI114|H105DE7008
-105DE7008:lI116|H105DE6FF8
-105DE6FF8:lI115|H105DE6FE8
-105DE6FE8:lI64|H105DE6FD8
-105DE6FD8:lI102|H105DE6FC8
-105DE6FC8:lI111|H105DE6FB8
-105DE6FB8:lI114|H105DE6FA8
-105DE6FA8:lI109|H105DE6F98
-105DE6F98:lI97|H105DE6F88
-105DE6F88:lI116|H105DE6F78
-105DE6F78:lI116|H105DE6F68
-105DE6F68:lI101|H105DE6F58
-105DE6F58:lI114|H105DE6F48
-105DE6F48:lI46|H105DE6F38
-105DE6F38:lI101|H105DE6F28
-105DE6F28:lI114|H105DE6F18
-105DE6F18:lI108|N
-105DE5E28:lH105DE5EF0|N
-105DE5EF0:t2:A4:line,I486
-105DE5CC0:lH105DE5D88|H105DE5CD0
-105DE5D88:t4:A26:showtime@internal@erlang@event_handler,AF:-start/0-fun-1-,I2,H105DE5E38
-105DE5E38:lH105DE5F08|H105DE5E48
-105DE5F08:t2:A4:file,H105DE6F08
-105DE6F08:lI47|H105DE6EF8
-105DE6EF8:lI85|H105DE6EE8
-105DE6EE8:lI115|H105DE6ED8
-105DE6ED8:lI101|H105DE6EC8
-105DE6EC8:lI114|H105DE6EB8
-105DE6EB8:lI115|H105DE6EA8
-105DE6EA8:lI47|H105DE6E98
-105DE6E98:lI110|H105DE6E88
-105DE6E88:lI105|H105DE6E78
-105DE6E78:lI99|H105DE6E68
-105DE6E68:lI104|H105DE6E58
-105DE6E58:lI111|H105DE6E48
-105DE6E48:lI108|H105DE6E38
-105DE6E38:lI97|H105DE6E28
-105DE6E28:lI115|H105DE6E18
-105DE6E18:lI99|H105DE6E08
-105DE6E08:lI97|H105DE6DF8
-105DE6DF8:lI114|H105DE6DE8
-105DE6DE8:lI108|H105DE6DD8
-105DE6DD8:lI115|H105DE6DC8
-105DE6DC8:lI111|H105DE6DB8
-105DE6DB8:lI110|H105DE6DA8
-105DE6DA8:lI47|H105DE6D98
-105DE6D98:lI86|H105DE6D88
-105DE6D88:lI83|H105DE6D78
-105DE6D78:lI32|H105DE6D68
-105DE6D68:lI67|H105DE6D58
-105DE6D58:lI111|H105DE6D48
-105DE6D48:lI100|H105DE6D38
-105DE6D38:lI101|H105DE6D28
-105DE6D28:lI47|H105DE6D18
-105DE6D18:lI65|H105DE6D08
-105DE6D08:lI100|H105DE6CF8
-105DE6CF8:lI118|H105DE6CE8
-105DE6CE8:lI101|H105DE6CD8
-105DE6CD8:lI110|H105DE6CC8
-105DE6CC8:lI116|H105DE6CB8
-105DE6CB8:lI79|H105DE6CA8
-105DE6CA8:lI102|H105DE6C98
-105DE6C98:lI67|H105DE6C88
-105DE6C88:lI111|H105DE6C78
-105DE6C78:lI100|H105DE6C68
-105DE6C68:lI101|H105DE6C58
-105DE6C58:lI47|H105DE6C48
-105DE6C48:lI97|H105DE6C38
-105DE6C38:lI111|H105DE6C28
-105DE6C28:lI99|H105DE6C18
-105DE6C18:lI50|H105DE6C08
-105DE6C08:lI48|H105DE6BF8
-105DE6BF8:lI50|H105DE6BE8
-105DE6BE8:lI51|H105DE6BD8
-105DE6BD8:lI47|H105DE6BC8
-105DE6BC8:lI98|H105DE6BB8
-105DE6BB8:lI117|H105DE6BA8
-105DE6BA8:lI105|H105DE6B98
-105DE6B98:lI108|H105DE6B88
-105DE6B88:lI100|H105DE6B78
-105DE6B78:lI47|H105DE6B68
-105DE6B68:lI100|H105DE6B58
-105DE6B58:lI101|H105DE6B48
-105DE6B48:lI118|H105DE6B38
-105DE6B38:lI47|H105DE6B28
-105DE6B28:lI101|H105DE6B18
-105DE6B18:lI114|H105DE6B08
-105DE6B08:lI108|H105DE6AF8
-105DE6AF8:lI97|H105DE6AE8
-105DE6AE8:lI110|H105DE6AD8
-105DE6AD8:lI103|H105DE6AC8
-105DE6AC8:lI47|H105DE6AB8
-105DE6AB8:lI97|H105DE6AA8
-105DE6AA8:lI100|H105DE6A98
-105DE6A98:lI103|H105DE6A88
-105DE6A88:lI108|H105DE6A78
-105DE6A78:lI101|H105DE6A68
-105DE6A68:lI110|H105DE6A58
-105DE6A58:lI116|H105DE6A48
-105DE6A48:lI47|H105DE6A38
-105DE6A38:lI95|H105DE6A28
-105DE6A28:lI103|H105DE6A18
-105DE6A18:lI108|H105DE6A08
-105DE6A08:lI101|H105DE69F8
-105DE69F8:lI97|H105DE69E8
-105DE69E8:lI109|H105DE69D8
-105DE69D8:lI95|H105DE69C8
-105DE69C8:lI97|H105DE69B8
-105DE69B8:lI114|H105DE69A8
-105DE69A8:lI116|H105DE6998
-105DE6998:lI101|H105DE6988
-105DE6988:lI102|H105DE6978
-105DE6978:lI97|H105DE6968
-105DE6968:lI99|H105DE6958
-105DE6958:lI116|H105DE6948
-105DE6948:lI115|H105DE6938
-105DE6938:lI47|H105DE6928
-105DE6928:lI115|H105DE6918
-105DE6918:lI104|H105DE6908
-105DE6908:lI111|H105DE68F8
-105DE68F8:lI119|H105DE68E8
-105DE68E8:lI116|H105DE68D8
-105DE68D8:lI105|H105DE68C8
-105DE68C8:lI109|H105DE68B8
-105DE68B8:lI101|H105DE68A8
-105DE68A8:lI64|H105DE6898
-105DE6898:lI105|H105DE6888
-105DE6888:lI110|H105DE6878
-105DE6878:lI116|H105DE6868
-105DE6868:lI101|H105DE6858
-105DE6858:lI114|H105DE6848
-105DE6848:lI110|H105DE6838
-105DE6838:lI97|H105DE6828
-105DE6828:lI108|H105DE6818
-105DE6818:lI64|H105DE6808
-105DE6808:lI101|H105DE67F8
-105DE67F8:lI114|H105DE67E8
-105DE67E8:lI108|H105DE67D8
-105DE67D8:lI97|H105DE67C8
-105DE67C8:lI110|H105DE67B8
-105DE67B8:lI103|H105DE67A8
-105DE67A8:lI64|H105DE6798
-105DE6798:lI101|H105DE6788
-105DE6788:lI118|H105DE6778
-105DE6778:lI101|H105DE6768
-105DE6768:lI110|H105DE6758
-105DE6758:lI116|H105DE6748
-105DE6748:lI95|H105DE6738
-105DE6738:lI104|H105DE6728
-105DE6728:lI97|H105DE6718
-105DE6718:lI110|H105DE6708
-105DE6708:lI100|H105DE66F8
-105DE66F8:lI108|H105DE66E8
-105DE66E8:lI101|H105DE66D8
-105DE66D8:lI114|H105DE66C8
-105DE66C8:lI46|H105DE66B8
-105DE66B8:lI101|H105DE66A8
-105DE66A8:lI114|H105DE6698
-105DE6698:lI108|N
-105DE5E48:lH105DE5F20|N
-105DE5F20:t2:A4:line,I29
-105DE5CD0:lH105DE5DB0|N
-105DE5DB0:t4:AF:gleam@otp@actor,A4:loop,I1,H105DE5E58
-105DE5E58:lH105DE5F38|H105DE5E68
-105DE5F38:t2:A4:file,H105DE6688
-105DE6688:lI47|H105DE6678
-105DE6678:lI85|H105DE6668
-105DE6668:lI115|H105DE6658
-105DE6658:lI101|H105DE6648
-105DE6648:lI114|H105DE6638
-105DE6638:lI115|H105DE6628
-105DE6628:lI47|H105DE6618
-105DE6618:lI110|H105DE6608
-105DE6608:lI105|H105DE65F8
-105DE65F8:lI99|H105DE65E8
-105DE65E8:lI104|H105DE65D8
-105DE65D8:lI111|H105DE65C8
-105DE65C8:lI108|H105DE65B8
-105DE65B8:lI97|H105DE65A8
-105DE65A8:lI115|H105DE6598
-105DE6598:lI99|H105DE6588
-105DE6588:lI97|H105DE6578
-105DE6578:lI114|H105DE6568
-105DE6568:lI108|H105DE6558
-105DE6558:lI115|H105DE6548
-105DE6548:lI111|H105DE6538
-105DE6538:lI110|H105DE6528
-105DE6528:lI47|H105DE6518
-105DE6518:lI86|H105DE6508
-105DE6508:lI83|H105DE64F8
-105DE64F8:lI32|H105DE64E8
-105DE64E8:lI67|H105DE64D8
-105DE64D8:lI111|H105DE64C8
-105DE64C8:lI100|H105DE64B8
-105DE64B8:lI101|H105DE64A8
-105DE64A8:lI47|H105DE6498
-105DE6498:lI65|H105DE6488
-105DE6488:lI100|H105DE6478
-105DE6478:lI118|H105DE6468
-105DE6468:lI101|H105DE6458
-105DE6458:lI110|H105DE6448
-105DE6448:lI116|H105DE6438
-105DE6438:lI79|H105DE6428
-105DE6428:lI102|H105DE6418
-105DE6418:lI67|H105DE6408
-105DE6408:lI111|H105DE63F8
-105DE63F8:lI100|H105DE63E8
-105DE63E8:lI101|H105DE63D8
-105DE63D8:lI47|H105DE63C8
-105DE63C8:lI97|H105DE63B8
-105DE63B8:lI111|H105DE63A8
-105DE63A8:lI99|H105DE6398
-105DE6398:lI50|H105DE6388
-105DE6388:lI48|H105DE6378
-105DE6378:lI50|H105DE6368
-105DE6368:lI51|H105DE6358
-105DE6358:lI47|H105DE6348
-105DE6348:lI98|H105DE6338
-105DE6338:lI117|H105DE6328
-105DE6328:lI105|H105DE6318
-105DE6318:lI108|H105DE6308
-105DE6308:lI100|H105DE62F8
-105DE62F8:lI47|H105DE62E8
-105DE62E8:lI100|H105DE62D8
-105DE62D8:lI101|H105DE62C8
-105DE62C8:lI118|H105DE62B8
-105DE62B8:lI47|H105DE62A8
-105DE62A8:lI101|H105DE6298
-105DE6298:lI114|H105DE6288
-105DE6288:lI108|H105DE6278
-105DE6278:lI97|H105DE6268
-105DE6268:lI110|H105DE6258
-105DE6258:lI103|H105DE6248
-105DE6248:lI47|H105DE6238
-105DE6238:lI103|H105DE6228
-105DE6228:lI108|H105DE6218
-105DE6218:lI101|H105DE6208
-105DE6208:lI97|H105DE61F8
-105DE61F8:lI109|H105DE61E8
-105DE61E8:lI95|H105DE61D8
-105DE61D8:lI111|H105DE61C8
-105DE61C8:lI116|H105DE61B8
-105DE61B8:lI112|H105DE61A8
-105DE61A8:lI47|H105DE6198
-105DE6198:lI95|H105DE6188
-105DE6188:lI103|H105DE6178
-105DE6178:lI108|H105DE6168
-105DE6168:lI101|H105DE6158
-105DE6158:lI97|H105DE6148
-105DE6148:lI109|H105DE6138
-105DE6138:lI95|H105DE6128
-105DE6128:lI97|H105DE6118
-105DE6118:lI114|H105DE6108
-105DE6108:lI116|H105DE60F8
-105DE60F8:lI101|H105DE60E8
-105DE60E8:lI102|H105DE60D8
-105DE60D8:lI97|H105DE60C8
-105DE60C8:lI99|H105DE60B8
-105DE60B8:lI116|H105DE60A8
-105DE60A8:lI115|H105DE6098
-105DE6098:lI47|H105DE6088
-105DE6088:lI103|H105DE6078
-105DE6078:lI108|H105DE6068
-105DE6068:lI101|H105DE6058
-105DE6058:lI97|H105DE6048
-105DE6048:lI109|H105DE6038
-105DE6038:lI64|H105DE6028
-105DE6028:lI111|H105DE6018
-105DE6018:lI116|H105DE6008
-105DE6008:lI112|H105DE5FF8
-105DE5FF8:lI64|H105DE5FE8
-105DE5FE8:lI97|H105DE5FD8
-105DE5FD8:lI99|H105DE5FC8
-105DE5FC8:lI116|H105DE5FB8
-105DE5FB8:lI111|H105DE5FA8
-105DE5FA8:lI114|H105DE5F98
-105DE5F98:lI46|H105DE5F88
-105DE5F88:lI101|H105DE5F78
-105DE5F78:lI114|H105DE5F68
-105DE5F68:lI108|N
-105DE5E68:lH105DE5F50|N
-105DE5F50:t2:A4:line,I150
-105DE5C50:Mf5:H105DE5CE0:H105DE8730,I178,H105DE8700,H105DE86C8,A5:panic
-105DE5CE0:t5:A8:function,A4:line,A7:message,A6:module,AB:gleam_error
-105DE86C8:Yh23:c2hvd3RpbWUvaW50ZXJuYWwvcmVwb3J0cy9mb3JtYXR0ZXI=
-105DE8700:Yh1A:cGFuaWMgZXhwcmVzc2lvbiBldmFsdWF0ZWQ=
-105DE8730:Yh12:Y3JlYXRlX3Rlc3RfcmVwb3J0
-105DE5C18:lI69|H105DE5C08
-105DE5C08:lI114|H105DE5BF8
-105DE5BF8:lI114|H105DE5BE8
-105DE5BE8:lI111|H105DE5BD8
-105DE5BD8:lI114|H105DE5BC8
-105DE5BC8:lI32|H105DE5BB8
-105DE5BB8:lI105|H105DE5BA8
-105DE5BA8:lI110|H105DE5B98
-105DE5B98:lI32|H105DE5B88
-105DE5B88:lI112|H105DE5B78
-105DE5B78:lI114|H105DE5B68
-105DE5B68:lI111|H105DE5B58
-105DE5B58:lI99|H105DE5B48
-105DE5B48:lI101|H105DE5B38
-105DE5B38:lI115|H105DE5B28
-105DE5B28:lI115|H105DE5B18
-105DE5B18:lI32|H105DE5B08
-105DE5B08:lI126|H105DE5AF8
-105DE5AF8:lI112|H105DE5AE8
-105DE5AE8:lI32|H105DE5AD8
-105DE5AD8:lI119|H105DE5AC8
-105DE5AC8:lI105|H105DE5AB8
-105DE5AB8:lI116|H105DE5AA8
-105DE5AA8:lI104|H105DE5A98
-105DE5A98:lI32|H105DE5A88
-105DE5A88:lI101|H105DE5A78
-105DE5A78:lI120|H105DE5A68
-105DE5A68:lI105|H105DE5A58
-105DE5A58:lI116|H105DE5A48
-105DE5A48:lI32|H105DE5A38
-105DE5A38:lI118|H105DE5A28
-105DE5A28:lI97|H105DE5A18
-105DE5A18:lI108|H105DE5A08
-105DE5A08:lI117|H105DE59F8
-105DE59F8:lI101|H105DE59E8
-105DE59E8:lI58|H105DE59D8
-105DE59D8:lI126|H105DE59C8
-105DE59C8:lI110|H105DE59B8
-105DE59B8:lI126|H105DE59A8
-105DE59A8:lI112|H105DE5998
-105DE5998:lI126|H105DE5988
-105DE5988:lI110|N
-105D8A120:t5:AE:callback_cache,AA:logger_olp,H105D8A0A8,H105D8A0D0,H105D8A0F8
-105D8A0F8:E1D:g3F3CmxvZ2dlcl9vbHB3C2hhbmRsZV9pbmZvYQI=
-105D8A0D0:E1D:g3F3CmxvZ2dlcl9vbHB3C2hhbmRsZV9jYXN0YQI=
-105D8A0A8:E1D:g3F3CmxvZ2dlcl9vbHB3C2hhbmRsZV9jYWxsYQM=
-105D89DB0:t2:A7:olp_ref,H105D89ED8
-105D89ED8:t3:AC:logger_proxy,P<0.72.0>,H105D89EC0
-105D89DC8:t2:AA:$ancestors,H105D89EF8
-105D89EF8:lAA:logger_sup|H105D89F48
-105D89F48:lAA:kernel_sup|H105D89F78
-105D89F78:lP<0.47.0>|N
-105D89DE0:t2:AD:$initial_call,H105D89F08
-105D89F08:t3:AA:logger_olp,A4:init,I1
-=proc_dictionary:<0.73.0>
-H105DAD620
-H105DAD658
-=proc_stack:<0.73.0>
-y0:N
-y1:A8:infinity
-y2:H105DAD6E8
-y3:N
-y4:P<0.73.0>
-y5:P<0.49.0>
-0x0000000105dadc70:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105dadc90:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.73.0>
-105DAD6E8:t5:AE:callback_cache,AD:kernel_config,H105DAD670,H105DAD698,H105DAD6C0
-105DAD6C0:E20:g3F3DWtlcm5lbF9jb25maWd3C2hhbmRsZV9pbmZvYQI=
-105DAD698:E20:g3F3DWtlcm5lbF9jb25maWd3C2hhbmRsZV9jYXN0YQI=
-105DAD670:E20:g3F3DWtlcm5lbF9jb25maWd3C2hhbmRsZV9jYWxsYQM=
-105DAD620:t2:AA:$ancestors,H105DAD610
-105DAD610:lAA:kernel_sup|H105DAD5D0
-105DAD5D0:lP<0.47.0>|N
-105DAD658:t2:AD:$initial_call,H105DAD638
-105DAD638:t3:AD:kernel_config,A4:init,I1
-=proc_dictionary:<0.74.0>
-H105DA80D0
-H105DA8108
-=proc_stack:<0.74.0>
-y0:N
-y1:A8:infinity
-y2:H105DA8198
-y3:H28008FA68
-y4:AB:kernel_refc
-y5:P<0.49.0>
-0x0000000105da8710:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105da8730:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.74.0>
-105DA8198:t5:AE:callback_cache,AB:kernel_refc,H105DA8120,H105DA8148,H105DA8170
-105DA8170:E1E:g3F3C2tlcm5lbF9yZWZjdwtoYW5kbGVfaW5mb2EC
-105DA8148:E1E:g3F3C2tlcm5lbF9yZWZjdwtoYW5kbGVfY2FzdGEC
-105DA8120:E1E:g3F3C2tlcm5lbF9yZWZjdwtoYW5kbGVfY2FsbGED
-105DA80D0:t2:AA:$ancestors,H105DA80C0
-105DA80C0:lAA:kernel_sup|H105DA8080
-105DA8080:lP<0.47.0>|N
-105DA8108:t2:AD:$initial_call,H105DA80E8
-105DA80E8:t3:AB:kernel_refc,A4:init,I1
-=proc_dictionary:<0.75.0>
-H105DAC078
-H105DAC090
-=proc_stack:<0.75.0>
-0x0000000105dac210:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.75.0>
-105DAC078:t2:AA:$ancestors,H105DAC0B8
-105DAC0B8:lAA:kernel_sup|H105DAC0F8
-105DAC0F8:lP<0.47.0>|N
-105DAC090:t2:AD:$initial_call,H105DAC0C8
-105DAC0C8:t3:AA:supervisor,A6:kernel,I1
-=proc_dictionary:<0.77.0>
-H105DA2880
-H105DA2898
-H105DA28B0
-=proc_stack:<0.77.0>
-y0:N
-y1:A8:infinity
-y2:H105DA3BB8
-y3:H105DA27C8
-y4:P<0.77.0>
-y5:P<0.70.0>
-0x0000000105da4dc8:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105da4de8:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.77.0>
-105DA3BB8:t5:AE:callback_cache,AA:logger_olp,H105DA3BF8,H105DA3C20,H105DA3C48
-105DA3C48:E1D:g3F3CmxvZ2dlcl9vbHB3C2hhbmRsZV9pbmZvYQI=
-105DA3C20:E1D:g3F3CmxvZ2dlcl9vbHB3C2hhbmRsZV9jYXN0YQI=
-105DA3BF8:E1D:g3F3CmxvZ2dlcl9vbHB3C2hhbmRsZV9jYWxsYQM=
-105DA27C8:Mf14:H105DA28C8:A14:logger_std_h_default,AF:logger_h_common,A5:async,A4:true,A4:true,I200,I1000,I10,I0,I-576460751874469,H105DA2970,I-576460751874469,I0,H105DA29B8,I5000,I500,I1000,A5:false,I3000000,I20000
-105DA28C8:t14:A2:id,A6:module,A4:mode,A4:idle,A12:burst_limit_enable,AE:drop_mode_qlen,AA:flush_qlen,AE:sync_mode_qlen,AF:burst_msg_count,AC:burst_win_ts,A8:cb_state,AC:last_load_ts,A9:last_qlen,A8:mode_ref,A1B:overload_kill_restart_after,A15:burst_limit_max_count,A17:burst_limit_window_time,A14:overload_kill_enable,A16:overload_kill_mem_size,A12:overload_kill_qlen
-105DA29B8:t2:AA:logger_olp,A14:logger_std_h_default
-105DA2970:Mf6:H105DA2A20:A7:default,AC:logger_std_h,A9:no_repeat,I20,H105DA2A58,A4:sync
-105DA2A20:t6:A2:id,A6:module,A18:filesync_repeat_interval,AF:ctrl_sync_count,AD:handler_state,A7:last_op
-105DA2A58:Mf2:H105DA2A90:AB:standard_io,P<0.78.0>
-105DA2A90:t2:A4:type,AD:file_ctrl_pid
-105DA2880:t2:A7:olp_ref,H105DA29D0
-105DA29D0:t3:A14:logger_std_h_default,P<0.77.0>,H105DA29B8
-105DA2898:t2:AA:$ancestors,H105DA29F0
-105DA29F0:lAA:logger_sup|H105DA2A80
-105DA2A80:lAA:kernel_sup|H105DA2AA8
-105DA2AA8:lP<0.47.0>|N
-105DA28B0:t2:AD:$initial_call,H105DA2A00
-105DA2A00:t3:AA:logger_olp,A4:init,I1
-=proc_stack:<0.78.0>
-y0:N
-y1:N
-y2:H105D98488
-0x0000000105d98b30:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.78.0>
-105D98488:Mf2:H280091C80:A7:default,AB:standard_io
-=proc_dictionary:<0.90.0>
-H105D97F00
-H105D97F38
-=proc_stack:<0.90.0>
-y0:H105D98098
-y1:P<0.44.0>
-0x0000000105d98110:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105d98130:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.90.0>
-105D98098:t7:A5:state,P<0.91.0>,H105D97A10,N,I0,P<0.69.0>,N
-105D97A10:t8:A9:appl_data,A5:inets,H105D97E70,A9:undefined,H105D97A58,H105D97E50,A8:infinity,A8:infinity
-105D97E50:lA5:inets|H105D97E40
-105D97E40:lA9:inets_sup|H105D97E30
-105D97E30:lA9:inets_app|H105D97E20
-105D97E20:lAD:inets_service|H105D97E10
-105D97E10:lAB:inets_trace|H105D97E00
-105D97E00:lA9:inets_lib|H105D97DF0
-105D97DF0:lA5:httpc|H105D97DE0
-105D97DE0:lAD:httpc_handler|H105D97DD0
-105D97DD0:lA11:httpc_handler_sup|H105D97DC0
-105D97DC0:lAD:httpc_manager|H105D97DB0
-105D97DB0:lA11:httpc_profile_sup|H105D97DA0
-105D97DA0:lAD:httpc_request|H105D97D90
-105D97D90:lAE:httpc_response|H105D97D80
-105D97D80:lA9:httpc_sup|H105D97D70
-105D97D70:lAC:httpc_cookie|H105D97D60
-105D97D60:lAA:http_chunk|H105D97D50
-105D97D50:lAC:http_request|H105D97D40
-105D97D40:lAD:http_response|H105D97D30
-105D97D30:lAE:http_transport|H105D97D20
-105D97D20:lA9:http_util|H105D97D10
-105D97D10:lA8:http_uri|H105D97D00
-105D97D00:lA5:httpd|H105D97CF0
-105D97CF0:lAE:httpd_acceptor|H105D97CE0
-105D97CE0:lA12:httpd_acceptor_sup|H105D97CD0
-105D97CD0:lA9:httpd_cgi|H105D97CC0
-105D97CC0:lA14:httpd_connection_sup|H105D97CB0
-105D97CB0:lAA:httpd_conf|H105D97CA0
-105D97CA0:lAC:httpd_custom|H105D97C90
-105D97C90:lA10:httpd_custom_api|H105D97C80
-105D97C80:lA9:httpd_esi|H105D97C70
-105D97C70:lAD:httpd_example|H105D97C60
-105D97C60:lAA:httpd_file|H105D97C50
-105D97C50:lA12:httpd_instance_sup|H105D97C40
-105D97C40:lA9:httpd_log|H105D97C30
-105D97C30:lAC:httpd_logger|H105D97C20
-105D97C20:lAD:httpd_manager|H105D97C10
-105D97C10:lAE:httpd_misc_sup|H105D97C00
-105D97C00:lAD:httpd_request|H105D97BF0
-105D97BF0:lA15:httpd_request_handler|H105D97BE0
-105D97BE0:lAE:httpd_response|H105D97BD0
-105D97BD0:lA10:httpd_script_env|H105D97BC0
-105D97BC0:lAC:httpd_socket|H105D97BB0
-105D97BB0:lA9:httpd_sup|H105D97BA0
-105D97BA0:lAA:httpd_util|H105D97B90
-105D97B90:lAB:mod_actions|H105D97B80
-105D97B80:lA9:mod_alias|H105D97B70
-105D97B70:lA8:mod_auth|H105D97B60
-105D97B60:lAD:mod_auth_dets|H105D97B50
-105D97B50:lAF:mod_auth_mnesia|H105D97B40
-105D97B40:lAE:mod_auth_plain|H105D97B30
-105D97B30:lAF:mod_auth_server|H105D97B20
-105D97B20:lA7:mod_cgi|H105D97B10
-105D97B10:lA7:mod_dir|H105D97B00
-105D97B00:lAC:mod_disk_log|H105D97AF0
-105D97AF0:lA7:mod_esi|H105D97AE0
-105D97AE0:lA7:mod_get|H105D97AD0
-105D97AD0:lA8:mod_head|H105D97AC0
-105D97AC0:lA7:mod_log|H105D97AB0
-105D97AB0:lA9:mod_range|H105D97AA0
-105D97AA0:lA13:mod_responsecontrol|H105D97A90
-105D97A90:lAC:mod_security|H105D97A80
-105D97A80:lA13:mod_security_server|H105D97A70
-105D97A70:lA9:mod_trace|N
-105D97A58:t2:A9:inets_app,N
-105D97E70:lA9:inets_sup|H105D97E60
-105D97E60:lAD:httpc_manager|N
-105D97F00:t2:AA:$ancestors,H105D97EF0
-105D97EF0:lP<0.89.0>|N
-105D97F38:t2:AD:$initial_call,H105D97F18
-105D97F18:t3:A12:application_master,A4:init,I4
-=proc_stack:<0.91.0>
-y0:N
-y1:N
-y2:A9:inets_app
-y3:P<0.92.0>
-y4:P<0.90.0>
-0x0000000105da7fe0:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.91.0>
-=proc_dictionary:<0.92.0>
-H105DBF960
-H105DBF978
-=proc_stack:<0.92.0>
-0x0000000105dbfc58:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.92.0>
-105DBF960:t2:AA:$ancestors,H105DBF9A0
-105DBF9A0:lP<0.91.0>|N
-105DBF978:t2:AD:$initial_call,H105DBF9B0
-105DBF9B0:t3:AA:supervisor,A9:inets_sup,I1
-=proc_dictionary:<0.93.0>
-H105D99BA8
-H105D99BC0
-=proc_stack:<0.93.0>
-0x0000000105d99e90:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.93.0>
-105D99BA8:t2:AA:$ancestors,H105D99BE8
-105D99BE8:lA9:inets_sup|H105D99C28
-105D99C28:lP<0.91.0>|N
-105D99BC0:t2:AD:$initial_call,H105D99BF8
-105D99BF8:t3:AA:supervisor,A9:httpc_sup,I1
-=proc_dictionary:<0.94.0>
-H105DAF280
-H105DAF298
-=proc_stack:<0.94.0>
-0x0000000105daf518:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.94.0>
-105DAF280:t2:AA:$ancestors,H105DAF2C0
-105DAF2C0:lA9:httpc_sup|H105DAF300
-105DAF300:lA9:inets_sup|H105DAF320
-105DAF320:lP<0.91.0>|N
-105DAF298:t2:AD:$initial_call,H105DAF2D0
-105DAF2D0:t3:AA:supervisor,A11:httpc_profile_sup,I1
-=proc_dictionary:<0.95.0>
-H105E0BA38
-H105E0BA50
-=proc_stack:<0.95.0>
-y0:N
-y1:A8:infinity
-y2:H105E0B9F0
-y3:H105E0D878
-y4:AD:httpc_manager
-y5:P<0.94.0>
-0x0000000105e0dff0:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105e0e010:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.95.0>
-105E0B9F0:t5:AE:callback_cache,AD:httpc_manager,H105E0BA68,H105E0BA90,H105E0BAB8
-105E0BAB8:E20:g3F3DWh0dHBjX21hbmFnZXJ3C2hhbmRsZV9pbmZvYQI=
-105E0BA90:E20:g3F3DWh0dHBjX21hbmFnZXJ3C2hhbmRsZV9jYXN0YQI=
-105E0BA68:E20:g3F3DWh0dHBjX21hbmFnZXJ3C2hhbmRsZV9jYWxsYQM=
-105E0D878:t7:A5:state,N,A19:httpc_manager__handler_db,H105E0D858,A19:httpc_manager__session_db,AD:httpc_manager,H2800B17A0
-105E0D858:t3:A9:cookie_db,A9:undefined,H105E0D840
-105E0D840:E23:g1oAA3cNbm9ub2RlQG5vaG9zdAAAAAAAALEs+vYAAd/g02c=
-105E0BA38:t2:AA:$ancestors,H105E0BAE0
-105E0BAE0:lA11:httpc_profile_sup|H105E0BB10
-105E0BB10:lA9:httpc_sup|H105E0BB20
-105E0BB20:lA9:inets_sup|H105E0BB30
-105E0BB30:lP<0.91.0>|N
-105E0BA50:t2:AD:$initial_call,H105E0BAF0
-105E0BAF0:t3:AD:httpc_manager,A4:init,I1
-=proc_dictionary:<0.96.0>
-H105D82D78
-H105D82DB0
-=proc_stack:<0.96.0>
-y0:N
-y1:A8:infinity
-y2:H105D82E40
-y3:H105D831B8
-y4:A11:httpc_handler_sup
-y5:P<0.93.0>
-0x0000000105d83388:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105d833a8:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.96.0>
-105D82E40:t5:AE:callback_cache,AA:supervisor,H105D82DC8,H105D82DF0,H105D82E18
-105D82E18:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9pbmZvYQI=
-105D82DF0:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9jYXN0YQI=
-105D82DC8:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9jYWxsYQM=
-105D831B8:tC:A5:state,H2800B6F58,A12:simple_one_for_one,H105D83120,H280028328,I0,I3600,N,I0,A5:never,A11:httpc_handler_sup,N
-105D83120:t2:H105D83110,H105D830F0
-105D830F0:Mf1:H105D830E0:H105D83078
-105D830E0:t1:A9:undefined
-105D83078:t9:A5:child,A9:undefined,A9:undefined,H105D82E70,A9:temporary,A5:false,I4000,A6:worker,H2800B6F70
-105D82E70:t3:AD:httpc_handler,AA:start_link,N
-105D83110:lA9:undefined|N
-105D82D78:t2:AA:$ancestors,H105D82D68
-105D82D68:lA9:httpc_sup|H105D82D28
-105D82D28:lA9:inets_sup|H105D82D18
-105D82D18:lP<0.91.0>|N
-105D82DB0:t2:AD:$initial_call,H105D82D90
-105D82D90:t3:AA:supervisor,A11:httpc_handler_sup,I1
-=proc_dictionary:<0.97.0>
-H105D98B40
-H105D98B58
-=proc_stack:<0.97.0>
-0x0000000105d98ce8:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.97.0>
-105D98B40:t2:AA:$ancestors,H105D98B80
-105D98B80:lA9:inets_sup|H105D98BC0
-105D98BC0:lP<0.91.0>|N
-105D98B58:t2:AD:$initial_call,H105D98B90
-105D98B90:t3:AA:supervisor,A9:httpd_sup,I1
-=proc_dictionary:<0.102.0>
-H105DBE6D0
-H105DBE6E8
-=proc_stack:<0.102.0>
-y0:H105DBEC80
-y1:P<0.44.0>
-0x0000000105dbed68:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105dbed88:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.102.0>
-105DBEC80:t7:A5:state,P<0.103.0>,H105DBE688,N,I0,P<0.69.0>,N
-105DBE688:t8:A9:appl_data,A3:ssl,H105DBE718,A9:undefined,H105DBE728,H105DBE740,A8:infinity,A8:infinity
-105DBE740:lAE:tls_connection|H105DBE790
-105DBE790:lA19:tls_client_connection_1_3|H105DBE7A0
-105DBE7A0:lA19:tls_server_connection_1_3|H105DBE7B0
-105DBE7B0:lA16:tls_gen_connection_1_3|H105DBE7C0
-105DBE7C0:lAD:tls_handshake|H105DBE7D0
-105DBE7D0:lA11:tls_handshake_1_3|H105DBE7E0
-105DBE7E0:lAA:tls_record|H105DBE7F0
-105DBE7F0:lAE:tls_record_1_3|H105DBE800
-105DBE800:lAA:tls_socket|H105DBE810
-105DBE810:lA6:tls_v1|H105DBE820
-105DBE820:lA12:tls_connection_sup|H105DBE830
-105DBE830:lA12:tls_gen_connection|H105DBE840
-105DBE840:lAA:tls_sender|H105DBE850
-105DBE850:lAE:tls_server_sup|H105DBE860
-105DBE860:lA1D:tls_server_session_ticket_sup|H105DBE870
-105DBE870:lA19:tls_server_session_ticket|H105DBE880
-105DBE880:lA7:tls_sup|H105DBE890
-105DBE890:lA16:tls_dyn_connection_sup|H105DBE8A0
-105DBE8A0:lAD:ssl_dh_groups|H105DBE8B0
-105DBE8B0:lAF:dtls_connection|H105DBE8C0
-105DBE8C0:lAE:dtls_handshake|H105DBE8D0
-105DBE8D0:lAB:dtls_record|H105DBE8E0
-105DBE8E0:lAB:dtls_socket|H105DBE8F0
-105DBE8F0:lA7:dtls_v1|H105DBE900
-105DBE900:lA13:dtls_connection_sup|H105DBE910
-105DBE910:lA13:dtls_gen_connection|H105DBE920
-105DBE920:lA11:dtls_packet_demux|H105DBE930
-105DBE930:lA11:dtls_listener_sup|H105DBE940
-105DBE940:lA8:dtls_sup|H105DBE950
-105DBE950:lAF:dtls_server_sup|H105DBE960
-105DBE960:lA1D:dtls_server_session_cache_sup|H105DBE970
-105DBE970:lA3:ssl|H105DBE980
-105DBE980:lA15:ssl_session_cache_api|H105DBE990
-105DBE990:lA13:tls_dtls_connection|H105DBE9A0
-105DBE9A0:lAA:ssl_config|H105DBE9B0
-105DBE9B0:lAE:ssl_gen_statem|H105DBE9C0
-105DBE9C0:lAD:ssl_handshake|H105DBE9D0
-105DBE9D0:lAA:ssl_record|H105DBE9E0
-105DBE9E0:lAA:ssl_cipher|H105DBE9F0
-105DBE9F0:lA11:ssl_cipher_format|H105DBEA00
-105DBEA00:lAE:ssl_srp_primes|H105DBEA10
-105DBEA10:lA9:ssl_alert|H105DBEA20
-105DBEA20:lA16:ssl_listen_tracker_sup|H105DBEA30
-105DBEA30:lA10:tls_bloom_filter|H105DBEA40
-105DBEA40:lA17:tls_client_ticket_store|H105DBEA50
-105DBEA50:lAD:inet_tls_dist|H105DBEA60
-105DBEA60:lAE:inet6_tls_dist|H105DBEA70
-105DBEA70:lAC:ssl_dist_sup|H105DBEA80
-105DBEA80:lA17:ssl_dist_connection_sup|H105DBEA90
-105DBEA90:lA12:ssl_dist_admin_sup|H105DBEAA0
-105DBEAA0:lAC:tls_dist_sup|H105DBEAB0
-105DBEAB0:lA13:tls_dist_server_sup|H105DBEAC0
-105DBEAC0:lAB:ssl_session|H105DBEAD0
-105DBEAD0:lA1B:ssl_client_session_cache_db|H105DBEAE0
-105DBEAE0:lA18:ssl_server_session_cache|H105DBEAF0
-105DBEAF0:lA1B:ssl_server_session_cache_db|H105DBEB00
-105DBEB00:lA1C:ssl_server_session_cache_sup|H105DBEB10
-105DBEB10:lA24:ssl_upgrade_server_session_cache_sup|H105DBEB20
-105DBEB20:lAB:ssl_manager|H105DBEB30
-105DBEB30:lAD:ssl_pem_cache|H105DBEB40
-105DBEB40:lAB:ssl_pkix_db|H105DBEB50
-105DBEB50:lAF:ssl_certificate|H105DBEB60
-105DBEB60:lA7:ssl_crl|H105DBEB70
-105DBEB70:lAD:ssl_crl_cache|H105DBEB80
-105DBEB80:lA11:ssl_crl_cache_api|H105DBEB90
-105DBEB90:lA10:ssl_crl_hash_dir|H105DBEBA0
-105DBEBA0:lAA:ssl_logger|H105DBEBB0
-105DBEBB0:lA9:ssl_trace|H105DBEBC0
-105DBEBC0:lA7:ssl_app|H105DBEBD0
-105DBEBD0:lA7:ssl_sup|H105DBEBE0
-105DBEBE0:lAD:ssl_admin_sup|H105DBEBF0
-105DBEBF0:lA12:ssl_connection_sup|N
-105DBE728:t2:A7:ssl_app,N
-105DBE718:lA7:ssl_sup|H105DBE780
-105DBE780:lAB:ssl_manager|N
-105DBE6D0:t2:AA:$ancestors,H105DBE750
-105DBE750:lP<0.101.0>|N
-105DBE6E8:t2:AD:$initial_call,H105DBE760
-105DBE760:t3:A12:application_master,A4:init,I4
-=proc_stack:<0.103.0>
-y0:N
-y1:N
-y2:A7:ssl_app
-y3:P<0.107.0>
-y4:P<0.102.0>
-0x0000000105da1bf0:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.103.0>
-=proc_dictionary:<0.105.0>
-H105DB0708
-H105DB0720
-H105DB0738
-=proc_stack:<0.105.0>
-y0:N
-y1:A8:infinity
-y2:H105DB1980
-y3:H105DB0650
-y4:P<0.105.0>
-y5:P<0.70.0>
-0x0000000105db2c50:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105db2c70:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.105.0>
-105DB1980:t5:AE:callback_cache,AA:logger_olp,H105DB19D0,H105DB19F8,H105DB1A20
-105DB1A20:E1D:g3F3CmxvZ2dlcl9vbHB3C2hhbmRsZV9pbmZvYQI=
-105DB19F8:E1D:g3F3CmxvZ2dlcl9vbHB3C2hhbmRsZV9jYXN0YQI=
-105DB19D0:E1D:g3F3CmxvZ2dlcl9vbHB3C2hhbmRsZV9jYWxsYQM=
-105DB0650:Mf14:H105DB0750:A18:logger_std_h_ssl_handler,AF:logger_h_common,A5:async,A4:true,A4:true,I200,I1000,I10,I0,I-576460751796696,H105DB07F8,I-576460751796696,I0,H105DB0840,I5000,I500,I1000,A5:false,I3000000,I20000
-105DB0750:t14:A2:id,A6:module,A4:mode,A4:idle,A12:burst_limit_enable,AE:drop_mode_qlen,AA:flush_qlen,AE:sync_mode_qlen,AF:burst_msg_count,AC:burst_win_ts,A8:cb_state,AC:last_load_ts,A9:last_qlen,A8:mode_ref,A1B:overload_kill_restart_after,A15:burst_limit_max_count,A17:burst_limit_window_time,A14:overload_kill_enable,A16:overload_kill_mem_size,A12:overload_kill_qlen
-105DB0840:t2:AA:logger_olp,A18:logger_std_h_ssl_handler
-105DB07F8:Mf6:H105DB08A8:AB:ssl_handler,AC:logger_std_h,A9:no_repeat,I20,H105DB08E0,A4:sync
-105DB08A8:t6:A2:id,A6:module,A18:filesync_repeat_interval,AF:ctrl_sync_count,AD:handler_state,A7:last_op
-105DB08E0:Mf2:H105DB0918:AB:standard_io,P<0.106.0>
-105DB0918:t2:A4:type,AD:file_ctrl_pid
-105DB0708:t2:A7:olp_ref,H105DB0858
-105DB0858:t3:A18:logger_std_h_ssl_handler,P<0.105.0>,H105DB0840
-105DB0720:t2:AA:$ancestors,H105DB0878
-105DB0878:lAA:logger_sup|H105DB0908
-105DB0908:lAA:kernel_sup|H105DB0930
-105DB0930:lP<0.47.0>|N
-105DB0738:t2:AD:$initial_call,H105DB0888
-105DB0888:t3:AA:logger_olp,A4:init,I1
-=proc_stack:<0.106.0>
-y0:N
-y1:N
-y2:H105DA87D8
-0x0000000105da8e80:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.106.0>
-105DA87D8:Mf2:H280091C80:AB:ssl_handler,AB:standard_io
-=proc_dictionary:<0.107.0>
-H105D8C6D0
-H105D8C6E8
-=proc_stack:<0.107.0>
-0x0000000105d8c958:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.107.0>
-105D8C6D0:t2:AA:$ancestors,H105D8C710
-105D8C710:lP<0.103.0>|N
-105D8C6E8:t2:AD:$initial_call,H105D8C720
-105D8C720:t3:AA:supervisor,A7:ssl_sup,I1
-=proc_dictionary:<0.108.0>
-H105DBFC68
-H105DBFC80
-=proc_stack:<0.108.0>
-0x0000000105dbffe0:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.108.0>
-105DBFC68:t2:AA:$ancestors,H105DBFCA8
-105DBFCA8:lA7:ssl_sup|H105DBFCE8
-105DBFCE8:lP<0.103.0>|N
-105DBFC80:t2:AD:$initial_call,H105DBFCB8
-105DBFCB8:t3:AA:supervisor,AD:ssl_admin_sup,I1
-=proc_dictionary:<0.109.0>
-H105D82110
-H105D82128
-H105D82140
-=proc_stack:<0.109.0>
-y0:N
-y1:A8:infinity
-y2:H105D820E0
-y3:H105D828A8
-y4:AD:ssl_pem_cache
-y5:P<0.108.0>
-0x0000000105d82c38:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105d82c58:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.109.0>
-105D820E0:t5:AE:callback_cache,AD:ssl_pem_cache,H105D82178,H105D821A0,H105D821C8
-105D821C8:E20:g3F3DXNzbF9wZW1fY2FjaGV3C2hhbmRsZV9pbmZvYQI=
-105D821A0:E20:g3F3DXNzbF9wZW1fY2FjaGV3C2hhbmRsZV9jYXN0YQI=
-105D82178:E20:g3F3DXNzbF9wZW1fY2FjaGV3C2hhbmRsZV9jYWxsYQM=
-105D828A8:t4:A5:state,AD:ssl_pem_cache,I1701928823,I120000
-105D82110:t2:AA:$ancestors,H105D821F0
-105D821F0:lAD:ssl_admin_sup|H105D82260
-105D82260:lA7:ssl_sup|H105D82280
-105D82280:lP<0.103.0>|N
-105D82128:t2:AD:ssl_pem_cache,AD:ssl_pem_cache
-105D82140:t2:AD:$initial_call,H105D82200
-105D82200:t3:AD:ssl_pem_cache,A4:init,I1
-=proc_dictionary:<0.110.0>
-H105DB84D8
-H105DB84F0
-H105DB8508
-H105DB8520
-=proc_stack:<0.110.0>
-y0:N
-y1:A8:infinity
-y2:H105DB84A8
-y3:H105DB67C8
-y4:AB:ssl_manager
-y5:P<0.108.0>
-0x0000000105db7160:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105db7180:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.110.0>
-105DB84A8:t5:AE:callback_cache,AB:ssl_manager,H105DB8538,H105DB8560,H105DB8588
-105DB8588:E1E:g3F3C3NzbF9tYW5hZ2VydwtoYW5kbGVfaW5mb2EC
-105DB8560:E1E:g3F3C3NzbF9tYW5hZ2VydwtoYW5kbGVfY2FzdGEC
-105DB8538:E1E:g3F3C3NzbF9tYW5hZ2VydwtoYW5kbGVfY2FsbGED
-105DB67C8:tA:A5:state,H105DB66B0,A1B:ssl_client_session_cache_db,I86400,H105DB67A0,H105DB67B0,I1000,A9:undefined,N,H280061C80
-105DB67B0:E23:g1oAA3cNbm9ub2RlQG5vaG9zdAAAAAAAALGc+vQAAd/g02c=
-105DB67A0:lH105DB66C8|H105DB6790
-105DB66C8:E23:g1oAA3cNbm9ub2RlQG5vaG9zdAAAAAAAALGX+vYAAd/g02c=
-105DB6790:lH105DB6778|H105DB6768
-105DB6778:t2:H105DB66E0,H105DB66F8
-105DB66F8:E23:g1oAA3cNbm9ub2RlQG5vaG9zdAAAAAAAALGZ+vYAAd/g02c=
-105DB66E0:E23:g1oAA3cNbm9ub2RlQG5vaG9zdAAAAAAAALGY+vYAAd/g02c=
-105DB6768:lAD:ssl_pem_cache|H105DB6758
-105DB6758:lH105DB6740|N
-105DB6740:t2:H105DB6710,H105DB6728
-105DB6728:E23:g1oAA3cNbm9ub2RlQG5vaG9zdAAAAAAAALGb+vYAAd/g02c=
-105DB6710:E23:g1oAA3cNbm9ub2RlQG5vaG9zdAAAAAAAALGa+vYAAd/g02c=
-105DB66B0:E23:g1oAA3cNbm9ub2RlQG5vaG9zdAAAAAAAALGW+vYAAd/g02c=
-105DB84D8:t2:AA:$ancestors,H105DB85B0
-105DB85B0:lAD:ssl_admin_sup|H105DB85E0
-105DB85E0:lA7:ssl_sup|H105DB85F0
-105DB85F0:lP<0.103.0>|N
-105DB84F0:t2:AB:ssl_manager,AB:ssl_manager
-105DB8508:t2:AD:ssl_pem_cache,AD:ssl_pem_cache
-105DB8520:t2:AD:$initial_call,H105DB85C0
-105DB85C0:t3:AB:ssl_manager,A4:init,I1
-=proc_dictionary:<0.111.0>
-H105D8FCA8
-H105D8FCE0
-=proc_stack:<0.111.0>
-y0:N
-y1:A8:infinity
-y2:H105D8FD70
-y3:H105D8FDB8
-y4:A17:tls_client_ticket_store
-y5:P<0.108.0>
-0x0000000105d902b8:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105d902d8:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.111.0>
-105D8FD70:t5:AE:callback_cache,A17:tls_client_ticket_store,H105D8FCF8,H105D8FD20,H105D8FD48
-105D8FD48:E2A:g3F3F3Rsc19jbGllbnRfdGlja2V0X3N0b3JldwtoYW5kbGVfaW5mb2EC
-105D8FD20:E2A:g3F3F3Rsc19jbGllbnRfdGlja2V0X3N0b3JldwtoYW5kbGVfY2FzdGEC
-105D8FCF8:E2A:g3F3F3Rsc19jbGllbnRfdGlja2V0X3N0b3JldwtoYW5kbGVfY2FsbGED
-105D8FDB8:t4:A5:state,H280061C80,I7200,I1000
-105D8FCA8:t2:AA:$ancestors,H105D8FC98
-105D8FC98:lAD:ssl_admin_sup|H105D8FC58
-105D8FC58:lA7:ssl_sup|H105D8FC48
-105D8FC48:lP<0.103.0>|N
-105D8FCE0:t2:AD:$initial_call,H105D8FCC0
-105D8FCC0:t3:A17:tls_client_ticket_store,A4:init,I1
-=proc_dictionary:<0.112.0>
-H105DADF58
-H105DADF70
-=proc_stack:<0.112.0>
-0x0000000105dae1f0:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.112.0>
-105DADF58:t2:AA:$ancestors,H105DADF98
-105DADF98:lA7:ssl_sup|H105DADFD8
-105DADFD8:lP<0.103.0>|N
-105DADF70:t2:AD:$initial_call,H105DADFA8
-105DADFA8:t3:AA:supervisor,A12:ssl_connection_sup,I1
-=proc_dictionary:<0.113.0>
-H105DADCA0
-H105DADCB8
-=proc_stack:<0.113.0>
-0x0000000105dadf48:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.113.0>
-105DADCA0:t2:AA:$ancestors,H105DADCE0
-105DADCE0:lA12:ssl_connection_sup|H105DADD20
-105DADD20:lA7:ssl_sup|H105DADD40
-105DADD40:lP<0.103.0>|N
-105DADCB8:t2:AD:$initial_call,H105DADCF0
-105DADCF0:t3:AA:supervisor,A7:tls_sup,I1
-=proc_dictionary:<0.114.0>
-H105D87718
-H105D87750
-=proc_stack:<0.114.0>
-y0:N
-y1:A8:infinity
-y2:H105D877E0
-y3:H105D87A80
-y4:A12:tls_connection_sup
-y5:P<0.113.0>
-0x0000000105d87d18:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105d87d38:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.114.0>
-105D877E0:t5:AE:callback_cache,AA:supervisor,H105D87768,H105D87790,H105D877B8
-105D877B8:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9pbmZvYQI=
-105D87790:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9jYXN0YQI=
-105D87768:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9jYWxsYQM=
-105D87A80:tC:A5:state,H2800BDB80,A12:simple_one_for_one,H105D879E8,H280028328,I0,I3600,N,I0,A5:never,A12:tls_connection_sup,N
-105D879E8:t2:H105D879D8,H105D879B8
-105D879B8:Mf1:H105D879A8:H105D87940
-105D879A8:t1:A9:undefined
-105D87940:t9:A5:child,A9:undefined,A9:undefined,H2800BDCA0,A9:temporary,A5:false,A8:infinity,AA:supervisor,H105D87930
-105D87930:lA16:tls_dyn_connection_sup|N
-105D879D8:lA9:undefined|N
-105D87718:t2:AA:$ancestors,H105D87708
-105D87708:lA7:tls_sup|H105D876C8
-105D876C8:lA12:ssl_connection_sup|H105D876B8
-105D876B8:lA7:ssl_sup|H105D876A8
-105D876A8:lP<0.103.0>|N
-105D87750:t2:AD:$initial_call,H105D87730
-105D87730:t3:AA:supervisor,A12:tls_connection_sup,I1
-=proc_dictionary:<0.115.0>
-H105DA2350
-H105DA2368
-=proc_stack:<0.115.0>
-0x0000000105da26e8:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.115.0>
-105DA2350:t2:AA:$ancestors,H105DA2390
-105DA2390:lA7:tls_sup|H105DA23D0
-105DA23D0:lA12:ssl_connection_sup|H105DA23F0
-105DA23F0:lA7:ssl_sup|H105DA2410
-105DA2410:lP<0.103.0>|N
-105DA2368:t2:AD:$initial_call,H105DA23A0
-105DA23A0:t3:AA:supervisor,AE:tls_server_sup,I1
-=proc_dictionary:<0.116.0>
-H105DBD3E8
-H105DBD420
-=proc_stack:<0.116.0>
-y0:N
-y1:A8:infinity
-y2:H105DBD4B0
-y3:H105DBD740
-y4:A16:ssl_listen_tracker_sup
-y5:P<0.115.0>
-0x0000000105dbd9d8:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105dbd9f8:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.116.0>
-105DBD4B0:t5:AE:callback_cache,AA:supervisor,H105DBD438,H105DBD460,H105DBD488
-105DBD488:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9pbmZvYQI=
-105DBD460:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9jYXN0YQI=
-105DBD438:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9jYWxsYQM=
-105DBD740:tC:A5:state,H2800BE298,A12:simple_one_for_one,H105DBD6A8,H280028328,I0,I3600,N,I0,A5:never,A16:ssl_listen_tracker_sup,N
-105DBD6A8:t2:H105DBD698,H105DBD678
-105DBD678:Mf1:H105DBD668:H105DBD600
-105DBD668:t1:A9:undefined
-105DBD600:t9:A5:child,A9:undefined,A9:undefined,H2800BE3E8,A9:temporary,A5:false,I4000,A6:worker,H2800BE3D8
-105DBD698:lA9:undefined|N
-105DBD3E8:t2:AA:$ancestors,H105DBD3D8
-105DBD3D8:lAE:tls_server_sup|H105DBD398
-105DBD398:lA7:tls_sup|H105DBD388
-105DBD388:lA12:ssl_connection_sup|H105DBD378
-105DBD378:lA7:ssl_sup|H105DBD368
-105DBD368:lP<0.103.0>|N
-105DBD420:t2:AD:$initial_call,H105DBD400
-105DBD400:t3:AA:supervisor,A16:ssl_listen_tracker_sup,I1
-=proc_dictionary:<0.117.0>
-H105DA1D30
-H105DA1D68
-=proc_stack:<0.117.0>
-y0:N
-y1:A8:infinity
-y2:H105DA1DF8
-y3:H105DA2088
-y4:A1D:tls_server_session_ticket_sup
-y5:P<0.115.0>
-0x0000000105da2320:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105da2340:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.117.0>
-105DA1DF8:t5:AE:callback_cache,AA:supervisor,H105DA1D80,H105DA1DA8,H105DA1DD0
-105DA1DD0:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9pbmZvYQI=
-105DA1DA8:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9jYXN0YQI=
-105DA1D80:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9jYWxsYQM=
-105DA2088:tC:A5:state,H2800BE5C0,A12:simple_one_for_one,H105DA1FF0,H280028358,I0,I3600,N,I0,A5:never,A1D:tls_server_session_ticket_sup,N
-105DA1FF0:t2:H105DA1FE0,H105DA1FC0
-105DA1FC0:Mf1:H105DA1FB0:H105DA1F48
-105DA1FB0:t1:A9:undefined
-105DA1F48:t9:A5:child,A9:undefined,A9:undefined,H2800BE710,A9:transient,A5:false,I4000,A6:worker,H2800BE700
-105DA1FE0:lA9:undefined|N
-105DA1D30:t2:AA:$ancestors,H105DA1D20
-105DA1D20:lAE:tls_server_sup|H105DA1CE0
-105DA1CE0:lA7:tls_sup|H105DA1CD0
-105DA1CD0:lA12:ssl_connection_sup|H105DA1CC0
-105DA1CC0:lA7:ssl_sup|H105DA1CB0
-105DA1CB0:lP<0.103.0>|N
-105DA1D68:t2:AD:$initial_call,H105DA1D48
-105DA1D48:t3:AA:supervisor,A1D:tls_server_session_ticket_sup,I1
-=proc_dictionary:<0.118.0>
-H105EBF1B0
-H105EBF1E8
-=proc_stack:<0.118.0>
-y0:N
-y1:A8:infinity
-y2:H105EBF278
-y3:H105EBF508
-y4:A1C:ssl_server_session_cache_sup
-y5:P<0.115.0>
-0x0000000105ebf7a0:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105ebf7c0:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.118.0>
-105EBF278:t5:AE:callback_cache,AA:supervisor,H105EBF200,H105EBF228,H105EBF250
-105EBF250:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9pbmZvYQI=
-105EBF228:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9jYXN0YQI=
-105EBF200:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9jYWxsYQM=
-105EBF508:tC:A5:state,H2800BE958,A12:simple_one_for_one,H105EBF470,H280028358,I3,I3600,N,I0,A5:never,A1C:ssl_server_session_cache_sup,N
-105EBF470:t2:H105EBF460,H105EBF440
-105EBF440:Mf1:H105EBF430:H105EBF3C8
-105EBF430:t1:A9:undefined
-105EBF3C8:t9:A5:child,A9:undefined,A9:undefined,H2800BEA90,A9:transient,A5:false,I4000,A6:worker,H2800BEA80
-105EBF460:lA9:undefined|N
-105EBF1B0:t2:AA:$ancestors,H105EBF1A0
-105EBF1A0:lAE:tls_server_sup|H105EBF160
-105EBF160:lA7:tls_sup|H105EBF150
-105EBF150:lA12:ssl_connection_sup|H105EBF140
-105EBF140:lA7:ssl_sup|H105EBF130
-105EBF130:lP<0.103.0>|N
-105EBF1E8:t2:AD:$initial_call,H105EBF1C8
-105EBF1C8:t3:AA:supervisor,A1C:ssl_server_session_cache_sup,I1
-=proc_dictionary:<0.119.0>
-H105EBF900
-H105EBF938
-=proc_stack:<0.119.0>
-y0:N
-y1:A8:infinity
-y2:H105EBF9C8
-y3:H105EBFC58
-y4:A24:ssl_upgrade_server_session_cache_sup
-y5:P<0.115.0>
-0x0000000105ebfef0:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105ebff10:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.119.0>
-105EBF9C8:t5:AE:callback_cache,AA:supervisor,H105EBF950,H105EBF978,H105EBF9A0
-105EBF9A0:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9pbmZvYQI=
-105EBF978:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9jYXN0YQI=
-105EBF950:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9jYWxsYQM=
-105EBFC58:tC:A5:state,H2800BECC8,A12:simple_one_for_one,H105EBFBC0,H280028358,I3,I3600,N,I0,A5:never,A24:ssl_upgrade_server_session_cache_sup,N
-105EBFBC0:t2:H105EBFBB0,H105EBFB90
-105EBFB90:Mf1:H105EBFB80:H105EBFB18
-105EBFB80:t1:A9:undefined
-105EBFB18:t9:A5:child,A9:undefined,A9:undefined,H2800BEE18,A9:transient,A5:false,I4000,A6:worker,H2800BEE08
-105EBFBB0:lA9:undefined|N
-105EBF900:t2:AA:$ancestors,H105EBF8F0
-105EBF8F0:lAE:tls_server_sup|H105EBF8B0
-105EBF8B0:lA7:tls_sup|H105EBF8A0
-105EBF8A0:lA12:ssl_connection_sup|H105EBF890
-105EBF890:lA7:ssl_sup|H105EBF880
-105EBF880:lP<0.103.0>|N
-105EBF938:t2:AD:$initial_call,H105EBF918
-105EBF918:t3:AA:supervisor,A24:ssl_upgrade_server_session_cache_sup,I1
-=proc_dictionary:<0.120.0>
-H105DB8030
-H105DB8048
-=proc_stack:<0.120.0>
-0x0000000105db82d8:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.120.0>
-105DB8030:t2:AA:$ancestors,H105DB8070
-105DB8070:lA12:ssl_connection_sup|H105DB80B0
-105DB80B0:lA7:ssl_sup|H105DB80D0
-105DB80D0:lP<0.103.0>|N
-105DB8048:t2:AD:$initial_call,H105DB8080
-105DB8080:t3:AA:supervisor,A8:dtls_sup,I1
-=proc_dictionary:<0.121.0>
-H105DB72B0
-H105DB72E8
-=proc_stack:<0.121.0>
-y0:N
-y1:A8:infinity
-y2:H105DB7378
-y3:H105DB7608
-y4:A13:dtls_connection_sup
-y5:P<0.120.0>
-0x0000000105db78b0:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105db78d0:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.121.0>
-105DB7378:t5:AE:callback_cache,AA:supervisor,H105DB7300,H105DB7328,H105DB7350
-105DB7350:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9pbmZvYQI=
-105DB7328:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9jYXN0YQI=
-105DB7300:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9jYWxsYQM=
-105DB7608:tC:A5:state,H2800BF370,A12:simple_one_for_one,H105DB7570,H280028328,I0,I3600,N,I0,A5:never,A13:dtls_connection_sup,N
-105DB7570:t2:H105DB7560,H105DB7540
-105DB7540:Mf1:H105DB7530:H105DB74C8
-105DB7530:t1:A9:undefined
-105DB74C8:t9:A5:child,A9:undefined,A9:undefined,H2800BF4D0,A9:temporary,A5:false,I4000,A6:worker,H2800BF4B0
-105DB7560:lA9:undefined|N
-105DB72B0:t2:AA:$ancestors,H105DB72A0
-105DB72A0:lA8:dtls_sup|H105DB7260
-105DB7260:lA12:ssl_connection_sup|H105DB7250
-105DB7250:lA7:ssl_sup|H105DB7240
-105DB7240:lP<0.103.0>|N
-105DB72E8:t2:AD:$initial_call,H105DB72C8
-105DB72C8:t3:AA:supervisor,A13:dtls_connection_sup,I1
-=proc_dictionary:<0.122.0>
-H105D8D9E8
-H105D8DA00
-=proc_stack:<0.122.0>
-0x0000000105d8dca0:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.122.0>
-105D8D9E8:t2:AA:$ancestors,H105D8DA28
-105D8DA28:lA8:dtls_sup|H105D8DA68
-105D8DA68:lA12:ssl_connection_sup|H105D8DA88
-105D8DA88:lA7:ssl_sup|H105D8DAA8
-105D8DAA8:lP<0.103.0>|N
-105D8DA00:t2:AD:$initial_call,H105D8DA38
-105D8DA38:t3:AA:supervisor,AF:dtls_server_sup,I1
-=proc_dictionary:<0.123.0>
-H105DB7A10
-H105DB7A48
-=proc_stack:<0.123.0>
-y0:N
-y1:A8:infinity
-y2:H105DB7AD8
-y3:H105DB7D68
-y4:A11:dtls_listener_sup
-y5:P<0.122.0>
-0x0000000105db8000:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105db8020:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.123.0>
-105DB7AD8:t5:AE:callback_cache,AA:supervisor,H105DB7A60,H105DB7A88,H105DB7AB0
-105DB7AB0:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9pbmZvYQI=
-105DB7A88:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9jYXN0YQI=
-105DB7A60:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9jYWxsYQM=
-105DB7D68:tC:A5:state,H2800BF988,A12:simple_one_for_one,H105DB7CD0,H280028328,I0,I3600,N,I0,A5:never,A11:dtls_listener_sup,N
-105DB7CD0:t2:H105DB7CC0,H105DB7CA0
-105DB7CA0:Mf1:H105DB7C90:H105DB7C28
-105DB7C90:t1:A9:undefined
-105DB7C28:t9:A5:child,A9:undefined,A9:undefined,H2800BFB08,A9:temporary,A5:false,I4000,A6:worker,H2800BFAF8
-105DB7CC0:lA9:undefined|N
-105DB7A10:t2:AA:$ancestors,H105DB7A00
-105DB7A00:lAF:dtls_server_sup|H105DB79C0
-105DB79C0:lA8:dtls_sup|H105DB79B0
-105DB79B0:lA12:ssl_connection_sup|H105DB79A0
-105DB79A0:lA7:ssl_sup|H105DB7990
-105DB7990:lP<0.103.0>|N
-105DB7A48:t2:AD:$initial_call,H105DB7A28
-105DB7A28:t3:AA:supervisor,A11:dtls_listener_sup,I1
-=proc_dictionary:<0.124.0>
-H105DE5340
-H105DE5378
-=proc_stack:<0.124.0>
-y0:N
-y1:A8:infinity
-y2:H105DE5408
-y3:H105DE5698
-y4:A1D:dtls_server_session_cache_sup
-y5:P<0.122.0>
-0x0000000105de5930:SReturn addr 0x3E95064 (proc_lib:init_p_do_apply/3 + 180)
-y0:N
-y1:N
-y2:SCatch 0x3E9508C (proc_lib:init_p_do_apply/3 + 220)
-0x0000000105de5950:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.124.0>
-105DE5408:t5:AE:callback_cache,AA:supervisor,H105DE5390,H105DE53B8,H105DE53E0
-105DE53E0:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9pbmZvYQI=
-105DE53B8:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9jYXN0YQI=
-105DE5390:E1D:g3F3CnN1cGVydmlzb3J3C2hhbmRsZV9jYWxsYQM=
-105DE5698:tC:A5:state,H2800BFC90,A12:simple_one_for_one,H105DE5600,H280028328,I0,I3600,N,I0,A5:never,A1D:dtls_server_session_cache_sup,N
-105DE5600:t2:H105DE55F0,H105DE55D0
-105DE55D0:Mf1:H105DE55C0:H105DE5558
-105DE55C0:t1:A9:undefined
-105DE5558:t9:A5:child,A9:undefined,A9:undefined,H2800BFDC8,A9:temporary,A5:false,I4000,A6:worker,H2800BFDB8
-105DE55F0:lA9:undefined|N
-105DE5340:t2:AA:$ancestors,H105DE5330
-105DE5330:lAF:dtls_server_sup|H105DE52F0
-105DE52F0:lA8:dtls_sup|H105DE52E0
-105DE52E0:lA12:ssl_connection_sup|H105DE52D0
-105DE52D0:lA7:ssl_sup|H105DE52C0
-105DE52C0:lP<0.103.0>|N
-105DE5378:t2:AD:$initial_call,H105DE5358
-105DE5358:t3:AA:supervisor,A1D:dtls_server_session_cache_sup,I1
-=proc_messages:<0.135.0>
-=proc_stack:<0.135.0>
-y0:H2800CD8C8
-y1:H105D8D5E0
-y2:A8:infinity
-0x0000000105d8d7d0:SReturn addr 0x41FF57C (gleam_erlang_ffi:select/1 + 76)
-0x0000000105d8d7d8:SReturn addr 0x41F8888 ('gleam@otp@actor':loop/1 + 88)
-y0:N
-y1:N
-y2:H105D8D4B0
-0x0000000105d8d7f8:SReturn addr 0x3D82348 (<terminate process normally>)
-=proc_heap:<0.135.0>
-105D8D5E0:Mf3:H105D8D610:H2800CD8C8,H105D8D598,H105D8D340
-105D8D610:t3:A8:anything,H105D8D5C8,H105D8D3B0
-105D8D3B0:t2:H105D8D288,I2
-105D8D288:E23:g1oAA3cNbm9ub2RlQG5vaG9zdAAAAAAAALJ5+vQAAd/g02c=
-105D8D5C8:t2:A6:system,I3
-105D8D340:E59:g3AAAABXATXkq0co6TIEH9F8d4ohKbUAAAABAAAAAXcUZ2xlYW1AZXJsYW5nQHByb2Nlc3NhAWIBryVaWHcNbm9ub2RlQG5vaG9zdAAAAIcAAAAAAAAAAGo=
-105D8D598:E59:g3AAAABXATXkq0co6TIEH9F8d4ohKbUAAAAEAAAAAXcUZ2xlYW1AZXJsYW5nQHByb2Nlc3NhBGIBryVaWHcNbm9ub2RlQG5vaG9zdAAAAIcAAAAAAAAAAGo=
-105D8D4B0:t8:A4:self,A7:running,P<0.9.0>,A3:nil,H105D8D160,H105D8D180,N,H105D8D198
-105D8D198:E70:g3AAAABuAm0lB8VhbzpekP2Yj7+xrtsAAAAAAAAABXcnc2hvd3RpbWVAaW50ZXJuYWxAZXJsYW5nQG1vZHVsZV9oYW5kbGVyYQBiA2koPlh3DW5vbm9kZUBub2hvc3QAAAAJAAAAAAAAAABqampqag==
-105D8D180:t2:A8:selector,H105D8D2A0
-105D8D2A0:Mf1:H105D8D330:H105D8D340
-105D8D330:t1:H105D8D3B0
-105D8D160:t3:A7:subject,P<0.135.0>,H105D8D288
-=persistent_terms
-H280093098|A5:async
-AC:logger_proxy|H28008F560
-H2800930E0|I10
-H28001C210|H28001C228
-H280093140|A9:undefined
-AC:global_group|H28007FBF0
-H280017DD8|H280017DF0
-H2800BB860|I23
-H28001F250|H28001F268
-H280068270|H280068288
-H280068B60|N
-H28001EEC0|H28001EED8
-H2800BB800|I7
-H2800BB7B8|A5:async
-A12:rex_nodes_observer|H2800711C8
-H28001EFE8|H28001F000
-H28005B268|I5
-H28006A4B8|I5
-H28008F5C8|A5:async
-H280068BF0|I5
-H280068BA8|A4:true
-H280068B18|N
-H28005B2B0|I5
-=literals
-2800101F8:t2:A4:unix,A6:darwin
-280010230:t3:I23,I0,I0
-280010268:t6:AB:erts_dflags,I55966662588,I17230663572,I55966662588,I8396866,I8192
-280010188:t0:
-280010190:t0:
-2800102B8:lI108|N
-2800102C8:lI114|H2800102B8
-2800102D8:lI101|H2800102C8
-2800102E8:lI46|H2800102D8
-280013CD0:t4:A5:state,H280013CF8,H280013D10,H280013D28
-280013CF8:Mf0:H280010188:
-280013D10:Mf0:H280010188:
-280013D28:Mf0:H280010188:
-280013D40:Mf0:H280010188:
-280013D58:lA5:flush|N
-280013D68:lI115|H280013D78
-280013D78:lI111|H280013D88
-280013D88:lI99|H280013D98
-280013D98:lI107|H280013DA8
-280013DA8:lI101|H280013DB8
-280013DB8:lI116|H280013DC8
-280013DC8:lI45|H280013DD8
-280013DD8:lI114|H280013DE8
-280013DE8:lI101|H280013DF8
-280013DF8:lI103|H280013E08
-280013E08:lI105|H280013E18
-280013E18:lI115|H280013E28
-280013E28:lI116|H280013E38
-280013E38:lI114|H280013E48
-280013E48:lI121|H280013E58
-280013E58:lI32|H280013E68
-280013E68:lI114|H280013E78
-280013E78:lI101|H280013E88
-280013E88:lI99|H280013E98
-280013E98:lI101|H280013EA8
-280013EA8:lI105|H280013EB8
-280013EB8:lI118|H280013EC8
-280013EC8:lI101|H280013ED8
-280013ED8:lI100|H280013EE8
-280013EE8:lI32|H280013EF8
-280013EF8:lI117|H280013F08
-280013F08:lI110|H280013F18
-280013F18:lI101|H280013F28
-280013F28:lI120|H280013F38
-280013F38:lI112|H280013F48
-280013F48:lI101|H280013F58
-280013F58:lI99|H280013F68
-280013F68:lI116|H280013F78
-280013F78:lI101|H280013F88
-280013F88:lI100|H280013F98
-280013F98:lI32|H280013FA8
-280013FA8:lI101|H280013FB8
-280013FB8:lI120|H280013FC8
-280013FC8:lI105|H280013FD8
-280013FD8:lI116|H280013FE8
-280013FE8:lI32|H280013FF8
-280013FF8:lI102|H280014008
-280014008:lI114|H280014018
-280014018:lI111|H280014028
-280014028:lI109|H280014038
-280014038:lI32|H280014048
-280014048:lI126|H280014058
-280014058:lI112|H280014068
-280014068:lI58|H280014078
-280014078:lI126|H280014088
-280014088:lI110|H280014098
-280014098:lI32|H2800140A8
-2800140A8:lI32|H2800140B8
-2800140B8:lI32|H2800140C8
-2800140C8:lI126|H2800140D8
-2800140D8:lI112|N
-2800140E8:lI115|H2800140F8
-2800140F8:lI111|H280014108
-280014108:lI99|H280014118
-280014118:lI107|H280014128
-280014128:lI101|H280014138
-280014138:lI116|H280014148
-280014148:lI45|H280014158
-280014158:lI114|H280014168
-280014168:lI101|H280014178
-280014178:lI103|H280014188
-280014188:lI105|H280014198
-280014198:lI115|H2800141A8
-2800141A8:lI116|H2800141B8
-2800141B8:lI114|H2800141C8
-2800141C8:lI121|H2800141D8
-2800141D8:lI32|H2800141E8
-2800141E8:lI114|H2800141F8
-2800141F8:lI101|H280014208
-280014208:lI99|H280014218
-280014218:lI101|H280014228
-280014228:lI105|H280014238
-280014238:lI118|H280014248
-280014248:lI101|H280014258
-280014258:lI100|H280014268
-280014268:lI32|H280014278
-280014278:lI117|H280014288
-280014288:lI110|H280014298
-280014298:lI101|H2800142A8
-2800142A8:lI120|H2800142B8
-2800142B8:lI112|H2800142C8
-2800142C8:lI101|H2800142D8
-2800142D8:lI99|H2800142E8
-2800142E8:lI116|H2800142F8
-2800142F8:lI101|H280014308
-280014308:lI100|H280014318
-280014318:lI58|H280014328
-280014328:lI126|H280014338
-280014338:lI110|H280014348
-280014348:lI32|H280014358
-280014358:lI32|H280014368
-280014368:lI32|H280014378
-280014378:lI126|H280014388
-280014388:lI112|N
-280014398:lI115|H2800143A8
-2800143A8:lI111|H2800143B8
-2800143B8:lI99|H2800143C8
-2800143C8:lI107|H2800143D8
-2800143D8:lI101|H2800143E8
-2800143E8:lI116|H2800143F8
-2800143F8:lI45|H280014408
-280014408:lI114|H280014418
-280014418:lI101|H280014428
-280014428:lI103|H280014438
-280014438:lI105|H280014448
-280014448:lI115|H280014458
-280014458:lI116|H280014468
-280014468:lI114|H280014478
-280014478:lI121|H280014488
-280014488:lI32|H280014498
-280014498:lI101|H2800144A8
-2800144A8:lI114|H2800144B8
-2800144B8:lI114|H2800144C8
-2800144C8:lI111|H2800144D8
-2800144D8:lI114|H2800144E8
-2800144E8:lI32|H2800144F8
-2800144F8:lI119|H280014508
-280014508:lI104|H280014518
-280014518:lI105|H280014528
-280014528:lI108|H280014538
-280014538:lI101|H280014548
-280014548:lI32|H280014558
-280014558:lI112|H280014568
-280014568:lI114|H280014578
-280014578:lI111|H280014588
-280014588:lI99|H280014598
-280014598:lI101|H2800145A8
-2800145A8:lI115|H2800145B8
-2800145B8:lI115|H2800145C8
-2800145C8:lI105|H2800145D8
-2800145D8:lI110|H2800145E8
-2800145E8:lI103|H2800145F8
-2800145F8:lI32|H280014608
-280014608:lI115|H280014618
-280014618:lI111|H280014628
-280014628:lI99|H280014638
-280014638:lI107|H280014648
-280014648:lI101|H280014658
-280014658:lI116|H280014668
-280014668:lI58|H280014678
-280014678:lI32|H280014688
-280014688:lI126|H280014698
-280014698:lI110|H2800146A8
-2800146A8:lI32|H2800146B8
-2800146B8:lI32|H2800146C8
-2800146C8:lI32|H2800146D8
-2800146D8:lI67|H2800146E8
-2800146E8:lI108|H2800146F8
-2800146F8:lI97|H280014708
-280014708:lI115|H280014718
-280014718:lI115|H280014728
-280014728:lI58|H280014738
-280014738:lI32|H280014748
-280014748:lI126|H280014758
-280014758:lI112|H280014768
-280014768:lI126|H280014778
-280014778:lI110|H280014788
-280014788:lI32|H280014798
-280014798:lI32|H2800147A8
-2800147A8:lI32|H2800147B8
-2800147B8:lI69|H2800147C8
-2800147C8:lI114|H2800147D8
-2800147D8:lI114|H2800147E8
-2800147E8:lI111|H2800147F8
-2800147F8:lI114|H280014808
-280014808:lI58|H280014818
-280014818:lI32|H280014828
-280014828:lI126|H280014838
-280014838:lI112|H280014848
-280014848:lI126|H280014858
-280014858:lI110|H280014868
-280014868:lI32|H280014878
-280014878:lI32|H280014888
-280014888:lI32|H280014898
-280014898:lI83|H2800148A8
-2800148A8:lI116|H2800148B8
-2800148B8:lI97|H2800148C8
-2800148C8:lI99|H2800148D8
-2800148D8:lI107|H2800148E8
-2800148E8:lI58|H2800148F8
-2800148F8:lI32|H280014908
-280014908:lI126|H280014918
-280014918:lI112|N
-280014928:t2:A5:error,AE:unknown_socket
-280014940:t2:A5:error,A9:not_owner
-280014958:t2:A5:error,AF:unknown_monitor
-280014970:t2:AF:socket_registry,A9:not_found
-280014988:lI115|H280014998
-280014998:lI111|H2800149A8
-2800149A8:lI99|H2800149B8
-2800149B8:lI107|H2800149C8
-2800149C8:lI101|H2800149D8
-2800149D8:lI116|H2800149E8
-2800149E8:lI45|H2800149F8
-2800149F8:lI114|H280014A08
-280014A08:lI101|H280014A18
-280014A18:lI103|H280014A28
-280014A28:lI105|H280014A38
-280014A38:lI115|H280014A48
-280014A48:lI116|H280014A58
-280014A58:lI114|H280014A68
-280014A68:lI121|H280014A78
-280014A78:lI32|H280014A88
-280014A88:lI115|H280014A98
-280014A98:lI101|H280014AA8
-280014AA8:lI110|H280014AB8
-280014AB8:lI100|H280014AC8
-280014AC8:lI102|H280014AD8
-280014AD8:lI105|H280014AE8
-280014AE8:lI108|H280014AF8
-280014AF8:lI101|H280014B08
-280014B08:lI95|H280014B18
-280014B18:lI100|H280014B28
-280014B28:lI101|H280014B38
-280014B38:lI102|H280014B48
-280014B48:lI101|H280014B58
-280014B58:lI114|H280014B68
-280014B68:lI114|H280014B78
-280014B78:lI101|H280014B88
-280014B88:lI100|H280014B98
-280014B98:lI95|H280014BA8
-280014BA8:lI99|H280014BB8
-280014BB8:lI108|H280014BC8
-280014BC8:lI111|H280014BD8
-280014BD8:lI115|H280014BE8
-280014BE8:lI101|H280014BF8
-280014BF8:lI58|H280014C08
-280014C08:lI126|H280014C18
-280014C18:lI110|H280014C28
-280014C28:lI32|H280014C38
-280014C38:lI32|H280014C48
-280014C48:lI32|H280014C58
-280014C58:lI91|H280014C68
-280014C68:lI126|H280014C78
-280014C78:lI112|H280014C88
-280014C88:lI93|H280014C98
-280014C98:lI32|H280014CA8
-280014CA8:lI126|H280014CB8
-280014CB8:lI112|N
-280014CC8:lI115|H280014CD8
-280014CD8:lI111|H280014CE8
-280014CE8:lI99|H280014CF8
-280014CF8:lI107|H280014D08
-280014D08:lI101|H280014D18
-280014D18:lI116|H280014D28
-280014D28:lI45|H280014D38
-280014D38:lI114|H280014D48
-280014D48:lI101|H280014D58
-280014D58:lI103|H280014D68
-280014D68:lI105|H280014D78
-280014D78:lI115|H280014D88
-280014D88:lI116|H280014D98
-280014D98:lI114|H280014DA8
-280014DA8:lI121|H280014DB8
-280014DB8:lI32|H280014DC8
-280014DC8:lI115|H280014DD8
-280014DD8:lI101|H280014DE8
-280014DE8:lI110|H280014DF8
-280014DF8:lI100|H280014E08
-280014E08:lI102|H280014E18
-280014E18:lI105|H280014E28
-280014E28:lI108|H280014E38
-280014E38:lI101|H280014E48
-280014E48:lI95|H280014E58
-280014E58:lI100|H280014E68
-280014E68:lI101|H280014E78
-280014E78:lI102|H280014E88
-280014E88:lI101|H280014E98
-280014E98:lI114|H280014EA8
-280014EA8:lI114|H280014EB8
-280014EB8:lI101|H280014EC8
-280014EC8:lI100|H280014ED8
-280014ED8:lI95|H280014EE8
-280014EE8:lI99|H280014EF8
-280014EF8:lI108|H280014F08
-280014F08:lI111|H280014F18
-280014F18:lI115|H280014F28
-280014F28:lI101|H280014F38
-280014F38:lI58|H280014F48
-280014F48:lI126|H280014F58
-280014F58:lI110|H280014F68
-280014F68:lI32|H280014F78
-280014F78:lI32|H280014F88
-280014F88:lI32|H280014F98
-280014F98:lI91|H280014FA8
-280014FA8:lI126|H280014FB8
-280014FB8:lI112|H280014FC8
-280014FC8:lI93|H280014FD8
-280014FD8:lI32|H280014FE8
-280014FE8:lI40|H280014FF8
-280014FF8:lI126|H280015008
-280015008:lI112|H280015018
-280015018:lI58|H280015028
-280015028:lI126|H280015038
-280015038:lI112|H280015048
-280015048:lI41|H280015058
-280015058:lI126|H280015068
-280015068:lI110|H280015078
-280015078:lI32|H280015088
-280015088:lI32|H280015098
-280015098:lI32|H2800150A8
-2800150A8:lI32|H2800150B8
-2800150B8:lI32|H2800150C8
-2800150C8:lI32|H2800150D8
-2800150D8:lI126|H2800150E8
-2800150E8:lI112|N
-2800150F8:t1:A3:tag
-280015108:t4:AC:error_logger,A3:pid,A4:time,A2:gl
-280017B40:t2:I0,N
-280025F58:lI67|H280025F68
-280025F68:lI97|H280025F78
-280025F78:lI108|H280025F88
-280025F88:lI108|H280025F98
-280025F98:lI98|H280025FA8
-280025FA8:lI97|H280025FB8
-280025FB8:lI99|H280025FC8
-280025FC8:lI107|N
-280025FD8:lI83|H280025FE8
-280025FE8:lI116|H280025FF8
-280025FF8:lI97|H280026008
-280026008:lI116|H280026018
-280026018:lI101|N
-280026028:t2:A2:ok,A9:undefined
-280026040:t2:A5:error,AA:restarting
-280026058:t2:A5:error,A7:running
-280026070:t2:A5:error,A9:not_found
-280026088:t2:A5:error,A12:simple_one_for_one
-2800260A0:t2:AB:supervisors,I0
-2800260B8:t2:A5:specs,I1
-2800260D0:lH2800260E0|N
-2800260E0:t2:A7:workers,I0
-2800260F8:t4:I0,I0,I0,I0
-280026120:lI83|H280026130
-280026130:lI117|H280026140
-280026140:lI112|H280026150
-280026150:lI101|H280026160
-280026160:lI114|H280026170
-280026170:lI118|H280026180
-280026180:lI105|H280026190
-280026190:lI115|H2800261A0
-2800261A0:lI111|H2800261B0
-2800261B0:lI114|H2800261C0
-2800261C0:lI32|H2800261D0
-2800261D0:lI114|H2800261E0
-2800261E0:lI101|H2800261F0
-2800261F0:lI99|H280026200
-280026200:lI101|H280026210
-280026210:lI105|H280026220
-280026220:lI118|H280026230
-280026230:lI101|H280026240
-280026240:lI100|H280026250
-280026250:lI32|H280026260
-280026260:lI117|H280026270
-280026270:lI110|H280026280
-280026280:lI101|H280026290
-280026290:lI120|H2800262A0
-2800262A0:lI112|H2800262B0
-2800262B0:lI101|H2800262C0
-2800262C0:lI99|H2800262D0
-2800262D0:lI116|H2800262E0
-2800262E0:lI101|H2800262F0
-2800262F0:lI100|H280026300
-280026300:lI32|H280026310
-280026310:lI109|H280026320
-280026320:lI101|H280026330
-280026330:lI115|H280026340
-280026340:lI115|H280026350
-280026350:lI97|H280026360
-280026360:lI103|H280026370
-280026370:lI101|H280026380
-280026380:lI58|H280026390
-280026390:lI32|H2800263A0
-2800263A0:lI126|H2800263B0
-2800263B0:lI116|H2800263C0
-2800263C0:lI112|H2800263D0
-2800263D0:lI126|H2800263E0
-2800263E0:lI110|N
-2800263F0:t2:AC:error_logger,A6:domain
-280026408:Mf2:H2800263F0:H280026450,H280026430
-280026430:lA3:otp|N
-280026440:t1:A3:tag
-280026450:Mf1:H280026440:A5:error
-280026470:t3:A4:line,A4:file,A3:mfa
-280026490:Mf3:H280026470:I623,H2800264C0,H2800265A0
-2800264C0:lI115|H2800264D0
-2800264D0:lI117|H2800264E0
-2800264E0:lI112|H2800264F0
-2800264F0:lI101|H280026500
-280026500:lI114|H280026510
-280026510:lI118|H280026520
-280026520:lI105|H280026530
-280026530:lI115|H280026540
-280026540:lI111|H280026550
-280026550:lI114|H280026560
-280026560:lI46|H280026570
-280026570:lI101|H280026580
-280026580:lI114|H280026590
-280026590:lI108|N
-2800265A0:t3:AA:supervisor,AB:handle_info,I2
-2800265C0:t2:A5:error,AF:already_present
-2800265D8:t2:AC:errorContext,A10:child_terminated
-2800265F0:Mf0:H280010188:
-280026608:t2:AA:supervisor,A10:child_terminated
-280026620:t4:AC:error_logger,A6:domain,A10:logger_formatter,A9:report_cb
-280026648:Mf4:H280026620:H2800266C0,H280026680,H280026728,H280026858
-280026680:lA3:otp|H280026690
-280026690:lA4:sasl|N
-2800266A0:t3:A3:tag,A4:type,A9:report_cb
-2800266C0:Mf3:H2800266A0:AC:error_report,A11:supervisor_report,H2800266F0
-2800266F0:E1C:g3F3CnN1cGVydmlzb3J3CmZvcm1hdF9sb2dhAQ==
-280026718:t1:A5:title
-280026728:Mf1:H280026718:H280026748
-280026748:lI83|H280026758
-280026758:lI85|H280026768
-280026768:lI80|H280026778
-280026778:lI69|H280026788
-280026788:lI82|H280026798
-280026798:lI86|H2800267A8
-2800267A8:lI73|H2800267B8
-2800267B8:lI83|H2800267C8
-2800267C8:lI79|H2800267D8
-2800267D8:lI82|H2800267E8
-2800267E8:lI32|H2800267F8
-2800267F8:lI82|H280026808
-280026808:lI69|H280026818
-280026818:lI80|H280026828
-280026828:lI79|H280026838
-280026838:lI82|H280026848
-280026848:lI84|N
-280026858:E1C:g3F3CnN1cGVydmlzb3J3CmZvcm1hdF9sb2dhAg==
-280026880:t3:A4:line,A4:file,A3:mfa
-2800268A0:Mf3:H280026880:I742,H2800268D0,H2800269B0
-2800268D0:lI115|H2800268E0
-2800268E0:lI117|H2800268F0
-2800268F0:lI112|H280026900
-280026900:lI101|H280026910
-280026910:lI114|H280026920
-280026920:lI118|H280026930
-280026930:lI105|H280026940
-280026940:lI115|H280026950
-280026950:lI111|H280026960
-280026960:lI114|H280026970
-280026970:lI46|H280026980
-280026980:lI101|H280026990
-280026990:lI114|H2800269A0
-2800269A0:lI108|N
-2800269B0:t3:AA:supervisor,AA:do_restart,I3
-2800269D0:t3:A4:line,A4:file,A3:mfa
-2800269F0:Mf3:H2800269D0:I754,H280026A20,H280026B00
-280026A20:lI115|H280026A30
-280026A30:lI117|H280026A40
-280026A40:lI112|H280026A50
-280026A50:lI101|H280026A60
-280026A60:lI114|H280026A70
-280026A70:lI118|H280026A80
-280026A80:lI105|H280026A90
-280026A90:lI115|H280026AA0
-280026AA0:lI111|H280026AB0
-280026AB0:lI114|H280026AC0
-280026AC0:lI46|H280026AD0
-280026AD0:lI101|H280026AE0
-280026AE0:lI114|H280026AF0
-280026AF0:lI108|N
-280026B00:t3:AA:supervisor,AA:do_restart,I3
-280026B20:t3:A4:line,A4:file,A3:mfa
-280026B40:Mf3:H280026B20:I757,H280026B70,H280026C50
-280026B70:lI115|H280026B80
-280026B80:lI117|H280026B90
-280026B90:lI112|H280026BA0
-280026BA0:lI101|H280026BB0
-280026BB0:lI114|H280026BC0
-280026BC0:lI118|H280026BD0
-280026BD0:lI105|H280026BE0
-280026BE0:lI115|H280026BF0
-280026BF0:lI111|H280026C00
-280026C00:lI114|H280026C10
-280026C10:lI46|H280026C20
-280026C20:lI101|H280026C30
-280026C30:lI114|H280026C40
-280026C40:lI108|N
-280026C50:t3:AA:supervisor,AA:do_restart,I3
-280026C70:t2:A6:reason,A1D:reached_max_restart_intensity
-280026C88:t2:AC:errorContext,A8:shutdown
-280026CA0:t2:AA:supervisor,A8:shutdown
-280026CB8:t3:A4:line,A4:file,A3:mfa
-280026CD8:Mf3:H280026CB8:I811,H280026D08,H280026DE8
-280026D08:lI115|H280026D18
-280026D18:lI117|H280026D28
-280026D28:lI112|H280026D38
-280026D38:lI101|H280026D48
-280026D48:lI114|H280026D58
-280026D58:lI118|H280026D68
-280026D68:lI105|H280026D78
-280026D78:lI115|H280026D88
-280026D88:lI111|H280026D98
-280026D98:lI114|H280026DA8
-280026DA8:lI46|H280026DB8
-280026DB8:lI101|H280026DC8
-280026DC8:lI114|H280026DD8
-280026DD8:lI108|N
-280026DE8:t3:AA:supervisor,A7:restart,I2
-280026E08:t2:AC:errorContext,AB:start_error
-280026E20:t2:AA:supervisor,AB:start_error
-280026E38:t3:A4:line,A4:file,A3:mfa
-280026E58:Mf3:H280026E38:I838,H280026E88,H280026F68
-280026E88:lI115|H280026E98
-280026E98:lI117|H280026EA8
-280026EA8:lI112|H280026EB8
-280026EB8:lI101|H280026EC8
-280026EC8:lI114|H280026ED8
-280026ED8:lI118|H280026EE8
-280026EE8:lI105|H280026EF8
-280026EF8:lI115|H280026F08
-280026F08:lI111|H280026F18
-280026F18:lI114|H280026F28
-280026F28:lI46|H280026F38
-280026F38:lI101|H280026F48
-280026F48:lI114|H280026F58
-280026F58:lI108|N
-280026F68:t3:AA:supervisor,A7:restart,I3
-280026F88:t3:A4:line,A4:file,A3:mfa
-280026FA8:Mf3:H280026F88:I852,H280026FD8,H2800270B8
-280026FD8:lI115|H280026FE8
-280026FE8:lI117|H280026FF8
-280026FF8:lI112|H280027008
-280027008:lI101|H280027018
-280027018:lI114|H280027028
-280027028:lI118|H280027038
-280027038:lI105|H280027048
-280027048:lI115|H280027058
-280027058:lI111|H280027068
-280027068:lI114|H280027078
-280027078:lI46|H280027088
-280027088:lI101|H280027098
-280027098:lI114|H2800270A8
-2800270A8:lI108|N
-2800270B8:t3:AA:supervisor,A7:restart,I3
-2800270D8:t2:AA:restarting,A9:undefined
-2800270F0:t2:AC:errorContext,AE:shutdown_error
-280027108:t2:AA:supervisor,AE:shutdown_error
-280027120:t3:A4:line,A4:file,A3:mfa
-280027140:Mf3:H280027120:I911,H280027170,H280027250
-280027170:lI115|H280027180
-280027180:lI117|H280027190
-280027190:lI112|H2800271A0
-2800271A0:lI101|H2800271B0
-2800271B0:lI114|H2800271C0
-2800271C0:lI118|H2800271D0
-2800271D0:lI105|H2800271E0
-2800271E0:lI115|H2800271F0
-2800271F0:lI111|H280027200
-280027200:lI114|H280027210
-280027210:lI46|H280027220
-280027220:lI101|H280027230
-280027230:lI114|H280027240
-280027240:lI108|N
-280027250:t3:AA:supervisor,AC:do_terminate,I2
-280027270:t2:N,H280027288
-280027288:Mf0:H280010188:
-2800272A0:t4:A8:strategy,A6:period,A9:intensity,AD:auto_shutdown
-2800272C8:Mf4:H2800272A0:AB:one_for_one,I5,I1,A5:never
-280027300:t2:A7:restart,A4:type
-280027318:Mf2:H280027300:A9:permanent,A6:worker
-280027340:t2:AF:bad_combination,H280027358
-280027358:lH280027378|H280027368
-280027368:lH280027390|N
-280027378:t2:AD:auto_shutdown,A5:never
-280027390:t2:AB:significant,A4:true
-2800273A8:t2:AF:bad_combination,H2800273C0
-2800273C0:lH2800273E0|H2800273D0
-2800273D0:lH2800273F8|N
-2800273E0:t2:A7:restart,A9:permanent
-2800273F8:t2:AB:significant,A4:true
-280027410:t2:AA:supervisor,A8:progress
-280027428:t4:AC:error_logger,A6:domain,A10:logger_formatter,A9:report_cb
-280027450:Mf4:H280027428:H2800274C8,H280027488,H280027530,H280027640
-280027488:lA3:otp|H280027498
-280027498:lA4:sasl|N
-2800274A8:t3:A3:tag,A4:type,A9:report_cb
-2800274C8:Mf3:H2800274A8:AB:info_report,A8:progress,H2800274F8
-2800274F8:E1C:g3F3CnN1cGVydmlzb3J3CmZvcm1hdF9sb2dhAQ==
-280027520:t1:A5:title
-280027530:Mf1:H280027520:H280027550
-280027550:lI80|H280027560
-280027560:lI82|H280027570
-280027570:lI79|H280027580
-280027580:lI71|H280027590
-280027590:lI82|H2800275A0
-2800275A0:lI69|H2800275B0
-2800275B0:lI83|H2800275C0
-2800275C0:lI83|H2800275D0
-2800275D0:lI32|H2800275E0
-2800275E0:lI82|H2800275F0
-2800275F0:lI69|H280027600
-280027600:lI80|H280027610
-280027610:lI79|H280027620
-280027620:lI82|H280027630
-280027630:lI84|N
-280027640:E1C:g3F3CnN1cGVydmlzb3J3CmZvcm1hdF9sb2dhAg==
-280027668:t3:A4:line,A4:file,A3:mfa
-280027688:Mf3:H280027668:I1563,H2800276B8,H280027798
-2800276B8:lI115|H2800276C8
-2800276C8:lI117|H2800276D8
-2800276D8:lI112|H2800276E8
-2800276E8:lI101|H2800276F8
-2800276F8:lI114|H280027708
-280027708:lI118|H280027718
-280027718:lI105|H280027728
-280027728:lI115|H280027738
-280027738:lI111|H280027748
-280027748:lI114|H280027758
-280027758:lI46|H280027768
-280027768:lI101|H280027778
-280027778:lI114|H280027788
-280027788:lI108|N
-280027798:t3:AA:supervisor,AF:report_progress,I2
-2800277B8:t4:AB:chars_limit,A5:depth,A8:encoding,AB:single_line
-2800277E0:Mf4:H2800277B8:A9:unlimited,A9:unlimited,A4:utf8,A5:false
-280027818:lI83|H280027828
-280027828:lI116|H280027838
-280027838:lI97|H280027848
-280027848:lI114|H280027858
-280027858:lI116|H280027868
-280027868:lI101|H280027878
-280027878:lI100|H280027888
-280027888:lI58|N
-280027898:lI46|N
-2800278A8:lI83|H2800278B8
-2800278B8:lI117|H2800278C8
-2800278C8:lI112|H2800278D8
-2800278D8:lI101|H2800278E8
-2800278E8:lI114|H2800278F8
-2800278F8:lI118|H280027908
-280027908:lI105|H280027918
-280027918:lI115|H280027928
-280027928:lI111|H280027938
-280027938:lI114|H280027948
-280027948:lI58|H280027958
-280027958:lI32|N
-280027968:lH280027978|N
-280027978:lI46|N
-280027988:lI46|H280027998
-280027998:lI32|H2800279A8
-2800279A8:lI82|H2800279B8
-2800279B8:lI101|H2800279C8
-2800279C8:lI97|H2800279D8
-2800279D8:lI115|H2800279E8
-2800279E8:lI111|H2800279F8
-2800279F8:lI110|H280027A08
-280027A08:lI58|H280027A18
-280027A18:lI32|N
-280027A28:lI46|H280027A38
-280027A38:lI32|H280027A48
-280027A48:lI67|H280027A58
-280027A58:lI111|H280027A68
-280027A68:lI110|H280027A78
-280027A78:lI116|H280027A88
-280027A88:lI101|H280027A98
-280027A98:lI120|H280027AA8
-280027AA8:lI116|H280027AB8
-280027AB8:lI58|H280027AC8
-280027AC8:lI32|N
-280027AD8:lI79|H280027AE8
-280027AE8:lI102|H280027AF8
-280027AF8:lI102|H280027B08
-280027B08:lI101|H280027B18
-280027B18:lI110|H280027B28
-280027B28:lI100|H280027B38
-280027B38:lI101|H280027B48
-280027B48:lI114|H280027B58
-280027B58:lI58|N
-280027B68:lH280027B78|N
-280027B78:lI126|H280027B88
-280027B88:lI110|N
-280027B98:lI32|H280027BA8
-280027BA8:lI32|H280027BB8
-280027BB8:lI32|H280027BC8
-280027BC8:lI32|H280027BD8
-280027BD8:lI115|H280027BE8
-280027BE8:lI116|H280027BF8
-280027BF8:lI97|H280027C08
-280027C08:lI114|H280027C18
-280027C18:lI116|H280027C28
-280027C28:lI101|H280027C38
-280027C38:lI100|H280027C48
-280027C48:lI58|H280027C58
-280027C58:lI32|N
-280027C68:lI126|H280027C78
-280027C78:lI110|N
-280027C88:lI32|H280027C98
-280027C98:lI32|H280027CA8
-280027CA8:lI32|H280027CB8
-280027CB8:lI32|H280027CC8
-280027CC8:lI115|H280027CD8
-280027CD8:lI117|H280027CE8
-280027CE8:lI112|H280027CF8
-280027CF8:lI101|H280027D08
-280027D08:lI114|H280027D18
-280027D18:lI118|H280027D28
-280027D28:lI105|H280027D38
-280027D38:lI115|H280027D48
-280027D48:lI111|H280027D58
-280027D58:lI114|H280027D68
-280027D68:lI58|H280027D78
-280027D78:lI32|N
-280027D88:lI32|H280027D98
-280027D98:lI32|H280027DA8
-280027DA8:lI32|H280027DB8
-280027DB8:lI32|H280027DC8
-280027DC8:lI111|H280027DD8
-280027DD8:lI102|H280027DE8
-280027DE8:lI102|H280027DF8
-280027DF8:lI101|H280027E08
-280027E08:lI110|H280027E18
-280027E18:lI100|H280027E28
-280027E28:lI101|H280027E38
-280027E38:lI114|H280027E48
-280027E48:lI58|H280027E58
-280027E58:lI32|N
-280027E68:lI32|H280027E78
-280027E78:lI32|H280027E88
-280027E88:lI32|H280027E98
-280027E98:lI32|H280027EA8
-280027EA8:lI114|H280027EB8
-280027EB8:lI101|H280027EC8
-280027EC8:lI97|H280027ED8
-280027ED8:lI115|H280027EE8
-280027EE8:lI111|H280027EF8
-280027EF8:lI110|H280027F08
-280027F08:lI58|H280027F18
-280027F18:lI32|N
-280027F28:lI32|H280027F38
-280027F38:lI32|H280027F48
-280027F48:lI32|H280027F58
-280027F58:lI32|H280027F68
-280027F68:lI101|H280027F78
-280027F78:lI114|H280027F88
-280027F88:lI114|H280027F98
-280027F98:lI111|H280027FA8
-280027FA8:lI114|H280027FB8
-280027FB8:lI67|H280027FC8
-280027FC8:lI111|H280027FD8
-280027FD8:lI110|H280027FE8
-280027FE8:lI116|H280027FF8
-280027FF8:lI101|H280028008
-280028008:lI120|H280028018
-280028018:lI116|H280028028
-280028028:lI58|H280028038
-280028038:lI32|N
-280028048:lI32|H280028058
-280028058:lI126|H280028068
-280028068:lI115|H280028078
-280028078:lI32|H280028088
-280028088:lI105|H280028098
-280028098:lI100|H2800280A8
-2800280A8:lI61|H2800280B8
-2800280B8:lI126|H2800280C8
-2800280C8:lI119|H2800280D8
-2800280D8:lI44|H2800280E8
-2800280E8:lI110|H2800280F8
-2800280F8:lI98|H280028108
-280028108:lI95|H280028118
-280028118:lI99|H280028128
-280028128:lI104|H280028138
-280028138:lI105|H280028148
-280028148:lI108|H280028158
-280028158:lI100|H280028168
-280028168:lI114|H280028178
-280028178:lI101|H280028188
-280028188:lI110|H280028198
-280028198:lI61|H2800281A8
-2800281A8:lI126|H2800281B8
-2800281B8:lI119|H2800281C8
-2800281C8:lI46|N
-2800281D8:lI32|H2800281E8
-2800281E8:lI126|H2800281F8
-2800281F8:lI115|H280028208
-280028208:lI32|H280028218
-280028218:lI105|H280028228
-280028228:lI100|H280028238
-280028238:lI61|H280028248
-280028248:lI126|H280028258
-280028258:lI119|H280028268
-280028268:lI44|H280028278
-280028278:lI112|H280028288
-280028288:lI105|H280028298
-280028298:lI100|H2800282A8
-2800282A8:lI61|H2800282B8
-2800282B8:lI126|H2800282C8
-2800282C8:lI119|H2800282D8
-2800282D8:lI46|N
-2800282E8:lI112|N
-2800282F8:lI80|N
-280028308:lI48|N
-280028318:lI116|N
-280028328:t2:A7:mapsets,H280028340
-280028340:Mf0:H280010188:
-280028358:t2:A4:maps,H280028370
-280028370:Mf0:H280010188:
-280028388:lH280028398|N
-280028398:t2:A4:init,I1
-2800283B0:t3:A4:line,A4:file,A3:mfa
-2800283D0:Mf3:H2800283B0:I1026,H280028400,H2800284E0
-280028400:lI115|H280028410
-280028410:lI117|H280028420
-280028420:lI112|H280028430
-280028430:lI101|H280028440
-280028440:lI114|H280028450
-280028450:lI118|H280028460
-280028460:lI105|H280028470
-280028470:lI115|H280028480
-280028480:lI111|H280028490
-280028490:lI114|H2800284A0
-2800284A0:lI46|H2800284B0
-2800284B0:lI101|H2800284C0
-2800284C0:lI114|H2800284D0
-2800284D0:lI108|N
-2800284E0:t3:AA:supervisor,A1A:terminate_dynamic_children,I1
-280028500:t3:A4:line,A4:file,A3:mfa
-280028520:Mf3:H280028500:I398,H280028550,H280028630
-280028550:lI115|H280028560
-280028560:lI117|H280028570
-280028570:lI112|H280028580
-280028580:lI101|H280028590
-280028590:lI114|H2800285A0
-2800285A0:lI118|H2800285B0
-2800285B0:lI105|H2800285C0
-2800285C0:lI115|H2800285D0
-2800285D0:lI111|H2800285E0
-2800285E0:lI114|H2800285F0
-2800285F0:lI46|H280028600
-280028600:lI101|H280028610
-280028610:lI114|H280028620
-280028620:lI108|N
-280028630:t3:AA:supervisor,AE:start_children,I2
-280028650:lI108|N
-280028660:lI114|H280028650
-280028670:lI101|H280028660
-280028680:lI46|H280028670
-280028690:lI114|H280028680
-2800286A0:lI111|H280028690
-2800286B0:lI115|H2800286A0
-2800286C0:lI105|H2800286B0
-2800286D0:lI118|H2800286C0
-2800286E0:lI114|H2800286D0
-2800286F0:lI101|H2800286E0
-280028700:lI112|H2800286F0
-280028710:lI117|H280028700
-280028720:lI115|H280028710
-280028730:E4E:g3AAAABMAnoLCyY6L4XTypzaMLAOL78AAAACAAAAAHcKc3VwZXJ2aXNvcmECYgPQWFlYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-280028758:E4E:g3AAAABMA3oLCyY6L4XTypzaMLAOL78AAAADAAAAAHcKc3VwZXJ2aXNvcmEDYgPQWFlYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-280028780:t2:A5:label,A6:report
-280028798:E4E:g3AAAABMAnoLCyY6L4XTypzaMLAOL78AAAAEAAAAAHcKc3VwZXJ2aXNvcmEEYgPQWFlYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-2800287C0:E4E:g3AAAABMAnoLCyY6L4XTypzaMLAOL78AAAAIAAAAAHcKc3VwZXJ2aXNvcmEIYgPQWFlYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-2800287E8:t4:A8:strategy,A6:period,A9:intensity,AD:auto_shutdown
-280028810:t7:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules,AB:significant
-280028850:E4E:g3AAAABMAXoLCyY6L4XTypzaMLAOL78AAAALAAAAAHcKc3VwZXJ2aXNvcmELYgPQWFlYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-280028878:t4:AB:chars_limit,A5:depth,A8:encoding,AB:single_line
-280042AD8:lA5:flush|N
-280042AE8:t2:A5:error,A7:timeout
-280042B00:lA4:link|H280042B10
-280042B10:lA7:monitor|N
-280042B20:lI65|H280042B30
-280042B30:lI114|H280042B40
-280042B40:lI103|H280042B50
-280042B50:lI117|H280042B60
-280042B60:lI109|H280042B70
-280042B70:lI101|H280042B80
-280042B80:lI110|H280042B90
-280042B90:lI116|H280042BA0
-280042BA0:lI95|H280042BB0
-280042BB0:lI95|N
-280042BC0:t3:A8:proc_lib,A6:init_p,I5
-280042BE0:t3:A9:gen_event,A7:init_it,I6
-280042C00:Mf0:H280010188:
-280042C18:t2:A8:proc_lib,A5:crash
-280042C30:t4:AC:error_logger,A6:domain,A10:logger_formatter,A9:report_cb
-280042C58:Mf4:H280042C30:H280042CC8,H280042C90,H280042D00,H280042DE0
-280042C90:lA3:otp|H280042CA0
-280042CA0:lA4:sasl|N
-280042CB0:t2:A3:tag,A4:type
-280042CC8:Mf2:H280042CB0:AC:error_report,AC:crash_report
-280042CF0:t1:A5:title
-280042D00:Mf1:H280042CF0:H280042D20
-280042D20:lI67|H280042D30
-280042D30:lI82|H280042D40
-280042D40:lI65|H280042D50
-280042D50:lI83|H280042D60
-280042D60:lI72|H280042D70
-280042D70:lI32|H280042D80
-280042D80:lI82|H280042D90
-280042D90:lI69|H280042DA0
-280042DA0:lI80|H280042DB0
-280042DB0:lI79|H280042DC0
-280042DC0:lI82|H280042DD0
-280042DD0:lI84|N
-280042DE0:E19:g3F3CHByb2NfbGlidwlyZXBvcnRfY2JhAg==
-280042E08:t3:A4:line,A4:file,A3:mfa
-280042E28:Mf3:H280042E08:I584,H280042E58,H280042F18
-280042E58:lI112|H280042E68
-280042E68:lI114|H280042E78
-280042E78:lI111|H280042E88
-280042E88:lI99|H280042E98
-280042E98:lI95|H280042EA8
-280042EA8:lI108|H280042EB8
-280042EB8:lI105|H280042EC8
-280042EC8:lI98|H280042ED8
-280042ED8:lI46|H280042EE8
-280042EE8:lI101|H280042EF8
-280042EF8:lI114|H280042F08
-280042F08:lI108|N
-280042F18:t3:A8:proc_lib,AC:crash_report,I4
-280042F38:t2:A9:ancestors,N
-280042F50:t2:AA:dictionary,N
-280042F68:t2:A9:trap_exit,A5:false
-280042F80:t2:AF:registered_name,N
-280042F98:t4:AB:chars_limit,A5:depth,A8:encoding,AB:single_line
-280042FC0:Mf4:H280042F98:A9:unlimited,A9:unlimited,A4:utf8,A5:false
-280042FF8:lI32|H280043008
-280043008:lI32|N
-280043018:lI32|N
-280043028:lI126|H280043038
-280043038:lI116|H280043048
-280043048:lI115|N
-280043058:lI126|H280043068
-280043068:lI115|H280043078
-280043078:lI99|H280043088
-280043088:lI114|H280043098
-280043098:lI97|H2800430A8
-2800430A8:lI115|H2800430B8
-2800430B8:lI104|H2800430C8
-2800430C8:lI101|H2800430D8
-2800430D8:lI114|H2800430E8
-2800430E8:lI58|N
-2800430F8:lI48|N
-280043108:lI110|H280043118
-280043118:lI101|H280043128
-280043128:lI105|H280043138
-280043138:lI103|H280043148
-280043148:lI104|H280043158
-280043158:lI98|H280043168
-280043168:lI111|H280043178
-280043178:lI117|H280043188
-280043188:lI114|H280043198
-280043198:lI115|H2800431A8
-2800431A8:lI58|H2800431B8
-2800431B8:lI32|H2800431C8
-2800431C8:lI126|N
-2800431D8:lI110|H2800431E8
-2800431E8:lI101|H2800431F8
-2800431F8:lI105|H280043208
-280043208:lI103|H280043218
-280043218:lI104|H280043228
-280043228:lI98|H280043238
-280043238:lI111|H280043248
-280043248:lI117|H280043258
-280043258:lI114|H280043268
-280043268:lI115|H280043278
-280043278:lI58|N
-280043288:lI110|H280043298
-280043298:lI101|H2800432A8
-2800432A8:lI105|H2800432B8
-2800432B8:lI103|H2800432C8
-2800432C8:lI104|H2800432D8
-2800432D8:lI98|H2800432E8
-2800432E8:lI111|H2800432F8
-2800432F8:lI117|H280043308
-280043308:lI114|H280043318
-280043318:lI58|N
-280043328:lI58|H280043338
-280043338:lI32|N
-280043348:lI32|H280043358
-280043358:lI32|H280043368
-280043368:lI32|H280043378
-280043378:lI32|N
-280043388:lI105|H280043398
-280043398:lI110|H2800433A8
-2800433A8:lI105|H2800433B8
-2800433B8:lI116|H2800433C8
-2800433C8:lI105|H2800433D8
-2800433D8:lI97|H2800433E8
-2800433E8:lI108|H2800433F8
-2800433F8:lI32|H280043408
-280043408:lI99|H280043418
-280043418:lI97|H280043428
-280043428:lI108|H280043438
-280043438:lI108|H280043448
-280043448:lI58|H280043458
-280043458:lI32|N
-280043468:lI112|N
-280043478:lI80|N
-280043488:lI59|H280043498
-280043498:lI32|N
-2800434A8:lI44|H2800434B8
-2800434B8:lI32|N
-2800434C8:lI116|N
-2800434D8:lI10|N
-2800434E8:lI108|N
-2800434F8:lI114|H2800434E8
-280043508:lI101|H2800434F8
-280043518:lI46|H280043508
-280043528:lI98|H280043518
-280043538:lI105|H280043528
-280043548:lI108|H280043538
-280043558:lI95|H280043548
-280043568:lI99|H280043558
-280043578:lI111|H280043568
-280043588:lI114|H280043578
-280043598:lI112|H280043588
-2800435A8:t2:A5:label,A6:report
-2800435C0:t4:AB:chars_limit,A5:depth,A8:encoding,AB:single_line
-2800435E8:E4C:g3AAAABKAWgua8tdqRXVh3ClT3T2+hwAAAAAAAAAAHcIcHJvY19saWJhAGIDQXNeWHcNbm9ub2RlQG5vaG9zdAAAAAAAAAAAAAAAAA==
-280043610:E4C:g3AAAABKA2gua8tdqRXVh3ClT3T2+hwAAAABAAAAAHcIcHJvY19saWJhAWIDQXNeWHcNbm9ub2RlQG5vaG9zdAAAAAAAAAAAAAAAAA==
-280043650:t2:A5:local,AA:kernel_sup
-280043668:t3:A8:strategy,A6:period,A9:intensity
-280043688:Mf3:H280043668:AB:one_for_one,I3600,I4
-2800436B8:lH280043700|N
-2800436C8:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-280043700:Mf6:H2800436C8:AD:file_server_2,A9:permanent,I2000,H280043788,A6:worker,H280043748
-280043748:lA4:file|H280043758
-280043758:lAB:file_server|H280043768
-280043768:lAE:file_io_server|H280043778
-280043778:lA9:prim_file|N
-280043788:t3:AB:file_server,AA:start_link,N
-2800437A8:lH2800437B8|N
-2800437B8:lI109|H2800437C8
-2800437C8:lI105|H2800437D8
-2800437D8:lI110|H2800437E8
-2800437E8:lI105|H2800437F8
-2800437F8:lI109|H280043808
-280043808:lI97|H280043818
-280043818:lI108|N
-280043828:lH2800438B0|H280043838
-280043838:lH280043960|H280043848
-280043848:lH280043A10|H280043858
-280043858:lH280043AC0|H280043868
-280043868:lH280043B70|N
-280043878:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-2800438B0:Mf6:H280043878:A4:user,A9:temporary,I2000,H280043908,AA:supervisor,H2800438F8
-2800438F8:lA8:user_sup|N
-280043908:t3:A8:user_sup,A5:start,N
-280043928:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-280043960:Mf6:H280043928:AA:logger_sup,A9:permanent,A8:infinity,H2800439B8,AA:supervisor,H2800439A8
-2800439A8:lAA:logger_sup|N
-2800439B8:t3:AA:logger_sup,AA:start_link,N
-2800439D8:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-280043A10:Mf6:H2800439D8:AD:kernel_config,A9:permanent,I2000,H280043A68,A6:worker,H280043A58
-280043A58:lAD:kernel_config|N
-280043A68:t3:AD:kernel_config,AA:start_link,N
-280043A88:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-280043AC0:Mf6:H280043A88:AB:kernel_refc,A9:permanent,I2000,H280043B18,A6:worker,H280043B08
-280043B08:lAB:kernel_refc|N
-280043B18:t3:AB:kernel_refc,AA:start_link,N
-280043B38:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-280043B70:Mf6:H280043B38:AF:kernel_safe_sup,A9:permanent,A8:infinity,H280043BC8,AA:supervisor,H280043BB8
-280043BB8:lA6:kernel|N
-280043BC8:t3:AA:supervisor,AA:start_link,H280043BE8
-280043BE8:lH280043C18|H280043BF8
-280043BF8:lA6:kernel|H280043C08
-280043C08:lA4:safe|N
-280043C18:t2:A5:local,AF:kernel_safe_sup
-280043C30:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-280043C68:Mf6:H280043C30:A7:on_load,A9:transient,I2000,H280043CC0,A6:worker,H280043CB0
-280043CB0:lA6:kernel|N
-280043CC0:t3:A8:proc_lib,AA:start_link,H280043CE0
-280043CE0:lA6:kernel|H280043CF0
-280043CF0:lA4:init|H280043D00
-280043D00:lH280043D10|N
-280043D10:lA7:on_load|N
-280043D20:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-280043D58:Mf6:H280043D20:AE:standard_error,A9:temporary,I2000,H280043DB0,AA:supervisor,H280043DA0
-280043DA0:lAE:standard_error|N
-280043DB0:t3:AE:standard_error,AA:start_link,N
-280043DD0:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-280043E08:Mf6:H280043DD0:AB:code_server,A9:permanent,I2000,H280043E60,A6:worker,H280043E50
-280043E50:lA4:code|N
-280043E60:t3:A4:code,AA:start_link,N
-280043E80:t3:A8:strategy,A6:period,A9:intensity
-280043EA0:Mf3:H280043E80:AB:one_for_all,I1,I0
-280043ED0:t2:A2:ok,A5:false
-280043EE8:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-280043F20:Mf6:H280043EE8:A11:erl_signal_server,A9:permanent,I2000,H280043F68,A6:worker,A7:dynamic
-280043F68:t3:A9:gen_event,AA:start_link,H280043F88
-280043F88:lH280043F98|N
-280043F98:t2:A5:local,A11:erl_signal_server
-280043FB0:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-280043FE8:Mf6:H280043FB0:A7:inet_db,A9:permanent,I2000,H280044040,A6:worker,H280044030
-280044030:lA7:inet_db|N
-280044040:t3:A7:inet_db,AA:start_link,N
-280044060:lH2800440B8|H280044070
-280044070:lH280044168|N
-280044080:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-2800440B8:Mf6:H280044080:A7:net_sup,A9:permanent,A8:infinity,H280044110,AA:supervisor,H280044100
-280044100:lA10:erl_distribution|N
-280044110:t3:A10:erl_distribution,AA:start_link,N
-280044130:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-280044168:Mf6:H280044130:AC:global_group,A9:permanent,I2000,H2800441C0,A6:worker,H2800441B0
-2800441B0:lAC:global_group|N
-2800441C0:t3:AC:global_group,AA:start_link,N
-2800441E0:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-280044218:Mf6:H2800441E0:A12:global_name_server,A9:permanent,I2000,H280044270,A6:worker,H280044260
-280044260:lA6:global|N
-280044270:t3:A6:global,AA:start_link,N
-280044290:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-2800442C8:Mf6:H280044290:A3:rex,A9:permanent,I2000,H280044320,A6:worker,H280044310
-280044310:lA3:rpc|N
-280044320:t3:A3:rpc,AA:start_link,N
-280044340:lH280044388|N
-280044350:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-280044388:Mf6:H280044350:A7:dist_ac,A9:permanent,I2000,H2800443E0,A6:worker,H2800443D0
-2800443D0:lA7:dist_ac|N
-2800443E0:t3:A7:dist_ac,AA:start_link,N
-280044400:t2:A2:ok,A4:true
-280044418:Mf0:H280010188:
-280044430:lAF:erl_boot_server|N
-280044440:lH280044498|H280044450
-280044450:lH280044548|N
-280044460:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-280044498:Mf6:H280044460:AF:disk_log_server,A9:permanent,I2000,H2800444F0,A6:worker,H2800444E0
-2800444E0:lAF:disk_log_server|N
-2800444F0:t3:AF:disk_log_server,AA:start_link,N
-280044510:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-280044548:Mf6:H280044510:AC:disk_log_sup,A9:permanent,I1000,H2800445A0,AA:supervisor,H280044590
-280044590:lAC:disk_log_sup|N
-2800445A0:t3:AC:disk_log_sup,AA:start_link,N
-2800445C0:lH280044608|N
-2800445D0:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-280044608:Mf6:H2800445D0:A2:pg,A9:permanent,I1000,H280044660,A6:worker,H280044650
-280044650:lA2:pg|N
-280044660:t3:A2:pg,AA:start_link,N
-280044680:lH2800446C8|N
-280044690:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-2800446C8:Mf6:H280044690:AC:timer_server,A9:permanent,I1000,H280044720,A6:worker,H280044710
-280044710:lA5:timer|N
-280044720:t3:A5:timer,AA:start_link,N
-280044740:lH280044788|N
-280044750:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-280044788:Mf6:H280044750:A12:erl_compile_server,A9:permanent,I2000,H2800447E0,A6:worker,H2800447D0
-2800447D0:lA12:erl_compile_server|N
-2800447E0:t3:A12:erl_compile_server,AA:start_link,N
-280044800:lI68|H280044810
-280044810:lI105|H280044820
-280044820:lI115|H280044830
-280044830:lI116|H280044840
-280044840:lI114|H280044850
-280044850:lI105|H280044860
-280044860:lI98|H280044870
-280044870:lI117|H280044880
-280044880:lI116|H280044890
-280044890:lI105|H2800448A0
-2800448A0:lI111|H2800448B0
-2800448B0:lI110|H2800448C0
-2800448C0:lI32|H2800448D0
-2800448D0:lI110|H2800448E0
-2800448E0:lI111|H2800448F0
-2800448F0:lI116|H280044900
-280044900:lI32|H280044910
-280044910:lI99|H280044920
-280044920:lI104|H280044930
-280044930:lI97|H280044940
-280044940:lI110|H280044950
-280044950:lI103|H280044960
-280044960:lI101|H280044970
-280044970:lI100|H280044980
-280044980:lI58|H280044990
-280044990:lI32|H2800449A0
-2800449A0:lI78|H2800449B0
-2800449B0:lI111|H2800449C0
-2800449C0:lI116|H2800449D0
-2800449D0:lI32|H2800449E0
-2800449E0:lI97|H2800449F0
-2800449F0:lI108|H280044A00
-280044A00:lI108|H280044A10
-280044A10:lI111|H280044A20
-280044A20:lI119|H280044A30
-280044A30:lI101|H280044A40
-280044A40:lI100|H280044A50
-280044A50:lI32|H280044A60
-280044A60:lI116|H280044A70
-280044A70:lI111|H280044A80
-280044A80:lI32|H280044A90
-280044A90:lI114|H280044AA0
-280044AA0:lI101|H280044AB0
-280044AB0:lI109|H280044AC0
-280044AC0:lI111|H280044AD0
-280044AD0:lI118|H280044AE0
-280044AE0:lI101|H280044AF0
-280044AF0:lI32|H280044B00
-280044B00:lI116|H280044B10
-280044B10:lI104|H280044B20
-280044B20:lI101|H280044B30
-280044B30:lI32|H280044B40
-280044B40:lI100|H280044B50
-280044B50:lI105|H280044B60
-280044B60:lI115|H280044B70
-280044B70:lI116|H280044B80
-280044B80:lI114|H280044B90
-280044B90:lI105|H280044BA0
-280044BA0:lI98|H280044BB0
-280044BB0:lI117|H280044BC0
-280044BC0:lI116|H280044BD0
-280044BD0:lI105|H280044BE0
-280044BE0:lI111|H280044BF0
-280044BF0:lI110|H280044C00
-280044C00:lI32|H280044C10
-280044C10:lI112|H280044C20
-280044C20:lI97|H280044C30
-280044C30:lI114|H280044C40
-280044C40:lI97|H280044C50
-280044C50:lI109|H280044C60
-280044C60:lI101|H280044C70
-280044C70:lI116|H280044C80
-280044C80:lI101|H280044C90
-280044C90:lI114|H280044CA0
-280044CA0:lI46|N
-280044CB0:t2:A5:error,H280044CC8
-280044CC8:t2:A18:distribution_not_changed,H280044CE0
-280044CE0:lI78|H280044CF0
-280044CF0:lI111|H280044D00
-280044D00:lI116|H280044D10
-280044D10:lI32|H280044D20
-280044D20:lI97|H280044D30
-280044D30:lI108|H280044D40
-280044D40:lI108|H280044D50
-280044D50:lI111|H280044D60
-280044D60:lI119|H280044D70
-280044D70:lI101|H280044D80
-280044D80:lI100|H280044D90
-280044D90:lI32|H280044DA0
-280044DA0:lI116|H280044DB0
-280044DB0:lI111|H280044DC0
-280044DC0:lI32|H280044DD0
-280044DD0:lI114|H280044DE0
-280044DE0:lI101|H280044DF0
-280044DF0:lI109|H280044E00
-280044E00:lI111|H280044E10
-280044E10:lI118|H280044E20
-280044E20:lI101|H280044E30
-280044E30:lI32|H280044E40
-280044E40:lI116|H280044E50
-280044E50:lI104|H280044E60
-280044E60:lI101|H280044E70
-280044E70:lI32|H280044E80
-280044E80:lI39|H280044E90
-280044E90:lI100|H280044EA0
-280044EA0:lI105|H280044EB0
-280044EB0:lI115|H280044EC0
-280044EC0:lI116|H280044ED0
-280044ED0:lI114|H280044EE0
-280044EE0:lI105|H280044EF0
-280044EF0:lI98|H280044F00
-280044F00:lI117|H280044F10
-280044F10:lI116|H280044F20
-280044F20:lI101|H280044F30
-280044F30:lI100|H280044F40
-280044F40:lI39|H280044F50
-280044F50:lI32|H280044F60
-280044F60:lI112|H280044F70
-280044F70:lI97|H280044F80
-280044F80:lI114|H280044F90
-280044F90:lI97|H280044FA0
-280044FA0:lI109|H280044FB0
-280044FB0:lI101|H280044FC0
-280044FC0:lI116|H280044FD0
-280044FD0:lI101|H280044FE0
-280044FE0:lI114|N
-280044FF0:lI68|H280045000
-280045000:lI105|H280045010
-280045010:lI115|H280045020
-280045020:lI116|H280045030
-280045030:lI114|H280045040
-280045040:lI105|H280045050
-280045050:lI98|H280045060
-280045060:lI117|H280045070
-280045070:lI116|H280045080
-280045080:lI105|H280045090
-280045090:lI111|H2800450A0
-2800450A0:lI110|H2800450B0
-2800450B0:lI32|H2800450C0
-2800450C0:lI110|H2800450D0
-2800450D0:lI111|H2800450E0
-2800450E0:lI116|H2800450F0
-2800450F0:lI32|H280045100
-280045100:lI99|H280045110
-280045110:lI104|H280045120
-280045120:lI97|H280045130
-280045130:lI110|H280045140
-280045140:lI103|H280045150
-280045150:lI101|H280045160
-280045160:lI100|H280045170
-280045170:lI58|H280045180
-280045180:lI32|H280045190
-280045190:lI78|H2800451A0
-2800451A0:lI111|H2800451B0
-2800451B0:lI116|H2800451C0
-2800451C0:lI32|H2800451D0
-2800451D0:lI97|H2800451E0
-2800451E0:lI108|H2800451F0
-2800451F0:lI108|H280045200
-280045200:lI111|H280045210
-280045210:lI119|H280045220
-280045220:lI101|H280045230
-280045230:lI100|H280045240
-280045240:lI32|H280045250
-280045250:lI116|H280045260
-280045260:lI111|H280045270
-280045270:lI32|H280045280
-280045280:lI97|H280045290
-280045290:lI100|H2800452A0
-2800452A0:lI100|H2800452B0
-2800452B0:lI32|H2800452C0
-2800452C0:lI116|H2800452D0
-2800452D0:lI104|H2800452E0
-2800452E0:lI101|H2800452F0
-2800452F0:lI32|H280045300
-280045300:lI39|H280045310
-280045310:lI100|H280045320
-280045320:lI105|H280045330
-280045330:lI115|H280045340
-280045340:lI116|H280045350
-280045350:lI114|H280045360
-280045360:lI105|H280045370
-280045370:lI98|H280045380
-280045380:lI117|H280045390
-280045390:lI116|H2800453A0
-2800453A0:lI101|H2800453B0
-2800453B0:lI100|H2800453C0
-2800453C0:lI39|H2800453D0
-2800453D0:lI32|H2800453E0
-2800453E0:lI112|H2800453F0
-2800453F0:lI97|H280045400
-280045400:lI114|H280045410
-280045410:lI97|H280045420
-280045420:lI109|H280045430
-280045430:lI101|H280045440
-280045440:lI116|H280045450
-280045450:lI101|H280045460
-280045460:lI114|H280045470
-280045470:lI46|N
-280045480:t2:A5:error,H280045498
-280045498:t2:A18:distribution_not_changed,H2800454B0
-2800454B0:lI78|H2800454C0
-2800454C0:lI111|H2800454D0
-2800454D0:lI116|H2800454E0
-2800454E0:lI32|H2800454F0
-2800454F0:lI97|H280045500
-280045500:lI108|H280045510
-280045510:lI108|H280045520
-280045520:lI111|H280045530
-280045530:lI119|H280045540
-280045540:lI101|H280045550
-280045550:lI100|H280045560
-280045560:lI32|H280045570
-280045570:lI116|H280045580
-280045580:lI111|H280045590
-280045590:lI32|H2800455A0
-2800455A0:lI97|H2800455B0
-2800455B0:lI100|H2800455C0
-2800455C0:lI100|H2800455D0
-2800455D0:lI32|H2800455E0
-2800455E0:lI116|H2800455F0
-2800455F0:lI104|H280045600
-280045600:lI101|H280045610
-280045610:lI32|H280045620
-280045620:lI39|H280045630
-280045630:lI100|H280045640
-280045640:lI105|H280045650
-280045650:lI115|H280045660
-280045660:lI116|H280045670
-280045670:lI114|H280045680
-280045680:lI105|H280045690
-280045690:lI98|H2800456A0
-2800456A0:lI117|H2800456B0
-2800456B0:lI116|H2800456C0
-2800456C0:lI101|H2800456D0
-2800456D0:lI100|H2800456E0
-2800456E0:lI39|H2800456F0
-2800456F0:lI32|H280045700
-280045700:lI112|H280045710
-280045710:lI97|H280045720
-280045720:lI114|H280045730
-280045730:lI97|H280045740
-280045740:lI109|H280045750
-280045750:lI101|H280045760
-280045760:lI116|H280045770
-280045770:lI101|H280045780
-280045780:lI114|N
-280045790:lI108|N
-2800457A0:lI114|H280045790
-2800457B0:lI101|H2800457A0
-2800457C0:lI46|H2800457B0
-2800457D0:lI108|H2800457C0
-2800457E0:lI101|H2800457D0
-2800457F0:lI110|H2800457E0
-280045800:lI114|H2800457F0
-280045810:lI101|H280045800
-280045820:lI107|H280045810
-280045830:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-280046698:lI66|H2800466A8
-2800466A8:lI97|H2800466B8
-2800466B8:lI100|H2800466C8
-2800466C8:lI32|H2800466D8
-2800466D8:lI101|H2800466E8
-2800466E8:lI110|H2800466F8
-2800466F8:lI118|H280046708
-280046708:lI105|H280046718
-280046718:lI114|H280046728
-280046728:lI111|H280046738
-280046738:lI110|H280046748
-280046748:lI109|H280046758
-280046758:lI101|H280046768
-280046768:lI110|H280046778
-280046778:lI116|H280046788
-280046788:lI32|H280046798
-280046798:lI118|H2800467A8
-2800467A8:lI97|H2800467B8
-2800467B8:lI114|H2800467C8
-2800467C8:lI105|H2800467D8
-2800467D8:lI97|H2800467E8
-2800467E8:lI98|H2800467F8
-2800467F8:lI108|H280046808
-280046808:lI101|H280046818
-280046818:lI58|H280046828
-280046828:lI32|H280046838
-280046838:lI126|H280046848
-280046848:lI116|H280046858
-280046858:lI112|H280046868
-280046868:lI32|H280046878
-280046878:lI32|H280046888
-280046888:lI65|H280046898
-280046898:lI112|H2800468A8
-2800468A8:lI112|H2800468B8
-2800468B8:lI108|H2800468C8
-2800468C8:lI105|H2800468D8
-2800468D8:lI99|H2800468E8
-2800468E8:lI97|H2800468F8
-2800468F8:lI116|H280046908
-280046908:lI105|H280046918
-280046918:lI111|H280046928
-280046928:lI110|H280046938
-280046938:lI58|H280046948
-280046948:lI32|H280046958
-280046958:lI126|H280046968
-280046968:lI112|N
-280046978:lH280046988|N
-280046988:t3:H2800469A8,N,H280046A30
-2800469A8:t2:H2800469C0,H2800469D8
-2800469C0:t2:A6:loaded,A2:$1
-2800469D8:tA:A4:appl,A1:_,A1:_,A2:$2,A1:_,A2:$3,A1:_,A1:_,A1:_,A1:_
-280046A30:lH280046A40|N
-280046A40:t1:H280046A50
-280046A50:t3:A2:$1,A2:$2,A2:$3
-280046A70:t2:A12:application_master,A2:$1
-280046A88:t2:H280046AA0,H280046AB8
-280046AA0:t2:A6:loaded,A2:$1
-280046AB8:tA:A4:appl,A1:_,H280046B10,A1:_,A1:_,A1:_,A1:_,A1:_,A1:_,A1:_
-280046B10:t8:A9:appl_data,A1:_,A1:_,A1:_,A1:_,A2:$2,A1:_,A1:_
-280046B58:t3:A16:application_controller,A5:start,I1
-280046B78:lI105|H280046B88
-280046B88:lI110|H280046B98
-280046B98:lI118|H280046BA8
-280046BA8:lI97|H280046BB8
-280046BB8:lI108|H280046BC8
-280046BC8:lI105|H280046BD8
-280046BD8:lI100|H280046BE8
-280046BE8:lI32|H280046BF8
-280046BF8:lI99|H280046C08
-280046C08:lI111|H280046C18
-280046C18:lI110|H280046C28
-280046C28:lI102|H280046C38
-280046C38:lI105|H280046C48
-280046C48:lI103|H280046C58
-280046C58:lI32|H280046C68
-280046C68:lI100|H280046C78
-280046C78:lI97|H280046C88
-280046C88:lI116|H280046C98
-280046C98:lI97|H280046CA8
-280046CA8:lI58|H280046CB8
-280046CB8:lI32|H280046CC8
-280046CC8:lI126|H280046CD8
-280046CD8:lI116|H280046CE8
-280046CE8:lI115|N
-280046CF8:lA3:set|H280046D08
-280046D08:lA6:public|H280046D18
-280046D18:lAB:named_table|H280046D28
-280046D28:lH280046D38|N
-280046D38:t2:A10:read_concurrency,A4:true
-280046D50:t2:A5:local,A16:application_controller
-280046D68:lI101|H280046D78
-280046D78:lI114|H280046D88
-280046D88:lI114|H280046D98
-280046D98:lI111|H280046DA8
-280046DA8:lI114|H280046DB8
-280046DB8:lI32|H280046DC8
-280046DC8:lI105|H280046DD8
-280046DD8:lI110|H280046DE8
-280046DE8:lI32|H280046DF8
-280046DF8:lI99|H280046E08
-280046E08:lI111|H280046E18
-280046E18:lI110|H280046E28
-280046E28:lI102|H280046E38
-280046E38:lI105|H280046E48
-280046E48:lI103|H280046E58
-280046E58:lI32|H280046E68
-280046E68:lI114|H280046E78
-280046E78:lI101|H280046E88
-280046E88:lI97|H280046E98
-280046E98:lI100|H280046EA8
-280046EA8:lI32|H280046EB8
-280046EB8:lI102|H280046EC8
-280046EC8:lI114|H280046ED8
-280046ED8:lI111|H280046EE8
-280046EE8:lI109|H280046EF8
-280046EF8:lI32|H280046F08
-280046F08:lI102|H280046F18
-280046F18:lI105|H280046F28
-280046F28:lI108|H280046F38
-280046F38:lI101|H280046F48
-280046F48:lI32|H280046F58
-280046F58:lI100|H280046F68
-280046F68:lI101|H280046F78
-280046F78:lI115|H280046F88
-280046F88:lI99|H280046F98
-280046F98:lI114|H280046FA8
-280046FA8:lI105|H280046FB8
-280046FB8:lI112|H280046FC8
-280046FC8:lI116|H280046FD8
-280046FD8:lI111|H280046FE8
-280046FE8:lI114|H280046FF8
-280046FF8:lI32|H280047008
-280047008:lI126|H280047018
-280047018:lI116|H280047028
-280047028:lI112|H280047038
-280047038:lI32|H280047048
-280047048:lI40|H280047058
-280047058:lI126|H280047068
-280047068:lI119|H280047078
-280047078:lI41|H280047088
-280047088:lI58|H280047098
-280047098:lI32|H2800470A8
-2800470A8:lI126|H2800470B8
-2800470B8:lI116|H2800470C8
-2800470C8:lI115|N
-2800470D8:lI101|H2800470E8
-2800470E8:lI114|H2800470F8
-2800470F8:lI114|H280047108
-280047108:lI111|H280047118
-280047118:lI114|H280047128
-280047128:lI32|H280047138
-280047138:lI105|H280047148
-280047148:lI110|H280047158
-280047158:lI32|H280047168
-280047168:lI99|H280047178
-280047178:lI111|H280047188
-280047188:lI110|H280047198
-280047198:lI102|H2800471A8
-2800471A8:lI105|H2800471B8
-2800471B8:lI103|H2800471C8
-2800471C8:lI32|H2800471D8
-2800471D8:lI102|H2800471E8
-2800471E8:lI105|H2800471F8
-2800471F8:lI108|H280047208
-280047208:lI101|H280047218
-280047218:lI32|H280047228
-280047228:lI126|H280047238
-280047238:lI116|H280047248
-280047248:lI112|H280047258
-280047258:lI32|H280047268
-280047268:lI40|H280047278
-280047278:lI126|H280047288
-280047288:lI119|H280047298
-280047298:lI41|H2800472A8
-2800472A8:lI58|H2800472B8
-2800472B8:lI32|H2800472C8
-2800472C8:lI126|H2800472D8
-2800472D8:lI116|H2800472E8
-2800472E8:lI115|N
-2800472F8:lI100|H280047308
-280047308:lI117|H280047318
-280047318:lI112|H280047328
-280047328:lI108|H280047338
-280047338:lI105|H280047348
-280047348:lI99|H280047358
-280047358:lI97|H280047368
-280047368:lI116|H280047378
-280047378:lI101|H280047388
-280047388:lI32|H280047398
-280047398:lI97|H2800473A8
-2800473A8:lI112|H2800473B8
-2800473B8:lI112|H2800473C8
-2800473C8:lI108|H2800473D8
-2800473D8:lI105|H2800473E8
-2800473E8:lI99|H2800473F8
-2800473F8:lI97|H280047408
-280047408:lI116|H280047418
-280047418:lI105|H280047428
-280047428:lI111|H280047438
-280047438:lI110|H280047448
-280047448:lI32|H280047458
-280047458:lI99|H280047468
-280047468:lI111|H280047478
-280047478:lI110|H280047488
-280047488:lI102|H280047498
-280047498:lI105|H2800474A8
-2800474A8:lI103|H2800474B8
-2800474B8:lI58|H2800474C8
-2800474C8:lI32|N
-2800474D8:lI126|H2800474E8
-2800474E8:lI116|H2800474F8
-2800474F8:lI112|N
-280047508:lI59|H280047518
-280047518:lI32|H280047528
-280047528:lI97|H280047538
-280047538:lI112|H280047548
-280047548:lI112|H280047558
-280047558:lI108|H280047568
-280047568:lI105|H280047578
-280047578:lI99|H280047588
-280047588:lI97|H280047598
-280047598:lI116|H2800475A8
-2800475A8:lI105|H2800475B8
-2800475B8:lI111|H2800475C8
-2800475C8:lI110|H2800475D8
-2800475D8:lI32|H2800475E8
-2800475E8:lI110|H2800475F8
-2800475F8:lI97|H280047608
-280047608:lI109|H280047618
-280047618:lI101|H280047628
-280047628:lI32|H280047638
-280047638:lI109|H280047648
-280047648:lI117|H280047658
-280047658:lI115|H280047668
-280047668:lI116|H280047678
-280047678:lI32|H280047688
-280047688:lI98|H280047698
-280047698:lI101|H2800476A8
-2800476A8:lI32|H2800476B8
-2800476B8:lI97|H2800476C8
-2800476C8:lI110|H2800476D8
-2800476D8:lI32|H2800476E8
-2800476E8:lI97|H2800476F8
-2800476F8:lI116|H280047708
-280047708:lI111|H280047718
-280047718:lI109|N
-280047728:lI97|H280047738
-280047738:lI112|H280047748
-280047748:lI112|H280047758
-280047758:lI108|H280047768
-280047768:lI105|H280047778
-280047778:lI99|H280047788
-280047788:lI97|H280047798
-280047798:lI116|H2800477A8
-2800477A8:lI105|H2800477B8
-2800477B8:lI111|H2800477C8
-2800477C8:lI110|H2800477D8
-2800477D8:lI58|H2800477E8
-2800477E8:lI32|N
-2800477F8:lI59|H280047808
-280047808:lI32|H280047818
-280047818:lI112|H280047828
-280047828:lI97|H280047838
-280047838:lI114|H280047848
-280047848:lI97|H280047858
-280047858:lI109|H280047868
-280047868:lI101|H280047878
-280047878:lI116|H280047888
-280047888:lI101|H280047898
-280047898:lI114|H2800478A8
-2800478A8:lI115|H2800478B8
-2800478B8:lI32|H2800478C8
-2800478C8:lI109|H2800478D8
-2800478D8:lI117|H2800478E8
-2800478E8:lI115|H2800478F8
-2800478F8:lI116|H280047908
-280047908:lI32|H280047918
-280047918:lI98|H280047928
-280047928:lI101|H280047938
-280047938:lI32|H280047948
-280047948:lI97|H280047958
-280047958:lI32|H280047968
-280047968:lI108|H280047978
-280047978:lI105|H280047988
-280047988:lI115|H280047998
-280047998:lI116|N
-2800479A8:lI105|H2800479B8
-2800479B8:lI110|H2800479C8
-2800479C8:lI118|H2800479D8
-2800479D8:lI97|H2800479E8
-2800479E8:lI108|H2800479F8
-2800479F8:lI105|H280047A08
-280047A08:lI100|H280047A18
-280047A18:lI32|H280047A28
-280047A28:lI97|H280047A38
-280047A38:lI112|H280047A48
-280047A48:lI112|H280047A58
-280047A58:lI108|H280047A68
-280047A68:lI105|H280047A78
-280047A78:lI99|H280047A88
-280047A88:lI97|H280047A98
-280047A98:lI116|H280047AA8
-280047AA8:lI105|H280047AB8
-280047AB8:lI111|H280047AC8
-280047AC8:lI110|H280047AD8
-280047AD8:lI32|H280047AE8
-280047AE8:lI99|H280047AF8
-280047AF8:lI111|H280047B08
-280047B08:lI110|H280047B18
-280047B18:lI102|H280047B28
-280047B28:lI105|H280047B38
-280047B38:lI103|H280047B48
-280047B48:lI58|H280047B58
-280047B58:lI32|N
-280047B68:t2:A5:error,H280047B80
-280047B80:lI99|H280047B90
-280047B90:lI111|H280047BA0
-280047BA0:lI110|H280047BB0
-280047BB0:lI102|H280047BC0
-280047BC0:lI105|H280047BD0
-280047BD0:lI103|H280047BE0
-280047BE0:lI117|H280047BF0
-280047BF0:lI114|H280047C00
-280047C00:lI97|H280047C10
-280047C10:lI116|H280047C20
-280047C20:lI105|H280047C30
-280047C30:lI111|H280047C40
-280047C40:lI110|H280047C50
-280047C50:lI32|H280047C60
-280047C60:lI109|H280047C70
-280047C70:lI117|H280047C80
-280047C80:lI115|H280047C90
-280047C90:lI116|H280047CA0
-280047CA0:lI32|H280047CB0
-280047CB0:lI98|H280047CC0
-280047CC0:lI101|H280047CD0
-280047CD0:lI32|H280047CE0
-280047CE0:lI97|H280047CF0
-280047CF0:lI32|H280047D00
-280047D00:lI108|H280047D10
-280047D10:lI105|H280047D20
-280047D20:lI115|H280047D30
-280047D30:lI116|H280047D40
-280047D40:lI32|H280047D50
-280047D50:lI101|H280047D60
-280047D60:lI110|H280047D70
-280047D70:lI100|H280047D80
-280047D80:lI101|H280047D90
-280047D90:lI100|H280047DA0
-280047DA0:lI32|H280047DB0
-280047DB0:lI98|H280047DC0
-280047DC0:lI121|H280047DD0
-280047DD0:lI32|H280047DE0
-280047DE0:lI60|H280047DF0
-280047DF0:lI100|H280047E00
-280047E00:lI111|H280047E10
-280047E10:lI116|H280047E20
-280047E20:lI62|H280047E30
-280047E30:lI60|H280047E40
-280047E40:lI119|H280047E50
-280047E50:lI104|H280047E60
-280047E60:lI105|H280047E70
-280047E70:lI116|H280047E80
-280047E80:lI101|H280047E90
-280047E90:lI115|H280047EA0
-280047EA0:lI112|H280047EB0
-280047EB0:lI97|H280047EC0
-280047EC0:lI99|H280047ED0
-280047ED0:lI101|H280047EE0
-280047EE0:lI62|N
-280047EF0:lI59|H280047F00
-280047F00:lI32|H280047F10
-280047F10:lI100|H280047F20
-280047F20:lI117|H280047F30
-280047F30:lI112|H280047F40
-280047F40:lI108|H280047F50
-280047F50:lI105|H280047F60
-280047F60:lI99|H280047F70
-280047F70:lI97|H280047F80
-280047F80:lI116|H280047F90
-280047F90:lI101|H280047FA0
-280047FA0:lI32|H280047FB0
-280047FB0:lI112|H280047FC0
-280047FC0:lI97|H280047FD0
-280047FD0:lI114|H280047FE0
-280047FE0:lI97|H280047FF0
-280047FF0:lI109|H280048000
-280048000:lI101|H280048010
-280048010:lI116|H280048020
-280048020:lI101|H280048030
-280048030:lI114|H280048040
-280048040:lI58|H280048050
-280048050:lI32|N
-280048060:lI59|H280048070
-280048070:lI32|H280048080
-280048080:lI105|H280048090
-280048090:lI110|H2800480A0
-2800480A0:lI118|H2800480B0
-2800480B0:lI97|H2800480C0
-2800480C0:lI108|H2800480D0
-2800480D0:lI105|H2800480E0
-2800480E0:lI100|H2800480F0
-2800480F0:lI32|H280048100
-280048100:lI112|H280048110
-280048110:lI97|H280048120
-280048120:lI114|H280048130
-280048130:lI97|H280048140
-280048140:lI109|H280048150
-280048150:lI101|H280048160
-280048160:lI116|H280048170
-280048170:lI101|H280048180
-280048180:lI114|H280048190
-280048190:lI32|H2800481A0
-2800481A0:lI110|H2800481B0
-2800481B0:lI97|H2800481C0
-2800481C0:lI109|H2800481D0
-2800481D0:lI101|H2800481E0
-2800481E0:lI58|H2800481F0
-2800481F0:lI32|N
-280048200:lI59|H280048210
-280048210:lI32|H280048220
-280048220:lI105|H280048230
-280048230:lI110|H280048240
-280048240:lI118|H280048250
-280048250:lI97|H280048260
-280048260:lI108|H280048270
-280048270:lI105|H280048280
-280048280:lI100|H280048290
-280048290:lI32|H2800482A0
-2800482A0:lI112|H2800482B0
-2800482B0:lI97|H2800482C0
-2800482C0:lI114|H2800482D0
-2800482D0:lI97|H2800482E0
-2800482E0:lI109|H2800482F0
-2800482F0:lI101|H280048300
-280048300:lI116|H280048310
-280048310:lI101|H280048320
-280048320:lI114|H280048330
-280048330:lI58|H280048340
-280048340:lI32|N
-280048350:t2:A5:error,H280048368
-280048368:lI97|H280048378
-280048378:lI112|H280048388
-280048388:lI112|H280048398
-280048398:lI108|H2800483A8
-2800483A8:lI105|H2800483B8
-2800483B8:lI99|H2800483C8
-2800483C8:lI97|H2800483D8
-2800483D8:lI116|H2800483E8
-2800483E8:lI105|H2800483F8
-2800483F8:lI111|H280048408
-280048408:lI110|H280048418
-280048418:lI58|H280048428
-280048428:lI32|H280048438
-280048438:lI107|H280048448
-280048448:lI101|H280048458
-280048458:lI114|H280048468
-280048468:lI110|H280048478
-280048478:lI101|H280048488
-280048488:lI108|H280048498
-280048498:lI59|H2800484A8
-2800484A8:lI32|H2800484B8
-2800484B8:lI101|H2800484C8
-2800484C8:lI114|H2800484D8
-2800484D8:lI114|H2800484E8
-2800484E8:lI111|H2800484F8
-2800484F8:lI110|H280048508
-280048508:lI101|H280048518
-280048518:lI111|H280048528
-280048528:lI117|H280048538
-280048538:lI115|H280048548
-280048548:lI32|H280048558
-280048558:lI112|H280048568
-280048568:lI97|H280048578
-280048578:lI114|H280048588
-280048588:lI97|H280048598
-280048598:lI109|H2800485A8
-2800485A8:lI101|H2800485B8
-2800485B8:lI116|H2800485C8
-2800485C8:lI101|H2800485D8
-2800485D8:lI114|H2800485E8
-2800485E8:lI58|H2800485F8
-2800485F8:lI32|H280048608
-280048608:lI100|H280048618
-280048618:lI105|H280048628
-280048628:lI115|H280048638
-280048638:lI116|H280048648
-280048648:lI114|H280048658
-280048658:lI105|H280048668
-280048668:lI98|H280048678
-280048678:lI117|H280048688
-280048688:lI116|H280048698
-280048698:lI101|H2800486A8
-2800486A8:lI100|N
-2800486B8:t2:A17:distributed_application,AB:only_loaded
-2800486D0:t2:A4:EXIT,A6:normal
-2800486E8:t2:AB:distributed,N
-280048700:t2:A12:application_master,A1:_
-280048718:t2:A2:ok,A9:undefined
-280048730:lI46|H280048740
-280048740:lI97|H280048750
-280048750:lI112|H280048760
-280048760:lI112|N
-280048770:t2:A5:error,H280048788
-280048788:lI98|H280048798
-280048798:lI97|H2800487A8
-2800487A8:lI100|H2800487B8
-2800487B8:lI32|H2800487C8
-2800487C8:lI101|H2800487D8
-2800487D8:lI110|H2800487E8
-2800487E8:lI99|H2800487F8
-2800487F8:lI111|H280048808
-280048808:lI100|H280048818
-280048818:lI105|H280048828
-280048828:lI110|H280048838
-280048838:lI103|N
-280048848:t2:A5:error,A6:enoent
-280048860:lI97|H280048870
-280048870:lI112|H280048880
-280048880:lI112|H280048890
-280048890:lI108|H2800488A0
-2800488A0:lI105|H2800488B0
-2800488B0:lI99|H2800488C0
-2800488C0:lI97|H2800488D0
-2800488D0:lI116|H2800488E0
-2800488E0:lI105|H2800488F0
-2800488F0:lI111|H280048900
-280048900:lI110|H280048910
-280048910:lI95|H280048920
-280048920:lI99|H280048930
-280048930:lI111|H280048940
-280048940:lI110|H280048950
-280048950:lI116|H280048960
-280048960:lI114|H280048970
-280048970:lI111|H280048980
-280048980:lI108|H280048990
-280048990:lI108|H2800489A0
-2800489A0:lI101|H2800489B0
-2800489B0:lI114|H2800489C0
-2800489C0:lI58|H2800489D0
-2800489D0:lI32|H2800489E0
-2800489E0:lI126|H2800489F0
-2800489F0:lI116|H280048A00
-280048A00:lI115|H280048A10
-280048A10:lI58|H280048A20
-280048A20:lI32|H280048A30
-280048A30:lI126|H280048A40
-280048A40:lI116|H280048A50
-280048A50:lI115|H280048A60
-280048A60:lI126|H280048A70
-280048A70:lI110|N
-280048A80:t1:AC:error_logger
-280048A90:Mf1:H280048A80:H280048AC0
-280048AB0:t1:A3:tag
-280048AC0:Mf1:H280048AB0:A5:error
-280048AE0:t3:A4:line,A4:file,A3:mfa
-280048B00:Mf3:H280048AE0:I1669,H280048B30,H280048CD0
-280048B30:lI97|H280048B40
-280048B40:lI112|H280048B50
-280048B50:lI112|H280048B60
-280048B60:lI108|H280048B70
-280048B70:lI105|H280048B80
-280048B80:lI99|H280048B90
-280048B90:lI97|H280048BA0
-280048BA0:lI116|H280048BB0
-280048BB0:lI105|H280048BC0
-280048BC0:lI111|H280048BD0
-280048BD0:lI110|H280048BE0
-280048BE0:lI95|H280048BF0
-280048BF0:lI99|H280048C00
-280048C00:lI111|H280048C10
-280048C10:lI110|H280048C20
-280048C20:lI116|H280048C30
-280048C30:lI114|H280048C40
-280048C40:lI111|H280048C50
-280048C50:lI108|H280048C60
-280048C60:lI108|H280048C70
-280048C70:lI101|H280048C80
-280048C80:lI114|H280048C90
-280048C90:lI46|H280048CA0
-280048CA0:lI101|H280048CB0
-280048CB0:lI114|H280048CC0
-280048CC0:lI108|N
-280048CD0:t3:A16:application_controller,A16:handle_make_term_error,I3
-280048CF0:t2:N,N
-280048D08:lH280048D28|H280048D18
-280048D18:lN|N
-280048D28:lI46|H280048D38
-280048D38:lI99|H280048D48
-280048D48:lI111|H280048D58
-280048D58:lI110|H280048D68
-280048D68:lI102|H280048D78
-280048D78:lI105|H280048D88
-280048D88:lI103|N
-280048D98:lI67|H280048DA8
-280048DA8:lI97|H280048DB8
-280048DB8:lI110|H280048DC8
-280048DC8:lI110|H280048DD8
-280048DD8:lI111|H280048DE8
-280048DE8:lI116|H280048DF8
-280048DF8:lI32|H280048E08
-280048E08:lI112|H280048E18
-280048E18:lI97|H280048E28
-280048E28:lI114|H280048E38
-280048E38:lI115|H280048E48
-280048E48:lI101|H280048E58
-280048E58:lI32|H280048E68
-280048E68:lI102|H280048E78
-280048E78:lI105|H280048E88
-280048E88:lI108|H280048E98
-280048E98:lI101|H280048EA8
-280048EA8:lI32|H280048EB8
-280048EB8:lI100|H280048EC8
-280048EC8:lI101|H280048ED8
-280048ED8:lI115|H280048EE8
-280048EE8:lI99|H280048EF8
-280048EF8:lI114|H280048F08
-280048F08:lI105|H280048F18
-280048F18:lI112|H280048F28
-280048F28:lI116|H280048F38
-280048F38:lI111|H280048F48
-280048F48:lI114|H280048F58
-280048F58:lI32|H280048F68
-280048F68:lI111|H280048F78
-280048F78:lI102|H280048F88
-280048F88:lI32|H280048F98
-280048F98:lI116|H280048FA8
-280048FA8:lI121|H280048FB8
-280048FB8:lI112|H280048FC8
-280048FC8:lI101|H280048FD8
-280048FD8:lI58|H280048FE8
-280048FE8:lI32|H280048FF8
-280048FF8:lI126|H280049008
-280049008:lI116|H280049018
-280049018:lI115|N
-280049028:lI84|H280049038
-280049038:lI104|H280049048
-280049048:lI101|H280049058
-280049058:lI32|H280049068
-280049068:lI103|H280049078
-280049078:lI105|H280049088
-280049088:lI118|H280049098
-280049098:lI101|H2800490A8
-2800490A8:lI110|H2800490B8
-2800490B8:lI32|H2800490C8
-2800490C8:lI102|H2800490D8
-2800490D8:lI105|H2800490E8
-2800490E8:lI108|H2800490F8
-2800490F8:lI101|H280049108
-280049108:lI32|H280049118
-280049118:lI100|H280049128
-280049128:lI101|H280049138
-280049138:lI115|H280049148
-280049148:lI99|H280049158
-280049158:lI114|H280049168
-280049168:lI105|H280049178
-280049178:lI112|H280049188
-280049188:lI116|H280049198
-280049198:lI111|H2800491A8
-2800491A8:lI114|H2800491B8
-2800491B8:lI32|H2800491C8
-2800491C8:lI104|H2800491D8
-2800491D8:lI97|H2800491E8
-2800491E8:lI115|H2800491F8
-2800491F8:lI32|H280049208
-280049208:lI105|H280049218
-280049218:lI110|H280049228
-280049228:lI99|H280049238
-280049238:lI111|H280049248
-280049248:lI114|H280049258
-280049258:lI114|H280049268
-280049268:lI101|H280049278
-280049278:lI99|H280049288
-280049288:lI116|H280049298
-280049298:lI32|H2800492A8
-2800492A8:lI102|H2800492B8
-2800492B8:lI111|H2800492C8
-2800492C8:lI114|H2800492D8
-2800492D8:lI109|H2800492E8
-2800492E8:lI97|H2800492F8
-2800492F8:lI116|H280049308
-280049308:lI46|H280049318
-280049318:lI32|H280049328
-280049328:lI84|H280049338
-280049338:lI104|H280049348
-280049348:lI101|H280049358
-280049358:lI32|H280049368
-280049368:lI102|H280049378
-280049378:lI111|H280049388
-280049388:lI114|H280049398
-280049398:lI109|H2800493A8
-2800493A8:lI97|H2800493B8
-2800493B8:lI116|H2800493C8
-2800493C8:lI32|H2800493D8
-2800493D8:lI115|H2800493E8
-2800493E8:lI104|H2800493F8
-2800493F8:lI111|H280049408
-280049408:lI117|H280049418
-280049418:lI108|H280049428
-280049428:lI100|H280049438
-280049438:lI32|H280049448
-280049448:lI98|H280049458
-280049458:lI101|H280049468
-280049468:lI32|H280049478
-280049478:lI34|H280049488
-280049488:lI70|H280049498
-280049498:lI105|H2800494A8
-2800494A8:lI108|H2800494B8
-2800494B8:lI101|H2800494C8
-2800494C8:lI68|H2800494D8
-2800494D8:lI101|H2800494E8
-2800494E8:lI115|H2800494F8
-2800494F8:lI99|H280049508
-280049508:lI73|H280049518
-280049518:lI100|H280049528
-280049528:lI91|H280049538
-280049538:lI46|H280049548
-280049548:lI70|H280049558
-280049558:lI105|H280049568
-280049568:lI108|H280049578
-280049578:lI101|H280049588
-280049588:lI84|H280049598
-280049598:lI121|H2800495A8
-2800495A8:lI112|H2800495B8
-2800495B8:lI101|H2800495C8
-2800495C8:lI93|H2800495D8
-2800495D8:lI34|H2800495E8
-2800495E8:lI46|H2800495F8
-2800495F8:lI32|H280049608
-280049608:lI69|H280049618
-280049618:lI120|H280049628
-280049628:lI97|H280049638
-280049638:lI109|H280049648
-280049648:lI112|H280049658
-280049658:lI108|H280049668
-280049668:lI101|H280049678
-280049678:lI115|H280049688
-280049688:lI58|H280049698
-280049698:lI32|H2800496A8
-2800496A8:lI51|H2800496B8
-2800496B8:lI32|H2800496C8
-2800496C8:lI111|H2800496D8
-2800496D8:lI114|H2800496E8
-2800496E8:lI32|H2800496F8
-2800496F8:lI51|H280049708
-280049708:lI46|H280049718
-280049718:lI99|H280049728
-280049728:lI111|H280049738
-280049738:lI110|H280049748
-280049748:lI102|H280049758
-280049758:lI105|H280049768
-280049768:lI103|N
-280049778:lI46|H280049788
-280049788:lI99|H280049798
-280049798:lI111|H2800497A8
-2800497A8:lI110|H2800497B8
-2800497B8:lI102|H2800497C8
-2800497C8:lI105|H2800497D8
-2800497D8:lI103|N
-2800497E8:lI115|H2800497F8
-2800497F8:lI121|H280049808
-280049808:lI115|N
-280049818:lI32|N
-280049828:t2:A5:error,H280049840
-280049840:t3:A4:none,A9:scan_file,H280049860
-280049860:lI98|H280049870
-280049870:lI97|H280049880
-280049880:lI100|H280049890
-280049890:lI32|H2800498A0
-2800498A0:lI101|H2800498B0
-2800498B0:lI110|H2800498C0
-2800498C0:lI99|H2800498D0
-2800498D0:lI111|H2800498E0
-2800498E0:lI100|H2800498F0
-2800498F0:lI105|H280049900
-280049900:lI110|H280049910
-280049910:lI103|N
-280049920:t2:A5:error,H280049938
-280049938:t3:A4:none,A9:open_file,H280049958
-280049958:lI99|H280049968
-280049968:lI111|H280049978
-280049978:lI110|H280049988
-280049988:lI102|H280049998
-280049998:lI105|H2800499A8
-2800499A8:lI103|H2800499B8
-2800499B8:lI117|H2800499C8
-2800499C8:lI114|H2800499D8
-2800499D8:lI97|H2800499E8
-2800499E8:lI116|H2800499F8
-2800499F8:lI105|H280049A08
-280049A08:lI111|H280049A18
-280049A18:lI110|H280049A28
-280049A28:lI32|H280049A38
-280049A38:lI102|H280049A48
-280049A48:lI105|H280049A58
-280049A58:lI108|H280049A68
-280049A68:lI101|H280049A78
-280049A78:lI32|H280049A88
-280049A88:lI110|H280049A98
-280049A98:lI111|H280049AA8
-280049AA8:lI116|H280049AB8
-280049AB8:lI32|H280049AC8
-280049AC8:lI102|H280049AD8
-280049AD8:lI111|H280049AE8
-280049AE8:lI117|H280049AF8
-280049AF8:lI110|H280049B08
-280049B08:lI100|N
-280049B18:lI67|H280049B28
-280049B28:lI111|H280049B38
-280049B38:lI117|H280049B48
-280049B48:lI108|H280049B58
-280049B58:lI100|H280049B68
-280049B68:lI32|H280049B78
-280049B78:lI110|H280049B88
-280049B88:lI111|H280049B98
-280049B98:lI116|H280049BA8
-280049BA8:lI32|H280049BB8
-280049BB8:lI114|H280049BC8
-280049BC8:lI101|H280049BD8
-280049BD8:lI97|H280049BE8
-280049BE8:lI100|H280049BF8
-280049BF8:lI32|H280049C08
-280049C08:lI102|H280049C18
-280049C18:lI114|H280049C28
-280049C28:lI111|H280049C38
-280049C38:lI109|H280049C48
-280049C48:lI32|H280049C58
-280049C58:lI102|H280049C68
-280049C68:lI105|H280049C78
-280049C78:lI108|H280049C88
-280049C88:lI101|H280049C98
-280049C98:lI32|H280049CA8
-280049CA8:lI100|H280049CB8
-280049CB8:lI101|H280049CC8
-280049CC8:lI115|H280049CD8
-280049CD8:lI99|H280049CE8
-280049CE8:lI114|H280049CF8
-280049CF8:lI105|H280049D08
-280049D08:lI112|H280049D18
-280049D18:lI116|H280049D28
-280049D28:lI111|H280049D38
-280049D38:lI114|H280049D48
-280049D48:lI58|H280049D58
-280049D58:lI32|H280049D68
-280049D68:lI126|H280049D78
-280049D78:lI115|N
-280049D88:t2:A5:error,H280049DA0
-280049DA0:t3:A4:none,A9:load_file,H280049DC0
-280049DC0:lI110|H280049DD0
-280049DD0:lI111|H280049DE0
-280049DE0:lI32|H280049DF0
-280049DF0:lI101|H280049E00
-280049E00:lI110|H280049E10
-280049E10:lI100|H280049E20
-280049E20:lI105|H280049E30
-280049E30:lI110|H280049E40
-280049E40:lI103|H280049E50
-280049E50:lI32|H280049E60
-280049E60:lI60|H280049E70
-280049E70:lI100|H280049E80
-280049E80:lI111|H280049E90
-280049E90:lI116|H280049EA0
-280049EA0:lI62|H280049EB0
-280049EB0:lI32|H280049EC0
-280049EC0:lI102|H280049ED0
-280049ED0:lI111|H280049EE0
-280049EE0:lI117|H280049EF0
-280049EF0:lI110|H280049F00
-280049F00:lI100|N
-280049F10:t2:A5:error,H280049F28
-280049F28:t3:A4:none,A9:load_file,H280049F48
-280049F48:lI99|H280049F58
-280049F58:lI111|H280049F68
-280049F68:lI110|H280049F78
-280049F78:lI102|H280049F88
-280049F88:lI105|H280049F98
-280049F98:lI103|H280049FA8
-280049FA8:lI117|H280049FB8
-280049FB8:lI114|H280049FC8
-280049FC8:lI97|H280049FD8
-280049FD8:lI116|H280049FE8
-280049FE8:lI105|H280049FF8
-280049FF8:lI111|H28004A008
-28004A008:lI110|H28004A018
-28004A018:lI32|H28004A028
-28004A028:lI102|H28004A038
-28004A038:lI105|H28004A048
-28004A048:lI108|H28004A058
-28004A058:lI101|H28004A068
-28004A068:lI32|H28004A078
-28004A078:lI109|H28004A088
-28004A088:lI117|H28004A098
-28004A098:lI115|H28004A0A8
-28004A0A8:lI116|H28004A0B8
-28004A0B8:lI32|H28004A0C8
-28004A0C8:lI99|H28004A0D8
-28004A0D8:lI111|H28004A0E8
-28004A0E8:lI110|H28004A0F8
-28004A0F8:lI116|H28004A108
-28004A108:lI97|H28004A118
-28004A118:lI105|H28004A128
-28004A128:lI110|H28004A138
-28004A138:lI32|H28004A148
-28004A148:lI79|H28004A158
-28004A158:lI78|H28004A168
-28004A168:lI69|H28004A178
-28004A178:lI32|H28004A188
-28004A188:lI108|H28004A198
-28004A198:lI105|H28004A1A8
-28004A1A8:lI115|H28004A1B8
-28004A1B8:lI116|H28004A1C8
-28004A1C8:lI32|H28004A1D8
-28004A1D8:lI101|H28004A1E8
-28004A1E8:lI110|H28004A1F8
-28004A1F8:lI100|H28004A208
-28004A208:lI101|H28004A218
-28004A218:lI100|H28004A228
-28004A228:lI32|H28004A238
-28004A238:lI98|H28004A248
-28004A248:lI121|H28004A258
-28004A258:lI32|H28004A268
-28004A268:lI60|H28004A278
-28004A278:lI100|H28004A288
-28004A288:lI111|H28004A298
-28004A298:lI116|H28004A2A8
-28004A2A8:lI62|N
-28004A2B8:Mf0:H280010188:
-28004A2D0:t2:A16:application_controller,A8:progress
-28004A2E8:t4:AC:error_logger,A6:domain,A10:logger_formatter,A9:report_cb
-28004A310:Mf4:H28004A2E8:H28004A388,H28004A348,H28004A3F0,H28004A500
-28004A348:lA3:otp|H28004A358
-28004A358:lA4:sasl|N
-28004A368:t3:A3:tag,A4:type,A9:report_cb
-28004A388:Mf3:H28004A368:AB:info_report,A8:progress,H28004A3B8
-28004A3B8:E28:g3F3FmFwcGxpY2F0aW9uX2NvbnRyb2xsZXJ3CmZvcm1hdF9sb2dhAQ==
-28004A3E0:t1:A5:title
-28004A3F0:Mf1:H28004A3E0:H28004A410
-28004A410:lI80|H28004A420
-28004A420:lI82|H28004A430
-28004A430:lI79|H28004A440
-28004A440:lI71|H28004A450
-28004A450:lI82|H28004A460
-28004A460:lI69|H28004A470
-28004A470:lI83|H28004A480
-28004A480:lI83|H28004A490
-28004A490:lI32|H28004A4A0
-28004A4A0:lI82|H28004A4B0
-28004A4B0:lI69|H28004A4C0
-28004A4C0:lI80|H28004A4D0
-28004A4D0:lI79|H28004A4E0
-28004A4E0:lI82|H28004A4F0
-28004A4F0:lI84|N
-28004A500:E28:g3F3FmFwcGxpY2F0aW9uX2NvbnRyb2xsZXJ3CmZvcm1hdF9sb2dhAg==
-28004A528:t3:A4:line,A4:file,A3:mfa
-28004A548:Mf3:H28004A528:I2117,H28004A578,H28004A718
-28004A578:lI97|H28004A588
-28004A588:lI112|H28004A598
-28004A598:lI112|H28004A5A8
-28004A5A8:lI108|H28004A5B8
-28004A5B8:lI105|H28004A5C8
-28004A5C8:lI99|H28004A5D8
-28004A5D8:lI97|H28004A5E8
-28004A5E8:lI116|H28004A5F8
-28004A5F8:lI105|H28004A608
-28004A608:lI111|H28004A618
-28004A618:lI110|H28004A628
-28004A628:lI95|H28004A638
-28004A638:lI99|H28004A648
-28004A648:lI111|H28004A658
-28004A658:lI110|H28004A668
-28004A668:lI116|H28004A678
-28004A678:lI114|H28004A688
-28004A688:lI111|H28004A698
-28004A698:lI108|H28004A6A8
-28004A6A8:lI108|H28004A6B8
-28004A6B8:lI101|H28004A6C8
-28004A6C8:lI114|H28004A6D8
-28004A6D8:lI46|H28004A6E8
-28004A6E8:lI101|H28004A6F8
-28004A6F8:lI114|H28004A708
-28004A708:lI108|N
-28004A718:t3:A16:application_controller,AC:info_started,I2
-28004A738:t2:A16:application_controller,A4:exit
-28004A750:t3:AC:error_logger,A6:domain,A9:report_cb
-28004A770:Mf3:H28004A750:H28004A7D0,H28004A7A0,H28004A828
-28004A7A0:lA3:otp|N
-28004A7B0:t3:A3:tag,A4:type,A9:report_cb
-28004A7D0:Mf3:H28004A7B0:AB:info_report,A8:std_info,H28004A800
-28004A800:E28:g3F3FmFwcGxpY2F0aW9uX2NvbnRyb2xsZXJ3CmZvcm1hdF9sb2dhAQ==
-28004A828:E28:g3F3FmFwcGxpY2F0aW9uX2NvbnRyb2xsZXJ3CmZvcm1hdF9sb2dhAg==
-28004A850:t3:A4:line,A4:file,A3:mfa
-28004A870:Mf3:H28004A850:I2129,H28004A8A0,H28004AA40
-28004A8A0:lI97|H28004A8B0
-28004A8B0:lI112|H28004A8C0
-28004A8C0:lI112|H28004A8D0
-28004A8D0:lI108|H28004A8E0
-28004A8E0:lI105|H28004A8F0
-28004A8F0:lI99|H28004A900
-28004A900:lI97|H28004A910
-28004A910:lI116|H28004A920
-28004A920:lI105|H28004A930
-28004A930:lI111|H28004A940
-28004A940:lI110|H28004A950
-28004A950:lI95|H28004A960
-28004A960:lI99|H28004A970
-28004A970:lI111|H28004A980
-28004A980:lI110|H28004A990
-28004A990:lI116|H28004A9A0
-28004A9A0:lI114|H28004A9B0
-28004A9B0:lI111|H28004A9C0
-28004A9C0:lI108|H28004A9D0
-28004A9D0:lI108|H28004A9E0
-28004A9E0:lI101|H28004A9F0
-28004A9F0:lI114|H28004AA00
-28004AA00:lI46|H28004AA10
-28004AA10:lI101|H28004AA20
-28004AA20:lI114|H28004AA30
-28004AA30:lI108|N
-28004AA40:t3:A16:application_controller,AB:info_exited,I3
-28004AA60:t4:AB:chars_limit,A5:depth,A8:encoding,AB:single_line
-28004AA88:Mf4:H28004AA60:A9:unlimited,A9:unlimited,A4:utf8,A5:false
-28004AAC0:lI46|N
-28004AAD0:lI46|H28004AAE0
-28004AAE0:lI32|H28004AAF0
-28004AAF0:lI83|H28004AB00
-28004AB00:lI116|H28004AB10
-28004AB10:lI97|H28004AB20
-28004AB20:lI114|H28004AB30
-28004AB30:lI116|H28004AB40
-28004AB40:lI101|H28004AB50
-28004AB50:lI100|H28004AB60
-28004AB60:lI32|H28004AB70
-28004AB70:lI97|H28004AB80
-28004AB80:lI116|H28004AB90
-28004AB90:lI58|H28004ABA0
-28004ABA0:lI32|N
-28004ABB0:lI65|H28004ABC0
-28004ABC0:lI112|H28004ABD0
-28004ABD0:lI112|H28004ABE0
-28004ABE0:lI108|H28004ABF0
-28004ABF0:lI105|H28004AC00
-28004AC00:lI99|H28004AC10
-28004AC10:lI97|H28004AC20
-28004AC20:lI116|H28004AC30
-28004AC30:lI105|H28004AC40
-28004AC40:lI111|H28004AC50
-28004AC50:lI110|H28004AC60
-28004AC60:lI58|H28004AC70
-28004AC70:lI32|N
-28004AC80:lH28004AC90|N
-28004AC90:lI46|N
-28004ACA0:lI46|H28004ACB0
-28004ACB0:lI32|H28004ACC0
-28004ACC0:lI84|H28004ACD0
-28004ACD0:lI121|H28004ACE0
-28004ACE0:lI112|H28004ACF0
-28004ACF0:lI101|H28004AD00
-28004AD00:lI58|H28004AD10
-28004AD10:lI32|N
-28004AD20:lI46|H28004AD30
-28004AD30:lI32|H28004AD40
-28004AD40:lI69|H28004AD50
-28004AD50:lI120|H28004AD60
-28004AD60:lI105|H28004AD70
-28004AD70:lI116|H28004AD80
-28004AD80:lI101|H28004AD90
-28004AD90:lI100|H28004ADA0
-28004ADA0:lI58|H28004ADB0
-28004ADB0:lI32|N
-28004ADC0:lH28004ADD0|N
-28004ADD0:lI126|H28004ADE0
-28004ADE0:lI110|N
-28004ADF0:lI32|H28004AE00
-28004AE00:lI32|H28004AE10
-28004AE10:lI32|H28004AE20
-28004AE20:lI32|H28004AE30
-28004AE30:lI115|H28004AE40
-28004AE40:lI116|H28004AE50
-28004AE50:lI97|H28004AE60
-28004AE60:lI114|H28004AE70
-28004AE70:lI116|H28004AE80
-28004AE80:lI101|H28004AE90
-28004AE90:lI100|H28004AEA0
-28004AEA0:lI95|H28004AEB0
-28004AEB0:lI97|H28004AEC0
-28004AEC0:lI116|H28004AED0
-28004AED0:lI58|H28004AEE0
-28004AEE0:lI32|N
-28004AEF0:lI126|H28004AF00
-28004AF00:lI110|N
-28004AF10:lI32|H28004AF20
-28004AF20:lI32|H28004AF30
-28004AF30:lI32|H28004AF40
-28004AF40:lI32|H28004AF50
-28004AF50:lI97|H28004AF60
-28004AF60:lI112|H28004AF70
-28004AF70:lI112|H28004AF80
-28004AF80:lI108|H28004AF90
-28004AF90:lI105|H28004AFA0
-28004AFA0:lI99|H28004AFB0
-28004AFB0:lI97|H28004AFC0
-28004AFC0:lI116|H28004AFD0
-28004AFD0:lI105|H28004AFE0
-28004AFE0:lI111|H28004AFF0
-28004AFF0:lI110|H28004B000
-28004B000:lI58|H28004B010
-28004B010:lI32|N
-28004B020:lI32|H28004B030
-28004B030:lI32|H28004B040
-28004B040:lI32|H28004B050
-28004B050:lI32|H28004B060
-28004B060:lI116|H28004B070
-28004B070:lI121|H28004B080
-28004B080:lI112|H28004B090
-28004B090:lI101|H28004B0A0
-28004B0A0:lI58|H28004B0B0
-28004B0B0:lI32|N
-28004B0C0:lI32|H28004B0D0
-28004B0D0:lI32|H28004B0E0
-28004B0E0:lI32|H28004B0F0
-28004B0F0:lI32|H28004B100
-28004B100:lI101|H28004B110
-28004B110:lI120|H28004B120
-28004B120:lI105|H28004B130
-28004B130:lI116|H28004B140
-28004B140:lI101|H28004B150
-28004B150:lI100|H28004B160
-28004B160:lI58|H28004B170
-28004B170:lI32|N
-28004B180:lI112|N
-28004B190:lI80|N
-28004B1A0:lI48|N
-28004B1B0:lI116|N
-28004B1C0:t3:A3:env,A6:kernel,AB:permissions
-28004B1E0:lI126|H28004B1F0
-28004B1F0:lI48|H28004B200
-28004B200:lI112|N
-28004B210:lI83|H28004B220
-28004B220:lI108|H28004B230
-28004B230:lI111|H28004B240
-28004B240:lI119|H28004B250
-28004B250:lI32|H28004B260
-28004B260:lI45|H28004B270
-28004B270:lI99|H28004B280
-28004B280:lI111|H28004B290
-28004B290:lI110|H28004B2A0
-28004B2A0:lI102|H28004B2B0
-28004B2B0:lI105|H28004B2C0
-28004B2C0:lI103|H28004B2D0
-28004B2D0:lI102|H28004B2E0
-28004B2E0:lI100|H28004B2F0
-28004B2F0:lI32|H28004B300
-28004B300:lI102|H28004B310
-28004B310:lI105|H28004B320
-28004B320:lI108|H28004B330
-28004B330:lI101|H28004B340
-28004B340:lI32|H28004B350
-28004B350:lI100|H28004B360
-28004B360:lI101|H28004B370
-28004B370:lI115|H28004B380
-28004B380:lI99|H28004B390
-28004B390:lI114|H28004B3A0
-28004B3A0:lI105|H28004B3B0
-28004B3B0:lI112|H28004B3C0
-28004B3C0:lI116|H28004B3D0
-28004B3D0:lI111|H28004B3E0
-28004B3E0:lI114|H28004B3F0
-28004B3F0:lI32|H28004B400
-28004B400:lI126|H28004B410
-28004B410:lI112|H28004B420
-28004B420:lI46|H28004B430
-28004B430:lI32|H28004B440
-28004B440:lI84|H28004B450
-28004B450:lI104|H28004B460
-28004B460:lI101|H28004B470
-28004B470:lI32|H28004B480
-28004B480:lI115|H28004B490
-28004B490:lI121|H28004B4A0
-28004B4A0:lI115|H28004B4B0
-28004B4B0:lI116|H28004B4C0
-28004B4C0:lI101|H28004B4D0
-28004B4D0:lI109|H28004B4E0
-28004B4E0:lI32|H28004B4F0
-28004B4F0:lI119|H28004B500
-28004B500:lI105|H28004B510
-28004B510:lI108|H28004B520
-28004B520:lI108|H28004B530
-28004B530:lI32|H28004B540
-28004B540:lI99|H28004B550
-28004B550:lI111|H28004B560
-28004B560:lI110|H28004B570
-28004B570:lI116|H28004B580
-28004B580:lI105|H28004B590
-28004B590:lI110|H28004B5A0
-28004B5A0:lI117|H28004B5B0
-28004B5B0:lI101|H28004B5C0
-28004B5C0:lI32|H28004B5D0
-28004B5D0:lI116|H28004B5E0
-28004B5E0:lI111|H28004B5F0
-28004B5F0:lI32|H28004B600
-28004B600:lI114|H28004B610
-28004B610:lI101|H28004B620
-28004B620:lI97|H28004B630
-28004B630:lI100|H28004B640
-28004B640:lI32|H28004B650
-28004B650:lI102|H28004B660
-28004B660:lI114|H28004B670
-28004B670:lI111|H28004B680
-28004B680:lI109|H28004B690
-28004B690:lI32|H28004B6A0
-28004B6A0:lI116|H28004B6B0
-28004B6B0:lI104|H28004B6C0
-28004B6C0:lI101|H28004B6D0
-28004B6D0:lI32|H28004B6E0
-28004B6E0:lI102|H28004B6F0
-28004B6F0:lI105|H28004B700
-28004B700:lI108|H28004B710
-28004B710:lI101|H28004B720
-28004B720:lI32|H28004B730
-28004B730:lI100|H28004B740
-28004B740:lI101|H28004B750
-28004B750:lI115|H28004B760
-28004B760:lI99|H28004B770
-28004B770:lI114|H28004B780
-28004B780:lI105|H28004B790
-28004B790:lI112|H28004B7A0
-28004B7A0:lI116|H28004B7B0
-28004B7B0:lI111|H28004B7C0
-28004B7C0:lI114|H28004B7D0
-28004B7D0:lI32|H28004B7E0
-28004B7E0:lI97|H28004B7F0
-28004B7F0:lI110|H28004B800
-28004B800:lI100|H28004B810
-28004B810:lI32|H28004B820
-28004B820:lI119|H28004B830
-28004B830:lI105|H28004B840
-28004B840:lI108|H28004B850
-28004B850:lI108|H28004B860
-28004B860:lI32|H28004B870
-28004B870:lI98|H28004B880
-28004B880:lI101|H28004B890
-28004B890:lI32|H28004B8A0
-28004B8A0:lI98|H28004B8B0
-28004B8B0:lI108|H28004B8C0
-28004B8C0:lI111|H28004B8D0
-28004B8D0:lI99|H28004B8E0
-28004B8E0:lI107|H28004B8F0
-28004B8F0:lI101|H28004B900
-28004B900:lI100|H28004B910
-28004B910:lI32|H28004B920
-28004B920:lI117|H28004B930
-28004B930:lI110|H28004B940
-28004B940:lI116|H28004B950
-28004B950:lI105|H28004B960
-28004B960:lI108|H28004B970
-28004B970:lI32|H28004B980
-28004B980:lI101|H28004B990
-28004B990:lI110|H28004B9A0
-28004B9A0:lI100|H28004B9B0
-28004B9B0:lI32|H28004B9C0
-28004B9C0:lI111|H28004B9D0
-28004B9D0:lI102|H28004B9E0
-28004B9E0:lI32|H28004B9F0
-28004B9F0:lI102|H28004BA00
-28004BA00:lI105|H28004BA10
-28004BA10:lI108|H28004BA20
-28004BA20:lI101|H28004BA30
-28004BA30:lI32|H28004BA40
-28004BA40:lI105|H28004BA50
-28004BA50:lI115|H28004BA60
-28004BA60:lI32|H28004BA70
-28004BA70:lI114|H28004BA80
-28004BA80:lI101|H28004BA90
-28004BA90:lI99|H28004BAA0
-28004BAA0:lI101|H28004BAB0
-28004BAB0:lI105|H28004BAC0
-28004BAC0:lI118|H28004BAD0
-28004BAD0:lI101|H28004BAE0
-28004BAE0:lI100|H28004BAF0
-28004BAF0:lI46|N
-28004BB00:t3:A4:line,A4:file,A3:mfa
-28004BB20:Mf3:H28004BB00:I2094,H28004BB50,H28004BCF0
-28004BB50:lI97|H28004BB60
-28004BB60:lI112|H28004BB70
-28004BB70:lI112|H28004BB80
-28004BB80:lI108|H28004BB90
-28004BB90:lI105|H28004BBA0
-28004BBA0:lI99|H28004BBB0
-28004BBB0:lI97|H28004BBC0
-28004BBC0:lI116|H28004BBD0
-28004BBD0:lI105|H28004BBE0
-28004BBE0:lI111|H28004BBF0
-28004BBF0:lI110|H28004BC00
-28004BC00:lI95|H28004BC10
-28004BC10:lI99|H28004BC20
-28004BC20:lI111|H28004BC30
-28004BC30:lI110|H28004BC40
-28004BC40:lI116|H28004BC50
-28004BC50:lI114|H28004BC60
-28004BC60:lI111|H28004BC70
-28004BC70:lI108|H28004BC80
-28004BC80:lI108|H28004BC90
-28004BC90:lI101|H28004BCA0
-28004BCA0:lI114|H28004BCB0
-28004BCB0:lI46|H28004BCC0
-28004BCC0:lI101|H28004BCD0
-28004BCD0:lI114|H28004BCE0
-28004BCE0:lI108|N
-28004BCF0:t3:A16:application_controller,A1B:read_fd_until_end_and_close,I3
-28004BD10:lA4:read|N
-28004BD20:lI73|H28004BD30
-28004BD30:lI110|H28004BD40
-28004BD40:lI118|H28004BD50
-28004BD50:lI97|H28004BD60
-28004BD60:lI108|H28004BD70
-28004BD70:lI105|H28004BD80
-28004BD80:lI100|H28004BD90
-28004BD90:lI32|H28004BDA0
-28004BDA0:lI102|H28004BDB0
-28004BDB0:lI105|H28004BDC0
-28004BDC0:lI108|H28004BDD0
-28004BDD0:lI101|H28004BDE0
-28004BDE0:lI32|H28004BDF0
-28004BDF0:lI100|H28004BE00
-28004BE00:lI101|H28004BE10
-28004BE10:lI115|H28004BE20
-28004BE20:lI99|H28004BE30
-28004BE30:lI114|H28004BE40
-28004BE40:lI105|H28004BE50
-28004BE50:lI112|H28004BE60
-28004BE60:lI116|H28004BE70
-28004BE70:lI111|H28004BE80
-28004BE80:lI114|N
-28004BE90:lI134217728|N
-28004BEA0:lI77|H28004BEB0
-28004BEB0:lI97|H28004BEC0
-28004BEC0:lI120|H28004BED0
-28004BED0:lI32|H28004BEE0
-28004BEE0:lI115|H28004BEF0
-28004BEF0:lI105|H28004BF00
-28004BF00:lI122|H28004BF10
-28004BF10:lI101|H28004BF20
-28004BF20:lI32|H28004BF30
-28004BF30:lI126|H28004BF40
-28004BF40:lI119|H28004BF50
-28004BF50:lI32|H28004BF60
-28004BF60:lI98|H28004BF70
-28004BF70:lI121|H28004BF80
-28004BF80:lI116|H28004BF90
-28004BF90:lI101|H28004BFA0
-28004BFA0:lI115|H28004BFB0
-28004BFB0:lI32|H28004BFC0
-28004BFC0:lI101|H28004BFD0
-28004BFD0:lI120|H28004BFE0
-28004BFE0:lI99|H28004BFF0
-28004BFF0:lI101|H28004C000
-28004C000:lI101|H28004C010
-28004C010:lI100|H28004C020
-28004C020:lI101|H28004C030
-28004C030:lI100|N
-28004C040:lI48|H28004C050
-28004C050:lI49|H28004C060
-28004C060:lI50|H28004C070
-28004C070:lI51|H28004C080
-28004C080:lI52|H28004C090
-28004C090:lI53|H28004C0A0
-28004C0A0:lI54|H28004C0B0
-28004C0B0:lI55|H28004C0C0
-28004C0C0:lI56|H28004C0D0
-28004C0D0:lI57|N
-28004C0E0:lI126|H28004C0F0
-28004C0F0:lI116|H28004C100
-28004C100:lI112|H28004C110
-28004C110:lI58|H28004C120
-28004C120:lI32|H28004C130
-28004C130:lI126|H28004C140
-28004C140:lI119|H28004C150
-28004C150:lI58|H28004C160
-28004C160:lI32|H28004C170
-28004C170:lI126|H28004C180
-28004C180:lI116|H28004C190
-28004C190:lI115|H28004C1A0
-28004C1A0:lI126|H28004C1B0
-28004C1B0:lI110|N
-28004C1C0:t3:A4:line,A4:file,A3:mfa
-28004C1E0:Mf3:H28004C1C0:I1588,H28004C210,H28004C3B0
-28004C210:lI97|H28004C220
-28004C220:lI112|H28004C230
-28004C230:lI112|H28004C240
-28004C240:lI108|H28004C250
-28004C250:lI105|H28004C260
-28004C260:lI99|H28004C270
-28004C270:lI97|H28004C280
-28004C280:lI116|H28004C290
-28004C290:lI105|H28004C2A0
-28004C2A0:lI111|H28004C2B0
-28004C2B0:lI110|H28004C2C0
-28004C2C0:lI95|H28004C2D0
-28004C2D0:lI99|H28004C2E0
-28004C2E0:lI111|H28004C2F0
-28004C2F0:lI110|H28004C300
-28004C300:lI116|H28004C310
-28004C310:lI114|H28004C320
-28004C320:lI111|H28004C330
-28004C330:lI108|H28004C340
-28004C340:lI108|H28004C350
-28004C350:lI101|H28004C360
-28004C360:lI114|H28004C370
-28004C370:lI46|H28004C380
-28004C380:lI101|H28004C390
-28004C390:lI114|H28004C3A0
-28004C3A0:lI108|N
-28004C3B0:t3:A16:application_controller,AE:do_change_apps,I3
-28004C3D0:lI108|N
-28004C3E0:lI114|H28004C3D0
-28004C3F0:lI101|H28004C3E0
-28004C400:lI46|H28004C3F0
-28004C410:lI114|H28004C400
-28004C420:lI101|H28004C410
-28004C430:lI108|H28004C420
-28004C440:lI108|H28004C430
-28004C450:lI111|H28004C440
-28004C460:lI114|H28004C450
-28004C470:lI116|H28004C460
-28004C480:lI110|H28004C470
-28004C490:lI111|H28004C480
-28004C4A0:lI99|H28004C490
-28004C4B0:lI95|H28004C4A0
-28004C4C0:lI110|H28004C4B0
-28004C4D0:lI111|H28004C4C0
-28004C4E0:lI105|H28004C4D0
-28004C4F0:lI116|H28004C4E0
-28004C500:lI97|H28004C4F0
-28004C510:lI99|H28004C500
-28004C520:lI105|H28004C510
-28004C530:lI108|H28004C520
-28004C540:lI112|H28004C530
-28004C550:lI112|H28004C540
-28004C560:lI97|H28004C550
-28004C570:E5A:g3AAAABYAQnO5ercdDL+Dqkv8OJgo/EAAAABAAAAAHcWYXBwbGljYXRpb25fY29udHJvbGxlcmEBYgBOdy9Ydw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28004C598:E5A:g3AAAABYAgnO5ercdDL+Dqkv8OJgo/EAAAAEAAAAAHcWYXBwbGljYXRpb25fY29udHJvbGxlcmEEYgBOdy9Ydw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28004C5C0:E5A:g3AAAABYAQnO5ercdDL+Dqkv8OJgo/EAAAAFAAAAAHcWYXBwbGljYXRpb25fY29udHJvbGxlcmEFYgBOdy9Ydw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28004C5E8:E5A:g3AAAABYAQnO5ercdDL+Dqkv8OJgo/EAAAAGAAAAAHcWYXBwbGljYXRpb25fY29udHJvbGxlcmEGYgBOdy9Ydw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28004C610:E5A:g3AAAABYAgnO5ercdDL+Dqkv8OJgo/EAAAAIAAAAAHcWYXBwbGljYXRpb25fY29udHJvbGxlcmEIYgBOdy9Ydw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28004C638:E5A:g3AAAABYAgnO5ercdDL+Dqkv8OJgo/EAAAAJAAAAAHcWYXBwbGljYXRpb25fY29udHJvbGxlcmEJYgBOdy9Ydw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28004C660:E5A:g3AAAABYAQnO5ercdDL+Dqkv8OJgo/EAAAAMAAAAAHcWYXBwbGljYXRpb25fY29udHJvbGxlcmEMYgBOdy9Ydw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28004C688:E5A:g3AAAABYAQnO5ercdDL+Dqkv8OJgo/EAAAANAAAAAHcWYXBwbGljYXRpb25fY29udHJvbGxlcmENYgBOdy9Ydw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28004C6B0:E5A:g3AAAABYAgnO5ercdDL+Dqkv8OJgo/EAAAAPAAAAAHcWYXBwbGljYXRpb25fY29udHJvbGxlcmEPYgBOdy9Ydw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28004C6D8:E5A:g3AAAABYAgnO5ercdDL+Dqkv8OJgo/EAAAARAAAAAHcWYXBwbGljYXRpb25fY29udHJvbGxlcmERYgBOdy9Ydw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28004C700:E5A:g3AAAABYAQnO5ercdDL+Dqkv8OJgo/EAAAASAAAAAHcWYXBwbGljYXRpb25fY29udHJvbGxlcmESYgBOdy9Ydw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28004C728:E5A:g3AAAABYAQnO5ercdDL+Dqkv8OJgo/EAAAATAAAAAHcWYXBwbGljYXRpb25fY29udHJvbGxlcmETYgBOdy9Ydw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28004C750:E5A:g3AAAABYAgnO5ercdDL+Dqkv8OJgo/EAAAAUAAAAAHcWYXBwbGljYXRpb25fY29udHJvbGxlcmEUYgBOdy9Ydw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28004C778:t2:A5:label,A6:report
-28004C790:t4:AB:chars_limit,A5:depth,A8:encoding,AB:single_line
-280052908:lAB:named_table|H280052918
-280052918:lA9:protected|N
-280052928:lI108|H280052938
-280052938:lI105|H280052948
-280052948:lI98|N
-280052958:lI46|N
-280052968:lI69|H280052978
-280052978:lI82|H280052988
-280052988:lI76|H280052998
-280052998:lI95|H2800529A8
-2800529A8:lI76|H2800529B8
-2800529B8:lI73|H2800529C8
-2800529C8:lI66|H2800529D8
-2800529D8:lI83|N
-2800529E8:lA5:flush|N
-2800529F8:t2:A6:module,AB:code_server
-280052A10:lI32|H280052A20
-280052A20:lI42|H280052A30
-280052A30:lI42|H280052A40
-280052A40:lI32|H280052A50
-280052A50:lI67|H280052A60
-280052A60:lI111|H280052A70
-280052A70:lI100|H280052A80
-280052A80:lI101|H280052A90
-280052A90:lI115|H280052AA0
-280052AA0:lI101|H280052AB0
-280052AB0:lI114|H280052AC0
-280052AC0:lI118|H280052AD0
-280052AD0:lI101|H280052AE0
-280052AE0:lI114|H280052AF0
-280052AF0:lI42|H280052B00
-280052B00:lI42|H280052B10
-280052B10:lI42|H280052B20
-280052B20:lI32|H280052B30
-280052B30:lI105|H280052B40
-280052B40:lI103|H280052B50
-280052B50:lI110|H280052B60
-280052B60:lI111|H280052B70
-280052B70:lI114|H280052B80
-280052B80:lI105|H280052B90
-280052B90:lI110|H280052BA0
-280052BA0:lI103|H280052BB0
-280052BB0:lI32|H280052BC0
-280052BC0:lI126|H280052BD0
-280052BD0:lI119|H280052BE0
-280052BE0:lI126|H280052BF0
-280052BF0:lI110|H280052C00
-280052C00:lI32|N
-280052C10:lI0|N
-280052C20:lI101|H280052C30
-280052C30:lI98|H280052C40
-280052C40:lI105|H280052C50
-280052C50:lI110|N
-280052C60:lH280052C70|N
-280052C70:lI101|H280052C80
-280052C80:lI98|H280052C90
-280052C90:lI105|H280052CA0
-280052CA0:lI110|N
-280052CB0:t2:A2:ok,H280052CC8
-280052CC8:lH280052CD8|N
-280052CD8:lH280052CE8|N
-280052CE8:lI102|H280052CF8
-280052CF8:lI97|H280052D08
-280052D08:lI108|H280052D18
-280052D18:lI115|H280052D28
-280052D28:lI101|N
-280052D38:lI45|N
-280052D48:t2:A5:error,AD:bad_directory
-280052D60:lAB:named_table|H280052D70
-280052D70:lA6:public|N
-280052D80:lI101|H280052D90
-280052D90:lI114|H280052DA0
-280052DA0:lI116|H280052DB0
-280052DB0:lI115|N
-280052DC0:t2:A5:error,A8:bad_name
-280052DD8:lI99|H280052DE8
-280052DE8:lI111|H280052DF8
-280052DF8:lI109|H280052E08
-280052E08:lI112|H280052E18
-280052E18:lI105|H280052E28
-280052E28:lI108|H280052E38
-280052E38:lI101|H280052E48
-280052E48:lI114|N
-280052E58:lI67|H280052E68
-280052E68:lI97|H280052E78
-280052E78:lI110|H280052E88
-280052E88:lI39|H280052E98
-280052E98:lI116|H280052EA8
-280052EA8:lI32|H280052EB8
-280052EB8:lI108|H280052EC8
-280052EC8:lI111|H280052ED8
-280052ED8:lI97|H280052EE8
-280052EE8:lI100|H280052EF8
-280052EF8:lI32|H280052F08
-280052F08:lI109|H280052F18
-280052F18:lI111|H280052F28
-280052F28:lI100|H280052F38
-280052F38:lI117|H280052F48
-280052F48:lI108|H280052F58
-280052F58:lI101|H280052F68
-280052F68:lI32|H280052F78
-280052F78:lI39|H280052F88
-280052F88:lI126|H280052F98
-280052F98:lI119|H280052FA8
-280052FA8:lI39|H280052FB8
-280052FB8:lI32|H280052FC8
-280052FC8:lI116|H280052FD8
-280052FD8:lI104|H280052FE8
-280052FE8:lI97|H280052FF8
-280052FF8:lI116|H280053008
-280053008:lI32|H280053018
-280053018:lI114|H280053028
-280053028:lI101|H280053038
-280053038:lI115|H280053048
-280053048:lI105|H280053058
-280053058:lI100|H280053068
-280053068:lI101|H280053078
-280053078:lI115|H280053088
-280053088:lI32|H280053098
-280053098:lI105|H2800530A8
-2800530A8:lI110|H2800530B8
-2800530B8:lI32|H2800530C8
-2800530C8:lI115|H2800530D8
-2800530D8:lI116|H2800530E8
-2800530E8:lI105|H2800530F8
-2800530F8:lI99|H280053108
-280053108:lI107|H280053118
-280053118:lI121|H280053128
-280053128:lI32|H280053138
-280053138:lI100|H280053148
-280053148:lI105|H280053158
-280053158:lI114|H280053168
-280053168:lI10|N
-280053178:t2:A5:error,A10:sticky_directory
-280053190:t2:A4:true,A7:nocache
-2800531A8:t2:A5:false,A5:cache
-2800531C0:lI58|H2800531D0
-2800531D0:lI47|N
-2800531E0:t2:A5:error,A7:on_load
-2800531F8:t2:A5:error,A8:deadlock
-280053210:t2:A5:error,AF:on_load_failure
-280053228:lH280053238|N
-280053238:t3:H280053258,H280053270,H280053298
-280053258:t2:A2:$1,A1:_
-280053270:lH280053280|N
-280053280:t2:A7:is_atom,A2:$1
-280053298:lA2:$_|N
-2800532A8:Mf0:H280010188:
-2800532C0:t1:A3:tag
-2800532D0:Mf1:H2800532C0:A5:error
-2800532F0:t2:AB:code_server,A5:error
-280053308:t1:A3:tag
-280053318:Mf1:H280053308:A8:info_msg
-280053338:lI10|N
-280053348:lI84|H280053358
-280053358:lI104|H280053368
-280053368:lI101|H280053378
-280053378:lI32|H280053388
-280053388:lI111|H280053398
-280053398:lI110|H2800533A8
-2800533A8:lI95|H2800533B8
-2800533B8:lI108|H2800533C8
-2800533C8:lI111|H2800533D8
-2800533D8:lI97|H2800533E8
-2800533E8:lI100|H2800533F8
-2800533F8:lI32|H280053408
-280053408:lI102|H280053418
-280053418:lI117|H280053428
-280053428:lI110|H280053438
-280053438:lI99|H280053448
-280053448:lI116|H280053458
-280053458:lI105|H280053468
-280053468:lI111|H280053478
-280053478:lI110|H280053488
-280053488:lI32|H280053498
-280053498:lI102|H2800534A8
-2800534A8:lI111|H2800534B8
-2800534B8:lI114|H2800534C8
-2800534C8:lI32|H2800534D8
-2800534D8:lI109|H2800534E8
-2800534E8:lI111|H2800534F8
-2800534F8:lI100|H280053508
-280053508:lI117|H280053518
-280053518:lI108|H280053528
-280053528:lI101|H280053538
-280053538:lI32|H280053548
-280053548:lI126|H280053558
-280053558:lI115|H280053568
-280053568:lI32|H280053578
-280053578:lI114|H280053588
-280053588:lI101|H280053598
-280053598:lI116|H2800535A8
-2800535A8:lI117|H2800535B8
-2800535B8:lI114|H2800535C8
-2800535C8:lI110|H2800535D8
-2800535D8:lI101|H2800535E8
-2800535E8:lI100|H2800535F8
-2800535F8:lI58|H280053608
-280053608:lI126|H280053618
-280053618:lI110|H280053628
-280053628:lI126|H280053638
-280053638:lI80|H280053648
-280053648:lI10|N
-280053658:lI76|H280053668
-280053668:lI111|H280053678
-280053678:lI97|H280053688
-280053688:lI100|H280053698
-280053698:lI105|H2800536A8
-2800536A8:lI110|H2800536B8
-2800536B8:lI103|H2800536C8
-2800536C8:lI32|H2800536D8
-2800536D8:lI111|H2800536E8
-2800536E8:lI102|H2800536F8
-2800536F8:lI32|H280053708
-280053708:lI126|H280053718
-280053718:lI116|H280053728
-280053728:lI115|H280053738
-280053738:lI32|H280053748
-280053748:lI102|H280053758
-280053758:lI97|H280053768
-280053768:lI105|H280053778
-280053778:lI108|H280053788
-280053788:lI101|H280053798
-280053798:lI100|H2800537A8
-2800537A8:lI58|H2800537B8
-2800537B8:lI32|H2800537C8
-2800537C8:lI126|H2800537D8
-2800537D8:lI112|H2800537E8
-2800537E8:lI10|N
-2800537F8:t2:A5:error,A8:embedded
-280053810:t2:A5:error,A6:nofile
-280053828:lI108|N
-280053838:lI114|H280053828
-280053848:lI101|H280053838
-280053858:lI46|H280053848
-280053868:lI114|H280053858
-280053878:lI101|H280053868
-280053888:lI118|H280053878
-280053898:lI114|H280053888
-2800538A8:lI101|H280053898
-2800538B8:lI115|H2800538A8
-2800538C8:lI95|H2800538B8
-2800538D8:lI101|H2800538C8
-2800538E8:lI100|H2800538D8
-2800538F8:lI111|H2800538E8
-280053908:lI99|H2800538F8
-280053918:E4F:g3AAAABNAdRDfzF//Rs9hGTt7lEXZC0AAAADAAAAAHcLY29kZV9zZXJ2ZXJhA2IGohv5WHcNbm9ub2RlQG5vaG9zdAAAAAAAAAAAAAAAAA==
-280053940:E4F:g3AAAABNAdRDfzF//Rs9hGTt7lEXZC0AAAAEAAAAAHcLY29kZV9zZXJ2ZXJhBGIGohv5WHcNbm9ub2RlQG5vaG9zdAAAAAAAAAAAAAAAAA==
-280053968:t4:AC:error_logger,A3:pid,A4:time,A2:gl
-28005A0C0:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-28005A0F8:Mf6:H28005A0C0:AC:logger_proxy,A9:temporary,I2000,H28005A150,A6:worker,H28005A140
-28005A140:lAC:logger_proxy|N
-28005A150:t3:AC:logger_proxy,AA:start_link,N
-28005A170:t2:A2:ok,A8:no_state
-28005A188:lA9:nosuspend|N
-28005A198:t2:A2:ok,H28005A1B0
-28005A1B0:E1B:g3F3DGxvZ2dlcl9wcm94eXcHcmVzdGFydGEA
-28005A1D8:lI126|H28005A1E8
-28005A1E8:lI119|H28005A1F8
-28005A1F8:lI32|H28005A208
-28005A208:lI115|H28005A218
-28005A218:lI119|H28005A228
-28005A228:lI105|H28005A238
-28005A238:lI116|H28005A248
-28005A248:lI99|H28005A258
-28005A258:lI104|H28005A268
-28005A268:lI101|H28005A278
-28005A278:lI100|H28005A288
-28005A288:lI32|H28005A298
-28005A298:lI102|H28005A2A8
-28005A2A8:lI114|H28005A2B8
-28005A2B8:lI111|H28005A2C8
-28005A2C8:lI109|H28005A2D8
-28005A2D8:lI32|H28005A2E8
-28005A2E8:lI126|H28005A2F8
-28005A2F8:lI119|H28005A308
-28005A308:lI32|H28005A318
-28005A318:lI116|H28005A328
-28005A328:lI111|H28005A338
-28005A338:lI32|H28005A348
-28005A348:lI126|H28005A358
-28005A358:lI119|H28005A368
-28005A368:lI32|H28005A378
-28005A378:lI109|H28005A388
-28005A388:lI111|H28005A398
-28005A398:lI100|H28005A3A8
-28005A3A8:lI101|N
-28005A3B8:t3:A4:line,A4:file,A3:mfa
-28005A3D8:Mf3:H28005A3B8:I158,H28005A408,H28005A508
-28005A408:lI108|H28005A418
-28005A418:lI111|H28005A428
-28005A428:lI103|H28005A438
-28005A438:lI103|H28005A448
-28005A448:lI101|H28005A458
-28005A458:lI114|H28005A468
-28005A468:lI95|H28005A478
-28005A478:lI112|H28005A488
-28005A488:lI114|H28005A498
-28005A498:lI111|H28005A4A8
-28005A4A8:lI120|H28005A4B8
-28005A4B8:lI121|H28005A4C8
-28005A4C8:lI46|H28005A4D8
-28005A4D8:lI101|H28005A4E8
-28005A4E8:lI114|H28005A4F8
-28005A4F8:lI108|N
-28005A508:t3:AC:logger_proxy,A6:notify,I2
-28005A528:Mf0:H280010188:
-28005A540:lI126|H28005A550
-28005A550:lI119|H28005A560
-28005A560:lI32|H28005A570
-28005A570:lI102|H28005A580
-28005A580:lI108|H28005A590
-28005A590:lI117|H28005A5A0
-28005A5A0:lI115|H28005A5B0
-28005A5B0:lI104|H28005A5C0
-28005A5C0:lI101|H28005A5D0
-28005A5D0:lI100|H28005A5E0
-28005A5E0:lI32|H28005A5F0
-28005A5F0:lI126|H28005A600
-28005A600:lI119|H28005A610
-28005A610:lI32|H28005A620
-28005A620:lI108|H28005A630
-28005A630:lI111|H28005A640
-28005A640:lI103|H28005A650
-28005A650:lI32|H28005A660
-28005A660:lI101|H28005A670
-28005A670:lI118|H28005A680
-28005A680:lI101|H28005A690
-28005A690:lI110|H28005A6A0
-28005A6A0:lI116|H28005A6B0
-28005A6B0:lI115|N
-28005A6C0:t3:A4:line,A4:file,A3:mfa
-28005A6E0:Mf3:H28005A6C0:I161,H28005A710,H28005A810
-28005A710:lI108|H28005A720
-28005A720:lI111|H28005A730
-28005A730:lI103|H28005A740
-28005A740:lI103|H28005A750
-28005A750:lI101|H28005A760
-28005A760:lI114|H28005A770
-28005A770:lI95|H28005A780
-28005A780:lI112|H28005A790
-28005A790:lI114|H28005A7A0
-28005A7A0:lI111|H28005A7B0
-28005A7B0:lI120|H28005A7C0
-28005A7C0:lI121|H28005A7D0
-28005A7D0:lI46|H28005A7E0
-28005A7E0:lI101|H28005A7F0
-28005A7F0:lI114|H28005A800
-28005A800:lI108|N
-28005A810:t3:AC:logger_proxy,A6:notify,I2
-28005A830:t3:A4:line,A4:file,A3:mfa
-28005A850:Mf3:H28005A830:I164,H28005A880,H28005A980
-28005A880:lI108|H28005A890
-28005A890:lI111|H28005A8A0
-28005A8A0:lI103|H28005A8B0
-28005A8B0:lI103|H28005A8C0
-28005A8C0:lI101|H28005A8D0
-28005A8D0:lI114|H28005A8E0
-28005A8E0:lI95|H28005A8F0
-28005A8F0:lI112|H28005A900
-28005A900:lI114|H28005A910
-28005A910:lI111|H28005A920
-28005A920:lI120|H28005A930
-28005A930:lI121|H28005A940
-28005A940:lI46|H28005A950
-28005A950:lI101|H28005A960
-28005A960:lI114|H28005A970
-28005A970:lI108|N
-28005A980:t3:AC:logger_proxy,A6:notify,I2
-28005A9A0:lH28005A9C0|H28005A9B0
-28005A9B0:lH28005AA80|N
-28005A9C0:lI126|H28005A9D0
-28005A9D0:lI119|H28005A9E0
-28005A9E0:lI32|H28005A9F0
-28005A9F0:lI114|H28005AA00
-28005AA00:lI101|H28005AA10
-28005AA10:lI115|H28005AA20
-28005AA20:lI116|H28005AA30
-28005AA30:lI97|H28005AA40
-28005AA40:lI114|H28005AA50
-28005AA50:lI116|H28005AA60
-28005AA60:lI101|H28005AA70
-28005AA70:lI100|N
-28005AA80:lAC:logger_proxy|N
-28005AA90:t2:AC:logger_proxy,AA:log_failed
-28005AAA8:t3:A4:line,A4:file,A3:mfa
-28005AAC8:Mf3:H28005AAA8:I174,H28005AAF8,H28005ABF8
-28005AAF8:lI108|H28005AB08
-28005AB08:lI111|H28005AB18
-28005AB18:lI103|H28005AB28
-28005AB28:lI103|H28005AB38
-28005AB38:lI101|H28005AB48
-28005AB48:lI114|H28005AB58
-28005AB58:lI95|H28005AB68
-28005AB68:lI112|H28005AB78
-28005AB78:lI114|H28005AB88
-28005AB88:lI111|H28005AB98
-28005AB98:lI120|H28005ABA8
-28005ABA8:lI121|H28005ABB8
-28005ABB8:lI46|H28005ABC8
-28005ABC8:lI101|H28005ABD8
-28005ABD8:lI114|H28005ABE8
-28005ABE8:lI108|N
-28005ABF8:t3:AC:logger_proxy,A7:try_log,I1
-28005AC18:lI108|N
-28005AC28:lI114|H28005AC18
-28005AC38:lI101|H28005AC28
-28005AC48:lI46|H28005AC38
-28005AC58:lI121|H28005AC48
-28005AC68:lI120|H28005AC58
-28005AC78:lI111|H28005AC68
-28005AC88:lI114|H28005AC78
-28005AC98:lI112|H28005AC88
-28005ACA8:lI95|H28005AC98
-28005ACB8:lI114|H28005ACA8
-28005ACC8:lI101|H28005ACB8
-28005ACD8:lI103|H28005ACC8
-28005ACE8:lI103|H28005ACD8
-28005ACF8:lI111|H28005ACE8
-28005AD08:lI108|H28005ACF8
-28005B2F8:t2:N,N
-28005B310:t2:A5:empty,H28005B328
-28005B328:t2:N,N
-28005B340:lH28005B350|N
-28005B350:t2:N,N
-28005B368:lI108|N
-28005B378:lI114|H28005B368
-28005B388:lI101|H28005B378
-28005B398:lI46|H28005B388
-28005B3A8:lI101|H28005B398
-28005B3B8:lI117|H28005B3A8
-28005B3C8:lI101|H28005B3B8
-28005B3D8:lI117|H28005B3C8
-28005B3E8:lI113|H28005B3D8
-280061C80:t2:I0,A3:nil
-280061C98:t2:I1,I1
-280061CB0:t2:I1,I0
-280061CC8:lI108|N
-280061CD8:lI114|H280061CC8
-280061CE8:lI101|H280061CD8
-280061CF8:lI46|H280061CE8
-280061D08:lI115|H280061CF8
-280061D18:lI101|H280061D08
-280061D28:lI101|H280061D18
-280061D38:lI114|H280061D28
-280061D48:lI116|H280061D38
-280061D58:lI95|H280061D48
-280061D68:lI98|H280061D58
-280061D78:lI103|H280061D68
-280068C20:t2:A5:local,A12:standard_error_sup
-280068C38:lA3:out|H280068C48
-280068C48:lA6:binary|N
-280068C58:t2:A5:error,AB:no_stderror
-280068C70:t3:A2:fd,I2,I2
-280068C90:lA6:native|N
-280068CA0:t2:A5:error,H280068CB8
-280068CB8:t2:A5:error,A9:put_chars
-280068CD0:t2:A2:ok,A2:ok
-280068CE8:t2:A5:error,H280068D00
-280068D00:t2:A5:error,A7:enotsup
-280068D18:t2:A8:encoding,A4:utf8
-280068D30:t2:A8:encoding,A7:unicode
-280068D48:t2:A8:encoding,A6:latin1
-280068D60:lI13|H280068D70
-280068D70:lI10|N
-280068D80:lI125|N
-280068D90:lI92|H280068DA0
-280068DA0:lI120|H280068DB0
-280068DB0:lI123|N
-280068DC0:lI108|N
-280068DD0:lI114|H280068DC0
-280068DE0:lI101|H280068DD0
-280068DF0:lI46|H280068DE0
-280068E00:lI114|H280068DF0
-280068E10:lI111|H280068E00
-280068E20:lI114|H280068E10
-280068E30:lI114|H280068E20
-280068E40:lI101|H280068E30
-280068E50:lI95|H280068E40
-280068E60:lI100|H280068E50
-280068E70:lI114|H280068E60
-280068E80:lI97|H280068E70
-280068E90:lI100|H280068E80
-280068EA0:lI110|H280068E90
-280068EB0:lI97|H280068EA0
-280068EC0:lI116|H280068EB0
-280068ED0:lI115|H280068EC0
-280068EE0:E52:g3AAAABQAerTAUbpHNfN5LUoR+s7ypAAAAABAAAAAHcOc3RhbmRhcmRfZXJyb3JhAWIHVpgKWHcNbm9ub2RlQG5vaG9zdAAAAAAAAAAAAAAAAA==
-280070EF0:lH280070F00|N
-280070F00:t2:A9:spawn_opt,H280070F18
-280070F18:lH280070F28|N
-280070F28:t2:A12:message_queue_data,A8:off_heap
-280070F40:t2:A5:local,A3:rex
-280070F58:Mf0:H280010188:
-280070F70:t2:A6:badrpc,H280070F88
-280070F88:t2:A4:EXIT,AC:system_limit
-280070FA0:lA4:erpc|N
-280070FB0:t2:A6:badrpc,A7:timeout
-280070FC8:t2:A6:badrpc,A6:notsup
-280070FE0:t2:A6:badrpc,A8:nodedown
-280070FF8:t2:A5:error,A8:nodedown
-280071010:lA5:flush|N
-280071020:t2:A4:erpc,A6:badarg
-280071038:t2:A5:error,A7:enotsup
-280071050:t2:A5:error,A7:request
-280071068:lH280071088|H280071078
-280071078:lA9:protected|N
-280071088:t2:A10:read_concurrency,A4:true
-2800710A0:lI108|N
-2800710B0:lI114|H2800710A0
-2800710C0:lI101|H2800710B0
-2800710D0:lI46|H2800710C0
-2800710E0:lI99|H2800710D0
-2800710F0:lI112|H2800710E0
-280071100:lI114|H2800710F0
-280071110:t1:AE:nodes_observer
-280071120:E47:g3AAAABFAIbTaQSrg2lQNTtMKFV2UOkAAAACAAAAAHcDcnBjYQJiBDabSFh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-280071148:E47:g3AAAABFAIbTaQSrg2lQNTtMKFV2UOkAAAADAAAAAHcDcnBjYQNiBDabSFh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-280071170:E47:g3AAAABFAYbTaQSrg2lQNTtMKFV2UOkAAAAHAAAAAHcDcnBjYQdiBDabSFh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-2800711F8:t2:A5:local,A12:global_name_server
-280071210:t2:A2:ok,A5:allow
-280071228:lI103|H280071238
-280071238:lI108|H280071248
-280071248:lI111|H280071258
-280071258:lI98|H280071268
-280071268:lI97|H280071278
-280071278:lI108|H280071288
-280071288:lI58|H280071298
-280071298:lI32|H2800712A8
-2800712A8:lI126|H2800712B8
-2800712B8:lI119|H2800712C8
-2800712C8:lI32|H2800712D8
-2800712D8:lI114|H2800712E8
-2800712E8:lI101|H2800712F8
-2800712F8:lI103|H280071308
-280071308:lI105|H280071318
-280071318:lI115|H280071328
-280071328:lI116|H280071338
-280071338:lI101|H280071348
-280071348:lI114|H280071358
-280071358:lI101|H280071368
-280071368:lI100|H280071378
-280071378:lI32|H280071388
-280071388:lI117|H280071398
-280071398:lI110|H2800713A8
-2800713A8:lI100|H2800713B8
-2800713B8:lI101|H2800713C8
-2800713C8:lI114|H2800713D8
-2800713D8:lI32|H2800713E8
-2800713E8:lI115|H2800713F8
-2800713F8:lI101|H280071408
-280071408:lI118|H280071418
-280071418:lI101|H280071428
-280071428:lI114|H280071438
-280071438:lI97|H280071448
-280071448:lI108|H280071458
-280071458:lI32|H280071468
-280071468:lI110|H280071478
-280071478:lI97|H280071488
-280071488:lI109|H280071498
-280071498:lI101|H2800714A8
-2800714A8:lI115|H2800714B8
-2800714B8:lI58|H2800714C8
-2800714C8:lI32|H2800714D8
-2800714D8:lI126|H2800714E8
-2800714E8:lI116|H2800714F8
-2800714F8:lI119|H280071508
-280071508:lI10|N
-280071518:lH280071528|N
-280071528:t3:H280071548,N,H280071570
-280071548:t4:A2:$1,A2:$2,A2:$3,A2:$4
-280071570:lA2:$1|N
-280071580:t1:AD:connection_id
-280071590:Mf1:H280071580:A4:true
-2800715B0:Mf0:H280010188:
-2800715C8:lA3:set|H2800715D8
-2800715D8:lAB:named_table|H2800715E8
-2800715E8:lA9:protected|N
-2800715F8:lA3:set|H280071608
-280071608:lAB:named_table|H280071618
-280071618:lA9:protected|H280071628
-280071628:lH280071638|N
-280071638:t2:A10:read_concurrency,A4:true
-280071650:lA3:bag|H280071660
-280071660:lAB:named_table|H280071670
-280071670:lA9:protected|N
-280071680:lI71|H280071690
-280071690:lI76|H2800716A0
-2800716A0:lI79|H2800716B0
-2800716B0:lI66|H2800716C0
-2800716C0:lI65|H2800716D0
-2800716D0:lI76|H2800716E0
-2800716E0:lI95|H2800716F0
-2800716F0:lI72|H280071700
-280071700:lI73|H280071710
-280071710:lI71|H280071720
-280071720:lI72|H280071730
-280071730:lI95|H280071740
-280071740:lI76|H280071750
-280071750:lI69|H280071760
-280071760:lI86|H280071770
-280071770:lI69|H280071780
-280071780:lI76|H280071790
-280071790:lI95|H2800717A0
-2800717A0:lI84|H2800717B0
-2800717B0:lI82|H2800717C0
-2800717C0:lI65|H2800717D0
-2800717D0:lI67|H2800717E0
-2800717E0:lI69|N
-2800717F0:lI84|H280071800
-280071800:lI82|H280071810
-280071810:lI85|H280071820
-280071820:lI69|N
-280071830:lI102|H280071840
-280071840:lI97|H280071850
-280071850:lI108|H280071860
-280071860:lI115|H280071870
-280071870:lI101|N
-280071880:lH280071890|N
-280071890:t2:A7:timeout,A8:infinity
-2800718A8:t2:A8:do_trace,A5:false
-2800718C0:t2:A8:do_trace,A4:true
-2800718D8:lI84|H2800718E8
-2800718E8:lI104|H2800718F8
-2800718F8:lI101|H280071908
-280071908:lI32|H280071918
-280071918:lI103|H280071928
-280071928:lI108|H280071938
-280071938:lI111|H280071948
-280071948:lI98|H280071958
-280071958:lI97|H280071968
-280071968:lI108|H280071978
-280071978:lI95|H280071988
-280071988:lI110|H280071998
-280071998:lI97|H2800719A8
-2800719A8:lI109|H2800719B8
-2800719B8:lI101|H2800719C8
-2800719C8:lI95|H2800719D8
-2800719D8:lI115|H2800719E8
-2800719E8:lI101|H2800719F8
-2800719F8:lI114|H280071A08
-280071A08:lI118|H280071A18
-280071A18:lI101|H280071A28
-280071A28:lI114|H280071A38
-280071A38:lI32|H280071A48
-280071A48:lI114|H280071A58
-280071A58:lI101|H280071A68
-280071A68:lI99|H280071A78
-280071A78:lI101|H280071A88
-280071A88:lI105|H280071A98
-280071A98:lI118|H280071AA8
-280071AA8:lI101|H280071AB8
-280071AB8:lI100|H280071AC8
-280071AC8:lI32|H280071AD8
-280071AD8:lI97|H280071AE8
-280071AE8:lI110|H280071AF8
-280071AF8:lI32|H280071B08
-280071B08:lI117|H280071B18
-280071B18:lI110|H280071B28
-280071B28:lI101|H280071B38
-280071B38:lI120|H280071B48
-280071B48:lI112|H280071B58
-280071B58:lI101|H280071B68
-280071B68:lI99|H280071B78
-280071B78:lI116|H280071B88
-280071B88:lI101|H280071B98
-280071B98:lI100|H280071BA8
-280071BA8:lI32|H280071BB8
-280071BB8:lI109|H280071BC8
-280071BC8:lI101|H280071BD8
-280071BD8:lI115|H280071BE8
-280071BE8:lI115|H280071BF8
-280071BF8:lI97|H280071C08
-280071C08:lI103|H280071C18
-280071C18:lI101|H280071C28
-280071C28:lI58|H280071C38
-280071C38:lI10|H280071C48
-280071C48:lI104|H280071C58
-280071C58:lI97|H280071C68
-280071C68:lI110|H280071C78
-280071C78:lI100|H280071C88
-280071C88:lI108|H280071C98
-280071C98:lI101|H280071CA8
-280071CA8:lI95|H280071CB8
-280071CB8:lI99|H280071CC8
-280071CC8:lI97|H280071CD8
-280071CD8:lI108|H280071CE8
-280071CE8:lI108|H280071CF8
-280071CF8:lI40|H280071D08
-280071D08:lI126|H280071D18
-280071D18:lI116|H280071D28
-280071D28:lI112|H280071D38
-280071D38:lI44|H280071D48
-280071D48:lI32|H280071D58
-280071D58:lI126|H280071D68
-280071D68:lI116|H280071D78
-280071D78:lI112|H280071D88
-280071D88:lI44|H280071D98
-280071D98:lI32|H280071DA8
-280071DA8:lI95|H280071DB8
-280071DB8:lI41|H280071DC8
-280071DC8:lI10|N
-280071DD8:lI73|H280071DE8
-280071DE8:lI108|H280071DF8
-280071DF8:lI108|H280071E08
-280071E08:lI101|H280071E18
-280071E18:lI103|H280071E28
-280071E28:lI97|H280071E38
-280071E38:lI108|H280071E48
-280071E48:lI32|H280071E58
-280071E58:lI103|H280071E68
-280071E68:lI108|H280071E78
-280071E78:lI111|H280071E88
-280071E88:lI98|H280071E98
-280071E98:lI97|H280071EA8
-280071EA8:lI108|H280071EB8
-280071EB8:lI32|H280071EC8
-280071EC8:lI112|H280071ED8
-280071ED8:lI114|H280071EE8
-280071EE8:lI111|H280071EF8
-280071EF8:lI116|H280071F08
-280071F08:lI111|H280071F18
-280071F18:lI99|H280071F28
-280071F28:lI111|H280071F38
-280071F38:lI108|H280071F48
-280071F48:lI32|H280071F58
-280071F58:lI118|H280071F68
-280071F68:lI101|H280071F78
-280071F78:lI114|H280071F88
-280071F88:lI115|H280071F98
-280071F98:lI105|H280071FA8
-280071FA8:lI111|H280071FB8
-280071FB8:lI110|H280071FC8
-280071FC8:lI32|H280071FD8
-280071FD8:lI126|H280071FE8
-280071FE8:lI112|H280071FF8
-280071FF8:lI32|H280072008
-280072008:lI78|H280072018
-280072018:lI111|H280072028
-280072028:lI100|H280072038
-280072038:lI101|H280072048
-280072048:lI58|H280072058
-280072058:lI32|H280072068
-280072068:lI126|H280072078
-280072078:lI112|H280072088
-280072088:lI10|N
-280072098:lI84|H2800720A8
-2800720A8:lI104|H2800720B8
-2800720B8:lI101|H2800720C8
-2800720C8:lI32|H2800720D8
-2800720D8:lI103|H2800720E8
-2800720E8:lI108|H2800720F8
-2800720F8:lI111|H280072108
-280072108:lI98|H280072118
-280072118:lI97|H280072128
-280072128:lI108|H280072138
-280072138:lI95|H280072148
-280072148:lI110|H280072158
-280072158:lI97|H280072168
-280072168:lI109|H280072178
-280072178:lI101|H280072188
-280072188:lI95|H280072198
-280072198:lI115|H2800721A8
-2800721A8:lI101|H2800721B8
-2800721B8:lI114|H2800721C8
-2800721C8:lI118|H2800721D8
-2800721D8:lI101|H2800721E8
-2800721E8:lI114|H2800721F8
-2800721F8:lI32|H280072208
-280072208:lI114|H280072218
-280072218:lI101|H280072228
-280072228:lI99|H280072238
-280072238:lI101|H280072248
-280072248:lI105|H280072258
-280072258:lI118|H280072268
-280072268:lI101|H280072278
-280072278:lI100|H280072288
-280072288:lI32|H280072298
-280072298:lI97|H2800722A8
-2800722A8:lI110|H2800722B8
-2800722B8:lI32|H2800722C8
-2800722C8:lI117|H2800722D8
-2800722D8:lI110|H2800722E8
-2800722E8:lI101|H2800722F8
-2800722F8:lI120|H280072308
-280072308:lI112|H280072318
-280072318:lI101|H280072328
-280072328:lI99|H280072338
-280072338:lI116|H280072348
-280072348:lI101|H280072358
-280072358:lI100|H280072368
-280072368:lI32|H280072378
-280072378:lI109|H280072388
-280072388:lI101|H280072398
-280072398:lI115|H2800723A8
-2800723A8:lI115|H2800723B8
-2800723B8:lI97|H2800723C8
-2800723C8:lI103|H2800723D8
-2800723D8:lI101|H2800723E8
-2800723E8:lI58|H2800723F8
-2800723F8:lI10|H280072408
-280072408:lI104|H280072418
-280072418:lI97|H280072428
-280072428:lI110|H280072438
-280072438:lI100|H280072448
-280072448:lI108|H280072458
-280072458:lI101|H280072468
-280072468:lI95|H280072478
-280072478:lI99|H280072488
-280072488:lI97|H280072498
-280072498:lI115|H2800724A8
-2800724A8:lI116|H2800724B8
-2800724B8:lI40|H2800724C8
-2800724C8:lI126|H2800724D8
-2800724D8:lI116|H2800724E8
-2800724E8:lI112|H2800724F8
-2800724F8:lI44|H280072508
-280072508:lI32|H280072518
-280072518:lI95|H280072528
-280072528:lI41|H280072538
-280072538:lI10|N
-280072548:t3:A4:conf,A4:true,A4:true
-280072568:lI100|H280072578
-280072578:lI105|H280072588
-280072588:lI115|H280072598
-280072598:lI99|H2800725A8
-2800725A8:lI111|H2800725B8
-2800725B8:lI110|H2800725C8
-2800725C8:lI110|H2800725D8
-2800725D8:lI101|H2800725E8
-2800725E8:lI99|H2800725F8
-2800725F8:lI116|H280072608
-280072608:lI101|H280072618
-280072618:lI100|H280072628
-280072628:lI32|H280072638
-280072638:lI111|H280072648
-280072648:lI108|H280072658
-280072658:lI100|N
-280072668:lI101|H280072678
-280072678:lI120|H280072688
-280072688:lI99|H280072698
-280072698:lI108|H2800726A8
-2800726A8:lI117|H2800726B8
-2800726B8:lI100|H2800726C8
-2800726C8:lI101|H2800726D8
-2800726D8:lI100|H2800726E8
-2800726E8:lI32|H2800726F8
-2800726F8:lI103|H280072708
-280072708:lI108|H280072718
-280072718:lI111|H280072728
-280072728:lI98|H280072738
-280072738:lI97|H280072748
-280072748:lI108|H280072758
-280072758:lI32|H280072768
-280072768:lI103|H280072778
-280072778:lI114|H280072788
-280072788:lI111|H280072798
-280072798:lI117|H2800727A8
-2800727A8:lI112|H2800727B8
-2800727B8:lI32|H2800727C8
-2800727C8:lI109|H2800727D8
-2800727D8:lI101|H2800727E8
-2800727E8:lI109|H2800727F8
-2800727F8:lI98|H280072808
-280072808:lI101|H280072818
-280072818:lI114|N
-280072828:lI114|H280072838
-280072838:lI101|H280072848
-280072848:lI113|H280072858
-280072858:lI117|H280072868
-280072868:lI101|H280072878
-280072878:lI115|H280072888
-280072888:lI116|H280072898
-280072898:lI101|H2800728A8
-2800728A8:lI100|H2800728B8
-2800728B8:lI32|H2800728C8
-2800728C8:lI100|H2800728D8
-2800728D8:lI105|H2800728E8
-2800728E8:lI115|H2800728F8
-2800728F8:lI99|H280072908
-280072908:lI111|H280072918
-280072918:lI110|H280072928
-280072928:lI110|H280072938
-280072938:lI101|H280072948
-280072948:lI99|H280072958
-280072958:lI116|H280072968
-280072968:lI32|H280072978
-280072978:lI102|H280072988
-280072988:lI114|H280072998
-280072998:lI111|H2800729A8
-2800729A8:lI109|N
-2800729B8:lI39|H2800729C8
-2800729C8:lI103|H2800729D8
-2800729D8:lI108|H2800729E8
-2800729E8:lI111|H2800729F8
-2800729F8:lI98|H280072A08
-280072A08:lI97|H280072A18
-280072A18:lI108|H280072A28
-280072A28:lI39|H280072A38
-280072A38:lI32|H280072A48
-280072A48:lI97|H280072A58
-280072A58:lI116|H280072A68
-280072A68:lI32|H280072A78
-280072A78:lI110|H280072A88
-280072A88:lI111|H280072A98
-280072A98:lI100|H280072AA8
-280072AA8:lI101|H280072AB8
-280072AB8:lI32|H280072AC8
-280072AC8:lI126|H280072AD8
-280072AD8:lI112|H280072AE8
-280072AE8:lI32|H280072AF8
-280072AF8:lI126|H280072B08
-280072B08:lI115|H280072B18
-280072B18:lI32|H280072B28
-280072B28:lI110|H280072B38
-280072B38:lI111|H280072B48
-280072B48:lI100|H280072B58
-280072B58:lI101|H280072B68
-280072B68:lI32|H280072B78
-280072B78:lI126|H280072B88
-280072B88:lI112|H280072B98
-280072B98:lI32|H280072BA8
-280072BA8:lI105|H280072BB8
-280072BB8:lI110|H280072BC8
-280072BC8:lI32|H280072BD8
-280072BD8:lI111|H280072BE8
-280072BE8:lI114|H280072BF8
-280072BF8:lI100|H280072C08
-280072C08:lI101|H280072C18
-280072C18:lI114|H280072C28
-280072C28:lI32|H280072C38
-280072C38:lI116|H280072C48
-280072C48:lI111|H280072C58
-280072C58:lI32|H280072C68
-280072C68:lI112|H280072C78
-280072C78:lI114|H280072C88
-280072C88:lI101|H280072C98
-280072C98:lI118|H280072CA8
-280072CA8:lI101|H280072CB8
-280072CB8:lI110|H280072CC8
-280072CC8:lI116|H280072CD8
-280072CD8:lI32|H280072CE8
-280072CE8:lI111|H280072CF8
-280072CF8:lI118|H280072D08
-280072D08:lI101|H280072D18
-280072D18:lI114|H280072D28
-280072D28:lI108|H280072D38
-280072D38:lI97|H280072D48
-280072D48:lI112|H280072D58
-280072D58:lI112|H280072D68
-280072D68:lI105|H280072D78
-280072D78:lI110|H280072D88
-280072D88:lI103|H280072D98
-280072D98:lI32|H280072DA8
-280072DA8:lI112|H280072DB8
-280072DB8:lI97|H280072DC8
-280072DC8:lI114|H280072DD8
-280072DD8:lI116|H280072DE8
-280072DE8:lI105|H280072DF8
-280072DF8:lI116|H280072E08
-280072E08:lI105|H280072E18
-280072E18:lI111|H280072E28
-280072E28:lI110|H280072E38
-280072E38:lI115|N
-280072E48:t3:A4:conf,A5:false,A5:false
-280072E68:lI100|H280072E78
-280072E78:lI105|H280072E88
-280072E88:lI115|H280072E98
-280072E98:lI99|H280072EA8
-280072EA8:lI111|H280072EB8
-280072EB8:lI110|H280072EC8
-280072EC8:lI110|H280072ED8
-280072ED8:lI101|H280072EE8
-280072EE8:lI99|H280072EF8
-280072EF8:lI116|H280072F08
-280072F08:lI101|H280072F18
-280072F18:lI100|N
-280072F28:lI62|H280072F38
-280072F38:lI62|H280072F48
-280072F48:lI62|H280072F58
-280072F58:lI62|H280072F68
-280072F68:lI32|H280072F78
-280072F78:lI126|H280072F88
-280072F88:lI112|H280072F98
-280072F98:lI10|N
-280072FA8:lI84|H280072FB8
-280072FB8:lI104|H280072FC8
-280072FC8:lI101|H280072FD8
-280072FD8:lI32|H280072FE8
-280072FE8:lI103|H280072FF8
-280072FF8:lI108|H280073008
-280073008:lI111|H280073018
-280073018:lI98|H280073028
-280073028:lI97|H280073038
-280073038:lI108|H280073048
-280073048:lI95|H280073058
-280073058:lI110|H280073068
-280073068:lI97|H280073078
-280073078:lI109|H280073088
-280073088:lI101|H280073098
-280073098:lI95|H2800730A8
-2800730A8:lI115|H2800730B8
-2800730B8:lI101|H2800730C8
-2800730C8:lI114|H2800730D8
-2800730D8:lI118|H2800730E8
-2800730E8:lI101|H2800730F8
-2800730F8:lI114|H280073108
-280073108:lI32|H280073118
-280073118:lI114|H280073128
-280073128:lI101|H280073138
-280073138:lI99|H280073148
-280073148:lI101|H280073158
-280073158:lI105|H280073168
-280073168:lI118|H280073178
-280073178:lI101|H280073188
-280073188:lI100|H280073198
-280073198:lI32|H2800731A8
-2800731A8:lI97|H2800731B8
-2800731B8:lI110|H2800731C8
-2800731C8:lI32|H2800731D8
-2800731D8:lI117|H2800731E8
-2800731E8:lI110|H2800731F8
-2800731F8:lI101|H280073208
-280073208:lI120|H280073218
-280073218:lI112|H280073228
-280073228:lI101|H280073238
-280073238:lI99|H280073248
-280073248:lI116|H280073258
-280073258:lI101|H280073268
-280073268:lI100|H280073278
-280073278:lI32|H280073288
-280073288:lI109|H280073298
-280073298:lI101|H2800732A8
-2800732A8:lI115|H2800732B8
-2800732B8:lI115|H2800732C8
-2800732C8:lI97|H2800732D8
-2800732D8:lI103|H2800732E8
-2800732E8:lI101|H2800732F8
-2800732F8:lI58|H280073308
-280073308:lI10|H280073318
-280073318:lI104|H280073328
-280073328:lI97|H280073338
-280073338:lI110|H280073348
-280073348:lI100|H280073358
-280073358:lI108|H280073368
-280073368:lI101|H280073378
-280073378:lI95|H280073388
-280073388:lI105|H280073398
-280073398:lI110|H2800733A8
-2800733A8:lI102|H2800733B8
-2800733B8:lI111|H2800733C8
-2800733C8:lI40|H2800733D8
-2800733D8:lI126|H2800733E8
-2800733E8:lI116|H2800733F8
-2800733F8:lI112|H280073408
-280073408:lI44|H280073418
-280073418:lI32|H280073428
-280073428:lI95|H280073438
-280073438:lI41|H280073448
-280073448:lI10|N
-280073458:lI39|H280073468
-280073468:lI103|H280073478
-280073478:lI108|H280073488
-280073488:lI111|H280073498
-280073498:lI98|H2800734A8
-2800734A8:lI97|H2800734B8
-2800734B8:lI108|H2800734C8
-2800734C8:lI39|H2800734D8
-2800734D8:lI32|H2800734E8
-2800734E8:lI97|H2800734F8
-2800734F8:lI116|H280073508
-280073508:lI32|H280073518
-280073518:lI110|H280073528
-280073528:lI111|H280073538
-280073538:lI100|H280073548
-280073548:lI101|H280073558
-280073558:lI32|H280073568
-280073568:lI126|H280073578
-280073578:lI112|H280073588
-280073588:lI32|H280073598
-280073598:lI103|H2800735A8
-2800735A8:lI111|H2800735B8
-2800735B8:lI116|H2800735C8
-2800735C8:lI32|H2800735D8
-2800735D8:lI97|H2800735E8
-2800735E8:lI110|H2800735F8
-2800735F8:lI32|H280073608
-280073608:lI111|H280073618
-280073618:lI117|H280073628
-280073628:lI116|H280073638
-280073638:lI32|H280073648
-280073648:lI111|H280073658
-280073658:lI102|H280073668
-280073668:lI32|H280073678
-280073678:lI115|H280073688
-280073688:lI121|H280073698
-280073698:lI110|H2800736A8
-2800736A8:lI99|H2800736B8
-2800736B8:lI32|H2800736C8
-2800736C8:lI99|H2800736D8
-2800736D8:lI111|H2800736E8
-2800736E8:lI110|H2800736F8
-2800736F8:lI110|H280073708
-280073708:lI101|H280073718
-280073718:lI99|H280073728
-280073728:lI116|H280073738
-280073738:lI105|H280073748
-280073748:lI111|H280073758
-280073758:lI110|H280073768
-280073768:lI32|H280073778
-280073778:lI97|H280073788
-280073788:lI116|H280073798
-280073798:lI116|H2800737A8
-2800737A8:lI101|H2800737B8
-2800737B8:lI109|H2800737C8
-2800737C8:lI112|H2800737D8
-2800737D8:lI116|H2800737E8
-2800737E8:lI32|H2800737F8
-2800737F8:lI102|H280073808
-280073808:lI114|H280073818
-280073818:lI111|H280073828
-280073828:lI109|H280073838
-280073838:lI32|H280073848
-280073848:lI111|H280073858
-280073858:lI108|H280073868
-280073868:lI100|H280073878
-280073878:lI32|H280073888
-280073888:lI118|H280073898
-280073898:lI101|H2800738A8
-2800738A8:lI114|H2800738B8
-2800738B8:lI115|H2800738C8
-2800738C8:lI105|H2800738D8
-2800738D8:lI111|H2800738E8
-2800738E8:lI110|H2800738F8
-2800738F8:lI32|H280073908
-280073908:lI126|H280073918
-280073918:lI112|H280073928
-280073928:lI32|H280073938
-280073938:lI110|H280073948
-280073948:lI111|H280073958
-280073958:lI100|H280073968
-280073968:lI101|H280073978
-280073978:lI32|H280073988
-280073988:lI126|H280073998
-280073998:lI112|H2800739A8
-2800739A8:lI46|H2800739B8
-2800739B8:lI32|H2800739C8
-2800739C8:lI68|H2800739D8
-2800739D8:lI105|H2800739E8
-2800739E8:lI115|H2800739F8
-2800739F8:lI99|H280073A08
-280073A08:lI111|H280073A18
-280073A18:lI110|H280073A28
-280073A28:lI110|H280073A38
-280073A38:lI101|H280073A48
-280073A48:lI99|H280073A58
-280073A58:lI116|H280073A68
-280073A68:lI105|H280073A78
-280073A78:lI110|H280073A88
-280073A88:lI103|H280073A98
-280073A98:lI32|H280073AA8
-280073AA8:lI102|H280073AB8
-280073AB8:lI114|H280073AC8
-280073AC8:lI111|H280073AD8
-280073AD8:lI109|H280073AE8
-280073AE8:lI32|H280073AF8
-280073AF8:lI105|H280073B08
-280073B08:lI116|H280073B18
-280073B18:lI46|N
-280073B28:t2:A4:true,N
-280073B40:lA5:flush|N
-280073B50:lA15:allow_passive_connect|N
-280073B60:lI39|H280073B70
-280073B70:lI103|H280073B80
-280073B80:lI108|H280073B90
-280073B90:lI111|H280073BA0
-280073BA0:lI98|H280073BB0
-280073BB0:lI97|H280073BC0
-280073BC0:lI108|H280073BD0
-280073BD0:lI39|H280073BE0
-280073BE0:lI32|H280073BF0
-280073BF0:lI97|H280073C00
-280073C00:lI116|H280073C10
-280073C10:lI32|H280073C20
-280073C20:lI126|H280073C30
-280073C30:lI119|H280073C40
-280073C40:lI32|H280073C50
-280073C50:lI102|H280073C60
-280073C60:lI97|H280073C70
-280073C70:lI105|H280073C80
-280073C80:lI108|H280073C90
-280073C90:lI101|H280073CA0
-280073CA0:lI100|H280073CB0
-280073CB0:lI32|H280073CC0
-280073CC0:lI116|H280073CD0
-280073CD0:lI111|H280073CE0
-280073CE0:lI32|H280073CF0
-280073CF0:lI99|H280073D00
-280073D00:lI111|H280073D10
-280073D10:lI110|H280073D20
-280073D20:lI110|H280073D30
-280073D30:lI101|H280073D40
-280073D40:lI99|H280073D50
-280073D50:lI116|H280073D60
-280073D60:lI32|H280073D70
-280073D70:lI116|H280073D80
-280073D80:lI111|H280073D90
-280073D90:lI32|H280073DA0
-280073DA0:lI126|H280073DB0
-280073DB0:lI119|H280073DC0
-280073DC0:lI10|N
-280073DD0:lA9:noconnect|N
-280073DE0:lI103|H280073DF0
-280073DF0:lI108|H280073E00
-280073E00:lI111|H280073E10
-280073E10:lI98|H280073E20
-280073E20:lI97|H280073E30
-280073E30:lI108|H280073E40
-280073E40:lI58|H280073E50
-280073E50:lI32|H280073E60
-280073E60:lI98|H280073E70
-280073E70:lI97|H280073E80
-280073E80:lI100|H280073E90
-280073E90:lI114|H280073EA0
-280073EA0:lI112|H280073EB0
-280073EB0:lI99|H280073EC0
-280073EC0:lI32|H280073ED0
-280073ED0:lI126|H280073EE0
-280073EE0:lI119|H280073EF0
-280073EF0:lI32|H280073F00
-280073F00:lI114|H280073F10
-280073F10:lI101|H280073F20
-280073F20:lI99|H280073F30
-280073F30:lI101|H280073F40
-280073F40:lI105|H280073F50
-280073F50:lI118|H280073F60
-280073F60:lI101|H280073F70
-280073F70:lI100|H280073F80
-280073F80:lI32|H280073F90
-280073F90:lI119|H280073FA0
-280073FA0:lI104|H280073FB0
-280073FB0:lI101|H280073FC0
-280073FC0:lI110|H280073FD0
-280073FD0:lI32|H280073FE0
-280073FE0:lI99|H280073FF0
-280073FF0:lI111|H280074000
-280074000:lI110|H280074010
-280074010:lI102|H280074020
-280074020:lI108|H280074030
-280074030:lI105|H280074040
-280074040:lI99|H280074050
-280074050:lI116|H280074060
-280074060:lI105|H280074070
-280074070:lI110|H280074080
-280074080:lI103|H280074090
-280074090:lI32|H2800740A0
-2800740A0:lI110|H2800740B0
-2800740B0:lI97|H2800740C0
-2800740C0:lI109|H2800740D0
-2800740D0:lI101|H2800740E0
-2800740E0:lI32|H2800740F0
-2800740F0:lI126|H280074100
-280074100:lI116|H280074110
-280074110:lI119|H280074120
-280074120:lI32|H280074130
-280074130:lI119|H280074140
-280074140:lI97|H280074150
-280074150:lI115|H280074160
-280074160:lI32|H280074170
-280074170:lI102|H280074180
-280074180:lI111|H280074190
-280074190:lI117|H2800741A0
-2800741A0:lI110|H2800741B0
-2800741B0:lI100|H2800741C0
-2800741C0:lI10|N
-2800741D0:lI103|H2800741E0
-2800741E0:lI108|H2800741F0
-2800741F0:lI111|H280074200
-280074200:lI98|H280074210
-280074210:lI97|H280074220
-280074220:lI108|H280074230
-280074230:lI58|H280074240
-280074240:lI32|H280074250
-280074250:lI82|H280074260
-280074260:lI101|H280074270
-280074270:lI115|H280074280
-280074280:lI111|H280074290
-280074290:lI108|H2800742A0
-2800742A0:lI118|H2800742B0
-2800742B0:lI101|H2800742C0
-2800742C0:lI32|H2800742D0
-2800742D0:lI109|H2800742E0
-2800742E0:lI101|H2800742F0
-2800742F0:lI116|H280074300
-280074300:lI104|H280074310
-280074310:lI111|H280074320
-280074320:lI100|H280074330
-280074330:lI32|H280074340
-280074340:lI126|H280074350
-280074350:lI119|H280074360
-280074360:lI32|H280074370
-280074370:lI102|H280074380
-280074380:lI111|H280074390
-280074390:lI114|H2800743A0
-2800743A0:lI32|H2800743B0
-2800743B0:lI99|H2800743C0
-2800743C0:lI111|H2800743D0
-2800743D0:lI110|H2800743E0
-2800743E0:lI102|H2800743F0
-2800743F0:lI108|H280074400
-280074400:lI105|H280074410
-280074410:lI99|H280074420
-280074420:lI116|H280074430
-280074430:lI105|H280074440
-280074440:lI110|H280074450
-280074450:lI103|H280074460
-280074460:lI32|H280074470
-280074470:lI110|H280074480
-280074480:lI97|H280074490
-280074490:lI109|H2800744A0
-2800744A0:lI101|H2800744B0
-2800744B0:lI32|H2800744C0
-2800744C0:lI126|H2800744D0
-2800744D0:lI116|H2800744E0
-2800744E0:lI119|H2800744F0
-2800744F0:lI32|H280074500
-280074500:lI114|H280074510
-280074510:lI101|H280074520
-280074520:lI116|H280074530
-280074530:lI117|H280074540
-280074540:lI114|H280074550
-280074550:lI110|H280074560
-280074560:lI101|H280074570
-280074570:lI100|H280074580
-280074580:lI32|H280074590
-280074590:lI126|H2800745A0
-2800745A0:lI116|H2800745B0
-2800745B0:lI119|H2800745C0
-2800745C0:lI10|N
-2800745D0:lI103|H2800745E0
-2800745E0:lI108|H2800745F0
-2800745F0:lI111|H280074600
-280074600:lI98|H280074610
-280074610:lI97|H280074620
-280074620:lI108|H280074630
-280074630:lI58|H280074640
-280074640:lI32|H280074650
-280074650:lI78|H280074660
-280074660:lI97|H280074670
-280074670:lI109|H280074680
-280074680:lI101|H280074690
-280074690:lI32|H2800746A0
-2800746A0:lI99|H2800746B0
-2800746B0:lI111|H2800746C0
-2800746C0:lI110|H2800746D0
-2800746D0:lI102|H2800746E0
-2800746E0:lI108|H2800746F0
-2800746F0:lI105|H280074700
-280074700:lI99|H280074710
-280074710:lI116|H280074720
-280074720:lI32|H280074730
-280074730:lI116|H280074740
-280074740:lI101|H280074750
-280074750:lI114|H280074760
-280074760:lI109|H280074770
-280074770:lI105|H280074780
-280074780:lI110|H280074790
-280074790:lI97|H2800747A0
-2800747A0:lI116|H2800747B0
-2800747B0:lI105|H2800747C0
-2800747C0:lI110|H2800747D0
-2800747D0:lI103|H2800747E0
-2800747E0:lI32|H2800747F0
-2800747F0:lI126|H280074800
-280074800:lI116|H280074810
-280074810:lI119|H280074820
-280074820:lI10|N
-280074830:lA9:monotonic|N
-280074840:t3:A9:undefined,A9:undefined,A9:undefined
-280074860:lH280074880|H280074870
-280074870:lH280074898|N
-280074880:t2:A5:async,A4:true
-280074898:t2:A4:info,A5:false
-2800748B0:lH2800748C0|N
-2800748C0:t3:H2800748E0,N,H280074908
-2800748E0:t4:A2:$1,A2:$2,A2:$3,A2:$4
-280074908:lH280074918|N
-280074918:t1:H280074928
-280074928:t3:A2:$1,A2:$2,A2:$3
-280074948:lI84|H280074958
-280074958:lI114|H280074968
-280074968:lI121|H280074978
-280074978:lI105|H280074988
-280074988:lI110|H280074998
-280074998:lI103|H2800749A8
-2800749A8:lI32|H2800749B8
-2800749B8:lI116|H2800749C8
-2800749C8:lI111|H2800749D8
-2800749D8:lI32|H2800749E8
-2800749E8:lI115|H2800749F8
-2800749F8:lI121|H280074A08
-280074A08:lI110|H280074A18
-280074A18:lI99|H280074A28
-280074A28:lI32|H280074A38
-280074A38:lI110|H280074A48
-280074A48:lI111|H280074A58
-280074A58:lI100|H280074A68
-280074A68:lI101|H280074A78
-280074A78:lI115|H280074A88
-280074A88:lI32|H280074A98
-280074A98:lI110|H280074AA8
-280074AA8:lI111|H280074AB8
-280074AB8:lI116|H280074AC8
-280074AC8:lI32|H280074AD8
-280074AD8:lI100|H280074AE8
-280074AE8:lI101|H280074AF8
-280074AF8:lI102|H280074B08
-280074B08:lI105|H280074B18
-280074B18:lI110|H280074B28
-280074B28:lI101|H280074B38
-280074B38:lI100|H280074B48
-280074B48:lI32|H280074B58
-280074B58:lI105|H280074B68
-280074B68:lI110|H280074B78
-280074B78:lI32|H280074B88
-280074B88:lI116|H280074B98
-280074B98:lI104|H280074BA8
-280074BA8:lI101|H280074BB8
-280074BB8:lI32|H280074BC8
-280074BC8:lI111|H280074BD8
-280074BD8:lI119|H280074BE8
-280074BE8:lI110|H280074BF8
-280074BF8:lI32|H280074C08
-280074C08:lI103|H280074C18
-280074C18:lI108|H280074C28
-280074C28:lI111|H280074C38
-280074C38:lI98|H280074C48
-280074C48:lI97|H280074C58
-280074C58:lI108|H280074C68
-280074C68:lI32|H280074C78
-280074C78:lI103|H280074C88
-280074C88:lI114|H280074C98
-280074C98:lI111|H280074CA8
-280074CA8:lI117|H280074CB8
-280074CB8:lI112|N
-280074CC8:lI103|H280074CD8
-280074CD8:lI108|H280074CE8
-280074CE8:lI111|H280074CF8
-280074CF8:lI98|H280074D08
-280074D08:lI97|H280074D18
-280074D18:lI108|H280074D28
-280074D28:lI95|H280074D38
-280074D38:lI103|H280074D48
-280074D48:lI114|H280074D58
-280074D58:lI111|H280074D68
-280074D68:lI117|H280074D78
-280074D78:lI112|H280074D88
-280074D88:lI115|H280074D98
-280074D98:lI32|H280074DA8
-280074DA8:lI100|H280074DB8
-280074DB8:lI101|H280074DC8
-280074DC8:lI102|H280074DD8
-280074DD8:lI105|H280074DE8
-280074DE8:lI110|H280074DF8
-280074DF8:lI105|H280074E08
-280074E08:lI116|H280074E18
-280074E18:lI105|H280074E28
-280074E28:lI111|H280074E38
-280074E38:lI110|H280074E48
-280074E48:lI32|H280074E58
-280074E58:lI101|H280074E68
-280074E68:lI114|H280074E78
-280074E78:lI114|H280074E88
-280074E88:lI111|H280074E98
-280074E98:lI114|N
-280074EA8:lI84|H280074EB8
-280074EB8:lI104|H280074EC8
-280074EC8:lI101|H280074ED8
-280074ED8:lI32|H280074EE8
-280074EE8:lI103|H280074EF8
-280074EF8:lI108|H280074F08
-280074F08:lI111|H280074F18
-280074F18:lI98|H280074F28
-280074F28:lI97|H280074F38
-280074F38:lI108|H280074F48
-280074F48:lI95|H280074F58
-280074F58:lI110|H280074F68
-280074F68:lI97|H280074F78
-280074F78:lI109|H280074F88
-280074F88:lI101|H280074F98
-280074F98:lI95|H280074FA8
-280074FA8:lI115|H280074FB8
-280074FB8:lI101|H280074FC8
-280074FC8:lI114|H280074FD8
-280074FD8:lI118|H280074FE8
-280074FE8:lI101|H280074FF8
-280074FF8:lI114|H280075008
-280075008:lI32|H280075018
-280075018:lI126|H280075028
-280075028:lI119|H280075038
-280075038:lI32|H280075048
-280075048:lI112|H280075058
-280075058:lI114|H280075068
-280075068:lI111|H280075078
-280075078:lI99|H280075088
-280075088:lI101|H280075098
-280075098:lI115|H2800750A8
-2800750A8:lI115|H2800750B8
-2800750B8:lI32|H2800750C8
-2800750C8:lI114|H2800750D8
-2800750D8:lI101|H2800750E8
-2800750E8:lI99|H2800750F8
-2800750F8:lI101|H280075108
-280075108:lI105|H280075118
-280075118:lI118|H280075128
-280075128:lI101|H280075138
-280075138:lI100|H280075148
-280075148:lI32|H280075158
-280075158:lI97|H280075168
-280075168:lI110|H280075178
-280075178:lI32|H280075188
-280075188:lI117|H280075198
-280075198:lI110|H2800751A8
-2800751A8:lI101|H2800751B8
-2800751B8:lI120|H2800751C8
-2800751C8:lI112|H2800751D8
-2800751D8:lI101|H2800751E8
-2800751E8:lI99|H2800751F8
-2800751F8:lI116|H280075208
-280075208:lI101|H280075218
-280075218:lI100|H280075228
-280075228:lI32|H280075238
-280075238:lI109|H280075248
-280075248:lI101|H280075258
-280075258:lI115|H280075268
-280075268:lI115|H280075278
-280075278:lI97|H280075288
-280075288:lI103|H280075298
-280075298:lI101|H2800752A8
-2800752A8:lI58|H2800752B8
-2800752B8:lI10|H2800752C8
-2800752C8:lI126|H2800752D8
-2800752D8:lI116|H2800752E8
-2800752E8:lI112|H2800752F8
-2800752F8:lI10|N
-280075308:lI108|N
-280075318:lI114|H280075308
-280075328:lI101|H280075318
-280075338:lI46|H280075328
-280075348:lI108|H280075338
-280075358:lI97|H280075348
-280075368:lI98|H280075358
-280075378:lI111|H280075368
-280075388:lI108|H280075378
-280075398:lI103|H280075388
-2800753A8:E4A:g3AAAABIA79fDarOZVmFQtYEsqv4Sd0AAAAAAAAAAHcGZ2xvYmFsYQBiBfr4bVh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-2800753D0:E4A:g3AAAABIAr9fDarOZVmFQtYEsqv4Sd0AAAAFAAAAAHcGZ2xvYmFsYQViBfr4bVh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-2800753F8:B1152921504606846975
-280075408:E4A:g3AAAABIA79fDarOZVmFQtYEsqv4Sd0AAAAGAAAAAHcGZ2xvYmFsYQZiBfr4bVh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-280075430:E4A:g3AAAABIAr9fDarOZVmFQtYEsqv4Sd0AAAAHAAAAAHcGZ2xvYmFsYQdiBfr4bVh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-280075458:E4A:g3AAAABIA79fDarOZVmFQtYEsqv4Sd0AAAALAAAAAHcGZ2xvYmFsYQtiBfr4bVh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-280075480:E4A:g3AAAABIAr9fDarOZVmFQtYEsqv4Sd0AAAANAAAAAHcGZ2xvYmFsYQ1iBfr4bVh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-2800754A8:E4A:g3AAAABIAr9fDarOZVmFQtYEsqv4Sd0AAAATAAAAAHcGZ2xvYmFsYRNiBfr4bVh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-2800754D0:E4A:g3AAAABIAb9fDarOZVmFQtYEsqv4Sd0AAAAXAAAAAHcGZ2xvYmFsYRdiBfr4bVh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-2800754F8:E4A:g3AAAABIAb9fDarOZVmFQtYEsqv4Sd0AAAAZAAAAAHcGZ2xvYmFsYRliBfr4bVh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-280075520:E4A:g3AAAABIAr9fDarOZVmFQtYEsqv4Sd0AAAAbAAAAAHcGZ2xvYmFsYRtiBfr4bVh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-280075548:E4A:g3AAAABIAr9fDarOZVmFQtYEsqv4Sd0AAAAcAAAAAHcGZ2xvYmFsYRxiBfr4bVh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-280075570:E4A:g3AAAABIAr9fDarOZVmFQtYEsqv4Sd0AAAAdAAAAAHcGZ2xvYmFsYR1iBfr4bVh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-280075598:E4A:g3AAAABIAb9fDarOZVmFQtYEsqv4Sd0AAAAgAAAAAHcGZ2xvYmFsYSBiBfr4bVh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-2800755C0:E4A:g3AAAABIAb9fDarOZVmFQtYEsqv4Sd0AAAAhAAAAAHcGZ2xvYmFsYSFiBfr4bVh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-2800755E8:E4A:g3AAAABIAL9fDarOZVmFQtYEsqv4Sd0AAAAiAAAAAHcGZ2xvYmFsYSJiBfr4bVh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-280078CF0:F1A:1.11022302462515654042e-16
-280078D00:F1A:5.55111512312578270212e-17
-280078D10:F1A:2.77555756156289135106e-17
-280078D20:F1A:1.38777878078144567553e-17
-280078D30:F1A:2.00000000000000000000e+00
-280078D40:Yh0:
-280078D50:t100:H280079558,H280079580,H2800795A8,H2800795D0,H2800795F8,H280079620,H280079648,H280079670,H280079698,H2800796C0,H2800796E8,H280079710,H280079738,H280079760,H280079788,H2800797B0,H2800797D8,H280079800,H280079828,H280079850,H280079878,H2800798A0,H2800798C8,H2800798F0,H280079918,H280079940,H280079968,H280079990,H2800799B8,H2800799E0,H280079A08,H280079A30,H280079A58,H280079A80,H280079AA8,H280079AD0,H280079AF8,H280079B20,H280079B48,H280079B70,H280079B98,H280079BC0,H280079BE8,H280079C10,H280079C38,H280079C60,H280079C88,H280079CB0,H280079CD8,H280079D00,H280079D28,H280079D50,H280079D78,H280079DA0,H280079DC8,H280079DF0,H280079E18,H280079E40,H280079E68,H280079E90,H280079EB8,H280079EE0,H280079F08,H280079F30,H280079F58,H280079F80,H280079FA8,H280079FD0,H280079FF8,H28007A020,H28007A048,H28007A070,H28007A098,H28007A0C0,H28007A0E8,H28007A110,H28007A138,H28007A160,H28007A188,H28007A1B0,H28007A1D8,H28007A200,H28007A228,H28007A250,H28007A278,H28007A2A0,H28007A2C8,H28007A2F0,H28007A318,H28007A340,H28007A368,H28007A390,H28007A3B8,H28007A3E0,H28007A408,H28007A430,H28007A458,H28007A480,H28007A4A8,H28007A4D0,H28007A4F8,H28007A520,H28007A548,H28007A570,H28007A598,H28007A5C0,H28007A5E8,H28007A610,H28007A638,H28007A660,H28007A688,H28007A6B0,H28007A6D8,H28007A700,H28007A728,H28007A750,H28007A778,H28007A7A0,H28007A7C8,H28007A7F0,H28007A818,H28007A840,H28007A868,H28007A890,H28007A8B8,H28007A8E0,H28007A908,H28007A930,H28007A958,H28007A980,H28007A9A8,H28007A9D0,H28007A9F8,H28007AA20,H28007AA48,H28007AA70,H28007AA98,H28007AAC0,H28007AAE8,H28007AB10,H28007AB38,H28007AB60,H28007AB88,H28007ABB0,H28007ABD8,H28007AC00,H28007AC28,H28007AC50,H28007AC78,H28007ACA0,H28007ACC8,H28007ACF0,H28007AD18,H28007AD40,H28007AD68,H28007AD90,H28007ADB8,H28007ADE0,H28007AE08,H28007AE30,H28007AE58,H28007AE80,H28007AEA8,H28007AED0,H28007AEF8,H28007AF20,H28007AF48,H28007AF70,H28007AF98,H28007AFC0,H28007AFE8,H28007B010,H28007B038,H28007B060,H28007B088,H28007B0B0,H28007B0D8,H28007B100,H28007B128,H28007B150,H28007B178,H28007B1A0,H28007B1C8,H28007B1F0,H28007B218,H28007B240,H28007B268,H28007B290,H28007B2B8,H28007B2E0,H28007B308,H28007B330,H28007B358,H28007B380,H28007B3A8,H28007B3D0,H28007B3F8,H28007B420,H28007B448,H28007B470,H28007B498,H28007B4C0,H28007B4E8,H28007B510,H28007B538,H28007B560,H28007B588,H28007B5B0,H28007B5D8,H28007B600,H28007B628,H28007B650,H28007B678,H28007B6A0,H28007B6C8,H28007B6F0,H28007B718,H28007B740,H28007B768,H28007B790,H28007B7B8,H28007B7E0,H28007B808,H28007B830,H28007B858,H28007B880,H28007B8A8,H28007B8D0,H28007B8F8,H28007B920,H28007B948,H28007B970,H28007B998,H28007B9C0,H28007B9E8,H28007BA10,H28007BA38,H28007BA60,H28007BA88,H28007BAB0,H28007BAD8,H28007BB00,H28007BB28,H28007BB50,H28007BB78,H28007BBA0,H28007BBC8,H28007BBF0,H28007BC18,H28007BC40,H28007BC68,H28007BC90,H28007BCB8,H28007BCE0,H28007BD08,H28007BD30
-280079558:t2:I2104047571236786,H280079570
-280079570:F1A:1.73672541216026300829e-15
-280079580:t2:I0,H280079598
-280079598:F1A:9.55866035145563388593e-17
-2800795A8:t2:I1693657211986787,H2800795C0
-2800795C0:F1A:1.27087048348106232125e-16
-2800795D0:t2:I1919380038271141,H2800795E8
-2800795E8:F1A:1.49097409624954739056e-16
-2800795F8:t2:I2015384402196343,H280079610
-280079610:F1A:1.66587336315862684825e-16
-280079620:t2:I2068365869448128,H280079638
-280079638:F1A:1.81361208101190286598e-16
-280079648:t2:I2101878624052573,H280079660
-280079660:F1A:1.94297201531355877741e-16
-280079670:t2:I2124958784102998,H280079688
-280079688:F1A:2.05895006284820926559e-16
-280079698:t2:I2141808670795147,H2800796B0
-2800796B0:F1A:2.16468605768954222017e-16
-2800796C0:t2:I2154644611568301,H2800796D8
-2800796D8:F1A:2.26229403922181158232e-16
-2800796E8:t2:I2164744887587275,H280079700
-280079700:F1A:2.35327189140458915861e-16
-280079710:t2:I2172897953696594,H280079728
-280079728:F1A:2.43872345574287710295e-16
-280079738:t2:I2179616279372365,H280079750
-280079750:F1A:2.51948798292742250158e-16
-280079760:t2:I2185247251868649,H280079778
-280079778:F1A:2.59621997725281025263e-16
-280079788:t2:I2190034623107822,H2800797A0
-2800797A0:F1A:2.66944074736482849525e-16
-2800797B0:t2:I2194154434521197,H2800797C8
-2800797C8:F1A:2.73957296851424460024e-16
-2800797D8:t2:I2197736978774660,H2800797F0
-2800797F0:F1A:2.80696460024848035749e-16
-280079800:t2:I2200880740891961,H280079818
-280079818:F1A:2.87190589041139304275e-16
-280079828:t2:I2203661538010620,H280079840
-280079840:F1A:2.93464174847288832596e-16
-280079850:t2:I2206138681109102,H280079868
-280079868:F1A:2.99538093367821129281e-16
-280079878:t2:I2208359231806599,H280079890
-280079890:F1A:3.05430300071924403235e-16
-2800798A0:t2:I2210361007258210,H2800798B8
-2800798B8:F1A:3.11156363389215722701e-16
-2800798C8:t2:I2212174742388539,H2800798E0
-2800798E0:F1A:3.16729880185818151712e-16
-2800798F0:t2:I2213825672704646,H280079908
-280079908:F1A:3.22162803505499051688e-16
-280079918:t2:I2215334711002614,H280079930
-280079930:F1A:3.27465704079397507757e-16
-280079940:t2:I2216719334487595,H280079958
-280079958:F1A:3.32647981168417099987e-16
-280079968:t2:I2217994262139172,H280079980
-280079980:F1A:3.37718034173532322460e-16
-280079990:t2:I2219171977965032,H2800799A8
-2800799A8:F1A:3.42683403531193559494e-16
-2800799B8:t2:I2220263139538712,H2800799D0
-2800799D0:F1A:3.47550887317297581051e-16
-2800799E0:t2:I2221276900117330,H2800799F8
-2800799F8:F1A:3.52326638460020314094e-16
-280079A08:t2:I2222221164932930,H280079A20
-280079A20:F1A:3.57016246339534940285e-16
-280079A30:t2:I2223102796829069,H280079A48
-280079A48:F1A:3.61624805715983390475e-16
-280079A58:t2:I2223927782546658,H280079A70
-280079A70:F1A:3.66156975296535397983e-16
-280079A80:t2:I2224701368170060,H280079A98
-280079A98:F1A:3.70617027772360773203e-16
-280079AA8:t2:I2225428170204312,H280079AC0
-280079AC0:F1A:3.75008892787477978824e-16
-280079AD0:t2:I2226112267248242,H280079AE8
-280079AE8:F1A:3.79336194015495537551e-16
-280079AF8:t2:I2226757276105256,H280079B10
-280079B10:F1A:3.83602281296772790489e-16
-280079B20:t2:I2227366415328399,H280079B38
-280079B38:F1A:3.87810258612502468569e-16
-280079B48:t2:I2227942558554684,H280079B60
-280079B60:F1A:3.91963008532576783898e-16
-280079B70:t2:I2228488279492521,H280079B88
-280079B88:F1A:3.96063213662563775295e-16
-280079B98:t2:I2229005890047222,H280079BB0
-280079BB0:F1A:4.00113375525466896220e-16
-280079BC0:t2:I2229497472775193,H280079BD8
-280079BD8:F1A:4.04115831241433324136e-16
-280079BE8:t2:I2229964908627060,H280079C00
-280079C00:F1A:4.08072768309604483145e-16
-280079C10:t2:I2230409900758597,H280079C28
-280079C28:F1A:4.11986237748074422111e-16
-280079C38:t2:I2230833995044585,H280079C50
-280079C50:F1A:4.15858165808280641140e-16
-280079C60:t2:I2231238597816133,H280079C78
-280079C78:F1A:4.19690364447407329203e-16
-280079C88:t2:I2231624991250191,H280079CA0
-280079CA0:F1A:4.23484540715207084057e-16
-280079CB0:t2:I2231994346765928,H280079CC8
-280079CC8:F1A:4.27242305188997608562e-16
-280079CD8:t2:I2232347736722750,H280079CF0
-280079CF0:F1A:4.30965179571629408372e-16
-280079D00:t2:I2232686144665934,H280079D18
-280079D18:F1A:4.34654603551287596498e-16
-280079D28:t2:I2233010474325959,H280079D40
-280079D40:F1A:4.38311941008545712860e-16
-280079D50:t2:I2233321557544881,H280079D68
-280079D68:F1A:4.41938485644706647812e-16
-280079D78:t2:I2233620161276071,H280079D90
-280079D90:F1A:4.45535466095791365718e-16
-280079DA0:t2:I2233906993781271,H280079DB8
-280079DB8:F1A:4.49104050588287499193e-16
-280079DC8:t2:I2234182710130335,H280079DE0
-280079DE0:F1A:4.52645351185713967562e-16
-280079DF0:t2:I2234447917093496,H280079E08
-280079E08:F1A:4.56160427669003807995e-16
-280079E18:t2:I2234703177503020,H280079E30
-280079E30:F1A:4.59650291088494072552e-16
-280079E40:t2:I2234949014150181,H280079E58
-280079E58:F1A:4.63115907020816468447e-16
-280079E68:t2:I2235185913274316,H280079E80
-280079E80:F1A:4.66558198560087516686e-16
-280079E90:t2:I2235414327692884,H280079EA8
-280079EA8:F1A:4.69978049069419496306e-16
-280079EB8:t2:I2235634679614920,H280079ED0
-280079ED0:F1A:4.73376304715832370759e-16
-280079EE0:t2:I2235847363174595,H280079EF8
-280079EF8:F1A:4.76753776809085264392e-16
-280079F08:t2:I2236052746716837,H280079F20
-280079F20:F1A:4.80111243962701550521e-16
-280079F30:t2:I2236251174862869,H280079F48
-280079F48:F1A:4.83449454093500800172e-16
-280079F58:t2:I2236442970379967,H280079F70
-280079F70:F1A:4.86769126274220868624e-16
-280079F80:t2:I2236628435876762,H280079F98
-280079F98:F1A:4.90070952452299375578e-16
-280079FA8:t2:I2236807855342765,H280079FC0
-280079FC0:F1A:4.93355599046541390746e-16
-280079FD0:t2:I2236981495548562,H280079FE8
-280079FE8:F1A:4.96623708432217831361e-16
-280079FF8:t2:I2237149607321147,H28007A010
-28007A010:F1A:4.99875900324090879179e-16
-28007A020:t2:I2237312426707209,H28007A038
-28007A038:F1A:5.03112773065931868701e-16
-28007A048:t2:I2237470176035652,H28007A060
-28007A060:F1A:5.06334904834271949789e-16
-28007A070:t2:I2237623064889403,H28007A088
-28007A088:F1A:5.09542854763389229036e-16
-28007A098:t2:I2237771290995388,H28007A0B0
-28007A0B0:F1A:5.12737163997879663320e-16
-28007A0C0:t2:I2237915041040597,H28007A0D8
-28007A0D8:F1A:5.15918356678573644216e-16
-28007A0E8:t2:I2238054491421305,H28007A100
-28007A100:F1A:5.19086940867034337507e-16
-28007A110:t2:I2238189808931712,H28007A128
-28007A128:F1A:5.22243409413404174016e-16
-28007A138:t2:I2238321151397660,H28007A150
-28007A150:F1A:5.25388240771945425068e-16
-28007A160:t2:I2238448668260432,H28007A178
-28007A178:F1A:5.28521899768238198395e-16
-28007A188:t2:I2238572501115169,H28007A1A0
-28007A1A0:F1A:5.31644838321661755014e-16
-28007A1B0:t2:I2238692784207942,H28007A1C8
-28007A1C8:F1A:5.34757496126472954545e-16
-28007A1D8:t2:I2238809644895133,H28007A1F0
-28007A1F0:F1A:5.37860301294523479377e-16
-28007A200:t2:I2238923204068402,H28007A218
-28007A218:F1A:5.40953670962399333412e-16
-28007A228:t2:I2239033576548190,H28007A240
-28007A240:F1A:5.44038011865546709133e-16
-28007A250:t2:I2239140871448443,H28007A268
-28007A268:F1A:5.47113720881736113194e-16
-28007A278:t2:I2239245192514958,H28007A290
-28007A290:F1A:5.50181185546033624966e-16
-28007A2A0:t2:I2239346638439541,H28007A2B8
-28007A2B8:F1A:5.53240784539278360189e-16
-28007A2C8:t2:I2239445303151952,H28007A2E0
-28007A2E0:F1A:5.56292888151909017422e-16
-28007A2F0:t2:I2239541276091442,H28007A308
-28007A308:F1A:5.59337858724846207834e-16
-28007A318:t2:I2239634642459498,H28007A330
-28007A330:F1A:5.62376051069004345873e-16
-28007A340:t2:I2239725483455293,H28007A358
-28007A358:F1A:5.65407812864896043333e-16
-28007A368:t2:I2239813876495186,H28007A380
-28007A380:F1A:5.68433485043681410254e-16
-28007A390:t2:I2239899895417494,H28007A3A8
-28007A3A8:F1A:5.71453402150920397185e-16
-28007A3B8:t2:I2239983610673676,H28007A3D0
-28007A3D0:F1A:5.74467892694196087369e-16
-28007A3E0:t2:I2240065089506935,H28007A3F8
-28007A3F8:F1A:5.77477279475696482238e-16
-28007A408:t2:I2240144396119183,H28007A420
-28007A420:F1A:5.80481879910768565067e-16
-28007A430:t2:I2240221591827230,H28007A448
-28007A448:F1A:5.83482006333389205125e-16
-28007A458:t2:I2240296735208969,H28007A470
-28007A470:F1A:5.86477966289436525146e-16
-28007A480:t2:I2240369882240293,H28007A498
-28007A498:F1A:5.89470062818587176437e-16
-28007A4A8:t2:I2240441086423386,H28007A4C0
-28007A4C0:F1A:5.92458594725613394191e-16
-28007A4D0:t2:I2240510398907004,H28007A4E8
-28007A4E8:F1A:5.95443856841805979446e-16
-28007A4F8:t2:I2240577868599305,H28007A510
-28007A510:F1A:5.98426140277202811378e-16
-28007A520:t2:I2240643542273726,H28007A538
-28007A538:F1A:6.01405732664266403201e-16
-28007A548:t2:I2240707464668391,H28007A560
-28007A560:F1A:6.04382918393612501158e-16
-28007A570:t2:I2240769678579486,H28007A588
-28007A588:F1A:6.07357978842360566070e-16
-28007A598:t2:I2240830224948980,H28007A5B0
-28007A5B0:F1A:6.10331192595643943370e-16
-28007A5C0:t2:I2240889142947082,H28007A5D8
-28007A5D8:F1A:6.13302835661791100703e-16
-28007A5E8:t2:I2240946470049769,H28007A600
-28007A600:F1A:6.16273181681659631279e-16
-28007A610:t2:I2241002242111691,H28007A628
-28007A628:F1A:6.19242502132584703827e-16
-28007A638:t2:I2241056493434746,H28007A650
-28007A650:F1A:6.22211066527378790876e-16
-28007A660:t2:I2241109256832602,H28007A678
-28007A678:F1A:6.25179142608799982782e-16
-28007A688:t2:I2241160563691400,H28007A6A0
-28007A6A0:F1A:6.28146996539889530228e-16
-28007A6B0:t2:I2241210444026879,H28007A6C8
-28007A6C8:F1A:6.31114893090560423885e-16
-28007A6D8:t2:I2241258926538122,H28007A6F0
-28007A6F0:F1A:6.34083095820806000914e-16
-28007A700:t2:I2241306038658137,H28007A718
-28007A718:F1A:6.37051867260881494958e-16
-28007A728:t2:I2241351806601435,H28007A740
-28007A740:F1A:6.40021469088802472988e-16
-28007A750:t2:I2241396255408788,H28007A768
-28007A768:F1A:6.42992162305489607018e-16
-28007A778:t2:I2241439408989313,H28007A790
-28007A790:F1A:6.45964207407883213683e-16
-28007A7A0:t2:I2241481290160038,H28007A7B8
-28007A7B8:F1A:6.48937864560339654762e-16
-28007A7C8:t2:I2241521920683062,H28007A7E0
-28007A7E0:F1A:6.51913393764615873896e-16
-28007A7F0:t2:I2241561321300462,H28007A808
-28007A808:F1A:6.54891055028741540820e-16
-28007A818:t2:I2241599511767028,H28007A830
-28007A830:F1A:6.57871108535074132917e-16
-28007A840:t2:I2241636510880960,H28007A858
-28007A858:F1A:6.60853814807825874393e-16
-28007A868:t2:I2241672336512612,H28007A880
-28007A880:F1A:6.63839434880350565911e-16
-28007A890:t2:I2241707005631362,H28007A8A8
-28007A8A8:F1A:6.66828230462474590443e-16
-28007A8B8:t2:I2241740534330713,H28007A8D0
-28007A8D0:F1A:6.69820464108155789432e-16
-28007A8E0:t2:I2241772937851689,H28007A8F8
-28007A8F8:F1A:6.72816399383753114503e-16
-28007A908:t2:I2241804230604585,H28007A920
-28007A920:F1A:6.75816301037190058595e-16
-28007A930:t2:I2241834426189161,H28007A948
-28007A948:F1A:6.78820435168298025779e-16
-28007A958:t2:I2241863537413311,H28007A970
-28007A970:F1A:6.81829069400625404640e-16
-28007A980:t2:I2241891576310281,H28007A998
-28007A998:F1A:6.84842473055003829332e-16
-28007A9A8:t2:I2241918554154466,H28007A9C0
-28007A9C0:F1A:6.87860917325166366447e-16
-28007A9D0:t2:I2241944481475843,H28007A9E8
-28007A9E8:F1A:6.90884675455716901816e-16
-28007A9F8:t2:I2241969368073071,H28007AA10
-28007AA10:F1A:6.93914022922756903880e-16
-28007AA20:t2:I2241993223025298,H28007AA38
-28007AA38:F1A:6.96949237617482938615e-16
-28007AA48:t2:I2242016054702685,H28007AA60
-28007AA60:F1A:6.99990600033076396841e-16
-28007AA70:t2:I2242037870775710,H28007AA88
-28007AA88:F1A:7.03038393455215079165e-16
-28007AA98:t2:I2242058678223225,H28007AAB0
-28007AAB0:F1A:7.06092904156548215323e-16
-28007AAC0:t2:I2242078483339331,H28007AAD8
-28007AAD8:F1A:7.09154421595487341536e-16
-28007AAE8:t2:I2242097291739040,H28007AB00
-28007AB00:F1A:7.12223238619677884046e-16
-28007AB10:t2:I2242115108362774,H28007AB28
-28007AB28:F1A:7.15299651674530299286e-16
-28007AB38:t2:I2242131937479672,H28007AB50
-28007AB50:F1A:7.18383961017206285811e-16
-28007AB60:t2:I2242147782689725,H28007AB78
-28007AB78:F1A:7.21476470936470670108e-16
-28007AB88:t2:I2242162646924736,H28007ABA0
-28007ABA0:F1A:7.24577489978838698238e-16
-28007ABB0:t2:I2242176532448092,H28007ABC8
-28007ABC8:F1A:7.27687331181469271523e-16
-28007ABD8:t2:I2242189440853337,H28007ABF0
-28007ABF0:F1A:7.30806312312274287356e-16
-28007AC00:t2:I2242201373061537,H28007AC18
-28007AC18:F1A:7.33934756117740475864e-16
-28007AC28:t2:I2242212329317416,H28007AC40
-28007AC40:F1A:7.37072990578983098735e-16
-28007AC50:t2:I2242222309184237,H28007AC68
-28007AC68:F1A:7.40221349176579965727e-16
-28007AC78:t2:I2242231311537397,H28007AC90
-28007AC90:F1A:7.43380171164764792799e-16
-28007ACA0:t2:I2242239334556717,H28007ACB8
-28007ACB8:F1A:7.46549801855588902443e-16
-28007ACC8:t2:I2242246375717369,H28007ACE0
-28007ACE0:F1A:7.49730592913697934980e-16
-28007ACF0:t2:I2242252431779415,H28007AD08
-28007AD08:F1A:7.52922902662405836870e-16
-28007AD18:t2:I2242257498775893,H28007AD30
-28007AD30:F1A:7.56127096401792173910e-16
-28007AD40:t2:I2242261571999416,H28007AD58
-28007AD58:F1A:7.59343546739588950455e-16
-28007AD68:t2:I2242264645987196,H28007AD80
-28007AD80:F1A:7.62572633935675575083e-16
-28007AD90:t2:I2242266714504453,H28007ADA8
-28007ADA8:F1A:7.65814746261048733621e-16
-28007ADB8:t2:I2242267770526109,H28007ADD0
-28007ADD0:F1A:7.69070280372191911716e-16
-28007ADE0:t2:I2242267806216711,H28007ADF8
-28007ADF8:F1A:7.72339641701829854238e-16
-28007AE08:t2:I2242266812908462,H28007AE20
-28007AE20:F1A:7.75623244867117442328e-16
-28007AE30:t2:I2242264781077289,H28007AE48
-28007AE48:F1A:7.78921514096385241347e-16
-28007AE58:t2:I2242261700316818,H28007AE70
-28007AE70:F1A:7.82234883675641084120e-16
-28007AE80:t2:I2242257559310145,H28007AE98
-28007AE98:F1A:7.85563798416108405147e-16
-28007AEA8:t2:I2242252345799276,H28007AEC0
-28007AEC0:F1A:7.88908714144175521500e-16
-28007AED0:t2:I2242246046552082,H28007AEE8
-28007AEE8:F1A:7.92270098215227085966e-16
-28007AEF8:t2:I2242238647326615,H28007AF10
-28007AF10:F1A:7.95648430052936617556e-16
-28007AF20:t2:I2242230132832625,H28007AF38
-28007AF38:F1A:7.99044201715713004887e-16
-28007AF48:t2:I2242220486690076,H28007AF60
-28007AF60:F1A:8.02457918492125913510e-16
-28007AF70:t2:I2242209691384458,H28007AF88
-28007AF88:F1A:8.05890099527265683393e-16
-28007AF98:t2:I2242197728218684,H28007AFB0
-28007AFB0:F1A:8.09341278482150088838e-16
-28007AFC0:t2:I2242184577261310,H28007AFD8
-28007AFD8:F1A:8.12812004228450077447e-16
-28007AFE8:t2:I2242170217290819,H28007B000
-28007B000:F1A:8.16302841580987746960e-16
-28007B010:t2:I2242154625735679,H28007B028
-28007B028:F1A:8.19814372070653286895e-16
-28007B038:t2:I2242137778609839,H28007B050
-28007B050:F1A:8.23347194760605041733e-16
-28007B060:t2:I2242119650443327,H28007B078
-28007B078:F1A:8.26901927108847002541e-16
-28007B088:t2:I2242100214207556,H28007B0A0
-28007B0A0:F1A:8.30479205880537371959e-16
-28007B0B0:t2:I2242079441234906,H28007B0C8
-28007B0C8:F1A:8.34079688113662879173e-16
-28007B0D8:t2:I2242057301132135,H28007B0F0
-28007B0F0:F1A:8.37704052142022163322e-16
-28007B100:t2:I2242033761687079,H28007B118
-28007B118:F1A:8.41352998679802824740e-16
-28007B128:t2:I2242008788768107,H28007B140
-28007B140:F1A:8.45027251972409677425e-16
-28007B150:t2:I2241982346215682,H28007B168
-28007B168:F1A:8.48727561018615493666e-16
-28007B178:t2:I2241954395725356,H28007B190
-28007B190:F1A:8.52454700869559619833e-16
-28007B1A0:t2:I2241924896721443,H28007B1B8
-28007B1B8:F1A:8.56209474010623332794e-16
-28007B1C8:t2:I2241893806220517,H28007B1E0
-28007B1E0:F1A:8.59992711832766460322e-16
-28007B1F0:t2:I2241861078683830,H28007B208
-28007B208:F1A:8.63805276200525889234e-16
-28007B218:t2:I2241826665857598,H28007B230
-28007B230:F1A:8.67648061124558160821e-16
-28007B240:t2:I2241790516600041,H28007B258
-28007B258:F1A:8.71521994547369801105e-16
-28007B268:t2:I2241752576693881,H28007B280
-28007B280:F1A:8.75428040251717494016e-16
-28007B290:t2:I2241712788642916,H28007B2A8
-28007B2A8:F1A:8.79367199902104274846e-16
-28007B2B8:t2:I2241671091451078,H28007B2D0
-28007B2D0:F1A:8.83340515230840795477e-16
-28007B2E0:t2:I2241627420382235,H28007B2F8
-28007B2F8:F1A:8.87349070381313453209e-16
-28007B308:t2:I2241581706698773,H28007B320
-28007B320:F1A:8.91393994422408613348e-16
-28007B330:t2:I2241533877376767,H28007B348
-28007B348:F1A:8.95476464049506774624e-16
-28007B358:t2:I2241483854795281,H28007B370
-28007B370:F1A:8.99597706489109936019e-16
-28007B380:t2:I2241431556397035,H28007B398
-28007B398:F1A:9.03759002626011752555e-16
-28007B3A8:t2:I2241376894317345,H28007B3C0
-28007B3C0:F1A:9.07961690374006801893e-16
-28007B3D0:t2:I2241319774977817,H28007B3E8
-28007B3E8:F1A:9.12207168313484609982e-16
-28007B3F8:t2:I2241260098640860,H28007B410
-28007B410:F1A:9.16496899621913531320e-16
-28007B420:t2:I2241197758920538,H28007B438
-28007B438:F1A:9.20832416326230760072e-16
-28007B448:t2:I2241132642244704,H28007B460
-28007B460:F1A:9.25215323909569332723e-16
-28007B470:t2:I2241064627262652,H28007B488
-28007B488:F1A:9.29647306308641672775e-16
-28007B498:t2:I2240993584191742,H28007B4B0
-28007B4B0:F1A:9.34130131342526512592e-16
-28007B4C0:t2:I2240919374095536,H28007B4D8
-28007B4D8:F1A:9.38665656618665978610e-16
-28007B4E8:t2:I2240841848084890,H28007B500
-28007B500:F1A:9.43255835967670653963e-16
-28007B510:t2:I2240760846432232,H28007B528
-28007B528:F1A:9.47902726465173824760e-16
-28007B538:t2:I2240676197587784,H28007B550
-28007B550:F1A:9.52608496106627869756e-16
-28007B560:t2:I2240587717084782,H28007B578
-28007B578:F1A:9.57375432209744962925e-16
-28007B588:t2:I2240495206318753,H28007B5A0
-28007B5A0:F1A:9.62205950629483835507e-16
-28007B5B0:t2:I2240398451183567,H28007B5C8
-28007B5C8:F1A:9.67102605882305424755e-16
-28007B5D8:t2:I2240297220544165,H28007B5F0
-28007B5F0:F1A:9.72068102290162588019e-16
-28007B600:t2:I2240191264522612,H28007B618
-28007B618:F1A:9.77105306270720883776e-16
-28007B628:t2:I2240080312570155,H28007B640
-28007B640:F1A:9.82217259919054108939e-16
-28007B650:t2:I2239964071293331,H28007B668
-28007B668:F1A:9.87407196048067106672e-16
-28007B678:t2:I2239842221996530,H28007B690
-28007B690:F1A:9.92678554880797648454e-16
-28007B6A0:t2:I2239714417896699,H28007B6B8
-28007B6B8:F1A:9.98035002618364491509e-16
-28007B6C8:t2:I2239580280957725,H28007B6E0
-28007B6E0:F1A:1.00348045214361808924e-15
-28007B6F0:t2:I2239439398282193,H28007B708
-28007B708:F1A:1.00901908616374569449e-15
-28007B718:t2:I2239291317986196,H28007B730
-28007B730:F1A:1.01465538314670861133e-15
-28007B740:t2:I2239135544468203,H28007B758
-28007B758:F1A:1.02039414646831236830e-15
-28007B768:t2:I2238971532964979,H28007B780
-28007B780:F1A:1.02624053726135674640e-15
-28007B790:t2:I2238798683265269,H28007B7A8
-28007B7A8:F1A:1.03220011154864564914e-15
-28007B7B8:t2:I2238616332424351,H28007B7D0
-28007B7D0:F1A:1.03827886235153991696e-15
-28007B7E0:t2:I2238423746288095,H28007B7F8
-28007B7F8:F1A:1.04448326760004705473e-15
-28007B808:t2:I2238220109591890,H28007B820
-28007B820:F1A:1.05082034483551946539e-15
-28007B830:t2:I2238004514345216,H28007B848
-28007B848:F1A:1.05729771390098902296e-15
-28007B858:t2:I2237775946143212,H28007B870
-28007B870:F1A:1.06392366906768007507e-15
-28007B880:t2:I2237533267957822,H28007B898
-28007B898:F1A:1.07070726236329937629e-15
-28007B8A8:t2:I2237275200846753,H28007B8C0
-28007B8C0:F1A:1.07765840026681064032e-15
-28007B8D0:t2:I2237000300869952,H28007B8E8
-28007B8E8:F1A:1.08478795644034246815e-15
-28007B8F8:t2:I2236706931309099,H28007B910
-28007B910:F1A:1.09210790381495627955e-15
-28007B920:t2:I2236393229029147,H28007B938
-28007B938:F1A:1.09963147017856282141e-15
-28007B948:t2:I2236057063479501,H28007B960
-28007B960:F1A:1.10737332249357520075e-15
-28007B970:t2:I2235695986373246,H28007B988
-28007B988:F1A:1.11534978658531549289e-15
-28007B998:t2:I2235307169458859,H28007B9B0
-28007B9B0:F1A:1.12357911071108333166e-15
-28007B9C0:t2:I2234887326941578,H28007B9D8
-28007B9D8:F1A:1.13208178401648463069e-15
-28007B9E8:t2:I2234432617919447,H28007BA00
-28007BA00:F1A:1.14088092425827801405e-15
-28007BA10:t2:I2233938522519765,H28007BA28
-28007BA28:F1A:1.15000275378397924458e-15
-28007BA38:t2:I2233399683022677,H28007BA50
-28007BA50:F1A:1.15947718914491892724e-15
-28007BA60:t2:I2232809697779198,H28007BA78
-28007BA78:F1A:1.16933857869109599762e-15
-28007BA88:t2:I2232160850599817,H28007BAA0
-28007BAA0:F1A:1.17962663529558008258e-15
-28007BAB0:t2:I2231443750584641,H28007BAC8
-28007BAC8:F1A:1.19038762992828902828e-15
-28007BAD8:t2:I2230646845562170,H28007BAF0
-28007BAF0:F1A:1.20167593925438186168e-15
-28007BB00:t2:I2229755753817986,H28007BB18
-28007BB18:F1A:1.21355608186668970279e-15
-28007BB28:t2:I2228752329126533,H28007BB40
-28007BB40:F1A:1.22610544174505612103e-15
-28007BB50:t2:I2227613325162504,H28007BB68
-28007BB68:F1A:1.23941797891632511077e-15
-28007BB78:t2:I2226308442121174,H28007BB90
-28007BB90:F1A:1.25360939266025668161e-15
-28007BBA0:t2:I2224797391720399,H28007BBB8
-28007BBB8:F1A:1.26882448142550100004e-15
-28007BBC8:t2:I2223025347823832,H28007BBE0
-28007BBE0:F1A:1.28524793190961088468e-15
-28007BBF0:t2:I2220915633329809,H28007BC08
-28007BC08:F1A:1.30312066346899851655e-15
-28007BC18:t2:I2218357446087030,H28007BC30
-28007BC30:F1A:1.32276557701953263307e-15
-28007BC40:t2:I2215184158448668,H28007BC58
-28007BC58:F1A:1.34463009250111712861e-15
-28007BC68:t2:I2211132412537369,H28007BC80
-28007BC80:F1A:1.36936068351285175171e-15
-28007BC90:t2:I2205758503851065,H28007BCA8
-28007BCA8:F1A:1.39794366727752399083e-15
-28007BCB8:t2:I2198248265654987,H28007BCD0
-28007BCD0:F1A:1.43199898696613284312e-15
-28007BCE0:t2:I2186916352102141,H28007BCF8
-28007BCF8:F1A:1.47448486035975958423e-15
-28007BD08:t2:I2167562552481814,H28007BD20
-28007BD20:F1A:1.53178727416111435375e-15
-28007BD30:t2:I2125549880839716,H28007BD48
-28007BD48:F1A:1.62276986753129683713e-15
-28007BD58:Mf0:H280010188:
-28007BD70:lI0|I0
-28007BD80:lI0|H28007BD90
-28007BD90:lI0|H28007BDA0
-28007BDA0:lI0|H28007BDB0
-28007BDB0:lI0|H28007BDC0
-28007BDC0:lI0|H28007BDD0
-28007BDD0:lI0|H28007BDE0
-28007BDE0:lI0|H28007BDF0
-28007BDF0:lI0|H28007BE00
-28007BE00:lI0|H28007BE10
-28007BE10:lI0|H28007BE20
-28007BE20:lI0|H28007BE30
-28007BE30:lI0|H28007BE40
-28007BE40:lI0|H28007BE50
-28007BE50:lI0|H28007BE60
-28007BE60:lI0|H28007BE70
-28007BE70:lI0|N
-28007BE80:lI114527183042123105|H28007BE90
-28007BE90:lI160423628620659260|H28007BEA0
-28007BEA0:lI284733707589872850|H28007BEB0
-28007BEB0:lI164435740288387503|H28007BEC0
-28007BEC0:lI259572741793888962|H28007BED0
-28007BED0:lI215793509705812255|H28007BEE0
-28007BEE0:lI228241955430903492|H28007BEF0
-28007BEF0:lI221708554683218499|H28007BF00
-28007BF00:lI212006596549813798|H28007BF10
-28007BF10:lI139215019150089363|H28007BF20
-28007BF20:lI23964000621384961|H28007BF30
-28007BF30:lI55201052708218217|H28007BF40
-28007BF40:lI112969240468397636|H28007BF50
-28007BF50:lI22130735059088892|H28007BF60
-28007BF60:lI244278597799509466|H28007BF70
-28007BF70:lI220175845070832114|H28007BF80
-28007BF80:lI43243288828|N
-28007BF90:lI290573448171827402|H28007BFA0
-28007BFA0:lI382251779910418577|H28007BFB0
-28007BFB0:lI423857156240780192|H28007BFC0
-28007BFC0:lI317638803078791815|H28007BFD0
-28007BFD0:lI312577798172065765|H28007BFE0
-28007BFE0:lI305801842905235492|H28007BFF0
-28007BFF0:lI450887821400921554|H28007C000
-28007C000:lI490154825290594607|H28007C010
-28007C010:lI507224882549817556|H28007C020
-28007C020:lI305131922350994371|H28007C030
-28007C030:lI524004876356613068|H28007C040
-28007C040:lI399286492428034246|H28007C050
-28007C050:lI556129459533271918|H28007C060
-28007C060:lI302163523288674092|H28007C070
-28007C070:lI295571835370094372|H28007C080
-28007C080:lI487547435355635071|N
-28007C090:lI412473694820566502|H28007C0A0
-28007C0A0:lI432883605991317039|H28007C0B0
-28007C0B0:lI525373508288112196|H28007C0C0
-28007C0C0:lI403915169708599875|H28007C0D0
-28007C0D0:lI319067783491633768|H28007C0E0
-28007C0E0:lI301226760020322060|H28007C0F0
-28007C0F0:lI311627678308842608|H28007C100
-28007C100:lI376040681981803602|H28007C110
-28007C110:lI339701046172540810|H28007C120
-28007C120:lI406476937554306621|H28007C130
-28007C130:lI319178240279900411|H28007C140
-28007C140:lI538961455727032748|H28007C150
-28007C150:lI343829982822907227|H28007C160
-28007C160:lI562090186051299616|H28007C170
-28007C170:lI294421712295949406|H28007C180
-28007C180:lI517056752316592047|N
-28007C190:lI171572743241724754|N
-28007C1A0:F1A:5.00000000000000000000e-01
-28007C1B0:lH28007C1E0|H28007C1C0
-28007C1C0:lH28007C1F8|H28007C1D0
-28007C1D0:lA6:global|N
-28007C1E0:t2:A7:newline,A3:any
-28007C1F8:t3:A7:capture,AD:all_but_first,A6:binary
-28007C218:lI48|H28007C228
-28007C228:lI120|H28007C238
-28007C238:lI40|H28007C248
-28007C248:lI91|H28007C258
-28007C258:lI97|H28007C268
-28007C268:lI45|H28007C278
-28007C278:lI122|H28007C288
-28007C288:lI65|H28007C298
-28007C298:lI45|H28007C2A8
-28007C2A8:lI90|H28007C2B8
-28007C2B8:lI48|H28007C2C8
-28007C2C8:lI45|H28007C2D8
-28007C2D8:lI57|H28007C2E8
-28007C2E8:lI93|H28007C2F8
-28007C2F8:lI43|H28007C308
-28007C308:lI41|N
-28007C318:lI49|H28007C328
-28007C328:lI54|H28007C338
-28007C338:lI35|H28007C348
-28007C348:lI126|H28007C358
-28007C358:lI115|H28007C368
-28007C368:lI44|H28007C378
-28007C378:lI126|H28007C388
-28007C388:lI110|N
-28007C398:F1B:-2.73661237329758277870e-01
-28007C3A8:F1A:3.65415288536100879568e+00
-28007C3B8:F1B:-3.65415288536100879568e+00
-28007C3C8:F1B:-5.00000000000000000000e-01
-28007C3D8:t100:H28007CBE0,H28007CBF0,H28007CC00,H28007CC10,H28007CC20,H28007CC30,H28007CC40,H28007CC50,H28007CC60,H28007CC70,H28007CC80,H28007CC90,H28007CCA0,H28007CCB0,H28007CCC0,H28007CCD0,H28007CCE0,H28007CCF0,H28007CD00,H28007CD10,H28007CD20,H28007CD30,H28007CD40,H28007CD50,H28007CD60,H28007CD70,H28007CD80,H28007CD90,H28007CDA0,H28007CDB0,H28007CDC0,H28007CDD0,H28007CDE0,H28007CDF0,H28007CE00,H28007CE10,H28007CE20,H28007CE30,H28007CE40,H28007CE50,H28007CE60,H28007CE70,H28007CE80,H28007CE90,H28007CEA0,H28007CEB0,H28007CEC0,H28007CED0,H28007CEE0,H28007CEF0,H28007CF00,H28007CF10,H28007CF20,H28007CF30,H28007CF40,H28007CF50,H28007CF60,H28007CF70,H28007CF80,H28007CF90,H28007CFA0,H28007CFB0,H28007CFC0,H28007CFD0,H28007CFE0,H28007CFF0,H28007D000,H28007D010,H28007D020,H28007D030,H28007D040,H28007D050,H28007D060,H28007D070,H28007D080,H28007D090,H28007D0A0,H28007D0B0,H28007D0C0,H28007D0D0,H28007D0E0,H28007D0F0,H28007D100,H28007D110,H28007D120,H28007D130,H28007D140,H28007D150,H28007D160,H28007D170,H28007D180,H28007D190,H28007D1A0,H28007D1B0,H28007D1C0,H28007D1D0,H28007D1E0,H28007D1F0,H28007D200,H28007D210,H28007D220,H28007D230,H28007D240,H28007D250,H28007D260,H28007D270,H28007D280,H28007D290,H28007D2A0,H28007D2B0,H28007D2C0,H28007D2D0,H28007D2E0,H28007D2F0,H28007D300,H28007D310,H28007D320,H28007D330,H28007D340,H28007D350,H28007D360,H28007D370,H28007D380,H28007D390,H28007D3A0,H28007D3B0,H28007D3C0,H28007D3D0,H28007D3E0,H28007D3F0,H28007D400,H28007D410,H28007D420,H28007D430,H28007D440,H28007D450,H28007D460,H28007D470,H28007D480,H28007D490,H28007D4A0,H28007D4B0,H28007D4C0,H28007D4D0,H28007D4E0,H28007D4F0,H28007D500,H28007D510,H28007D520,H28007D530,H28007D540,H28007D550,H28007D560,H28007D570,H28007D580,H28007D590,H28007D5A0,H28007D5B0,H28007D5C0,H28007D5D0,H28007D5E0,H28007D5F0,H28007D600,H28007D610,H28007D620,H28007D630,H28007D640,H28007D650,H28007D660,H28007D670,H28007D680,H28007D690,H28007D6A0,H28007D6B0,H28007D6C0,H28007D6D0,H28007D6E0,H28007D6F0,H28007D700,H28007D710,H28007D720,H28007D730,H28007D740,H28007D750,H28007D760,H28007D770,H28007D780,H28007D790,H28007D7A0,H28007D7B0,H28007D7C0,H28007D7D0,H28007D7E0,H28007D7F0,H28007D800,H28007D810,H28007D820,H28007D830,H28007D840,H28007D850,H28007D860,H28007D870,H28007D880,H28007D890,H28007D8A0,H28007D8B0,H28007D8C0,H28007D8D0,H28007D8E0,H28007D8F0,H28007D900,H28007D910,H28007D920,H28007D930,H28007D940,H28007D950,H28007D960,H28007D970,H28007D980,H28007D990,H28007D9A0,H28007D9B0,H28007D9C0,H28007D9D0,H28007D9E0,H28007D9F0,H28007DA00,H28007DA10,H28007DA20,H28007DA30,H28007DA40,H28007DA50,H28007DA60,H28007DA70,H28007DA80,H28007DA90,H28007DAA0,H28007DAB0,H28007DAC0,H28007DAD0,H28007DAE0,H28007DAF0,H28007DB00,H28007DB10,H28007DB20,H28007DB30,H28007DB40,H28007DB50,H28007DB60,H28007DB70,H28007DB80,H28007DB90,H28007DBA0,H28007DBB0,H28007DBC0,H28007DBD0
-28007CBE0:F1A:1.00000000000000000000e+00
-28007CBF0:F1A:9.77101701267670819107e-01
-28007CC00:F1A:9.59879091800105999077e-01
-28007CC10:F1A:9.45198953442299094618e-01
-28007CC20:F1A:9.32060075959229905607e-01
-28007CC30:F1A:9.19991505039346457728e-01
-28007CC40:F1A:9.08726440052130324254e-01
-28007CC50:F1A:8.98095921898342974821e-01
-28007CC60:F1A:8.87984660755832821977e-01
-28007CC70:F1A:8.78309655808916844855e-01
-28007CC80:F1A:8.69008688036856491443e-01
-28007CC90:F1A:8.60033621196331088399e-01
-28007CCA0:F1A:8.51346258458677507264e-01
-28007CCB0:F1A:8.42915653112203733244e-01
-28007CCC0:F1A:8.34716292986882990590e-01
-28007CCD0:F1A:8.26726833946220929228e-01
-28007CCE0:F1A:8.18929191603701922553e-01
-28007CCF0:F1A:8.11307874312655719073e-01
-28007CD00:F1A:8.03849483170963829970e-01
-28007CD10:F1A:7.96542330422958411162e-01
-28007CD20:F1A:7.89376143566024035536e-01
-28007CD30:F1A:7.82341832654801949687e-01
-28007CD40:F1A:7.75431304981186619862e-01
-28007CD50:F1A:7.68637315798485709628e-01
-28007CD60:F1A:7.61953346836794831454e-01
-28007CD70:F1A:7.55373506507095671125e-01
-28007CD80:F1A:7.48892447219156376370e-01
-28007CD90:F1A:7.42505296340150611201e-01
-28007CDA0:F1A:7.36207598126862095000e-01
-28007CDB0:F1A:7.29995264561475676324e-01
-28007CDC0:F1A:7.23864533468629667290e-01
-28007CDD0:F1A:7.17811932630721516446e-01
-28007CDE0:F1A:7.11834248878247977110e-01
-28007CDF0:F1A:7.05928501332753755015e-01
-28007CE00:F1A:7.00091918136511170978e-01
-28007CE10:F1A:6.94321916126116267520e-01
-28007CE20:F1A:6.88616083004671364343e-01
-28007CE30:F1A:6.82972161644994302243e-01
-28007CE40:F1A:6.77388036218773081920e-01
-28007CE50:F1A:6.71861719897081655084e-01
-28007CE60:F1A:6.66391343908749766989e-01
-28007CE70:F1A:6.60975147776662774746e-01
-28007CE80:F1A:6.55611470579696931082e-01
-28007CE90:F1A:6.50298743110816368507e-01
-28007CEA0:F1A:6.45035480820821960357e-01
-28007CEB0:F1A:6.39820277453056140970e-01
-28007CEC0:F1A:6.34651799287623274992e-01
-28007CED0:F1A:6.29528779924836245918e-01
-28007CEE0:F1A:6.24450015547026060503e-01
-28007CEF0:F1A:6.19414360605833991258e-01
-28007CF00:F1A:6.14420723888913444810e-01
-28007CF10:F1A:6.09468064925773100882e-01
-28007CF20:F1A:6.04555390697467331940e-01
-28007CF30:F1A:5.99681752619124819326e-01
-28007CF40:F1A:5.94846243767986893047e-01
-28007CF50:F1A:5.90047996332825452903e-01
-28007CF60:F1A:5.85286179263370898163e-01
-28007CF70:F1A:5.80559996100790343121e-01
-28007CF80:F1A:5.75868682972353163052e-01
-28007CF90:F1A:5.71211506735252672051e-01
-28007CFA0:F1A:5.66587763256163889913e-01
-28007CFB0:F1A:5.61996775814523896742e-01
-28007CFC0:F1A:5.57437893618765500925e-01
-28007CFD0:F1A:5.52910490425831846473e-01
-28007CFE0:F1A:5.48413963255265368701e-01
-28007CFF0:F1A:5.43947731190025818293e-01
-28007D000:F1A:5.39511234256951577315e-01
-28007D010:F1A:5.35103932380457170126e-01
-28007D020:F1A:5.30725304403661501951e-01
-28007D030:F1A:5.26374847171684034919e-01
-28007D040:F1A:5.22052074672321397841e-01
-28007D050:F1A:5.17756517229755908183e-01
-28007D060:F1A:5.13487720747326514825e-01
-28007D070:F1A:5.09245245995747608525e-01
-28007D080:F1A:5.05028667943467901580e-01
-28007D090:F1A:5.00837575126148348836e-01
-28007D0A0:F1A:4.96671569052489325635e-01
-28007D0B0:F1A:4.92530263643868149170e-01
-28007D0C0:F1A:4.88413284705457584334e-01
-28007D0D0:F1A:4.84320269426682881164e-01
-28007D0E0:F1A:4.80250865909046420477e-01
-28007D0F0:F1A:4.76204732719505474670e-01
-28007D100:F1A:4.72181538467729755570e-01
-28007D110:F1A:4.68180961405693207844e-01
-28007D120:F1A:4.64202689048173910980e-01
-28007D130:F1A:4.60246417812842478767e-01
-28007D140:F1A:4.56311852678716101117e-01
-28007D150:F1A:4.52398706861848243221e-01
-28007D160:F1A:4.48506701507202731882e-01
-28007D170:F1A:4.44635565395739118522e-01
-28007D180:F1A:4.40785034665803765463e-01
-28007D190:F1A:4.36954852547985328481e-01
-28007D1A0:F1A:4.33144769112652094911e-01
-28007D1B0:F1A:4.29354541029441261202e-01
-28007D1C0:F1A:4.25583931338021803636e-01
-28007D1D0:F1A:4.21832709229495728120e-01
-28007D1E0:F1A:4.18100649837847948564e-01
-28007D1F0:F1A:4.14387534040890903597e-01
-28007D200:F1A:4.10693148270187990967e-01
-28007D210:F1A:4.07017284329473150173e-01
-28007D220:F1A:4.03359739221114288465e-01
-28007D230:F1A:3.99720314980197000132e-01
-28007D240:F1A:3.96098818515832229448e-01
-28007D250:F1A:3.92495061459315397467e-01
-28007D260:F1A:3.88908860018788549162e-01
-28007D270:F1A:3.85340034840077061418e-01
-28007D280:F1A:3.81788410873393435629e-01
-28007D290:F1A:3.78253817245618961795e-01
-28007D2A0:F1A:3.74736087137890860888e-01
-28007D2B0:F1A:3.71235057668239221140e-01
-28007D2C0:F1A:3.67750569779032254747e-01
-28007D2D0:F1A:3.64282468129003722535e-01
-28007D2E0:F1A:3.60830600989647753973e-01
-28007D2F0:F1A:3.57394820145780223175e-01
-28007D300:F1A:3.53974980800076555187e-01
-28007D310:F1A:3.50570941481405884410e-01
-28007D320:F1A:3.47182563956793477367e-01
-28007D330:F1A:3.43809713146850548515e-01
-28007D340:F1A:3.40452257044521644502e-01
-28007D350:F1A:3.37110066637005878487e-01
-28007D360:F1A:3.33783015830718232664e-01
-28007D370:F1A:3.30470981379163419867e-01
-28007D380:F1A:3.27173842813601289947e-01
-28007D390:F1A:3.23891482376391037779e-01
-28007D3A0:F1A:3.20623784956905300003e-01
-28007D3B0:F1A:3.17370638029913498812e-01
-28007D3C0:F1A:3.14131931596337066193e-01
-28007D3D0:F1A:3.10907558126286343025e-01
-28007D3E0:F1A:3.07697412504291889501e-01
-28007D3F0:F1A:3.04501391976649826709e-01
-28007D400:F1A:3.01319396100802883165e-01
-28007D410:F1A:2.98151326696685314843e-01
-28007D420:F1A:2.94997087799961643650e-01
-28007D430:F1A:2.91856585617094987928e-01
-28007D440:F1A:2.88729728482182701477e-01
-28007D450:F1A:2.85616426815501589509e-01
-28007D460:F1A:2.82516593083707412415e-01
-28007D470:F1A:2.79430141761637718112e-01
-28007D480:F1A:2.76356989295668098450e-01
-28007D490:F1A:2.73297054068576905639e-01
-28007D4A0:F1A:2.70250256365875185516e-01
-28007D4B0:F1A:2.67216518343561137971e-01
-28007D4C0:F1A:2.64195763997260801847e-01
-28007D4D0:F1A:2.61187919132720824944e-01
-28007D4E0:F1A:2.58192911337618902223e-01
-28007D4F0:F1A:2.55210669954661684145e-01
-28007D500:F1A:2.52241126055941899953e-01
-28007D510:F1A:2.49284212418528244859e-01
-28007D520:F1A:2.46339863501263633960e-01
-28007D530:F1A:2.43408015422750118040e-01
-28007D540:F1A:2.40488605940500393965e-01
-28007D550:F1A:2.37581574431237951828e-01
-28007D560:F1A:2.34686861872329899370e-01
-28007D570:F1A:2.31804410824338585906e-01
-28007D580:F1A:2.28934165414680229622e-01
-28007D590:F1A:2.26076071322380195427e-01
-28007D5A0:F1A:2.23230075763917457099e-01
-28007D5B0:F1A:2.20396127480151943212e-01
-28007D5C0:F1A:2.17574176724331130872e-01
-28007D5D0:F1A:2.14764175251173583536e-01
-28007D5E0:F1A:2.11966076307030154569e-01
-28007D5F0:F1A:2.09179834621124993710e-01
-28007D600:F1A:2.06405406397880714087e-01
-28007D610:F1A:2.03642749310334852941e-01
-28007D620:F1A:2.00891822494656563380e-01
-28007D630:F1A:1.98152586545775111215e-01
-28007D640:F1A:1.95425003514134276728e-01
-28007D650:F1A:1.92709036903589120415e-01
-28007D660:F1A:1.90004651670464957958e-01
-28007D670:F1A:1.87311814223800249257e-01
-28007D680:F1A:1.84630492426799269756e-01
-28007D690:F1A:1.81960655599522541648e-01
-28007D6A0:F1A:1.79302274522847665539e-01
-28007D6B0:F1A:1.76655321443734997233e-01
-28007D6C0:F1A:1.74019770081838748288e-01
-28007D6D0:F1A:1.71395595637505948616e-01
-28007D6E0:F1A:1.68782774801211510329e-01
-28007D6F0:F1A:1.66181285764482045142e-01
-28007D700:F1A:1.63591108232365695097e-01
-28007D710:F1A:1.61012223437511065027e-01
-28007D720:F1A:1.58444614155924312637e-01
-28007D730:F1A:1.55888264724479197465e-01
-28007D740:F1A:1.53343161060262828110e-01
-28007D750:F1A:1.50809290681845675763e-01
-28007D760:F1A:1.48286642732574525105e-01
-28007D770:F1A:1.45775208005994028060e-01
-28007D780:F1A:1.43274978973513406055e-01
-28007D790:F1A:1.40785949814444699690e-01
-28007D7A0:F1A:1.38308116448550705302e-01
-28007D7B0:F1A:1.35841476571253727545e-01
-28007D7C0:F1A:1.33386029691669127928e-01
-28007D7D0:F1A:1.30941777173644302579e-01
-28007D7E0:F1A:1.28508722279999515470e-01
-28007D7F0:F1A:1.26086870220185859326e-01
-28007D800:F1A:1.23676228201596544176e-01
-28007D810:F1A:1.21276805484790209388e-01
-28007D820:F1A:1.18888613442909976681e-01
-28007D830:F1A:1.16511665625610799646e-01
-28007D840:F1A:1.14145977827838349117e-01
-28007D850:F1A:1.11791568163838006544e-01
-28007D860:F1A:1.09448457146811631291e-01
-28007D870:F1A:1.07116667774683635428e-01
-28007D880:F1A:1.04796225622486902096e-01
-28007D890:F1A:1.02487158941935080358e-01
-28007D8A0:F1A:1.00189498768809809315e-01
-28007D8B0:F1A:9.79032790388622842226e-02
-28007D8C0:F1A:9.56285367130088187482e-02
-28007D8D0:F1A:9.33653119126908598302e-02
-28007D8E0:F1A:9.11136480663736342267e-02
-28007D8F0:F1A:8.88735920682757890576e-02
-28007D900:F1A:8.66451944505579607636e-02
-28007D910:F1A:8.44285095703533744471e-02
-28007D920:F1A:8.22235958132028627032e-02
-28007D930:F1A:8.00305158146630557514e-02
-28007D940:F1A:7.78493367020960391756e-02
-28007D950:F1A:7.56801303589270668581e-02
-28007D960:F1A:7.35229737139812683511e-02
-28007D970:F1A:7.13779490588903747783e-02
-28007D980:F1A:6.92451443970067692657e-02
-28007D990:F1A:6.71246538277884968737e-02
-28007D9A0:F1A:6.50165779712428421044e-02
-28007D9B0:F1A:6.29210244377581134900e-02
-28007D9C0:F1A:6.08381083495398641836e-02
-28007D9D0:F1A:5.87679529209337581097e-02
-28007D9E0:F1A:5.67106901062029017391e-02
-28007D9F0:F1A:5.46664613248889139085e-02
-28007DA00:F1A:5.26354182767921757735e-02
-28007DA10:F1A:5.06177238609477608833e-02
-28007DA20:F1A:4.86135532158685212956e-02
-28007DA30:F1A:4.66230949019303675396e-02
-28007DA40:F1A:4.46465522512944426592e-02
-28007DA50:F1A:4.26841449164744313194e-02
-28007DA60:F1A:4.07361106559409325012e-02
-28007DA70:F1A:3.88027074045261127777e-02
-28007DA80:F1A:3.68842156885672844968e-02
-28007DA90:F1A:3.49809414617160835403e-02
-28007DAA0:F1A:3.30932194585785224850e-02
-28007DAB0:F1A:3.12214171919202448935e-02
-28007DAC0:F1A:2.93659397581333136973e-02
-28007DAD0:F1A:2.75272356696030819079e-02
-28007DAE0:F1A:2.57058040085488964666e-02
-28007DAF0:F1A:2.39022033057958820101e-02
-28007DB00:F1A:2.21170627073088640890e-02
-28007DB10:F1A:2.03510962300445172324e-02
-28007DB20:F1A:1.86051212757246432761e-02
-28007DB30:F1A:1.68800831525431661861e-02
-28007DB40:F1A:1.51770883079353248457e-02
-28007DB50:F1A:1.34974506017398795249e-02
-28007DB60:F1A:1.18427578579078877224e-02
-28007DB70:F1A:1.02149714397014711870e-02
-28007DB80:F1A:8.61658276939873159217e-03
-28007DB90:F1A:7.05087547137322676050e-03
-28007DBA0:F1A:5.52240329925099675962e-03
-28007DBB0:F1A:4.03797259336303050042e-03
-28007DBC0:F1A:2.60907274610216273134e-03
-28007DBD0:F1A:1.26028593049859753868e-03
-28007DBE0:lI126|H28007DBF0
-28007DBF0:lI99|H28007DC00
-28007DC00:lI126|H28007DC10
-28007DC10:lI99|H28007DC20
-28007DC20:lI46|H28007DC30
-28007DC30:lI126|H28007DC40
-28007DC40:lI49|H28007DC50
-28007DC50:lI51|H28007DC60
-28007DC60:lI46|H28007DC70
-28007DC70:lI49|H28007DC80
-28007DC80:lI54|H28007DC90
-28007DC90:lI46|H28007DCA0
-28007DCA0:lI48|H28007DCB0
-28007DCB0:lI98|H28007DCC0
-28007DCC0:lI69|H28007DCD0
-28007DCD0:lI126|H28007DCE0
-28007DCE0:lI98|N
-28007DCF0:lI108|N
-28007DD00:lI114|H28007DCF0
-28007DD10:lI101|H28007DD00
-28007DD20:lI46|H28007DD10
-28007DD30:lI100|H28007DD20
-28007DD40:lI110|H28007DD30
-28007DD50:lI97|H28007DD40
-28007DD60:lI114|H28007DD50
-28007DD70:E48:g3AAAABGAX3XkEUS41MGPnrQPyy5JUoAAAAAAAAAAHcEcmFuZGEAYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007DD98:E48:g3AAAABGAX3XkEUS41MGPnrQPyy5JUoAAAABAAAAAHcEcmFuZGEBYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007DDC0:E48:g3AAAABGAn3XkEUS41MGPnrQPyy5JUoAAAACAAAAAHcEcmFuZGECYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007DDE8:E48:g3AAAABGAX3XkEUS41MGPnrQPyy5JUoAAAADAAAAAHcEcmFuZGEDYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007DE10:t6:A4:type,A4:next,A4:bits,A7:uniform,A9:uniform_n,A4:jump
-28007DE48:E48:g3AAAABGAX3XkEUS41MGPnrQPyy5JUoAAAAEAAAAAHcEcmFuZGEEYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007DE70:E48:g3AAAABGAX3XkEUS41MGPnrQPyy5JUoAAAAFAAAAAHcEcmFuZGEFYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007DE98:t4:A3:max,A4:type,A4:next,A4:jump
-28007DEC0:E48:g3AAAABGAX3XkEUS41MGPnrQPyy5JUoAAAAGAAAAAHcEcmFuZGEGYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007DEE8:E48:g3AAAABGAX3XkEUS41MGPnrQPyy5JUoAAAAHAAAAAHcEcmFuZGEHYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007DF10:E48:g3AAAABGAn3XkEUS41MGPnrQPyy5JUoAAAAIAAAAAHcEcmFuZGEIYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007DF38:t7:A4:type,A4:next,A4:bits,A7:uniform,AD:weak_low_bits,A9:uniform_n,A4:jump
-28007DF78:B18446744073709551615
-28007DF88:E48:g3AAAABGAX3XkEUS41MGPnrQPyy5JUoAAAAJAAAAAHcEcmFuZGEJYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007DFB0:t3:A3:max,A4:type,A4:next
-28007DFD0:E48:g3AAAABGAX3XkEUS41MGPnrQPyy5JUoAAAAKAAAAAHcEcmFuZGEKYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007DFF8:E48:g3AAAABGAX3XkEUS41MGPnrQPyy5JUoAAAALAAAAAHcEcmFuZGELYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007E020:E48:g3AAAABGAX3XkEUS41MGPnrQPyy5JUoAAAAMAAAAAHcEcmFuZGEMYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007E048:t5:A4:type,A4:next,A4:bits,AD:weak_low_bits,A4:jump
-28007E078:E48:g3AAAABGAX3XkEUS41MGPnrQPyy5JUoAAAANAAAAAHcEcmFuZGENYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007E0A0:E48:g3AAAABGAX3XkEUS41MGPnrQPyy5JUoAAAAOAAAAAHcEcmFuZGEOYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007E0C8:E48:g3AAAABGAX3XkEUS41MGPnrQPyy5JUoAAAAPAAAAAHcEcmFuZGEPYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007E0F0:E48:g3AAAABGAn3XkEUS41MGPnrQPyy5JUoAAAAQAAAAAHcEcmFuZGEQYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007E118:E48:g3AAAABGAX3XkEUS41MGPnrQPyy5JUoAAAARAAAAAHcEcmFuZGERYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007E140:E48:g3AAAABGAX3XkEUS41MGPnrQPyy5JUoAAAASAAAAAHcEcmFuZGESYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007E168:E48:g3AAAABGAX3XkEUS41MGPnrQPyy5JUoAAAATAAAAAHcEcmFuZGETYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007E190:E48:g3AAAABGAX3XkEUS41MGPnrQPyy5JUoAAAAUAAAAAHcEcmFuZGEUYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007E1B8:E48:g3AAAABGAn3XkEUS41MGPnrQPyy5JUoAAAAVAAAAAHcEcmFuZGEVYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007E1E0:E48:g3AAAABGAX3XkEUS41MGPnrQPyy5JUoAAAAWAAAAAHcEcmFuZGEWYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007E208:E48:g3AAAABGAX3XkEUS41MGPnrQPyy5JUoAAAAXAAAAAHcEcmFuZGEXYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007E230:E48:g3AAAABGAX3XkEUS41MGPnrQPyy5JUoAAAAYAAAAAHcEcmFuZGEYYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007E258:E48:g3AAAABGAX3XkEUS41MGPnrQPyy5JUoAAAAZAAAAAHcEcmFuZGEZYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007E280:E48:g3AAAABGAn3XkEUS41MGPnrQPyy5JUoAAAAaAAAAAHcEcmFuZGEaYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007E2A8:t5:A4:type,A4:next,A4:bits,A7:uniform,A9:uniform_n
-28007E2D8:E48:g3AAAABGAX3XkEUS41MGPnrQPyy5JUoAAAAbAAAAAHcEcmFuZGEbYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007E300:B2685821657736338717
-28007E310:B18446744073709551614
-28007E320:B1181783497276652981
-28007E330:E48:g3AAAABGAn3XkEUS41MGPnrQPyy5JUoAAAAcAAAAAHcEcmFuZGEcYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007E358:E48:g3AAAABGAX3XkEUS41MGPnrQPyy5JUoAAAAdAAAAAHcEcmFuZGEdYgPuvIJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007E380:B11400714819323198485
-28007E390:B13787848793156543929
-28007E3A0:B10723151780598845931
-28007E3B0:B9223372036854775808
-28007F160:t2:A5:error,AB:not_boolean
-28007F178:t2:A5:error,A17:global_group_not_runnig
-28007F190:t2:A5:local,AC:global_group
-28007F1A8:t1:AD:connection_id
-28007F1B8:Mf1:H28007F1A8:A4:true
-28007F1D8:lA9:undefined|N
-28007F1E8:Mf0:H280010188:
-28007F200:t2:A4:node,AB:test3844zty
-28007F218:t2:A5:error,A15:illegal_function_call
-28007F230:t2:A5:error,A1A:no global_groups definiton
-28007F248:t2:H28007F260,H28007F278
-28007F260:Mf0:H280010188:
-28007F278:Mf0:H280010188:
-28007F290:t3:N,N,N
-28007F2B0:lI103|H28007F2C0
-28007F2C0:lI108|H28007F2D0
-28007F2D0:lI111|H28007F2E0
-28007F2E0:lI98|H28007F2F0
-28007F2F0:lI97|H28007F300
-28007F300:lI108|H28007F310
-28007F310:lI95|H28007F320
-28007F320:lI103|H28007F330
-28007F330:lI114|H28007F340
-28007F340:lI111|H28007F350
-28007F350:lI117|H28007F360
-28007F360:lI112|H28007F370
-28007F370:lI58|H28007F380
-28007F380:lI32|H28007F390
-28007F390:lI67|H28007F3A0
-28007F3A0:lI111|H28007F3B0
-28007F3B0:lI117|H28007F3C0
-28007F3C0:lI108|H28007F3D0
-28007F3D0:lI100|H28007F3E0
-28007F3E0:lI32|H28007F3F0
-28007F3F0:lI110|H28007F400
-28007F400:lI111|H28007F410
-28007F410:lI116|H28007F420
-28007F420:lI32|H28007F430
-28007F430:lI115|H28007F440
-28007F440:lI121|H28007F450
-28007F450:lI110|H28007F460
-28007F460:lI99|H28007F470
-28007F470:lI104|H28007F480
-28007F480:lI114|H28007F490
-28007F490:lI111|H28007F4A0
-28007F4A0:lI110|H28007F4B0
-28007F4B0:lI105|H28007F4C0
-28007F4C0:lI122|H28007F4D0
-28007F4D0:lI101|H28007F4E0
-28007F4E0:lI32|H28007F4F0
-28007F4F0:lI119|H28007F500
-28007F500:lI105|H28007F510
-28007F510:lI116|H28007F520
-28007F520:lI104|H28007F530
-28007F530:lI32|H28007F540
-28007F540:lI110|H28007F550
-28007F550:lI111|H28007F560
-28007F560:lI100|H28007F570
-28007F570:lI101|H28007F580
-28007F580:lI32|H28007F590
-28007F590:lI126|H28007F5A0
-28007F5A0:lI112|H28007F5B0
-28007F5B0:lI126|H28007F5C0
-28007F5C0:lI110|H28007F5D0
-28007F5D0:lI98|H28007F5E0
-28007F5E0:lI101|H28007F5F0
-28007F5F0:lI99|H28007F600
-28007F600:lI97|H28007F610
-28007F610:lI117|H28007F620
-28007F620:lI115|H28007F630
-28007F630:lI101|H28007F640
-28007F640:lI32|H28007F650
-28007F650:lI103|H28007F660
-28007F660:lI108|H28007F670
-28007F670:lI111|H28007F680
-28007F680:lI98|H28007F690
-28007F690:lI97|H28007F6A0
-28007F6A0:lI108|H28007F6B0
-28007F6B0:lI95|H28007F6C0
-28007F6C0:lI103|H28007F6D0
-28007F6D0:lI114|H28007F6E0
-28007F6E0:lI111|H28007F6F0
-28007F6F0:lI117|H28007F700
-28007F700:lI112|H28007F710
-28007F710:lI115|H28007F720
-28007F720:lI32|H28007F730
-28007F730:lI112|H28007F740
-28007F740:lI97|H28007F750
-28007F750:lI114|H28007F760
-28007F760:lI97|H28007F770
-28007F770:lI109|H28007F780
-28007F780:lI101|H28007F790
-28007F790:lI116|H28007F7A0
-28007F7A0:lI101|H28007F7B0
-28007F7B0:lI114|H28007F7C0
-28007F7C0:lI32|H28007F7D0
-28007F7D0:lI119|H28007F7E0
-28007F7E0:lI101|H28007F7F0
-28007F7F0:lI114|H28007F800
-28007F800:lI101|H28007F810
-28007F810:lI32|H28007F820
-28007F820:lI110|H28007F830
-28007F830:lI111|H28007F840
-28007F840:lI116|H28007F850
-28007F850:lI32|H28007F860
-28007F860:lI105|H28007F870
-28007F870:lI110|H28007F880
-28007F880:lI32|H28007F890
-28007F890:lI97|H28007F8A0
-28007F8A0:lI103|H28007F8B0
-28007F8B0:lI114|H28007F8C0
-28007F8C0:lI101|H28007F8D0
-28007F8D0:lI101|H28007F8E0
-28007F8E0:lI109|H28007F8F0
-28007F8F0:lI101|H28007F900
-28007F900:lI110|H28007F910
-28007F910:lI116|H28007F920
-28007F920:lI46|H28007F930
-28007F930:lI126|H28007F940
-28007F940:lI110|N
-28007F950:t2:A4:erpc,AC:noconnection
-28007F968:t9:A5:gconf,A7:invalid,A9:undefined,N,A6:normal,N,A3:all,N,A7:no_conf
-28007F9B8:t2:A2:ok,A3:all
-28007F9D0:lI108|N
-28007F9E0:lI114|H28007F9D0
-28007F9F0:lI101|H28007F9E0
-28007FA00:lI46|H28007F9F0
-28007FA10:lI112|H28007FA00
-28007FA20:lI117|H28007FA10
-28007FA30:lI111|H28007FA20
-28007FA40:lI114|H28007FA30
-28007FA50:lI103|H28007FA40
-28007FA60:lI95|H28007FA50
-28007FA70:lI108|H28007FA60
-28007FA80:lI97|H28007FA70
-28007FA90:lI98|H28007FA80
-28007FAA0:lI111|H28007FA90
-28007FAB0:lI108|H28007FAA0
-28007FAC0:lI103|H28007FAB0
-28007FAD0:E50:g3AAAABOAP90bxlFikMVMF8VpcuovIcAAAAAAAAAAHcMZ2xvYmFsX2dyb3VwYQBiB/ujeFh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-28007FAF8:E50:g3AAAABOAv90bxlFikMVMF8VpcuovIcAAAABAAAAAHcMZ2xvYmFsX2dyb3VwYQFiB/ujeFh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-28007FB20:E50:g3AAAABOAv90bxlFikMVMF8VpcuovIcAAAACAAAAAHcMZ2xvYmFsX2dyb3VwYQJiB/ujeFh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-28007FB48:E50:g3AAAABOAv90bxlFikMVMF8VpcuovIcAAAADAAAAAHcMZ2xvYmFsX2dyb3VwYQNiB/ujeFh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-28007FB70:E50:g3AAAABOA/90bxlFikMVMF8VpcuovIcAAAAHAAAAAHcMZ2xvYmFsX2dyb3VwYQdiB/ujeFh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-28007FB98:E50:g3AAAABOAv90bxlFikMVMF8VpcuovIcAAAAIAAAAAHcMZ2xvYmFsX2dyb3VwYQhiB/ujeFh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-28007FC58:lN|N
-28007FC68:t2:A4:erpc,A6:badarg
-28007FC80:lH28007FCA0|H28007FC90
-28007FC90:lA7:monitor|N
-28007FCA0:t2:A5:reply,AA:error_only
-28007FCB8:t2:A4:erpc,AC:noconnection
-28007FCD0:t2:A4:erpc,A7:timeout
-28007FCE8:Mf0:H280010188:
-28007FD00:lH28007FD10|N
-28007FD10:t2:A5:reply,A2:no
-28007FD28:lA4:info|N
-28007FD38:t2:A5:reply,AA:error_only
-28007FD50:t2:A5:error,H28007FD68
-28007FD68:t2:A4:erpc,A7:timeout
-28007FD80:lI108|N
-28007FD90:lI114|H28007FD80
-28007FDA0:lI101|H28007FD90
-28007FDB0:lI46|H28007FDA0
-28007FDC0:lI99|H28007FDB0
-28007FDD0:lI112|H28007FDC0
-28007FDE0:lI114|H28007FDD0
-28007FDF0:lI101|H28007FDE0
-28007FE00:E48:g3AAAABGArZvHmfGlHCs4XDYkOAiwhMAAAAAAAAAAHcEZXJwY2EAYgWzePNYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007FE28:E48:g3AAAABGA7ZvHmfGlHCs4XDYkOAiwhMAAAABAAAAAHcEZXJwY2EBYgWzePNYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-28007FE50:t1:AA:local_call
-280082718:lA8:infinity|N
-280082728:lH280082738|N
-280082738:t2:A8:postpone,A5:false
-280082750:lAA:gen_statem|N
-280082760:t1:A3:t0q
-280082770:Mf1:H280082760:N
-280082790:lH2800827A0|N
-2800827A0:t2:A8:internal,AA:init_state
-2800827B8:t5:A5:state,H2800827E8,N,H280082810,A5:false
-2800827E8:t2:A9:undefined,A9:undefined
-280082800:t1:A3:t0q
-280082810:Mf1:H280082800:N
-280082830:t2:A4:exit,A6:normal
-280082848:lI83|H280082858
-280082858:lI116|H280082868
-280082868:lI97|H280082878
-280082878:lI116|H280082888
-280082888:lI117|H280082898
-280082898:lI115|H2800828A8
-2800828A8:lI32|H2800828B8
-2800828B8:lI102|H2800828C8
-2800828C8:lI111|H2800828D8
-2800828D8:lI114|H2800828E8
-2800828E8:lI32|H2800828F8
-2800828F8:lI115|H280082908
-280082908:lI116|H280082918
-280082918:lI97|H280082928
-280082928:lI116|H280082938
-280082938:lI101|H280082948
-280082948:lI32|H280082958
-280082958:lI109|H280082968
-280082968:lI97|H280082978
-280082978:lI99|H280082988
-280082988:lI104|H280082998
-280082998:lI105|H2800829A8
-2800829A8:lI110|H2800829B8
-2800829B8:lI101|N
-2800829C8:Mf0:H280010188:
-2800829E0:lI83|H2800829F0
-2800829F0:lI116|H280082A00
-280082A00:lI97|H280082A10
-280082A10:lI116|H280082A20
-280082A20:lI101|N
-280082A30:lI80|H280082A40
-280082A40:lI111|H280082A50
-280082A50:lI115|H280082A60
-280082A60:lI116|H280082A70
-280082A70:lI112|H280082A80
-280082A80:lI111|H280082A90
-280082A90:lI110|H280082AA0
-280082AA0:lI101|H280082AB0
-280082AB0:lI100|N
-280082AC0:lI76|H280082AD0
-280082AD0:lI111|H280082AE0
-280082AE0:lI103|H280082AF0
-280082AF0:lI103|H280082B00
-280082B00:lI101|H280082B10
-280082B10:lI100|H280082B20
-280082B20:lI32|H280082B30
-280082B30:lI69|H280082B40
-280082B40:lI118|H280082B50
-280082B50:lI101|H280082B60
-280082B60:lI110|H280082B70
-280082B70:lI116|H280082B80
-280082B80:lI115|N
-280082B90:lI84|H280082BA0
-280082BA0:lI105|H280082BB0
-280082BB0:lI109|H280082BC0
-280082BC0:lI101|H280082BD0
-280082BD0:lI45|H280082BE0
-280082BE0:lI111|H280082BF0
-280082BF0:lI117|H280082C00
-280082C00:lI116|H280082C10
-280082C10:lI115|N
-280082C20:lI77|H280082C30
-280082C30:lI111|H280082C40
-280082C40:lI100|H280082C50
-280082C50:lI117|H280082C60
-280082C60:lI108|H280082C70
-280082C70:lI101|H280082C80
-280082C80:lI115|N
-280082C90:lI80|H280082CA0
-280082CA0:lI97|H280082CB0
-280082CB0:lI114|H280082CC0
-280082CC0:lI101|H280082CD0
-280082CD0:lI110|H280082CE0
-280082CE0:lI116|N
-280082CF0:lI83|H280082D00
-280082D00:lI116|H280082D10
-280082D10:lI97|H280082D20
-280082D20:lI116|H280082D30
-280082D30:lI117|H280082D40
-280082D40:lI115|N
-280082D50:lI126|H280082D60
-280082D60:lI116|H280082D70
-280082D70:lI112|N
-280082D80:lI126|H280082D90
-280082D90:lI116|H280082DA0
-280082DA0:lI112|H280082DB0
-280082DB0:lI32|H280082DC0
-280082DC0:lI61|H280082DD0
-280082DD0:lI62|H280082DE0
-280082DE0:lI32|H280082DF0
-280082DF0:lI126|H280082E00
-280082E00:lI116|H280082E10
-280082E10:lI112|N
-280082E20:lI42|H280082E30
-280082E30:lI68|H280082E40
-280082E40:lI66|H280082E50
-280082E50:lI71|H280082E60
-280082E60:lI42|H280082E70
-280082E70:lI32|H280082E80
-280082E80:lI126|H280082E90
-280082E90:lI116|H280082EA0
-280082EA0:lI112|H280082EB0
-280082EB0:lI32|H280082EC0
-280082EC0:lI126|H280082ED0
-280082ED0:lI116|H280082EE0
-280082EE0:lI119|H280082EF0
-280082EF0:lI32|H280082F00
-280082F00:lI126|H280082F10
-280082F10:lI116|H280082F20
-280082F20:lI115|H280082F30
-280082F30:lI32|H280082F40
-280082F40:lI105|H280082F50
-280082F50:lI110|H280082F60
-280082F60:lI32|H280082F70
-280082F70:lI115|H280082F80
-280082F80:lI116|H280082F90
-280082F90:lI97|H280082FA0
-280082FA0:lI116|H280082FB0
-280082FB0:lI101|H280082FC0
-280082FC0:lI32|H280082FD0
-280082FD0:lI126|H280082FE0
-280082FE0:lI116|H280082FF0
-280082FF0:lI115|H280083000
-280083000:lI126|H280083010
-280083010:lI110|N
-280083020:lI42|H280083030
-280083030:lI68|H280083040
-280083040:lI66|H280083050
-280083050:lI71|H280083060
-280083060:lI42|H280083070
-280083070:lI32|H280083080
-280083080:lI126|H280083090
-280083090:lI116|H2800830A0
-2800830A0:lI112|H2800830B0
-2800830B0:lI32|H2800830C0
-2800830C0:lI116|H2800830D0
-2800830D0:lI101|H2800830E0
-2800830E0:lI114|H2800830F0
-2800830F0:lI109|H280083100
-280083100:lI105|H280083110
-280083110:lI110|H280083120
-280083120:lI97|H280083130
-280083130:lI116|H280083140
-280083140:lI101|H280083150
-280083150:lI32|H280083160
-280083160:lI126|H280083170
-280083170:lI116|H280083180
-280083180:lI112|H280083190
-280083190:lI32|H2800831A0
-2800831A0:lI105|H2800831B0
-2800831B0:lI110|H2800831C0
-2800831C0:lI32|H2800831D0
-2800831D0:lI115|H2800831E0
-2800831E0:lI116|H2800831F0
-2800831F0:lI97|H280083200
-280083200:lI116|H280083210
-280083210:lI101|H280083220
-280083220:lI32|H280083230
-280083230:lI126|H280083240
-280083240:lI116|H280083250
-280083250:lI112|H280083260
-280083260:lI126|H280083270
-280083270:lI110|N
-280083280:lI42|H280083290
-280083290:lI68|H2800832A0
-2800832A0:lI66|H2800832B0
-2800832B0:lI71|H2800832C0
-2800832C0:lI42|H2800832D0
-2800832D0:lI32|H2800832E0
-2800832E0:lI126|H2800832F0
-2800832F0:lI116|H280083300
-280083300:lI112|H280083310
-280083310:lI32|H280083320
-280083320:lI115|H280083330
-280083330:lI116|H280083340
-280083340:lI97|H280083350
-280083350:lI114|H280083360
-280083360:lI116|H280083370
-280083370:lI95|H280083380
-280083380:lI116|H280083390
-280083390:lI105|H2800833A0
-2800833A0:lI109|H2800833B0
-2800833B0:lI101|H2800833C0
-2800833C0:lI114|H2800833D0
-2800833D0:lI32|H2800833E0
-2800833E0:lI126|H2800833F0
-2800833F0:lI116|H280083400
-280083400:lI112|H280083410
-280083410:lI32|H280083420
-280083420:lI105|H280083430
-280083430:lI110|H280083440
-280083440:lI32|H280083450
-280083450:lI115|H280083460
-280083460:lI116|H280083470
-280083470:lI97|H280083480
-280083480:lI116|H280083490
-280083490:lI101|H2800834A0
-2800834A0:lI32|H2800834B0
-2800834B0:lI126|H2800834C0
-2800834C0:lI116|H2800834D0
-2800834D0:lI112|H2800834E0
-2800834E0:lI126|H2800834F0
-2800834F0:lI110|N
-280083500:lI42|H280083510
-280083510:lI68|H280083520
-280083520:lI66|H280083530
-280083530:lI71|H280083540
-280083540:lI42|H280083550
-280083550:lI32|H280083560
-280083560:lI126|H280083570
-280083570:lI116|H280083580
-280083580:lI112|H280083590
-280083590:lI32|H2800835A0
-2800835A0:lI115|H2800835B0
-2800835B0:lI101|H2800835C0
-2800835C0:lI110|H2800835D0
-2800835D0:lI100|H2800835E0
-2800835E0:lI32|H2800835F0
-2800835F0:lI126|H280083600
-280083600:lI116|H280083610
-280083610:lI112|H280083620
-280083620:lI32|H280083630
-280083630:lI116|H280083640
-280083640:lI111|H280083650
-280083650:lI32|H280083660
-280083660:lI126|H280083670
-280083670:lI116|H280083680
-280083680:lI119|H280083690
-280083690:lI126|H2800836A0
-2800836A0:lI110|N
-2800836B0:lI42|H2800836C0
-2800836C0:lI68|H2800836D0
-2800836D0:lI66|H2800836E0
-2800836E0:lI71|H2800836F0
-2800836F0:lI42|H280083700
-280083700:lI32|H280083710
-280083710:lI126|H280083720
-280083720:lI116|H280083730
-280083730:lI112|H280083740
-280083740:lI32|H280083750
-280083750:lI109|H280083760
-280083760:lI111|H280083770
-280083770:lI100|H280083780
-280083780:lI117|H280083790
-280083790:lI108|H2800837A0
-2800837A0:lI101|H2800837B0
-2800837B0:lI32|H2800837C0
-2800837C0:lI126|H2800837D0
-2800837D0:lI116|H2800837E0
-2800837E0:lI112|H2800837F0
-2800837F0:lI32|H280083800
-280083800:lI105|H280083810
-280083810:lI110|H280083820
-280083820:lI32|H280083830
-280083830:lI115|H280083840
-280083840:lI116|H280083850
-280083850:lI97|H280083860
-280083860:lI116|H280083870
-280083870:lI101|H280083880
-280083880:lI32|H280083890
-280083890:lI126|H2800838A0
-2800838A0:lI116|H2800838B0
-2800838B0:lI112|H2800838C0
-2800838C0:lI126|H2800838D0
-2800838D0:lI110|N
-2800838E0:lI42|H2800838F0
-2800838F0:lI68|H280083900
-280083900:lI66|H280083910
-280083910:lI71|H280083920
-280083920:lI42|H280083930
-280083930:lI32|H280083940
-280083940:lI126|H280083950
-280083950:lI116|H280083960
-280083960:lI112|H280083970
-280083970:lI32|H280083980
-280083980:lI105|H280083990
-280083990:lI110|H2800839A0
-2800839A0:lI115|H2800839B0
-2800839B0:lI101|H2800839C0
-2800839C0:lI114|H2800839D0
-2800839D0:lI116|H2800839E0
-2800839E0:lI95|H2800839F0
-2800839F0:lI116|H280083A00
-280083A00:lI105|H280083A10
-280083A10:lI109|H280083A20
-280083A20:lI101|H280083A30
-280083A30:lI111|H280083A40
-280083A40:lI117|H280083A50
-280083A50:lI116|H280083A60
-280083A60:lI32|H280083A70
-280083A70:lI126|H280083A80
-280083A80:lI116|H280083A90
-280083A90:lI112|H280083AA0
-280083AA0:lI32|H280083AB0
-280083AB0:lI105|H280083AC0
-280083AC0:lI110|H280083AD0
-280083AD0:lI32|H280083AE0
-280083AE0:lI115|H280083AF0
-280083AF0:lI116|H280083B00
-280083B00:lI97|H280083B10
-280083B10:lI116|H280083B20
-280083B20:lI101|H280083B30
-280083B30:lI32|H280083B40
-280083B40:lI126|H280083B50
-280083B50:lI116|H280083B60
-280083B60:lI112|H280083B70
-280083B70:lI126|H280083B80
-280083B80:lI110|N
-280083B90:lI42|H280083BA0
-280083BA0:lI68|H280083BB0
-280083BB0:lI66|H280083BC0
-280083BC0:lI71|H280083BD0
-280083BD0:lI42|H280083BE0
-280083BE0:lI32|H280083BF0
-280083BF0:lI126|H280083C00
-280083C00:lI116|H280083C10
-280083C10:lI112|H280083C20
-280083C20:lI32|H280083C30
-280083C30:lI114|H280083C40
-280083C40:lI101|H280083C50
-280083C50:lI99|H280083C60
-280083C60:lI101|H280083C70
-280083C70:lI105|H280083C80
-280083C80:lI118|H280083C90
-280083C90:lI101|H280083CA0
-280083CA0:lI32|H280083CB0
-280083CB0:lI126|H280083CC0
-280083CC0:lI116|H280083CD0
-280083CD0:lI115|H280083CE0
-280083CE0:lI32|H280083CF0
-280083CF0:lI105|H280083D00
-280083D00:lI110|H280083D10
-280083D10:lI32|H280083D20
-280083D20:lI115|H280083D30
-280083D30:lI116|H280083D40
-280083D40:lI97|H280083D50
-280083D50:lI116|H280083D60
-280083D60:lI101|H280083D70
-280083D70:lI32|H280083D80
-280083D80:lI126|H280083D90
-280083D90:lI116|H280083DA0
-280083DA0:lI112|H280083DB0
-280083DB0:lI126|H280083DC0
-280083DC0:lI110|N
-280083DD0:lI42|H280083DE0
-280083DE0:lI68|H280083DF0
-280083DF0:lI66|H280083E00
-280083E00:lI71|H280083E10
-280083E10:lI42|H280083E20
-280083E20:lI32|H280083E30
-280083E30:lI126|H280083E40
-280083E40:lI116|H280083E50
-280083E50:lI112|H280083E60
-280083E60:lI32|H280083E70
-280083E70:lI101|H280083E80
-280083E80:lI110|H280083E90
-280083E90:lI116|H280083EA0
-280083EA0:lI101|H280083EB0
-280083EB0:lI114|H280083EC0
-280083EC0:lI32|H280083ED0
-280083ED0:lI126|H280083EE0
-280083EE0:lI116|H280083EF0
-280083EF0:lI112|H280083F00
-280083F00:lI32|H280083F10
-280083F10:lI105|H280083F20
-280083F20:lI110|H280083F30
-280083F30:lI32|H280083F40
-280083F40:lI115|H280083F50
-280083F50:lI116|H280083F60
-280083F60:lI97|H280083F70
-280083F70:lI116|H280083F80
-280083F80:lI101|H280083F90
-280083F90:lI32|H280083FA0
-280083FA0:lI126|H280083FB0
-280083FB0:lI116|H280083FC0
-280083FC0:lI112|H280083FD0
-280083FD0:lI126|H280083FE0
-280083FE0:lI110|N
-280083FF0:lI99|H280084000
-280084000:lI97|H280084010
-280084010:lI108|H280084020
-280084020:lI108|H280084030
-280084030:lI32|H280084040
-280084040:lI126|H280084050
-280084050:lI116|H280084060
-280084060:lI112|H280084070
-280084070:lI32|H280084080
-280084080:lI102|H280084090
-280084090:lI114|H2800840A0
-2800840A0:lI111|H2800840B0
-2800840B0:lI109|H2800840C0
-2800840C0:lI32|H2800840D0
-2800840D0:lI126|H2800840E0
-2800840E0:lI116|H2800840F0
-2800840F0:lI119|N
-280084100:lI126|H280084110
-280084110:lI116|H280084120
-280084120:lI119|H280084130
-280084130:lI32|H280084140
-280084140:lI126|H280084150
-280084150:lI116|H280084160
-280084160:lI112|N
-280084170:t2:A2B:should_not_have_arrived_here_but_instead_in,H280084188
-280084188:t3:AA:gen_statem,A15:wakeup_from_hibernate,I3
-2800841A8:t2:A2A:bad_state_enter_action_from_state_function,A8:postpone
-2800841C0:t2:A2A:bad_state_enter_action_from_state_function,A13:pop_callback_module
-2800841D8:t2:AA:gen_statem,A9:terminate
-2800841F0:t3:AC:error_logger,A6:domain,A9:report_cb
-280084210:Mf3:H2800841F0:H280084268,H280084240,H2800842B8
-280084240:lA3:otp|N
-280084250:t2:A3:tag,A9:report_cb
-280084268:Mf2:H280084250:A5:error,H280084290
-280084290:E1C:g3F3Cmdlbl9zdGF0ZW13CmZvcm1hdF9sb2dhAQ==
-2800842B8:E1C:g3F3Cmdlbl9zdGF0ZW13CmZvcm1hdF9sb2dhAg==
-2800842E0:t3:A4:line,A4:file,A3:mfa
-280084300:Mf3:H2800842E0:I2617,H280084330,H280084410
-280084330:lI103|H280084340
-280084340:lI101|H280084350
-280084350:lI110|H280084360
-280084360:lI95|H280084370
-280084370:lI115|H280084380
-280084380:lI116|H280084390
-280084390:lI97|H2800843A0
-2800843A0:lI116|H2800843B0
-2800843B0:lI101|H2800843C0
-2800843C0:lI109|H2800843D0
-2800843D0:lI46|H2800843E0
-2800843E0:lI101|H2800843F0
-2800843F0:lI114|H280084400
-280084400:lI108|N
-280084410:t3:AA:gen_statem,AA:error_info,I7
-280084430:lA12:current_stacktrace|H280084440
-280084440:lAF:registered_name|N
-280084450:t4:AB:chars_limit,A5:depth,A8:encoding,AB:single_line
-280084478:Mf4:H280084450:A9:unlimited,A9:unlimited,A4:utf8,A5:false
-2800844B0:lI46|H2800844C0
-2800844C0:lI32|H2800844D0
-2800844D0:lI83|H2800844E0
-2800844E0:lI116|H2800844F0
-2800844F0:lI97|H280084500
-280084500:lI99|H280084510
-280084510:lI107|H280084520
-280084520:lI58|H280084530
-280084530:lI32|N
-280084540:lI46|H280084550
-280084550:lI32|H280084560
-280084560:lI76|H280084570
-280084570:lI97|H280084580
-280084580:lI115|H280084590
-280084590:lI116|H2800845A0
-2800845A0:lI32|H2800845B0
-2800845B0:lI101|H2800845C0
-2800845C0:lI118|H2800845D0
-2800845D0:lI101|H2800845E0
-2800845E0:lI110|H2800845F0
-2800845F0:lI116|H280084600
-280084600:lI58|H280084610
-280084610:lI32|N
-280084620:lI46|H280084630
-280084630:lI32|H280084640
-280084640:lI76|H280084650
-280084650:lI111|H280084660
-280084660:lI103|H280084670
-280084670:lI58|H280084680
-280084680:lI32|N
-280084690:lH2800846A0|N
-2800846A0:lI46|N
-2800846B0:lI46|H2800846C0
-2800846C0:lI32|H2800846D0
-2800846D0:lI83|H2800846E0
-2800846E0:lI116|H2800846F0
-2800846F0:lI97|H280084700
-280084700:lI116|H280084710
-280084710:lI101|H280084720
-280084720:lI58|H280084730
-280084730:lI32|N
-280084740:lI32|H280084750
-280084750:lI116|H280084760
-280084760:lI101|H280084770
-280084770:lI114|H280084780
-280084780:lI109|H280084790
-280084790:lI105|H2800847A0
-2800847A0:lI110|H2800847B0
-2800847B0:lI97|H2800847C0
-2800847C0:lI116|H2800847D0
-2800847D0:lI105|H2800847E0
-2800847E0:lI110|H2800847F0
-2800847F0:lI103|H280084800
-280084800:lI46|H280084810
-280084810:lI32|H280084820
-280084820:lI82|H280084830
-280084830:lI101|H280084840
-280084840:lI97|H280084850
-280084850:lI115|H280084860
-280084860:lI111|H280084870
-280084870:lI110|H280084880
-280084880:lI58|H280084890
-280084890:lI32|N
-2800848A0:lI83|H2800848B0
-2800848B0:lI116|H2800848C0
-2800848C0:lI97|H2800848D0
-2800848D0:lI116|H2800848E0
-2800848E0:lI101|H2800848F0
-2800848F0:lI32|H280084900
-280084900:lI109|H280084910
-280084910:lI97|H280084920
-280084920:lI99|H280084930
-280084930:lI104|H280084940
-280084940:lI105|H280084950
-280084950:lI110|H280084960
-280084960:lI101|H280084970
-280084970:lI32|N
-280084980:lAB:state_enter|N
-280084990:lI126|H2800849A0
-2800849A0:lI110|N
-2800849B0:lI42|H2800849C0
-2800849C0:lI42|H2800849D0
-2800849D0:lI32|H2800849E0
-2800849E0:lI76|H2800849F0
-2800849F0:lI97|H280084A00
-280084A00:lI115|H280084A10
-280084A10:lI116|H280084A20
-280084A20:lI32|H280084A30
-280084A30:lI101|H280084A40
-280084A40:lI118|H280084A50
-280084A50:lI101|H280084A60
-280084A60:lI110|H280084A70
-280084A70:lI116|H280084A80
-280084A80:lI32|H280084A90
-280084A90:lI61|H280084AA0
-280084AA0:lI32|N
-280084AB0:lI42|H280084AC0
-280084AC0:lI42|H280084AD0
-280084AD0:lI32|H280084AE0
-280084AE0:lI81|H280084AF0
-280084AF0:lI117|H280084B00
-280084B00:lI101|H280084B10
-280084B10:lI117|H280084B20
-280084B20:lI101|H280084B30
-280084B30:lI100|H280084B40
-280084B40:lI32|H280084B50
-280084B50:lI61|H280084B60
-280084B60:lI32|N
-280084B70:lI42|H280084B80
-280084B80:lI42|H280084B90
-280084B90:lI32|H280084BA0
-280084BA0:lI80|H280084BB0
-280084BB0:lI111|H280084BC0
-280084BC0:lI115|H280084BD0
-280084BD0:lI116|H280084BE0
-280084BE0:lI112|H280084BF0
-280084BF0:lI111|H280084C00
-280084C00:lI110|H280084C10
-280084C10:lI101|H280084C20
-280084C20:lI100|H280084C30
-280084C30:lI32|H280084C40
-280084C40:lI61|H280084C50
-280084C50:lI32|N
-280084C60:lI42|H280084C70
-280084C70:lI42|H280084C80
-280084C80:lI32|H280084C90
-280084C90:lI83|H280084CA0
-280084CA0:lI116|H280084CB0
-280084CB0:lI97|H280084CC0
-280084CC0:lI99|H280084CD0
-280084CD0:lI107|H280084CE0
-280084CE0:lI116|H280084CF0
-280084CF0:lI114|H280084D00
-280084D00:lI97|H280084D10
-280084D10:lI99|H280084D20
-280084D20:lI101|H280084D30
-280084D30:lI32|H280084D40
-280084D40:lI61|H280084D50
-280084D50:lI126|H280084D60
-280084D60:lI110|H280084D70
-280084D70:lI42|H280084D80
-280084D80:lI42|H280084D90
-280084D90:lI32|H280084DA0
-280084DA0:lI32|N
-280084DB0:lI42|H280084DC0
-280084DC0:lI42|H280084DD0
-280084DD0:lI32|H280084DE0
-280084DE0:lI84|H280084DF0
-280084DF0:lI105|H280084E00
-280084E00:lI109|H280084E10
-280084E10:lI101|H280084E20
-280084E20:lI45|H280084E30
-280084E30:lI111|H280084E40
-280084E40:lI117|H280084E50
-280084E50:lI116|H280084E60
-280084E60:lI115|H280084E70
-280084E70:lI58|H280084E80
-280084E80:lI32|N
-280084E90:lI42|H280084EA0
-280084EA0:lI42|H280084EB0
-280084EB0:lI32|H280084EC0
-280084EC0:lI76|H280084ED0
-280084ED0:lI111|H280084EE0
-280084EE0:lI103|H280084EF0
-280084EF0:lI32|H280084F00
-280084F00:lI61|H280084F10
-280084F10:lI126|H280084F20
-280084F20:lI110|H280084F30
-280084F30:lI42|H280084F40
-280084F40:lI42|H280084F50
-280084F50:lI32|H280084F60
-280084F60:lI32|N
-280084F70:lI42|H280084F80
-280084F80:lI42|H280084F90
-280084F90:lI32|H280084FA0
-280084FA0:lI67|H280084FB0
-280084FB0:lI97|H280084FC0
-280084FC0:lI108|H280084FD0
-280084FD0:lI108|H280084FE0
-280084FE0:lI98|H280084FF0
-280084FF0:lI97|H280085000
-280085000:lI99|H280085010
-280085010:lI107|H280085020
-280085020:lI32|H280085030
-280085030:lI109|H280085040
-280085040:lI111|H280085050
-280085050:lI100|H280085060
-280085060:lI101|H280085070
-280085070:lI32|H280085080
-280085080:lI61|H280085090
-280085090:lI32|N
-2800850A0:lI42|H2800850B0
-2800850B0:lI42|H2800850C0
-2800850C0:lI32|H2800850D0
-2800850D0:lI67|H2800850E0
-2800850E0:lI97|H2800850F0
-2800850F0:lI108|H280085100
-280085100:lI108|H280085110
-280085110:lI98|H280085120
-280085120:lI97|H280085130
-280085130:lI99|H280085140
-280085140:lI107|H280085150
-280085150:lI32|H280085160
-280085160:lI109|H280085170
-280085170:lI111|H280085180
-280085180:lI100|H280085190
-280085190:lI117|H2800851A0
-2800851A0:lI108|H2800851B0
-2800851B0:lI101|H2800851C0
-2800851C0:lI115|H2800851D0
-2800851D0:lI32|H2800851E0
-2800851E0:lI61|H2800851F0
-2800851F0:lI32|N
-280085200:lI58|N
-280085210:lI42|H280085220
-280085220:lI42|H280085230
-280085230:lI32|H280085240
-280085240:lI82|H280085250
-280085250:lI101|H280085260
-280085260:lI97|H280085270
-280085270:lI115|H280085280
-280085280:lI111|H280085290
-280085290:lI110|H2800852A0
-2800852A0:lI32|H2800852B0
-2800852B0:lI102|H2800852C0
-2800852C0:lI111|H2800852D0
-2800852D0:lI114|H2800852E0
-2800852E0:lI32|H2800852F0
-2800852F0:lI116|H280085300
-280085300:lI101|H280085310
-280085310:lI114|H280085320
-280085320:lI109|H280085330
-280085330:lI105|H280085340
-280085340:lI110|H280085350
-280085350:lI97|H280085360
-280085360:lI116|H280085370
-280085370:lI105|H280085380
-280085380:lI111|H280085390
-280085390:lI110|H2800853A0
-2800853A0:lI32|H2800853B0
-2800853B0:lI61|H2800853C0
-2800853C0:lI32|N
-2800853D0:lI42|H2800853E0
-2800853E0:lI42|H2800853F0
-2800853F0:lI32|H280085400
-280085400:lI87|H280085410
-280085410:lI104|H280085420
-280085420:lI101|H280085430
-280085430:lI110|H280085440
-280085440:lI32|H280085450
-280085450:lI115|H280085460
-280085460:lI101|H280085470
-280085470:lI114|H280085480
-280085480:lI118|H280085490
-280085490:lI101|H2800854A0
-2800854A0:lI114|H2800854B0
-2800854B0:lI32|H2800854C0
-2800854C0:lI115|H2800854D0
-2800854D0:lI116|H2800854E0
-2800854E0:lI97|H2800854F0
-2800854F0:lI116|H280085500
-280085500:lI101|H280085510
-280085510:lI32|H280085520
-280085520:lI32|H280085530
-280085530:lI61|H280085540
-280085540:lI32|N
-280085550:lI32|H280085560
-280085560:lI116|H280085570
-280085570:lI101|H280085580
-280085580:lI114|H280085590
-280085590:lI109|H2800855A0
-2800855A0:lI105|H2800855B0
-2800855B0:lI110|H2800855C0
-2800855C0:lI97|H2800855D0
-2800855D0:lI116|H2800855E0
-2800855E0:lI105|H2800855F0
-2800855F0:lI110|H280085600
-280085600:lI103|H280085610
-280085610:lI126|H280085620
-280085620:lI110|N
-280085630:lI42|H280085640
-280085640:lI42|H280085650
-280085650:lI32|H280085660
-280085660:lI83|H280085670
-280085670:lI116|H280085680
-280085680:lI97|H280085690
-280085690:lI116|H2800856A0
-2800856A0:lI101|H2800856B0
-2800856B0:lI32|H2800856C0
-2800856C0:lI109|H2800856D0
-2800856D0:lI97|H2800856E0
-2800856E0:lI99|H2800856F0
-2800856F0:lI104|H280085700
-280085700:lI105|H280085710
-280085710:lI110|H280085720
-280085720:lI101|H280085730
-280085730:lI32|N
-280085740:lI32|H280085750
-280085750:lI115|H280085760
-280085760:lI116|H280085770
-280085770:lI97|H280085780
-280085780:lI99|H280085790
-280085790:lI107|H2800857A0
-2800857A0:lI116|H2800857B0
-2800857B0:lI114|H2800857C0
-2800857C0:lI97|H2800857D0
-2800857D0:lI99|H2800857E0
-2800857E0:lI101|H2800857F0
-2800857F0:lI58|H280085800
-280085800:lI32|N
-280085810:lI32|H280085820
-280085820:lI67|H280085830
-280085830:lI108|H280085840
-280085840:lI105|H280085850
-280085850:lI101|H280085860
-280085860:lI110|H280085870
-280085870:lI116|H280085880
-280085880:lI32|N
-280085890:lI32|H2800858A0
-2800858A0:lI67|H2800858B0
-2800858B0:lI108|H2800858C0
-2800858C0:lI105|H2800858D0
-2800858D0:lI101|H2800858E0
-2800858E0:lI110|H2800858F0
-2800858F0:lI116|H280085900
-280085900:lI32|H280085910
-280085910:lI126|H280085920
-280085920:lI48|H280085930
-280085930:lI112|H280085940
-280085940:lI32|H280085950
-280085950:lI105|H280085960
-280085960:lI115|H280085970
-280085970:lI32|H280085980
-280085980:lI114|H280085990
-280085990:lI101|H2800859A0
-2800859A0:lI109|H2800859B0
-2800859B0:lI111|H2800859C0
-2800859C0:lI116|H2800859D0
-2800859D0:lI101|H2800859E0
-2800859E0:lI32|H2800859F0
-2800859F0:lI111|H280085A00
-280085A00:lI110|H280085A10
-280085A10:lI32|H280085A20
-280085A20:lI110|H280085A30
-280085A30:lI111|H280085A40
-280085A40:lI100|H280085A50
-280085A50:lI101|H280085A60
-280085A60:lI32|H280085A70
-280085A70:lI126|H280085A80
-280085A80:lI48|H280085A90
-280085A90:lI112|H280085AA0
-280085AA0:lI46|N
-280085AB0:lI32|H280085AC0
-280085AC0:lI67|H280085AD0
-280085AD0:lI108|H280085AE0
-280085AE0:lI105|H280085AF0
-280085AF0:lI101|H280085B00
-280085B00:lI110|H280085B10
-280085B10:lI116|H280085B20
-280085B20:lI32|H280085B30
-280085B30:lI126|H280085B40
-280085B40:lI48|H280085B50
-280085B50:lI112|H280085B60
-280085B60:lI32|H280085B70
-280085B70:lI105|H280085B80
-280085B80:lI115|H280085B90
-280085B90:lI32|H280085BA0
-280085BA0:lI100|H280085BB0
-280085BB0:lI101|H280085BC0
-280085BC0:lI97|H280085BD0
-280085BD0:lI100|H280085BE0
-280085BE0:lI46|N
-280085BF0:t2:N,N
-280085C08:lH280085C18|N
-280085C18:lI126|H280085C28
-280085C28:lI110|N
-280085C38:lI32|H280085C48
-280085C48:lI115|H280085C58
-280085C58:lI116|H280085C68
-280085C68:lI97|H280085C78
-280085C78:lI99|H280085C88
-280085C88:lI107|H280085C98
-280085C98:lI116|H280085CA8
-280085CA8:lI114|H280085CB8
-280085CB8:lI97|H280085CC8
-280085CC8:lI99|H280085CD8
-280085CD8:lI101|H280085CE8
-280085CE8:lI126|H280085CF8
-280085CF8:lI110|H280085D08
-280085D08:lI42|H280085D18
-280085D18:lI42|H280085D28
-280085D28:lI32|N
-280085D38:lI42|H280085D48
-280085D48:lI42|H280085D58
-280085D58:lI32|H280085D68
-280085D68:lI67|H280085D78
-280085D78:lI108|H280085D88
-280085D88:lI105|H280085D98
-280085D98:lI101|H280085DA8
-280085DA8:lI110|H280085DB8
-280085DB8:lI116|H280085DC8
-280085DC8:lI32|N
-280085DD8:lI42|H280085DE8
-280085DE8:lI42|H280085DF8
-280085DF8:lI32|H280085E08
-280085E08:lI67|H280085E18
-280085E18:lI108|H280085E28
-280085E28:lI105|H280085E38
-280085E38:lI101|H280085E48
-280085E48:lI110|H280085E58
-280085E58:lI116|H280085E68
-280085E68:lI32|H280085E78
-280085E78:lI126|H280085E88
-280085E88:lI112|H280085E98
-280085E98:lI32|H280085EA8
-280085EA8:lI105|H280085EB8
-280085EB8:lI115|H280085EC8
-280085EC8:lI32|H280085ED8
-280085ED8:lI114|H280085EE8
-280085EE8:lI101|H280085EF8
-280085EF8:lI109|H280085F08
-280085F08:lI111|H280085F18
-280085F18:lI116|H280085F28
-280085F28:lI101|H280085F38
-280085F38:lI32|H280085F48
-280085F48:lI111|H280085F58
-280085F58:lI110|H280085F68
-280085F68:lI32|H280085F78
-280085F78:lI110|H280085F88
-280085F88:lI111|H280085F98
-280085F98:lI100|H280085FA8
-280085FA8:lI101|H280085FB8
-280085FB8:lI32|H280085FC8
-280085FC8:lI126|H280085FD8
-280085FD8:lI112|H280085FE8
-280085FE8:lI126|H280085FF8
-280085FF8:lI110|N
-280086008:lI42|H280086018
-280086018:lI42|H280086028
-280086028:lI32|H280086038
-280086038:lI67|H280086048
-280086048:lI108|H280086058
-280086058:lI105|H280086068
-280086068:lI101|H280086078
-280086078:lI110|H280086088
-280086088:lI116|H280086098
-280086098:lI32|H2800860A8
-2800860A8:lI126|H2800860B8
-2800860B8:lI112|H2800860C8
-2800860C8:lI32|H2800860D8
-2800860D8:lI105|H2800860E8
-2800860E8:lI115|H2800860F8
-2800860F8:lI32|H280086108
-280086108:lI100|H280086118
-280086118:lI101|H280086128
-280086128:lI97|H280086138
-280086138:lI100|H280086148
-280086148:lI126|H280086158
-280086158:lI110|N
-280086168:lI112|N
-280086178:lI80|N
-280086188:lI48|N
-280086198:lI116|N
-2800861A8:lH280086208|H2800861B8
-2800861B8:lH280086220|H2800861C8
-2800861C8:lH280086238|H2800861D8
-2800861D8:lH280086250|H2800861E8
-2800861E8:lH280086268|H2800861F8
-2800861F8:lH280086280|N
-280086208:t2:AD:format_status,I1
-280086220:t2:AD:format_status,I2
-280086238:t2:A9:terminate,I3
-280086250:t2:AB:code_change,I4
-280086268:t2:AA:state_name,I3
-280086280:t2:AC:handle_event,I4
-280086298:lH280086318|H2800862A8
-2800862A8:lH280086330|H2800862B8
-2800862B8:lH280086348|H2800862C8
-2800862C8:lH280086360|H2800862D8
-2800862D8:lH280086378|H2800862E8
-2800862E8:lH280086390|H2800862F8
-2800862F8:lH2800863A8|H280086308
-280086308:lH2800863C0|N
-280086318:t2:A4:init,I1
-280086330:t2:AD:callback_mode,I0
-280086348:t2:AA:state_name,I3
-280086360:t2:AC:handle_event,I4
-280086378:t2:A9:terminate,I3
-280086390:t2:AB:code_change,I4
-2800863A8:t2:AD:format_status,I2
-2800863C0:t2:AD:format_status,I1
-2800863D8:lI108|N
-2800863E8:lI114|H2800863D8
-2800863F8:lI101|H2800863E8
-280086408:lI46|H2800863F8
-280086418:lI109|H280086408
-280086428:lI101|H280086418
-280086438:lI116|H280086428
-280086448:lI97|H280086438
-280086458:lI116|H280086448
-280086468:lI115|H280086458
-280086478:lI95|H280086468
-280086488:lI110|H280086478
-280086498:lI101|H280086488
-2800864A8:lI103|H280086498
-2800864B8:t5:A4:data,A3:log,A5:state,A9:postponed,A8:timeouts
-2800864E8:E4E:g3AAAABMA28avFfTiJ0lhkokoxIXuNAAAAAAAAAAAHcKZ2VuX3N0YXRlbWEAYgN41eJYdw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-280086510:t7:A4:data,A6:reason,A3:log,A5:state,A5:queue,A9:postponed,A8:timeouts
-280086550:tC:A5:label,A4:name,A6:reason,A3:log,A5:state,A5:queue,A7:modules,AB:client_info,AD:callback_mode,A9:postponed,A8:timeouts,AB:state_enter
-2800865B8:t4:AB:chars_limit,A5:depth,A8:encoding,AB:single_line
-2800865F8:Mf0:H280010188:
-280086610:lI112|H280086620
-280086620:lI114|H280086630
-280086630:lI105|H280086640
-280086640:lI109|H280086650
-280086650:lI95|H280086660
-280086660:lI116|H280086670
-280086670:lI116|H280086680
-280086680:lI121|N
-280086690:t2:A5:error,A7:enotsup
-2800866A8:lH2800866D8|H2800866B8
-2800866B8:lH280086738|H2800866C8
-2800866C8:lH2800867B8|N
-2800866D8:lI76|H2800866E8
-2800866E8:lI67|H2800866F8
-2800866F8:lI95|H280086708
-280086708:lI65|H280086718
-280086718:lI76|H280086728
-280086728:lI76|N
-280086738:lI76|H280086748
-280086748:lI67|H280086758
-280086758:lI95|H280086768
-280086768:lI67|H280086778
-280086778:lI84|H280086788
-280086788:lI89|H280086798
-280086798:lI80|H2800867A8
-2800867A8:lI69|N
-2800867B8:lI76|H2800867C8
-2800867C8:lI65|H2800867D8
-2800867D8:lI78|H2800867E8
-2800867E8:lI71|N
-2800867F8:lA7:unicode|N
-280086808:Yc1309301C0:0:9C
-280086838:Yh7:G1tIG1sySg==
-280086850:Yh3:G1tB
-280086868:Yh1:Cg==
-280086880:Yh1:CA==
-280086898:Yh3:G1tD
-2800868B0:Yh4:G1sxSQ==
-2800868C8:Yh3:G1tK
-2800868E0:Yh4:G1s2bg==
-2800868F8:Yh15:G1xbKFswLTldKyk7KFswLTldKylS
-280086920:t4:A5:input,A4:echo,A3:tty,A5:canon
-280086948:Mf4:H280086920:A4:true,A5:false,A4:true,A5:false
-280086980:lI84|H280086990
-280086990:lI69|H2800869A0
-2800869A0:lI82|H2800869B0
-2800869B0:lI77|N
-2800869C0:lI99|H2800869D0
-2800869D0:lI108|H2800869E0
-2800869E0:lI101|H2800869F0
-2800869F0:lI97|H280086A00
-280086A00:lI114|N
-280086A10:lI99|H280086A20
-280086A20:lI111|N
-280086A30:lI117|H280086A40
-280086A40:lI112|N
-280086A50:lI100|H280086A60
-280086A60:lI111|N
-280086A70:lI98|H280086A80
-280086A80:lI115|N
-280086A90:lI98|H280086AA0
-280086AA0:lI99|N
-280086AB0:lI110|H280086AC0
-280086AC0:lI100|N
-280086AD0:lI73|H280086AE0
-280086AE0:lI67|N
-280086AF0:lI116|H280086B00
-280086B00:lI97|N
-280086B10:lI68|H280086B20
-280086B20:lI67|N
-280086B30:lI117|H280086B40
-280086B40:lI55|N
-280086B50:lI117|H280086B60
-280086B60:lI54|N
-280086B70:t2:A2:ok,H280086B88
-280086B88:YhA:G1slaSVkOyVkUg==
-280086BA8:lI99|H280086BB8
-280086BB8:lI100|N
-280086BC8:lI120|H280086BD8
-280086BD8:lI110|N
-280086BE8:lH280086BF8|N
-280086BF8:t2:A5:alias,AF:reply_demonitor
-280086C10:Yh0:
-280086C20:t2:A11:set_unicode_state,A5:false
-280086C38:t2:A5:utf16,A6:little
-280086C50:lI13|H280086C60
-280086C60:lI10|N
-280086C70:t2:A4:move,I0
-280086C88:lN|N
-280086C98:Yh1:Bw==
-280086CB0:t2:N,N
-280086CC8:Yh1:IA==
-280086CE0:Yh1:DQ==
-280086CF8:Yh2:DQo=
-280086D10:lI94|H280086D20
-280086D20:lI63|N
-280086D30:lI0|N
-280086D40:lI92|H280086D50
-280086D50:lI36|H280086D60
-280086D60:lI60|H280086D70
-280086D70:lI91|H280086D80
-280086D80:lI94|H280086D90
-280086D90:lI62|H280086DA0
-280086DA0:lI93|H280086DB0
-280086DB0:lI42|H280086DC0
-280086DC0:lI62|N
-280086DD0:lI10|N
-280086DE0:lI85|H280086DF0
-280086DF0:lI84|H280086E00
-280086E00:lI70|H280086E10
-280086E10:lI45|H280086E20
-280086E20:lI56|N
-280086E30:lI108|N
-280086E40:lI114|H280086E30
-280086E50:lI101|H280086E40
-280086E60:lI46|H280086E50
-280086E70:lI121|H280086E60
-280086E80:lI116|H280086E70
-280086E90:lI116|H280086E80
-280086EA0:lI95|H280086E90
-280086EB0:lI109|H280086EA0
-280086EC0:lI105|H280086EB0
-280086ED0:lI114|H280086EC0
-280086EE0:lI112|H280086ED0
-280086EF0:E4C:g3AAAABKAY/2CN5VWPSliGwYiyNwoQIAAAAAAAAAAHcIcHJpbV90dHlhAGIEf7BGWHcNbm9ub2RlQG5vaG9zdAAAAAAAAAAAAAAAAA==
-280086F18:t2:A4:read,A5:write
-280086F30:E4C:g3AAAABKAY/2CN5VWPSliGwYiyNwoQIAAAABAAAAAHcIcHJpbV90dHlhAWIEf7BGWHcNbm9ub2RlQG5vaG9zdAAAAAAAAAAAAAAAAA==
-280086F58:E4C:g3AAAABKAY/2CN5VWPSliGwYiyNwoQIAAAACAAAAAHcIcHJpbV90dHlhAmIEf7BGWHcNbm9ub2RlQG5vaG9zdAAAAAAAAAAAAAAAAA==
-2800870F0:E1A:g3F3DGVkbGluX2V4cGFuZHcGZXhwYW5kYQI=
-280087118:t2:A5:error,A7:timeout
-280087130:t2:A5:error,A7:enotsup
-280087148:t2:AC:get_password,A6:latin1
-280087160:t2:A5:error,A7:request
-280087178:t2:A8:encoding,A7:unicode
-280087190:t2:A8:encoding,A6:latin1
-2800871A8:lH2800871B8|N
-2800871B8:t2:A4:list,A6:binary
-2800871D0:t2:A4:exit,AA:terminated
-2800871E8:t3:A5:error,H280087208,N
-280087208:t2:A5:error,AB:interrupted
-280087220:lAA:new_prompt|N
-280087230:lI10|N
-280087240:lI27|H280087250
-280087250:lI91|H280087260
-280087260:lI59|H280087270
-280087270:lI49|H280087280
-280087280:lI59|H280087290
-280087290:lI52|H2800872A0
-2800872A0:lI109|H2800872B0
-2800872B0:lI115|H2800872C0
-2800872C0:lI101|H2800872D0
-2800872D0:lI97|H2800872E0
-2800872E0:lI114|H2800872F0
-2800872F0:lI99|H280087300
-280087300:lI104|H280087310
-280087310:lI58|H280087320
-280087320:lI27|H280087330
-280087330:lI91|H280087340
-280087340:lI48|H280087350
-280087350:lI109|H280087360
-280087360:lI32|N
-280087370:lI80|H280087380
-280087380:lI114|H280087390
-280087390:lI101|H2800873A0
-2800873A0:lI115|H2800873B0
-2800873B0:lI115|H2800873C0
-2800873C0:lI32|H2800873D0
-2800873D0:lI116|H2800873E0
-2800873E0:lI97|H2800873F0
-2800873F0:lI98|H280087400
-280087400:lI32|H280087410
-280087410:lI116|H280087420
-280087420:lI111|H280087430
-280087430:lI32|H280087440
-280087440:lI115|H280087450
-280087450:lI101|H280087460
-280087460:lI101|H280087470
-280087470:lI32|H280087480
-280087480:lI97|H280087490
-280087490:lI108|H2800874A0
-2800874A0:lI108|H2800874B0
-2800874B0:lI32|H2800874C0
-2800874C0:lI126|H2800874D0
-2800874D0:lI112|H2800874E0
-2800874E0:lI32|H2800874F0
-2800874F0:lI101|H280087500
-280087500:lI120|H280087510
-280087510:lI112|H280087520
-280087520:lI97|H280087530
-280087530:lI110|H280087540
-280087540:lI115|H280087550
-280087550:lI105|H280087560
-280087560:lI111|H280087570
-280087570:lI110|H280087580
-280087580:lI115|N
-280087590:lI27|H2800875A0
-2800875A0:lI108|N
-2800875B0:t3:N,H2800875D0,N
-2800875D0:t2:N,N
-2800875E8:lI126|H2800875F8
-2800875F8:lI110|H280087608
-280087608:lI32|H280087618
-280087618:lI32|H280087628
-280087628:lI46|H280087638
-280087638:lI46|H280087648
-280087648:lI46|H280087658
-280087658:lI32|H280087668
-280087668:lI40|H280087678
-280087678:lI126|H280087688
-280087688:lI119|H280087698
-280087698:lI32|H2800876A8
-2800876A8:lI108|H2800876B8
-2800876B8:lI105|H2800876C8
-2800876C8:lI110|H2800876D8
-2800876D8:lI101|H2800876E8
-2800876E8:lI115|H2800876F8
-2800876F8:lI32|H280087708
-280087708:lI111|H280087718
-280087718:lI109|H280087728
-280087728:lI105|H280087738
-280087738:lI116|H280087748
-280087748:lI116|H280087758
-280087758:lI101|H280087768
-280087768:lI100|H280087778
-280087778:lI41|N
-280087788:t3:A4:done,A3:eof,A3:eof
-2800877A8:lH2800877B8|N
-2800877B8:lI10|N
-2800877C8:lI36|H2800877D8
-2800877D8:lI10|N
-2800877E8:lH2800877F8|N
-2800877F8:t3:AC:insert_chars,A7:unicode,H280087818
-280087818:lI10|N
-280087828:lI108|N
-280087838:lI114|H280087828
-280087848:lI101|H280087838
-280087858:lI46|H280087848
-280087868:lI112|H280087858
-280087878:lI117|H280087868
-280087888:lI111|H280087878
-280087898:lI114|H280087888
-2800878A8:lI103|H280087898
-2800878B8:E49:g3AAAABHAqhn0q4vp+7qt42F8kJsnfMAAAABAAAAAHcFZ3JvdXBhAWIFQz6VWHcNbm9ub2RlQG5vaG9zdAAAAAAAAAAAAAAAAA==
-2800878E0:E49:g3AAAABHAqhn0q4vp+7qt42F8kJsnfMAAAACAAAAAHcFZ3JvdXBhAmIFQz6VWHcNbm9ub2RlQG5vaG9zdAAAAAAAAAAAAAAAAA==
-280088258:t2:A5:local,AA:logger_sup
-280088270:t3:A2:id,A8:shutdown,A5:start
-280088290:Mf3:H280088270:A16:logger_handler_watcher,AB:brutal_kill,H2800882C0
-2800882C0:t3:A16:logger_handler_watcher,AA:start_link,N
-2800882E0:t3:A8:strategy,A6:period,A9:intensity
-280088300:Mf3:H2800882E0:AB:one_for_one,I5,I1
-280088330:lI108|N
-280088340:lI114|H280088330
-280088350:lI101|H280088340
-280088360:lI46|H280088350
-280088370:lI112|H280088360
-280088380:lI117|H280088370
-280088390:lI115|H280088380
-2800883A0:lI95|H280088390
-2800883B0:lI114|H2800883A0
-2800883C0:lI101|H2800883B0
-2800883D0:lI103|H2800883C0
-2800883E0:lI103|H2800883D0
-2800883F0:lI111|H2800883E0
-280088400:lI108|H2800883F0
-28008FA28:t2:A5:local,AB:kernel_refc
-28008FA40:t2:A2:ok,H28008FA68
-28008FA58:t1:A13:scheduler_wall_time
-28008FA68:Mf1:H28008FA58:H28008FA88
-28008FA88:Mf0:H280010188:
-28008FAA0:lA5:flush|N
-28008FAB0:lI108|N
-28008FAC0:lI114|H28008FAB0
-28008FAD0:lI101|H28008FAC0
-28008FAE0:lI46|H28008FAD0
-28008FAF0:lI99|H28008FAE0
-28008FB00:lI102|H28008FAF0
-28008FB10:lI101|H28008FB00
-28008FB20:lI114|H28008FB10
-28008FB30:lI95|H28008FB20
-28008FB40:lI108|H28008FB30
-28008FB50:lI101|H28008FB40
-28008FB60:lI110|H28008FB50
-28008FB70:lI114|H28008FB60
-28008FB80:lI101|H28008FB70
-28008FB90:lI107|H28008FB80
-28008FBB8:t2:A2:ok,H28008FBD0
-28008FBD0:t1:A5:state
-28008FBE0:lI82|H28008FBF0
-28008FBF0:lI101|H28008FC00
-28008FC00:lI99|H28008FC10
-28008FC10:lI101|H28008FC20
-28008FC20:lI105|H28008FC30
-28008FC30:lI118|H28008FC40
-28008FC40:lI101|H28008FC50
-28008FC50:lI100|H28008FC60
-28008FC60:lI32|H28008FC70
-28008FC70:lI83|H28008FC80
-28008FC80:lI73|H28008FC90
-28008FC90:lI71|H28008FCA0
-28008FCA0:lI85|H28008FCB0
-28008FCB0:lI83|H28008FCC0
-28008FCC0:lI82|H28008FCD0
-28008FCD0:lI49|N
-28008FCE0:lI83|H28008FCF0
-28008FCF0:lI73|H28008FD00
-28008FD00:lI71|H28008FD10
-28008FD10:lI84|H28008FD20
-28008FD20:lI69|H28008FD30
-28008FD30:lI82|H28008FD40
-28008FD40:lI77|H28008FD50
-28008FD50:lI32|H28008FD60
-28008FD60:lI114|H28008FD70
-28008FD70:lI101|H28008FD80
-28008FD80:lI99|H28008FD90
-28008FD90:lI101|H28008FDA0
-28008FDA0:lI105|H28008FDB0
-28008FDB0:lI118|H28008FDC0
-28008FDC0:lI101|H28008FDD0
-28008FDD0:lI100|H28008FDE0
-28008FDE0:lI32|H28008FDF0
-28008FDF0:lI45|H28008FE00
-28008FE00:lI32|H28008FE10
-28008FE10:lI115|H28008FE20
-28008FE20:lI104|H28008FE30
-28008FE30:lI117|H28008FE40
-28008FE40:lI116|H28008FE50
-28008FE50:lI116|H28008FE60
-28008FE60:lI105|H28008FE70
-28008FE70:lI110|H28008FE80
-28008FE80:lI103|H28008FE90
-28008FE90:lI32|H28008FEA0
-28008FEA0:lI100|H28008FEB0
-28008FEB0:lI111|H28008FEC0
-28008FEC0:lI119|H28008FED0
-28008FED0:lI110|H28008FEE0
-28008FEE0:lI126|H28008FEF0
-28008FEF0:lI110|N
-28008FF00:lI108|N
-28008FF10:lI114|H28008FF00
-28008FF20:lI101|H28008FF10
-28008FF30:lI46|H28008FF20
-28008FF40:lI114|H28008FF30
-28008FF50:lI101|H28008FF40
-28008FF60:lI108|H28008FF50
-28008FF70:lI100|H28008FF60
-28008FF80:lI110|H28008FF70
-28008FF90:lI97|H28008FF80
-28008FFA0:lI104|H28008FF90
-28008FFB0:lI95|H28008FFA0
-28008FFC0:lI108|H28008FFB0
-28008FFD0:lI97|H28008FFC0
-28008FFE0:lI110|H28008FFD0
-28008FFF0:lI103|H28008FFE0
-280090000:lI105|H28008FFF0
-280090010:lI115|H280090000
-280090020:lI95|H280090010
-280090030:lI108|H280090020
-280090040:lI114|H280090030
-280090050:lI101|H280090040
-280091550:lA4:type|H280091560
-280091560:lA4:file|H280091570
-280091570:lA5:modes|H280091580
-280091580:lAA:file_check|H280091590
-280091590:lAC:max_no_bytes|H2800915A0
-2800915A0:lAC:max_no_files|H2800915B0
-2800915B0:lA12:compress_on_rotate|N
-2800915C0:lA4:type|H2800915D0
-2800915D0:lA4:file|H2800915E0
-2800915E0:lA5:modes|N
-2800915F0:Mf0:H280010188:
-280091608:lA3:raw|H280091618
-280091618:lA6:append|N
-280091628:lA3:raw|N
-280091638:lA5:write|H280091648
-280091648:lA6:append|H280091658
-280091658:lA9:exclusive|N
-280091668:t2:A5:error,A1D:file_ctrl_process_not_started
-280091680:lA5:flush|N
-280091690:lI70|H2800916A0
-2800916A0:lI97|H2800916B0
-2800916B0:lI105|H2800916C0
-2800916C0:lI108|H2800916D0
-2800916D0:lI101|H2800916E0
-2800916E0:lI100|H2800916F0
-2800916F0:lI32|H280091700
-280091700:lI116|H280091710
-280091710:lI111|H280091720
-280091720:lI32|H280091730
-280091730:lI119|H280091740
-280091740:lI114|H280091750
-280091750:lI105|H280091760
-280091760:lI116|H280091770
-280091770:lI101|H280091780
-280091780:lI32|H280091790
-280091790:lI108|H2800917A0
-2800917A0:lI111|H2800917B0
-2800917B0:lI103|H2800917C0
-2800917C0:lI32|H2800917D0
-2800917D0:lI109|H2800917E0
-2800917E0:lI101|H2800917F0
-2800917F0:lI115|H280091800
-280091800:lI115|H280091810
-280091810:lI97|H280091820
-280091820:lI103|H280091830
-280091830:lI101|H280091840
-280091840:lI32|H280091850
-280091850:lI116|H280091860
-280091860:lI111|H280091870
-280091870:lI32|H280091880
-280091880:lI115|H280091890
-280091890:lI116|H2800918A0
-2800918A0:lI100|H2800918B0
-2800918B0:lI111|H2800918C0
-2800918C0:lI117|H2800918D0
-2800918D0:lI116|H2800918E0
-2800918E0:lI44|H2800918F0
-2800918F0:lI32|H280091900
-280091900:lI116|H280091910
-280091910:lI114|H280091920
-280091920:lI121|H280091930
-280091930:lI105|H280091940
-280091940:lI110|H280091950
-280091950:lI103|H280091960
-280091960:lI32|H280091970
-280091970:lI115|H280091980
-280091980:lI116|H280091990
-280091990:lI100|H2800919A0
-2800919A0:lI101|H2800919B0
-2800919B0:lI114|H2800919C0
-2800919C0:lI114|H2800919D0
-2800919D0:lI10|N
-2800919E0:t2:A5:error,A6:enoent
-2800919F8:lI46|H280091A08
-280091A08:lI48|N
-280091A18:lI46|H280091A28
-280091A28:lI103|H280091A38
-280091A38:lI122|N
-280091A48:lA4:read|H280091A58
-280091A58:lA6:binary|N
-280091A68:lA5:write|N
-280091A78:Yh0:
-280091A88:lI108|N
-280091A98:lI114|H280091A88
-280091AA8:lI101|H280091A98
-280091AB8:lI46|H280091AA8
-280091AC8:lI104|H280091AB8
-280091AD8:lI95|H280091AC8
-280091AE8:lI100|H280091AD8
-280091AF8:lI116|H280091AE8
-280091B08:lI115|H280091AF8
-280091B18:lI95|H280091B08
-280091B28:lI114|H280091B18
-280091B38:lI101|H280091B28
-280091B48:lI103|H280091B38
-280091B58:lI103|H280091B48
-280091B68:lI111|H280091B58
-280091B78:lI108|H280091B68
-280091B88:t7:A4:type,A4:file,A12:compress_on_rotate,AA:file_check,AC:max_no_bytes,AC:max_no_files,A5:modes
-280091BC8:t1:A4:type
-280091BD8:E50:g3AAAABOAQjqLBPECzXLncj+B21nkB0AAAAAAAAAAHcMbG9nZ2VyX3N0ZF9oYQBiAEdRYFh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-280091C00:t4:A12:compress_on_rotate,AA:file_check,AC:max_no_bytes,AC:max_no_files
-280091C28:tA:A2:fd,A9:file_name,A6:synced,AA:file_check,A5:modes,AC:handler_name,A5:inode,AA:last_check,A8:sync_res,A9:write_res
-280091C80:t2:AC:handler_name,A3:dev
-280091C98:t4:A5:count,A4:size,A8:compress,A9:curr_size
-280091CD8:Mf0:H280010188:
-280091CF0:lAE:sync_mode_qlen|H280091D00
-280091D00:lAE:drop_mode_qlen|H280091D10
-280091D10:lAA:flush_qlen|H280091D20
-280091D20:lA12:burst_limit_enable|H280091D30
-280091D30:lA15:burst_limit_max_count|H280091D40
-280091D40:lA17:burst_limit_window_time|H280091D50
-280091D50:lA14:overload_kill_enable|H280091D60
-280091D60:lA12:overload_kill_qlen|H280091D70
-280091D70:lA16:overload_kill_mem_size|H280091D80
-280091D80:lA1B:overload_kill_restart_after|H280091D90
-280091D90:lA18:filesync_repeat_interval|N
-280091DA0:lA18:filesync_repeat_interval|N
-280091DB0:lAE:sync_mode_qlen|H280091DC0
-280091DC0:lAE:drop_mode_qlen|H280091DD0
-280091DD0:lAA:flush_qlen|H280091DE0
-280091DE0:lA12:burst_limit_enable|H280091DF0
-280091DF0:lA15:burst_limit_max_count|H280091E00
-280091E00:lA17:burst_limit_window_time|H280091E10
-280091E10:lA14:overload_kill_enable|H280091E20
-280091E20:lA12:overload_kill_qlen|H280091E30
-280091E30:lA16:overload_kill_mem_size|H280091E40
-280091E40:lA1B:overload_kill_restart_after|N
-280091E50:lI95|N
-280091E60:lAE:sync_mode_qlen|H280091E70
-280091E70:lAE:drop_mode_qlen|H280091E80
-280091E80:lAA:flush_qlen|H280091E90
-280091E90:lA12:burst_limit_enable|H280091EA0
-280091EA0:lA15:burst_limit_max_count|H280091EB0
-280091EB0:lA17:burst_limit_window_time|H280091EC0
-280091EC0:lA14:overload_kill_enable|H280091ED0
-280091ED0:lA12:overload_kill_qlen|H280091EE0
-280091EE0:lA16:overload_kill_mem_size|H280091EF0
-280091EF0:lA1B:overload_kill_restart_after|H280091F00
-280091F00:lA18:filesync_repeat_interval|H280091F10
-280091F10:lA3:olp|N
-280091F20:lA3:olp|N
-280091F30:lAF:logger_h_common|N
-280091F40:lI72|H280091F50
-280091F50:lI97|H280091F60
-280091F60:lI110|H280091F70
-280091F70:lI100|H280091F80
-280091F80:lI108|H280091F90
-280091F90:lI101|H280091FA0
-280091FA0:lI114|H280091FB0
-280091FB0:lI32|H280091FC0
-280091FC0:lI126|H280091FD0
-280091FD0:lI112|H280091FE0
-280091FE0:lI32|H280091FF0
-280091FF0:lI111|H280092000
-280092000:lI118|H280092010
-280092010:lI101|H280092020
-280092020:lI114|H280092030
-280092030:lI108|H280092040
-280092040:lI111|H280092050
-280092050:lI97|H280092060
-280092060:lI100|H280092070
-280092070:lI101|H280092080
-280092080:lI100|H280092090
-280092090:lI32|H2800920A0
-2800920A0:lI97|H2800920B0
-2800920B0:lI110|H2800920C0
-2800920C0:lI100|H2800920D0
-2800920D0:lI32|H2800920E0
-2800920E0:lI115|H2800920F0
-2800920F0:lI116|H280092100
-280092100:lI111|H280092110
-280092110:lI112|H280092120
-280092120:lI112|H280092130
-280092130:lI105|H280092140
-280092140:lI110|H280092150
-280092150:lI103|N
-280092160:t2:A5:error,A4:busy
-280092178:t2:A5:error,AC:handler_busy
-280092190:lI72|H2800921A0
-2800921A0:lI97|H2800921B0
-2800921B0:lI110|H2800921C0
-2800921C0:lI100|H2800921D0
-2800921D0:lI108|H2800921E0
-2800921E0:lI101|H2800921F0
-2800921F0:lI114|H280092200
-280092200:lI32|H280092210
-280092210:lI126|H280092220
-280092220:lI112|H280092230
-280092230:lI32|H280092240
-280092240:lI115|H280092250
-280092250:lI119|H280092260
-280092260:lI105|H280092270
-280092270:lI116|H280092280
-280092280:lI99|H280092290
-280092290:lI104|H2800922A0
-2800922A0:lI101|H2800922B0
-2800922B0:lI100|H2800922C0
-2800922C0:lI32|H2800922D0
-2800922D0:lI102|H2800922E0
-2800922E0:lI114|H2800922F0
-2800922F0:lI111|H280092300
-280092300:lI109|H280092310
-280092310:lI32|H280092320
-280092320:lI126|H280092330
-280092330:lI112|H280092340
-280092340:lI32|H280092350
-280092350:lI116|H280092360
-280092360:lI111|H280092370
-280092370:lI32|H280092380
-280092380:lI126|H280092390
-280092390:lI112|H2800923A0
-2800923A0:lI32|H2800923B0
-2800923B0:lI109|H2800923C0
-2800923C0:lI111|H2800923D0
-2800923D0:lI100|H2800923E0
-2800923E0:lI101|N
-2800923F0:lI72|H280092400
-280092400:lI97|H280092410
-280092410:lI110|H280092420
-280092420:lI100|H280092430
-280092430:lI108|H280092440
-280092440:lI101|H280092450
-280092450:lI114|H280092460
-280092460:lI32|H280092470
-280092470:lI126|H280092480
-280092480:lI112|H280092490
-280092490:lI32|H2800924A0
-2800924A0:lI102|H2800924B0
-2800924B0:lI108|H2800924C0
-2800924C0:lI117|H2800924D0
-2800924D0:lI115|H2800924E0
-2800924E0:lI104|H2800924F0
-2800924F0:lI101|H280092500
-280092500:lI100|H280092510
-280092510:lI32|H280092520
-280092520:lI126|H280092530
-280092530:lI119|H280092540
-280092540:lI32|H280092550
-280092550:lI108|H280092560
-280092560:lI111|H280092570
-280092570:lI103|H280092580
-280092580:lI32|H280092590
-280092590:lI101|H2800925A0
-2800925A0:lI118|H2800925B0
-2800925B0:lI101|H2800925C0
-2800925C0:lI110|H2800925D0
-2800925D0:lI116|H2800925E0
-2800925E0:lI115|N
-2800925F0:lI72|H280092600
-280092600:lI97|H280092610
-280092610:lI110|H280092620
-280092620:lI100|H280092630
-280092630:lI108|H280092640
-280092640:lI101|H280092650
-280092650:lI114|H280092660
-280092660:lI32|H280092670
-280092670:lI126|H280092680
-280092680:lI112|H280092690
-280092690:lI32|H2800926A0
-2800926A0:lI114|H2800926B0
-2800926B0:lI101|H2800926C0
-2800926C0:lI115|H2800926D0
-2800926D0:lI116|H2800926E0
-2800926E0:lI97|H2800926F0
-2800926F0:lI114|H280092700
-280092700:lI116|H280092710
-280092710:lI101|H280092720
-280092720:lI100|N
-280092730:t1:A9:formatter
-280092740:Mf1:H280092730:H280092760
-280092760:t2:A10:logger_formatter,H280092790
-280092778:t2:AB:single_line,AD:legacy_header
-280092790:Mf2:H280092778:A5:false,A4:true
-2800927B8:E1F:g3F3BmxvZ2dlcncRZm9ybWF0X290cF9yZXBvcnRhAQ==
-2800927E0:t2:A10:logger_formatter,H280092810
-2800927F8:t2:AB:single_line,AD:legacy_header
-280092810:Mf2:H2800927F8:A5:false,A4:true
-280092838:t3:A4:line,A4:file,A3:mfa
-280092858:Mf3:H280092838:I398,H280092888,H2800929B8
-280092888:lI108|H280092898
-280092898:lI111|H2800928A8
-2800928A8:lI103|H2800928B8
-2800928B8:lI103|H2800928C8
-2800928C8:lI101|H2800928D8
-2800928D8:lI114|H2800928E8
-2800928E8:lI95|H2800928F8
-2800928F8:lI104|H280092908
-280092908:lI95|H280092918
-280092918:lI99|H280092928
-280092928:lI111|H280092938
-280092938:lI109|H280092948
-280092948:lI109|H280092958
-280092958:lI111|H280092968
-280092968:lI110|H280092978
-280092978:lI46|H280092988
-280092988:lI101|H280092998
-280092998:lI114|H2800929A8
-2800929A8:lI108|N
-2800929B8:t3:AF:logger_h_common,A10:do_log_to_binary,I2
-2800929D8:Yh22:Rk9STUFUVEVSIEVSUk9SOiBiYWQgcmV0dXJuIHZhbHVlCg==
-280092A10:t3:A4:line,A4:file,A3:mfa
-280092A30:Mf3:H280092A10:I410,H280092A60,H280092B90
-280092A60:lI108|H280092A70
-280092A70:lI111|H280092A80
-280092A80:lI103|H280092A90
-280092A90:lI103|H280092AA0
-280092AA0:lI101|H280092AB0
-280092AB0:lI114|H280092AC0
-280092AC0:lI95|H280092AD0
-280092AD0:lI104|H280092AE0
-280092AE0:lI95|H280092AF0
-280092AF0:lI99|H280092B00
-280092B00:lI111|H280092B10
-280092B10:lI109|H280092B20
-280092B20:lI109|H280092B30
-280092B30:lI111|H280092B40
-280092B40:lI110|H280092B50
-280092B50:lI46|H280092B60
-280092B60:lI101|H280092B70
-280092B70:lI114|H280092B80
-280092B80:lI108|N
-280092B90:t3:AF:logger_h_common,AA:try_format,I3
-280092BB0:lI68|H280092BC0
-280092BC0:lI69|H280092BD0
-280092BD0:lI70|H280092BE0
-280092BE0:lI65|H280092BF0
-280092BF0:lI85|H280092C00
-280092C00:lI76|H280092C10
-280092C10:lI84|H280092C20
-280092C20:lI32|H280092C30
-280092C30:lI70|H280092C40
-280092C40:lI79|H280092C50
-280092C50:lI82|H280092C60
-280092C60:lI77|H280092C70
-280092C70:lI65|H280092C80
-280092C80:lI84|H280092C90
-280092C90:lI84|H280092CA0
-280092CA0:lI69|H280092CB0
-280092CB0:lI82|H280092CC0
-280092CC0:lI32|H280092CD0
-280092CD0:lI67|H280092CE0
-280092CE0:lI82|H280092CF0
-280092CF0:lI65|H280092D00
-280092D00:lI83|H280092D10
-280092D10:lI72|H280092D20
-280092D20:lI69|H280092D30
-280092D30:lI68|H280092D40
-280092D40:lI10|N
-280092D50:lI70|H280092D60
-280092D60:lI79|H280092D70
-280092D70:lI82|H280092D80
-280092D80:lI77|H280092D90
-280092D90:lI65|H280092DA0
-280092DA0:lI84|H280092DB0
-280092DB0:lI84|H280092DC0
-280092DC0:lI69|H280092DD0
-280092DD0:lI82|H280092DE0
-280092DE0:lI32|H280092DF0
-280092DF0:lI67|H280092E00
-280092E00:lI82|H280092E10
-280092E10:lI65|H280092E20
-280092E20:lI83|H280092E30
-280092E30:lI72|H280092E40
-280092E40:lI58|H280092E50
-280092E50:lI32|H280092E60
-280092E60:lI126|H280092E70
-280092E70:lI116|H280092E80
-280092E80:lI112|N
-280092E90:t1:A18:filesync_repeat_interval
-280092EA0:Mf1:H280092E90:I5000
-280092EC0:lI108|N
-280092ED0:lI114|H280092EC0
-280092EE0:lI101|H280092ED0
-280092EF0:lI46|H280092EE0
-280092F00:lI110|H280092EF0
-280092F10:lI111|H280092F00
-280092F20:lI109|H280092F10
-280092F30:lI109|H280092F20
-280092F40:lI111|H280092F30
-280092F50:lI99|H280092F40
-280092F60:lI95|H280092F50
-280092F70:lI104|H280092F60
-280092F80:lI95|H280092F70
-280092F90:lI114|H280092F80
-280092FA0:lI101|H280092F90
-280092FB0:lI103|H280092FA0
-280092FC0:lI103|H280092FB0
-280092FD0:lI111|H280092FC0
-280092FE0:lI108|H280092FD0
-280092FF0:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-280093028:t1:A4:time
-280093038:t3:A4:meta,A3:msg,A5:level
-280093058:t1:A18:filesync_repeat_interval
-2800B0A58:lI115|H2800B0A68
-2800B0A68:lI116|H2800B0A78
-2800B0A78:lI97|H2800B0A88
-2800B0A88:lI110|H2800B0A98
-2800B0A98:lI100|H2800B0AA8
-2800B0AA8:lI95|H2800B0AB8
-2800B0AB8:lI97|H2800B0AC8
-2800B0AC8:lI108|H2800B0AD8
-2800B0AD8:lI111|H2800B0AE8
-2800B0AE8:lI110|H2800B0AF8
-2800B0AF8:lI101|H2800B0B08
-2800B0B08:lI95|N
-2800B0B18:t2:A4:line,I173
-2800B0B30:t2:A6:module,AD:httpc_manager
-2800B0B48:lI105|H2800B0B58
-2800B0B58:lI110|H2800B0B68
-2800B0B68:lI115|H2800B0B78
-2800B0B78:lI101|H2800B0B88
-2800B0B88:lI114|H2800B0B98
-2800B0B98:lI116|H2800B0BA8
-2800B0BA8:lI32|H2800B0BB8
-2800B0BB8:lI115|H2800B0BC8
-2800B0BC8:lI101|H2800B0BD8
-2800B0BD8:lI115|H2800B0BE8
-2800B0BE8:lI115|H2800B0BF8
-2800B0BF8:lI105|H2800B0C08
-2800B0C08:lI111|H2800B0C18
-2800B0C18:lI110|N
-2800B0C28:t2:A4:line,I188
-2800B0C40:lI108|H2800B0C50
-2800B0C50:lI111|H2800B0C60
-2800B0C60:lI111|H2800B0C70
-2800B0C70:lI107|H2800B0C80
-2800B0C80:lI117|H2800B0C90
-2800B0C90:lI112|H2800B0CA0
-2800B0CA0:lI32|H2800B0CB0
-2800B0CB0:lI115|H2800B0CC0
-2800B0CC0:lI101|H2800B0CD0
-2800B0CD0:lI115|H2800B0CE0
-2800B0CE0:lI115|H2800B0CF0
-2800B0CF0:lI105|H2800B0D00
-2800B0D00:lI111|H2800B0D10
-2800B0D10:lI110|N
-2800B0D20:t2:A4:line,I205
-2800B0D38:lI117|H2800B0D48
-2800B0D48:lI112|H2800B0D58
-2800B0D58:lI100|H2800B0D68
-2800B0D68:lI97|H2800B0D78
-2800B0D78:lI116|H2800B0D88
-2800B0D88:lI101|H2800B0D98
-2800B0D98:lI32|H2800B0DA8
-2800B0DA8:lI115|H2800B0DB8
-2800B0DB8:lI101|H2800B0DC8
-2800B0DC8:lI115|H2800B0DD8
-2800B0DD8:lI115|H2800B0DE8
-2800B0DE8:lI105|H2800B0DF8
-2800B0DF8:lI111|H2800B0E08
-2800B0E08:lI110|N
-2800B0E18:t2:A4:line,I225
-2800B0E30:lI100|H2800B0E40
-2800B0E40:lI101|H2800B0E50
-2800B0E50:lI108|H2800B0E60
-2800B0E60:lI101|H2800B0E70
-2800B0E70:lI116|H2800B0E80
-2800B0E80:lI101|H2800B0E90
-2800B0E90:lI32|H2800B0EA0
-2800B0EA0:lI115|H2800B0EB0
-2800B0EB0:lI101|H2800B0EC0
-2800B0EC0:lI115|H2800B0ED0
-2800B0ED0:lI115|H2800B0EE0
-2800B0EE0:lI105|H2800B0EF0
-2800B0EF0:lI111|H2800B0F00
-2800B0F00:lI110|N
-2800B0F10:t2:A4:line,I243
-2800B0F28:lI119|H2800B0F38
-2800B0F38:lI104|H2800B0F48
-2800B0F48:lI105|H2800B0F58
-2800B0F58:lI99|H2800B0F68
-2800B0F68:lI104|H2800B0F78
-2800B0F78:lI95|H2800B0F88
-2800B0F88:lI115|H2800B0F98
-2800B0F98:lI101|H2800B0FA8
-2800B0FA8:lI115|H2800B0FB8
-2800B0FB8:lI115|H2800B0FC8
-2800B0FC8:lI105|H2800B0FD8
-2800B0FD8:lI111|H2800B0FE8
-2800B0FE8:lI110|H2800B0FF8
-2800B0FF8:lI115|N
-2800B1008:t2:A4:line,I276
-2800B1020:lI119|H2800B1030
-2800B1030:lI104|H2800B1040
-2800B1040:lI105|H2800B1050
-2800B1050:lI99|H2800B1060
-2800B1060:lI104|H2800B1070
-2800B1070:lI95|H2800B1080
-2800B1080:lI115|H2800B1090
-2800B1090:lI101|H2800B10A0
-2800B10A0:lI115|H2800B10B0
-2800B10B0:lI115|H2800B10C0
-2800B10C0:lI105|H2800B10D0
-2800B10D0:lI111|H2800B10E0
-2800B10E0:lI110|H2800B10F0
-2800B10F0:lI95|H2800B1100
-2800B1100:lI105|H2800B1110
-2800B1110:lI110|H2800B1120
-2800B1120:lI102|H2800B1130
-2800B1130:lI111|N
-2800B1140:t2:A4:line,I406
-2800B1158:lI115|H2800B1168
-2800B1168:lI116|H2800B1178
-2800B1178:lI97|H2800B1188
-2800B1188:lI114|H2800B1198
-2800B1198:lI116|H2800B11A8
-2800B11A8:lI105|H2800B11B8
-2800B11B8:lI110|H2800B11C8
-2800B11C8:lI103|N
-2800B11D8:t2:A4:line,I409
-2800B11F0:lI115|H2800B1200
-2800B1200:lI116|H2800B1210
-2800B1210:lI97|H2800B1220
-2800B1220:lI114|H2800B1230
-2800B1230:lI116|H2800B1240
-2800B1240:lI101|H2800B1250
-2800B1250:lI100|N
-2800B1260:lI99|H2800B1270
-2800B1270:lI114|H2800B1280
-2800B1280:lI101|H2800B1290
-2800B1290:lI97|H2800B12A0
-2800B12A0:lI116|H2800B12B0
-2800B12B0:lI101|H2800B12C0
-2800B12C0:lI32|H2800B12D0
-2800B12D0:lI115|H2800B12E0
-2800B12E0:lI101|H2800B12F0
-2800B12F0:lI115|H2800B1300
-2800B1300:lI115|H2800B1310
-2800B1310:lI105|H2800B1320
-2800B1320:lI111|H2800B1330
-2800B1330:lI110|H2800B1340
-2800B1340:lI32|H2800B1350
-2800B1350:lI100|H2800B1360
-2800B1360:lI98|N
-2800B1370:lH2800B1390|H2800B1380
-2800B1380:lH2800B13A8|N
-2800B1390:t2:A6:module,AD:httpc_manager
-2800B13A8:t2:A4:line,I420
-2800B13C0:lA6:public|H2800B13D0
-2800B13D0:lA3:set|H2800B13E0
-2800B13E0:lAB:named_table|H2800B13F0
-2800B13F0:lH2800B1400|N
-2800B1400:t2:A6:keypos,I2
-2800B1418:lI99|H2800B1428
-2800B1428:lI114|H2800B1438
-2800B1438:lI101|H2800B1448
-2800B1448:lI97|H2800B1458
-2800B1458:lI116|H2800B1468
-2800B1468:lI101|H2800B1478
-2800B1478:lI32|H2800B1488
-2800B1488:lI104|H2800B1498
-2800B1498:lI97|H2800B14A8
-2800B14A8:lI110|H2800B14B8
-2800B14B8:lI100|H2800B14C8
-2800B14C8:lI108|H2800B14D8
-2800B14D8:lI101|H2800B14E8
-2800B14E8:lI114|H2800B14F8
-2800B14F8:lI47|H2800B1508
-2800B1508:lI114|H2800B1518
-2800B1518:lI101|H2800B1528
-2800B1528:lI113|H2800B1538
-2800B1538:lI117|H2800B1548
-2800B1548:lI101|H2800B1558
-2800B1558:lI115|H2800B1568
-2800B1568:lI116|H2800B1578
-2800B1578:lI32|H2800B1588
-2800B1588:lI100|H2800B1598
-2800B1598:lI98|N
-2800B15A8:lH2800B15C8|H2800B15B8
-2800B15B8:lH2800B15E0|N
-2800B15C8:t2:A6:module,AD:httpc_manager
-2800B15E0:t2:A4:line,I426
-2800B15F8:lA9:protected|H2800B1608
-2800B1608:lA3:set|H2800B1618
-2800B1618:lAB:named_table|H2800B1628
-2800B1628:lH2800B1638|N
-2800B1638:t2:A6:keypos,I1
-2800B1650:lI99|H2800B1660
-2800B1660:lI114|H2800B1670
-2800B1670:lI101|H2800B1680
-2800B1680:lI97|H2800B1690
-2800B1690:lI116|H2800B16A0
-2800B16A0:lI101|H2800B16B0
-2800B16B0:lI32|H2800B16C0
-2800B16C0:lI99|H2800B16D0
-2800B16D0:lI111|H2800B16E0
-2800B16E0:lI111|H2800B16F0
-2800B16F0:lI107|H2800B1700
-2800B1700:lI105|H2800B1710
-2800B1710:lI101|H2800B1720
-2800B1720:lI32|H2800B1730
-2800B1730:lI100|H2800B1740
-2800B1740:lI98|N
-2800B1750:lH2800B1770|H2800B1760
-2800B1760:lH2800B1788|N
-2800B1770:t2:A6:module,AD:httpc_manager
-2800B1788:t2:A4:line,I431
-2800B17A0:tF:A7:options,H2800B1820,H2800B1838,I0,I2,I5,I120000,I2,A8:disabled,A5:false,A4:inet,A7:default,A7:default,N,A9:undefined
-2800B1820:t2:A9:undefined,N
-2800B1838:t2:A9:undefined,N
-2800B1850:t2:A4:line,I474
-2800B1868:lI119|H2800B1878
-2800B1878:lI104|H2800B1888
-2800B1888:lI105|H2800B1898
-2800B1898:lI99|H2800B18A8
-2800B18A8:lI104|H2800B18B8
-2800B18B8:lI32|H2800B18C8
-2800B18C8:lI99|H2800B18D8
-2800B18D8:lI111|H2800B18E8
-2800B18E8:lI111|H2800B18F8
-2800B18F8:lI107|H2800B1908
-2800B1908:lI105|H2800B1918
-2800B1918:lI101|H2800B1928
-2800B1928:lI115|N
-2800B1938:t2:A4:line,I454
-2800B1950:lI114|H2800B1960
-2800B1960:lI101|H2800B1970
-2800B1970:lI113|H2800B1980
-2800B1980:lI117|H2800B1990
-2800B1990:lI101|H2800B19A0
-2800B19A0:lI115|H2800B19B0
-2800B19B0:lI116|N
-2800B19C0:t2:A4:line,I485
-2800B19D8:lI103|H2800B19E8
-2800B19E8:lI101|H2800B19F8
-2800B19F8:lI116|H2800B1A08
-2800B1A08:lI32|H2800B1A18
-2800B1A18:lI111|H2800B1A28
-2800B1A28:lI112|H2800B1A38
-2800B1A38:lI116|H2800B1A48
-2800B1A48:lI105|H2800B1A58
-2800B1A58:lI111|H2800B1A68
-2800B1A68:lI110|H2800B1A78
-2800B1A78:lI115|N
-2800B1A88:lH2800B1AA8|H2800B1A98
-2800B1A98:lH2800B1AC0|N
-2800B1AA8:t2:A6:module,AD:httpc_manager
-2800B1AC0:t2:A4:line,I468
-2800B1AD8:lI114|H2800B1AE8
-2800B1AE8:lI101|H2800B1AF8
-2800B1AF8:lI115|H2800B1B08
-2800B1B08:lI101|H2800B1B18
-2800B1B18:lI116|H2800B1B28
-2800B1B28:lI32|H2800B1B38
-2800B1B38:lI99|H2800B1B48
-2800B1B48:lI111|H2800B1B58
-2800B1B58:lI111|H2800B1B68
-2800B1B68:lI107|H2800B1B78
-2800B1B78:lI105|H2800B1B88
-2800B1B88:lI101|H2800B1B98
-2800B1B98:lI115|N
-2800B1BA8:lH2800B1BC8|H2800B1BB8
-2800B1BB8:lH2800B1BE0|N
-2800B1BC8:t2:A6:module,AD:httpc_manager
-2800B1BE0:t2:A4:line,I463
-2800B1BF8:lI105|H2800B1C08
-2800B1C08:lI110|H2800B1C18
-2800B1C18:lI102|H2800B1C28
-2800B1C28:lI111|N
-2800B1C38:lH2800B1C58|H2800B1C48
-2800B1C48:lH2800B1C70|N
-2800B1C58:t2:A6:module,AD:httpc_manager
-2800B1C70:t2:A4:line,I491
-2800B1C88:lI114|H2800B1C98
-2800B1C98:lI101|H2800B1CA8
-2800B1CA8:lI99|H2800B1CB8
-2800B1CB8:lI101|H2800B1CC8
-2800B1CC8:lI105|H2800B1CD8
-2800B1CD8:lI118|H2800B1CE8
-2800B1CE8:lI101|H2800B1CF8
-2800B1CF8:lI100|H2800B1D08
-2800B1D08:lI32|H2800B1D18
-2800B1D18:lI117|H2800B1D28
-2800B1D28:lI110|H2800B1D38
-2800B1D38:lI107|H2800B1D48
-2800B1D48:lI110|H2800B1D58
-2800B1D58:lI111|H2800B1D68
-2800B1D68:lI119|H2800B1D78
-2800B1D78:lI110|H2800B1D88
-2800B1D88:lI32|H2800B1D98
-2800B1D98:lI114|H2800B1DA8
-2800B1DA8:lI101|H2800B1DB8
-2800B1DB8:lI113|H2800B1DC8
-2800B1DC8:lI117|H2800B1DD8
-2800B1DD8:lI101|H2800B1DE8
-2800B1DE8:lI115|H2800B1DF8
-2800B1DF8:lI116|H2800B1E08
-2800B1E08:lI126|H2800B1E18
-2800B1E18:lI110|H2800B1E28
-2800B1E28:lI32|H2800B1E38
-2800B1E38:lI32|H2800B1E48
-2800B1E48:lI32|H2800B1E58
-2800B1E58:lI82|H2800B1E68
-2800B1E68:lI101|H2800B1E78
-2800B1E78:lI113|H2800B1E88
-2800B1E88:lI58|H2800B1E98
-2800B1E98:lI32|H2800B1EA8
-2800B1EA8:lI32|H2800B1EB8
-2800B1EB8:lI126|H2800B1EC8
-2800B1EC8:lI112|H2800B1ED8
-2800B1ED8:lI126|H2800B1EE8
-2800B1EE8:lI110|H2800B1EF8
-2800B1EF8:lI32|H2800B1F08
-2800B1F08:lI32|H2800B1F18
-2800B1F18:lI32|H2800B1F28
-2800B1F28:lI70|H2800B1F38
-2800B1F38:lI114|H2800B1F48
-2800B1F48:lI111|H2800B1F58
-2800B1F58:lI109|H2800B1F68
-2800B1F68:lI58|H2800B1F78
-2800B1F78:lI32|H2800B1F88
-2800B1F88:lI126|H2800B1F98
-2800B1F98:lI112|N
-2800B1FA8:t2:A5:error,AD:API_violation
-2800B1FC0:t2:A4:line,I542
-2800B1FD8:lI115|H2800B1FE8
-2800B1FE8:lI101|H2800B1FF8
-2800B1FF8:lI116|H2800B2008
-2800B2008:lI32|H2800B2018
-2800B2018:lI111|H2800B2028
-2800B2028:lI112|H2800B2038
-2800B2038:lI116|H2800B2048
-2800B2048:lI105|H2800B2058
-2800B2058:lI111|H2800B2068
-2800B2068:lI110|H2800B2078
-2800B2078:lI115|N
-2800B2088:t2:A4:line,I537
-2800B20A0:lI114|H2800B20B0
-2800B20B0:lI101|H2800B20C0
-2800B20C0:lI113|H2800B20D0
-2800B20D0:lI117|H2800B20E0
-2800B20E0:lI101|H2800B20F0
-2800B20F0:lI115|H2800B2100
-2800B2100:lI116|H2800B2110
-2800B2110:lI32|H2800B2120
-2800B2120:lI100|H2800B2130
-2800B2130:lI111|H2800B2140
-2800B2140:lI110|H2800B2150
-2800B2150:lI101|N
-2800B2160:lI114|H2800B2170
-2800B2170:lI101|H2800B2180
-2800B2180:lI99|H2800B2190
-2800B2190:lI101|H2800B21A0
-2800B21A0:lI105|H2800B21B0
-2800B21B0:lI118|H2800B21C0
-2800B21C0:lI101|H2800B21D0
-2800B21D0:lI100|H2800B21E0
-2800B21E0:lI32|H2800B21F0
-2800B21F0:lI117|H2800B2200
-2800B2200:lI110|H2800B2210
-2800B2210:lI107|H2800B2220
-2800B2220:lI110|H2800B2230
-2800B2230:lI111|H2800B2240
-2800B2240:lI119|H2800B2250
-2800B2250:lI110|H2800B2260
-2800B2260:lI32|H2800B2270
-2800B2270:lI109|H2800B2280
-2800B2280:lI101|H2800B2290
-2800B2290:lI115|H2800B22A0
-2800B22A0:lI115|H2800B22B0
-2800B22B0:lI97|H2800B22C0
-2800B22C0:lI103|H2800B22D0
-2800B22D0:lI101|H2800B22E0
-2800B22E0:lI126|H2800B22F0
-2800B22F0:lI110|H2800B2300
-2800B2300:lI32|H2800B2310
-2800B2310:lI32|H2800B2320
-2800B2320:lI32|H2800B2330
-2800B2330:lI77|H2800B2340
-2800B2340:lI115|H2800B2350
-2800B2350:lI103|H2800B2360
-2800B2360:lI58|H2800B2370
-2800B2370:lI32|H2800B2380
-2800B2380:lI126|H2800B2390
-2800B2390:lI112|N
-2800B23A0:lI85|H2800B23B0
-2800B23B0:lI110|H2800B23C0
-2800B23C0:lI107|H2800B23D0
-2800B23D0:lI110|H2800B23E0
-2800B23E0:lI111|H2800B23F0
-2800B23F0:lI119|H2800B2400
-2800B2400:lI110|H2800B2410
-2800B2410:lI32|H2800B2420
-2800B2420:lI109|H2800B2430
-2800B2430:lI101|H2800B2440
-2800B2440:lI115|H2800B2450
-2800B2450:lI115|H2800B2460
-2800B2460:lI97|H2800B2470
-2800B2470:lI103|H2800B2480
-2800B2480:lI101|H2800B2490
-2800B2490:lI32|H2800B24A0
-2800B24A0:lI105|H2800B24B0
-2800B24B0:lI110|H2800B24C0
-2800B24C0:lI32|H2800B24D0
-2800B24D0:lI104|H2800B24E0
-2800B24E0:lI116|H2800B24F0
-2800B24F0:lI116|H2800B2500
-2800B2500:lI112|H2800B2510
-2800B2510:lI99|H2800B2520
-2800B2520:lI95|H2800B2530
-2800B2530:lI109|H2800B2540
-2800B2540:lI97|H2800B2550
-2800B2550:lI110|H2800B2560
-2800B2560:lI97|H2800B2570
-2800B2570:lI103|H2800B2580
-2800B2580:lI101|H2800B2590
-2800B2590:lI114|H2800B25A0
-2800B25A0:lI58|H2800B25B0
-2800B25B0:lI104|H2800B25C0
-2800B25C0:lI97|H2800B25D0
-2800B25D0:lI110|H2800B25E0
-2800B25E0:lI100|H2800B25F0
-2800B25F0:lI108|H2800B2600
-2800B2600:lI101|H2800B2610
-2800B2610:lI95|H2800B2620
-2800B2620:lI105|H2800B2630
-2800B2630:lI110|H2800B2640
-2800B2640:lI102|H2800B2650
-2800B2650:lI111|H2800B2660
-2800B2660:lI32|H2800B2670
-2800B2670:lI126|H2800B2680
-2800B2680:lI112|H2800B2690
-2800B2690:lI126|H2800B26A0
-2800B26A0:lI110|N
-2800B26B0:lA5:proxy|H2800B26C0
-2800B26C0:lAB:https_proxy|H2800B26D0
-2800B26D0:lA10:pipeline_timeout|H2800B26E0
-2800B26E0:lA13:max_pipeline_length|H2800B26F0
-2800B26F0:lA15:max_keep_alive_length|H2800B2700
-2800B2700:lA12:keep_alive_timeout|H2800B2710
-2800B2710:lAC:max_sessions|H2800B2720
-2800B2720:lA7:cookies|H2800B2730
-2800B2730:lA7:verbose|H2800B2740
-2800B2740:lA8:ipfamily|H2800B2750
-2800B2750:lA2:ip|H2800B2760
-2800B2760:lA4:port|H2800B2770
-2800B2770:lAB:socket_opts|H2800B2780
-2800B2780:lAB:unix_socket|N
-2800B2790:t3:A2:$2,A2:$1,A1:_
-2800B27B0:lI72|H2800B27C0
-2800B27C0:lI84|H2800B27D0
-2800B27D0:lI84|H2800B27E0
-2800B27E0:lI80|H2800B27F0
-2800B27F0:lI47|H2800B2800
-2800B2800:lI49|H2800B2810
-2800B2810:lI46|H2800B2820
-2800B2820:lI48|N
-2800B2830:lI99|H2800B2840
-2800B2840:lI108|H2800B2850
-2800B2850:lI111|H2800B2860
-2800B2860:lI115|H2800B2870
-2800B2870:lI101|N
-2800B2880:t2:A4:line,I817
-2800B2898:lI115|H2800B28A8
-2800B28A8:lI101|H2800B28B8
-2800B28B8:lI108|H2800B28C8
-2800B28C8:lI101|H2800B28D8
-2800B28D8:lI99|H2800B28E8
-2800B28E8:lI116|H2800B28F8
-2800B28F8:lI32|H2800B2908
-2800B2908:lI115|H2800B2918
-2800B2918:lI101|H2800B2928
-2800B2928:lI115|H2800B2938
-2800B2938:lI115|H2800B2948
-2800B2948:lI105|H2800B2958
-2800B2958:lI111|H2800B2968
-2800B2968:lI110|N
-2800B2978:t2:A4:line,I838
-2800B2990:lI115|H2800B29A0
-2800B29A0:lI101|H2800B29B0
-2800B29B0:lI108|H2800B29C0
-2800B29C0:lI101|H2800B29D0
-2800B29D0:lI99|H2800B29E0
-2800B29E0:lI116|H2800B29F0
-2800B29F0:lI32|H2800B2A00
-2800B2A00:lI115|H2800B2A10
-2800B2A10:lI101|H2800B2A20
-2800B2A20:lI115|H2800B2A30
-2800B2A30:lI115|H2800B2A40
-2800B2A40:lI105|H2800B2A50
-2800B2A50:lI111|H2800B2A60
-2800B2A60:lI110|H2800B2A70
-2800B2A70:lI32|H2800B2A80
-2800B2A80:lI45|H2800B2A90
-2800B2A90:lI32|H2800B2AA0
-2800B2AA0:lI110|H2800B2AB0
-2800B2AB0:lI111|H2800B2AC0
-2800B2AC0:lI32|H2800B2AD0
-2800B2AD0:lI99|H2800B2AE0
-2800B2AE0:lI97|H2800B2AF0
-2800B2AF0:lI110|H2800B2B00
-2800B2B00:lI100|H2800B2B10
-2800B2B10:lI105|H2800B2B20
-2800B2B20:lI100|H2800B2B30
-2800B2B30:lI97|H2800B2B40
-2800B2B40:lI116|H2800B2B50
-2800B2B50:lI101|N
-2800B2B60:lH2800B2B80|H2800B2B70
-2800B2B70:lH2800B2B98|N
-2800B2B80:t2:A6:module,AD:httpc_manager
-2800B2B98:t2:A4:line,I853
-2800B2BB0:t2:A4:line,I862
-2800B2BC8:lI115|H2800B2BD8
-2800B2BD8:lI101|H2800B2BE8
-2800B2BE8:lI108|H2800B2BF8
-2800B2BF8:lI101|H2800B2C08
-2800B2C08:lI99|H2800B2C18
-2800B2C18:lI116|H2800B2C28
-2800B2C28:lI32|H2800B2C38
-2800B2C38:lI115|H2800B2C48
-2800B2C48:lI101|H2800B2C58
-2800B2C58:lI115|H2800B2C68
-2800B2C68:lI115|H2800B2C78
-2800B2C78:lI105|H2800B2C88
-2800B2C88:lI111|H2800B2C98
-2800B2C98:lI110|H2800B2CA8
-2800B2CA8:lI32|H2800B2CB8
-2800B2CB8:lI45|H2800B2CC8
-2800B2CC8:lI32|H2800B2CD8
-2800B2CD8:lI102|H2800B2CE8
-2800B2CE8:lI111|H2800B2CF8
-2800B2CF8:lI117|H2800B2D08
-2800B2D08:lI110|H2800B2D18
-2800B2D18:lI100|H2800B2D28
-2800B2D28:lI32|H2800B2D38
-2800B2D38:lI111|H2800B2D48
-2800B2D48:lI110|H2800B2D58
-2800B2D58:lI101|N
-2800B2D68:t2:A5:error,A6:closed
-2800B2D80:t2:H2800B2D98,N
-2800B2D98:lI99|H2800B2DA8
-2800B2DA8:lI111|H2800B2DB8
-2800B2DB8:lI111|H2800B2DC8
-2800B2DC8:lI107|H2800B2DD8
-2800B2DD8:lI105|H2800B2DE8
-2800B2DE8:lI101|N
-2800B2DF8:lI95|H2800B2E08
-2800B2E08:lI95|H2800B2E18
-2800B2E18:lI115|H2800B2E28
-2800B2E28:lI101|H2800B2E38
-2800B2E38:lI115|H2800B2E48
-2800B2E48:lI115|H2800B2E58
-2800B2E58:lI105|H2800B2E68
-2800B2E68:lI111|H2800B2E78
-2800B2E78:lI110|H2800B2E88
-2800B2E88:lI95|H2800B2E98
-2800B2E98:lI100|H2800B2EA8
-2800B2EA8:lI98|N
-2800B2EB8:lI95|H2800B2EC8
-2800B2EC8:lI95|H2800B2ED8
-2800B2ED8:lI99|H2800B2EE8
-2800B2EE8:lI111|H2800B2EF8
-2800B2EF8:lI111|H2800B2F08
-2800B2F08:lI107|H2800B2F18
-2800B2F18:lI105|H2800B2F28
-2800B2F28:lI101|H2800B2F38
-2800B2F38:lI95|H2800B2F48
-2800B2F48:lI100|H2800B2F58
-2800B2F58:lI98|N
-2800B2F68:lI95|H2800B2F78
-2800B2F78:lI95|H2800B2F88
-2800B2F88:lI115|H2800B2F98
-2800B2F98:lI101|H2800B2FA8
-2800B2FA8:lI115|H2800B2FB8
-2800B2FB8:lI115|H2800B2FC8
-2800B2FC8:lI105|H2800B2FD8
-2800B2FD8:lI111|H2800B2FE8
-2800B2FE8:lI110|H2800B2FF8
-2800B2FF8:lI95|H2800B3008
-2800B3008:lI99|H2800B3018
-2800B3018:lI111|H2800B3028
-2800B3028:lI111|H2800B3038
-2800B3038:lI107|H2800B3048
-2800B3048:lI105|H2800B3058
-2800B3058:lI101|H2800B3068
-2800B3068:lI95|H2800B3078
-2800B3078:lI100|H2800B3088
-2800B3088:lI98|N
-2800B3098:lI95|H2800B30A8
-2800B30A8:lI95|H2800B30B8
-2800B30B8:lI104|H2800B30C8
-2800B30C8:lI97|H2800B30D8
-2800B30D8:lI110|H2800B30E8
-2800B30E8:lI100|H2800B30F8
-2800B30F8:lI108|H2800B3108
-2800B3108:lI101|H2800B3118
-2800B3118:lI114|H2800B3128
-2800B3128:lI95|H2800B3138
-2800B3138:lI100|H2800B3148
-2800B3148:lI98|N
-2800B3158:lI115|N
-2800B3168:lA4:call|N
-2800B3178:lH2800B3188|N
-2800B3188:t3:A1:_,N,H2800B31A8
-2800B31A8:lH2800B31B8|N
-2800B31B8:t1:AC:return_trace
-2800B31C8:lI126|H2800B31D8
-2800B31D8:lI110|N
-2800B31E8:lI72|H2800B31F8
-2800B31F8:lI84|H2800B3208
-2800B3208:lI84|H2800B3218
-2800B3218:lI80|H2800B3228
-2800B3228:lI67|H2800B3238
-2800B3238:lI45|H2800B3248
-2800B3248:lI77|H2800B3258
-2800B3258:lI65|H2800B3268
-2800B3268:lI78|H2800B3278
-2800B3278:lI65|H2800B3288
-2800B3288:lI71|H2800B3298
-2800B3298:lI69|H2800B32A8
-2800B32A8:lI82|H2800B32B8
-2800B32B8:lI60|H2800B32C8
-2800B32C8:lI126|H2800B32D8
-2800B32D8:lI112|H2800B32E8
-2800B32E8:lI62|H2800B32F8
-2800B32F8:lI32|N
-2800B3308:lI108|N
-2800B3318:lI114|H2800B3308
-2800B3328:lI101|H2800B3318
-2800B3338:lI46|H2800B3328
-2800B3348:lI114|H2800B3338
-2800B3358:lI101|H2800B3348
-2800B3368:lI103|H2800B3358
-2800B3378:lI97|H2800B3368
-2800B3388:lI110|H2800B3378
-2800B3398:lI97|H2800B3388
-2800B33A8:lI109|H2800B3398
-2800B33B8:lI95|H2800B33A8
-2800B33C8:lI99|H2800B33B8
-2800B33D8:lI112|H2800B33C8
-2800B33E8:lI116|H2800B33D8
-2800B33F8:lI116|H2800B33E8
-2800B3408:lI104|H2800B33F8
-2800B3418:E51:g3AAAABPAav5MfhExLjVj7CSaHK/DswAAAAAAAAAAHcNaHR0cGNfbWFuYWdlcmEAYgVfyY9Ydw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-2800B3440:E51:g3AAAABPAav5MfhExLjVj7CSaHK/DswAAAABAAAAAHcNaHR0cGNfbWFuYWdlcmEBYgVfyY9Ydw1ub25vZGVAbm9ob3N0AAAAAAAAAAAAAAAA
-2800B6F58:t2:A5:local,A11:httpc_handler_sup
-2800B6F70:lAD:httpc_handler|N
-2800B6F80:t3:A12:simple_one_for_one,I0,I3600
-2800B6FA0:lI108|N
-2800B6FB0:lI114|H2800B6FA0
-2800B6FC0:lI101|H2800B6FB0
-2800B6FD0:lI46|H2800B6FC0
-2800B6FE0:lI112|H2800B6FD0
-2800B6FF0:lI117|H2800B6FE0
-2800B7000:lI115|H2800B6FF0
-2800B7010:lI95|H2800B7000
-2800B7020:lI114|H2800B7010
-2800B7030:lI101|H2800B7020
-2800B7040:lI108|H2800B7030
-2800B7050:lI100|H2800B7040
-2800B7060:lI110|H2800B7050
-2800B7070:lI97|H2800B7060
-2800B7080:lI104|H2800B7070
-2800B7090:lI95|H2800B7080
-2800B70A0:lI99|H2800B7090
-2800B70B0:lI112|H2800B70A0
-2800B70C0:lI116|H2800B70B0
-2800B70D0:lI116|H2800B70C0
-2800B70E0:lI104|H2800B70D0
-2800BDB80:t2:A5:local,A12:tls_connection_sup
-2800BDB98:t2:A5:local,A17:tls_dist_connection_sup
-2800BDBB0:t2:A2:ok,H2800BDBC8
-2800BDBC8:t2:H2800BDC00,H2800BDC30
-2800BDBE0:t3:A8:strategy,A6:period,A9:intensity
-2800BDC00:Mf3:H2800BDBE0:A12:simple_one_for_one,I3600,I0
-2800BDC30:lH2800BDC68|N
-2800BDC40:t4:A2:id,A7:restart,A5:start,A4:type
-2800BDC68:Mf4:H2800BDC40:A9:undefined,A9:temporary,H2800BDCA0,AA:supervisor
-2800BDCA0:t3:A16:tls_dyn_connection_sup,AA:start_link,N
-2800BDCC0:lI108|N
-2800BDCD0:lI114|H2800BDCC0
-2800BDCE0:lI101|H2800BDCD0
-2800BDCF0:lI46|H2800BDCE0
-2800BDD00:lI112|H2800BDCF0
-2800BDD10:lI117|H2800BDD00
-2800BDD20:lI115|H2800BDD10
-2800BDD30:lI95|H2800BDD20
-2800BDD40:lI110|H2800BDD30
-2800BDD50:lI111|H2800BDD40
-2800BDD60:lI105|H2800BDD50
-2800BDD70:lI116|H2800BDD60
-2800BDD80:lI99|H2800BDD70
-2800BDD90:lI101|H2800BDD80
-2800BDDA0:lI110|H2800BDD90
-2800BDDB0:lI110|H2800BDDA0
-2800BDDC0:lI111|H2800BDDB0
-2800BDDD0:lI99|H2800BDDC0
-2800BDDE0:lI95|H2800BDDD0
-2800BDDF0:lI115|H2800BDDE0
-2800BDE00:lI108|H2800BDDF0
-2800BDE10:lI116|H2800BDE00
-2800BE298:t2:A5:local,A16:ssl_listen_tracker_sup
-2800BE2B0:t2:A5:local,A1B:ssl_listen_tracker_sup_dist
-2800BE2C8:t2:A2:ok,H2800BE2E0
-2800BE2E0:t2:H2800BE318,H2800BE348
-2800BE2F8:t3:A8:strategy,A6:period,A9:intensity
-2800BE318:Mf3:H2800BE2F8:A12:simple_one_for_one,I3600,I0
-2800BE348:lH2800BE390|N
-2800BE358:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-2800BE390:Mf6:H2800BE358:A9:undefined,A9:temporary,I4000,H2800BE3E8,A6:worker,H2800BE3D8
-2800BE3D8:lAA:tls_socket|N
-2800BE3E8:t3:AA:tls_socket,AA:start_link,N
-2800BE408:lI108|N
-2800BE418:lI114|H2800BE408
-2800BE428:lI101|H2800BE418
-2800BE438:lI46|H2800BE428
-2800BE448:lI112|H2800BE438
-2800BE458:lI117|H2800BE448
-2800BE468:lI115|H2800BE458
-2800BE478:lI95|H2800BE468
-2800BE488:lI114|H2800BE478
-2800BE498:lI101|H2800BE488
-2800BE4A8:lI107|H2800BE498
-2800BE4B8:lI99|H2800BE4A8
-2800BE4C8:lI97|H2800BE4B8
-2800BE4D8:lI114|H2800BE4C8
-2800BE4E8:lI116|H2800BE4D8
-2800BE4F8:lI95|H2800BE4E8
-2800BE508:lI110|H2800BE4F8
-2800BE518:lI101|H2800BE508
-2800BE528:lI116|H2800BE518
-2800BE538:lI115|H2800BE528
-2800BE548:lI105|H2800BE538
-2800BE558:lI108|H2800BE548
-2800BE568:lI95|H2800BE558
-2800BE578:lI108|H2800BE568
-2800BE588:lI115|H2800BE578
-2800BE598:lI115|H2800BE588
-2800BE5C0:t2:A5:local,A1D:tls_server_session_ticket_sup
-2800BE5D8:t2:A5:local,A22:tls_server_session_ticket_sup_dist
-2800BE5F0:t2:A2:ok,H2800BE608
-2800BE608:t2:H2800BE640,H2800BE670
-2800BE620:t3:A8:strategy,A6:period,A9:intensity
-2800BE640:Mf3:H2800BE620:A12:simple_one_for_one,I3600,I0
-2800BE670:lH2800BE6B8|N
-2800BE680:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-2800BE6B8:Mf6:H2800BE680:A9:undefined,A9:transient,I4000,H2800BE710,A6:worker,H2800BE700
-2800BE700:lA19:tls_server_session_ticket|N
-2800BE710:t3:A19:tls_server_session_ticket,AA:start_link,N
-2800BE730:lI108|N
-2800BE740:lI114|H2800BE730
-2800BE750:lI101|H2800BE740
-2800BE760:lI46|H2800BE750
-2800BE770:lI112|H2800BE760
-2800BE780:lI117|H2800BE770
-2800BE790:lI115|H2800BE780
-2800BE7A0:lI95|H2800BE790
-2800BE7B0:lI116|H2800BE7A0
-2800BE7C0:lI101|H2800BE7B0
-2800BE7D0:lI107|H2800BE7C0
-2800BE7E0:lI99|H2800BE7D0
-2800BE7F0:lI105|H2800BE7E0
-2800BE800:lI116|H2800BE7F0
-2800BE810:lI95|H2800BE800
-2800BE820:lI110|H2800BE810
-2800BE830:lI111|H2800BE820
-2800BE840:lI105|H2800BE830
-2800BE850:lI115|H2800BE840
-2800BE860:lI115|H2800BE850
-2800BE870:lI101|H2800BE860
-2800BE880:lI115|H2800BE870
-2800BE890:lI95|H2800BE880
-2800BE8A0:lI114|H2800BE890
-2800BE8B0:lI101|H2800BE8A0
-2800BE8C0:lI118|H2800BE8B0
-2800BE8D0:lI114|H2800BE8C0
-2800BE8E0:lI101|H2800BE8D0
-2800BE8F0:lI115|H2800BE8E0
-2800BE900:lI95|H2800BE8F0
-2800BE910:lI115|H2800BE900
-2800BE920:lI108|H2800BE910
-2800BE930:lI116|H2800BE920
-2800BE958:t2:A5:local,A1C:ssl_server_session_cache_sup
-2800BE970:t2:A2:ok,H2800BE988
-2800BE988:t2:H2800BE9C0,H2800BE9F0
-2800BE9A0:t3:A8:strategy,A6:period,A9:intensity
-2800BE9C0:Mf3:H2800BE9A0:A12:simple_one_for_one,I3600,I3
-2800BE9F0:lH2800BEA38|N
-2800BEA00:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-2800BEA38:Mf6:H2800BEA00:A9:undefined,A9:transient,I4000,H2800BEA90,A6:worker,H2800BEA80
-2800BEA80:lA18:ssl_server_session_cache|N
-2800BEA90:t3:A18:ssl_server_session_cache,AA:start_link,N
-2800BEAB0:lI108|N
-2800BEAC0:lI114|H2800BEAB0
-2800BEAD0:lI101|H2800BEAC0
-2800BEAE0:lI46|H2800BEAD0
-2800BEAF0:lI112|H2800BEAE0
-2800BEB00:lI117|H2800BEAF0
-2800BEB10:lI115|H2800BEB00
-2800BEB20:lI95|H2800BEB10
-2800BEB30:lI101|H2800BEB20
-2800BEB40:lI104|H2800BEB30
-2800BEB50:lI99|H2800BEB40
-2800BEB60:lI97|H2800BEB50
-2800BEB70:lI99|H2800BEB60
-2800BEB80:lI95|H2800BEB70
-2800BEB90:lI110|H2800BEB80
-2800BEBA0:lI111|H2800BEB90
-2800BEBB0:lI105|H2800BEBA0
-2800BEBC0:lI115|H2800BEBB0
-2800BEBD0:lI115|H2800BEBC0
-2800BEBE0:lI101|H2800BEBD0
-2800BEBF0:lI115|H2800BEBE0
-2800BEC00:lI95|H2800BEBF0
-2800BEC10:lI114|H2800BEC00
-2800BEC20:lI101|H2800BEC10
-2800BEC30:lI118|H2800BEC20
-2800BEC40:lI114|H2800BEC30
-2800BEC50:lI101|H2800BEC40
-2800BEC60:lI115|H2800BEC50
-2800BEC70:lI95|H2800BEC60
-2800BEC80:lI108|H2800BEC70
-2800BEC90:lI115|H2800BEC80
-2800BECA0:lI115|H2800BEC90
-2800BECC8:t2:A5:local,A24:ssl_upgrade_server_session_cache_sup
-2800BECE0:t2:A5:local,A29:ssl_upgrade_server_session_cache_sup_dist
-2800BECF8:t2:A2:ok,H2800BED10
-2800BED10:t2:H2800BED48,H2800BED78
-2800BED28:t3:A8:strategy,A6:period,A9:intensity
-2800BED48:Mf3:H2800BED28:A12:simple_one_for_one,I3600,I3
-2800BED78:lH2800BEDC0|N
-2800BED88:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-2800BEDC0:Mf6:H2800BED88:A9:undefined,A9:transient,I4000,H2800BEE18,A6:worker,H2800BEE08
-2800BEE08:lA18:ssl_server_session_cache|N
-2800BEE18:t3:A18:ssl_server_session_cache,AA:start_link,N
-2800BEE38:lI108|N
-2800BEE48:lI114|H2800BEE38
-2800BEE58:lI101|H2800BEE48
-2800BEE68:lI46|H2800BEE58
-2800BEE78:lI112|H2800BEE68
-2800BEE88:lI117|H2800BEE78
-2800BEE98:lI115|H2800BEE88
-2800BEEA8:lI95|H2800BEE98
-2800BEEB8:lI101|H2800BEEA8
-2800BEEC8:lI104|H2800BEEB8
-2800BEED8:lI99|H2800BEEC8
-2800BEEE8:lI97|H2800BEED8
-2800BEEF8:lI99|H2800BEEE8
-2800BEF08:lI95|H2800BEEF8
-2800BEF18:lI110|H2800BEF08
-2800BEF28:lI111|H2800BEF18
-2800BEF38:lI105|H2800BEF28
-2800BEF48:lI115|H2800BEF38
-2800BEF58:lI115|H2800BEF48
-2800BEF68:lI101|H2800BEF58
-2800BEF78:lI115|H2800BEF68
-2800BEF88:lI95|H2800BEF78
-2800BEF98:lI114|H2800BEF88
-2800BEFA8:lI101|H2800BEF98
-2800BEFB8:lI118|H2800BEFA8
-2800BEFC8:lI114|H2800BEFB8
-2800BEFD8:lI101|H2800BEFC8
-2800BEFE8:lI115|H2800BEFD8
-2800BEFF8:lI95|H2800BEFE8
-2800BF008:lI101|H2800BEFF8
-2800BF018:lI100|H2800BF008
-2800BF028:lI97|H2800BF018
-2800BF038:lI114|H2800BF028
-2800BF048:lI103|H2800BF038
-2800BF058:lI112|H2800BF048
-2800BF068:lI117|H2800BF058
-2800BF078:lI95|H2800BF068
-2800BF088:lI108|H2800BF078
-2800BF098:lI115|H2800BF088
-2800BF0A8:lI115|H2800BF098
-2800BF370:t2:A5:local,A13:dtls_connection_sup
-2800BF388:t2:A5:local,A18:dtls_connection_sup_dist
-2800BF3A0:t2:A2:ok,H2800BF3B8
-2800BF3B8:t2:H2800BF3F0,H2800BF420
-2800BF3D0:t3:A8:strategy,A6:period,A9:intensity
-2800BF3F0:Mf3:H2800BF3D0:A12:simple_one_for_one,I3600,I0
-2800BF420:lH2800BF468|N
-2800BF430:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-2800BF468:Mf6:H2800BF430:A9:undefined,A9:temporary,I4000,H2800BF4D0,A6:worker,H2800BF4B0
-2800BF4B0:lAE:ssl_gen_statem|H2800BF4C0
-2800BF4C0:lAF:dtls_connection|N
-2800BF4D0:t3:AE:ssl_gen_statem,AA:start_link,N
-2800BF4F0:lI108|N
-2800BF500:lI114|H2800BF4F0
-2800BF510:lI101|H2800BF500
-2800BF520:lI46|H2800BF510
-2800BF530:lI112|H2800BF520
-2800BF540:lI117|H2800BF530
-2800BF550:lI115|H2800BF540
-2800BF560:lI95|H2800BF550
-2800BF570:lI110|H2800BF560
-2800BF580:lI111|H2800BF570
-2800BF590:lI105|H2800BF580
-2800BF5A0:lI116|H2800BF590
-2800BF5B0:lI99|H2800BF5A0
-2800BF5C0:lI101|H2800BF5B0
-2800BF5D0:lI110|H2800BF5C0
-2800BF5E0:lI110|H2800BF5D0
-2800BF5F0:lI111|H2800BF5E0
-2800BF600:lI99|H2800BF5F0
-2800BF610:lI95|H2800BF600
-2800BF620:lI115|H2800BF610
-2800BF630:lI108|H2800BF620
-2800BF640:lI116|H2800BF630
-2800BF650:lI100|H2800BF640
-2800BF988:t2:A5:local,A11:dtls_listener_sup
-2800BF9A0:t2:A5:error,A11:already_listening
-2800BF9B8:lAB:named_table|H2800BF9C8
-2800BF9C8:lA6:public|H2800BF9D8
-2800BF9D8:lA3:set|N
-2800BF9E8:t2:A2:ok,H2800BFA00
-2800BFA00:t2:H2800BFA38,H2800BFA68
-2800BFA18:t3:A8:strategy,A6:period,A9:intensity
-2800BFA38:Mf3:H2800BFA18:A12:simple_one_for_one,I3600,I0
-2800BFA68:lH2800BFAB0|N
-2800BFA78:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-2800BFAB0:Mf6:H2800BFA78:A9:undefined,A9:temporary,I4000,H2800BFB08,A6:worker,H2800BFAF8
-2800BFAF8:lA11:dtls_packet_demux|N
-2800BFB08:t3:A11:dtls_packet_demux,AA:start_link,N
-2800BFB28:lI108|N
-2800BFB38:lI114|H2800BFB28
-2800BFB48:lI101|H2800BFB38
-2800BFB58:lI46|H2800BFB48
-2800BFB68:lI112|H2800BFB58
-2800BFB78:lI117|H2800BFB68
-2800BFB88:lI115|H2800BFB78
-2800BFB98:lI95|H2800BFB88
-2800BFBA8:lI114|H2800BFB98
-2800BFBB8:lI101|H2800BFBA8
-2800BFBC8:lI110|H2800BFBB8
-2800BFBD8:lI101|H2800BFBC8
-2800BFBE8:lI116|H2800BFBD8
-2800BFBF8:lI115|H2800BFBE8
-2800BFC08:lI105|H2800BFBF8
-2800BFC18:lI108|H2800BFC08
-2800BFC28:lI95|H2800BFC18
-2800BFC38:lI115|H2800BFC28
-2800BFC48:lI108|H2800BFC38
-2800BFC58:lI116|H2800BFC48
-2800BFC68:lI100|H2800BFC58
-2800BFC90:t2:A5:local,A1D:dtls_server_session_cache_sup
-2800BFCA8:t2:A2:ok,H2800BFCC0
-2800BFCC0:t2:H2800BFCF8,H2800BFD28
-2800BFCD8:t3:A8:strategy,A6:period,A9:intensity
-2800BFCF8:Mf3:H2800BFCD8:A12:simple_one_for_one,I3600,I0
-2800BFD28:lH2800BFD70|N
-2800BFD38:t6:A2:id,A7:restart,A8:shutdown,A5:start,A4:type,A7:modules
-2800BFD70:Mf6:H2800BFD38:A9:undefined,A9:temporary,I4000,H2800BFDC8,A6:worker,H2800BFDB8
-2800BFDB8:lA18:ssl_server_session_cache|N
-2800BFDC8:t3:A18:ssl_server_session_cache,AA:start_link,N
-2800BFDE8:lI108|N
-2800BFDF8:lI114|H2800BFDE8
-2800BFE08:lI101|H2800BFDF8
-2800BFE18:lI46|H2800BFE08
-2800BFE28:lI112|H2800BFE18
-2800BFE38:lI117|H2800BFE28
-2800BFE48:lI115|H2800BFE38
-2800BFE58:lI95|H2800BFE48
-2800BFE68:lI101|H2800BFE58
-2800BFE78:lI104|H2800BFE68
-2800BFE88:lI99|H2800BFE78
-2800BFE98:lI97|H2800BFE88
-2800BFEA8:lI99|H2800BFE98
-2800BFEB8:lI95|H2800BFEA8
-2800BFEC8:lI110|H2800BFEB8
-2800BFED8:lI111|H2800BFEC8
-2800BFEE8:lI105|H2800BFED8
-2800BFEF8:lI115|H2800BFEE8
-2800BFF08:lI115|H2800BFEF8
-2800BFF18:lI101|H2800BFF08
-2800BFF28:lI115|H2800BFF18
-2800BFF38:lI95|H2800BFF28
-2800BFF48:lI114|H2800BFF38
-2800BFF58:lI101|H2800BFF48
-2800BFF68:lI118|H2800BFF58
-2800BFF78:lI114|H2800BFF68
-2800BFF88:lI101|H2800BFF78
-2800BFF98:lI115|H2800BFF88
-2800BFFA8:lI95|H2800BFF98
-2800BFFB8:lI115|H2800BFFA8
-2800BFFC8:lI108|H2800BFFB8
-2800BFFD8:lI116|H2800BFFC8
-2800BFFE8:lI100|H2800BFFD8
-2800CCFF0:E30:g3F3EmdsZWFtX290cF9leHRlcm5hbHcWY29udmVydF9zeXN0ZW1fbWVzc2FnZWEC
-2800CD018:Yh27:QWN0b3IgZGlzY2FyZGluZyB1bmV4cGVjdGVkIG1lc3NhZ2U6IH5z
-2800CD050:t2:A5:error,AC:init_timeout
-2800CD068:lI108|N
-2800CD078:lI114|H2800CD068
-2800CD088:lI101|H2800CD078
-2800CD098:lI46|H2800CD088
-2800CD0A8:lI114|H2800CD098
-2800CD0B8:lI111|H2800CD0A8
-2800CD0C8:lI116|H2800CD0B8
-2800CD0D8:lI99|H2800CD0C8
-2800CD0E8:lI97|H2800CD0D8
-2800CD0F8:lI64|H2800CD0E8
-2800CD108:lI112|H2800CD0F8
-2800CD118:lI116|H2800CD108
-2800CD128:lI111|H2800CD118
-2800CD138:lI64|H2800CD128
-2800CD148:lI109|H2800CD138
-2800CD158:lI97|H2800CD148
-2800CD168:lI101|H2800CD158
-2800CD178:lI108|H2800CD168
-2800CD188:lI103|H2800CD178
-2800CD198:lI108|N
-2800CD1A8:lI114|H2800CD198
-2800CD1B8:lI101|H2800CD1A8
-2800CD1C8:lI46|H2800CD1B8
-2800CD1D8:lI114|H2800CD1C8
-2800CD1E8:lI111|H2800CD1D8
-2800CD1F8:lI116|H2800CD1E8
-2800CD208:lI99|H2800CD1F8
-2800CD218:lI97|H2800CD208
-2800CD228:lI64|H2800CD218
-2800CD238:lI112|H2800CD228
-2800CD248:lI116|H2800CD238
-2800CD258:lI111|H2800CD248
-2800CD268:lI64|H2800CD258
-2800CD278:lI109|H2800CD268
-2800CD288:lI97|H2800CD278
-2800CD298:lI101|H2800CD288
-2800CD2A8:lI108|H2800CD298
-2800CD2B8:lI103|H2800CD2A8
-2800CD2C8:lI47|H2800CD2B8
-2800CD2D8:lI115|H2800CD2C8
-2800CD2E8:lI116|H2800CD2D8
-2800CD2F8:lI99|H2800CD2E8
-2800CD308:lI97|H2800CD2F8
-2800CD318:lI102|H2800CD308
-2800CD328:lI101|H2800CD318
-2800CD338:lI116|H2800CD328
-2800CD348:lI114|H2800CD338
-2800CD358:lI97|H2800CD348
-2800CD368:lI95|H2800CD358
-2800CD378:lI109|H2800CD368
-2800CD388:lI97|H2800CD378
-2800CD398:lI101|H2800CD388
-2800CD3A8:lI108|H2800CD398
-2800CD3B8:lI103|H2800CD3A8
-2800CD3C8:lI95|H2800CD3B8
-2800CD3D8:lI47|H2800CD3C8
-2800CD3E8:lI112|H2800CD3D8
-2800CD3F8:lI116|H2800CD3E8
-2800CD408:lI111|H2800CD3F8
-2800CD418:lI95|H2800CD408
-2800CD428:lI109|H2800CD418
-2800CD438:lI97|H2800CD428
-2800CD448:lI101|H2800CD438
-2800CD458:lI108|H2800CD448
-2800CD468:lI103|H2800CD458
-2800CD478:lI47|H2800CD468
-2800CD488:lI103|H2800CD478
-2800CD498:lI110|H2800CD488
-2800CD4A8:lI97|H2800CD498
-2800CD4B8:lI108|H2800CD4A8
-2800CD4C8:lI114|H2800CD4B8
-2800CD4D8:lI101|H2800CD4C8
-2800CD4E8:lI47|H2800CD4D8
-2800CD4F8:lI118|H2800CD4E8
-2800CD508:lI101|H2800CD4F8
-2800CD518:lI100|H2800CD508
-2800CD528:lI47|H2800CD518
-2800CD538:lI100|H2800CD528
-2800CD548:lI108|H2800CD538
-2800CD558:lI105|H2800CD548
-2800CD568:lI117|H2800CD558
-2800CD578:lI98|H2800CD568
-2800CD588:lI47|H2800CD578
-2800CD598:lI51|H2800CD588
-2800CD5A8:lI50|H2800CD598
-2800CD5B8:lI48|H2800CD5A8
-2800CD5C8:lI50|H2800CD5B8
-2800CD5D8:lI99|H2800CD5C8
-2800CD5E8:lI111|H2800CD5D8
-2800CD5F8:lI97|H2800CD5E8
-2800CD608:lI47|H2800CD5F8
-2800CD618:lI101|H2800CD608
-2800CD628:lI100|H2800CD618
-2800CD638:lI111|H2800CD628
-2800CD648:lI67|H2800CD638
-2800CD658:lI102|H2800CD648
-2800CD668:lI79|H2800CD658
-2800CD678:lI116|H2800CD668
-2800CD688:lI110|H2800CD678
-2800CD698:lI101|H2800CD688
-2800CD6A8:lI118|H2800CD698
-2800CD6B8:lI100|H2800CD6A8
-2800CD6C8:lI65|H2800CD6B8
-2800CD6D8:lI47|H2800CD6C8
-2800CD6E8:lI101|H2800CD6D8
-2800CD6F8:lI100|H2800CD6E8
-2800CD708:lI111|H2800CD6F8
-2800CD718:lI67|H2800CD708
-2800CD728:lI32|H2800CD718
-2800CD738:lI83|H2800CD728
-2800CD748:lI86|H2800CD738
-2800CD758:lI47|H2800CD748
-2800CD768:lI110|H2800CD758
-2800CD778:lI111|H2800CD768
-2800CD788:lI115|H2800CD778
-2800CD798:lI108|H2800CD788
-2800CD7A8:lI114|H2800CD798
-2800CD7B8:lI97|H2800CD7A8
-2800CD7C8:lI99|H2800CD7B8
-2800CD7D8:lI115|H2800CD7C8
-2800CD7E8:lI97|H2800CD7D8
-2800CD7F8:lI108|H2800CD7E8
-2800CD808:lI111|H2800CD7F8
-2800CD818:lI104|H2800CD808
-2800CD828:lI99|H2800CD818
-2800CD838:lI105|H2800CD828
-2800CD848:lI110|H2800CD838
-2800CD858:lI47|H2800CD848
-2800CD868:lI115|H2800CD858
-2800CD878:lI114|H2800CD868
-2800CD888:lI101|H2800CD878
-2800CD898:lI115|H2800CD888
-2800CD8A8:lI85|H2800CD898
-2800CD8B8:lI47|H2800CD8A8
-2800CD8C8:E53:g3AAAABRAaydgc7BzWhFu0HOQjKx7YoAAAAAAAAAAHcPZ2xlYW1Ab3RwQGFjdG9yYQBiBWTsDlh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-2800CD8F0:E53:g3AAAABRAaydgc7BzWhFu0HOQjKx7YoAAAABAAAAAHcPZ2xlYW1Ab3RwQGFjdG9yYQFiBWTsDlh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-2800CD918:E53:g3AAAABRAaydgc7BzWhFu0HOQjKx7YoAAAACAAAAAHcPZ2xlYW1Ab3RwQGFjdG9yYQJiBWTsDlh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-2800CD940:E53:g3AAAABRAaydgc7BzWhFu0HOQjKx7YoAAAAFAAAAAHcPZ2xlYW1Ab3RwQGFjdG9yYQViBWTsDlh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-2800CD968:E53:g3AAAABRAaydgc7BzWhFu0HOQjKx7YoAAAAGAAAAAHcPZ2xlYW1Ab3RwQGFjdG9yYQZiBWTsDlh3DW5vbm9kZUBub2hvc3QAAAAAAAAAAAAAAAA=
-280093080:t2:H280093098,A5:async
-280093098:t2:AA:logger_olp,A14:logger_std_h_default
-28008F548:t2:AC:logger_proxy,H28008F560
-28008F560:t3:AC:logger_proxy,P<0.72.0>,H28008F580
-28008F580:t2:AA:logger_olp,AC:logger_proxy
-2800930C8:t2:H2800930E0,I10
-2800930E0:t2:AD:logger_config,H2800930F8
-2800930F8:t2:A10:$handler_config$,A7:default
-28001C1F8:t2:H28001C210,H28001C228
-28001C210:t2:AB:prim_socket,A7:options
-28001C228:MhC2:10:H28001C2B8,H28001C2F8,H28001C338,H28001C380,H28001C3E0,H28001C410,H28001C460,H28001C4B0,H28001C4F8,H28001C550,H28001C598,H28001C5F0,H28001C658,H28001C6B8,H28001C710,H28001C740
-28001C2B8:Mn7:H28001C790,H28001C7A0,H28001C7B0,H28001C7C0,H28001C7D0,H28001C7E0,H28001C7F8
-28001C2F8:Mn7:H28001C808,H28001C830,H28001C840,H28001C850,H28001C860,H28001C878,H28001C888
-28001C338:Mn8:H28001C8A0,H28001C8B0,H28001C8D8,H28001C900,H28001C910,H28001C938,H28001C950,H28001C960
-28001C380:MnB:H28001C988,H28001C998,H28001C9A8,H28001C9C0,H28001C9E0,H28001CA08,H28001CA30,H28001CA48,H28001CA70,H28001CA80,H28001CA90
-28001C3E0:Mn5:H28001CAB8,H28001CAC8,H28001CAD8,H28001CB00,H28001CB20
-28001C410:Mn9:H28001CB38,H28001CB48,H28001CB58,H28001CB68,H28001CB90,H28001CBA8,H28001CBD0,H28001CBF8,H28001CC08
-28001C460:Mn9:H28001CC18,H28001CC30,H28001CC58,H28001CC70,H28001CC88,H28001CC98,H28001CCA8,H28001CCC0,H28001CCD0
-28001C4B0:Mn8:H28001CCF8,H28001CD08,H28001CD18,H28001CD28,H28001CD40,H28001CD50,H28001CD60,H28001CD78
-28001C4F8:MnA:H28001CD88,H28001CDA0,H28001CDC8,H28001CDD8,H28001CDE8,H28001CE00,H28001CE18,H28001CE28,H28001CE38,H28001CE60
-28001C550:Mn8:H28001CE88,H28001CEB0,H28001CED8,H28001CEF0,H28001CF18,H28001CF30,H28001CF40,H28001CF50
-28001C598:MnA:H28001CF60,H28001CF78,H28001CFA0,H28001CFB8,H28001CFD8,H28001D000,H28001D010,H28001D020,H28001D038,H28001D048
-28001C5F0:MnC:H28001D058,H28001D080,H28001D090,H28001D0A8,H28001D0C0,H28001D0E8,H28001D110,H28001D120,H28001D130,H28001D140,H28001D150,H28001D160
-28001C658:MnB:H28001D170,H28001D180,H28001D190,H28001D1A0,H28001D1B0,H28001D1C0,H28001D1E8,H28001D1F8,H28001D208,H28001D218,H28001D228
-28001C6B8:MnA:H28001D238,H28001D248,H28001D268,H28001D278,H28001D298,H28001D2A8,H28001D2B8,H28001D2D0,H28001D2E8,H28001D308
-28001C710:Mn5:H28001D318,H28001D330,H28001D348,H28001D370,H28001D388
-28001C740:Mn9:H28001D398,H28001D3A8,H28001D3B8,H28001D3E0,H28001D3F0,H28001D400,H28001D410,H28001D420,H28001D430
-28001C790:lH28001D440|A9:undefined
-28001C7A0:lH28001D458|A9:undefined
-28001C7B0:lH28001D470|A9:undefined
-28001C7C0:lH28001D488|A9:undefined
-28001C7D0:lH28001D4A0|A9:undefined
-28001C7E0:Mn2:H28001D4B8,H28001D4C8
-28001C7F8:lH28001D4D8|A9:undefined
-28001C808:lH28001D4F0|H28001C818
-28001C818:t2:A6:socket,I1024
-28001C830:lH28001D508|A9:undefined
-28001C840:lH28001D520|A9:undefined
-28001C850:lH28001D538|A9:undefined
-28001C860:Mn2:H28001D550,H28001D560
-28001C878:lH28001D588|A9:undefined
-28001C888:Mn2:H28001D5A0,H28001D5C8
-28001C8A0:lH28001D5F0|A9:undefined
-28001C8B0:lH28001D608|H28001C8C0
-28001C8C0:t2:I0,I4
-28001C8D8:Mn4:H28001D620,H28001D648,H28001D658,H28001D668
-28001C900:lH28001D678|A9:undefined
-28001C910:lH28001D690|H28001C920
-28001C920:t2:I0,I26
-28001C938:Mn2:H28001D6A8,H28001D6B8
-28001C950:lH28001D6C8|A9:undefined
-28001C960:lH28001D6E0|H28001C970
-28001C970:t2:A6:socket,I4099
-28001C988:lH28001D6F8|A9:undefined
-28001C998:lH28001D710|A9:undefined
-28001C9A8:Mn2:H28001D728,H28001D738
-28001C9C0:Mn3:H28001D748,H28001D770,H28001D780
-28001C9E0:lH28001D790|H28001C9F0
-28001C9F0:t2:I0,I72
-28001CA08:lH28001D7A8|H28001CA18
-28001CA18:t2:I41,I36
-28001CA30:Mn2:H28001D7C0,H28001D7D0
-28001CA48:lH28001D7F8|H28001CA58
-28001CA58:t2:I41,I27
-28001CA70:lH28001D810|A9:undefined
-28001CA80:lH28001D828|A9:undefined
-28001CA90:lH28001D840|H28001CAA0
-28001CAA0:t2:I0,I70
-28001CAB8:lH28001D858|A9:undefined
-28001CAC8:lH28001D870|A9:undefined
-28001CAD8:lH28001D888|H28001CAE8
-28001CAE8:t2:I6,I2
-28001CB00:Mn3:H28001D8A0,H28001D8B0,H28001D8D8
-28001CB20:Mn2:H28001D8E8,H28001D8F8
-28001CB38:Mn1:H28001D908
-28001CB48:lH28001D920|A9:undefined
-28001CB58:lH28001D938|A9:undefined
-28001CB68:lH28001D950|H28001CB78
-28001CB78:t2:I0,I73
-28001CB90:Mn2:H28001D968,H28001D978
-28001CBA8:lH28001D9A0|H28001CBB8
-28001CBB8:t2:A6:socket,I256
-28001CBD0:lH28001D9B8|H28001CBE0
-28001CBE0:t2:I41,I10
-28001CBF8:lH28001D9D0|A9:undefined
-28001CC08:lH28001D9E8|A9:undefined
-28001CC18:Mn2:H28001DA00,H28001DA10
-28001CC30:lH28001DA20|H28001CC40
-28001CC40:t2:I0,I3
-28001CC58:Mn2:H28001DA38,H28001DA48
-28001CC70:Mn2:H28001DA58,H28001DA68
-28001CC88:lH28001DA78|A9:undefined
-28001CC98:lH28001DA90|A9:undefined
-28001CCA8:Mn2:H28001DAA8,H28001DAB8
-28001CCC0:lH28001DAC8|A9:undefined
-28001CCD0:Mn4:H28001DAE0,H28001DAF0,H28001DB00,H28001DB10
-28001CCF8:lH28001DB20|A9:undefined
-28001CD08:lH28001DB38|H28001CA58
-28001CD18:lH28001DB50|A9:undefined
-28001CD28:Mn2:H28001DB68,H28001DB90
-28001CD40:lH28001DBA0|H28001CAA0
-28001CD50:lH28001DBB8|H28001CA18
-28001CD60:Mn2:H28001DBD0,H28001DBF8
-28001CD78:lH28001DC08|A9:undefined
-28001CD88:Mn2:H28001DC20,H28001DC30
-28001CDA0:lH28001DC40|H28001CDB0
-28001CDB0:t2:A6:socket,I8
-28001CDC8:Mn1:H28001DC58
-28001CDD8:lH28001DC70|A9:undefined
-28001CDE8:Mn2:H28001DC88,H28001DC98
-28001CE00:Mn2:H28001DCA8,H28001DCB8
-28001CE18:lH28001DCC8|A9:undefined
-28001CE28:lH28001DCE0|A9:undefined
-28001CE38:lH28001DCF8|H28001CE48
-28001CE48:t2:I0,I27
-28001CE60:lH28001DD10|H28001CE70
-28001CE70:t2:I0,I8
-28001CE88:Mn4:H28001DD28,H28001DD38,H28001DD48,H28001DD70
-28001CEB0:lH28001DD98|H28001CEC0
-28001CEC0:t2:I0,I9
-28001CED8:Mn2:H28001DDB0,H28001DDC0
-28001CEF0:lH28001DDE8|H28001CF00
-28001CF00:t2:I0,I24
-28001CF18:Mn2:H28001DE00,H28001DE10
-28001CF30:lH28001DE20|A9:undefined
-28001CF40:lH28001DE38|H28001CB78
-28001CF50:lH28001DE50|A9:undefined
-28001CF60:Mn2:H28001DE68,H28001DE78
-28001CF78:lH28001DE88|H28001CF88
-28001CF88:t2:A6:socket,I1
-28001CFA0:Mn2:H28001DEA0,H28001DEB0
-28001CFB8:Mn3:H28001DEC0,H28001DED8,H28001DEE8
-28001CFD8:lH28001DEF8|H28001CFE8
-28001CFE8:t2:I6,I1
-28001D000:lH28001DF10|A9:undefined
-28001D010:lH28001DF28|A9:undefined
-28001D020:Mn2:H28001DF40,H28001DF50
-28001D038:lH28001DF60|A9:undefined
-28001D048:lH28001DF78|A9:undefined
-28001D058:lH28001DF90|H28001D068
-28001D068:t2:I0,I13
-28001D080:lH28001DFA8|A9:undefined
-28001D090:Mn2:H28001DFC0,H28001DFD0
-28001D0A8:Mn2:H28001DFF8,H28001E008
-28001D0C0:lH28001E018|H28001D0D0
-28001D0D0:t2:I0,I10
-28001D0E8:lH28001E030|H28001D0F8
-28001D0F8:t2:A6:socket,I16
-28001D110:lH28001E048|A9:undefined
-28001D120:lH28001E060|A9:undefined
-28001D130:lH28001E078|A9:undefined
-28001D140:lH28001E090|A9:undefined
-28001D150:lH28001E0A8|A9:undefined
-28001D160:lH28001E0C0|A9:undefined
-28001D170:lH28001E0D8|A9:undefined
-28001D180:Mn1:H28001E0F0
-28001D190:lH28001E108|A9:undefined
-28001D1A0:lH28001E120|A9:undefined
-28001D1B0:lH28001E138|H28001D0D0
-28001D1C0:lH28001E150|H28001D1D0
-28001D1D0:t2:A6:socket,I2
-28001D1E8:lH28001E168|A9:undefined
-28001D1F8:lH28001E180|A9:undefined
-28001D208:lH28001E198|A9:undefined
-28001D218:Mn1:H28001E1B0
-28001D228:lH28001E1C8|A9:undefined
-28001D238:lH28001E1E0|A9:undefined
-28001D248:Mn3:H28001E1F8,H28001E208,H28001E218
-28001D268:lH28001E228|A9:undefined
-28001D278:Mn3:H28001E240,H28001E268,H28001E278
-28001D298:lH28001E288|A9:undefined
-28001D2A8:lH28001E2A0|H28001CE70
-28001D2B8:Mn2:H28001E2B8,H28001E2C8
-28001D2D0:Mn2:H28001E2D8,H28001E2E8
-28001D2E8:Mn3:H28001E2F8,H28001E320,H28001E330
-28001D308:lH28001E340|A9:undefined
-28001D318:Mn2:H28001E358,H28001E368
-28001D330:Mn2:H28001E378,H28001E388
-28001D348:lH28001E398|H28001D358
-28001D358:t2:A6:socket,I4104
-28001D370:Mn2:H28001E3B0,H28001E3C0
-28001D388:lH28001E3D0|A9:undefined
-28001D398:lH28001E3E8|A9:undefined
-28001D3A8:lH28001E400|A9:undefined
-28001D3B8:lH28001E418|H28001D3C8
-28001D3C8:t2:A6:socket,I32
-28001D3E0:lH28001E430|A9:undefined
-28001D3F0:lH28001E448|A9:undefined
-28001D400:lH28001E460|A9:undefined
-28001D410:lH28001E478|A9:undefined
-28001D420:lH28001E490|A9:undefined
-28001D430:lH28001E4A8|A9:undefined
-28001D440:t2:A3:tcp,A8:keepidle
-28001D458:t2:A3:TCP,A5:noopt
-28001D470:t2:A4:ipv6,AA:pktoptions
-28001D488:t2:A4:IPV6,AF:drop_membership
-28001D4A0:t2:A3:tcp,AC:user_timeout
-28001D4B8:lH28001E4C0|A9:undefined
-28001D4C8:lH28001E4D8|A9:undefined
-28001D4D8:t2:A4:IPV6,AB:use_min_mtu
-28001D4F0:t2:A6:socket,A9:timestamp
-28001D508:t2:A2:IP,AD:multicast_all
-28001D520:t2:A3:TCP,A6:syncnt
-28001D538:t2:A4:ipv6,AF:drop_membership
-28001D550:lH28001E4F0|A9:undefined
-28001D560:lH28001E508|H28001D570
-28001D570:t2:I0,I2
-28001D588:t2:A3:TCP,A7:keepcnt
-28001D5A0:lH28001E520|H28001D5B0
-28001D5B0:t2:I0,I20
-28001D5C8:lH28001E538|H28001D5D8
-28001D5D8:t2:A6:socket,I512
-28001D5F0:t2:A2:IP,A8:dontfrag
-28001D608:t2:A2:IP,A3:ttl
-28001D620:lH28001E550|H28001D630
-28001D630:t2:I0,I12
-28001D648:lH28001E568|A9:undefined
-28001D658:lH28001E580|H28001CBE0
-28001D668:lH28001E598|H28001C920
-28001D678:t2:A4:ipv6,AB:use_min_mtu
-28001D690:t2:A2:IP,A7:pktinfo
-28001D6A8:lH28001E5B0|A9:undefined
-28001D6B8:lH28001E5C8|A9:undefined
-28001D6C8:t2:A4:IPV6,A9:portrange
-28001D6E0:t2:A6:socket,A8:sndlowat
-28001D6F8:t2:A3:TCP,A8:keepidle
-28001D710:t2:A2:ip,A3:mtu
-28001D728:lH28001E5E0|A9:undefined
-28001D738:lH28001E5F8|A9:undefined
-28001D748:lH28001E610|H28001D758
-28001D758:t2:A6:socket,I4100
-28001D770:lH28001E628|A9:undefined
-28001D780:lH28001E640|A9:undefined
-28001D790:t2:A2:IP,AC:block_source
-28001D7A8:t2:A4:IPV6,A6:tclass
-28001D7C0:lH28001E658|A9:undefined
-28001D7D0:lH28001E670|H28001D7E0
-28001D7E0:t2:A6:socket,I4098
-28001D7F8:t2:A4:ipv6,A6:v6only
-28001D810:t2:A2:ip,A8:nodefrag
-28001D828:t2:A3:tcp,A7:keepcnt
-28001D840:t2:A2:ip,A15:add_source_membership
-28001D858:t2:A4:ipv6,AB:leave_group
-28001D870:t2:A2:ip,A6:minttl
-28001D888:t2:A3:TCP,A6:maxseg
-28001D8A0:lH28001E688|A9:undefined
-28001D8B0:lH28001E6A0|H28001D8C0
-28001D8C0:t2:I41,I4
-28001D8D8:lH28001E6B8|A9:undefined
-28001D8E8:lH28001E6D0|A9:undefined
-28001D8F8:lH28001E6E8|H28001CE48
-28001D908:Mn2:H28001E700,H28001E710
-28001D920:t2:A6:socket,AB:sndbufforce
-28001D938:t2:A4:IPV6,A5:faith
-28001D950:t2:A2:ip,AE:unblock_source
-28001D968:lH28001E720|A9:undefined
-28001D978:lH28001E738|H28001D988
-28001D988:t2:I41,I35
-28001D9A0:t2:A6:socket,A9:oobinline
-28001D9B8:t2:A4:ipv6,AE:multicast_hops
-28001D9D0:t2:A6:socket,A8:passcred
-28001D9E8:t2:A3:TCP,AA:congestion
-28001DA00:lH28001E750|A9:undefined
-28001DA10:lH28001E768|H28001C8C0
-28001DA20:t2:A2:ip,A3:tos
-28001DA38:lH28001E780|A9:undefined
-28001DA48:lH28001E798|A9:undefined
-28001DA58:lH28001E7B0|A9:undefined
-28001DA68:lH28001E7C8|A9:undefined
-28001DA78:t2:A6:socket,A6:setfib
-28001DA90:t2:A6:socket,A8:protocol
-28001DAA8:lH28001E7E0|A9:undefined
-28001DAB8:lH28001E7F8|H28001CFE8
-28001DAC8:t2:A6:socket,A8:rxq_ovfl
-28001DAE0:lH28001E810|A9:undefined
-28001DAF0:lH28001E828|A9:undefined
-28001DB00:lH28001E840|A9:undefined
-28001DB10:lH28001E858|A9:undefined
-28001DB20:t2:A6:socket,AB:rcvbufforce
-28001DB38:t2:A4:IPV6,A6:v6only
-28001DB50:t2:A4:ipv6,AB:recvpktinfo
-28001DB68:lH28001E870|H28001DB78
-28001DB78:t2:A6:socket,I4
-28001DB90:lH28001E888|H28001D630
-28001DBA0:t2:A2:IP,A15:add_source_membership
-28001DBB8:t2:A4:ipv6,A6:tclass
-28001DBD0:lH28001E8A0|H28001DBE0
-28001DBE0:t2:I0,I7
-28001DBF8:lH28001E8B8|A9:undefined
-28001DC08:t2:A4:ipv6,A7:recverr
-28001DC20:lH28001E8D0|H28001CC40
-28001DC30:lH28001E8E8|A9:undefined
-28001DC40:t2:A6:socket,A9:keepalive
-28001DC58:Mn2:H28001E900,H28001E910
-28001DC70:t2:A6:socket,AC:bindtodevice
-28001DC88:lH28001E920|H28001DBE0
-28001DC98:lH28001E938|A9:undefined
-28001DCA8:lH28001E950|A9:undefined
-28001DCB8:lH28001E968|A9:undefined
-28001DCC8:t2:A4:IPV6,A8:flowinfo
-28001DCE0:t2:A4:IPV6,A8:hoplimit
-28001DCF8:t2:A2:IP,A7:recvtos
-28001DD10:t2:A2:IP,A7:retopts
-28001DD28:lH28001E980|A9:undefined
-28001DD38:lH28001E998|A9:undefined
-28001DD48:lH28001E9B0|H28001DD58
-28001DD58:t2:I41,I11
-28001DD70:lH28001E9C8|H28001DD80
-28001DD80:t2:I0,I11
-28001DD98:t2:A2:IP,AC:multicast_if
-28001DDB0:lH28001E9E0|H28001CAE8
-28001DDC0:lH28001E9F8|H28001DDD0
-28001DDD0:t2:I0,I71
-28001DDE8:t2:A2:ip,A7:recvttl
-28001DE00:lH28001EA10|H28001D8C0
-28001DE10:lH28001EA28|H28001CF00
-28001DE20:t2:A4:ipv6,A8:checksum
-28001DE38:t2:A2:IP,AE:unblock_source
-28001DE50:t2:A4:IPV6,AC:mtu_discover
-28001DE68:lH28001EA40|A9:undefined
-28001DE78:lH28001EA58|A9:undefined
-28001DE88:t2:A6:socket,A5:debug
-28001DEA0:lH28001EA70|H28001D570
-28001DEB0:lH28001EA88|A9:undefined
-28001DEC0:Mn2:H28001EAA0,H28001EAB0
-28001DED8:lH28001EAC0|A9:undefined
-28001DEE8:lH28001EAD8|A9:undefined
-28001DEF8:t2:A3:TCP,A7:nodelay
-28001DF10:t2:A4:IPV6,AC:ipcomp_level
-28001DF28:t2:A3:tcp,A4:cork
-28001DF40:lH28001EAF0|A9:undefined
-28001DF50:lH28001EB08|H28001DD80
-28001DF60:t2:A2:IP,A8:freebind
-28001DF78:t2:A4:IPV6,AA:join_group
-28001DF90:t2:A2:ip,AF:drop_membership
-28001DFA8:t2:A3:tcp,A5:noopt
-28001DFC0:lH28001EB20|H28001CEC0
-28001DFD0:lH28001EB38|H28001DFE0
-28001DFE0:t2:I41,I9
-28001DFF8:lH28001EB50|A9:undefined
-28001E008:lH28001EB68|A9:undefined
-28001E018:t2:A2:ip,AD:multicast_ttl
-28001E030:t2:A6:socket,A9:dontroute
-28001E048:t2:A4:ipv6,AC:ipcomp_level
-28001E060:t2:A2:ip,AA:pktoptions
-28001E078:t2:A4:IPV6,AC:recvhoplimit
-28001E090:t2:A4:IPV6,AE:add_membership
-28001E0A8:t2:A2:ip,AC:router_alert
-28001E0C0:t2:A3:udp,A4:cork
-28001E0D8:t2:A2:ip,A7:options
-28001E0F0:Mn2:H28001EB80,H28001EBA8
-28001E108:t2:A4:IPV6,A7:authhdr
-28001E120:t2:A2:IP,A8:msfilter
-28001E138:t2:A2:IP,AD:multicast_ttl
-28001E150:t2:A6:socket,AA:acceptconn
-28001E168:t2:A4:ipv6,AA:join_group
-28001E180:t2:A4:ipv6,AC:mtu_discover
-28001E198:t2:A4:ipv6,AC:recvhoplimit
-28001E1B0:Mn2:H28001EBB8,H28001EBC8
-28001E1C8:t2:A6:socket,A8:sndtimeo
-28001E1E0:t2:A4:ipv6,A7:authhdr
-28001E1F8:lH28001EBD8|A9:undefined
-28001E208:lH28001EBF0|A9:undefined
-28001E218:lH28001EC08|A9:undefined
-28001E228:t2:A2:ip,A8:msfilter
-28001E240:lH28001EC20|H28001E250
-28001E250:t2:I0,I5
-28001E268:lH28001EC38|A9:undefined
-28001E278:lH28001EC50|H28001D988
-28001E288:t2:A3:tcp,A9:keepintvl
-28001E2A0:t2:A2:ip,A7:retopts
-28001E2B8:lH28001EC68|A9:undefined
-28001E2C8:lH28001EC80|A9:undefined
-28001E2D8:lH28001EC98|A9:undefined
-28001E2E8:lH28001ECB0|A9:undefined
-28001E2F8:lH28001ECC8|H28001E308
-28001E308:t2:A6:socket,I128
-28001E320:lH28001ECE0|H28001C9F0
-28001E330:lH28001ECF8|H28001D068
-28001E340:t2:A4:IPV6,AA:auth_level
-28001E358:lH28001ED10|A9:undefined
-28001E368:lH28001ED28|A9:undefined
-28001E378:lH28001ED40|H28001DD58
-28001E388:lH28001ED58|A9:undefined
-28001E398:t2:A6:socket,A4:type
-28001E3B0:lH28001ED70|A9:undefined
-28001E3C0:lH28001ED88|A9:undefined
-28001E3D0:t2:A3:TCP,A9:keepintvl
-28001E3E8:t2:A2:IP,AC:router_alert
-28001E400:t2:A2:IP,A3:mtu
-28001E418:t2:A6:socket,A9:broadcast
-28001E430:t2:A6:socket,A4:mark
-28001E448:t2:A4:ipv6,A5:rthdr
-28001E460:t2:A2:IP,AB:sendsrcaddr
-28001E478:t2:A4:ipv6,A9:portrange
-28001E490:t2:A6:socket,A6:domain
-28001E4A8:t2:A2:ip,AB:transparent
-28001E4C0:t2:A4:ipv6,AE:add_membership
-28001E4D8:t2:A3:TCP,A4:cork
-28001E4F0:t2:A4:ipv6,A5:faith
-28001E508:t2:A2:ip,A7:hdrincl
-28001E520:t2:A2:IP,A6:recvif
-28001E538:t2:A6:socket,A9:reuseport
-28001E550:t2:A2:ip,AE:add_membership
-28001E568:t2:A6:socket,A8:priority
-28001E580:t2:A4:IPV6,AE:multicast_hops
-28001E598:t2:A2:ip,A7:pktinfo
-28001E5B0:t2:A2:ip,AB:sendsrcaddr
-28001E5C8:t2:A4:IPV6,AC:router_alert
-28001E5E0:t2:A2:IP,A6:minttl
-28001E5F8:t2:A4:IPV6,A8:checksum
-28001E610:t2:A6:socket,A8:rcvlowat
-28001E628:t2:A3:tcp,A4:info
-28001E640:t2:A3:tcp,A6:md5sig
-28001E658:t2:A4:ipv6,A7:hopopts
-28001E670:t2:A6:socket,A6:rcvbuf
-28001E688:t2:A4:IPV6,A3:mtu
-28001E6A0:t2:A4:IPV6,AC:unicast_hops
-28001E6B8:t2:A4:ipv6,A8:hoplimit
-28001E6D0:t2:A2:IP,AF:recvorigdstaddr
-28001E6E8:t2:A2:ip,A7:recvtos
-28001E700:lH28001EDA0|A9:undefined
-28001E710:lH28001EDB8|A9:undefined
-28001E720:t2:A2:ip,AD:multicast_all
-28001E738:t2:A4:ipv6,AA:recvtclass
-28001E750:t2:A2:ip,A8:freebind
-28001E768:t2:A2:ip,A3:ttl
-28001E780:t2:A2:IP,A7:options
-28001E798:t2:A4:IPV6,A5:rthdr
-28001E7B0:t2:A4:ipv6,A8:addrform
-28001E7C8:t2:A6:socket,A8:rcvtimeo
-28001E7E0:t2:A2:ip,AF:recvorigdstaddr
-28001E7F8:t2:A3:tcp,A7:nodelay
-28001E810:t2:A3:TCP,A6:nopush
-28001E828:t2:A6:socket,A9:busy_poll
-28001E840:t2:A2:IP,AA:pktoptions
-28001E858:t2:A4:IPV6,AF:esp_trans_level
-28001E870:t2:A6:socket,A9:reuseaddr
-28001E888:t2:A2:IP,AE:add_membership
-28001E8A0:t2:A2:ip,AB:recvdstaddr
-28001E8B8:t2:A2:ip,A8:dontfrag
-28001E8D0:t2:A2:IP,A3:tos
-28001E8E8:t2:A4:ipv6,AF:esp_trans_level
-28001E900:lH28001EDD0|H28001E250
-28001E910:lH28001EDE8|A9:undefined
-28001E920:t2:A2:IP,AB:recvdstaddr
-28001E938:t2:A2:IP,A7:recverr
-28001E950:t2:A2:IP,A8:nodefrag
-28001E968:t2:A3:UDP,A4:cork
-28001E980:t2:A4:IPV6,A7:hopopts
-28001E998:t2:A4:IPV6,AB:recvpktinfo
-28001E9B0:t2:A4:IPV6,AE:multicast_loop
-28001E9C8:t2:A2:IP,AE:multicast_loop
-28001E9E0:t2:A3:tcp,A6:maxseg
-28001E9F8:t2:A2:IP,A16:drop_source_membership
-28001EA10:t2:A4:ipv6,AC:unicast_hops
-28001EA28:t2:A2:IP,A7:recvttl
-28001EA40:t2:A4:IPV6,A8:addrform
-28001EA58:t2:A4:IPV6,A7:dstopts
-28001EA70:t2:A2:IP,A7:hdrincl
-28001EA88:t2:A3:tcp,A6:syncnt
-28001EAA0:lH28001EE00|H28001DFE0
-28001EAB0:lH28001EE18|H28001DDD0
-28001EAC0:t2:A4:ipv6,A8:flowinfo
-28001EAD8:t2:A2:ip,AC:mtu_discover
-28001EAF0:t2:A6:socket,A8:peek_off
-28001EB08:t2:A2:ip,AE:multicast_loop
-28001EB20:t2:A2:ip,AC:multicast_if
-28001EB38:t2:A4:ipv6,AC:multicast_if
-28001EB50:t2:A4:ipv6,AA:auth_level
-28001EB68:t2:A4:IPV6,A11:esp_network_level
-28001EB80:lH28001EE30|H28001EB90
-28001EB90:t2:A6:socket,I4097
-28001EBA8:lH28001EE48|H28001D5B0
-28001EBB8:lH28001EE60|A9:undefined
-28001EBC8:lH28001EE78|A9:undefined
-28001EBD8:t2:A6:socket,A8:peercred
-28001EBF0:t2:A3:TCP,AC:user_timeout
-28001EC08:t2:A4:ipv6,A7:dstopts
-28001EC20:t2:A2:IP,A8:recvopts
-28001EC38:t2:A4:IPV6,A7:recverr
-28001EC50:t2:A4:IPV6,AA:recvtclass
-28001EC68:t2:A2:IP,AC:mtu_discover
-28001EC80:t2:A3:tcp,A6:nopush
-28001EC98:t2:A2:ip,A7:recverr
-28001ECB0:t2:A3:TCP,A4:info
-28001ECC8:t2:A6:socket,A6:linger
-28001ECE0:t2:A2:ip,AC:block_source
-28001ECF8:t2:A2:IP,AF:drop_membership
-28001ED10:t2:A2:IP,AB:transparent
-28001ED28:t2:A4:IPV6,AB:leave_group
-28001ED40:t2:A4:ipv6,AE:multicast_loop
-28001ED58:t2:A3:tcp,AA:congestion
-28001ED70:t2:A4:IPV6,AA:pktoptions
-28001ED88:t2:A4:ipv6,A11:esp_network_level
-28001EDA0:t2:A4:ipv6,AC:router_alert
-28001EDB8:t2:A3:TCP,A6:md5sig
-28001EDD0:t2:A2:ip,A8:recvopts
-28001EDE8:t2:A4:ipv6,A3:mtu
-28001EE00:t2:A4:IPV6,AC:multicast_if
-28001EE18:t2:A2:ip,A16:drop_source_membership
-28001EE30:t2:A6:socket,A6:sndbuf
-28001EE48:t2:A2:ip,A6:recvif
-28001EE60:t2:A6:socket,A5:error
-28001EE78:t2:A6:socket,AC:acceptfilter
-280093128:t2:H280093140,A9:undefined
-280093140:t2:AD:logger_config,H280093158
-280093158:t2:A10:$handler_config$,A6:simple
-28007FBD8:t2:AC:global_group,H28007FBF0
-28007FBF0:t9:A5:gconf,A9:undefined,AD:nonode@nohost,N,A6:normal,N,A3:all,N,A7:no_conf
-280017DC0:t2:H280017DD8,H280017DF0
-280017DD8:t2:AB:prim_socket,A9:protocols
-280017DF0:Mh1A6:10:H280017E80,H280017EF0,H280017F68,H280017FD0,H280018040,H2800180A8,H280018120,H280018188,H2800181D8,H280018248,H2800182C0,H280018330,H2800183A0,H280018418,H280018480,H2800184F0
-280017E80:MnD:H280018568,H280018588,H2800185A0,H2800185D0,H2800185F0,H280018608,H280018620,H280018638,H280018648,H280018658,H280018668,H280018680,H2800186A0
-280017EF0:MnE:H2800186B8,H2800186D0,H2800186E8,H280018710,H280018720,H280018750,H280018760,H280018778,H280018798,H2800187A8,H2800187B8,H2800187D8,H2800187F0,H280018800
-280017F68:MnC:H280018810,H280018820,H280018840,H280018868,H280018880,H280018890,H2800188A8,H2800188C0,H2800188E0,H2800188F8,H280018920,H280018930
-280017FD0:MnD:H280018948,H280018958,H280018978,H280018998,H2800189B0,H2800189D0,H2800189E8,H2800189F8,H280018A10,H280018A30,H280018A40,H280018A50,H280018A70
-280018040:MnC:H280018A88,H280018AA0,H280018AB8,H280018AD8,H280018AE8,H280018AF8,H280018B18,H280018B30,H280018B40,H280018B70,H280018BA0,H280018BB8
-2800180A8:MnE:H280018BE0,H280018BF8,H280018C20,H280018C48,H280018C70,H280018C80,H280018C90,H280018CA8,H280018CB8,H280018CD0,H280018CE8,H280018D10,H280018D30,H280018D48
-280018120:MnC:H280018D68,H280018D88,H280018DA8,H280018DB8,H280018DD8,H280018DE8,H280018DF8,H280018E08,H280018E20,H280018E38,H280018E68,H280018E80
-280018188:Mn9:H280018EB0,H280018EC0,H280018ED8,H280018EF0,H280018F00,H280018F10,H280018F30,H280018F48,H280018F60
-2800181D8:MnD:H280018F88,H280018F98,H280018FA8,H280018FC0,H280018FE0,H280019008,H280019038,H280019048,H280019060,H280019078,H280019088,H280019098,H2800190A8
-280018248:MnE:H2800190B8,H2800190D8,H2800190E8,H2800190F8,H280019108,H280019128,H280019138,H280019150,H280019160,H280019178,H280019198,H2800191A8,H2800191B8,H2800191D0
-2800182C0:MnD:H2800191E0,H2800191F8,H280019220,H280019250,H280019268,H280019290,H2800192A8,H2800192C8,H2800192D8,H2800192E8,H2800192F8,H280019310,H280019328
-280018330:MnD:H280019338,H280019350,H280019380,H280019390,H2800193C0,H2800193E0,H2800193F8,H280019418,H280019428,H280019448,H280019468,H280019480,H280019498
-2800183A0:MnE:H2800194C8,H2800194E0,H280019500,H280019518,H280019530,H280019548,H280019558,H280019578,H2800195A8,H2800195E8,H280019600,H280019618,H280019630,H280019650
-280018418:MnC:H280019660,H280019678,H280019688,H2800196B8,H2800196D0,H2800196E0,H2800196F8,H280019710,H280019730,H280019750,H280019760,H280019770
-280018480:MnD:H280019780,H280019798,H2800197A8,H2800197C8,H2800197E8,H280019818,H280019830,H280019860,H280019870,H280019880,H2800198B0,H2800198E0,H280019910
-2800184F0:MnE:H280019930,H280019950,H280019968,H280019980,H280019990,H2800199A8,H2800199C0,H2800199D0,H2800199F8,H280019A10,H280019A30,H280019A50,H280019A60,H280019A80
-280018568:Mn3:H280019A90,H280019AA0,H280019AD0
-280018588:Mn2:H280019AE0,H280019AF0
-2800185A0:lI50|H2800185B0
-2800185B0:lA3:esp|H2800185C0
-2800185C0:lA3:ESP|N
-2800185D0:Mn3:H280019B00,H280019B30,H280019B40
-2800185F0:Mn2:H280019B50,H280019B80
-280018608:Mn2:H280019BB0,H280019BC0
-280018620:Mn2:H280019BD0,H280019BE0
-280018638:lA3:mux|I18
-280018648:lA3:pvp|I75
-280018658:lA3:rvd|I66
-280018668:Mn2:H280019BF0,H280019C20
-280018680:Mn3:H280019C30,H280019C40,H280019C50
-2800186A0:Mn2:H280019C80,H280019C90
-2800186B8:Mn2:H280019CA0,H280019CB0
-2800186D0:Mn2:H280019CC0,H280019CF0
-2800186E8:Mn4:H280019D00,H280019D10,H280019D20,H280019D30
-280018710:lA5:manet|I138
-280018720:lI64|H280018730
-280018730:lA9:sat-expak|H280018740
-280018740:lA9:SAT-EXPAK|N
-280018750:lA6:MOBILE|I55
-280018760:Mn2:H280019D60,H280019D70
-280018778:Mn3:H280019DA0,H280019DB0,H280019DC0
-280018798:lA4:IGMP|I2
-2800187A8:lAB:SECURE-VMTP|I82
-2800187B8:Mn3:H280019DD0,H280019E00,H280019E10
-2800187D8:Mn2:H280019E40,H280019E50
-2800187F0:lA2:ah|I51
-280018800:lAA:br-sat-mon|I76
-280018810:lA4:IDPR|I35
-280018820:Mn3:H280019E60,H280019E70,H280019EA0
-280018840:Mn4:H280019EB0,H280019EC0,H280019EF0,H280019F00
-280018868:Mn2:H280019F30,H280019F40
-280018880:Mn1:H280019F50
-280018890:Mn2:H280019F68,H280019F78
-2800188A8:Mn2:H280019FA8,H280019FB8
-2800188C0:Mn3:H280019FE8,H28001A018,H28001A028
-2800188E0:Mn2:H28001A058,H28001A088
-2800188F8:Mn4:H28001A098,H28001A0A8,H28001A0B8,H28001A0C8
-280018920:lA3:hmp|I20
-280018930:Mn2:H28001A0E0,H28001A110
-280018948:Mn1:H28001A140
-280018958:Mn3:H28001A150,H28001A180,H28001A190
-280018978:Mn3:H28001A1C0,H28001A1D0,H28001A200
-280018998:Mn2:H28001A230,H28001A240
-2800189B0:Mn3:H28001A250,H28001A280,H28001A290
-2800189D0:Mn2:H28001A2A0,H28001A2B8
-2800189E8:lA3:TCF|I87
-2800189F8:Mn2:H28001A2C8,H28001A2F8
-280018A10:Mn3:H28001A328,H28001A338,H28001A348
-280018A30:lA3:xtp|I36
-280018A40:lA5:ENCAP|I98
-280018A50:Mn3:H28001A360,H28001A370,H28001A388
-280018A70:Mn2:H28001A3B8,H28001A3C8
-280018A88:Mn2:H28001A3D8,H28001A408
-280018AA0:Mn2:H28001A438,H28001A468
-280018AB8:Mn3:H28001A498,H28001A4A8,H28001A4D8
-280018AD8:lA3:BNA|I49
-280018AE8:lA3:TCP|I6
-280018AF8:Mn3:H28001A4E8,H28001A518,H28001A528
-280018B18:Mn2:H28001A538,H28001A548
-280018B30:lA7:MFE-NSP|I31
-280018B40:lI106|H280018B50
-280018B50:lA3:qnx|H280018B60
-280018B60:lA3:QNX|N
-280018B70:lI9|H280018B80
-280018B80:lA3:igp|H280018B90
-280018B90:lA3:IGP|N
-280018BA0:Mn2:H28001A558,H28001A588
-280018BB8:Mn4:H28001A598,H28001A5A8,H28001A5D8,H28001A5E8
-280018BE0:Mn2:H28001A5F8,H28001A628
-280018BF8:Mn4:H28001A638,H28001A648,H28001A658,H28001A668
-280018C20:Mn4:H28001A678,H28001A688,H28001A6B8,H28001A6C8
-280018C48:Mn4:H28001A6D8,H28001A6E8,H28001A6F8,H28001A728
-280018C70:lA4:vmtp|I81
-280018C80:lA9:idpr-cmtp|I38
-280018C90:Mn2:H28001A738,H28001A768
-280018CA8:lA7:iso-tp4|I29
-280018CB8:Mn2:H28001A798,H28001A7A8
-280018CD0:Mn2:H28001A7B8,H28001A7C8
-280018CE8:Mn4:H28001A7F8,H28001A808,H28001A820,H28001A830
-280018D10:Mn3:H28001A860,H28001A870,H28001A8A0
-280018D30:Mn2:H28001A8D0,H28001A8E0
-280018D48:Mn3:H28001A910,H28001A920,H28001A930
-280018D68:Mn3:H28001A940,H28001A958,H28001A970
-280018D88:Mn3:H28001A980,H28001A990,H28001A9A0
-280018DA8:lA3:UTI|I120
-280018DB8:Mn3:H28001A9B8,H28001A9C8,H28001A9F8
-280018DD8:lAB:compaq-peer|I110
-280018DE8:lA9:IPV6-ICMP|I58
-280018DF8:lA5:chaos|I16
-280018E08:Mn2:H28001AA08,H28001AA38
-280018E20:Mn2:H28001AA48,H28001AA78
-280018E38:lI142|H280018E48
-280018E48:lA4:rohc|H280018E58
-280018E58:lA4:ROHC|N
-280018E68:Mn2:H28001AAA8,H28001AAD8
-280018E80:lI56|H280018E90
-280018E90:lA4:tlsp|H280018EA0
-280018EA0:lA4:TLSP|N
-280018EB0:lA3:tcp|I6
-280018EC0:Mn2:H28001AB08,H28001AB18
-280018ED8:Mn2:H28001AB28,H28001AB38
-280018EF0:lAB:Compaq-Peer|I110
-280018F00:lAF:Mobility-Header|I135
-280018F10:Mn3:H28001AB48,H28001AB58,H28001AB68
-280018F30:Mn2:H28001AB78,H28001AB88
-280018F48:Mn2:H28001AB98,H28001ABA8
-280018F60:Mn4:H28001ABB8,H28001ABE8,H28001AC00,H28001AC30
-280018F88:Mn1:H28001AC40
-280018F98:lA4:IRTP|I28
-280018FA8:Mn2:H28001AC58,H28001AC68
-280018FC0:Mn3:H28001AC78,H28001AC88,H28001AC98
-280018FE0:Mn4:H28001ACA8,H28001ACD8,H28001ACE8,H28001ACF8
-280019008:lI45|H280019018
-280019018:lA4:idrp|H280019028
-280019028:lA4:IDRP|N
-280019038:lA4:ROHC|I142
-280019048:Mn2:H28001AD08,H28001AD18
-280019060:Mn2:H28001AD48,H28001AD58
-280019078:Mn1:H28001AD70
-280019088:lA3:RVD|I66
-280019098:lA7:mfe-nsp|I31
-2800190A8:lA4:PNNI|I102
-2800190B8:Mn3:H28001AD88,H28001AD98,H28001ADA8
-2800190D8:lA4:tlsp|I56
-2800190E8:lA3:CBT|I7
-2800190F8:Mn1:H28001ADB8
-280019108:Mn3:H28001ADD0,H28001ADE0,H28001AE10
-280019128:lA3:DGP|I86
-280019138:Mn2:H28001AE20,H28001AE30
-280019150:lA6:ipcomp|I108
-280019160:Mn2:H28001AE60,H28001AE70
-280019178:Mn3:H28001AE88,H28001AE98,H28001AEC8
-280019198:lA4:sdrp|I42
-2800191A8:Mn1:H28001AEF8
-2800191B8:Mn2:H28001AF10,H28001AF20
-2800191D0:lA3:mtp|I92
-2800191E0:Mn2:H28001AF50,H28001AF80
-2800191F8:Mn4:H28001AF90,H28001AFC0,H28001AFD8,H28001B008
-280019220:lI2|H280019230
-280019230:lA4:igmp|H280019240
-280019240:lA4:IGMP|N
-280019250:Mn2:H28001B018,H28001B030
-280019268:Mn4:H28001B048,H28001B078,H28001B0A8,H28001B0B8
-280019290:Mn2:H28001B0E8,H28001B0F8
-2800192A8:Mn3:H28001B108,H28001B118,H28001B128
-2800192C8:lA6:I-NLSP|I52
-2800192D8:lA4:VISA|I70
-2800192E8:lA4:larp|I91
-2800192F8:Mn2:H28001B140,H28001B170
-280019310:Mn2:H28001B1A0,H28001B1B0
-280019328:lA4:IPV6|I41
-280019338:Mn2:H28001B1E0,H28001B210
-280019350:lI32|H280019360
-280019360:lA9:merit-inp|H280019370
-280019370:lA9:MERIT-INP|N
-280019380:lA4:idrp|I45
-280019390:Mn5:H28001B220,H28001B230,H28001B240,H28001B250,H28001B260
-2800193C0:Mn3:H28001B270,H28001B280,H28001B2B0
-2800193E0:Mn2:H28001B2F0,H28001B320
-2800193F8:Mn3:H28001B330,H28001B340,H28001B370
-280019418:lA7:bbn-rcc|I10
-280019428:Mn3:H28001B380,H28001B390,H28001B3C0
-280019448:Mn3:H28001B3F0,H28001B400,H28001B430
-280019468:Mn2:H28001B440,H28001B450
-280019480:Mn2:H28001B460,H28001B490
-280019498:lI30|H2800194A8
-2800194A8:lA6:netblt|H2800194B8
-2800194B8:lA6:NETBLT|N
-2800194C8:Mn2:H28001B4A0,H28001B4D0
-2800194E0:Mn3:H28001B500,H28001B510,H28001B540
-280019500:Mn2:H28001B550,H28001B560
-280019518:Mn2:H28001B570,H28001B580
-280019530:Mn2:H28001B5B0,H28001B5C0
-280019548:lA9:MERIT-INP|I32
-280019558:Mn3:H28001B5D0,H28001B5E0,H28001B610
-280019578:lI6|H280019588
-280019588:lA3:tcp|H280019598
-280019598:lA3:TCP|N
-2800195A8:lI112|H2800195B8
-2800195B8:lA4:carp|H2800195C8
-2800195C8:lA4:vrrp|H2800195D8
-2800195D8:lA4:CARP|N
-2800195E8:Mn2:H28001B620,H28001B650
-280019600:Mn2:H28001B680,H28001B6B0
-280019618:Mn2:H28001B6C0,H28001B6D0
-280019630:Mn3:H28001B6E0,H28001B710,H28001B720
-280019650:lA5:EMCON|I14
-280019660:Mn2:H28001B750,H28001B760
-280019678:lA6:leaf-1|I25
-280019688:lI116|H280019698
-280019698:lA3:ddx|H2800196A8
-2800196A8:lA3:DDX|N
-2800196B8:Mn2:H28001B770,H28001B7A0
-2800196D0:lA3:QNX|I106
-2800196E0:Mn2:H28001B7B0,H28001B7E0
-2800196F8:Mn2:H28001B7F0,H28001B820
-280019710:Mn3:H28001B830,H28001B840,H28001B850
-280019730:Mn3:H28001B860,H28001B890,H28001B8C0
-280019750:lA7:OSPFIGP|I89
-280019760:lA4:skip|I57
-280019770:Mn1:H28001B8D0
-280019780:Mn2:H28001B8E8,H28001B8F8
-280019798:lA3:smp|I121
-2800197A8:Mn3:H28001B908,H28001B938,H28001B968
-2800197C8:Mn3:H28001B978,H28001B990,H28001B9A8
-2800197E8:lI52|H2800197F8
-2800197F8:lA6:i-nlsp|H280019808
-280019808:lA6:I-NLSP|N
-280019818:Mn2:H28001B9B8,H28001B9E8
-280019830:lI49|H280019840
-280019840:lA3:bna|H280019850
-280019850:lA3:BNA|N
-280019860:lA3:ddx|I116
-280019870:lAA:BR-SAT-MON|I76
-280019880:lI38|H280019890
-280019890:lA9:idpr-cmtp|H2800198A0
-2800198A0:lA9:IDPR-CMTP|N
-2800198B0:lI134|H2800198C0
-2800198C0:lAF:rsvp-e2e-ignore|H2800198D0
-2800198D0:lAF:RSVP-E2E-IGNORE|N
-2800198E0:lI118|H2800198F0
-2800198F0:lA3:stp|H280019900
-280019900:lA3:STP|N
-280019910:Mn3:H28001B9F8,H28001BA08,H28001BA18
-280019930:Mn3:H28001BA48,H28001BA58,H28001BA88
-280019950:Mn2:H28001BAB8,H28001BAC8
-280019968:Mn2:H28001BAF8,H28001BB08
-280019980:lA5:VINES|I83
-280019990:Mn2:H28001BB18,H28001BB48
-2800199A8:Mn2:H28001BB58,H28001BB88
-2800199C0:lA5:swipe|I53
-2800199D0:Mn4:H28001BBB8,H28001BBE8,H28001BBF8,H28001BC28
-2800199F8:Mn2:H28001BC58,H28001BC68
-280019A10:Mn3:H28001BC78,H28001BC88,H28001BC98
-280019A30:Mn3:H28001BCA8,H28001BCB8,H28001BCC8
-280019A50:lA5:ax.25|I93
-280019A60:Mn3:H28001BCD8,H28001BCE8,H28001BCF8
-280019A80:lAA:ipv6-nonxt|I59
-280019A90:lA3:pup|I12
-280019AA0:lI65|H280019AB0
-280019AB0:lA9:kryptolan|H280019AC0
-280019AC0:lA9:KRYPTOLAN|N
-280019AD0:lA5:crudp|I127
-280019AE0:lA3:MUX|I18
-280019AF0:lA4:GMTP|I100
-280019B00:lI36|H280019B10
-280019B10:lA3:xtp|H280019B20
-280019B20:lA3:XTP|N
-280019B30:lA4:crtp|I126
-280019B40:lA3:gre|I47
-280019B50:lI137|H280019B60
-280019B60:lAA:mpls-in-ip|H280019B70
-280019B70:lAA:MPLS-IN-IP|N
-280019B80:lI4|H280019B90
-280019B90:lA7:ipencap|H280019BA0
-280019BA0:lA8:IP-ENCAP|N
-280019BB0:lA7:xns-idp|I22
-280019BC0:lA3:ddp|I37
-280019BD0:lA9:IPV6-OPTS|I60
-280019BE0:lA5:AX.25|I93
-280019BF0:lI126|H280019C00
-280019C00:lA4:crtp|H280019C10
-280019C10:lA4:CRTP|N
-280019C20:lA4:pnni|I102
-280019C30:lA7:ipencap|I4
-280019C40:lA4:gmtp|I100
-280019C50:lI136|H280019C60
-280019C60:lA7:udplite|H280019C70
-280019C70:lA7:UDPLite|N
-280019C80:lAA:nsfnet-igp|I85
-280019C90:lA3:egp|I8
-280019CA0:lA3:SPS|I130
-280019CB0:lA5:CRUDP|I127
-280019CC0:lI25|H280019CD0
-280019CD0:lA6:leaf-1|H280019CE0
-280019CE0:lA6:LEAF-1|N
-280019CF0:lA3:udp|I17
-280019D00:lA2:IL|I40
-280019D10:lA4:RSVP|I46
-280019D20:lA4:MICP|I95
-280019D30:lI39|H280019D40
-280019D40:lA4:tp++|H280019D50
-280019D50:lA4:TP++|N
-280019D60:lA3:PGM|I113
-280019D70:lI109|H280019D80
-280019D80:lA3:snp|H280019D90
-280019D90:lA3:SNP|N
-280019DA0:lA4:cftp|I62
-280019DB0:lA7:trunk-1|I23
-280019DC0:lA3:stp|I118
-280019DD0:lI95|H280019DE0
-280019DE0:lA4:micp|H280019DF0
-280019DF0:lA4:MICP|N
-280019E00:lA4:irtp|I28
-280019E10:lI101|H280019E20
-280019E20:lA4:ifmp|H280019E30
-280019E30:lA4:IFMP|N
-280019E40:lA3:uti|I120
-280019E50:lA4:SCTP|I132
-280019E60:lA4:fire|I125
-280019E70:lI130|H280019E80
-280019E80:lA3:sps|H280019E90
-280019E90:lA3:SPS|N
-280019EA0:lA4:IPLT|I129
-280019EB0:lA9:ipv6-frag|I44
-280019EC0:lI131|H280019ED0
-280019ED0:lA4:pipe|H280019EE0
-280019EE0:lA4:PIPE|N
-280019EF0:lA6:LEAF-1|I25
-280019F00:lI62|H280019F10
-280019F10:lA4:cftp|H280019F20
-280019F20:lA4:CFTP|N
-280019F30:lA4:rsvp|I46
-280019F40:lA4:IDRP|I45
-280019F50:Mn2:H28001BD08,H28001BD38
-280019F68:lA2:ip|I0
-280019F78:lI141|H280019F88
-280019F88:lA4:wesp|H280019F98
-280019F98:lA4:WESP|N
-280019FA8:lA4:IPIP|I94
-280019FB8:lI132|H280019FC8
-280019FC8:lA4:sctp|H280019FD8
-280019FD8:lA4:SCTP|N
-280019FE8:lI43|H280019FF8
-280019FF8:lAA:ipv6-route|H28001A008
-28001A008:lAA:IPV6-ROUTE|N
-28001A018:lA6:mobile|I55
-28001A028:lI105|H28001A038
-28001A038:lA4:scps|H28001A048
-28001A048:lA4:SCPS|N
-28001A058:lI59|H28001A068
-28001A068:lAA:ipv6-nonxt|H28001A078
-28001A078:lAA:IPV6-NONXT|N
-28001A088:lA3:A/N|I107
-28001A098:lA3:igp|I9
-28001A0A8:lA4:CFTP|I62
-28001A0B8:lA7:trunk-2|I24
-28001A0C8:Mn2:H28001BD48,H28001BD78
-28001A0E0:lI87|H28001A0F0
-28001A0F0:lA3:tcf|H28001A100
-28001A100:lA3:TCF|N
-28001A110:lI51|H28001A120
-28001A120:lA2:ah|H28001A130
-28001A130:lA2:AH|N
-28001A140:Mn1:H28001BDA8
-28001A150:lI110|H28001A160
-28001A160:lAB:compaq-peer|H28001A170
-28001A170:lAB:Compaq-Peer|N
-28001A180:lA4:CARP|I112
-28001A190:lI1|H28001A1A0
-28001A1A0:lA4:icmp|H28001A1B0
-28001A1B0:lA4:ICMP|N
-28001A1C0:lA3:HMP|I20
-28001A1D0:lI107|H28001A1E0
-28001A1E0:lA3:a/n|H28001A1F0
-28001A1F0:lA3:A/N|N
-28001A200:lI128|H28001A210
-28001A210:lA8:sscopmce|H28001A220
-28001A220:lA8:SSCOPMCE|N
-28001A230:lA6:scc-sp|I96
-28001A240:lA8:SSCOPMCE|I128
-28001A250:lI70|H28001A260
-28001A260:lA4:visa|H28001A270
-28001A270:lA4:VISA|N
-28001A280:lA4:icmp|I1
-28001A290:lA6:iso-ip|I80
-28001A2A0:Mn2:H28001BDC0,H28001BDF0
-28001A2B8:lA3:XTP|I36
-28001A2C8:lI46|H28001A2D8
-28001A2D8:lA4:rsvp|H28001A2E8
-28001A2E8:lA4:RSVP|N
-28001A2F8:lI77|H28001A308
-28001A308:lA6:sun-nd|H28001A318
-28001A318:lA6:SUN-ND|N
-28001A328:lA3:snp|I109
-28001A338:lA4:NARP|I54
-28001A348:Mn2:H28001BE00,H28001BE30
-28001A360:lA4:iplt|I129
-28001A370:Mn2:H28001BE60,H28001BE70
-28001A388:lI10|H28001A398
-28001A398:lA7:bbn-rcc|H28001A3A8
-28001A3A8:lAB:BBN-RCC-MON|N
-28001A3B8:lA9:kryptolan|I65
-28001A3C8:lA6:leaf-2|I26
-28001A3D8:lI124|H28001A3E8
-28001A3E8:lA4:isis|H28001A3F8
-28001A3F8:lA4:ISIS|N
-28001A408:lI48|H28001A418
-28001A418:lA3:dsr|H28001A428
-28001A428:lA3:DSR|N
-28001A438:lI103|H28001A448
-28001A448:lA3:pim|H28001A458
-28001A458:lA3:PIM|N
-28001A468:lI7|H28001A478
-28001A478:lA3:cbt|H28001A488
-28001A488:lA3:CBT|N
-28001A498:lA4:VMTP|I81
-28001A4A8:lI138|H28001A4B8
-28001A4B8:lA5:manet|H28001A4C8
-28001A4C8:lA5:MANET|N
-28001A4D8:lA4:WESP|I141
-28001A4E8:lI71|H28001A4F8
-28001A4F8:lA4:ipcv|H28001A508
-28001A508:lA4:IPCV|N
-28001A518:lA3:ggp|I3
-28001A528:lA4:tp++|I39
-28001A538:lA3:rdp|I27
-28001A548:lA3:IGP|I9
-28001A558:lI258|H28001A568
-28001A568:lA6:divert|H28001A578
-28001A578:lA6:DIVERT|N
-28001A588:lA3:PTP|I123
-28001A598:lA6:wb-mon|I78
-28001A5A8:lI11|H28001A5B8
-28001A5B8:lA3:nvp|H28001A5C8
-28001A5C8:lA6:NVP-II|N
-28001A5D8:lA5:argus|I13
-28001A5E8:lA4:xnet|I15
-28001A5F8:lI12|H28001A608
-28001A608:lA3:pup|H28001A618
-28001A618:lA3:PUP|N
-28001A628:lA4:ifmp|I101
-28001A638:lA3:3pc|I34
-28001A648:lA6:DIVERT|I258
-28001A658:lA3:PUP|I12
-28001A668:lAF:mobility-header|I135
-28001A678:lA4:idpr|I35
-28001A688:lI28|H28001A698
-28001A698:lA4:irtp|H28001A6A8
-28001A6A8:lA4:IRTP|N
-28001A6B8:lAB:secure-vmtp|I82
-28001A6C8:lA3:prm|I21
-28001A6D8:lA3:EGP|I8
-28001A6E8:lA3:cbt|I7
-28001A6F8:lI47|H28001A708
-28001A708:lA3:gre|H28001A718
-28001A718:lA3:GRE|N
-28001A728:lAA:sprite-rpc|I90
-28001A738:lI89|H28001A748
-28001A748:lA4:ospf|H28001A758
-28001A758:lA7:OSPFIGP|N
-28001A768:lI24|H28001A778
-28001A778:lA7:trunk-2|H28001A788
-28001A788:lA7:TRUNK-2|N
-28001A798:lA2:IP|I0
-28001A7A8:lA4:ICMP|I1
-28001A7B8:lA5:MANET|I138
-28001A7C8:lI13|H28001A7D8
-28001A7D8:lA5:argus|H28001A7E8
-28001A7E8:lA5:ARGUS|N
-28001A7F8:lA6:pfsync|I240
-28001A808:Mn2:H28001BE80,H28001BE90
-28001A820:lA6:SUN-ND|I77
-28001A830:lI94|H28001A840
-28001A840:lA4:ipip|H28001A850
-28001A850:lA4:IPIP|N
-28001A860:lA3:tcf|I87
-28001A870:lI3|H28001A880
-28001A880:lA3:ggp|H28001A890
-28001A890:lA3:GGP|N
-28001A8A0:lI18|H28001A8B0
-28001A8B0:lA3:mux|H28001A8C0
-28001A8C0:lA3:MUX|N
-28001A8D0:lA4:l2tp|I115
-28001A8E0:lI113|H28001A8F0
-28001A8F0:lA3:pgm|H28001A900
-28001A900:lA3:PGM|N
-28001A910:lA3:SMP|I121
-28001A920:lA8:wb-expak|I79
-28001A930:lA7:SAT-MON|I69
-28001A940:Mn2:H28001BEA0,H28001BEB0
-28001A958:Mn2:H28001BEC0,H28001BED0
-28001A970:lA9:KRYPTOLAN|I65
-28001A980:lA7:udplite|I136
-28001A990:lA3:DDP|I37
-28001A9A0:Mn2:H28001BEE0,H28001BEF0
-28001A9B8:lA3:TTP|I84
-28001A9C8:lI29|H28001A9D8
-28001A9D8:lA7:iso-tp4|H28001A9E8
-28001A9E8:lA7:ISO-TP4|N
-28001A9F8:lA2:AH|I51
-28001AA08:lI72|H28001AA18
-28001AA18:lA4:cpnx|H28001AA28
-28001AA28:lA4:CPNX|N
-28001AA38:lA4:LARP|I91
-28001AA48:lI53|H28001AA58
-28001AA58:lA5:swipe|H28001AA68
-28001AA68:lA5:SWIPE|N
-28001AA78:lI135|H28001AA88
-28001AA88:lAF:mobility-header|H28001AA98
-28001AA98:lAF:Mobility-Header|N
-28001AAA8:lI69|H28001AAB8
-28001AAB8:lA7:sat-mon|H28001AAC8
-28001AAC8:lA7:SAT-MON|N
-28001AAD8:lI120|H28001AAE8
-28001AAE8:lA3:uti|H28001AAF8
-28001AAF8:lA3:UTI|N
-28001AB08:lAA:IPV6-ROUTE|I43
-28001AB18:lA4:carp|I112
-28001AB28:lA7:UDPLite|I136
-28001AB38:lA4:ARIS|I104
-28001AB48:lAA:MPLS-IN-IP|I137
-28001AB58:lA7:XNS-IDP|I22
-28001AB68:lA3:sps|I130
-28001AB78:lA7:TRUNK-1|I23
-28001AB88:lA4:IATP|I117
-28001AB98:lA4:igmp|I2
-28001ABA8:lA3:ptp|I123
-28001ABB8:lI42|H28001ABC8
-28001ABC8:lA4:sdrp|H28001ABD8
-28001ABD8:lA4:SDRP|N
-28001ABE8:Mn2:H28001BF00,H28001BF10
-28001AC00:lI76|H28001AC10
-28001AC10:lAA:br-sat-mon|H28001AC20
-28001AC20:lAA:BR-SAT-MON|N
-28001AC30:lAA:IPV6-NONXT|I59
-28001AC40:Mn2:H28001BF20,H28001BF30
-28001AC58:lA4:L2TP|I115
-28001AC68:lA3:WSN|I74
-28001AC78:lA3:GRE|I47
-28001AC88:lA4:vrrp|I112
-28001AC98:lA6:divert|I258
-28001ACA8:lI98|H28001ACB8
-28001ACB8:lA5:encap|H28001ACC8
-28001ACC8:lA5:ENCAP|N
-28001ACD8:lA6:i-nlsp|I52
-28001ACE8:lA4:sctp|I132
-28001ACF8:lA5:encap|I98
-28001AD08:lA4:visa|I70
-28001AD18:lI26|H28001AD28
-28001AD28:lA6:leaf-2|H28001AD38
-28001AD38:lA6:LEAF-2|N
-28001AD48:lA4:pipe|I131
-28001AD58:Mn2:H28001BF60,H28001BF70
-28001AD70:Mn2:H28001BF80,H28001BF90
-28001AD88:lA2:SM|I122
-28001AD98:lA5:eigrp|I88
-28001ADA8:lAF:rsvp-e2e-ignore|I134
-28001ADB8:Mn2:H28001BFA0,H28001BFB0
-28001ADD0:lA3:GGP|I3
-28001ADE0:lI108|H28001ADF0
-28001ADF0:lA6:ipcomp|H28001AE00
-28001AE00:lA6:IPComp|N
-28001AE10:lA4:micp|I95
-28001AE20:lA4:FIRE|I125
-28001AE30:lI133|H28001AE40
-28001AE40:lA2:fc|H28001AE50
-28001AE50:lA2:FC|N
-28001AE60:lA3:ST2|I5
-28001AE70:Mn2:H28001BFC0,H28001BFF0
-28001AE88:lA6:NVP-II|I11
-28001AE98:lI44|H28001AEA8
-28001AEA8:lA9:ipv6-frag|H28001AEB8
-28001AEB8:lA9:IPV6-FRAG|N
-28001AEC8:lI19|H28001AED8
-28001AED8:lA3:dcn|H28001AEE8
-28001AEE8:lA8:DCN-MEAS|N
-28001AEF8:Mn2:H28001C000,H28001C010
-28001AF10:lA3:3PC|I34
-28001AF20:lI79|H28001AF30
-28001AF30:lA8:wb-expak|H28001AF40
-28001AF40:lA8:WB-EXPAK|N
-28001AF50:lI0|H28001AF60
-28001AF60:lA2:ip|H28001AF70
-28001AF70:lA2:IP|N
-28001AF80:lA9:sat-expak|I64
-28001AF90:lI100|H28001AFA0
-28001AFA0:lA4:gmtp|H28001AFB0
-28001AFB0:lA4:GMTP|N
-28001AFC0:Mn2:H28001C040,H28001C070
-28001AFD8:lI139|H28001AFE8
-28001AFE8:lA3:hip|H28001AFF8
-28001AFF8:lA3:HIP|N
-28001B008:lA4:rohc|I142
-28001B018:Mn2:H28001C080,H28001C090
-28001B030:Mn2:H28001C0A0,H28001C0B0
-28001B048:lI104|H28001B058
-28001B058:lA4:aris|H28001B068
-28001B068:lA4:ARIS|N
-28001B078:lI60|H28001B088
-28001B088:lA9:ipv6-opts|H28001B098
-28001B098:lA9:IPV6-OPTS|N
-28001B0A8:lA3:pgm|I113
-28001B0B8:lI33|H28001B0C8
-28001B0C8:lA4:dccp|H28001B0D8
-28001B0D8:lA4:DCCP|N
-28001B0E8:lA5:emcon|I14
-28001B0F8:lA3:MTP|I92
-28001B108:lA4:ipv6|I41
-28001B118:lA8:WB-EXPAK|I79
-28001B128:Mn2:H28001C0E0,H28001C0F0
-28001B140:lI88|H28001B150
-28001B150:lA5:eigrp|H28001B160
-28001B160:lA5:EIGRP|N
-28001B170:lI96|H28001B180
-28001B180:lA6:scc-sp|H28001B190
-28001B190:lA6:SCC-SP|N
-28001B1A0:lA4:iatp|I117
-28001B1B0:lI21|H28001B1C0
-28001B1C0:lA3:prm|H28001B1D0
-28001B1D0:lA3:PRM|N
-28001B1E0:lI73|H28001B1F0
-28001B1F0:lA4:cphb|H28001B200
-28001B200:lA4:CPHB|N
-28001B210:lA4:PIPE|I131
-28001B220:lA5:CHAOS|I16
-28001B230:lA9:ipv6-opts|I60
-28001B240:lA7:ETHERIP|I97
-28001B250:lA7:etherip|I97
-28001B260:lA3:ttp|I84
-28001B270:lA5:vines|I83
-28001B280:lI121|H28001B290
-28001B290:lA3:smp|H28001B2A0
-28001B2A0:lA3:SMP|N
-28001B2B0:lI58|H28001B2C0
-28001B2C0:lA9:ipv6-icmp|H28001B2D0
-28001B2D0:lA5:icmp6|H28001B2E0
-28001B2E0:lA9:IPV6-ICMP|N
-28001B2F0:lI117|H28001B300
-28001B300:lA4:iatp|H28001B310
-28001B310:lA4:IATP|N
-28001B320:lA4:SCPS|I105
-28001B330:lAB:BBN-RCC-MON|I10
-28001B340:lI20|H28001B350
-28001B350:lA3:hmp|H28001B360
-28001B360:lA3:HMP|N
-28001B370:lA4:ISIS|I124
-28001B380:lA3:HIP|I139
-28001B390:lI17|H28001B3A0
-28001B3A0:lA3:udp|H28001B3B0
-28001B3B0:lA3:UDP|N
-28001B3C0:lI82|H28001B3D0
-28001B3D0:lAB:secure-vmtp|H28001B3E0
-28001B3E0:lAB:SECURE-VMTP|N
-28001B3F0:lA5:SHIM6|I140
-28001B400:lI74|H28001B410
-28001B410:lA3:wsn|H28001B420
-28001B420:lA3:WSN|N
-28001B430:lA4:IPCV|I71
-28001B440:lA9:IPX-in-IP|I111
-28001B450:lA4:scps|I105
-28001B460:lI119|H28001B470
-28001B470:lA3:srp|H28001B480
-28001B480:lA3:SRP|N
-28001B490:lA6:SCC-SP|I96
-28001B4A0:lI140|H28001B4B0
-28001B4B0:lA5:shim6|H28001B4C0
-28001B4C0:lA5:SHIM6|N
-28001B4D0:lI90|H28001B4E0
-28001B4E0:lAA:sprite-rpc|H28001B4F0
-28001B4F0:lAA:Sprite-RPC|N
-28001B500:lA3:dsr|I48
-28001B510:lI14|H28001B520
-28001B520:lA5:emcon|H28001B530
-28001B530:lA5:EMCON|N
-28001B540:lA4:wesp|I141
-28001B550:lA6:NETBLT|I30
-28001B560:lA7:ISO-TP4|I29
-28001B570:lA3:esp|I50
-28001B580:lI5|H28001B590
-28001B590:lA3:st2|H28001B5A0
-28001B5A0:lA3:ST2|N
-28001B5B0:lA3:srp|I119
-28001B5C0:lA5:EIGRP|I88
-28001B5D0:lA4:TP++|I39
-28001B5E0:lI67|H28001B5F0
-28001B5F0:lA4:ippc|H28001B600
-28001B600:lA4:IPPC|N
-28001B610:lA9:ipx-in-ip|I111
-28001B620:lI102|H28001B630
-28001B630:lA4:pnni|H28001B640
-28001B640:lA4:PNNI|N
-28001B650:lI55|H28001B660
-28001B660:lA6:mobile|H28001B670
-28001B670:lA6:MOBILE|N
-28001B680:lI97|H28001B690
-28001B690:lA7:etherip|H28001B6A0
-28001B6A0:lA7:ETHERIP|N
-28001B6B0:lA3:dcn|I19
-28001B6C0:lA4:CPHB|I73
-28001B6D0:lA2:il|I40
-28001B6E0:lI123|H28001B6F0
-28001B6F0:lA3:ptp|H28001B700
-28001B700:lA3:PTP|N
-28001B710:lAA:Sprite-RPC|I90
-28001B720:lI125|H28001B730
-28001B730:lA4:fire|H28001B740
-28001B740:lA4:FIRE|N
-28001B750:lA8:DCN-MEAS|I19
-28001B760:lAA:mpls-in-ip|I137
-28001B770:lI66|H28001B780
-28001B780:lA3:rvd|H28001B790
-28001B790:lA3:RVD|N
-28001B7A0:lA4:CRTP|I126
-28001B7B0:lI91|H28001B7C0
-28001B7C0:lA4:larp|H28001B7D0
-28001B7D0:lA4:LARP|N
-28001B7E0:lA7:sat-mon|I69
-28001B7F0:lI129|H28001B800
-28001B800:lA4:iplt|H28001B810
-28001B810:lA4:IPLT|N
-28001B820:lA3:UDP|I17
-28001B830:lA2:sm|I122
-28001B840:lA5:SWIPE|I53
-28001B850:lA4:IPPC|I67
-28001B860:lI80|H28001B870
-28001B870:lA6:iso-ip|H28001B880
-28001B880:lA6:ISO-IP|N
-28001B890:lI75|H28001B8A0
-28001B8A0:lA3:pvp|H28001B8B0
-28001B8B0:lA3:PVP|N
-28001B8C0:lA3:STP|I118
-28001B8D0:Mn2:H28001C100,H28001C130
-28001B8E8:lA6:IPComp|I108
-28001B8F8:lA3:nvp|I11
-28001B908:lI41|H28001B918
-28001B918:lA4:ipv6|H28001B928
-28001B928:lA4:IPV6|N
-28001B938:lI37|H28001B948
-28001B948:lA3:ddp|H28001B958
-28001B958:lA3:DDP|N
-28001B968:lA4:CPNX|I72
-28001B978:Mn2:H28001C140,H28001C150
-28001B990:Mn2:H28001C180,H28001C190
-28001B9A8:lA4:ipip|I94
-28001B9B8:lI27|H28001B9C8
-28001B9C8:lA3:rdp|H28001B9D8
-28001B9D8:lA3:RDP|N
-28001B9E8:lA3:PIM|I103
-28001B9F8:lA4:isis|I124
-28001BA08:lA5:icmp6|I58
-28001BA18:lI240|H28001BA28
-28001BA28:lA6:pfsync|H28001BA38
-28001BA38:lA6:PFSYNC|N
-28001BA48:lA3:DSR|I48
-28001BA58:lI83|H28001BA68
-28001BA68:lA5:vines|H28001BA78
-28001BA78:lA5:VINES|N
-28001BA88:lI34|H28001BA98
-28001BA98:lA3:3pc|H28001BAA8
-28001BAA8:lA3:3PC|N
-28001BAB8:lA2:FC|I133
-28001BAC8:lI86|H28001BAD8
-28001BAD8:lA3:dgp|H28001BAE8
-28001BAE8:lA3:DGP|N
-28001BAF8:lA4:narp|I54
-28001BB08:lA6:netblt|I30
-28001BB18:lI16|H28001BB28
-28001BB28:lA5:chaos|H28001BB38
-28001BB38:lA5:CHAOS|N
-28001BB48:lA4:SDRP|I42
-28001BB58:lI31|H28001BB68
-28001BB68:lA7:mfe-nsp|H28001BB78
-28001BB78:lA7:MFE-NSP|N
-28001BB88:lI15|H28001BB98
-28001BB98:lA4:xnet|H28001BBA8
-28001BBA8:lA4:XNET|N
-28001BBB8:lI78|H28001BBC8
-28001BBC8:lA6:wb-mon|H28001BBD8
-28001BBD8:lA6:WB-MON|N
-28001BBE8:lA3:PVP|I75
-28001BBF8:lI93|H28001BC08
-28001BC08:lA5:ax.25|H28001BC18
-28001BC18:lA5:AX.25|N
-28001BC28:lI122|H28001BC38
-28001BC38:lA2:sm|H28001BC48
-28001BC48:lA2:SM|N
-28001BC58:lA4:ipcv|I71
-28001BC68:lAA:NSFNET-IGP|I85
-28001BC78:lA5:ARGUS|I13
-28001BC88:lA4:IFMP|I101
-28001BC98:lA3:wsn|I74
-28001BCA8:lA3:a/n|I107
-28001BCB8:lA9:IPV6-FRAG|I44
-28001BCC8:lA4:aris|I104
-28001BCD8:lA3:DDX|I116
-28001BCE8:lA3:RDP|I27
-28001BCF8:lA3:bna|I49
-28001BD08:lI54|H28001BD18
-28001BD18:lA4:narp|H28001BD28
-28001BD28:lA4:NARP|N
-28001BD38:lA4:ospf|I89
-28001BD48:lI85|H28001BD58
-28001BD58:lAA:nsfnet-igp|H28001BD68
-28001BD68:lAA:NSFNET-IGP|N
-28001BD78:lI40|H28001BD88
-28001BD88:lA2:il|H28001BD98
-28001BD98:lA2:IL|N
-28001BDA8:Mn2:H28001C1A0,H28001C1B0
-28001BDC0:lI127|H28001BDD0
-28001BDD0:lA5:crudp|H28001BDE0
-28001BDE0:lA5:CRUDP|N
-28001BDF0:lA3:pim|I103
-28001BE00:lI92|H28001BE10
-28001BE10:lA3:mtp|H28001BE20
-28001BE20:lA3:MTP|N
-28001BE30:lI23|H28001BE40
-28001BE40:lA7:trunk-1|H28001BE50
-28001BE50:lA7:TRUNK-1|N
-28001BE60:lAA:ipv6-route|I43
-28001BE70:lA7:TRUNK-2|I24
-28001BE80:lA6:sun-nd|I77
-28001BE90:lA4:dccp|I33
-28001BEA0:lA3:SNP|I109
-28001BEB0:lA3:ESP|I50
-28001BEC0:lA3:hip|I139
-28001BED0:lA9:SAT-EXPAK|I64
-28001BEE0:lA6:ISO-IP|I80
-28001BEF0:lA4:cphb|I73
-28001BF00:lA3:SRP|I119
-28001BF10:lAF:RSVP-E2E-IGNORE|I134
-28001BF20:lA6:WB-MON|I78
-28001BF30:lI111|H28001BF40
-28001BF40:lA9:ipx-in-ip|H28001BF50
-28001BF50:lA9:IPX-in-IP|N
-28001BF60:lA8:IP-ENCAP|I4
-28001BF70:lA8:sscopmce|I128
-28001BF80:lA3:st2|I5
-28001BF90:lA4:ippc|I67
-28001BFA0:lA4:TLSP|I56
-28001BFB0:lA9:IDPR-CMTP|I38
-28001BFC0:lI22|H28001BFD0
-28001BFD0:lA7:xns-idp|H28001BFE0
-28001BFE0:lA7:XNS-IDP|N
-28001BFF0:lA4:SKIP|I57
-28001C000:lA4:cpnx|I72
-28001C010:lI84|H28001C020
-28001C020:lA3:ttp|H28001C030
-28001C030:lA3:TTP|N
-28001C040:lI35|H28001C050
-28001C050:lA4:idpr|H28001C060
-28001C060:lA4:IDPR|N
-28001C070:lA5:shim6|I140
-28001C080:lA9:ipv6-icmp|I58
-28001C090:lA4:DCCP|I33
-28001C0A0:lA6:LEAF-2|I26
-28001C0B0:lI57|H28001C0C0
-28001C0C0:lA4:skip|H28001C0D0
-28001C0D0:lA4:SKIP|N
-28001C0E0:lA6:PFSYNC|I240
-28001C0F0:lA3:PRM|I21
-28001C100:lI81|H28001C110
-28001C110:lA4:vmtp|H28001C120
-28001C120:lA4:VMTP|N
-28001C130:lA3:qnx|I106
-28001C140:lA9:merit-inp|I32
-28001C150:lI115|H28001C160
-28001C160:lA4:l2tp|H28001C170
-28001C170:lA4:L2TP|N
-28001C180:lA3:dgp|I86
-28001C190:lA4:XNET|I15
-28001C1A0:lA2:fc|I133
-28001C1B0:lI8|H28001C1C0
-28001C1C0:lA3:egp|H28001C1D0
-28001C1D0:lA3:EGP|N
-2800BB848:t2:H2800BB860,I23
-2800BB860:t2:AD:logger_config,AA:ssl_logger
-28001F238:t2:H28001F250,H28001F268
-28001F250:t2:AB:prim_socket,A9:msg_flags
-28001F268:MfB:H28001F2D8:I0,I16,I4,I0,I0,I32,I8,I0,I524288,I1,I2
-28001F2D8:tB:A4:more,A5:trunc,A9:dontroute,AC:cmsg_cloexec,A7:confirm,A6:ctrunc,A3:eor,A8:errqueue,A8:nosignal,A3:oob,A4:peek
-280068258:t2:H280068270,H280068288
-280068270:t2:AC:erl_features,AD:feature_specs
-280068288:Mf1:H2800682A8:H2800682B8
-2800682A8:t1:AA:maybe_expr
-2800682B8:Mf6:H280068300:H280068AD8,AC:experimental,A9:extension,H2800688B8,H280068348,I25
-280068300:t6:A5:short,A6:status,A4:type,AB:description,A8:keywords,AC:experimental
-280068338:lA4:else|N
-280068348:lA5:maybe|H280068338
-280068358:lI46|N
-280068368:lI103|H280068358
-280068378:lI110|H280068368
-280068388:lI105|H280068378
-280068398:lI108|H280068388
-2800683A8:lI100|H280068398
-2800683B8:lI110|H2800683A8
-2800683C8:lI97|H2800683B8
-2800683D8:lI104|H2800683C8
-2800683E8:lI32|H2800683D8
-2800683F8:lI114|H2800683E8
-280068408:lI111|H2800683F8
-280068418:lI114|H280068408
-280068428:lI114|H280068418
-280068438:lI101|H280068428
-280068448:lI32|H280068438
-280068458:lI100|H280068448
-280068468:lI101|H280068458
-280068478:lI115|H280068468
-280068488:lI97|H280068478
-280068498:lI98|H280068488
-2800684A8:lI32|H280068498
-2800684B8:lI101|H2800684A8
-2800684C8:lI117|H2800684B8
-2800684D8:lI108|H2800684C8
-2800684E8:lI97|H2800684D8
-2800684F8:lI86|H2800684E8
-280068508:lI32|H2800684F8
-280068518:lI45|H280068508
-280068528:lI45|H280068518
-280068538:lI32|H280068528
-280068548:lI57|H280068538
-280068558:lI52|H280068548
-280068568:lI80|H280068558
-280068578:lI69|H280068568
-280068588:lI69|H280068578
-280068598:lI32|H280068588
-2800685A8:lI110|H280068598
-2800685B8:lI105|H2800685A8
-2800685C8:lI32|H2800685B8
-2800685D8:lI100|H2800685C8
-2800685E8:lI101|H2800685D8
-2800685F8:lI115|H2800685E8
-280068608:lI111|H2800685F8
-280068618:lI112|H280068608
-280068628:lI111|H280068618
-280068638:lI114|H280068628
-280068648:lI112|H280068638
-280068658:lI32|H280068648
-280068668:lI110|H280068658
-280068678:lI111|H280068668
-280068688:lI105|H280068678
-280068698:lI115|H280068688
-2800686A8:lI115|H280068698
-2800686B8:lI101|H2800686A8
-2800686C8:lI114|H2800686B8
-2800686D8:lI112|H2800686C8
-2800686E8:lI120|H2800686D8
-2800686F8:lI101|H2800686E8
-280068708:lI32|H2800686F8
-280068718:lI101|H280068708
-280068728:lI98|H280068718
-280068738:lI121|H280068728
-280068748:lI97|H280068738
-280068758:lI109|H280068748
-280068768:lI32|H280068758
-280068778:lI101|H280068768
-280068788:lI104|H280068778
-280068798:lI116|H280068788
-2800687A8:lI32|H280068798
-2800687B8:lI102|H2800687A8
-2800687C8:lI111|H2800687B8
-2800687D8:lI32|H2800687C8
-2800687E8:lI110|H2800687D8
-2800687F8:lI111|H2800687E8
-280068808:lI105|H2800687F8
-280068818:lI116|H280068808
-280068828:lI97|H280068818
-280068838:lI116|H280068828
-280068848:lI110|H280068838
-280068858:lI101|H280068848
-280068868:lI109|H280068858
-280068878:lI101|H280068868
-280068888:lI108|H280068878
-280068898:lI112|H280068888
-2800688A8:lI109|H280068898
-2800688B8:lI73|H2800688A8
-2800688C8:lI41|N
-2800688D8:lI57|H2800688C8
-2800688E8:lI52|H2800688D8
-2800688F8:lI80|H2800688E8
-280068908:lI69|H2800688F8
-280068918:lI69|H280068908
-280068928:lI40|H280068918
-280068938:lI32|H280068928
-280068948:lI103|H280068938
-280068958:lI110|H280068948
-280068968:lI105|H280068958
-280068978:lI108|H280068968
-280068988:lI100|H280068978
-280068998:lI110|H280068988
-2800689A8:lI97|H280068998
-2800689B8:lI104|H2800689A8
-2800689C8:lI32|H2800689B8
-2800689D8:lI114|H2800689C8
-2800689E8:lI111|H2800689D8
-2800689F8:lI114|H2800689E8
-280068A08:lI114|H2800689F8
-280068A18:lI101|H280068A08
-280068A28:lI32|H280068A18
-280068A38:lI100|H280068A28
-280068A48:lI101|H280068A38
-280068A58:lI115|H280068A48
-280068A68:lI97|H280068A58
-280068A78:lI98|H280068A68
-280068A88:lI32|H280068A78
-280068A98:lI101|H280068A88
-280068AA8:lI117|H280068A98
-280068AB8:lI108|H280068AA8
-280068AC8:lI97|H280068AB8
-280068AD8:lI86|H280068AC8
-280068B48:t2:H280068B60,N
-280068B60:t2:AC:erl_features,A8:keywords
-28001EEA8:t2:H28001EEC0,H28001EED8
-28001EEC0:t2:AB:prim_socket,AE:ioctl_requests
-28001EED8:MfC:H28001EF50:I2149607696,I3223349537,I3223349539,I3222038820,I3223349538,I3223349521,I3223349555,I3223349541,I2149607692,I2149607699,I2149607694,I2149607732
-28001EF50:tC:A8:sifflags,A7:gifaddr,AA:gifbrdaddr,A7:gifconf,AA:gifdstaddr,A8:gifflags,A6:gifmtu,AA:gifnetmask,A7:sifaddr,AA:sifbrdaddr,AA:sifdstaddr,A6:sifmtu
-2800BB7E8:t2:H2800BB800,I7
-2800BB800:t2:AD:logger_config,H2800BB818
-2800BB818:t2:A10:$handler_config$,AB:ssl_handler
-2800BB7A0:t2:H2800BB7B8,A5:async
-2800BB7B8:t2:AA:logger_olp,A18:logger_std_h_ssl_handler
-2800711B0:t2:A12:rex_nodes_observer,H2800711C8
-2800711C8:E23:g1oAA3cNbm9ub2RlQG5vaG9zdAAAAAAAALAE+vYAAd/g02c=
-28001EFD0:t2:H28001EFE8,H28001F000
-28001EFE8:t2:AB:prim_socket,AB:ioctl_flags
-28001F000:Mf20:H28001F118:I0,I64,I4,I2,I8,I1,I32768,I0,I512,I0,I0,I0,I0,I0,I0,I0,I4096,I8192,I16384,I0,I0,I128,I32,I1024,I16,I0,I0,I256,I0,I2048,I0,I0
-28001F118:t20:A7:monitor,A7:running,A5:debug,A9:broadcast,A8:loopback,A2:up,A9:multicast,A7:nogroup,A8:allmulti,A9:automedia,AA:cantconfig,A7:dormant,A5:dying,A7:dynamic,A4:echo,AA:knowsepoch,A5:link0,A5:link1,A5:link2,A8:lower_up,A6:master,A5:noarp,AA:notrailers,A7:oactive,AB:pointopoint,A7:portsel,A8:ppromisc,A7:promisc,A8:renaming,A7:simplex,A5:slave,A9:staticarp
-28005B250:t2:H28005B268,I5
-28005B268:t2:AD:logger_config,A10:$primary_config$
-28006A4A0:t2:H28006A4B8,I5
-28006A4B8:t2:AD:logger_config,A11:supervisor_bridge
-28008F5B0:t2:H28008F5C8,A5:async
-28008F5C8:t2:AA:logger_olp,AC:logger_proxy
-280068BD8:t2:H280068BF0,I5
-280068BF0:t2:AD:logger_config,AA:supervisor
-280068B90:t2:H280068BA8,A4:true
-280068BA8:t2:AC:erl_features,A9:init_done
-280068B00:t2:H280068B18,N
-280068B18:t2:AC:erl_features,A10:enabled_features
-28005B298:t2:H28005B2B0,I5
-28005B2B0:t2:AD:logger_config,A16:application_controller
-=binary:1309301C0
-9C:XlsbwptdW1tcXSgpIzs/XSooPzooPzooPzooPzo7Wy1hLXpBLVpcZFwvIyYuOj0/JUB+X10rKSp8W2EtekEtWlxkXSsoPzo7Wy1hLXpBLVpcZFwvIyYuOj0/JUB+X10qKSopPwcpfCg/Oig/OlxkezEsNH0oPzo7XGR7MCw0fSkqKT9bXGRBLVBSLVRaY2YtbnEtdXk9Pjx+XSkp
-=binary:130931BD0
-15E:RVJDUF4BAAAQCAAAAQAAAP//////////AAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIMBGhtuAAAACAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAABuAAAAAAgDAIgAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAABigwCNgwCHkoMALpKDACcdO24AAAAAaOD/p////4f+//9HAAAAAAAAAAAAAAAAAAAAAGR5ACd3AFBuAAAAAAAA/wP+//8H/v//BwAAAAAAAAAAAAAAAAAAAABrkoMAJx07bgAAAABo4P+n////h/7//0cAAAAAAAAAAAAAAAAAAAAAYnkAJ3gAfh0HeACHdwBDgwA9koMAFQdbAAMHkoMACR07WwAEB3kACXgAFW4AAAAAAAD/c/7/HQTIfz5CAAAAAAAAAAAAAAAAAAAAAHgAPXgA0HgBGgA=
-=atoms
-glee_unit_assert_match
-glee_unit_assert_equal
-glee_unit_assert_not_equal
-expected
-'-erlang_error_to_unified/3-fun-0-'
-'-format_reason/4-fun-0-'
-'-format_reason/4-fun-1-'
-'-format_reason/4-fun-2-'
-'-format_reason/4-fun-3-'
-'-format_reason/4-fun-4-'
-'-format_reason/4-fun-5-'
-module_and_test_run
-'-create_test_report/1-fun-0-'
-'-create_test_report/1-fun-1-'
-'-create_test_report/1-fun-2-'
-'-create_test_report/1-fun-3-'
-'-create_test_report/1-fun-4-'
-'-create_test_report/1-fun-5-'
-'-create_test_report/1-fun-6-'
-align_table
-'showtime@internal@reports@table'
-ignored_style
-failed_style
-passed_style
-function_style
-error_style
-align_left_overflow
-stacktrace_style
-align_right
-align_left
-content
-styled_content
-format_reason
-got_highlight
-expected_highlight
-'showtime@internal@reports@compare'
-not_style
-'showtime@internal@reports@styles'
-gleam_error_to_unified
-unified_error
-erlang_error_to_unified
-'-part1/1-fun-2-'
-'-find_best_joker_substitution/1-fun-0-'
-'-find_best_joker_substitution/1-fun-1-'
-'-part2/1-fun-0-'
-'-part2/1-fun-2-'
-get_input
-get_part
-find_best_joker_substitution
-compare_hands
-compare_top_card
-classify_hand
-card_counts
-hand
-parse_hand
-card_rank
-two_pair
-three_of_a_kind
-one_pair
-high_card
-full_house
-four_of_a_kind
-five_of_a_kind
-hand_rank
-be_false_meta
-be_false
-be_true_meta
-be_true
-fail_meta
-be_error_meta
-be_error
-be_ok_meta
-be_ok
-not_equal_meta
-equal_meta
-evaluate
-'-run_test/4-fun-0-'
-'-run_test/4-fun-1-'
-reason_line
-expression
-'-run_test/4-fun-2-'
-trace_module
-'-run_test/4-fun-3-'
-'-map_extra_info_list/1-fun-0-'
-num
-arg_list
-map_arity
-map_extra_info_list
-erlang_exception
-trace_list
-erlang_error
-generic_exception
-gleam_assert
-not_eq
-assert_equal
-assert_match
-assert_not_equal
-assertNotEqual
-assertMatch
-assertEqual
-test_function_return
-test
-capture_done
-stop_output_capture
-capture_output
-start_output_capture
-'-run_test_suite/4-fun-0-'
-showtime_ffi
-run_test
-example
-part1
-'-part1_test/0-fun-0-'
-part2
-'-part2_test/0-fun-0-'
-part2_test
-'showtime@tests@should'
-part1_test
-'-optional/1-fun-0-'
-'-any/1-fun-0-'
-'-decode1/2-fun-0-'
-'-push_path/2-fun-0-'
-'-result/2-fun-3-'
-'-result/2-fun-2-'
-'-result/2-fun-1-'
-'-result/2-fun-0-'
-'-result/2-fun-4-'
-'-result/2-fun-5-'
-'-list/1-fun-0-'
-'-list/1-fun-1-'
-'-list/1-fun-2-'
-'-map_errors/2-fun-0-'
-'-decode_string/1-fun-0-'
-'-decode_string/1-fun-1-'
-'-field/2-fun-0-'
-'-field/2-fun-1-'
-'-field/2-fun-2-'
-'-optional_field/2-fun-0-'
-'-optional_field/2-fun-1-'
-'-optional_field/2-fun-2-'
-'-element/2-fun-0-'
-'-element/2-fun-1-'
-'-element/2-fun-2-'
-'-element/2-fun-3-'
-'-tuple_errors/2-fun-0-'
-'-tuple2/2-fun-0-'
-'-tuple2/2-fun-1-'
-'-tuple3/3-fun-0-'
-'-tuple3/3-fun-1-'
-'-tuple4/4-fun-0-'
-'-tuple4/4-fun-1-'
-'-tuple5/5-fun-0-'
-'-tuple5/5-fun-1-'
-'-tuple6/6-fun-0-'
-'-tuple6/6-fun-1-'
-'-dict/2-fun-4-'
-'-dict/2-fun-2-'
-'-dict/2-fun-1-'
-'-dict/2-fun-3-'
-'-dict/2-fun-5-'
-'-dict/2-fun-0-'
-'-dict/2-fun-6-'
-'-dict/2-fun-7-'
-'-decode2/3-fun-0-'
-'-decode3/4-fun-0-'
-'-decode4/5-fun-0-'
-'-decode5/6-fun-0-'
-'-decode6/7-fun-0-'
-'-decode7/8-fun-0-'
-'-decode8/9-fun-0-'
-'-decode9/10-fun-0-'
-decode9
-decode8
-decode7
-decode6
-decode5
-decode4
-decode3
-decode2
-tuple6
-tuple5
-tuple4
-tuple3
-tuple2
-tuple_errors
-optional_field
-decode_string
-map_errors
-push_path
-decode1
-all_errors
-at_least_decode_tuple_error
-optional
-shallow_list
-put_expected
-bit_string
-bit_array
-'-do_wildcard/3-lc$^0/1-0-'
-'-do_wildcard_4/3-lc$^1/1-1-'
-'-do_wildcard_4/3-lc$^0/1-0-'
-'-compile_alt/2-lc$^0/1-0-'
-'-keep_dir_search_rules/1-lc$^0/1-0-'
-'-keep_suffix_search_rules/1-lc$^0/1-0-'
-'-add_local_search/1-fun-0-'
-climb
-safe_relative_path_1
-find_regular_file
-try_dir_rule
-try_dir_rules
-add_local_search
-try_suffix_rules
-find_file
-asn1_source_search_rules
-c_source_search_rules
-erl_source_search_rules
-basic_source_search_rules
-default_search_rules
-source_search_rules
-get_search_rules
-keep_suffix_search_rules
-keep_dir_search_rules
-eval_list_dir
-eval_read_link_info
-eval_read_file_info
-do_exists
-wrap_escapes
-convert_escapes
-compile_alt
-compile_range
-compile_charset1
-compile_charset
-missing_delimiter
-escaped
-compile_part_to_sep
-compile_part
-compile_join
-compile_wildcard_3
-is_literal_pattern
-compile_wildcard_2
-cwd
-compiled_wildcard
-compile_wildcard
-do_list_dir
-do_alt
-do_star
-do_double_star
-prepare_base
-will_always_match
-star
-question
-alt
-match_part
-do_wildcard_4
-double_star
-do_wildcard_3
-do_wildcard_2
-do_wildcard_1
-do_wildcard
-do_file_size
-do_last_modified
-do_fold_files2
-do_fold_files1
-do_fold_files
-do_is_regular
-do_is_file
-do_is_dir
-file_size
-last_modified
-fold_files
-is_regular
-badpattern
-'-do_all/2-fun-0-'
-'-do_values/2-fun-0-'
-do_values
-to_result
-is_none
-is_some
-do_all
-panic
-not_utf8
-'-do_copy_directory/2-fun-1-'
-'-do_copy_directory/2-fun-0-'
-'-do_copy_directory/2-fun-2-'
-'-do_copy_directory/2-fun-3-'
-'-get_files/1-fun-0-'
-'-get_files/1-fun-3-'
-'-get_files/1-fun-5-'
-'-copy_directory/2-fun-0-'
-'-rename_directory/2-fun-0-'
-rename_file
-copy_file
-rename_directory
-copy_directory
-create_dir_all
-create_directory_all
-get_files
-do_copy_directory
-create_file
-create_directory
-append_bits
-write_bits
-read_bits
-cast_error
-'gleam@bit_array'
-do_read
-do_write
-simplifile_erl
-do_append
-start_test
-completed_test_run
-ongoing_test_run
-end_test
-'-collect_modules_in_folder/3-fun-0-'
-'-collect_modules_in_folder/3-fun-1-'
-test_module
-'-collect_modules_in_folder/3-fun-2-'
-'-collect_modules_in_folder/3-fun-3-'
-'-collect_modules_in_folder/3-fun-4-'
-'-collect_modules_in_folder/3-fun-5-'
-'-collect_test_functions/1-fun-0-'
-'-collect_test_functions/1-fun-1-'
-'-collect_test_functions/1-fun-2-'
-test_function
-'-collect_test_functions/1-fun-3-'
-test_suite
-unsafe_coerce
-read_directory
-collect_modules_in_folder
-get_module_prefix
-end_test_suite
-start_test_suite
-'-start/5-fun-0-'
-'-start/5-fun-1-'
-'-start/5-fun-2-'
-'-debug_cmd/2-lc$^0/1-0-'
-'-get_log/1-lc$^0/1-0-'
-'-nlog_new/2-fun-0-'
-nlog_get
-nlog_put
-nlog_new
-print_log
-get_debug2
-remove_debug
-install_debug
-stat
-no_statistics
-start_time
-current_time
-messages_in
-messages_out
-get_stat
-init_stat
-do_change_code
-unknown_debug
-debug_cmd
-do_replace_state
-callback_failed
-do_get_state
-suspend_loop_hib
-terminating
-send_system_msg
-install
-no_debug
-log_to_file
-replace_state
-failed_to_connect
-local_node_is_not_alive
-atom_not_loaded
-'-list_directory/1-lc$^0/1-0-'
-'-get_all_env/0-fun-0-'
-'-map_selector/2-fun-0-'
-'-map_selector/2-fun-1-'
-process_down
-selector
-free_bsd
-windows_nt
-os_family
-recursive_delete
-delete_directory
-list_directory
-make_directory
-delete_file
-append_file
-posix_result
-link_info
-exdev
-etxtbsy
-estale
-esrch
-espipe
-erofs
-erange
-epipe
-eperm
-eopnotsupp
-enotblk
-enosys
-enostr
-enosr
-enospc
-enomem
-enolink
-enolck
-enodev
-enobufs
-enfile
-emultihop
-emlink
-eloop
-eisdir
-eio
-eintr
-eftype
-efbig
-eexist
-edquot
-edeadlock
-edeadlk
-ebadmsg
-eacces
-no_access
-file_info_result
-unknown_application
-errored
-thrown
-classify
-atom_from_dynamic
-atom_from_string
-call_timeout
-exit_message
-'-selecting_trapped_exits/2-fun-0-'
-'-selecting/3-fun-0-'
-'-receive/2-fun-0-'
-'-selecting_record2/3-fun-0-'
-'-selecting_record3/3-fun-0-'
-'-selecting_record4/3-fun-0-'
-'-selecting_record5/3-fun-0-'
-'-selecting_record6/3-fun-0-'
-'-selecting_record7/3-fun-0-'
-'-selecting_record8/3-fun-0-'
-'-try_call/3-fun-0-'
-callee_down
-'-try_call/3-fun-1-'
-process_named
-named
-unregister_process
-register_process
-trap_exits
-send_abnormal_exit
-send_exit
-timer_not_found
-try_call
-demonitor_process
-process_monitor
-sleep_forever
-anything
-selecting_record8
-selecting_record7
-selecting_record6
-selecting_record5
-selecting_record4
-selecting_record2
-insert_selector_handler
-selecting_trapped_exits
-flush_messages
-select_forever
-subject
-init_timeout
-convert_system_message
-gleam_otp_external
-'-receive_message/1-fun-0-'
-'-init_selector/2-fun-0-'
-'-init_selector/2-fun-1-'
-'-start_spec/1-fun-0-'
-'-start_spec/1-fun-1-'
-'-start_spec/1-fun-2-'
-init_failed
-init_crashed
-selecting_process_down
-monitor_process
-to_erlang_start_result
-abnormal
-failed
-subject_owner
-ready
-initialise_actor
-map_selector
-init_selector
-status_info
-from
-'gleam@dynamic'
-process_status_info
-merge_selector
-selecting_anything
-receive_message
-selecting_record3
-selecting_system_messages
-exit_process
-with_selector
-create_test_report
-'showtime@internal@reports@formatter'
-'showtime@internal@common@common_event_handler'
-'-start/0-fun-1-'
-'-start/0-fun-2-'
-event_handler_message
-'-start/0-fun-3-'
-selecting
-new_selector
-new_subject
-'gleam@erlang@process'
-'gleam@otp@actor'
-is_equal
-prepend_builder
-'-pretty_print_cause/1-fun-0-'
-line_print
-pretty_print_cause
-not_assigned
-surrogate
-spacing_combining
-enclosing
-non_spacing
-decimal
-letter
-connector
-dash
-punctuation
-currency
-paragraph
-space
-separator
-noBreak
-fraction
-vertical
-small
-medial
-isolated
-wide
-narrow
-font
-square
-circle
-'-inlined-class/1-'
-'-canonical_order_2/2-lc$^0/1-0-'
-is_wide_cp
-subcat_letter
-zs
-zp
-zl
-so
-sk
-sc
-ps
-po
-pi
-pf
-pe
-pd
-pc
-mn
-me
-lu
-lo
-ll
-cs
-co
-cn
-cf
-cc
-cat_translate
-unicode_table
-case_table
-nolist
-compose_pair
-gc_h_lv_lvt
-gc_h_T
-gc_h_V
-gc_h_L
-gc_regional
-is_ext_pict
-gc_ext_pict_zwj
-gc_ext_pict
-zwj
-is_extend
-gc_extend2
-gc_extend
-is_control
-gc_prepend
-gc_1
-cp_no_binl
-binary_found
-cp_no_bin
-cpl_1_cont3
-cpl_1_cont2
-cpl_1_cont
-cpl_cont3
-cpl_cont2
-cpl_cont
-cpl
-is_whitespace
-compose_compat_many
-compose_compat
-compose_compat_0
-compose_many
-decompose_compat_1
-decompose_compat
-canonical_order_2
-canonical_order_1
-canonical_order
-decompose_1
-decompose
-lookup_category
-spec_version
-lower
-get_case
-compat
-ccc
-'-inlined-rev/1-'
-'-inlined-append/2-'
-'-titlecase/1-lbc$^0/2-0-'
-'-to_lower/1-lc$^0/1-0-'
-'-to_upper/1-lc$^0/1-0-'
-'-join/2-lc$^0/1-0-'
-to_upper_char
-to_lower_char
-sub_string
-centre
-r_pad
-l_pad
-strip_right
-strip_left
-s_word
-sub_word
-w_count
-words
-copies
-tokens_multiple_2
-tokens_multiple_1
-tokens_single_2
-tokens_single_1
-substr2
-substr1
-cspan
-span
-l_prefix
-rstr
-str
-rchr
-bin_search_str_2
-bin_search_str_1
-bin_search_str
-bin_search_inv_n
-bin_search_inv_1
-bin_search_inv
-bin_search_loop
-bin_pattern
-search_cp
-search_pattern
-bin_search
-cp_prefix_1
-cp_prefix
-add_non_empty
-find_r
-find_l
-lexeme_skip
-nth_lexeme_m
-lexeme_pick
-lexemes_m
-prefix_1
-take_tc
-take_t
-take_lc
-take_l
-trim_t
-trim_ts
-trim_l
-trim_ls
-casefold_bin
-casefold_list
-lowercase_bin
-lowercase_list
-uppercase_bin
-uppercase_list
-slice_bin
-slice_list
-slice_trail
-slice_lb
-slice_l
-slice_l0
-reverse_b
-reverse_1
-equal_norm_nocase
-equal_norm
-equal_nocase
-equal_1
-length_b
-length_1
-cp
-next_codepoint
-nth_lexeme
-to_number
-to_integer
-casefold
-titlecase
-whitespace
-split_string
-not_a_utf8_string
-'-decode_option/2-fun-0-'
-'-compile_regex/2-lc$^0/1-0-'
-'-regex_matches/2-fun-0-'
-'-regex_scan/2-fun-0-'
-'-parse_query/1-fun-0-'
-'-inspect/1-fun-4-'
-'-inspect/1-lc$^1/1-1-'
-'-inspect/1-lc$^0/1-0-'
-base16_decode
-inspect_maybe_utf8_string
-append_segment
-inspect_bit_array
-improper
-inspect_list
-inspect_maybe_gleam_atom
-proper
-println_error
-maps_get_or
-maps_get_optional
-check_utf8
-is_hex_digit
-percent_ok
-percent_decode
-percent_encode
-dissect_query
-wrap_list
-base_decode64
-regex_scan
-regex_matches
-regex_submatches
-regex_split
-regex_check
-compile_error
-compile_regex
-bit_array_int_from_u32
-bit_array_int_to_u32
-bit_array_slice
-bit_array_concat
-string_invalid_utf8
-string_pad
-decode_result
-decode_option
-decode_tuple6
-decode_tuple5
-decode_tuple4
-decode_tuple3
-decode_tuple2
-decode_tuple
-tuple_get
-size_of_tuple
-decode_field
-decode_list
-decode_bool
-decode_float
-decode_int
-decode_bit_array
-decode_map
-classify_dynamic
-decode_error
-decode_error_msg
-iodata_append
-capitalise
-to_option
-utf_codepoint_to_int
-utf_codepoint
-utf_codepoint_list_to_string
-from_utf_codepoints
-to_utf_codepoints
-do_to_utf_codepoints
-do_to_utf_codepoints_impl
-do_to_graphemes
-string_pop_grapheme
-pop_grapheme
-trim_right
-do_trim_right
-trim_left
-do_trim_left
-do_trim
-pad_left
-padding
-do_join
-'gleam@iterator'
-do_split_once
-string_ends_with
-ends_with
-string_starts_with
-contains_string
-drop_right
-crop_string
-crop
-less_than
-from_string
-do_reverse
-'-compose/2-fun-0-'
-'-curry2/1-fun-0-'
-'-curry2/1-fun-1-'
-'-curry3/1-fun-0-'
-'-curry3/1-fun-1-'
-'-curry3/1-fun-2-'
-'-curry4/1-fun-0-'
-'-curry4/1-fun-1-'
-'-curry4/1-fun-2-'
-'-curry4/1-fun-3-'
-'-curry5/1-fun-0-'
-'-curry5/1-fun-1-'
-'-curry5/1-fun-2-'
-'-curry5/1-fun-3-'
-'-curry5/1-fun-4-'
-'-curry6/1-fun-0-'
-'-curry6/1-fun-1-'
-'-curry6/1-fun-2-'
-'-curry6/1-fun-3-'
-'-curry6/1-fun-4-'
-'-curry6/1-fun-5-'
-'-flip/1-fun-0-'
-'-constant/1-fun-0-'
-apply3
-apply2
-apply1
-tap
-identity
-flip
-curry6
-curry5
-curry4
-curry3
-curry2
-compose
-'-nil_error/1-fun-0-'
-'-all/1-fun-0-'
-'-values/1-fun-0-'
-try_recover
-lazy_or
-nil_error
-unwrap_both
-unwrap_error
-is_error
-loosely_equals
-loosely_compare
-ceiling
-float_to_string
-parse_float
-invalid_base
-bitwise_shift_right
-bitwise_shift_left
-bitwise_exclusive_or
-bitwise_or
-bitwise_not
-bitwise_and
-floor_divide
-modulo
-remainder
-undigits
-do_undigits
-digits
-do_digits
-do_product
-do_sum
-negate
-is_odd
-is_even
-clamp
-square_root
-to_base36
-to_base8
-to_base2
-to_base_string
-int_from_base_string
-base_parse
-parse_int
-absolute_value
-'-hex_string_to_int/1-fun-0-'
-power
-'-hex_string_to_int/1-fun-1-'
-'-hex_string_to_int/1-fun-2-'
-'-rgba_to_hsla/4-fun-0-'
-'-rgba_to_hsla/4-fun-1-'
-'-from_rgb255/3-fun-0-'
-'-from_rgb255/3-fun-2-'
-'-from_rgb255/3-fun-4-'
-'-from_rgb/3-fun-0-'
-'-from_rgb/3-fun-1-'
-'-from_rgb/3-fun-2-'
-'-from_rgba/4-fun-0-'
-'-from_rgba/4-fun-1-'
-'-from_rgba/4-fun-2-'
-'-from_rgba/4-fun-3-'
-'-from_hsla/4-fun-0-'
-'-from_hsla/4-fun-1-'
-'-from_hsla/4-fun-2-'
-'-from_hsla/4-fun-3-'
-'-from_rgb_hex_string/1-fun-0-'
-'-from_rgba_hex_string/1-fun-0-'
-'-to_css_rgba_string/1-fun-0-'
-multiply
-'-to_css_rgba_string/1-fun-1-'
-to_rgb_hex_string
-to_base16
-to_rgba_hex_string
-to_rgba_hex
-to_css_rgba_string
-to_hsla
-rgba
-hsla
-to_rgba
-from_rgba_hex_string
-from_rgba_hex
-from_rgb_hex_string
-from_rgb_hex
-from_hsl
-from_hsla
-from_rgba
-from_rgb
-to_float
-then
-divide
-rgba_to_hsla
-hsla_to_rgba
-hex_string_to_int
-hue_to_rgb
-valid_colour_value
-'-do_add/3-fun-1-'
-'-flags/2-fun-0-'
-'-global_flags/2-fun-0-'
-command_input
-'-execute_root/4-fun-0-'
-'-usage_help/3-fun-0-'
-'-cmd_help/4-fun-0-'
-'-cmd_help/4-fun-1-'
-'-cmd_help/4-fun-2-'
-'-cmd_help/4-fun-4-'
-'-execute/2-fun-0-'
-starts_with
-'-execute/2-fun-1-'
-add_command_from_stub
-constant
-'gleam@function'
-pretty_print
-println
-'gleam@io'
-run_and_handle
-execute
-do_execute
-lazy_unwrap
-cmd_help
-append_builder
-from_strings
-'gleam@string_builder'
-unwrap
-usage_help
-to_rgb_hex
-italic
-underline
-bold
-'gleam_community@ansi'
-heading_style
-subcommands_help
-subcommand_help
-wrap_with_space
-help_flag
-sanitize_path
-is_not_empty
-pretty_help
-from_rgb255
-'gleam_community@colour'
-execute_root
-global_flags
-global_flag_tuple
-global_flag
-flag_tuple
-command_node
-empty_command
-with_name
-without_pretty_help
-with_config
-do_fold
-from_result
-'gleam@option'
-map_values
-has_key
-'-from_list/1-fun-0-'
-'-fold/3-fun-0-'
-'-filter/2-fun-0-'
-order
-is_ok
-'-one_of/1-fun-0-'
-'-one_of/1-fun-1-'
-'-none_of/1-fun-0-'
-'-none_of/1-fun-1-'
-'-each/1-fun-0-'
-none_of
-'gleam@set'
-'-string/0-fun-1-'
-'-string/0-fun-0-'
-'-string_list/0-fun-1-'
-'-string_list/0-fun-0-'
-'-attempt/2-fun-0-'
-'-wrap_with_constraint/2-fun-0-'
-'-construct_value/3-fun-0-'
-'-compute_flag/2-fun-12-'
-'-compute_flag/2-fun-13-'
-'-compute_flag/2-fun-10-'
-'-compute_flag/2-fun-11-'
-'-compute_flag/2-fun-8-'
-'-compute_flag/2-fun-9-'
-'-compute_flag/2-fun-6-'
-'-compute_flag/2-fun-7-'
-'-compute_flag/2-fun-4-'
-'-compute_flag/2-fun-5-'
-'-compute_flag/2-fun-2-'
-'-compute_flag/2-fun-3-'
-'-compute_flag/2-fun-0-'
-'-compute_flag/2-fun-1-'
-'-int/0-fun-1-'
-'-int/0-fun-0-'
-'-int_list/0-fun-1-'
-'-int_list/0-fun-0-'
-'-float/0-fun-1-'
-'-float/0-fun-0-'
-'-float_list/0-fun-1-'
-'-float_list/0-fun-0-'
-'-bool/0-fun-1-'
-'-bool/0-fun-0-'
-'-update_flag_value/2-fun-1-'
-'-update_flag_value/2-fun-0-'
-map_error
-'-update_flag_value/2-fun-2-'
-'-attempt_toggle_flag/2-fun-2-'
-get_floats
-get_floats_value
-get_float
-get_float_value
-get_strings_value
-get_string_value
-get_bool_value
-get_ints
-get_ints_value
-get_int
-get_int_value
-split_once
-drop_left
-update_flags
-attempt_toggle_flag
-update_flag_value
-replace_error
-flags_help
-flag_help
-flag_type_help
-float_list
-undefined_flag_err
-no_value_flag_err
-layer
-layer_invalid_flag
-li
-b
-compute_flag
-construct_value
-flag_not_provided_error
-access_type_error
-'gleam@map'
-build_map
-wrap_with_constraint
-attempt
-flag_builder
-length_mismatch
-'-update_group/1-fun-0-'
-'-map_fold/3-fun-0-'
-'-unique/1-fun-0-'
-'-key_find/2-fun-0-'
-'-key_filter/2-fun-0-'
-'-key_pop/2-fun-0-'
-'-permutations/1-fun-0-'
-'-permutations/1-fun-1-'
-'-permutations/1-fun-2-'
-'-last/1-fun-0-'
-'-combinations/2-fun-0-'
-'-combinations/2-fun-1-'
-'-do_combination_pairs/1-fun-0-'
-'-transpose/1-fun-0-'
-'-transpose/1-fun-1-'
-'-do_shuffle_by_pair_indexes/1-fun-0-'
-'gleam@float'
-'-shuffle/1-fun-0-'
-shuffle
-do_shuffle_by_pair_indexes
-do_shuffle_pair_unwrap
-interleave
-transpose
-combination_pairs
-do_combination_pairs
-combinations
-do_scan
-reduce
-sized_chunk
-do_sized_chunk
-do_chunk
-take_while
-do_take_while
-drop_while
-window_by_2
-window
-do_window
-permutations
-do_partition
-try_each
-each
-key_set
-key_pop
-pop_map
-do_pop_map
-pop
-do_pop
-key_filter
-key_find
-split_while
-do_split_while
-do_split
-repeat
-do_repeat
-compare
-'gleam@int'
-tail_recursive_range
-merge_sort
-merge_down
-merge_up
-intersperse
-do_intersperse
-do_unzip
-strict_zip
-do_zip
-find_map
-fold_until
-try_fold
-index_fold
-do_index_fold
-fold_right
-map_second
-'gleam@pair'
-map_fold
-'gleam@dict'
-flat_map
-do_concat
-reverse_and_prepend
-prepend
-do_take
-try_map
-do_try_map
-index_map
-do_index_map
-map2
-do_map2
-do_map
-filter_map
-do_filter_map
-do_filter
-update_group
-rest
-contains
-'-binary_to_term/1-fun-0-'
-'-unsafe_binary_to_term/1-fun-0-'
-priv_directory
-make_reference
-unsafe_binary_to_term
-rescue
-erlang_timestamp
-gleam_erlang_ffi
-collect_test_functions
-run_test_suite
-'showtime@internal@erlang@runner'
-some
-'-mk_runner/2-fun-0-'
-'gleam@string'
-'-mk_runner/2-fun-1-'
-mixed
-'-mk_runner/2-fun-2-'
-'-start_with_args/2-fun-0-'
-end_test_run
-'gleam@list'
-collect_modules
-'showtime@internal@erlang@discover'
-start_test_run
-'showtime@internal@erlang@module_handler'
-'showtime@internal@erlang@event_handler'
-'-main/0-fun-0-'
-start_arguments
-'gleam@erlang'
-with_pretty_help
-default_pretty_help
-one_of
-'glint@flag@constraint'
-string_list
-start_with_args
-let_assert
-gleam_error
-get_string
-'gleam@result'
-get_strings
-'glint@flag'
-mk_runner
-showtime
-already_listening
-register_listener
-lookup_listener
-dtls_listeners_spec
-dtls_connection_sup_dist
-dtls_connection_child_spec
-ssl_upgrade_server_session_cache_sup_dist
-ssl_unknown_listener
-tls_server_session_ticket_sup_dist
-sup_name
-ssl_listen_tracker_sup_dist
-tracker_name
-ssl_upgrade_server_session_child_spec
-ssl_server_session_child_spec
-tls_server_session_child_spec
-listen_options_tracker_child_spec
-tls_dist_connection_sup
-start_child_dist
-server_instance_child_spec
-tls_connection_child_spec
-dtls_sup_child_spec
-tls_sup_child_spec
-update_data_lock
-collect_invalid_tickets
-remove_ticket
-obfuscate_ticket_age
-ticket_data
-psk_identity
-verify_ticket_sni
-last_elem
-get_max_early_data
-iterate_tickets
-do_find_ticket
-inital_state
-remove_invalid_tickets
-update_ticket
-unlock_tickets
-store_ticket
-remove_tickets
-lock_tickets
-get_tickets
-find_ticket
-client_ssl_otp_session_cache
-cache_name
-'-init_certs_keys/3-fun-0-'
-'-prio_ecdsa/1-lc$^0/1-0-'
-namedCurves
-'-prio_ecdsa/1-fun-1-'
-privat_key
-'-prio_rsa_pss/1-fun-0-'
-'-prio_rsa/1-fun-0-'
-'-prio_dsa/1-fun-0-'
-'-init_private_key/3-lc$^0/1-0-'
-'-dh_file/2-lc$^0/1-0-'
-session_cb_opts
-session_cache_client_max
-session_cache_server_max
-max_session_cache_size
-client_session_cb_init_args
-server_session_cb_init_args
-dhfile
-dh_file
-asn1_NOVALUE
-modp2048_generator
-modp2048_prime
-'DHParameter'
-dh
-init_diffie_hellman
-'EcpkParameters'
-asn1_OPENTYPE
-'PrivateKeyInfo_privateKeyAlgorithm'
-'PrivateKeyInfo'
-pem_entry_decode
-password
-keyfile
-invalid_key_id
-key_id
-init_private_key
-init_certificate_file
-certfile
-init_certificates
-cacertfile
-crl_cache
-init_cacerts
-init_manager_name
-internal_active_n
-get_internal_active_n
-server_session_ticket_max_early_data
-get_max_early_data_size
-server_session_ticket_store_size
-get_ticket_store_size
-server_session_ticket_lifetime
-get_ticket_lifetime
-prio_dsa
-prio_rsa
-pkix_hash_type
-'HashAlgorithm'
-prio_params_1
-prio_rsa_pss
-using_curve
-ecc_curves
-prio_ecdsa
-prio_eddsa
-prioritize_groups
-dss
-engine
-rsa_pss_pss
-'RSASSA-PSS-params'
-ecdsa
-eddsa
-namedCurve
-'ECPrivateKey'
-dsa
-'DSAPrivateKey'
-rsa
-'RSAPrivateKey'
-group_pairs
-private_key
-certs
-key
-init_cert_key_pair
-certs_keys
-init_certs_keys
-dh_params
-cert_key_alts
-erl_dist
-load_mitigation
-no_longer_defined
-exists_equivalent
-register_unique_session
-do_register_session
-client_register_session
-client_register_unique_session
-session_validation
-init_session_validator
-start_session_validator
-valid_session
-validate_session
-session_cache
-pem_cache
-fileref_db_handle
-crl_db_info
-cert_db_ref
-cert_db_handle
-validate_sessions
-lifetime
-pre_1_3_session_opts
-client
-delete_crls
-insert_crls
-invalidate_session
-unique
-register_session
-clean_cert_db
-cache_pem_file
-connection_init
-ssl_manager_dist
-'-remove_cert_entries/2-inlined-0-'
-'-refresh_trusted_certs/2-inlined-0-'
-'-remove/1-fun-0-'
-'-lookup_trusted_cert/4-lc$^0/1-0-'
-'-refresh_trusted_certs/2-fun-0-'
-'-extract_trusted_certs/1-lc$^0/1-0-'
-'-lookup/2-fun-0-'
-'-lookup/2-lc$^1/1-1-'
-'-add_certs_from_der/3-fun-0-'
-'-add_certs_from_der/3-lc$^1/1-0-'
-'-certs_from_der/1-lc$^1/1-1-'
-'-certs_from_der/1-lc$^0/1-0-'
-'-add_certs_from_pem/3-fun-0-'
-not_encrypted
-'Certificate'
-'-add_certs_from_pem/3-lc$^1/1-0-'
-'-add_crls/3-lc$^0/1-1-'
-'-add_crls/3-lc$^1/1-0-'
-'-remove_crls/2-lc$^0/1-1-'
-'-remove_crls/2-lc$^1/1-0-'
-'-remove_cert_entries/2-fun-0-'
-remove_cert_entries
-insert_cert_entries
-insert_delete_lists
-update_certs
-'TBSCertList'
-der_decode
-'CertificateList'
-crl_issuer
-rm_crls
-remove_crls
-add_crls
-new_trusted_cert_entry
-pkix_decode_cert
-decoded
-pkix_normalize_name
-'OTPTBSCertificate'
-'OTPCertificate'
-cert
-decode_cert
-add_cert
-add_certs_from_pem
-certs_from_der
-add_certs_from_der
-remove_certs
-init_ref_db
-db_size
-not_cached
-ref_count
-select_certentries_by_ref
-remove_trusted_certs
-decode_pem_file
-pem_decode
-der_otp
-extract_trusted_certs
-refresh
-file_to_certificats
-refresh_trusted_certs
-der
-add_trusted_certs
-extracted
-lookup_trusted_cert
-ssl_otp_crl_issuer_mapping
-ssl_otp_crl_cache
-ssl_otp_ca_ref_file_mapping
-ssl_otp_ca_file_ref
-ssl_otp_cacertificate_db
-ssl_manager_type
-bypass_pem_cache
-bypass_cache
-ssl_pem_cache_clean
-pem_check_interval
-pem_cache_validate
-init_pem_cache_validator
-start_pem_cache_validator
-refresh_trusted_db
-clear_pem_cache
-create_pem_cache
-invalidate_pem
-unconditionally_clear_pem_cache
-cache_pem
-start_link_dist
-ssl_pem_cache_dist
-client_session_ticket_lifetime
-client_session_ticket_store_size
-ticket_store_spec
-session_and_cert_manager_child_spec
-pem_cache_child_spec
-session_lifetime
-session_cb_init_args
-session_cb
-manager_opts
-ssl_admin_child_spec
-logger_h_common_logger_std_h_ssl_handler_restarting
-logger_std_h_ssl_handler
-asn1_certificates
-verify_data
-request_update
-exchange_keys
-certificate_list
-certificate_request_context
-status_type
-hashsign_algorithm
-algorithm
-protocol_version
-certificate_authorities
-hashsign_algorithms
-certificate_types
-hashsign
-params_bin
-ticket
-ticket_nonce
-ticket_age_add
-ticket_lifetime
-compression_method
-cipher_suite
-server_version
-compression_methods
-client_version
-'-parse_cipher_suites/1-lc$^0/1-0-'
-format_uknown_cipher_suite
-number_to_hex
-prepend_eighths_hex
-prepend_hex
-prepend_row
-prepend_first_row
-update_row
-calculate_padding
-end_row
-row_prefix
-leading
-convert_to_hex
-msg_type
-tls_record_version
-header_prefix_tls_record
-format_tls_record
-header_prefix
-server_hello_selected_version
-get_server_version
-client_hello_versions
-get_client_version
-suite_map_to_str
-suite_bin_to_map
-format_cipher
-parse_cipher_suites
-server_hello_done
-hello_request
-end_of_early_data
-server_key_exchange
-key_update
-encrypted_extensions
-client_key_exchange
-certificate
-hello_verify_request
-certificate_verify_1_3
-certificate_verify
-certificate_status
-certificate_request_1_3
-certificate_1_3
-certificate_request
-server_key_params
-new_session_ticket
-server_hello
-client_hello
-parse_handshake
-format_handshake
-build_tls_record
-own_alert_format
-alert_format
-role
-statename
-own
-alerter
-direction
-handshake
-outbound
-inbound
-stop_logger
-filter_non_ssl
-ssl_handler
-start_logger
-asn1db
-asn1_ns
-asn1rt_nif
-'PKCS-FRAME'
-'OTP-PUB-KEY'
-pubkey_os_cacerts
-pubkey_ocsp
-pubkey_crl
-pubkey_cert_records
-pubkey_cert
-pubkey_ssh
-pubkey_pbe
-pubkey_pem
-rand_cache_size
-fips_mode
-crypto_ec_curves
-ssl_connection_sup
-ssl_admin_sup
-ssl_sup
-ssl_app
-ssl_trace
-ssl_logger
-ssl_crl_hash_dir
-ssl_crl_cache_api
-ssl_crl_cache
-ssl_crl
-ssl_certificate
-ssl_pkix_db
-ssl_pem_cache
-ssl_manager
-ssl_upgrade_server_session_cache_sup
-ssl_server_session_cache_sup
-ssl_server_session_cache_db
-ssl_server_session_cache
-ssl_client_session_cache_db
-ssl_session
-tls_dist_server_sup
-tls_dist_sup
-ssl_dist_admin_sup
-ssl_dist_connection_sup
-ssl_dist_sup
-inet6_tls_dist
-inet_tls_dist
-tls_client_ticket_store
-tls_bloom_filter
-ssl_listen_tracker_sup
-ssl_alert
-ssl_srp_primes
-ssl_cipher_format
-ssl_cipher
-ssl_record
-ssl_handshake
-ssl_gen_statem
-ssl_config
-tls_dtls_connection
-ssl_session_cache_api
-dtls_server_session_cache_sup
-dtls_server_sup
-dtls_sup
-dtls_listener_sup
-dtls_packet_demux
-dtls_gen_connection
-dtls_connection_sup
-dtls_v1
-dtls_socket
-dtls_record
-dtls_handshake
-dtls_connection
-ssl_dh_groups
-tls_dyn_connection_sup
-tls_sup
-tls_server_session_ticket
-tls_server_session_ticket_sup
-tls_server_sup
-tls_sender
-tls_gen_connection
-tls_connection_sup
-tls_v1
-tls_socket
-tls_record_1_3
-tls_record
-tls_handshake_1_3
-tls_handshake
-tls_gen_connection_1_3
-tls_server_connection_1_3
-tls_client_connection_1_3
-tls_connection
-bad_descriptor
-get_fd
-ip_comm
-socket_type
-listen_loop
-listen_init
-listen_owner
-start_listen
-socket_start_failed
-mk_tuple_list
-httpd_child_spec_nolisten
-httpd_child_spec_listen
-bind_address
-could_not_consult_proplist_file
-validate_properties
-proplist_file
-httpd_config
-valid_options
-accept_timeout
-'-lookup_cookies/3-fun-0-'
-'-parse_set_cookies/2-lc$^0/1-0-'
-'-parse_set_cookies/2-lc$^1/1-1-'
-'-parse_set_cookie_attributes/1-lc$^0/1-0-'
-'-accept_cookies/3-fun-0-'
-image_of
-path_sort
-valid_cookies
-is_cookie_expired
-cookie_expires
-accept_domain
-accept_path
-accept_cookie
-accept_cookies
-skip_right_most_slash
-path_default
-domain_default
-datetime_to_gregorian_seconds
-convert_netscapecookie_date
-cookie_attributes
-parse_set_cookie_attribute
-parse_set_cookie_attributes
-substr
-parse_set_cookie
-parse_set_cookies
-chr
-is_set_cookie_valid
-add_domain
-cookie_to_string
-cookies_to_string
-merge_domain_parts
-lookup_domain_cookies
-is_hostname
-lookup_cookies
-session_cookies
-headers
-request_path
-request_host
-http_cookie
-maybe_dets_close
-failed_open_file
-cookie_db
-httpc_manager__cookie_db
-httpc_manager__session_cookie_db
-httpc_manager__handler_db
-httpc_manager__session_db
-do_print_trace
-print_trace
-do_print_inets_trace
-print_inets_trace
-format_timestamp
-closed_file
-handle_trace
-hopefully_traced
-error_to_exit
-ctp
-change_pattern
-bad_level
-make_pattern
-set_level
-stop_trace
-valid_trace_service
-do_enable
-trace_port
-enable2
-invalid_service
-'API_violation'
-'-which_sessions2/1-lc$^0/1-0-'
-'-which_sessions2/1-lc$^1/1-1-'
-'-which_sessions2/1-lc$^2/1-2-'
-'-code_change/3-fun-1-'
-'-code_change/3-fun-0-'
-'-get_manager_info/1-lc$^0/1-0-'
-'-get_handler_info/1-lc$^0/1-0-'
-'-get_handler_info/1-lc$^1/1-1-'
-'-select_session/2-lc$^0/1-0-'
-tp
-tpl
-handle_verbose
-get_unix_socket_opts
-get_socket_opts
-get_verbose
-get_port
-get_ipfamily
-get_cookies
-get_max_sessions
-get_keep_alive_timeout
-get_max_keep_alive_length
-get_max_pipeline_length
-get_pipeline_timeout
-get_https_proxy
-get_proxy
-scheme_default_port
-unexpected
-maybe_error
-uri_parse
-make_db_name
-handler_db_name
-session_cookie_db_name
-cookie_db_name
-session_db_name
-do_store_cookies
-handle_cookies
-generate_request_id
-is_inets_manager
-pipeline_or_keep_alive
-no_session
-no_connection
-host_port
-candidates
-is_idempotent
-select_session
-start_handler
-convert_options
-get_handler_info
-sort_handlers2
-sort_handlers
-sessions
-get_manager_info
-update_session_table
-upgrade_from_pre_5_8_1
-downgrade_to_pre_5_8_1
-close_db
-request_id
-option_items
-url
-open_db
-do_init
-pipeline
-keep_alive
-session_type
-which_session_info
-non_session
-bad_session
-good_session
-which_sessions_order
-which_sessions2
-session_is
-delete_session
-pos
-update_session
-session_id
-lookup_session
-session
-insert_session
-request_done
-redirect_request
-retry_or_redirect_request
-retry_request
-no_such_service
-invalid_field
-invalid_value
-headers_error
-http_request_h
-streaming_error
-field
-no_scheme
-return_map
-service_not_available
-verify_peer
-inets_not_started
-invalid_method
-invalid_request
-patch
-post
-'-services/0-lc$^0/1-0-'
-'-service_info/1-lc$^0/1-0-'
-to_lower
-'-handle_request/9-lc$^0/1-0-'
-eof_body
-'-mk_chunkify_fun/1-fun-0-'
-'-http_options/3-fun-0-'
-to_upper
-'-http_options_default/0-fun-0-'
-'-http_options_default/0-fun-1-'
-essl
-'-http_options_default/0-fun-2-'
-'-http_options_default/0-fun-3-'
-'-http_options_default/0-fun-4-'
-'-http_options_default/0-fun-5-'
-'-boolfun/0-fun-0-'
-'-request_options_defaults/0-fun-0-'
-'-request_options_defaults/0-fun-1-'
-'-request_options_defaults/0-fun-2-'
-'-request_options_defaults/0-fun-3-'
-'-request_options/3-fun-0-'
-bad_body_generator
-check_body_gen
-child_name
-child_name2info
-header_parse
-validate_headers
-header_record
-validate_unix_socket
-validate_verbose
-validate_socket_opts
-validate_port
-validate_ip
-validate_ipfamily
-inet6fb4
-validate_ipv6
-validate_cookies
-validate_max_pipeline_length
-validate_pipeline_timeout
-validate_max_keep_alive_length
-validate_keep_alive_timeout
-validate_max_sessions
-validate_https_proxy
-validate_proxy
-not_an_option
-pipeline_timeout
-max_sessions
-max_pipeline_length
-max_keep_alive_length
-keep_alive_timeout
-https_proxy
-ipfamily
-validate_ipfamily_unix_socket
-bad_options_combo
-request_options_sanity_check
-request_options
-request_options_defaults
-boolfun
-autoredirect
-proxy_auth
-url_encode
-connect_timeout
-http_options_default
-value_lazy
-http_options
-headers_as_is
-body_format
-maybe_format_body
-full_result
-return_answer
-saved_to_file
-handle_answer
-mk_chunkify_fun
-ensure_chunked_encoding
-bad_scheme
-scheme_to_atom
-add_question_mark
-bad_body
-normalize_host
-maybe_add_brackets
-userinfo
-ipv6_host_with_brackets
-unix_socket
-socket_opts
-receiver
-chunkify
-normalize_and_parse_url
-service_info
-stand_alone
-start_standalone
-stream_next
-reset_cookies
-which_sessions
-report_event
-which_cookies
-cookie_header
-default_port
-cookies
-recompose
-parse_failed
-store_cookies
-cacerts
-cacerts_get
-customize_hostname_check
-pkix_verify_hostname_match_fun
-ssl_verify_host_options
-set_option
-cancel_request
-check_request
-do_request
-profile_name
-no_profile
-stop_child
-data_dir
-child_specs
-only_session_cookies
-'-children/0-lc$^0/1-0-'
-'-children/0-lc$^1/1-1-'
-default_profile
-is_httpc
-is_httpd
-httpd_child_spec
-httpc_child_spec
-children
-get_services
-runtime_dependencies
-mod_trace
-mod_security_server
-mod_security
-mod_responsecontrol
-mod_range
-mod_log
-mod_head
-mod_get
-mod_esi
-mod_disk_log
-mod_dir
-mod_cgi
-mod_auth_server
-mod_auth_plain
-mod_auth_mnesia
-mod_auth_dets
-mod_auth
-mod_alias
-mod_actions
-httpd_sup
-httpd_socket
-httpd_script_env
-httpd_response
-httpd_request_handler
-httpd_request
-httpd_misc_sup
-httpd_manager
-httpd_logger
-httpd_log
-httpd_instance_sup
-httpd_file
-httpd_example
-httpd_esi
-httpd_custom_api
-httpd_custom
-httpd_connection_sup
-httpd_cgi
-httpd_acceptor_sup
-httpd_acceptor
-http_util
-http_transport
-http_chunk
-httpc_cookie
-httpc_sup
-httpc_response
-httpc_request
-httpc_profile_sup
-httpc_manager
-httpc_handler_sup
-httpc_handler
-httpc
-inets_lib
-inets_trace
-inets_service
-inets_app
-inets_sup
-inets
-gleam_community_colour
-tom
-snag
-glint
-gleam_otp
-gleam_httpc
-gleam_http
-gleam_community_ansi
-gap
-'day7@solve'
-'day7@day7_test'
-simplifile
-gleeunit
-gleam_stdlib
-gleam_erlang
-adglent
-'-open/1-fun-0-'
-'-fake_reader/1-fun-0-'
-'-reader/2-fun-0-'
-'-com_enc_end/1-lc$^0/1-0-'
-'-keep_ftr_keywords/0-fun-0-'
-'-keep_ftr_keywords/0-fun-1-'
-'-predef_macros/2-lc$^0/1-0-'
-'-predef_macros/2-lc$^1/1-1-'
-'-ftr_macro/1-fun-0-'
-'-ftr_macro/1-fun-1-'
-'-wait_request/1-lc$^0/1-0-'
-'-eval_if/2-fun-0-'
-'-interpret_file_attr/3-fun-0-'
-interpret_file_attr
-interpret_file_attribute
-line1
-start_loc
-add_line
-expand_var1
-expand_var
-wait_epp_reply
-epp_reply
-var_or_atom
-find_mismatch
-coalesce_strings
-stringify
-stringify1
-token_src
-comma
-classify_token_1
-classify_token
-update_fun_name_1
-update_fun_name
-expand_arg
-expand_macro
-macro_arg
-count_args
-store_arg
-macro_args
-bind_args
-'FUNCTION_NAME'
-'FUNCTION_ARITY'
-get_macro_uses
-check_uses
-expand_macro1
-expand_macros
-check_macro_arg
-macro_expansion
-macro_pars_end
-macro_pars_cont
-macro_pars
-skip_elif
-skip_else
-skip_toks
-scan_file1
-scan_endif
-scan_elif
-to_conses
-defined
-rewrite_expr
-assert_guard_expr
-eval_if
-scan_if
-scan_else
-is_macro_defined
-scan_ifndef
-scan_ifdef
-lib
-scan_include_lib1
-scan_include_lib
-expand_lib_dir
-scan_include1
-scan_include
-scan_undef
-macro_ref
-macro_uses
-scan_define_cont
-scan_define_2
-scan_define_1
-scan_define
-update_features
-scan_feature
-scan_err_warn
-'BASE_MODULE_STRING'
-'BASE_MODULE'
-scan_extends
-'MODULE_STRING'
-'MODULE'
-scan_module_1
-extends
-scan_module
-leave_prefix
-in_prefix
-include_lib
-ifndef
-ifdef
-endif
-elif
-define
-scan_toks
-leave_file
-enter_file_reply
-enter_file2
-enter_file
-wait_req_skip
-wait_req_scan
-close_file
-epp_request
-wait_request
-user_predef
-ftr_macro
-'FILE'
-'LINE'
-'MACHINE'
-'OTP_RELEASE'
-'FEATURE_AVAILABLE'
-'FEATURE_ENABLED'
-predef_macros
-keep_ftr_keywords
-source_name
-init_server
-not_typed
-normalize_typed_record_fields
-com_encoding
-com_enc_end
-com_enc
-com_space
-com_sep
-com_oding
-com_c
-com
-com_nl
-read_encoding_from_file
-fake_reader
-in_comment_only
-read_encoding
-encoding_to_string
-features
-get_features
-premature_end
-missing_parenthesis
-missing_comma
-ftr_after_prefix
-elif_after_else
-cannot_parse
-redefine_predef
-redefine
-mismatch
-illegal_function_usage
-illegal_function
-duplicated_argument
-arg_error
-'NYI'
-circular
-macro_defs
-includes
-macros
-print_stack_frame
-stack_filter
-print_error
-main
-aoc2023
-'X'
-'-predefined_functions/1-lc$^0/1-0-'
-'-predefined_functions/1-lc$^1/1-1-'
-'-predefined_functions/1-lc$^2/1-2-'
-'-predefined_functions/1-lc$^3/1-3-'
-'-get_optional_callbacks/1-lc$^0/1-0-'
-'-module_predef_func_beh_info/2-lc$^0/1-0-'
-module_predef_funcs_mod_info
-make_list
-module_predef_func_beh_info
-get_optional_callbacks
-predefined_functions
-add_predefined_functions
-pos_integer
-nonempty_string
-nonempty_maybe_improper_list
-nonempty_improper_list
-nonempty_bitstring
-nonempty_binary
-non_neg_integer
-neg_integer
-maybe_improper_list
-iolist
-identifier
-byte
-bitsize
-send_op
-list_op
-comp_op
-bool_op
-new_type_test
-stream_state
-retired_ecb_cipher_aliases
-retired_ctr_cipher_aliases
-retired_cfb_cipher_aliases
-retired_cbc_cipher_aliases
-hmac_state
-user_info
-uri
-query
-fragment
-default_scheme_port_number
-node_cookie
-cookie
-local_time_to_universal_time
-rehash
-is_module_native
-literal_value
-is_literal_list
-is_literal
-get_anno
-stream_init
-stream_encrypt
-stream_decrypt
-rand_uniform
-poly1305
-next_iv
-hmac_update
-hmac_init
-hmac_final_n
-hmac_final
-hmac
-crypto_dyn_iv_update
-crypto_dyn_iv_init
-cmac
-block_encrypt
-block_decrypt
-stop_clear
-lclose
-inc_wrap_file
-accessible_logs
-modify_line
-get_attributes
-get_attribute
-token_info
-set_attribute
-attributes_info
-hash
-get_stacktrace
-safe_relative_path
-find_src
-stop_service
-start_service
-scheme_defaults
-parse_query
-make_integer
-is_directory
-custom_clean
-check_enum
-integer_to_hexlist
-hexlist_to_integer
-ssh_hostkey_fingerprint
-ssh_encode
-ssh_decode
-safe_multi_server_call
-ssl_accept
-negotiated_next_protocol
-connection_info
-cipher_suites
-get_debug
-enableYearChange
-wxCalendarCtrl
-public_key
-os_mon_mib
-httpd_util
-httpd_conf
-httpd
-http_uri
-ftp
-erts_alloc_config
-dbg
-ct_slave
-asn1ct
-intersection1
-aoc2023_test
-is_settable
-anno_info
-simplify
-reset_simplify
-set_anno
-set_record
-set_line
-is_string
-is_filename
-is_anno2
-is_anno1
-new_location
-'aoc2023@@main'
-'-inlined-new_column/2-'
-'-inlined-incr_column/2-'
-'-options/1-fun-1-'
-'-remove_digit_separators/2-lc$^0/1-0-'
-let
-cond
-f_reserved_word
-nl_tabs
-spcs
-nl_spcs
-scan_error
-tok3
-tok2
-scan_check1
-scan_check
-comment
-scan_comment
-scan_comment_fun
-skip_comment
-skip_comment_fun
-float_end
-scan_exponent
-scan_exponent_sign
-scan_fraction
-scan_based_int
-remove_digit_separators
-with_underscore
-scan_number
-caret_char_code
-escape_char
-scan_hex_end
-scan_hex
-scan_escape
-scan_string1
-scan_string_col
-scan_string_no_col
-scan_string0
-scan_qatom
-char_error
-scan_string
-scan_char
-scan_white_space
-scan_white_space_fun
-skip_white_space
-skip_white_space_fun
-scan_tabs
-scan_tabs_fun
-scan_spcs
-scan_spcs_fun
-newline_end
-scan_nl_white_space
-scan_nl_white_space_fun
-scan_nl_tabs
-scan_nl_tabs_fun
-scan_nl_spcs
-scan_nl_spcs_fun
-scan_newline
-scan_dot
-scan_name
-scan_variable
-scan_variable_fun
-scan_atom
-scan_atom_fun
-not_character
-'&'
-'@'
-'\\'
-'^'
-'`'
-'~'
-white_space
-no_underscore
-scan1
-string1
-tokens1
-expand_opt
-reserved_word_fun
-ssa_checks
-compiler_internal
-text_fun
-return_white_spaces
-return_comments
-string_thing
-category
-erl_scan_continuation
-no_col
-illegal
-'-open_1/3-fun-0-'
-match_binary
-match_writable
-match_delayed
-compressed_one
-match_compressed
-add_unless_matched
-add_implicit_modes
-open_layer
-open_1
-reverse_pairs
-append_list
-fetch_keys
-no_source
-'-c/2-fun-0-'
-'-c/5-fun-0-'
-'-format_docs/1-fun-0-'
-'-lc/1-fun-0-'
-'-lc_batch/1-lc$^0/1-0-'
-'-i/1-fun-0-'
-'-all_procs/0-fun-0-'
-'-m/0-fun-0-'
-'-lm/0-lc$^0/1-0-'
-'-nregs/0-fun-0-'
-'-all_regs/0-lc$^0/1-0-'
-'-print_node_regs/1-fun-0-'
-'-print_node_regs/1-fun-1-'
-appcall
-parsetools
-yecc
-y
-tools
-xref
-xm
-seconds_to_daystime
-get_uptime
-uptime
-max_length
-ls_print
-ls
-pwd
-portformat
-portline
-procformat
-procline
-portinfo
-pwhereis
-pids_and_ports
-print_node_regs
-all_regs
-regs
-nregs
-split_print_exports
-print_exports
-get_compile_info
-get_compile_options
-print_md5
-print_object_file
-bi
-f_p_e
-lm
-mm
-mformat
-bt
-all_procs
-iformat
-mfa_string
-'more (y/n)? (y) '
-paged_output
-less
-ni
-l
-nc
-d
-split_def
-'@o'
-'@i'
-'@d'
-lc_batch
-output_generated
-purge_and_load
-src_suffix
-from_opt
-from_core
-from_asm
-is_from_opt
-is_outdir_opt
-ensure_outdir
-ensure_from
-report_warnings
-compile_and_load
-safe_recompile
-find_beam_1
-find_beam
-source
-find_source
-old_options
-format_docs
-render_callback
-hcb
-render_type
-ht
-unknown_format
-render
-outdir
-help
-logger_h_common_logger_std_h_default_restarting
-logger_std_h_default
-handler_busy
-cancel_repeated_filesync
-set_repeated_filesync
-check_common_config
-string_to_binary
-formatter_crashed
-try_format
-formatter_error
-caught
-do_log_to_binary
-log_to_binary
-log_handler_info
-restart_impossible
-rep_sync_tref
-repeated_filesync
-last_op
-handler_state
-ctrl_sync_count
-olp
-file_ctrl_process_not_started
-'-fix_modes/1-lc$^0/1-0-'
-'-fix_modes/1-fun-1-'
-'-file_ctrl_start/2-fun-0-'
-error_notify
-maybe_notify_error
-decompress_data
-decompress_file
-compress_data
-compress_file
-rot_file_name
-rotate_files
-rotate_file
-maybe_rotate_file
-maybe_update_compress
-maybe_remove_archives
-curr_size
-rotation
-update_rotation
-sync_dev
-write_to_dev
-could_not_create_dir_for_file
-could_not_reopen_file
-ensure_open
-ensure_file
-maybe_ensure_file
-file_ctrl_loop
-open_failed
-dev
-file_ctrl_init
-file_ctrl_call
-file_ctrl_filesync
-file_write
-file_ctrl_stop
-file_ctrl_start
-delayed_write_close
-close_log_file
-write_res
-sync_res
-last_check
-inode
-handler_name
-open_log_file
-write_failed
-config_changed
-delayed_write
-fix_modes
-no_repeat
-filesync_repeat_interval
-fix_file_opts
-merge_default_config
-normalize_config
-modes
-max_no_files
-max_no_bytes
-file_check
-compress_on_rotate
-check_h_config
-file_ctrl_pid
-filesync
-'-format/2-fun-0-'
-'-check_template/1-fun-0-'
-check_timezone
-check_offset
-check_template
-check_limit
-invalid_formatter_template
-do_check_config
-offset_to_utc
-utc_log
-get_utc_config
-utc_to_offset
-get_offset
-get_depth
-get_max_size
-default_template
-add_default_template
-add_default_config
-month
-error_logger_notice_header
-add_legacy_title
-maybe_add_legacy_header
-timestamp_to_datetimemicro
-system_time_to_rfc3339
-time_designator
-format_time
-get_first
-get_last
-chardata_to_list
-limit_depth
-reformat
-chars_limit_to_opts
-format_msg
-linearize_template
-template
-resource
-cleanup
-pong
-ping
-'-wait_nodes/2-fun-0-'
-sync_nodes_optional
-get_sync_optional_nodes
-sync_nodes_mandatory
-get_sync_mandatory_nodes
-sync_nodes_timeout
-get_sync_timeout
-get_sync_data
-check_up
-mandatory_nodes_down
-wait_nodes
-sync_nodes
-'__not_used'
-dist_ac_took_control
-go
-'-start_interval_loop/5-fun-0-'
-remove_timer
-schedule_interval_timer
-interval_loop
-start_interval_loop
-maybe_req
-req
-hms
-hours
-minutes
-now_diff
-tc
-interval
-send_interval
-apply_repeatedly
-apply_interval
-kill_after
-send_local
-apply_once
-instant
-logger_proxy_logger_proxy_restarting
-cond_lowercase
-flat_trunc
-prefixed_integer
-unprefixed_integer
-string_field
-limit_field
-limit_cdata_to_chars
-cdata_to_chars
-final
-limit_iolist_to_chars
-iolist_to_chars
-float_data
-signbit
-abs_float_f
-float_f
-fwrite_f
-float_exp
-float_man
-abs_float_e
-float_e
-fwrite_e
-column
-base
-uniconv
-control_limited
-control_small
-decr_pc
-build_limited
-not_small
-build_small
-w
-count_small
-collect_cc
-field_value
-field_width
-modifiers
-collect_cseq
-collect
-print_maps_order
-print_strings
-print_encoding
-print_pad_char
-print_precision
-print_field_width
-control_char
-pad_char
-precision
-strings
-width
-wrap
-quiet
-'-to_drop/0-lc$^0/1-0-'
-show
-show_custom_provider_faulty_add_return
-'$#erlang-history-custom-return'
-show_custom_provider_faulty_load_return
-'$#erlang-history-custom-crash'
-show_custom_provider_crash
-'$#erlang-history-size'
-show_size_warning
-'$#erlang-history-unexpected-close'
-show_unexpected_close_warning
-'$#erlang-history-unexpected-return'
-show_unexpected_warning
-'$#erlang-history-invalid-file'
-show_invalid_file_warning
-'$#erlang-history-invalid-chunk-warn'
-show_invalid_chunk_warning
-'$#erlang-history-rename-warn'
-show_rename_warning
-shell_history_drop
-to_drop
-shell_history_path
-find_path
-'$#erlang-history-disable'
-disable_history
-'$#erlang-history-upgrade'
-upgrade_version
-'$#erlang-history-resize-result'
-new_size_too_small
-change_size
-'$#erlang-history-resize-attempt'
-resize_log
-'$#erlang-history-report-repairs'
-report_repairs
-shell_history_file_bytes
-find_wrap_values
-disk_log_info
-'$#erlang-history-invalid-header'
-not_a_log_file
-invalid_index_file
-'$#erlang-history-file-error'
-'$#erlang-history-arg-mismatch'
-handle_open_error
-maybe_drop_header
-maybe_resize_log
-read_full_log
-ensure_dir
-ensure_path
-log_options
-open_log_no_size
-open_log
-init_running
-is_user
-shell_history
-history_status
-open_new_log
-repair_log
-wait_for_kernel_safe_sup
-no_such_log
-need_repair
-name_already_open
-invalid_header
-repair
-arg_mismatch
-badbytes
-recovered
-'$#group_history'
-'-write/2-fun-0-'
-chars_length
-test_limit_bitstring
-test_limit_map_assoc
-test_limit_map_body
-test_limit_map
-test_limit_tuple
-test_limit_tail
-test_limit
-limit_bitstring
-limit_map_assoc
-limit_map_body
-limit_map
-limit_tuple
-limit_tail
-limit
-binrev
-collect_line_list
-collect_line_bin
-collect_chars_list
-collect_chars1
-count_and_find_utf8
-printable_latin1_list
-deep_unicode_char_list
-deep_latin1_char_list
-write_char_as_latin1
-write_latin1_char
-write_unicode_char
-string_char
-write_string1
-unicode_as_latin1
-write_string_as_latin1
-write_latin1_string
-write_unicode_string
-unicode_as_unicode
-name_char
-name_chars
-reserved_word
-quote_atom
-write_possibly_quoted_atom
-tsub
-write_binary_body
-write_binary
-write_map_assoc
-write_map_body
-write_map
-write_ref
-write_port
-write_tuple
-write_tail
-fwrite_g
-write1
-intermediate
-maps_order
-add_modifier
-do_format_prompt
-indentation
-test_modules_loaded
-build_text
-unscan
-unscan_format
-scan
-'-edit_line1/2-lc$^0/1-0-'
-'-over_word/3-lc$^0/1-0-'
-'-chars_before/1-lc$^0/1-0-'
-'-current_line/1-fun-0-'
-cp_len
-gc_len
-current_chars
-length_after
-length_before
-chars_before
-multi_line_prompt
-erase_inp
-over_paren_auto
-over_paren
-word_char
-over_non_word
-over_word2
-over_word1
-until_quote
-over_word
-skip_up
-skip_down
-do_op
-insert_search
-kill_line
-transpose_char
-backward_kill_word
-yank
-auto_blink
-beginning_of_expression
-backward_line
-backward_word
-forward_line
-forward_word
-forward_char
-kill_word
-backward_char
-end_of_line
-beginning_of_line
-transpose_word
-yank_pop
-clear_line
-forward_delete_char
-backward_delete_char
-key_map
-ctlu
-prefix_arg
-redraw
-end_of_expression
-tab_expand_full
-tab_expand
-search_meta_left_sq_bracket
-search_meta
-new_line_finish
-new_line
-meta_o
-meta_meta
-meta_csi
-ctlx
-csi
-edit
-kill_buffer
-'-normalize_expand_fun/2-fun-0-'
-'-get_line1/5-lc$^3/1-0-'
-'-get_line1/5-lc$^4/1-1-'
-format_prompt
-prompt_bytes
-edit_password
-get_password1
-get_password_line
-search_down_stack
-search_up_stack
-save_line_buffer
-pad_stack
-get_all_lines
-get_lines
-save_line
-down_stack
-up_stack
-stack
-new_stack
-get_line_timeout
-remainder_after_nl
-get_chars_echo_off1
-get_chars_echo_off
-get_line_echo_off1
-get_line_echo_off
-more_data
-redraw_line
-search_result
-search_found
-search_cancel
-number_matches
-format_matches
-search_quit
-expand_full
-search_quit_prompt
-edit_line1
-to_graphemes
-meta_left_sq_bracket
-prompt
-erase_line
-get_line1
-interrupted
-get_chars_n_loop
-current_line
-get_chars_loop
-get_chars_line
-get_chars_n
-get_password_chars
-terminal
-normalize_expand_fun
-send_drv_reqs
-send_drv
-collect_chars
-get_tty_geometry
-exit_shell
-driver_id
-start_shell1
-whereis_shell
-unicode_state
-read_mode
-line_buffer
-convert_binaries
-bc_req
-default_output
-default_input
-execute_request
-parse_erl_form
-scan_erl_form
-scan_erl_exprs
-fread
-conv_reason
-get_password
-sig
-ebadf
-canon
-'-handle_request/2-lc$^0/1-0-'
-'-handle_request/2-lc$^1/1-1-'
-'-in_view/1-lc$^0/1-0-'
-'-in_view/1-lc$^1/1-1-'
-'-in_view/1-lc$^3/1-2-'
-'-in_view/1-lc$^2/1-3-'
-'-cols_multiline/4-lc$^0/1-0-'
-'-npwcwidthstring/1-lc$^0/1-0-'
-'-characters_to_output/1-fun-0-'
-'-characters_to_buffer/1-fun-0-'
-'-binary_to_latin1/1-lc$^0/1-0-'
-tty_read_signal
-tgoto_nif
-tgetstr_nif
-tgetflag_nif
-tgetnum_nif
-tgetent_nif
-tgoto
-tgetstr
-tgetflag
-tgetnum
-tgetent
-wcswidth
-sizeof_wchar
-wcwidth
-isprint
-tty_window_size
-tty_encoding
-tty_select
-setlocale
-tty_set
-tty_init
-tty_create
-encode
-char_to_latin1
-binary_to_latin1
-is_usascii
-to_latin1
-ansi_sgr
-ansi
-insert_buf
-characters_to_buffer
-characters_to_output
-xnfix
-is_wide
-not_printable
-npwcwidth
-next_grapheme
-npwcwidthstring
-update_geometry
-cols
-cols_multiline
-split_cols_multiline
-cols_after_cursor
-in_view
-right
-left
-move_cursor
-split_cols
-last_or_empty
-unhandled_request
-both
-redraw_prompt_pre_deleted
-writer_loop
-user_drv_writer
-reader_loop
-user_drv_reader
-winch
-cont
-reader_stop
-reader
-writer
-init_term
-standard_io_encoding
-primitive
-state_name
-should_not_have_arrived_here_but_instead_in
-'-inlined-loop_state_enter/9-'
-'-format_log_single/2-fun-0-'
-'-list_timeouts/1-lc$^0/1-0-'
-list_timeouts
-limit_client_info
-terminate_sys_debug
-bad_reply_action_from_state_function
-do_reply_then_terminate
-reply_then_terminate
-bad_return_from_callback_mode
-state_enter
-callback_mode_result
-get_callback_mode
-parse_timeout_opts_abs
-loop_done
-loop_timeouts_update
-loop_timeouts_cancel
-loop_timeouts_register
-loop_timeouts_start
-loop_timeouts
-loop_next_events
-loop_state_change
-loop_keep_state
-loop_state_transition
-loop_actions_next_event_bad
-loop_actions_next_event
-loop_actions_reply
-bad_action_from_state_function
-state_timeout
-pop_callback_module
-bad_state_enter_action_from_state_function
-push_callback_module
-change_callback_module
-loop_actions_list
-loop_actions
-bad_return_from_state_function
-repeat_state_and_data
-repeat_state
-bad_state_enter_return_from_state_function
-stop_and_reply
-loop_state_callback_result
-handle_event_function
-loop_state_callback
-loop_event
-loop_receive_result
-t0q
-loop_receive
-loop_hibernate
-wakeup_from_hibernate
-event_string
-insert_timeout
-consume
-sys_debug
-timeouts
-postponed
-bad_return_from_init
-init_result
-params
-replies
-dirty_timeout
-clean_timeout
-postpone
-'-gr_list/1-inlined-0-'
-'-init_local_shell/2-fun-0-'
-'-group_opts/1-fun-1-'
-'-group_opts/1-fun-0-'
-'-gr_list/1-fun-0-'
-gr_list
-gr_cur_index
-gr_cur_pid
-gr_del_pid
-gr_set_num
-gr_set_cur
-gr_add_cur
-gr_get_info
-gr
-gr_get_num
-gr_new_group
-gr_new
-handle_req
-mktemp
-disable_reader
-is_file
-delete_line
-delete_after_cursor
-beep
-move
-move_rel
-move_line
-delete_chars
-insert_over
-expand_with_trim
-put_expand_no_trim
-put_expand
-insert_chars_over
-insert_chars
-putc_raw
-putc
-redraw_prompt
-move_combo
-expand_below
-below
-shell_expand_location
-expand_fun
-group_opts
-list_commands
-unknown_group
-j
-r
-h
-'?'
-switch_cmd
-blink
-edit_line
-jcl
-shell_esc
-more_chars
-activate
-new_prompt
-ctrl_c
-contains_ctrl_g_or_ctrl_c
-put_chars_sync
-die
-enable_reader
-chomp
-window_size
-tty_geometry
-get_unicode_state
-get_terminal_state
-interrupt
-switch_loop
-ctrl_g
-editor_data
-editor
-handle_signal
-open_editor
-keep_state
-set_unicode_state
-keep_state_and_data
-reinit
-next_state
-init_shell
-init_local_shell
-shell_slogan
-init_remote_shell
-init_noshell
-exit_on_remote_shell_error
-handles
-init_standard_error
-old
-next_event
-isatty
-stdin
-state_functions
-callback_mode
-'tty_sl -c -e'
-current_group
-whereis_group
-start_shell
-remsh
-initial_shell
-oldshell
-nouser
-noinput
-get_user
-wait_for_user_p
-start_user
-relay1
-start_relay
-'-inlined-result/4-'
-'-receive_response/3-anonymous-0-'
-'-reqids_to_list/1-fun-0-'
-mcall_map_replies
-mcall_abandon
-mcall_result
-mcall_receive_replies
-local_call
-mcall_send_requests
-mcall_send_request
-mcall_local_call
-expired
-time_left
-call_abandon
-trim_stack_aux
-use_all
-nonexisting
-call_result
-multicast_send_requests
-'no global_groups definiton'
-illegal_function_call
-global_group_not_runnig
-not_boolean
-'-handle_call/3-inlined-1-'
-'-init/1-fun-1-'
-'-initial_group_setup/3-fun-0-'
-'-initial_group_setup/3-fun-1-'
-'-schedule_conf_changed_checks/3-fun-0-'
-'-make_group_conf/2-lc$^0/1-0-'
-'-disconnect_nodes/2-fun-0-'
-'-force_nodedown/2-fun-0-'
-force_nodedown
-disconnect_nodes
-check_exit_ggc
-check_exit_where
-check_exit_send
-not_found_ignored
-check_exit_reg
-check_exit
-safesend_nc
-not_own_group
-safesend
-send_monitor
-delete_all
-global_group_check_dispatcher
-lookup_group_conf
-alive_state_change_group_conf
-make_group_conf
-new_group_conf
-fetch_new_group_conf
-grp_tuple
-'node defined twice'
-no_name
-config_scan
-removing_node_state_of_member_node
-node_state
-conf_changed_check
-handle_erpc_response
-schedule_conf_changed_checks
-log_sync_error
-nodeup_conf_check
-continue_handle_info
-find_name
-registered_names_res
-find_name_res
-send_res
-config_ok
-illegal_message
-own_group_name
-own_group_nodes
-synced_nodes
-no_contact
-other_groups
-monitoring
-conf_check
-gconf
-names
-names_test
-whereis_test
-test3844zty
-not_agreed
-sync_error
-agreed
-no_conf
-'invalid global_groups definition'
-initial_group_setup
-global_group_check
-whereis_name_test
-send_test
-registered_names_test
-ng_add_check
-own_nodes
-do_start_link
-no_epmd
-net_sup_dynamic
-'-intersect_with/3-fun-0-'
-'-merge_with/3-fun-0-'
-'-iterator/2-fun-1-'
-'-iterator/2-fun-0-'
-try_next
-is_iterator_valid_1
-is_iterator_valid
-error_type_merge_intersect
-error_type_two_maps
-groups_from_list_2
-groups_from_list_1
-groups_from_list
-with_1
-reversed
-ordered
-filter_1
-to_list_internal
-to_list_from_iterator
-merge_with_1
-intersect_with_iterate
-intersect_with_small_map_first
-intersect_with
-intersect_combiner_v2
-intersect_combiner_v1
-intersect
-'-inlined-get_52/1-'
-'-inlined-exsss_next/1-'
-'-inlined-exsp_next/1-'
-'-inlined-exs1024_next/1-'
-'-inlined-exrop_next/1-'
-'-exs1024_jump/6-fun-0-'
-float2str
-make_float
-bc64
-normal_fi
-format_jumpconst58_value
-format_jumcons58_matches
-format_jumpconst58
-xorzip_sr
-polyjump
-splitmix64_next
-seed64
-seed58
-seed_nz
-seed64_nz
-seed58_nz
-hash58
-mwc59_seed
-mwc59_float
-mwc59_value
-mwc59_value32
-mwc59
-zero_seed
-non_integer_seed
-too_many_seed_integers
-dummy_seed
-dummy_next
-dummy_uniform
-exrop_jump
-exrop_uniform
-exrop_next
-exrop_seed
-exro928_jump_2pow20
-exro928_jump_2pow512
-exro928_jump
-exro928ss_uniform
-exro928_next_state
-exro928_next
-exro928ss_next
-exro928_seed
-exs1024_jump
-exs1024_next
-exs1024_calc
-exs1024_gen1024
-exs1024_seed
-exsp_jump
-exsplus_jump
-exsss_uniform
-exsp_uniform
-exsss_next
-exsp_next
-exsss_seed
-exsplus_seed
-exs64_next
-exs64_seed
-exsp
-exs64
-exs1024s
-exs1024
-exrop
-exro928ss
-dummy
-mk_alg
-seed_get
-seed_put
-normal_s
-jump
-bytes_r
-bytes_s
-uniform_real_s
-uniform_real
-uniform_n
-uniform_s
-exsss
-default_seed
-seed_s
-export_seed_s
-rand_seed
-export_seed
-weak_low_bits
-uniform_range
-invalid_key
-bad_node
-ok_pending
-nok_pending
-already_pending
-publish_type
-'-merge_opts/2-inlined-0-'
-'-monitor_nodes/2-fun-0-'
-invalid_option
-'-terminate/2-fun-1-'
-'-restart_distr/1-fun-0-'
-'-split_node/1-fun-0-'
-'-setopts_new_1/3-fun-0-'
-'-setopts_new_1/3-fun-1-'
-'-merge_opts/2-fun-0-'
-opts_node
-merge_opts
-dist_nodelay
-inet_dist_listen_options
-inet_dist_connect_options
-setopts_new_1
-setopts_on_listen
-send_owner_request
-setopts_new
-handle_async_response
-return_call
-getnode
-nformat
-fetch
-fmt_address
-display_info
-print_info
-restart_ticker
-all_atoms
-reply_waiting1
-reply_waiting
-multi_receive
-multi_info
-get_nodes_info
-get_node_info
-net_setuptime
-connecttime
-set_node
-proto_error
-register_error
-duplicate_name
-start_protos_listen
-wrap_creation
-next_creation
-strong_rand_bytes
-create_creation
-sync_cookie
-start_protos_no_listen
-start_protos
-hidden_argument
-dist_listen_argument
-epmd_module
-childspecs
-proto_dist
-protocol_childspecs
-valid_name_head
-validate_hostname
-create_hostpart
-hostname_not_allowed
-create_name
-init_node
-get_proto_mod
-unsupported_address_type
-select_mod
-setup_check
-net_address
-setup
-spawn_func
-bye
-aux_ticker1
-aux_ticker
-start_aux_ticker
-ticker_loop
-get_nodes_up_normal
-disconnect_ctrlr
-do_disconnect
-mk_monitor_nodes_error
-unknown_options
-bad_option_value
-check_options
-option_value_mismatch
-check_opt
-restart_distr_do
-restart_distr
-delete_connection
-up_nodedown
-up_pending_nodedown
-pending_nodedown
-delete_ctrlr
-delete_owner
-get_conn
-restarter_exit
-ticker_exit
-pending_own_exit
-dist_ctrlr_exit
-conn_own_exit
-accept_exit
-listen_exit
-do_handle_exit
-generate_node_name
-ensure_node_name
-transition_period_end
-aux_tick
-wait_pending
-is_pending
-inconsistency
-remarked
-remark
-accept_pending_nok
-accept_pending
-inserted
-registered_send
-badcookie
-unsupported_protocol
-controller
-accept_connection
-name_type
-static
-ongoing_change_to
-is_auth
-change_initiated
-tick_change
-shorter
-longer
-not_implemented
-no_link
-up_pending
-do_explicit_connect
-dist_auto_connect
-do_auto_connect_2
-barred_connection
-do_auto_connect_1
-tick
-sys_dist
-ticker
-clean_halt
-dist_listen
-make_init_opts
-nodistribution
-name_domain
-retry_request_maybe
-passive_connect_monitor
-hidden_connect_node
-connect_node
-publish
-publish_on_node
-ticktime_res
-ticktime
-get_net_ticktime
-new_ticktime
-set_net_ticktime
-verbose
-nodes_info
-node_info
-nodename
-allowed
-kernel_apply
-'$4'
-'-make_node_vsn_list/2-inlined-0-'
-'-do_ops/5-inlined-5-'
-'-do_ops/5-inlined-2-'
-'-delete_lock/2-inlined-0-'
-'-register_name/3-fun-0-'
-'-check_dupname/2-lc$^0/1-0-'
-'-unregister_name/1-fun-0-'
-'-re_register_name/3-fun-0-'
-'-register_name_external/3-fun-0-'
-'-handle_info/2-fun-0-'
-'-handle_info/2-fun-1-'
-'-delete_node_resources/2-fun-0-'
-'-check_replies/3-lc$^0/1-0-'
-'-resolved/5-fun-0-'
-'-resolved/5-fun-1-'
-'-resolved/5-fun-2-'
-'-resolved/5-fun-3-'
-'-resolved/5-fun-4-'
-'-resolved/5-fun-5-'
-'-start_resolver/2-fun-0-'
-'-do_ops/5-lc$^1/1-1-'
-'-do_ops/5-lc$^0/1-0-'
-'-do_ops/5-fun-2-'
-'-do_ops/5-lc$^3/1-3-'
-'-do_ops/5-lc$^4/1-4-'
-'-do_ops/5-fun-5-'
-'-do_ops/5-lc$^6/1-6-'
-'-do_ops/5-fun-7-'
-'-sync_others/1-fun-0-'
-'-sync_others/1-fun-1-'
-'-del_name/2-lc$^1/1-1-'
-'-del_name/2-lc$^0/1-0-'
-'-init_the_locker_fun/1-fun-0-'
-'-exclude_known/2-lc$^0/1-0-'
-'-delete_lock/2-fun-0-'
-'-pid_locks/1-fun-0-'
-'-pid_locks/1-lc$^1/1-1-'
-'-gns_volatile_multicast/5-fun-0-'
-'-node_list/1-fun-0-'
-'-make_node_vsn_list/2-fun-0-'
-'-mk_known_list/2-fun-0-'
-'-mk_known_list/2-fun-1-'
-'-add_to_known/2-fun-0-'
-'-send_again/1-fun-0-'
-'-start_sync/2-fun-0-'
-'-sync_init/2-fun-0-'
-'-sync_loop/2-fun-0-'
-'-start_the_registrar/0-fun-0-'
-allow_tuple_fun
-unexpected_message
-loop_the_registrar
-start_the_registrar
-get_own_nodes_with_errors
-get_own_nodes
-check_sync_nodes
-synced
-sync_loop
-sync_init
-start_sync
-new_node_name
-change_our_node_name
-send_again
-exsplus
-random_sleep
-get_names
-remove_lost_connection_info
-save_lost_connection_info
-get_lost_connection_info
-mk_known_list
-make_node_vsn_list
-node_list
-node_vsn
-is_node_potentially_known
-gns_volatile_multicast
-gns_volatile_send
-inform_connection_loss
-removing
-handle_nodedown
-new_resolver
-no_longer_a_pid
-handle_nodeup
-ref_is_locking
-pid_locks
-delete_lock
-pid_is_locking
-unlink_pid
-dounlink_ext
-dolink_ext
-notify_all_name
-global_name_conflict
-random_notify_name
-random_exit_name
-minmax
-resolve_it
-exchange_names
-reset_node_state
-send_cancel_connect_message
-send_cancel_connect
-kill_resolver
-cancel_locker
-split_node
-is_node_local
-add_node
-remove_node2
-remove_node
-find_node_tag2
-find_node_tag
-the_boss
-delete_global_lock
-call_fun
-wait_cancel_lock
-lock_is_set_wait_cancel
-lock_is_set_true_received
-exclude_known
-random_element
-update_locker_known
-locker_failed
-locker_succeeded
-lock_rejected
-locker_trace
-delete_nonode
-lock_nodes_safely
-locker_lock_id
-send_lock_set
-select_node
-get_locker
-get_state_reply
-remove_from_known
-do_trace
-no_fun
-him
-the_locker_message_wait_cancel
-the_locker_message
-loop_the_locker
-init_the_locker_fun
-start_the_locker
-delete_global_name
-delete_global_name2
-delete_global_name_keep_pid
-del_name
-extra_info
-lock_still_set
-insert_global_name
-sync_other
-global_connect_retries
-sync_others
-do_ops
-rem_lock
-remove_lock
-handle_del_lock
-is_lock_set
-is_global_lock_set
-ins_lock
-insert_lock
-can_set_lock
-handle_set_lock
-ins_name_ext
-ins_name
-resend_pre_connect
-resolver
-start_resolver
-do_whereis
-cancel_resolved_locker
-ops
-added
-add_to_known
-lock
-resolve
-wait_lock
-lock_id
-restart_connect
-pre_connect
-his_the_locker
-locker
-prot_vsn
-check_replies
-local_lock_check
-set_lock_on_nodes
-lock_on_known_nodes
-set_lock_known
-send_high_level_trace
-wait_high_level_trace
-delete_node_resources
-delete_node_resource_info
-save_node_resource_info
-nodes_changed
-high_level_trace
-extra_nodedown
-registrar_died
-locker_died
-not_connected
-group_configured
-trace_message
-group_nodeup
-group_nodedown
-cancel_connect
-init_connect_ack
-ignore_node
-remove_connection
-async_disconnect
-participant
-lost_connection
-in_sync
-async_del_name
-async_del_lock
-lock_is_set
-init_connect
-sync_tag_his
-exit_resolver
-lock_set
-exchange_ops
-new_nodes
-save_ops
-sync_tag_my
-resolved
-high_level_trace_stop
-high_level_trace_start
-high_level_trace_get
-get_synced
-get_protocol_version
-get_names_ext
-get_known
-trans_all_known
-register_ext
-creation_extension
-uniform
-seed
-conf
-invalid_parameter_value
-connect_all
-no_trace
-global_node_resources
-global_lost_connections
-global_pid_ids
-global_names_ext
-global_locks
-aborted
-trans
-del_lock
-set_lock
-unregister_name_external
-register_name_external
-global_names
-registered_names
-re_register_name
-global_multi_name_action
-global_pid_names
-check_dupname
-registrar
-execute_cast
-'-handle_cast/2-fun-0-'
-'-proxy_user/0-fun-0-'
-'-start_nodes_observer/0-fun-0-'
-rex_nodes_observer
-'-start_nodes_observer/0-fun-1-'
-'-do_srv_call/3-fun-0-'
-'-eval_everywhere/4-fun-0-'
-'-parallel_eval/1-lc$^0/1-0-'
-'-cnode_call_group_leader_start/1-fun-0-'
-cnode_call_group_leader_start
-cnode_call_group_leader_state
-cnode_call_group_leader_init
-rex_stdout
-cnode_call_group_leader_put_chars
-cnode_call_group_leader_multi_request
-cnode_call_group_leader_request
-cnode_call_group_leader_loop
-pinfo
-build_args
-pmap
-map_nodes
-parallel_eval
-no_response
-response
-nb_yield
-async_call
-rec_nodes
-multi_server_call
-rpcmulticallify
-multicall
-send_nodes
-eval_everywhere
-rpc_check
-rpc_check_t
-do_srv_call
-signal
-exception
-rpcify_exception
-nodes_observer_loop
-start_nodes_observer
-proxy_user_flush
-proxy_user_loop
-rex_proxy_user
-proxy_user
-set_group_leader
-trim_stack
-is_arg_error
-execute_call
-features_reply
-features_request
-nonexisting_name
-sbcast
-send_stdout_to_caller
-block_call
-nodes_observer
-'-services/2-fun-0-'
-'-rpc/2-fun-0-'
-'-hosts/2-fun-0-'
-'-resolv/2-fun-0-'
-'-host_conf_linux/2-fun-0-'
-'-host_conf_freebsd/2-fun-0-'
-'-host_conf_bsdos/2-fun-0-'
-'-nsswitch_conf/2-fun-0-'
-'-protocols/2-fun-0-'
-'-netmasks/2-fun-0-'
-'-networks/2-fun-0-'
-split_mid_comma
-split_comma
-split_end
-split_mid
-dig_to_hex
-dig_to_dec
-separate
-ntoa_done
-hex_to_int
-dec16
-hex
-ipv6_addr_done
-ipv6_addr_scope
-ipv6_addr
-ipv4_field
-ipv4strict_addr
-strip0
-is_dom2
-is_dom_ldh
-is_dom1
-port_proto
-parse_cs
-parse_fd
-networks
-netmasks
-delete_options
-noname
-services
-eafnosupport
-'-setopts/2-lc$^0/1-0-'
-'-getopts/2-lc$^0/1-0-'
-'-getifaddrs/1-fun-0-'
-'-getifaddrs/0-fun-0-'
-'-getiflist/1-fun-0-'
-'-getiflist/0-fun-0-'
-'-ifget/2-fun-0-'
-'-ifget/2-fun-1-'
-'-ifset/2-fun-0-'
-'-ifset/2-fun-1-'
-'-getif/0-fun-0-'
-'-getif/1-fun-0-'
-'-getif/1-fun-1-'
-'-gethostname/0-fun-0-'
-'-bindx/3-lc$^1/1-1-'
-'-ii/3-fun-0-'
-'-ii/3-lc$^1/1-0-'
-'-ii/3-fun-2-'
-'-info_lines/3-lc$^0/1-0-'
-'-i_line/3-lc$^0/1-0-'
-'-h_line/1-lc$^0/1-0-'
-'-port_list/1-fun-0-'
-ensure_sockaddr
-lock_socket
-udp_sync_input
-tcp_sync_input
-tcp_controlling_process
-tcp_close
-exbadseq
-exbadport
-port_list
-sctp_sockets
-udp_sockets
-tcp_sockets
-fmt_port
-enotconn
-fmt_addr
-fmt_status3
-fmt_status2
-fmt_compat_status_merge
-fmt_compat_status
-fmt_status
-which_packet_type
-sent
-local_address
-foreign_address
-upper
-hh_field
-h_field
-h_line
-i_line
-info_lines
-smax
-ii
-change_bindx_0_port
-set_bindx_port
-open_setopts
-open_opts
-open_fd
-gethostbyaddr_tm_native
-gethostbyaddr_self
-gethostbyname_string
-gethostbyname_self
-gethostbyname_tm_native
-formerr
-wins
-getaddrs_tm
-binary2filename
-filename2binary
-add_opt
-sctp_opt_ifaddr
-sctp_opt
-sctp_opts
-sctp_options
-gen_udp_module
-udp_module_1
-udp_add
-udp_opt
-gen_tcp_module
-tcp_module_1
-list_add
-backlog
-list_opt
-listen_opts
-inet_default_listen_options
-listen_options
-con_add
-ifaddr
-con_opt
-connect_opts
-inet_default_connect_options
-connect_options
-stats
-ipv4_mapped_ipv6_address
-strict_address
-parse_strict_address
-ipv6strict_address
-parse_ipv6strict_address
-ipv4strict_address
-parse_ipv4strict_address
-ipv6_address
-parse_ipv6_address
-parse_ipv4_address
-getaddrs
-getaddr_tm
-getll
-is_ip_address
-is_ipv6_address
-is_ipv4_address
-pi_replace
-states
-socket_to_list
-gethostbyaddr_tm
-nostring
-gethostbyname_tm
-popf
-pushf
-withsocket
-getif
-udp_closed
-optuniquify
-udp_controlling_process
-udp_close
-open_bind
-udp_opts
-translate_ip
-getaddr
-getserv
-bad_encoding
-on
-'-init/0-inlined-0-'
-'-set_hostname/1-fun-0-'
-'-load_hosts/2-fun-0-'
-'-win32_load1/3-fun-0-'
-'-win32_load1/3-fun-1-'
-scan_inetrc
-parse_inetrc_skip_line
-parse_inetrc
-inet_warnings
-try_get_rc
-inetrc
-read_inetrc
-valid_type
-extract_cfg_files1
-extract_cfg_files
-read_rc
-win32_get_strings
-split_line
-win32_split_line
-win32_load1
-change_key
-nt
-win32_load_from_registry
-load_hosts
-load_resolv
-set_search_dom
-inet_dns_when_nis
-add_dns_lookup
-host_conf_bsdos
-host_conf_freebsd
-host_conf_linux
-nsswitch_conf
-sunos
-netbsd
-freebsd
-'bsd/os'
-do_load_resolv
-nonames
-shortnames
-sname
-erl_dist_mode
-gethostbyname
-'-add_hosts/1-fun-0-'
-'-res_cache_answer/1-lc$^0/1-0-'
-'-res_filter_rrs/2-lc$^0/1-0-'
-'-res_lookup_fun/1-lc$^0/1-0-'
-'-res_lookup_fun/1-fun-1-'
-'-handle_call/3-lc$^2/1-0-'
-chars
-'-do_add_host/5-lc$^0/1-0-'
-'-do_add_host/5-fun-1-'
-'-do_add_host/5-lc$^3/1-1-'
-'-do_add_host/5-lc$^2/1-2-'
-'-do_del_host/3-lc$^0/1-0-'
-'-add_ip_bynms/5-fun-0-'
-'-del_ip_bynms/4-fun-0-'
-'-load_hosts_list/3-lc$^0/1-0-'
-'-load_hosts_list/3-lc$^1/1-1-'
-'-rc_opt_req/1-lc$^0/1-0-'
-'-do_add_rrs/4-lc$^1/1-1-'
-'-do_add_rrs/4-lc$^0/1-0-'
-'-lookup_cache_data/2-lc$^0/1-0-'
-'-match_rr/6-lc$^0/1-0-'
-'-match_rr/6-lc$^1/1-1-'
-'-lists_subtract/2-fun-0-'
-handle_take_socket_type
-handle_put_socket_type
-lists_nth
-lists_keydelete
-lists_subtract
-lists_delete
-delete_oldest
-alloc_entry
-delete_expired
-stop_timer
-init_timer
-stripdot_1
-stripdot
-eq_domains
-rfc_4343_lc
-tolower
-match_rr
-lookup_cache_data
-times
-do_add_rrs
-is_reqname
-is_res_set
-set_socks_methods
-rc_reqname
-clear_search
-clear_ns
-replace_search
-replace_ns
-rc_opt_req
-handle_calls
-handle_rc_list
-ets_clean_map_keys
-load_hosts_list_byname
-load_hosts_list_byaddr
-load_hosts_list
-inet_family
-del_ip_bynms
-add_ip_bynms
-do_del_host
-do_add_host
-handle_update_file
-handle_set_file
-refresh_timeout
-set_resolv_conf_tm
-set_hosts_file_tm
-load_hosts_file
-res_hosts_file_info
-res_resolv_conf_info
-listreplace
-reset_db
-inet_sockets
-inet_hosts_file_byname
-inet_hosts_byname
-inet_cache
-inet_backend
-take_socket_type
-put_socket_type
-lookup_socket
-unregister_socket
-nxdomain
-ent_gethostbyaddr
-res_gethostbyaddr
-ptr
-gethostbyaddr
-cname
-resolve_cnames
-res_lookup_fun
-res_filter_rrs
-hostent
-aaaa
-make_hostent
-dns_rec
-res_hostent_by_domain
-hostent_by_domain
-get_searchlist
-getbysearch
-dots
-getbyname
-add_rrs
-res_cache_answer
-del_rr
-dns_rr
-add_rr
-db_get
-res_update
-res_hosts_file_tm
-res_update_hosts
-res_resolv_conf_tm
-res_update_conf
-hostname
-noproxy
-methods
-socks_option
-res_check_search
-res_check_ns
-res_check_list
-res_check_option_absfile
-visible_string
-res_check_option
-res_dnssec_ok
-res_recurse
-resolv_conf_name
-nameserver
-hosts_file_name
-alt_nameserver
-res_optname
-res_set
-res_id
-next_id
-res_option
-get_rc_hosts
-get_rc_ns
-get_rc_noproxy
-res_alt_ns
-cache_refresh_interval
-res_res_dnssec_ok
-res_domain
-res_edns
-inet_hosts_byaddr
-res_hosts_file
-res_inet6
-res_lookup
-res_ns
-res_resolv_conf
-res_retry
-res_search
-res_servfail_retry_timeout
-res_timeout
-res_udp_payload_size
-res_usevc
-socks5_server
-socks5_port
-socks5_noproxy
-socks5_methods
-cache_size
-cache_refresh
-get_rc
-valid_lookup
-dns
-nis
-nisplus
-yp
-translate_lookup
-add_rc_list
-add_rc_bin
-add_rc
-sctp_module
-set_sctp_module
-udp_module
-set_udp_module
-tcp_module
-set_tcp_module
-set_cache_refresh
-set_cache_size
-del_socks_noproxy
-add_socks_noproxy
-del_socks_methods
-add_socks_methods
-set_socks_port
-set_socks_server
-inet_hosts_file_byaddr
-get_hosts_file
-hosts_file
-set_hosts_file
-resolv_conf
-set_resolv_conf
-dnssec_ok
-set_dnssec_ok
-udp_payload_size
-set_udp_payload_size
-edns
-set_edns
-usevc
-set_usevc
-set_inet6
-servfail_retry_timeout
-set_servfail_retry_timeout
-retry
-set_retry
-set_timeout
-recurse
-set_recurse
-set_lookup
-set_domain
-set_hostname
-del_search
-ins_search
-add_search
-del_alt_ns
-ins_alt_ns
-alt_nameservers
-add_alt_ns
-del_ns
-ins
-ins_ns
-nameservers
-listop
-add_ns
-clear_hosts
-del_host
-add_host
-add_hosts
-resolv
-add_resolv
-badcall
-format_child_log_error_single
-format_child_log_progress_single
-terminate_pid
-no_stderror
-standard_error_sup
-'-start_port/1-fun-0-'
-'-do_setopts/1-fun-0-'
-'-wrap_characters_to_binary/3-lc$^0/1-0-'
-wrap_characters_to_binary
-send_port
-put_port
-io_requests
-rows
-columns
-get_geometry
-do_io_request
-get_fd_geometry
-onlcr
-server
-start_port
-beam_flatten
-beam_ssa_recv
-beam_types
-beam_listing
-v3_core
-beam_ssa_lint
-core_scan
-sys_messages
-beam_ssa_check
-beam_ssa_codegen
-beam_ssa_dead
-beam_a
-beam_call_types
-sys_core_prepare
-beam_validator
-beam_bounds
-beam_digraph
-beam_ssa_type
-beam_ssa_bc_size
-core_lint
-beam_block
-core_pp
-beam_ssa_bsm
-beam_ssa_throw
-beam_ssa_alias
-beam_kernel_to_ssa
-beam_dict
-sys_pre_attributes
-core_lib
-cerl_trees
-sys_core_fold
-beam_ssa_opt
-v3_kernel
-sys_core_fold_lists
-beam_ssa_private_append
-erl_bifs
-beam_ssa_pre_codegen
-beam_ssa_share
-beam_ssa_bool
-rec_env
-beam_clean
-beam_ssa
-sys_core_alias
-cerl_clauses
-cerl_inline
-sys_core_bsm
-sys_core_inline
-cerl
-beam_utils
-beam_opcodes
-beam_jump
-v3_kernel_pp
-beam_ssa_pp
-beam_trim
-core_parse
-beam_disasm
-beam_z
-beam_asm
-rejected_ftr
-permanent_ftr
-until
-while
-experimental_ftr_2
-ifn
-experimental_ftr_1
-unless
-approved_ftr_2
-approved_ftr_1
-init_done
-maybe_expr
-'-init_features/0-inlined-3-'
-'-init_features/0-inlined-2-'
-'-configurable/0-lc$^0/1-0-'
-'-long/1-lc$^0/1-0-'
-'-long/1-lc$^1/1-1-'
-'-history/2-fun-0-'
-'-history/2-fun-1-'
-'-nqTeX/1-fun-0-'
-'-keyword_fun/2-fun-0-'
-'-add_feature_fun/2-fun-0-'
-'-remove_feature_fun/2-fun-0-'
-'-feature_error/1-fun-0-'
-'-feature_error/1-fun-1-'
-'-format_error/1-F/1-0-'
-'-init_features/0-fun-0-'
-'enable-feature'
-'disable-feature'
-'-init_features/0-fun-1-'
-'-init_features/0-fun-2-'
-'-init_features/0-fun-3-'
-'-init_features/0-fun-4-'
-'-init_features/0-fun-5-'
-'-collect_features/1-lc$^0/1-0-'
-test_features
-add_ftr
-feature
-collect_features
-features_in
-set_keywords
-enabled_features
-ensure_init
-init_specs
-init_features
-incorrect_features
-feature_error
-configurable_features
-remove_features_fun
-add_features_fun
-remove_feature_fun
-add_feature_fun
-invalid_features
-not_configurable
-enable
-disable
-keyword_fun
-invalid_feature
-adjust
-nqTeX
-rejected
-experimental
-approved
-history
-long
-is_configurable
-is_valid
-feature_specs
-'-characters_to_binary_int/3-fun-0-'
-'-i_trans/1-fun-0-'
-'-i_trans_chk/1-fun-0-'
-'-o_trans/1-fun-7-'
-'-o_trans/1-fun-8-'
-'-o_trans/1-fun-3-'
-'-o_trans/1-fun-4-'
-'-o_trans/1-fun-1-'
-'-o_trans/1-fun-2-'
-'-o_trans/1-fun-0-'
-'-o_trans/1-fun-9-'
-'-o_trans/1-fun-10-'
-'-o_trans/1-fun-5-'
-'-o_trans/1-fun-6-'
-error_type
-do_i_utf32_little
-do_i_utf32_big
-do_i_utf16_little
-do_i_utf16_big
-do_i_utf8
-do_i_utf32_little_chk
-do_i_utf32_big_chk
-do_i_utf16_little_chk
-do_i_utf16_big_chk
-do_i_utf8_chk
-do_o_binary2
-do_o_binary
-o_trans
-i_trans_chk
-i_trans
-ml_map
-fake_stacktrace
-do_characters_to_list
-prepend_row_to_acc
-acc_to_binary
-characters_to_nfkc_binary
-nfkc
-characters_to_nfkc_list
-characters_to_nfc_binary
-nfc
-characters_to_nfkd_binary
-nfkd
-characters_to_nfkd_list
-characters_to_nfd_binary
-nfd
-characters_to_nfd_list
-encoding_to_bom
-bom_to_encoding
-no_conversion_needed
-'-getenv/0-lc$^0/1-0-'
-flush_exit
-flush_until_down
-validate3
-validate2
-validate1
-mk_cmd
-get_option
-max_size
-do_cmd
-cmd
-extensions
-reverse_element
-split_path
-can_be_full_name
-verify_executable
-find_executable1
-iterator_1_from
-iterator_1
-take_1
-take_any
-from_orddict
-enter
-update_1
-get_1
-is_defined_1
-lookup_1
-fold_1
-is_set
-is_subset_2
-is_subset_1
-is_subset
-difference_2
-difference_1
-difference
-is_disjoint_1
-is_disjoint
-intersection_list
-intersection_2
-intersection_1
-union_list
-balance_revlist_1
-balance_revlist
-push
-union_2
-union_1
-mk_set
-iterator_from
-to_list_1
-largest_1
-largest
-take_largest1
-take_largest
-smallest_1
-smallest
-take_smallest1
-take_smallest
-delete_1
-delete_any
-del_element
-from_ordset
-balance_list_1
-balance_list
-balance
-key_exists
-insert_1
-is_member_1
-singleton
-nonono
-'-encode_hex1/2-lbc$^0/2-0-'
-'-decode_hex1/1-lbc$^0/2-0-'
-decode_hex2
-decode_hex1
-decode_hex
-encode_hex2
-encode_hex1
-lowercase
-uppercase
-encode_hex
-insert_replaced
-get_opts_replace
-splitat
-do_insert
-do_replace
-bin_to_list
-no_debug_info
-'-md5/1-lc$^0/1-0-'
-'-diff_directories/2-fun-0-'
-'-beam_files/1-lc$^0/1-0-'
-'-strip_fils/2-lc$^0/1-0-'
-'-read_all_but_useless_chunks/1-lc$^0/1-0-'
-'-read_all_chunks/1-lc$^0/1-0-'
-'-scan_beam/4-lc$^0/1-0-'
-'-attributes/2-fun-0-'
-'-attributes/2-lc$^1/1-0-'
-'-anno_from_forms/1-lc$^0/1-0-'
-'-try_load_crypto_fun/1-fun-0-'
-'-try_load_crypto_fun/1-fun-1-'
-alt_lookup_key
-try_load_crypto_fun
-f_p_s
-crypto_key_fun_from_file_1
-crypto_key_fun_from_file
-call_crypto_server_1
-beam_lib__crypto_key_server
-call_crypto_server
-get_crypto_key
-start_crypto
-restore_typed_record_fields
-anno_from_forms
-abstract_v2
-abstract_v1
-old_anno_from_term
-crypto_one_time
-crypto
-des_ede3_cbc
-decrypt_chunk
-mandatory_chunks
-md5_chunks
-significant_chunks
-assert_directory
-maybe_uncompress
-beam_filename
-read_all
-bb
-extract_atom
-extract_atoms
-ensure_atoms
-symbol
-symbols1
-symbols
-locals
-labeled_locals
-labeled_exports
-indexed_imports
-imports
-chunk_name_to_id
-compile_info
-chunk_to_data
-erlang_v1
-debug_info_v1
-atom_chunk
-abst_chunk
-chunks_to_data
-del_chunk
-get_data
-get_atom_data
-scan_beam2
-scan_beam1
-scan_beam
-atoms
-check_chunks
-beam_symbols
-allow_missing_chunks
-read_chunk_data
-read_all_chunks
-filter_funtab_1
-filter_funtab
-filter_significant_chunks
-read_significant_chunks
-is_useless_chunk
-read_all_but_useless_chunks
-build_chunks
-strip_file
-strip_fils
-strip_rel
-cmp_lists
-cmp_files
-wildcard
-beam_files
-compare_files
-restriction
-image
-symmetric_partition
-compare_dirs
-diff_only
-diff_directories
-read_info
-build_module
-des3_cbc
-make_crypto_key
-clear_crypto_key_fun
-crypto_key_fun
-exists
-different_chunks
-not_a_directory
-not_a_beam_file
-chunks_different
-unknown_chunk
-modules_different
-missing_backend
-key_missing_or_invalid
-invalid_chunk
-invalid_beam_file
-chunk_too_big
-strip_release
-strip_files
-strip
-diff_dirs
-cmp_dirs
-cmp
-all_chunks
-ignored
-cannot_detach_with_standard_io
-'-init/1-fun-0-'
-'-verify_args/1-lc$^0/1-0-'
-'-verify_args/1-lc$^1/1-1-'
-'-encode_port_data/1-lbc$^0/2-0-'
-'-maybe_listen/1-lc$^0/1-0-'
-'-maybe_listen/1-lc$^1/1-1-'
-ntoa
-'-command_line/2-lc$^0/1-0-'
-'-parse_args/1-lc$^0/1-0-'
-'-start_peer_channel_handler/0-fun-3-'
-'-start_peer_channel_handler/0-lc$^5/1-2-'
-'-start_peer_channel_handler/0-fun-4-'
-parse_address
-'-start_peer_channel_handler/0-lc$^0/1-0-'
-'-start_peer_channel_handler/0-fun-1-'
-'-start_peer_channel_handler/0-lc$^2/1-1-'
-'-handle_peer_alternative/3-fun-0-'
-'-do_call/4-fun-0-'
-handle_port_alternative
-handle_peer_alternative
-io_server_loop
-loop_connect
-tcp_init
-io_server
-origin_link
-relay
-peer_detached
-start_peer_channel_handler
-peer_channel_terminated
-loop_supervision
-peer_supervision_connect_timeout
-peer_sup_connect_channel
-peer_channel_connect_timeout
-peer_sup_state
-channel_connect
-peer_supervision
-start_orphan_supervision
-init_supervision
-start_supervision
-notify_started
-default_erts
-unquote
-parse_args
-maybe_otp_test_suite
-find_executable
-encode_to_string
-command_line
-longnames
-name_arg
-prefer_localhost
-maybe_listen
-boot_complete
-handle_port_binary
-decode_port_data
-encode_port_data
-peer_to_origin
-origin_to_peer
-forward_request
-handle_alternative_data
-peer_down
-maybe_stop
-node_name
-boot_failed
-wait_boot
-make_notify_ref
-invalid_arg
-not_alive
-detached
-char_list
-exec
-verify_args
-force_disconnect_node
-wait_disconnected
-deadline
-register_socket
-get_node
-cover
-booting
-peer_state
-connection
-post_process_args
-get_state
-random_name
-'-compact/1-lc$^0/1-0-'
-'-substitute_aliases/2-lc$^0/1-0-'
-'-substitute_negations/2-lc$^0/1-0-'
-'-expand/2-lc$^0/1-0-'
-'-split/2-lc$^0/1-0-'
-'-split/2-lc$^1/1-1-'
-'-to_map/1-fun-0-'
-from_map
-to_map
-negations
-aliases
-apply_stages
-key_uniq_1
-key_uniq
-expand_3
-expand_2
-expand_1
-expand_0
-expand
-substitute_negations_1
-substitute_aliases_1
-substitute_aliases
-get_bool
-append_values
-get_all_values
-lookup_all
-property
-lait
-liat
-daeh
-snoc
-tail
-delete_with_rear
-delete_with_front
-delete_with_r
-delete_with
-delete_rear
-delete_front
-delete_r
-filtermap_r
-filter_r
-filter_f
-split_r1_to_f2
-split_f1_to_r2
-drop_r
-peek_r
-get_r
-out_r
-in_r
-is_empty
-is_queue
-'-set_restart_flag/1-fun-0-'
-reply_return
-noreply_return
-'$no_default_return'
-try_callback_call
-maybe_notify_mode_change
-set_mode
-overload_levels_ok
-flush_load
-kill_if_choked
-limit_burst
-check_load
-reset_restart_flag
-set_restart_flag
-overload_kill_qlen
-overload_kill_mem_size
-overload_kill_enable
-burst_limit_window_time
-burst_limit_max_count
-do_check_opts
-invalid_olp_levels
-invalid_olp_config
-check_opts
-do_load
-apply_after
-overload_kill_restart_after
-reset_state
-mode_ref
-last_qlen
-last_load_ts
-cb_state
-burst_win_ts
-burst_msg_count
-olp_ref
-result
-restart_failed
-get_opts
-'$olp_load'
-log_failed
-try_log
-flushed
-drop
-mode_change
-overloaded
-handle_load
-get_ref
-system_logger
-sync_mode_qlen
-flush_qlen
-drop_mode_qlen
-burst_limit_enable
-get_default_opts
-child_spec
-no_state
-get_pid
-'-limit_report/2-lc$^0/1-0-'
-'-format_log_multi/2-fun-0-'
-'-format_log_state/2-lc$^0/1-0-'
-format_log_state
-format_client_log
-format_client_log_single
-format_server_log_single
-limit_client_report
-dead
-client_stacktrace
-client_info
-catch_result
-handle_common_reply
-try_terminate
-try_handle_call
-try_handle_cast
-try_handle_info
-handle_continue
-try_handle_continue
-try_dispatch
-do_send
-create_callback_cache
-callback_cache
-mc_cancel_timer
-mc_recv_tmo
-mc_recv
-mc_send
-multi_call
-do_abcast
-abcast
-'$gen_cast'
-cast_msg
-do_cast
-'$gen_call'
-'-inlined-level_to_int/1-'
-'-set/3-lc$^0/1-0-'
-'-set_module_level/2-lc$^0/1-0-'
-'-unset_module_level/1-lc$^0/1-1-'
-'-unset_module_level/1-lc$^1/1-0-'
-'-get_module_level/0-lc$^0/1-0-'
-'$handler_config$'
-'$primary_config$'
-'$proxy_config$'
-table_key
-int_to_level
-less_or_equal_level
-on_match
-filter_remote_gl
-filter_progress
-filter_level
-filter_domain
-neq
-lteq
-gteq
-not_equal
-equal
-simple_handler_process_dead
-handler_process_name_already_exists
-'-adding_handler/1-fun-0-'
-'-replay_buffer/1-F/1-0-'
-'-do_log/2-fun-0-'
-'-display/1-lc$^0/1-0-'
-'-display_report/1-fun-0-'
-'-display_report/1-fun-1-'
-display_report
-display_date
-display_log
-drop_msg
-replay_buffer
-dropped
-buffer_size
-update_buffer
-rich
-no_log_file
-allready_have_logfile
-'-tty/1-fun-0-'
-error_logger_format_depth
-error_logger_tty_true
-error_logger_tty_false
-logfile
-which_report_handlers
-delete_report_handler
-add_report_handler
-scan_format
-report_to_format
-maybe_add_domain
-get_report_cb
-std_warning
-fix_warning_type
-fix_warning_tag
-maybe_map_warnings
-register_handler
-stop_error
-report_problem
-send_shutdown
-check_callback
-check_system
-get_heart_cmd
-send_heart_cmd
-send_heart_beat
-do_cycle_port_program
-check_schedulers
-validate_options
-no_reboot_shutdown
-port_terminated
-bad_cmd
-bad_options
-wait_ack
-bad_heart_flag
-check_start_heart
-get_heart_timeouts
-port_problem
-start_portprogram
-wait
-cycle
-get_options
-set_options
-clear_callback
-get_callback
-set_callback
-clear_cmd
-get_cmd
-set_cmd
-no_heart
-wait_for_init_ack
-bad_name
-bad_directory
-'-try_finish_module_2/5-inlined-0-'
-'-start_link/1-fun-0-'
-'-init/3-fun-0-'
-'-init/3-lc$^1/1-0-'
-'-get_user_lib_dirs_1/1-lc$^0/1-0-'
-'-handle_call/3-lc$^1/1-1-'
-'-handle_call/3-lc$^0/1-0-'
-'-choose_bundles/1-lc$^0/1-0-'
-'-choose_bundles/1-lc$^1/1-1-'
-'-vsn_to_num/1-lc$^0/1-0-'
-'-is_numstr/1-fun-0-'
-'-cache_path/1-lc$^0/1-0-'
-'-exclude/2-lc$^0/1-0-'
-'-set_path/5-lc$^0/1-0-'
-'-try_archive_subdirs/3-fun-0-'
-'-stick_dir/3-fun-1-'
-'-stick_dir/3-fun-0-'
-'-try_finish_module/6-fun-1-'
-'-try_finish_module/6-fun-0-'
-on_load_failure
-'-try_finish_module_2/5-fun-0-'
-'-finish_loading/3-fun-3-'
-'-finish_loading/3-fun-2-'
-'-finish_loading/3-fun-1-'
-'-finish_loading/3-fun-0-'
-'-finish_loading_ensure/2-lc$^0/1-0-'
-pending_on_load
-'-abort_if_pending_on_load/2-lc$^0/1-0-'
-sticky_directory
-'-abort_if_sticky/2-lc$^0/1-0-'
-'-do_finish_loading/2-lc$^0/1-0-'
-'-do_finish_loading/2-lc$^1/1-2-'
-'-do_finish_loading/2-lc$^2/1-1-'
-'-handle_on_load/5-fun-0-'
-'-finish_on_load/3-lc$^0/1-0-'
-'-finish_on_load_report/2-fun-0-'
-finish_on_load_report
-finish_on_load_2
-finish_on_load_1
-finish_on_load
-handle_pending_on_load_1
-handle_pending_on_load
-handle_on_load
-do_finish_loading
-abort_if_sticky
-abort_if_pending_on_load
-finish_loading_ensure
-with_cache
-mod_to_bin
-try_finish_module_2
-try_finish_module_1
-try_finish_module
-get_mods
-sticky
-'bad request to code'
-priv
-do_dir
-lookup_name
-delete_name_dir
-delete_name
-replace_name
-del_ebin_1
-del_ebin
-check_pars
-replace_path1
-insert_old_shadowed
-del_path1
-try_archive_subdirs
-archive_subdirs
-do_insert_name
-insert_name
-insert_dir
-init_namedb
-code_names
-create_namedb
-maybe_update
-do_add
-do_check_path
-check_path
-split_base
-discard_after_hyphen
-get_name_from_splitted
-get_name
-get_arg
-add_pa_pz
-merge_path1
-merge_path
-strip_path
-exclude_pa_pz
-cache_boot_paths
-do_cache_path
-cache_path
-'-zip/3-lc$^0/1-1-'
-'-zip/3-lc$^1/1-0-'
-add_loader_path
-try_ebin_dirs
-'-zip3/4-lc$^0/1-2-'
-'-zip3/4-lc$^1/1-1-'
-'-zip3/4-lc$^2/1-0-'
-choose
-'-zipwith/4-lc$^0/1-1-'
-'-zipwith/4-lc$^1/1-0-'
-split2
-'-zipwith3/5-lc$^0/1-2-'
-split1
-'-zipwith3/5-lc$^1/1-1-'
-'-zipwith3/5-lc$^2/1-0-'
-'-filter/2-lc$^0/1-0-'
-is_numstr
-is_vsn
-vsn_to_num
-create_bundle
-uniq_2
-choose_bundles
-uniq_1
-rufmerge2_2
-rufmerge2_1
-ufmerge2_2
-ufmerge2_1
-rufmergel
-ufmergel
-ufsplit_2
-ufsplit_1_1
-ufsplit_1
-rfmerge2_2
-rfmerge2_1
-fmerge2_2
-unknown_system_msg
-fmerge2_1
-change_code
-rfmergel
-fmergel
-fsplit_2_1
-fsplit_2
-fsplit_1_1
-do_sys_cmd
-suspend_loop
-fsplit_1
-gen_reply
-rukeymerge2_2
-rukeymerge2_1
-ukeymerge2_2
-code_call
-split_paths
-get_user_lib_dirs_1
-get_user_lib_dirs
-ukeymerge2_1
-rukeymerge3_21_3
-rukeymerge3_12_3
-rukeymerge3_2
-rukeymerge3_1
-ukeymerge3_21_3
-ukeymerge3_12_3
-ukeymerge3_2
-ukeymerge3_1
-rukeymergel
-ukeymergel
-ukeysplit_2
-ukeysplit_1_1
-ukeysplit_1
-rkeymerge2_2
-rkeymerge2_1
-keymerge2_2
-keymerge2_1
-rkeymerge3_21_3
-rkeymerge3_12_3
-rkeymerge3_2
-rkeymerge3_1
-keymerge3_21_3
-keymerge3_12_3
-keymerge3_2
-keymerge3_1
-rkeymergel
-keymergel
-keysplit_2_1
-keysplit_2
-keysplit_1_1
-keysplit_1
-rumerge2_2
-rumerge2_1
-umerge2_2
-umerge2_1
-rumerge3_21_3
-rumerge3_12_3
-rumerge3_2
-rumerge3_1
-umerge3_21_3
-umerge3_12_3
-umerge3_2
-umerge3_1
-rumergel
-umergel
-usplit_2_1
-desc
-usplit_2
-usplit_1_1
-asc
-usplit_1
-rmerge2_2
-rmerge2_1
-merge2_2
-merge2_1
-rmerge3_21_3
-rmerge3_12_3
-rmerge3_2
-rmerge3_1
-merge3_21_3
-merge3_12_3
-merge3_2
-merge3_1
-rmergel
-mergel
-split_2_1
-split_2
-split_1_1
-split_1
-join_prepend
-splitwith_1
-search_1
-dropwhile_1
-takewhile_1
-mapfoldr_1
-mapfoldr
-mapfoldl_1
-foreach_1
-filtermap_1
-filtermap
-partition_1
-foldr_1
-foldl_1
-flatmap_1
-map_1
-any_1
-all_1
-rumerge3
-umerge3
-rumerge_1
-rumerge
-umerge_1
-usort_1
-rmerge_1
-merge_1
-enumerate_1
-enumerate
-keymap
-rukeymerge_1
-rukeymerge
-ukeymerge_1
-ukeymerge
-ukeysort_1
-ukeysort
-rkeymerge_1
-rkeymerge
-keymerge_1
-keymerge
-keysort_1
-keystore2
-keyreplace3
-keydelete3
-flatlength
-thing_to_list
-rmerge
-rmerge3
-merge3
-sort_1
-zipwith3
-zipwith
-unzip3
-zip3
-pad
-sublist_2
-sublist
-sum
-seq_loop
-seq
-droplast
-suffix
-prefix
-nthtail_1
-nth_1
-module_not_found
-'-format_status/2-inlined-0-'
-'-do_unlink/2-fun-0-'
-parent_terminated
-'-terminate_supervised/4-fun-0-'
-'-system_code_change/4-fun-0-'
-'-system_get_state/1-lc$^0/1-0-'
-'-system_replace_state/2-lc$^0/1-0-'
-'-report_error/5-fun-0-'
-'-report_error/5-fun-1-'
-'-report_error/5-fun-2-'
-'-the_handlers/1-lc$^0/1-0-'
-'-get_modules/1-lc$^0/1-0-'
-'-format_status/2-fun-0-'
-items
-get_log
-stop_handlers
-the_handlers
-'function not exported'
-'module could not be loaded'
-fix_reason
-no_handle_info
-last_message
-report_error
-gen_event_EXIT
-report_terminate
-server_call_update
-server_call
-new_handler
-do_swap
-server_update
-server_notify
-swapped
-split_and_terminate
-s_s_h
-server_swap_handler
-server_delete_handler
-server_add_sup_handler
-server_add_handler
-print_event
-system_replace_state
-system_get_state
-system_code_change
-system_terminate
-system_continue
-terminate_supervised
-do_unlink
-terminate_server
-handle_event
-handle_debug
-handle_system_msg
-decode_msg
-fetch_msg
-wake_hib
-call1
-which_handlers
-swap_sup_handler
-swap_handler
-delete_handler
-sync_notify
-add_sup_handler
-nolink
-'no callback module'
-'-terminate/2-lc$^0/1-0-'
-'-kill_children/1-fun-0-'
-exit_after
-set_timer
-kill_all_procs_1
-kill_all_procs
-kill_children
-terminate_child_i
-get_child_i
-prep_stop
-loop_it
-start_supervisor
-start_the_app
-start_it_new
-start_it_old
-bad_keys
-relay_to_group_leader
-terminate_loop
-main_loop
-init_loop
-legacy_header
-'-get_handler_config/0-lc$^0/1-0-'
-'-get_module_level/1-lc$^0/1-0-'
-'-print_filters/3-lc$^0/1-0-'
-'-print_handlers/2-lc$^0/1-0-'
-'-print_custom/3-lc$^0/1-0-'
-'-print_module_levels/2-lc$^0/1-0-'
-'-reconfigure/0-lc$^0/1-0-'
-'-internal_init_logger/0-lc$^0/1-0-'
-'-internal_init_logger/0-lc$^1/1-1-'
-'-add_handlers/2-fun-0-'
-'-get_primary_filters/1-lc$^0/1-0-'
-'-get_primary_filters/1-fun-1-'
-'-get_proxy_opts/1-lc$^0/1-0-'
-proc_meta
-log_remote
-deatomize
-tid
-do_log_allowed
-log_fun_allowed
-do_log
-get_logger_env
-get_default_handler_filters
-standard_io
-init_default_config
-multiple_proxies
-get_proxy_opts
-multiple_filters
-get_primary_filters
-get_primary_filter_default
-logger_default_metadata
-logger_metadata
-get_primary_metadata
-get_logger_level
-tty
-get_logger_type
-module_level
-check_logger_config
-setup_handler
-bad_proxy_config
-init_kernel_handlers
-bad_config
-reconfigure
-print_module_levels
-print_custom
-print_handlers
-print_filters
-i_modules
-i_proxy
-i_handlers
-i_primary
-module_levels
-get_config
-unset_process_metadata
-get_process_metadata
-update_process_metadata
-'$logger_metadata$'
-set_process_metadata
-lt
-gt
-level_to_int
-eq
-compare_levels
-get_module_level
-unset_application_level
-set_application_level
-get_proxy_config
-get_handler_ids
-filter_config
-get_handler_config
-get_primary_config
-update_proxy_config
-update_handler_config
-update_primary_config
-set_proxy_config
-set_handler_config
-set_primary_config
-remove_handler_filter
-remove_primary_filter
-add_handler_filter
-add_primary_filter
-printable_unicode_list
-string_p1
-string_p
-format_term_list
-format_otp_report
-distribution_not_changed
-kernel_safe_sup
-global_groups
-is_gg_changed
-global_groups_added
-global_groups_removed
-global_groups_changed
-do_global_groups_change
-is_dist_changed
-distribution_changed
-do_distribution_change
-start_compile_server
-start_pg
-start_disk_log
-boot_server_slaves
-get_boot_args
-start_boot_server
-start_dist_ac
-start_distribution
-supervision_child_spec
-add_handlers
-internal_init_logger
-'-build_typed_attribute/2-fun-0-'
-'-build_typed_attribute/2-fun-1-'
-'-attribute_farity_list/1-lc$^0/1-0-'
-'-attribute_farity_map/1-lc$^0/1-0-'
-'-check_clauses/3-lc$^0/1-0-'
-'-first_anno/1-fun-0-'
-'-last_anno/1-fun-0-'
-'-enc_func/1-fun-2-'
-'-enc_func/1-fun-1-'
-'-enc_func/1-fun-0-'
-'-abstract/3-lc$^0/1-0-'
-'-abstract_map_fields/3-lc$^0/1-0-'
-'-map_anno/2-fun-0-'
-'-fold_anno/3-fun-0-'
-'-new_anno/1-fun-0-'
-'-anno_to_term/1-fun-0-'
-from_term
-'-anno_from_term/1-fun-0-'
-yeccgoto_typed_record_fields
-yeccgoto_typed_exprs
-yeccgoto_typed_expr
-yeccgoto_typed_attr_val
-yeccgoto_type_spec
-yeccgoto_type_sigs
-yeccgoto_type_sig
-yeccgoto_type_guards
-yeccgoto_type_guard
-yeccgoto_type
-yeccgoto_tuple
-yeccgoto_try_opt_stacktrace
-yeccgoto_try_expr
-yeccgoto_try_clauses
-yeccgoto_try_clause
-yeccgoto_try_catch
-yeccgoto_top_types
-yeccgoto_top_type
-yeccgoto_tail
-yeccgoto_strings
-yeccgoto_ssa_check_when_clauses
-yeccgoto_ssa_check_when_clause
-yeccgoto_ssa_check_pats
-yeccgoto_ssa_check_pat
-yeccgoto_ssa_check_map_key_tuple_elements
-yeccgoto_ssa_check_map_key_list
-yeccgoto_ssa_check_map_key_elements
-yeccgoto_ssa_check_map_key_element
-yeccgoto_ssa_check_map_key
-yeccgoto_ssa_check_list_lit_ls
-yeccgoto_ssa_check_list_lit
-yeccgoto_ssa_check_fun_ref
-yeccgoto_ssa_check_exprs
-yeccgoto_ssa_check_expr
-yeccgoto_ssa_check_clause_args_ls
-yeccgoto_ssa_check_clause_args
-yeccgoto_ssa_check_binary_lit_rest
-yeccgoto_ssa_check_binary_lit_bytes_ls
-yeccgoto_ssa_check_binary_lit
-yeccgoto_ssa_check_args
-yeccgoto_ssa_check_anno_clauses
-yeccgoto_ssa_check_anno_clause
-yeccgoto_ssa_check_anno
-yeccgoto_spec_fun
-yeccgoto_record_tuple
-yeccgoto_record_pat_expr
-yeccgoto_record_fields
-yeccgoto_record_field
-yeccgoto_record_expr
-yeccgoto_receive_expr
-yeccgoto_prefix_op
-yeccgoto_pat_exprs
-yeccgoto_pat_expr_max
-yeccgoto_pat_expr
-yeccgoto_pat_argument_list
-yeccgoto_opt_bit_type_list
-yeccgoto_opt_bit_size_expr
-yeccgoto_mult_op
-yeccgoto_maybe_match_exprs
-yeccgoto_maybe_match
-yeccgoto_maybe_expr
-yeccgoto_map_tuple
-yeccgoto_map_pat_expr
-yeccgoto_map_pair_types
-yeccgoto_map_pair_type
-yeccgoto_map_key
-yeccgoto_map_fields
-yeccgoto_map_field_exact
-yeccgoto_map_field_assoc
-yeccgoto_map_field
-yeccgoto_map_expr
-yeccgoto_map_comprehension
-yeccgoto_list_op
-yeccgoto_list_comprehension
-yeccgoto_list
-yeccgoto_lc_exprs
-yeccgoto_lc_expr
-yeccgoto_integer_or_var
-yeccgoto_if_expr
-yeccgoto_if_clauses
-yeccgoto_if_clause
-yeccgoto_guard
-yeccgoto_function_clauses
-yeccgoto_function_clause
-yeccgoto_function_call
-yeccgoto_function
-yeccgoto_fun_type
-yeccgoto_fun_expr
-yeccgoto_fun_clauses
-yeccgoto_fun_clause
-yeccgoto_form
-yeccgoto_field_types
-yeccgoto_field_type
-yeccgoto_exprs
-yeccgoto_expr_remote
-yeccgoto_expr_max
-yeccgoto_expr
-yeccgoto_cr_clauses
-yeccgoto_cr_clause
-yeccgoto_comp_op
-yeccgoto_clause_guard
-yeccgoto_clause_body_exprs
-yeccgoto_clause_body
-yeccgoto_clause_args
-yeccgoto_case_expr
-yeccgoto_bit_type_list
-yeccgoto_bit_type
-yeccgoto_bit_size_expr
-yeccgoto_bit_expr
-yeccgoto_binary_type
-yeccgoto_binary_comprehension
-yeccgoto_binary
-yeccgoto_bin_unit_type
-yeccgoto_bin_elements
-yeccgoto_bin_element
-yeccgoto_bin_base_type
-yeccgoto_attribute
-yeccgoto_attr_val
-yeccgoto_atomic
-yeccgoto_atom_or_var
-yeccgoto_argument_list
-yeccgoto_add_op
-yeccpars2_680
-yeccpars2_679
-yeccpars2_678
-yeccpars2_677
-yeccpars2_676
-yeccpars2_674
-yeccpars2_673
-yeccpars2_672
-yeccpars2_671
-yeccpars2_670
-yeccpars2_668
-yeccpars2_667
-yeccpars2_664
-yeccpars2_663
-yeccpars2_662
-yeccpars2_660
-yeccpars2_659
-yeccpars2_658
-yeccpars2_656
-yeccpars2_655
-yeccpars2_654
-yeccpars2_652
-yeccpars2_651
-yeccpars2_650
-yeccpars2_649
-yeccpars2_648
-yeccpars2_647
-yeccpars2_646
-yeccpars2_644
-yeccpars2_642
-yeccpars2_641
-yeccpars2_639
-yeccpars2_637
-yeccpars2_636
-yeccpars2_635
-yeccpars2_634
-yeccpars2_633
-yeccpars2_632
-yeccpars2_630
-yeccpars2_628
-yeccpars2_627
-yeccpars2_625
-yeccpars2_624
-yeccpars2_623
-yeccpars2_622
-yeccpars2_621
-yeccpars2_619
-yeccpars2_618
-yeccpars2_617
-yeccpars2_616
-yeccpars2_615
-yeccpars2_614
-yeccpars2_613
-yeccpars2_610
-yeccpars2_609
-yeccpars2_607
-yeccpars2_606
-yeccpars2_605
-yeccpars2_604
-yeccpars2_603
-yeccpars2_602
-yeccpars2_601
-yeccpars2_600
-yeccpars2_599
-yeccpars2_597
-yeccpars2_595
-yeccpars2_594
-yeccpars2_593
-yeccpars2_592
-yeccpars2_591
-yeccpars2_590
-yeccpars2_589
-yeccpars2_588
-yeccpars2_587
-yeccpars2_586
-yeccpars2_585
-yeccpars2_584
-yeccpars2_580
-yeccpars2_579
-yeccpars2_577
-yeccpars2_576
-yeccpars2_575
-yeccpars2_574
-yeccpars2_573
-yeccpars2_572
-yeccpars2_571
-nonempty_list
-yeccpars2_570
-yeccpars2_569
-yeccpars2_568
-yeccpars2_567
-yeccpars2_566
-yeccpars2_565
-yeccpars2_564
-yeccpars2_563
-yeccpars2_562
-yeccpars2_561
-yeccpars2_560
-yeccpars2_559
-yeccpars2_558
-yeccpars2_557
-yeccpars2_556
-yeccpars2_555
-yeccpars2_554
-yeccpars2_553
-yeccpars2_552
-yeccpars2_551
-yeccpars2_550
-yeccpars2_548
-yeccpars2_547
-yeccpars2_546
-yeccpars2_545
-yeccpars2_544
-yeccpars2_543
-yeccpars2_542
-yeccpars2_541
-yeccpars2_540
-yeccpars2_539
-yeccpars2_538
-yeccpars2_537
-yeccpars2_536
-yeccpars2_535
-yeccpars2_534
-yeccpars2_533
-yeccpars2_532
-yeccpars2_531
-yeccpars2_530
-yeccpars2_529
-yeccpars2_cont_528
-yeccpars2_528
-yeccpars2_527
-yeccpars2_526
-yeccpars2_525
-yeccpars2_523
-yeccpars2_522
-yeccpars2_521
-yeccpars2_520
-yeccpars2_519
-yeccpars2_518
-yeccpars2_516
-yeccpars2_515
-yeccpars2_514
-yeccpars2_512
-yeccpars2_511
-yeccpars2_510
-yeccpars2_508
-yeccpars2_507
-yeccpars2_506
-yeccpars2_505
-yeccpars2_504
-yeccpars2_503
-yeccpars2_502
-yeccpars2_500
-yeccpars2_499
-yeccpars2_498
-yeccpars2_497
-yeccpars2_496
-yeccpars2_495
-yeccpars2_494
-yeccpars2_493
-yeccpars2_492
-yeccpars2_491
-yeccpars2_490
-yeccpars2_489
-yeccpars2_488
-yeccpars2_487
-yeccpars2_486
-yeccpars2_485
-yeccpars2_484
-yeccpars2_483
-yeccpars2_481
-yeccpars2_480
-yeccpars2_479
-yeccpars2_477
-yeccpars2_476
-yeccpars2_474
-yeccpars2_473
-yeccpars2_472
-yeccpars2_471
-yeccpars2_470
-yeccpars2_468
-yeccpars2_466
-yeccpars2_465
-yeccpars2_464
-yeccpars2_463
-yeccpars2_462
-yeccpars2_461
-yeccpars2_460
-yeccpars2_459
-yeccpars2_458
-yeccpars2_457
-yeccpars2_456
-yeccpars2_454
-yeccpars2_453
-yeccpars2_452
-yeccpars2_451
-yeccpars2_450
-yeccpars2_449
-yeccpars2_448
-yeccpars2_447
-yeccpars2_446
-yeccpars2_445
-yeccpars2_444
-yeccpars2_443
-yeccpars2_442
-yeccpars2_441
-yeccpars2_439
-yeccpars2_437
-yeccpars2_436
-yeccpars2_435
-yeccpars2_434
-yeccpars2_433
-yeccpars2_432
-yeccpars2_431
-yeccpars2_430
-yeccpars2_429
-yeccpars2_427
-yeccpars2_426
-yeccpars2_425
-yeccpars2_424
-yeccpars2_423
-yeccpars2_422
-yeccpars2_420
-yeccpars2_419
-yeccpars2_417
-yeccpars2_416
-yeccpars2_415
-yeccpars2_413
-yeccpars2_412
-yeccpars2_411
-yeccpars2_410
-yeccpars2_409
-yeccpars2_408
-yeccpars2_407
-yeccpars2_406
-yeccpars2_405
-yeccpars2_404
-yeccpars2_403
-yeccpars2_402
-yeccpars2_400
-yeccpars2_398
-yeccpars2_397
-yeccpars2_395
-yeccpars2_393
-'<='
-yeccpars2_391
-yeccpars2_390
-yeccpars2_389
-yeccpars2_388
-yeccpars2_387
-yeccpars2_386
-yeccpars2_383
-yeccpars2_381
-yeccpars2_380
-yeccpars2_379
-yeccpars2_378
-yeccpars2_377
-yeccpars2_376
-yeccpars2_375
-yeccpars2_373
-yeccpars2_372
-yeccpars2_371
-yeccpars2_369
-yeccpars2_367
-yeccpars2_366
-yeccpars2_365
-yeccpars2_364
-yeccpars2_363
-yeccpars2_362
-yeccpars2_361
-yeccpars2_360
-yeccpars2_359
-yeccpars2_358
-yeccpars2_357
-yeccpars2_356
-yeccpars2_355
-yeccpars2_353
-yeccpars2_352
-yeccpars2_351
-yeccpars2_350
-yeccpars2_349
-yeccpars2_348
-yeccpars2_347
-yeccpars2_346
-yeccpars2_345
-yeccpars2_343
-yeccpars2_341
-yeccpars2_340
-yeccpars2_339
-yeccpars2_338
-yeccpars2_337
-yeccpars2_335
-yeccpars2_333
-yeccpars2_332
-yeccpars2_329
-yeccpars2_328
-yeccpars2_327
-yeccpars2_326
-yeccpars2_325
-yeccpars2_323
-yeccpars2_321
-yeccpars2_320
-yeccpars2_cont_319
-yeccpars2_319
-yeccpars2_317
-yeccpars2_316
-yeccpars2_315
-yeccpars2_314
-yeccpars2_313
-yeccpars2_312
-yeccpars2_310
-yeccpars2_308
-yeccpars2_306
-yeccpars2_304
-yeccpars2_303
-yeccpars2_301
-yeccpars2_299
-yeccpars2_298
-yeccpars2_297
-yeccpars2_296
-yeccpars2_295
-yeccpars2_294
-yeccpars2_292
-yeccpars2_287
-yeccpars2_286
-yeccpars2_284
-yeccpars2_283
-yeccpars2_282
-yeccpars2_281
-yeccpars2_280
-yeccpars2_279
-yeccpars2_278
-'||'
-end
-'?='
-'<-'
-':='
-yeccpars2_277
-yeccpars2_276
-yeccpars2_275
-pass
-yeccpars2_274
-yeccpars2_273
-yeccpars2_271
-yeccpars2_270
-yeccpars2_269
-yeccpars2_268
-yeccpars2_267
-yeccpars2_266
-yeccpars2_265
-yeccpars2_264
-yeccpars2_263
-yeccpars2_262
-yeccpars2_261
-yeccpars2_260
-yeccpars2_259
-yeccpars2_257
-yeccpars2_256
-yeccpars2_255
-yeccpars2_253
-yeccpars2_251
-yeccpars2_250
-yeccpars2_249
-yeccpars2_248
-yeccpars2_246
-yeccpars2_245
-yeccpars2_244
-yeccpars2_243
-yeccpars2_242
-yeccpars2_241
-yeccpars2_240
-yeccpars2_239
-yeccpars2_238
-yeccpars2_237
-yeccpars2_235
-yeccpars2_233
-yeccpars2_232
-yeccpars2_231
-yeccpars2_230
-yeccpars2_229
-yeccpars2_228
-yeccpars2_227
-yeccpars2_224
-yeccpars2_223
-yeccpars2_222
-yeccpars2_221
-yeccpars2_220
-yeccpars2_219
-yeccpars2_218
-yeccpars2_217
-yeccpars2_216
-yeccpars2_215
-yeccpars2_214
-yeccpars2_213
-yeccpars2_212
-yeccpars2_211
-yeccpars2_210
-yeccpars2_209
-yeccpars2_208
-yeccpars2_207
-yeccpars2_206
-yeccpars2_205
-yeccpars2_cont_204
-yeccpars2_204
-yeccpars2_203
-yeccpars2_202
-yeccpars2_201
-yeccpars2_200
-yeccpars2_199
-yeccpars2_198
-yeccpars2_197
-yeccpars2_196
-yeccpars2_195
-yeccpars2_194
-yeccpars2_193
-yeccpars2_192
-yeccpars2_191
-yeccpars2_190
-yeccpars2_189
-yeccpars2_188
-yeccpars2_187
-yeccpars2_186
-yeccpars2_185
-yeccpars2_184
-yeccpars2_183
-float_epsilon
-yeccpars2_182
-yeccpars2_181
-yeccpars2_180
-local_fun
-yeccpars2_179
-external_fun
-yeccpars2_178
-yeccpars2_177
-yeccpars2_176
-yeccpars2_175
-yeccpars2_174
-yeccpars2_173
-yeccpars2_172
-yeccpars2_171
-yeccpars2_170
-yeccpars2_169
-yeccpars2_168
-yeccpars2_167
-yeccpars2_166
-yeccpars2_165
-yeccpars2_164
-yeccpars2_163
-yeccpars2_162
-yeccpars2_161
-yeccpars2_160
-yeccpars2_159
-yeccpars2_158
-yeccpars2_157
-yeccpars2_156
-yeccpars2_155
-yeccpars2_154
-yeccpars2_153
-yeccpars2_152
-yeccpars2_151
-yeccpars2_150
-yeccpars2_149
-yeccpars2_cont_148
-yeccpars2_148
-yeccpars2_147
-yeccpars2_146
-yeccpars2_145
-yeccpars2_144
-yeccpars2_143
-yeccpars2_142
-yeccpars2_141
-yeccpars2_140
-yeccpars2_139
-yeccpars2_138
-yeccpars2_137
-yeccpars2_136
-'...'
-yeccpars2_135
-yeccpars2_134
-yeccpars2_133
-yeccpars2_132
-yeccpars2_131
-yeccpars2_130
-'%ssa%'
-yeccpars2_128
-yeccpars2_127
-yeccpars2_126
-yeccpars2_125
-yeccpars2_124
-yeccpars2_123
-yeccpars2_122
-yeccpars2_121
-yeccpars2_119
-yeccpars2_118
-yeccpars2_117
-yeccpars2_115
-yeccpars2_113
-yeccpars2_112
-yeccpars2_111
-yeccpars2_110
-yeccpars2_109
-yeccpars2_108
-yeccpars2_107
-yeccpars2_105
-yeccpars2_104
-yeccpars2_103
-yeccpars2_102
-yeccpars2_101
-yeccpars2_100
-yeccpars2_99
-yeccpars2_97
-yeccpars2_96
-yeccpars2_95
-yeccpars2_94
-yeccpars2_93
-yeccpars2_92
-yeccpars2_91
-yeccpars2_90
-yeccpars2_87
-yeccpars2_83
-yeccpars2_82
-yeccpars2_80
-yeccpars2_79
-yeccpars2_78
-yeccpars2_76
-yeccpars2_74
-of
-yeccpars2_73
-yeccpars2_72
-yeccpars2_71
-after
-yeccpars2_69
-yeccpars2_66
-yeccpars2_59
-yeccpars2_58
-yeccpars2_57
-yeccpars2_56
-yeccpars2_55
-yeccpars2_54
-yeccpars2_53
-yeccpars2_52
-yeccpars2_51
-yeccpars2_50
-yeccpars2_49
-yeccpars2_48
-yeccpars2_47
-yeccpars2_46
-yeccpars2_45
-yeccpars2_44
-yeccpars2_43
-yeccpars2_42
-yeccpars2_41
-yeccpars2_40
-yeccpars2_39
-yeccpars2_38
-yeccpars2_37
-yeccpars2_36
-yeccpars2_35
-yeccpars2_34
-yeccpars2_33
-yeccpars2_32
-yeccpars2_31
-yeccpars2_30
-yeccpars2_29
-yeccpars2_28
-begin
-yeccpars2_cont_27
-'>>'
-yeccpars2_27
-yeccpars2_26
-yeccpars2_25
-yeccpars2_24
-yeccpars2_22
-yeccpars2_21
-yeccpars2_20
-yeccpars2_19
-yeccpars2_18
-yeccpars2_17
-yeccpars2_16
-yeccpars2_15
-yeccpars2_14
-yeccpars2_13
-yeccpars2_12
-yeccpars2_11
-yeccpars2_cont_10
-'<<'
-yeccpars2_10
-when
-yeccpars2_9
-yeccpars2_8
-yeccpars2_7
-yeccpars2_6
-yeccpars2_5
-yeccpars2_4
-yeccpars2_3
-';'
-yeccpars2_2
-yeccpars2_1
-yeccpars2_0
-missing_state_in_action_table
-yeccpars2
-write_char
-write_string
-reserved_symbol
-yecctoken2string1
-yecctoken2string
-yecctoken_location
-yecctoken_to_string
-yeccerror
-yecctoken_end_location
-yecc_end
-'$end'
-no_func
-yeccpars1
-state_is_unknown
-missing_in_goto_table
-yecc_error_type
-yecc_bug
-yeccpars0
-return_error
-deep_char_list
-no_location
-parse_and_scan
-parse
-check_expr
-add_anno_check
-build_ssa_check_label
-modify_anno1
-anno_from_term
-new_anno
-mapfold_anno
-fold_anno
-type_preop_prec
-'::'
-'..'
-type_inop_prec
-max_prec
-func_prec
-preop_prec
-'='
-inop_prec
-tokens_tuple
-'|'
-','
-tokens_tail
-']'
-'}'
-'{'
-'['
-'=>'
-abstract_byte
-abstract_map_fields
-abstract_tuple_list
-not_string
-abstract_list
-enc_func
-abstract
-loc_lte
-find_anno
-set_location
-end_location
-last_anno
-first_location
-ret_abstr_err
-ret_err
-build_try
-check_clauses
-build_fun
-build_function
-typed
-record_fields
-record_tuple
-farity_list
-error_bad_decl
-attribute_farity_map
-attribute_farity_list
-attribute_farity
-var_list
-build_attribute
-abstract2
-type_tag
-build_bin_type
-build_gen_type
-lift_unions
-build_constraint
-is_subtype
-build_compat_constraint
-find_arity_from_specs
-build_type_spec
-typed_record
-build_typed_attribute
-'('
-')'
-'->'
-parse_form
-std_info
-open_file
-'$3'
-'-add_env/2-inlined-0-'
-'-start/1-fun-0-'
-'-get_all_env/1-fun-0-'
-keystore
-'-handle_call/3-lc$^3/1-0-'
-'-terminate/2-fun-0-'
-'-load/2-fun-0-'
-'-unload/2-fun-0-'
-'-check_start_cond/4-fun-0-'
-'-start_appl/3-fun-0-'
-'-prim_parse/2-fun-0-'
-'-do_change_apps/3-fun-0-'
-'-do_change_apps/3-fun-1-'
-'-get_cmd_env/1-fun-0-'
-'-add_env/2-fun-0-'
-'-do_config_diff/3-fun-0-'
-'-conf_param_to_conf/1-fun-0-'
-'-config_param_to_list/1-lc$^0/1-0-'
-'-check_conf/0-fun-1-'
-'-read_fd_until_end_and_close/3-Read/4-0-'
-'-read_fd_until_end_and_close/3-fun-1-'
-'-read_fd_until_end_and_close/3-GetResult/0-1-'
-'-reply_to_requester/3-fun-0-'
-default_encoding
-read_encoding_from_binary
-file_binary_to_list
-test_make_apps
-test_do_change_appl
-test_change_apps
-update_permissions
-reply_to_requester
-info_exited
-started_at
-info_started
-config_error
-strip_comment
-only_ws
-reader_ref
-read_fd_until_end_and_close
-parse_file
-scan_file
-read_from_file_descriptor
-load_file_descriptor
-check_conf_sys
-check_conf
-config_param_to_list
-invalid_file_desc
-characters_to_nfc_list
-configfd
-conf_param_to_conf
-do_config_diff
-application_not_found
-module_not_defined
-do_config_change
-do_prep_config_change
-check_user
-del_env
-add_env
-get_env_key
-merge_app_env
-change_app_env
-merge_env
-get_env_i
-handle_make_term_error
-make_term
-conv
-get_cmd_env
-get_opt
-do_change_appl
-is_loaded_app
-do_change_apps
-invalid_name
-badstartspec
-invalid_options
-make_appl_i
-parse_term
-prim_parse
-prim_consult
-make_appl
-bad_application
-get_restart_type
-nd
-keyreplaceadd
-ksd
-keysearchdelete
-stop_appl
-start_appl
-init_starter
-spawn_starter
-check_start_cond
-do_load_application
-maybe_load_application
-'-separate_error_info/1-fun-0-'
-'-format_link_reports/4-lc$^0/1-0-'
-'-format_exception/5-fun-0-'
-'-pp_fun/2-fun-0-'
-nl
-modifier
-chars_limit_opt
-part_separator
-report_separator
-format_tag
-pp_fun
-write_atom
-write_atom_as_latin1
-format_exception
-format_rep
-format_report
-format_link_report
-format_link_reports
-splitwith
-separate_error_info
-format_own_report
-do_format
-badrpc
-proc_info
-get_my_name
-translate_process_info
-get_process_info
-no_trap
-adjacents
-visit
-max_neighbours
-neighbours
-get_initial_call
-make_neighbour_report
-neighbour
-make_neighbour_reports1
-linked_info
-get_dictionary
-clean_dict
-cleaned_dict
-get_cleaned_dictionary
-receive_messages
-get_process_messages
-get_messages
-ancestors
-get_ancestors
-my_info_1
-my_info
-crash_report
-trans_init
-raw_init_call
-raw_initial_call
-translate_initial_call
-make_dummy_args
-await_DOWN
-kill_flush_EXIT
-flush_EXIT
-sync_start_monitor
-nack
-sync_start
-exit_reason
-exit_p
-init_p_do_apply
-wake_up
-spawn_mon
-init_p
-get_loaded
-del_cntrl
-ac_application_run
-notify_cntrl_started
-cntrl
-shutdown_func
-application_terminated
-keyreplace
-ac_application_not_run
-stop_it
-not_running
-failover
-ac_start_application_reply
-ac_load_application_reply
-ac_change_application_req
-application_start_failure
-handle_application_started
-application_started
-loading
-start_p_false
-zf
-ac_load_application_req
-not_started
-ac_application_stopped
-ac_application_unloaded
-permissions
-ac_start_application_req
-persistent
-check_distributed
-distributed
-check_para_value
-check_para
-check_conf_data
-'load error'
-enter_loop
-'$initial_call'
-appl_data
-appl
-start_phases
-'$2'
-'$1'
-config_change
-prep_config_change
-change_application_data
-control_application
-ac_tab
-bad_environment_value
-ack
-':'
-badexpr
-binary_comprehension
-bitlevel_binaries
-'-merge_bindings/4-inlined-0-'
-'-match_fun/2-inlined-0-'
-'-expr/6-RF/20-22-'
-'-expr/6-RF/19-21-'
-'-expr/6-RF/18-20-'
-'-expr/6-RF/17-19-'
-'-expr/6-RF/16-18-'
-'-expr/6-RF/15-17-'
-'-expr/6-RF/14-16-'
-'-expr/6-RF/13-15-'
-'-expr/6-RF/12-14-'
-'-expr/6-RF/11-13-'
-'-expr/6-RF/10-12-'
-'-expr/6-RF/9-11-'
-'-expr/6-RF/8-10-'
-'-expr/6-RF/7-9-'
-'-expr/6-RF/6-8-'
-'-expr/6-RF/5-7-'
-'-expr/6-RF/4-6-'
-'-expr/6-RF/3-5-'
-'-expr/6-RF/2-4-'
-'-expr/6-RF/1-3-'
-'-expr/6-RF/0-2-'
-'-expr/6-fun-0-'
-'-expr/6-fun-44-'
-'-expr/6-fun-45-'
-'-expr/6-fun-22-'
-'-expr/6-fun-21-'
-'-expr/6-fun-20-'
-'-expr/6-fun-19-'
-'-expr/6-fun-18-'
-'-expr/6-fun-17-'
-'-expr/6-fun-16-'
-'-expr/6-fun-15-'
-'-expr/6-fun-14-'
-'-expr/6-fun-13-'
-'-expr/6-fun-12-'
-'-expr/6-fun-11-'
-'-expr/6-fun-10-'
-'-expr/6-fun-9-'
-'-expr/6-fun-8-'
-'-expr/6-fun-7-'
-'-expr/6-fun-6-'
-'-expr/6-fun-5-'
-'-expr/6-fun-4-'
-'-expr/6-fun-3-'
-'-expr/6-fun-2-'
-'-expr/6-fun-1-'
-is_anno
-'-find_maxline/1-fun-0-'
-'-fun_used_bindings/4-fun-0-'
-'-local_func/8-fun-0-'
-'-eval_lc1/7-fun-1-'
-'-eval_lc1/7-fun-0-'
-'-eval_bc1/7-fun-1-'
-'-eval_bc1/7-fun-0-'
-'-eval_mc1/7-fun-1-'
-'-eval_mc1/7-fun-0-'
-'-eval_generator/7-fun-0-'
-'-eval_b_generate/8-fun-0-'
-'-eval_b_generate/8-fun-1-'
-'-receive_clauses/8-fun-0-'
-'-match1/5-fun-0-'
-'-match1/5-fun-1-'
-'-match_fun/2-fun-0-'
-'-add_bindings/2-fun-0-'
-'-merge_bindings/4-fun-0-'
-'-merge_bindings/4-fun-1-'
-'-to_terms/1-lc$^0/1-0-'
-'-token_fixup/1-lc$^0/1-0-'
-'-reset_token_anno/1-lc$^0/1-0-'
-'-reset_expr_anno/1-lc$^0/1-0-'
-'-reset_anno/0-fun-0-'
-'-normalise/1-fun-1-'
-'-normalise/1-fun-0-'
-'-ev_expr/1-lc$^0/1-0-'
-anno
-all_white
-eval_str
-ev_expr
-eval_expr
-is_constant_expr
-normalise_list
-normalise
-extended_parse_term
-validate_tag
-fixup_mfa
-fixup_tag
-fixup_text
-fixup_ast
-reset_anno
-reset_expr_anno
-reset_token_anno
-string_fixup
-expr_fixup
-'Ref'
-'Port'
-'Fun'
-'.'
-'#'
-unscannable
-set_text
-token_fixup
-tokens_fixup
-extended_parse_exprs
-anno_to_term
-to_term
-to_terms
-filter_bindings
-merge_bindings
-add_bindings
-del_binding
-add_binding
-binding
-bindings
-match_list
-match_map
-match_tuple
-match_fun
-match_bits
-match1
-string_to_conses
-reference
-number
-expr_guard_test
-guard_expr
-guard0
-guard1
-match_clause
-receive_clauses
-case_clauses
-illegal_stacktrace_variable
-check_stacktrace_vars
-if_clauses
-eval_op
-eval_named_fun
-'-inside-an-interpreted-fun-'
-eval_fun
-ret_expr
-map_assoc
-map_exact
-eval_map_fields
-is_generator
-eval_filter
-eval_m_generate
-bin_gen
-eval_b_generate
-eval_generate
-eval_generator
-eval_mc1
-eval_mc
-eval_bc1
-eval_bc
-eval_lc1
-eval_lc
-no_env
-do_apply
-local_func2
-local_func
-unhide_calls
-f
-m
-hide_calls
-fun_used_bindings
-'$erl_eval_max_line'
-find_maxline
-apply_error
-expr_grp
-unbound
-not_ok
-transform_from_evaluator
-k
-v
-else_clause
-argument_limit
-undef_record
-named_fun_data
-check_command
-failure
-success
-maybe_match_exprs
-empty_fun_used_vars
-process_exited
-critical
-alert
-emergency
-got_unexpected_message
-no_domain
-super
-remote_gl
-'-handle_call/3-inlined-0-'
-'-set_module_level/2-fun-0-'
-'-unset_module_level/1-fun-0-'
-'-handle_call/3-fun-7-'
-'-handle_call/3-fun-6-'
-removing_handler
-'-handle_call/3-fun-3-'
-'-handle_call/3-fun-5-'
-'-handle_call/3-fun-4-'
-handler_not_added
-invalid_handler
-function_not_exported
-'-call_h_async/4-fun-0-'
-internal_log_event
-add_default_metadata
-diffs
-logger_process_exited
-call_h_reply
-call_h_async
-changing_config
-call_h
-illegal_config_change
-diff_maps
-check_config_change
-invalid_formatter
-callback_crashed
-check_formatter
-invalid_filter_default
-check_filter_default
-invalid_filters
-invalid_filter
-check_filters
-invalid_level
-check_level
-check_mod
-invalid_id
-check_id
-invalid_primary_config
-metadata
-check_config
-get_type
-sanity_check_1
-invalid_config
-sanity_check
-default_config
-keytake
-do_remove_filter
-do_add_filter
-attempting_syncronous_call_to_self
-async_req_reply
-formatter
-already_exist
-exist
-set_opts
-adding_handler
-simple
-create
-proxy
-get_default_config
-'$logger_cb_process'
-invalid_formatter_config
-update_formatter_config
-update_config
-change_config
-set_config
-unset_module_level
-not_a_list_of_modules
-set_module_level
-add_filter
-add_handler
-'-do_start/4-fun-0-'
-'-maybe_add_read_ahead/2-fun-0-'
-cbv
-cafu
-count_and_find
-read_size
-cast_binary
-cat
-do_setopts
-check_valid_opts
-unfold
-substitute_negations
-err_func
-continuation_location
-tokens
-invalid_unicode_error
-get_chars_apply
-get_chars_notempty
-get_chars_empty
-convert_enc
-collect_line
-io_request_loop
-requests
-get_until
-std_reply
-io_reply
-server_loop
-maybe_add_read_ahead
-valid_enc
-expand_encoding
-parse_options
-invalid_unicode
-info_report
-bad_combination
-shutdown_error
-start_error
-reached_max_restart_intensity
-title
-supervisor_report
-report_cb
-sasl
-child_terminated
-already_present
-n_objects
-read_only
-'-terminate_dynamic_children/1-inlined-0-'
-'-find_child_by_pid/2-inlined-0-'
-failed_to_start_child
-'-start_children/2-fun-0-'
-'-handle_call/3-fun-2-'
-'-handle_call/3-fun-0-'
-'-handle_call/3-fun-1-'
-'-do_auto_shutdown/2-fun-0-'
-'-terminate_children/2-fun-0-'
-'-terminate_dynamic_children/1-fun-0-'
-'-terminate_dynamic_children/1-fun-1-'
-'-wait_dynamic_children/5-fun-0-'
-'-find_child_by_pid/2-fun-0-'
-the
-'-set_pid/3-fun-0-'
-invalid_module
-a
-'-validMods/1-fun-0-'
-'-add_restart/3-fun-0-'
-'-dyn_fold/3-fun-0-'
-parse_transform
-transformed
-be
-should
-dyn_init
-real
-dyn_args
-dyn_exists
-called
-dyn_map
-transform_error
-dyn_fold
-mapsets
-dyn_store
-dyn_erase
-dyn_size
-single
-p
-format_child_log_single
-format_log_multi
-format_log_single
-limit_child_report
-limit_term
-errorContext
-limit_report
-single_line
-encoding
-depth
-unlimited
-chars_limit
-get_format_depth
-format_log
-report_progress
-nb_children
-mfargs
-restart_type
-child_type
-extract_child
-takewhile
-add_restart
-child_to_spec
-invalid_modules
-validMods
-invalid_shutdown
-validShutdown
-invalid_significant
-validSignificant
-invalid_restart_type
-validRestartType
-invalid_mfa
-validFunc
-validId
-invalid_child_type
-validChildType
-missing_id
-missing_start
-'-table/2-inlined-0-'
-do_check_childspec
-invalid_child_spec
-'-file2tab/2-inlined-1-'
-'-file2tab/2-inlined-0-'
-significant
-check_childspec
-log_terms
-'-tab2file/3-fun-1-'
-duplicate_child_name
-check_startspec
-blog_terms
-supname
-invalid_auto_shutdown
-'-tab2file/3-fun-0-'
-'-file2tab/2-fun-1-'
-validAutoShutdown
-invalid_period
-'-file2tab/2-fun-0-'
-'-table/2-fun-2-'
-validPeriod
-invalid_intensity
-'-table/2-fun-1-'
-'-table/2-fun-0-'
-validIntensity
-'-table/2-fun-3-'
-invalid_strategy
-validStrategy
-'-table/2-fun-4-'
-'-table/2-fun-5-'
-do_check_flags
-check_flags
-'-table/2-fun-6-'
-'-table/2-fun-7-'
-auto_shutdown
-intensity
-'-table/2-fun-8-'
-'-table/2-lc$^10/1-2-'
-period
-'-table/2-lc$^9/1-1-'
-strategy
-'-table/2-fun-11-'
-set_flags
-init_state
-'-qlc_next/2-fun-0-'
-'-qlc_prev/2-fun-0-'
-children_any1
-children_any
-'-qlc_select/1-fun-0-'
-'-hform/6-lc$^0/1-0-'
-children_fold
-children_to_list
-re_match
-print_re_num
-children_map
-re_display
-remove_child
-update_with
-re_search
-slice
-set_pid
-get_dynamic_child
-do_display_item
-find_child_by_pid
-do_display_items
-do_display
-find_dynamic_child
-print_number
-find_child_and_args
-find_child
-split_ids
-split_child
-trailing
-del_child
-nonl
-do_save_child
-save_child
-line_string
-wait_dynamic_children
-choice
-terminate_dynamic_children
-'(c)ontinue (q)uit (p)Digits (k)ill /Regexp -->'
-'-basenameb/2-lc$^0/1-0-'
-'-unix_splitb/1-lc$^0/1-0-'
-'EOT (q)uit (p)Digits (k)ill /Regexp -->'
-unlink_flush
-'-win32_splitb/1-lc$^3/1-4-'
-eot
-display_items
-'-win32_splitb/1-lc$^1/1-3-'
-brutal_kill
-'-win32_splitb/1-lc$^0/1-2-'
-'-win32_splitb/1-lc$^2/1-1-'
-pad_right
-do_terminate
-terminate_children
-'-win32_splitb/1-lc$^4/1-0-'
-hform
-'-basedir/3-lc$^0/1-0-'
-cast
-restart_multiple_children
-is_reg
-try_again
-rest_for_one
-prinfo2
-prinfo
-one_for_one
-one_for_all
-validate_bin
-tabs
-mem
-i
-fail
-do_auto_shutdown
-listify
-validate_char
-validate_list
-default_option
-keydelete
-validate
-traverse
-basedir_os_type
-qlc_select
-qlc_prev
-basedir_join_home
-handle_start_child
-qlc_next
-noappdata
-basedir_windows_appdata
-basedir_windows
-num_of_objects
-update_chsp
-basedir_darwin
-lexemes
-is_unique_objects
-update_childspec1
-is_sorted_key
-table_info
-update_childspec
-pre_fun
-bad_flags
-user_data
-user_config
-invalid_type
-post_fun
-info_fun
-basedir_linux
-basedir_from_os
-format_fun
-key_equality
-lookup_fun
-author
-basedir_name_from_opts
-try_again_restart
-basedir_os_from_opts
-last_prev
-first_next
-site_data
-site_config
-count_child
-specs
-windows
-tabfile_info
-supervisors
-linux
-user_log
-cannot_create_table
-create_tab
-user_cache
-basedir
-load_table
-workers
-worker
-filename_string_to_binary
-scan_for_endinfo
-md5_and_convert
-do_flatten
-restarting
-major_version
-filetab_options
-major_os_type
-separators
-do_start_child_i
-child
-replace
-do_start_child
-win32_nativename
-nativename
-start_children
-win32_split
-get_header_data
-chunk
-wrap_chunk
-unix_split
-bad_start_spec
-bchunk
-wrap_bchunk
-init_dynamic
-win32_splitb
-start_spec
-fix_driveletter
-verify_header_mandatory
-unix_splitb
-rootname2
-maybe_remove_dirsep
-join1b
-init_children
-supervisor_data
-simple_one_for_one
-count_mandatory
-join1
-verify
-parse_f2t_opts
-bad_size
-invalid_object_count
-checksum_error
-dirjoin1
-dirjoin
-fstrip
-do_read_and_verify
-get_callback_module
-check_childspecs2
-read_error
-unsupported_file_version
-never
-any_significant
-all_significant
-repaired
-file2tab
-check_childspecs1
-skip_prefix
-object_count
-md5sum
-basename1
-parse_ft_info_options
-check_childspecs
-count_children
-malformed_option
-unknown_option
-which_children
-get_childspec
-basenameb
-parse_ft_options
-terminate_child
-delete_child
-restart_child
-win_basenameb
-absname_join
-start_child
-md5terms
-ft_options_to_list
-dump_file
-eaccess
-extended_info
-badtab
-tab2file
-tab2list
-match_delete
-init_table_sub
-end_of_input
-init_table_continue
-init_table
-test_ms
-from_ets
-to_dets
-to_ets
-from_dets
-do_foldr
-transform_from_shell
-fun_data
-fun2ms
-repair_continuation
-match_spec_run
-select_delete
-delete_all_objects
-receive_all
-only_loaded
-'-inlined-behaviour_info/1-'
-'-ensure_all_started/3-lc$^0/1-0-'
-'-wait_all_enqueued/3-lc$^0/1-0-'
-get_appl_name
-start_type
-get_child
-get_master
-get_supervisor
-get_application_module
-get_application
-get_pid_all_key
-get_all_key
-get_pid_key
-get_key
-get_pid_all_env
-get_all_env
-get_pid_env
-get_env
-unset_env
-set_env
-loaded_applications
-which_applications
-stop_application
-distributed_application
-permit_only_loaded_application
-permit_application
-permit
-takeover_application
-takeover
-start_boot_application
-ensure_started
-wait_all_enqueued
-deadlock
-wait_one_enqueued
-start_application_request
-enqueue_dag_leaves
-concurrent_dag_start
-start_application
-enqueue_or_start_app
-is_running
-enqueue_or_start
-concurrent
-temporary
-ensure_all_started
-unload_application
-load_application
-load1
-fields
-overlapping_contract
-no_missing_return
-missing_return
-no_extra_return
-extra_return
-no_underspecs
-underspecs
-overspecs
-specdiffs
-no_missing_calls
-race_conditions
-error_handling
-unmatched_returns
-no_undefined_callbacks
-no_behaviours
-no_unknown
-no_contracts
-no_fail_call
-no_opaque
-no_fun_app
-no_improper_lists
-no_unused
-no_return
-func
-item
-'-removed_fa/4-inlined-0-'
-'-pattern_map/4-inlined-0-'
-'-pattern_list/4-inlined-0-'
-'-pattern_fields/6-inlined-0-'
-'-is_gexpr/2-inlined-0-'
-'-import/3-inlined-0-'
-'-icrt_export/5-inlined-3-'
-'-icrt_export/5-inlined-2-'
-'-icrt_export/5-inlined-1-'
-'-icrt_export/5-inlined-0-'
-'-gexpr_list/3-inlined-0-'
-'-func_location_warning/3-inlined-0-'
-'-func_location_error/3-inlined-0-'
-'-fun_clauses1/3-inlined-0-'
-'-expr_list/3-inlined-0-'
-'-export_type/3-inlined-0-'
-'-export/3-inlined-0-'
-'-depr_fa/4-inlined-0-'
-'-def_fields/3-inlined-0-'
-'-check_unused_types_1/2-inlined-1-'
-'-check_undefined_types/1-inlined-2-'
-'-check_type_2/3-inlined-1-'
-'-check_specs_without_function/1-inlined-0-'
-'-check_local_opaque_types/1-inlined-0-'
-'-check_fields/6-inlined-0-'
-'-check_dialyzer_attribute/2-inlined-6-'
-'-bool_option/4-fun-0-'
-'-value_option/3-fun-0-'
-'-value_option/7-fun-0-'
-'-format_mfa/1-lc$^0/1-0-'
-'-exprs_opt/3-fun-0-'
-'-used_vars/2-fun-0-'
-'-compiler_options/1-lc$^0/1-0-'
-'-start/2-lc$^0/1-0-'
-'-start/2-lc$^1/1-1-'
-'-pack_errors/1-fun-0-'
-'-pack_errors/1-fun-1-'
-'-pack_errors/1-fun-2-'
-'-pack_warnings/1-lc$^2/1-1-'
-'-pack_warnings/1-lc$^1/1-0-'
-'-pack_warnings/1-lc$^0/1-2-'
-'-includes_qlc_hrl/2-lc$^0/1-0-'
-'-set_file/2-lc$^0/1-0-'
-'-anno_set_file/2-fun-0-'
-'-bif_clashes/2-lc$^0/1-0-'
-'-not_deprecated/2-lc$^2/1-2-'
-'-not_deprecated/2-lc$^1/1-1-'
-'-not_deprecated/2-lc$^0/1-0-'
-'-not_deprecated/2-lc$^4/1-4-'
-'-not_deprecated/2-lc$^3/1-3-'
-'-not_deprecated/2-lc$^5/1-5-'
-'-not_deprecated/2-fun-6-'
-'-not_removed/2-lc$^2/1-2-'
-'-not_removed/2-lc$^1/1-1-'
-'-not_removed/2-lc$^0/1-0-'
-'-not_removed/2-lc$^4/1-4-'
-'-not_removed/2-lc$^3/1-3-'
-'-not_removed/2-fun-5-'
-'-disallowed_compile_flags/2-lc$^1/1-1-'
-'-disallowed_compile_flags/2-lc$^0/1-0-'
-'-disallowed_compile_flags/2-lc$^3/1-3-'
-'-disallowed_compile_flags/2-lc$^2/1-2-'
-bad_filter
-'-behaviour_check/2-lc$^0/1-0-'
-'-behaviour_check/2-fun-1-'
-'-behaviour_check/2-lc$^2/1-1-'
-'-behaviour_missing_callbacks/2-fun-0-'
-no_elements
-'-behaviour_conflicting/2-fun-0-'
-'-check_deprecated/2-lc$^2/1-2-'
-'-check_deprecated/2-lc$^1/1-1-'
-'-check_deprecated/2-lc$^0/1-0-'
-'-check_deprecated/2-fun-3-'
-'-depr_fa/4-fun-0-'
-'-check_removed/2-lc$^2/1-2-'
-'-check_removed/2-lc$^1/1-1-'
-'-check_removed/2-lc$^0/1-0-'
-'-check_removed/2-fun-3-'
-'-removed_fa/4-fun-0-'
-'-check_imports/2-lc$^1/1-1-'
-'-check_imports/2-lc$^0/1-0-'
-'-check_imports/2-lc$^3/1-3-'
-'-check_imports/2-lc$^2/1-2-'
-'-check_unused_functions/2-lc$^0/1-0-'
-'-check_unused_functions/2-lc$^2/1-2-'
-'-check_unused_functions/2-lc$^1/1-1-'
-'-check_undefined_functions/1-fun-0-'
-'-check_undefined_types/1-lc$^0/1-0-'
-'-check_undefined_types/1-fun-1-'
-'-check_undefined_types/1-fun-2-'
-'-check_option_functions/4-lc$^2/1-2-'
-'-check_option_functions/4-lc$^1/1-1-'
-'-check_option_functions/4-lc$^0/1-0-'
-'-check_option_functions/4-lc$^3/1-3-'
-'-check_option_functions/4-lc$^4/1-4-'
-'-check_nifs/2-lc$^1/1-1-'
-'-check_nifs/2-lc$^0/1-0-'
-'-check_nifs/2-lc$^2/1-2-'
-'-nowarn_function/2-lc$^1/1-1-'
-'-nowarn_function/2-lc$^0/1-0-'
-'-func_location_warning/3-fun-0-'
-'-func_location_error/3-fun-0-'
-'-check_untyped_records/2-fun-0-'
-'-check_untyped_records/2-lc$^1/1-0-'
-'-check_untyped_records/2-fun-2-'
-'-check_unused_records/2-lc$^0/1-0-'
-'-check_unused_records/2-lc$^3/1-3-'
-'-check_unused_records/2-lc$^2/1-2-'
-'-check_unused_records/2-lc$^1/1-1-'
-'-check_unused_records/2-fun-4-'
-'-check_unused_records/2-fun-5-'
-'-check_unused_records/2-lc$^6/1-5-'
-'-check_unused_records/2-fun-7-'
-'-check_callback_information/1-fun-0-'
-'-check_callback_information/1-fun-1-'
-'-export/3-fun-0-'
-'-export_type/3-fun-0-'
-'-import/3-fun-0-'
-'-check_imports/3-fun-0-'
-store
-'-add_imports/3-fun-0-'
-'-clauses/2-fun-0-'
-'-pattern/4-fun-0-'
-'-pattern_list/4-fun-0-'
-map_key
-'-pattern_map/4-fun-0-'
-'-pattern_bin/4-fun-0-'
-'-good_string_size_type/2-fun-0-'
-'-expr_bin/4-fun-0-'
-'-gexpr/3-fun-3-'
-'-gexpr/3-fun-4-'
-'-gexpr/3-fun-2-'
-'-gexpr_list/3-fun-0-'
-'-is_guard_test/1-fun-0-'
-'-is_guard_test/2-fun-0-'
-'-is_guard_test/3-fun-0-'
-'-is_guard_test/3-fun-1-'
-'-is_guard_expr/1-fun-0-'
-'-is_gexpr/2-fun-0-'
-'-is_gexpr_list/2-fun-0-'
-'-is_gexpr_fields/4-fun-0-'
-'-expr/3-fun-5-'
-'-expr/3-fun-4-'
-'-expr/3-fun-3-'
-'-expr/3-fun-2-'
-'-expr_list/3-fun-0-'
-'-record_def/4-lc$^0/1-0-'
-'-def_fields/3-fun-0-'
-'-normalise_fields/1-fun-0-'
-'-check_fields/6-fun-0-'
-'-pattern_fields/6-fun-0-'
-'-pattern_fields/6-fun-1-'
-'-init_fields/3-lc$^0/1-0-'
-'-type_def/6-fun-0-'
-'-warn_redefined_builtin_type/3-lc$^1/1-1-'
-'-warn_redefined_builtin_type/3-lc$^0/1-0-'
-'-check_type/2-fun-0-'
-'-check_type_2/3-fun-5-'
-'-check_type_2/3-fun-1-'
-'-check_type_2/3-fun-2-'
-'-check_type_2/3-fun-3-'
-merge_with
-'-check_type_2/3-fun-4-'
-'-check_type_2/3-fun-0-'
-'-check_record_types/5-fun-0-'
-'-remove_non_visible/1-lc$^0/1-0-'
-'-any_control_characters/1-fun-0-'
-constraint
-'-check_specs/4-lc$^0/1-0-'
-'-check_specs_without_function/1-fun-0-'
-'-add_missing_spec_warnings/3-lc$^0/1-0-'
-'-add_missing_spec_warnings/3-lc$^2/1-2-'
-'-add_missing_spec_warnings/3-lc$^1/1-1-'
-'-add_missing_spec_warnings/3-fun-3-'
-'-check_unused_types_1/2-lc$^0/1-0-'
-'-check_unused_types_1/2-fun-1-'
-'-reached_types/1-lc$^1/1-1-'
-'-reached_types/1-lc$^0/1-0-'
-'-reached_types/1-lc$^2/1-2-'
-'-initially_reached_types/1-lc$^0/1-0-'
-'-check_local_opaque_types/1-fun-0-'
-'-check_dialyzer_attribute/2-lc$^4/1-2-'
-'-check_dialyzer_attribute/2-lc$^1/1-4-'
-'-check_dialyzer_attribute/2-lc$^0/1-3-'
-'-check_dialyzer_attribute/2-lc$^3/1-1-'
-'-check_dialyzer_attribute/2-lc$^2/1-0-'
-'-check_dialyzer_attribute/2-fun-5-'
-'-check_dialyzer_attribute/2-fun-6-'
-'-check_dialyzer_attribute/2-fun-7-'
-'-icrt_clauses/3-fun-0-'
-'-catch_clauses/3-fun-0-'
-'-icrt_export/5-fun-0-'
-'-icrt_export/5-fun-1-'
-'-icrt_export/5-fun-2-'
-'-icrt_export/5-fun-3-'
-'-icrt_export/5-fun-4-'
-'-is_guard_test2_info/1-fun-0-'
-'-fun_clauses/3-lc$^0/1-0-'
-'-fun_clauses1/3-fun-0-'
-'-shadow_vars/4-fun-0-'
-'-unused_vars/3-fun-0-'
-'-warn_unused_vars/3-fun-0-'
-'-warn_unused_vars/3-fun-1-'
-'-warn_unused_vars/3-fun-2-'
-'-vtupdate/2-fun-0-'
-'-vtunsafe/3-lc$^0/1-0-'
-'-vtmerge/2-fun-0-'
-'-vtmerge/1-fun-0-'
-'-vtmerge_pat/3-fun-0-'
-matched
-'-vtmerge_pat/3-fun-1-'
-'-vtnew/2-fun-0-'
-'-vtold/2-fun-0-'
-'-vt_no_unsafe/1-lc$^0/1-0-'
-'-vt_no_unused/1-lc$^0/1-0-'
-'-copy_expr/2-fun-0-'
-'-feature_keywords/0-fun-0-'
-keywords
-'-feature_keywords/0-fun-1-'
-'-canonicalize_string/1-fun-0-'
-'-local_functions/1-lc$^0/1-0-'
-'-auto_import_suppressed/1-lc$^0/1-0-'
-'-auto_import_suppressed/1-lc$^1/1-1-'
-maps_prepend
-no_guard_bif_clash
-bif_clash_specifically_disabled
-is_autoimport_suppressed
-no_auto_import
-auto_import_suppressed
-is_imported_from_erlang
-is_imported_function
-is_local_function
-local_functions
-control_type
-is_modifier
-intersection
-check_modifiers_1
-check_modifiers
-extract_modifiers
-extract_sequence_digits
-extract_sequence
-extract_sequences
-check_format_string
-args_length
-args_list
-arguments
-check_format_4
-check_format_3
-no_argument_list
-check_format_2a
-warn
-check_format_2
-foldr
-canonicalize_string
-check_format_1
-fwrite
-is_format_function
-format_function
-text
-configurable
-feature_keywords
-test_overriden_by_local
-old_type_test
-obsolete_type
-add_removed_warning
-obsolete
-q
-check_qlc_hrl
-is_inline_opt
-check_nif_inline
-check_load_nif
-check_remote_function
-has_wildcard_field
-check_record_info_call
-copy_expr
-vt_no_unused
-vt_no_unsafe
-vtold
-vtsubtract
-vtnew
-merge_used
-merge_state
-merge_annos
-vtmerge_pat
-vtmerge
-vtunsafe
-vtupdate
-check_old_unused_vars
-check_unused_vars
-do_expr_var
-expr_var
-pat_binsize_var
-warn_underscore_match_pat_1
-warn_underscore_match_pat
-pat_var
-fun_clause
-fun_clauses1
-fun_clauses
-bitstring
-bits
-bytes
-handle_bitstring_gen_pat
-comprehension_pattern
-handle_generator
-is_guard_test2_info
-m_generate
-generate
-b_generate
-lc_quals
-comprehension_expr
-handle_comprehension
-dropwhile
-icrt_export
-stacktrace
-taint_stack_var
-catch_clause
-catch_clauses
-icrt_clause
-icrt_clauses
-try_clauses
-is_module_dialyzer_option
-is_function_dialyzer_option
-check_dialyzer_attribute
-check_local_opaque_types
-initially_reached_types
-reachable
-family_to_digraph
-rel2fam
-reached_types
-check_unused_types_1
-check_unused_types
-add_missing_spec_warnings
-exported
-check_functions_without_spec
-check_specs_without_function
-set_generated
-nowarn
-bounded_fun
-check_specs
-any_control_characters
-remove_non_visible
-latin1_char_list
-check_module_name
-is_fa
-is_fa_list
-optional_cbs
-callback_decl
-spec_decl
-obsolete_builtin_type
-is_obsolete_builtin_type
-is_type
-is_default_type
-used_type
-field_type
-check_record_types
-seen_multiple
-seen_once_union
-seen_once
-remote_type
-ann_type
-range
-user_type
-typed_record_field
-check_type_2
-check_type_1
-check_type
-no_auto_import_types
-typeinfo
-type_def
-find_field
-exist_field
-update_fields
-ginit_fields
-init_fields
-pattern_fields
-pattern_field
-check_field
-check_fields
-used_record
-check_record
-exist_record
-normalise_fields
-def_fields
-product
-record_def
-is_valid_call
-warn_invalid_call
-is_valid_record
-warn_invalid_record
-map_fields
-check_assoc_fields
-record_expr
-expr_list
-if
-fun
-catch
-old_bif
-record_info
-else
-'named fun'
-unused
-first_anno
-named_fun
-mc
-maybe_match
-maybe
-lc
-case
-bc
-try
-ssa_check_when
-expr
-is_gexpr_fields
-map_field_exact
-map_field_assoc
-is_map_fields
-is_gexpr_list
-comp
-arith
-op_type
-is_gexpr_op
-is_gexpr
-is_guard_expr
-is_guard_test2
-is_guard_test
-gexpr_list
-bif
-guard_bif
-record_field
-gexpr
-type_test
-guard_test2
-guard_test
-guard_tests
-elemtype_check
-bittype
-bit_size_check
-set_bit_type
-bit_type
-expr_bin
-is_bit_size_illegal
-pat_bit_size
-pat_bit_expr
-good_string_size_type
-pattern_element_1
-bin_element
-pattern_element
-pattern_bin
-pattern_map
-arith_op
-is_pattern_expr_1
-partial_eval
-is_pattern_expr
-check_multi_field_init
-pattern_list
-var
-tuple
-bin
-record_index
-char
-cons
-op
-pattern
-head
-clause
-clauses
-function_check_max_args
-define_function
-call_function
-check_on_load
-imported
-add_imports
-is_member
-check_callback_information
-check_unused_records
-check_untyped_records
-func_location_error
-func_location_warning
-nowarn_function
-check_nifs
-check_option_functions
-check_bif_clashes
-check_undefined_types
-drestriction
-from_external
-check_undefined_functions
-add_element
-reached_functions
-initially_reached
-union
-check_unused_functions
-inline
-check_inlines
-check_imports
-ignore_predefined_funcs
-removed_desc
-otp_doc_vsn
-generated
-removed_fa
-removed_cat
-check_removed
-deprecated_desc
-next_version
-next_major_release
-eventually
-deprecated_flag
-depr_fa
-depr_cat
-check_deprecated
-behaviour_add_conflict
-behaviour_add_conflicts
-to_external
-family_specification
-relation_to_family
-converse
-family_to_relation
-relation
-behaviour_conflicting
-behaviour_missing_callbacks
-callbacks
-behaviour_callbacks
-all_behaviour_callbacks
-behaviour_check
-check_behaviour
-post_traversal_check
-disallowed_compile_flags
-not_removed
-not_deprecated
-bif_clashes
-dialyzer
-function_state
-optional_callbacks
-opaque
-import
-export_type
-export
-callback
-behaviour
-behavior
-attribute_state
-start_state
-form
-map_anno
-anno_set_file
-set_file
-set_form_file
-eval_file_attr
-eval_file_attribute
-includes_qlc_hrl
-pre_scan
-forms
-location
-loc
-add_lint_warning
-add_warning
-add_lint_error
-bin_seg_size
-add_error
-pack_warnings
-mapfoldl
-pack_errors
-return_status
-is_warn_enabled
-guard
-usage
-nowarn_format
-warn_format
-is_element
-unused_vars
-underscore_match
-export_vars
-shadow_vars
-bif_clash
-deprecated_function
-'-all_available/2-lc$^0/1-0-'
-missing_spec_all
-keyword_warning
-rootname
-'-all_available/2-fun-1-'
-redefined_builtin_type
-'-all_available/2-F/2-1-'
-warn_singleton_typevar
-nowarn_singleton_typevar
-on_load_not_allowed
-'-prepare_loading_3/1-lc$^0/1-0-'
-warn_redefined_builtin_type
-nowarn_redefined_builtin_type
-'-partition_on_load/1-fun-0-'
-warn_keywords
-nowarn_keywords
-'-load_mods/1-fun-0-'
-'-load_bins/1-fun-0-'
-warn_nif_inline
-nowarn_nif_inline
-'-do_par_fun/2-lc$^0/1-0-'
-'-do_par_fun/2-fun-1-'
-warn_removed
-nowarn_removed
-warn_missing_spec_all
-'-do_par_fun_each/3-fun-0-'
-nowarn_missing_spec_all
-warn_missing_spec
-nowarn_missing_spec
-warn_untyped_record
-nowarn_untyped_record
-warn_obsolete_guard
-nowarn_obsolete_guard
-'-load_code_server_prerequisites/0-lc$^0/1-0-'
-warn_deprecated_type
-nowarn_deprecated_type
-eep48
-debug_info
-warn_deprecated_function
-nowarn_deprecated_function
-'-get_doc/2-fun-0-'
-warn_unused_record
-'-get_type_docs_from_ast/1-fun-0-'
-nowarn_unused_record
-warn_bif_clash
-'-get_function_docs_from_ast/1-fun-0-'
-nowarn_bif_clash
-warn_unused_type
-spec
-'-get_function_docs_from_ast/2-fun-0-'
-nowarn_unused_type
-warn_unused_function
-'-set_primary_archive/4-lc$^0/1-0-'
-'-module_status/0-lc$^0/1-0-'
-nowarn_unused_function
-'-module_status/1-lc$^0/1-0-'
-warn_unused_import
-nowarn_unused_import
-'-modified_modules/0-lc$^0/1-0-'
-warn_shadow_vars
-nowarn_shadow_vars
-warn_export_vars
-path_files
-modified_modules
-do_beam_file_md5
-nowarn_export_vars
-beam_file_md5
-warn_export_all
-module_changed_on_disk
-nowarn_export_all
-modified
-warn_underscore_match
-nowarn_underscore_match
-cover_compiled
-module_status
-warn_unused_vars
-nowarn_unused_vars
-warning_report
-compiler_options
-lint
-cache_warning
-used_vars
-code_path_cache
-maybe_warn_for_cache
-exprs_opt
-nthtail
-has_ext
-filter2
-pseudolocals
-get_line
-format_where
-decorate
-build
-format_mna
-format_mf
-search
-clash
-format_mfa
-gen_type_paren_1
-gen_type_paren
-get_function_docs_from_ast
-signature
-utf_bittype_size_or_unit
-unsized_binary_not_at_end
-unsized_binary_in_bin_gen_pattern
-undefined_module
-flatmap
-get_type_docs_from_ast
-typed_literal_string
-spec_wrong_arity
-no_abstract_code
-docs_v1
-redefine_module
-raw_abstract_v1
-pmod_unsupported
-abstract_code
-get_doc_chunk_from_ast
-'-del_dir_r/1-fun-0-'
-old_abstract_code
-'-socket_send/1-fun-0-'
-dirname
-non_latin1_module_unsupported
-'-gen_tcp_send/1-fun-0-'
-non_integer_bitsize
-missing_chunk
-file_reply
-no_load_nif
-nif_inline
-chunks
-get_doc_chunk
-is_dir
-multiple_on_loads
-invalid_record
-file_request
-invalid_call
-check_args
-erts
-illegal_record_info
-check_and_call
-sources
-get_doc
-illegal_pattern
-illegal_map_key
-illegal_map_construction
-non_existing
-where_is_file
-illegal_guard_expr
-illegal_expr
-which
-macro_log
-character
-illegal_bitsize
-'-call/4-fun-0-'
-'-send_request/3-fun-0-'
-export_all
-mode_list
-'-receive_response/3-fun-0-'
-make_binary
-empty_module_name
-disallowed_nowarn_bif_clash
-'-stop/3-fun-0-'
-start_get_mode
-file_name_1
-ctrl_chars_in_module_name
-do_s
-compiler
-callback_wrong_arity
-'$status'
-format_status
-blank_module_name
-file_name
-format_status_header
-bittype_unit
-do_stick_dirs
-fname_join
-bad_multi_field_init
-wildcard_in_update
-nostick
-debug_options
-path_open_first
-maybe_stick_dirs
-variable_in_record_def
-hibernate_after
-spawn_opts
-could_not_find_registered_name
-load_code_server_prerequisites
-unused_var
-unused_type
-name_to_pid
-process_was_not_started_by_proc_lib
-unused_record
-eval_stream2
-parse_erl_exprs
-unused_import
-'$ancestors'
-get_parent
-process_not_registered_globally
-eval_stream
-good
-unused_function
-set_encoding
-process_not_registered
-untyped_record
-bad
-process_not_registered_via
-undefined_type
-do_par_recv
-consult_stream
-sendfile_send
-get_proc_name
-do_par_fun_each
-undefined_record
-sendfile_fallback_int
-do_par_fun
-undefined_on_load
-undefined_nif
-unregister_name
-undefined_callback
-sendfile_fallback
-do_par
-undefined_bittype
-undefined_behaviour_callbacks
-gen_tcp_send
-load_bins
-load_mods
-register_name
-socket_send
-undefined_behaviour
-verify_prepared
-unbound_var
-whereis_name
-type_syntax
-partition
-partition_on_load
-too_many_arguments
-prepare_check_uniq_1
-where
-stacktrace_guard
-'$inet'
-stacktrace_bound
-prepare_check_uniq
-via
-get_value
-spec_fun_undefined
-singleton_typevar
-prepare_loading_3
-chunk_size
-redefine_type
-prepare_loading_2
-do_for_proc
-redefine_spec
-change_time
-change_group
-redefine_record
-do_prepare_loading
-to_list
-partition_load
-reqids_to_list
-change_owner
-redefine_optional_callback
-redefine_old_bif_import
-change_mode
-'$prepared$'
-reqids_add
-redefine_import
-redefine_function
-atomic_load
-reqids_size
-reqids_new
-redefine_callback
-prepare_ensure
-path_open
-redefine_builtin_type
-ensure_modules_loaded_2
-path_script
-redefine_bif_import
-flush_responses
-usort
-obsolete_guard_overridden
-path_eval
-ensure_modules_loaded_1
-obsolete_guard
-collection_result
-not_exported_opaque
-ensure_modules_loaded
-replace_path
-missing_spec
-missing_qlc_hrl
-no_reply
-del_paths
-del_path
-path_consult
-consult
-add_pathsa
-check_response
-match_underscore_var_pat
-match_underscore_var
-add_pathsz
-receive_response
-no_request
-add_paths
-invalid_removed
-ipread_s32bu_p32bu_2
-wait_response
-invalid_deprecated
-ipread_s32bu_p32bu_int
-add_patha
-illegal_guard_local_call
-'@wait_response_recv_opt'
-do_send_request
-add_pathz
-illegal_bitsize_local_call
-ill_defined_optional_callbacks
-ill_defined_behaviour_callbacks
-add_path
-send_request
-copy_opened_int
-duplicated_export_type
-copy_int
-duplicated_export
-define_import
-call_to_redefined_old_bif
-call_to_redefined_bif
-nocache
-pwrite_int
-behaviour_info
-is_sticky
-put_chars
-bad_removed
-unstick_mod
-calling_self
-bad_on_load_arity
-stick_mod
-pread_int
-do_call
-unstick_dir
-bad_on_load
-stick_dir
-bad_nowarn_unused_function
-init_it2
-init_fail
-priv_dir
-bad_nowarn_bif_clash
-bad_module
-compiler_dir
-dir
-get_chars
-bad_inline
-monitor_return
-lib_dir
-start_monitor
-bad_export_type
-bad_dialyzer_option
-root_dir
-init_it
-bad_dialyzer_attribute
-bad_deprecated
-ram
-extension
-umerge
-bad_callback
-raw_write_file_info
-raw_read_file_info
-bad_bitsize
-do_spawn
-do_write_file
-attribute
-unsafe_var
-undefined_field
-undefined_behaviour_func
-get_mode
-all_available
-shadowed_var
-renamed_type
-removed_type
-get_object_code
-del_dir_r
-redefine_field
-is_loaded
-int_list
-future_feature
-modp
-field_name_is_variable
-exported_var
-removed
-load_binary
-deprecated_type
-'$handle_undefined_function'
-call_undefined_function_handler
-deprecated_builtin_type
-bittype_mismatch
-stub_function
-concat
-basename
-load_abs
-sync_ensure_on_load
-conflicting_behaviours
-value_option
-pid2name
-terminated
-undefined_script
-bool_option
-load_file
-try_decompress
-module_md5_1
-module_md5
-get_chunk_1
-get_chunk
-raise_undef_exception
-mfa
-remove_handler_failed
-filter_stacktrace
-filter
-removed_failing_filter
-remove_filter
-handle_filter_failed
-bad_return_value
-do_apply_filters
-filter_default
-apply_filters
-handler
-log_event
-internal_log
-removed_failing_handler
-do_internal_log
-allow
-remove_handler
-without
-call_handlers
-handlers
-filters
-log_allowed
-'-do_start_slave/3-fun-1-'
-'-do_start_slave/3-fun-0-'
-relay_loop
-already_started
-relay_start
-do_start_slave
-no_master
-do_start
-code_change
-handle_info
-handle_cast
-noreply
-stopped
-handle_call
-format_error
-erlangrc
-start_boot
-applications_loaded
-pool_master
-take_over_monitor
-rsh_starter
-timer_server
-stdlib
-load
-init_kernel_started
-mod
-maxP
-maxT
-shell_docs_ansi
-prevent_overlapping_partitions
-net_ticktime
-net_tickintensity
-logger_sasl_compatible
-notice
-logger_level
-included_applications
-optional_applications
-applications
-ddll_server
-os_server
-rex
-net_sup
-kernel_sup
-fixtable_server
-file_server_2
-boot_server
-modules
-vsn
-start_link
-modules_loaded
-win32reg
-uri_string
-unicode_util
-sys
-supervisor_bridge
-sofs
-shell_docs
-shell_default
-shell
-sets
-rand
-queue
-qlc_pt
-qlc
-proplists
-pool
-peer
-otp_internal
-ordsets
-orddict
-ms_transform
-log_mf_h
-io_lib_pretty
-io_lib_fread
-io_lib_format
-gen_statem
-gen_fsm
-gb_trees
-gb_sets
-filelib
-file_sorter
-eval_bits
-escript
-error_logger_tty_h
-error_logger_file_h
-erl_tar
-erl_pp
-erl_posix_msg
-erl_internal
-erl_features
-erl_expand_records
-erl_error
-erl_compile
-erl_bits
-erl_abstract_code
-epp
-edlin_type_suggestion
-edlin_expand
-edlin_context
-edlin
-digraph_utils
-digraph
-dict
-dets_v9
-dets_utils
-dets_sup
-dets_server
-dets
-calendar
-c
-beam_lib
-base64
-array
-argparse
-wrap_log_reader
-user_sup
-user_drv
-rpc
-raw_file_io_list
-raw_file_io_inflate
-raw_file_io_delayed
-raw_file_io_deflate
-raw_file_io_compressed
-raw_file_io
-ram_file
-pg2
-pg
-net_adm
-logger_sup
-logger_std_h
-logger_proxy
-logger_olp
-logger_handler_watcher
-logger_h_common
-logger_formatter
-logger_disk_log_h
-local_udp
-local_tcp
-kernel_config
-inet_udp
-inet_tcp_dist
-inet_tcp
-inet_sctp
-inet_res
-inet_parse
-inet_hosts
-inet_gethost_native
-inet_epmd_socket
-inet_epmd_dist
-inet_dns
-inet_db
-inet_config
-inet6_udp
-inet6_tcp_dist
-inet6_tcp
-inet6_sctp
-group_history
-group
-global_search
-global_group
-gen_udp_socket
-gen_udp
-gen_tcp_socket
-gen_tcp
-gen_sctp
-erpc
-erl_signal_handler
-erl_reply
-erl_epmd
-erl_distribution
-erl_compile_server
-erl_boot_server
-dist_util
-dist_ac
-disk_log_sup
-disk_log_server
-disk_log_1
-disk_log
-application_starter
-supervisor
-proc_lib
-logger_simple_h
-logger_config
-logger_backend
-logger_filters
-gen_server
-gen_event
-gen
-file_io_server
-file_server
-erl_lint
-code_server
-application_master
-application_controller
-application
-preloaded
-noshell
-home
-progname
-net
-no_uniconde_traslation
-no_function
-no_data
-not_enough_memory
-invalid_parameter
-invalid_flags
-invalid_data
-insufficient_buffer
-esystem
-esocktype
-eservice
-eoverflow
-enxio
-enoname
-enodata
-enametoolong
-emem
-efault
-efamily
-efail
-ebadflags
-eaddrfamily
-can_not_complete
-address_not_associated
-zone_indices
-wwanpp2
-wwanpp
-well_known
-valid_lifetime
-unreachable
-unicast_addrs
-unchanged
-transient
-testing
-tentative
-suffix_origin
-speed
-software_loopback
-service
-router_advertisement
-register_adapter_suffix
-receive_only
-reasm_size
-prefix_origin
-prefixes
-preferred_lifetime
-preferred
-ppp
-phys_addr
-out_qlen
-out_errors
-out_discards
-out_nucast_pkts
-out_ucast_pkts
-out_octets
-oper_status
-operational
-on_link_prefix_length
-numericserv
-numerichost
-no_multicast
-not_present
-non_operational
-nofqdn
-netbios_over_tcpip_enabled
-name_info
-namereqd
-multicast_addrs
-mask
-manual
-lower_layer_down
-link_layer_address
-lease_lifetime
-last_change
-iso88025_tokenring
-ipv6_other_stateful_config
-ipv6_managed_address_config_supported
-ipv6_index
-ipv6_enabled
-ipv4_enabled
-in_unknown_protos
-in_errors
-in_discards
-in_nucast_pkts
-in_ucast_pkts
-in_octets
-internal_oper_status
-ieee80216_wman
-ieee80211
-idn
-friendly_name
-fddi
-ethernet_csmacd
-duplicate
-dns_suffix
-dns_server_addrs
-dns_eligible
-disconnected
-ddns_enabled
-dhcp_v4_enabled
-dhcp
-description
-deprecated
-dad_state
-bcast_addr
-anycast_addrs
-admin_status
-address_info
-divert
-'DIVERT'
-pfsync
-'PFSYNC'
-rohc
-'ROHC'
-wesp
-'WESP'
-shim6
-'SHIM6'
-hip
-'HIP'
-manet
-'MANET'
-'mpls-in-ip'
-'MPLS-IN-IP'
-udplite
-'UDPLite'
-'mobility-header'
-'Mobility-Header'
-'rsvp-e2e-ignore'
-'RSVP-E2E-IGNORE'
-fc
-'FC'
-'SCTP'
-pipe
-'PIPE'
-sps
-'SPS'
-iplt
-'IPLT'
-sscopmce
-'SSCOPMCE'
-crudp
-'CRUDP'
-crtp
-'CRTP'
-fire
-'FIRE'
-isis
-'ISIS'
-ptp
-'PTP'
-sm
-'SM'
-smp
-'SMP'
-uti
-'UTI'
-srp
-'SRP'
-stp
-'STP'
-iatp
-'IATP'
-ddx
-'DDX'
-l2tp
-'L2TP'
-pgm
-'PGM'
-carp
-vrrp
-'CARP'
-'ipx-in-ip'
-'IPX-in-IP'
-'compaq-peer'
-'Compaq-Peer'
-snp
-'SNP'
-ipcomp
-'IPComp'
-'a/n'
-'A/N'
-qnx
-'QNX'
-scps
-'SCPS'
-aris
-'ARIS'
-pim
-'PIM'
-pnni
-'PNNI'
-ifmp
-'IFMP'
-gmtp
-'GMTP'
-encap
-'ENCAP'
-etherip
-'ETHERIP'
-'scc-sp'
-'SCC-SP'
-micp
-'MICP'
-'IPIP'
-'ax.25'
-'AX.25'
-mtp
-'MTP'
-larp
-'LARP'
-'sprite-rpc'
-'Sprite-RPC'
-ospf
-'OSPFIGP'
-eigrp
-'EIGRP'
-tcf
-'TCF'
-dgp
-'DGP'
-'nsfnet-igp'
-'NSFNET-IGP'
-ttp
-'TTP'
-vines
-'VINES'
-'secure-vmtp'
-'SECURE-VMTP'
-vmtp
-'VMTP'
-'iso-ip'
-'ISO-IP'
-'wb-expak'
-'WB-EXPAK'
-'wb-mon'
-'WB-MON'
-'sun-nd'
-'SUN-ND'
-'br-sat-mon'
-'BR-SAT-MON'
-pvp
-'PVP'
-wsn
-'WSN'
-cphb
-'CPHB'
-cpnx
-'CPNX'
-ipcv
-'IPCV'
-visa
-'VISA'
-'sat-mon'
-'SAT-MON'
-ippc
-'IPPC'
-rvd
-'RVD'
-kryptolan
-'KRYPTOLAN'
-'sat-expak'
-'SAT-EXPAK'
-cftp
-'CFTP'
-'ipv6-opts'
-'IPV6-OPTS'
-'ipv6-nonxt'
-'IPV6-NONXT'
-'ipv6-icmp'
-'IPV6-ICMP'
-'SKIP'
-tlsp
-'TLSP'
-mobile
-'MOBILE'
-narp
-'NARP'
-swipe
-'SWIPE'
-'i-nlsp'
-'I-NLSP'
-ah
-'AH'
-esp
-'ESP'
-bna
-'BNA'
-dsr
-'DSR'
-gre
-'GRE'
-rsvp
-'RSVP'
-idrp
-'IDRP'
-'ipv6-frag'
-'IPV6-FRAG'
-'ipv6-route'
-'IPV6-ROUTE'
-sdrp
-'SDRP'
-'IPV6'
-il
-'IL'
-'tp++'
-'TP++'
-'idpr-cmtp'
-'IDPR-CMTP'
-ddp
-'DDP'
-xtp
-'XTP'
-idpr
-'IDPR'
-'3pc'
-'3PC'
-dccp
-'DCCP'
-'merit-inp'
-'MERIT-INP'
-'mfe-nsp'
-'MFE-NSP'
-netblt
-'NETBLT'
-'iso-tp4'
-'ISO-TP4'
-irtp
-'IRTP'
-rdp
-'RDP'
-'leaf-2'
-'LEAF-2'
-'leaf-1'
-'LEAF-1'
-'trunk-2'
-'TRUNK-2'
-'trunk-1'
-'TRUNK-1'
-'xns-idp'
-'XNS-IDP'
-prm
-'PRM'
-hmp
-'HMP'
-dcn
-'DCN-MEAS'
-mux
-'MUX'
-'UDP'
-'CHAOS'
-xnet
-'XNET'
-emcon
-'EMCON'
-argus
-'ARGUS'
-'PUP'
-nvp
-'NVP-II'
-'bbn-rcc'
-'BBN-RCC-MON'
-igp
-'IGP'
-'EGP'
-cbt
-'CBT'
-'TCP'
-st2
-'ST2'
-ipencap
-'IP-ENCAP'
-ggp
-'GGP'
-'IGMP'
-'ICMP'
-'IP'
-sockets
-select_write
-select_read
-eagain
-create_accept_socket
-zero
-write_waits
-write_tries
-write_pkg
-write_fails
-write_byte
-v6only
-void
-use_min_mtu
-use_ext_recvinfo
-user_timeout
-usec
-update_connect_context
-update_accept_context
-unknown
-unicast_hops
-unblock_source
-txqlen
-tunnel6
-tunnel
-transparent
-throughput
-syncnt
-staticarp
-spec_dst
-sndtimeo
-sndlowat
-sndbufforce
-slen
-slave
-simplex
-set_peer_primary_addr
-setfib
-sendsrcaddr
-sendfile_waits
-sendfile_tries
-sendfile_pkg_max
-sendfile_pkg
-sendfile_max
-sendfile_fails
-sendfile_byte
-select_sent
-select_failed
-sec
-rxq_ovfl
-rtoinfo
-rthdr
-router_alert
-rights
-retopts
-reset_streams
-renaming
-reliability
-recvpktinfo
-recvorigdstaddr
-recvopts
-recvif
-recvhoplimit
-recverr
-recvdstaddr
-read_tries
-read_pkg
-read_fails
-read_byte
-rdm
-rcvtimeo
-rcvlowat
-rcvbufforce
-pup
-pronet
-promisc
-primary_addr
-ppromisc
-portsel
-portrange
-pointopoint
-pkttype
-pktinfo
-peercred
-peer_auth_chunks
-peer_addr_params
-peek
-passcred
-partial_delivery_point
-outgoing
-otherhost
-origdstaddr
-oobinline
-oob
-oactive
-num_unknown_cmds
-num_unexpected_writes
-num_unexpected_reads
-num_unexpected_connects
-num_unexpected_accepts
-num_threads
-num_general_errors
-not_bound
-notrailers
-nosignal
-noopt
-nodefrag
-noarp
-nlen
-netrom
-multicast_hops
-multicast_all
-mtu_discover
-msfilter
-minttl
-mincost
-metricom
-mem_start
-mem_end
-md5sig
-maxseg
-maxburst
-master
-mark
-lower_up
-lowdelay
-local_auth_chunks
-localtlk
-link2
-link1
-link0
-leave_group
-knowsepoch
-kernel
-keepintvl
-keepidle
-keepcnt
-join_group
-i_want_mapped_v4_addr
-irq
-ipv6
-ipip
-ipcomp_level
-ip
-integer_range
-initmsg
-infiniband
-implink
-igmp
-ifindex
-ieee1394
-ieee802
-icmp6
-icmp
-host
-hopopts
-hoplimit
-hmac_ident
-hdrincl
-hatype
-get_peer_addr_info
-get_overlapped_result
-frelay
-freebind
-fragment_interleave
-fastroute
-faith
-explicit_eor
-events
-eui64
-esp_trans_level
-esp_network_level
-errqueue
-eor
-egp
-eether
-echo
-dynamic
-dying
-dup
-dstopts
-drop_source_membership
-dormant
-dontfrag
-dma
-dlci
-disable_fragments
-delayed_ack_time
-default_send_params
-data_size
-ctrunc
-credentials
-cork
-context
-congestion
-confirm
-completion_status
-cmsg_cloexec
-checksum
-chaos
-cantconfig
-cancelled
-busy_poll
-block_source
-bindtodevice
-base_addr
-bad_data
-ax25
-automedia
-autoclose
-auth_level
-auth_key
-auth_delete_key
-auth_chunk
-auth_asconf
-auth_active_key
-authhdr
-atm
-associnfo
-arcnet
-appletlk
-already
-allmulti
-alen
-add_source_membership
-add_socket
-addrform
-adaption_layer
-acc_waits
-acc_tries
-acc_fails
-acc_success
-acceptfilter
-acceptconn
-zerocopy
-wstates
-write_pkg_max
-want
-txtime
-txstatus
-time_exceeded
-sourceaddr
-socket_level
-slist
-siftxqlen
-sifnetmask
-sifmtu
-sifdstaddr
-sifbrdaddr
-sifaddr
-send_failure
-sender_dry
-selected
-rstates
-remote
-reject_route
-read_waits
-read_pkg_max
-probe
-port_unreach
-policy_fail
-pkt_toobig
-peer_rwnd
-peer_error
-partial_delivery
-otp_socket_option
-origin
-onoff
-offender
-num_writers
-num_tstreams
-num_tseqpkgs
-num_tdgrams
-num_sockets
-num_readers
-num_pudp
-num_ptcp
-num_psctp
-num_pip
-number_peer_destinations
-num_outstreams
-num_dlocal
-num_dinet6
-num_dinet
-num_cnt_bits
-num_acceptors
-null
-not_neighbour
-noroute
-nogroup
-net_unreach
-net_unknown
-multiaddr
-missing
-asocmaxrxt
-max_instreams
-max_init_timeo
-max_attempts
-local_rwnd
-listening
-io_num_threads
-io_backend
-iov_max
-interface
-initial
-include
-in6_sockaddr
-in4_sockaddr
-how
-host_unreach
-host_unknown
-giftxqlen
-gifnetmask
-gifname
-gifmtu
-gifmap
-gifindex
-gifhwaddr
-gifflags
-gifdstaddr
-gifconf
-gifbrdaddr
-gifaddr
-frag_needed
-exclude
-eei
-dtor
-dont
-do
-dest_unreach
-data_io
-ctype
-counter_wrap
-cookie_life
-closing
-bufsz
-boolean
-authentication
-assoc_id
-association
-adm_prohibited
-address
-addr_unreach
-adaptation_layer
-symlink
-device
-no_reuse
-dont_need
-will_need
-random
-skip_type_check
-gc_buffer
-out_of_memory
-acquired
-lock_order_violation
-trace_ts
-gc_zlib
-unknown_error
-version_error
-buf_error
-mem_error
-stream_error
-stream_end
-already_initialized
-not_initialized
-sub_get
-handle_sys_task
-handle_incoming_signals
-done
-erts_dirty_process_signal_handler
-send_copy_req
-send_copy_reqs
-check_send_copy_req
-switch_area
-not_handled_message
-working
-idle
-msg_loop
-nif_not_loaded
-ets_info_binary_iter
-ets_info_binary_error
-sched_wall_time
-kernel_refc
-find_lac
-code_purger
-literal_area_collector
-set_code_and_literal_cleaner_prio
-'@flush_monitor_messages_refopt'
-mc_refill
-is_map_iter
-mc_iterator
-get_cpc_opts
-mseg_alloc
-gcopt
-allow_gc
-'-inlined-error_with_inherited_info/3-'
-ensure_tracer_module_loaded
-gc_info
-schedulers
-receive_allocator
-insert_info
-instance
-insert_instance
-mk_res_list
-get_alloc_info
-process_table
-module_table
-module_refs
-loaded_code
-fun_table
-external_alloc
-export_table
-export_list
-ets_misc
-atom_table
-atom_space
-aa_mem_data
-receive_emd
-fix_alloc
-au_mem_data
-sbcs
-mbcs_pool
-mbcs
-au_mem_current
-au_mem_blocks_1
-blocks
-au_mem_blocks
-acc_blocks_size
-ets_alloc
-eheap_alloc
-binary_alloc
-au_mem_acc
-au_mem_fix
-fix_types
-fix_proc
-proc
-msg_ref
-ll_ptimer
-hl_ptimer
-bif_timer
-accessor_bif_timer
-get_fix_proc
-get_memval
-memory_1
-rvrs
-processor_node
-cput_i2e_tag
-cput_i2e_tag_map
-cput_i2e
-cput_e2i
-logical
-thread
-processor
-core
-cput_e2i_clvl
-internal_cpu_topology
-get_cookie
-auth
-set_cookie
-passive_cnct
-send_nosuspend
-fun_info_1
-disconnect
-disconnect_node
-crasher
-new_stacktrace
-prepare_loading_1
-is_alive
-garbage_collect_message_area
-get_gc_opts
-stderr
-bad_option
-radix
-digits_per_small
-trim_zeroes
-get_sign
-combine_pairs
-combine
-segmentize_1
-segmentize
-big_binary_to_int
-clean
-'no server found'
-ebusy
-std_error
-error_report
-file_error
-invalid_current_directory
-'-prim_read_file_info/3-inlined-0-'
-'-prim_list_dir/2-inlined-0-'
-'-prim_get_file/2-inlined-0-'
-'-open_archive/4-inlined-0-'
-'-foldl_archive/3-inlined-0-'
-'-start/0-fun-0-'
-'-efile_get_mods_par/3-fun-0-'
-'-efile_gm_spawn_1/5-fun-0-'
-'-prim_get_file/2-fun-0-'
-'-prim_list_dir/2-fun-0-'
-'-prim_read_file_info/3-fun-0-'
-'-open_archive/4-fun-0-'
-'-ensure_virtual_dirs/6-fun-0-'
-'-ensure_virtual_dirs/6-fun-1-'
-'-foldl_archive/3-fun-0-'
-'-load_prim_archive/3-fun-0-'
-load_prim_archive
-real_path
-normalize
-win32_pathtype
-unix_pathtype
-pathtype
-absname_vr
-volumerelative
-relative
-absolute
-ipv4_addr
-ipv4_address
-ipv4_list
-is_prefix
-archive_split
-no_match
-string_match
-archive
-no_split
-name_split
-path_join
-path_split
-to_strs
-keyins
-keysort
-deep_member
-send_all
-win32
-is_basename
-clear_cache
-cache_new
-foldl_archive
-ensure_virtual_dirs
-open_archive
-cache
-apply_archive
-prim_get_cwd
-archive_read_file_info
-prim_read_file_info
-archive_list_dir
-prim_list_dir
-archive_get_file
-prim_get_file
-primary
-prim_set_primary_archive
-do_prim_purge_cache
-prim_purge_cache
-loader_debug
-prim_init
-port_error
-ll_close
-ll_open_set_bind
-ll_udp_open
-ll_tcp_connect
-udp_options
-tcp_timeout
-tcp_options
-inet_stop_port
-inet_get_cwd
-inet_read_link_info
-inet_read_file_info
-inet_list_dir
-inet_send_and_rcv
-inet_get_file_from_port1
-inet_get_file_from_port
-inet_timeout_handler
-inet_exit_port
-find_collect
-find_loop
-connect_master
-find_master
-bad_return
-gm_process
-gm_arch_get
-gm_get_mods
-efile_gm_get_1
-efile_gm_get
-efile_gm_spawn_1
-efile_gm_spawn
-efile_gm_recv
-efile_any_archives
-efile_get_mods_par
-handle_get_modules
-efile_timeout_handler
-efile_get_cwd
-efile_read_file_info
-efile_list_dir
-efile_set_primary_archive
-emfile
-efile_get_file_from_port3
-'prim_load port died'
-port_died
-efile_get_file_from_port2
-efile_get_file_from_port
-handle_timeout
-handle_exit
-handle_stop
-handle_get_cwd
-handle_read_link_info
-handle_read_file_info
-handle_list_dir
-handle_purge_archive_cache
-handle_set_primary_archive
-handle_get_file
-bad_state
-report
-enotdir
-enoent
-check_file_result
-purge_archive_cache
-set_primary_archive
-get_path
-init_ack
-noport
-efile
-start_efile
-hosts
-start_inet
-loader
-prim_state
-'-filter_fun/0-fun-0-'
-'-include_acc/3-fun-0-'
-'-get_cd_loop/11-fun-0-'
-'-get_cd_loop/11-fun-1-'
-'-get_cd_loop/11-fun-2-'
-pwrite_binary
-pwrite_iolist
-skipper
-skip_iolist
-splitter
-split_iolist
-local_file_header
-local_file_header_from_bin
-bad_cd_file_header
-cd_file_header
-cd_file_header_from_bin
-dos_date_time_to_datetime
-add_extra_info
-cd_file_header_to_file_info
-eocd
-eocd_and_comment_from_bin
-regular
-binary_io
-set_file_info
-prim_file_io
-find_eocd_header
-seek
-bad_eocd
-get_end_of_central_dir
-get_filename_from_b2
-bad_central_directory
-get_file_header
-get_cd_loop
-get_central_dir
-offset_over_z_data_descriptor
-unsupported_compression
-get_z_all
-bad_local_file_header
-bad_local_file_offset
-get_z_file
-get_zip_input
-lists_foldl
-include_acc
-illegal_filter
-primzip_file
-do_foldl
-foldl
-primzip
-do_open
-filter_fun_throw
-filter_fun
-prim_zip
-skip_unicast
-skip_multicast
-skip_friendly_name
-skip_dns_server
-skip_anycast
-include_wins_info
-include_tunnel_bindingorder
-include_prefix
-include_gateways
-include_all_interfaces
-include_all_compartments
-'-getaddrinfo/2-lc$^0/1-0-'
-nif_if_names
-nif_if_index2name
-nif_if_name2index
-nif_get_ip_address_table
-nif_get_interface_info
-nif_get_if_entry
-nif_get_adapters_addresses
-nif_getifaddrs
-nif_getaddrinfo
-nif_getnameinfo
-nif_gethostname
-if_names
-if_index2name
-if_name2index
-get_ip_address_table
-get_if_entry
-get_interface_info
-no_skips_no_includes
-no_skips_all_includes
-all_skips_no_includes
-all_skips_all_includes
-get_adapters_addresses
-getaddrinfo
-getnameinfo
-peek_off
-'-supports/2-inlined-0-'
-'-init/0-fun-0-'
-'-init/0-fun-1-'
-'-init/0-fun-2-'
-'-init/0-fun-3-'
-'-init/0-fun-4-'
-'-supports/1-fun-4-'
-'-supports/1-fun-3-'
-'-supports/1-fun-2-'
-'-supports/1-fun-1-'
-'-supports/1-fun-0-'
-'-supports/2-fun-0-'
-'-is_supported/2-fun-4-'
-'-is_supported/2-fun-3-'
-'-is_supported/2-fun-2-'
-'-is_supported/2-fun-1-'
-'-is_supported/2-fun-0-'
-'-bind/3-lc$^0/1-0-'
-'-enc_ioctl_flags/2-fun-0-'
-'-merge_sockaddr/2-fun-0-'
-'-enc_msg/1-fun-0-'
-'-enc_cmsgs/2-lc$^0/1-0-'
-level
-'-dec_cmsgs/2-lc$^0/1-0-'
-nif_cancel
-nif_ioctl
-nif_peername
-nif_sockname
-nif_getopt
-nif_setopt
-nif_shutdown
-nif_finalize_close
-nif_close
-nif_recvmsg
-nif_recvfrom
-nif_recv
-nif_sendfile
-nif_sendmsg
-nif_sendto
-nif_send
-nif_accept
-nif_listen
-nif_connect
-nif_bind
-nif_open
-nif_supports
-nif_command
-nif_info
-p_get
-p_put
-ioctl_flag
-invalid_ioctl_flag
-invalid_socket_option
-sndctrlbuf
-rcvctrlbuf
-rcvbuf
-iow
-controlling_process
-otp
-enc_sockopt
-dec_cmsgs
-enc_cmsgs
-enc_msg
-msg_flag
-enc_msg_flags
-enc_path
-merge_sockaddr
-enc_sockaddr
-enc_protocol
-enc_ioctl_flags
-enc_ioctl_request
-cancel
-sifflags
-ioctl_request
-ioctl
-value_spec
-getopt_native
-getopt_result
-socket_option
-setopt_common
-setopt_native
-finalize_close
-recvmsg
-improper_list
-element_not_binary
-invalid_iov
-rest_iov
-msg
-with
-ctrl
-sendmsg_invalid
-iov
-sendmsg_result
-completion
-nth
-domain
-get_is_supported
-p_get_is_supported
-is_supported
-is_supported_option
-fold
-supports
-protocol
-options_table
-protocols_table
-put_supports_table
-msg_flags
-ioctl_flags
-ioctl_requests
-options
-protocols
-socket_debug
-debug_filename
-use_registry
-registry
-unknown_monitor
-unknown_socket
-'-loop/1-fun-0-'
-'-do_which_sockets/2-lc$^0/1-0-'
-whoami
-user_size
-user_which_monitors
-user_update
-user_take
-user_lookup
-user_delete
-sock_which_monitors
-sock_update
-sock_take
-sock_lookup
-mon_size
-mon_update
-mon_take
-mon_lookup
-mon_delete
-do_cancel_monitor_socket
-nosock
-mon
-msocket
-do_monitor_socket
-do_which_sockets
-sock_size
-socket
-mk_down_msg
-error_msg
-mk_log_msg
-log_msg
-handle_unexpected_msg
-handle_monitored_by2
-handle_monitored_by
-handle_user_down_cleanup
-handle_user_down
-bad_request
-send_down
-handle_send_down
-user_sock_delete_update
-handle_delete_socket
-handle_add_socket
-sendfile_deferred_close
-'$socket'
-which_monitors
-number_of_monitors
-cancel_monitor
-which_sockets
-number_of
-socket_registry
-enqueue_nif
-enqueue_input_1
-enqueue_input
-bad_memlevel
-arg_mem
-bad_windowbits
-arg_bitsz
-bad_eos_behavior
-arg_eos_behavior
-bad_compression_method
-arg_method
-bad_compression_strategy
-rle
-huffman_only
-filtered
-arg_strategy
-bad_compression_level
-best_speed
-best_compression
-arg_level
-bad_flush_mode
-full
-arg_flush
-getStash_nif
-setStash_nif
-clearStash_nif
-empty
-restore_progress
-save_progress
-append_iolist
-dequeue_next_chunk
-dequeue_all_chunks_1
-dequeue_all_chunks
-gunzip
-gzip
-unzip
-zip
-data_error
-uncompress
-finish
-compress
-crc32_nif
-getBufSize_nif
-getBufSize
-setBufSize_nif
-setBufSize
-inflateEnd_nif
-inflateEnd
-safeInflate
-need_dictionary
-finished
-yield_inflateChunk
-inflateChunk
-inflate_opts
-inflate_nif
-exception_on_need_dict
-inflate
-inflateReset_nif
-inflateReset
-inflateGetDictionary_nif
-not_supported
-inflateGetDictionary
-inflateSetDictionary_nif
-inflateSetDictionary
-inflateInit_nif
-cut
-inflateInit
-deflateEnd_nif
-deflateEnd
-deflate_nif
-zlib_opts
-deflate_opts
-deflateParams_nif
-deflate
-deflateParams
-deflateReset_nif
-deflateReset
-deflateSetDictionary_nif
-deflateSetDictionary
-deflateInit_nif
-deflated
-deflateInit
-set_controller_nif
-set_controlling_process
-to_posix_seconds
-from_posix_seconds
-is_path_translatable
-decode_path
-encode_path
-proplist_get_value
-reverse_list
-altname_nif
-get_cwd_nif
-set_cwd_nif
-get_device_cwd_nif
-del_dir_nif
-del_file_nif
-make_dir_nif
-rename_nif
-make_soft_link_nif
-make_hard_link_nif
-read_info_nif
-read_link_nif
-list_dir_nif
-altname
-make_symlink
-make_link
-del_dir
-make_dir
-set_cwd
-get_dcwd
-file_info_convert_ctime
-file_info_convert_mtime
-universal
-file_info_convert_atime
-throw_on_error
-set_time_nif
-set_time
-set_permissions_nif
-set_permissions
-set_owner_nif
-set_owner
-write_file_info_1
-write_file_info
-posix
-adjust_times
-read_handle_info_1
-read_handle_info
-read_info_1
-read_link_info
-no_translation
-gl
-list_dir_convert
-list_dir_1
-list_dir_all
-list_dir
-translate_raw_name
-read_link_1
-read_link_all
-read_link
-write_file
-read_file_nif
-read_file
-read_handle_info_nif
-delayed_close_nif
-get_handle_nif
-truncate_nif
-allocate_nif
-advise_nif
-sync_nif
-seek_nif
-pwrite_nif
-pread_nif
-write_nif
-read_nif
-close_nif
-file_desc_to_ref_nif
-open_nif
-read_ahead
-fill_fd_option_map
-build_fd_data
-not_on_controlling_process
-get_fd_data
-reset_write_position
-get_handle
-ipread_s32bu_p32bu_nif
-ipread_s32bu_p32bu
-internal_get_nif_resource
-sequential
-pwrite_list
-pwrite_plain
-pwrite
-pread_list
-pread
-position_1
-bof
-cur
-datasync
-sync
-allocate
-advise
-truncate
-write_1
-read_line_1
-read_line
-read_1
-r_ahead_size
-r_buffer
-make_fd
-file_desc_to_ref
-copy_opened
-file_descriptor
-helper_loop
-bound
-connecting
-accepting
-multicast
-no_pointtopoint
-no_broadcast
-down
-up
-term
-ssl
-sctp_setadaptation
-sctp_assocparams
-addr_over
-unordered
-sctp_assoc_value
-sctp_event_subscribe
-sackdelay_disable
-sackdelay_enable
-pmtud_disable
-pmtud_enable
-hb_demand
-hb_disable
-hb_enable
-sctp_paddrparams
-sctp_prim
-sctp_setpeerprim
-sctp_paddrinfo
-eprotonosupport
-'-bindx/3-lc$^0/1-0-'
-'-type_value_2/2-fun-1-'
-'-type_value_2/2-fun-0-'
-'-enc_value_2/2-lc$^0/1-1-'
-'-enc_value_2/2-lc$^1/1-0-'
-ctl_cmd
-get_ip6
-get_ip4
-get_ip
-get_addr
-get_addrs
-ip6_loopback
-ip6_any
-ip6_to_bytes
-ip4_loopback
-ip4_any
-ip4_to_bytes
-utf8_to_characters
-tree
-ktree_keys
-ktree_update
-ktree_insert
-ktree_get
-is_defined
-ktree_is_defined
-ktree_empty
-len
-rev
-build_iflist
-build_ifaddrs_opts
-build_ifaddrs
-encode_ifname
-enc_time
-dec_status
-dec_stats
-decode_stats
-send_oct
-send_max
-send_cnt
-send_avg
-recv_oct
-recv_max
-recv_dvi
-recv_cnt
-recv_avg
-enc_stats
-encode_stats
-subs_empty_out_q
-dec_subs
-decode_subs
-enc_subs
-encode_subs
-encode_ifopt_val
-encode_ifopts
-decode_ifopts
-dec_ifopt
-enc_ifopt
-mtu
-dstaddr
-broadaddr
-type_ifopt
-merge_fields
-merge_options
-need_template
-multi
-dec
-dec_opt_val
-decode_opt_val
-enc_opts
-encode_opts
-once
-enc_opt_val
-encode_opt_val
-enum_name
-enum_val
-enum_names
-enum_vals
-borlist
-dec_value_tuple
-decode
-dec_value
-flowinfo
-scope_id
-enc_value_2
-enc_value_tuple
-enc_value_1
-enc_value_default
-enc_value
-family
-loopback
-uint8
-uint24
-uint16
-sockaddr
-sctp_assoc_id
-linkaddr
-ether
-bool8
-binary_or_uint
-enum
-bitenumlist
-type_value_2
-type_value_record
-type_value_tuple
-type_value_1
-type_value_default
-record
-type_value
-membership
-int
-uint
-mif
-opts
-type_opt_1
-type_opt
-dec_opt
-sndbuf
-show_econnreset
-send_timeout_close
-send_timeout
-sctp_status
-sctp_set_peer_primary_addr
-sctp_rtoinfo
-sctp_primary_addr
-sctp_peer_addr_params
-sctp_nodelay
-sctp_maxseg
-sctp_initmsg
-sctp_i_want_mapped_v4_addr
-sctp_get_peer_addr_info
-sctp_events
-sctp_disable_fragments
-sctp_delayed_ack_time
-sctp_autoclose
-sctp_associnfo
-sctp_adaptation_layer
-reuseport_lb
-reuseport
-reuseaddr
-recvttl
-recvtos
-recvtclass
-recbuf
-read_packets
-pktoptions
-nopush
-nodelay
-netns
-multicast_ttl
-multicast_loop
-multicast_if
-low_watermark
-low_msgq_watermark
-keepalive
-ipv6_v6only
-high_watermark
-high_msgq_watermark
-header
-exit_on_close
-exclusiveaddruse
-drop_membership
-dontroute
-deliver
-delay_send
-buffer
-bind_to_device
-add_membership
-enc_opt
-is_sockopt_val
-attach
-detach
-unrecv
-getservbyport1
-getservbyport
-getservbyname1
-getservbyname
-gethostname
-getstatus
-getprotocol
-gettype
-getindex
-ignorefd
-getfd
-getstat
-subscribe
-ifset
-ifget
-getiflist
-netmask
-broadcast
-pointtopoint
-getifaddrs_ifget
-hwaddr
-hwaddr_last
-comp_ifaddrs_3
-comp_ifaddrs_2
-comp_ifaddrs_flags
-comp_ifaddrs
-enotsup
-getifaddrs
-chgopts
-chgopt
-getopts
-getopt
-setopt
-socknames
-setsockname
-sockname
-sctp_assoc_change
-peernames
-setpeername
-peername
-recvfrom0
-recvfrom
-async_recv
-recv0
-recv
-sendfile_1
-sendfile_maybe_uncork
-sendfile_maybe_cork
-sctp_default_send_param
-sctp_sndrcvinfo
-sendmsg
-uint32
-do_sendto
-sendto
-peeloff
-listen
-async_accept
-accept_opts
-accept0
-accept
-connectx0
-addr_list
-connectx
-async_connect0
-async_connect
-connect0
-bindx_check_addrs
-bindx
-addr
-do_bind
-bind
-send_pend
-close_pend_loop
-close_port
-linger
-shutdown_1
-read_write
-drv2protocol
-sctp
-protocol2drv
-seqpacket
-dgram
-enc_type
-inet6
-enc_family
-bool
-fdopen
-prim_inet
-arg_reg_alloc
-prim_eval
-peek_head
-copying_read
-unlock
-try_lock
-find_byte_index
-wipe
-write
-read_iovec
-read
-shutdown_timeout
-not_allowed
-starting
-'-to_string/2-lc$^1/1-1-'
-'-to_string/2-lc$^0/1-0-'
-'-notify/1-fun-0-'
-'-get_pids/2-lc$^0/1-0-'
-'-do_boot/2-fun-0-'
-'-eval_script/2-fun-1-'
-'-eval_script/2-fun-2-'
-'-eval_script/2-fun-0-'
-'-load_modules/2-lc$^0/1-0-'
-'-load_modules/2-lc$^1/1-2-'
-'-load_modules/2-lc$^2/1-3-'
-'-load_modules/2-lc$^3/1-4-'
-'-load_modules/2-lc$^4/1-1-'
-prepared
-'-prepare_loading_fun/0-fun-0-'
-'-patch_path/2-lc$^0/1-0-'
-'-patch_dir/2-lc$^0/1-1-'
-'-patch_dir/2-lc$^1/1-0-'
-'-shutdown_timer/1-fun-0-'
-'-run_on_load_handlers/2-fun-0-'
-'-run_on_load_handler/2-fun-0-'
-standard_error
-format
-io_lib
-'-debug_profile_format_mfas/1-fun-0-'
-'-collect_loaded_mfas/0-lc$^1/1-0-'
-'-collect_loaded_mfas/0-lc$^0/1-1-'
-bad_generator
-'-collect_loaded_mfas/2-lc$^0/1-0-'
-collect_mfa
-collect_mfas
-all_loaded
-collect_loaded_mfas
-sort
-debug_profile_format_mfas
-snifs
-debug_profile_mfas
-debug_profile_stop
-debug_profile_start
-on_load_function_failed
-on_load_handler_returned_ok
-spawn_monitor
-run_on_load_handler
-running_on_load_handler
-on_load_loop
-on_load_handler_init
-start_on_load_handler_process
-run_on_load
-run_on_load_handlers
-archive_extension
-objfile_extension
-set_argument
-get_argument1
-to_strings
-get_flag_args
-get_flag_list
-get_flag
-update_flag
-get_args
-flag
-check
-start_extra_arg
-start_arg2
-start_arg
-eval_arg
-end_args
-arg
-parse_boot_args
-timer
-flush_timout
-shutdown_time
-shutdown_timer
-load_module
-do_load_module
-explain_add_head
-otp_release
-nofile
-explain_ensure_loaded_error
-exprs
-new_bindings
-erl_eval
-parse_exprs
-erl_parse
-erl_anno
-dot
-erl_scan
-start_it
-start_em
-start_in_kernel
-funny_splitwith
-funny_split
-directory
-file_info
-read_file_info
-patch_dir
-patch_path
-extract_var
-add_var
-fix_path
-make_path
-prepare_loading_fun
-load_rest
-load_failed
-get_modules
-load_modules
-'unexpected command in bootfile'
-kernel_load_completed
-primLoad
-preLoaded
-kernelProcess
-eval_script
-get_cwd
-script
-'bootfile format error'
-'cannot get bootfile'
-not_found
-get_boot
-pz
-pa
-path_flags
-bootfile
-invalid_boot_var_argument
-boot_var
-get_boot_vars_1
-get_boot_vars
-no_or_multiple_bindir_variables
-bindir
-check_bindir
-no_or_multiple_root_variables
-root
-get_root
-es
-init__boot__on_load_handler
-init_debug_flag
-init_debug
-path
-do_boot
-add_to_kernel
-set_path
-start_prim_loader
-kernel_pid
-terminate
-del
-sub
-do_unload
-logger_server
-unload
-kill_all_ports
-kill_em
-get_pids
-kill_all_pids
-resend
-shutdown_loop
-shutdown_kernel_pid
-get_kernelpid
-get_logger
-heart
-get_heart
-prepare_shutdown
-global_name_server
-global_prepare_shutdown
-shutdown_pids
-stop_heart
-clear_system
-do_restart
-do_stop
-stopping
-set_flag
-config
-stdout
-io_request
-user
-do_handle_msg
-new_state
-handle_msg
-loop
-new_kernelpid
-garb_boot_loop
-foreach
-get_file
-erl_prim_loader
-do_ensure_loaded
-progress
-boot_loop
-crash
-halt_string
-things_to_string
-flatten
-join
-printable_list
-to_string
-state
-relaxed
-strict
-code_path_choice
-map
-b2s
-b2a
-s
-eval
-prepare_run_args
-profile_boot
-stop_1
-is_bytelist
-reboot
-interactive
-embedded
-mode
-request
-wait_until_started
-notify_when_started
-make_permanent
-ensure_loaded
-fetch_loaded
-get_status
-bs2ss
-bs2as
-set_script_name
-absname
-filename
-get_script_name
-script_name
-script_id
-get_argument
-get_plain_arguments
-get_arguments
-set_configfd
-get_configfd
-done_in_microseconds
-debug
-'-start/2-fun-0-'
-'-restart/0-fun-0-'
-if_loaded
-fatal
-boot
-continue
-died
-test_progress
-do_test_hard_purge
-continued
-started
-do_test_soft_purge
-do_test_purge
-cpc_make_requests
-cpc_request
-cpc_sched_kill
-cpc_sched_kill_waiting
-cpc_list_rm
-cpc_handle_down
-cpc_reverse
-cpc_result
-cpc_receive
-cpc_kill
-cpc_static
-check_proc_code
-do_finish_after_on_load
-do_soft_purge
-do_purge
-check_requests
-soft_purge
-purge
-change_prio
-test_purge
-handle_request
-wait_for_request
-sleep
-other
-gc
-check_io
-aux
-prim_net
-prim_socket
-zlib
-prim_buffer
-prim_tty
-'TRACE'
-'DELETE'
-'PUT'
-'POST'
-'HEAD'
-'GET'
-'OPTIONS'
-'Proxy-Connection'
-'Keep-Alive'
-'Cookie'
-'X-Forwarded-For'
-'Set-Cookie2'
-'Set-Cookie'
-'Accept-Ranges'
-'Last-Modified'
-'Expires'
-'Etag'
-'Content-Type'
-'Content-Range'
-'Content-Md5'
-'Content-Location'
-'Content-Length'
-'Content-Language'
-'Content-Encoding'
-'Content-Base'
-'Allow'
-'Www-Authenticate'
-'Warning'
-'Vary'
-'Server'
-'Retry-After'
-'Public'
-'Proxy-Authenticate'
-'Location'
-'Age'
-'User-Agent'
-'Referer'
-'Range'
-'Proxy-Authorization'
-'Max-Forwards'
-'If-Unmodified-Since'
-'If-Range'
-'If-None-Match'
-'If-Match'
-'If-Modified-Since'
-'Host'
-'From'
-'Authorization'
-'Accept-Language'
-'Accept-Encoding'
-'Accept-Charset'
-'Accept'
-'Via'
-'Upgrade'
-'Transfer-Encoding'
-'Pragma'
-'Date'
-'Connection'
-'Cache-Control'
-process_low
-process_normal
-process_high
-process_max
-characters_to_list_trap_4
-characters_to_list_trap_3
-characters_to_list_trap_2
-characters_to_list_trap_1
-characters_to_utf8_trap
-md5_trap
-ram_file_drv
-udp_inet
-tcp_inet
-sendfile
-ttl
-tclass
-tos
-empty_out_q
-udp_error
-udp_passive
-tcp_error
-tcp_closed
-tcp_passive
-inet_reply
-inet_async
-udp
-tcp
-unspec
-inet
-spawn_forker
-vanilla
-delete_trap
-select_trap
-replace_trap
-count_trap
-select_delete_trap
-darwin
-unix
-erts_beamasm
-list_to_integer
-binary_to_integer
-from_keys
-unalias
-beamfile_module_md5
-beamfile_chunk
-prepare_loading
-get_creation
-abort_pending_connection
-ets_raw_next
-ets_raw_first
-ets_lookup_binary_info
-spawn_system_process
-counters_info
-counters_put
-counters_add
-counters_get
-counters_new
-compare_exchange
-exchange
-add_get
-add
-atomics
-atomics_new
-erase_persistent_terms
-persistent_term
-internal_select_delete
-internal_delete_all
-is_map_key
-map_get
-gather_carrier_info
-gather_alloc_histograms
-map_next
-new_connection
-get_dflags
-iolist_to_iovec
-set_signal
-fmod
-ceil
-floor
-has_prepared_code_on_load
-copy_shared
-size_shared
-split
-purge_module
-check_dirty_process_code
-is_process_executing_dirty
-map_info
-fun_info_mfa
-take
-cmp_term
-values
-update
-remove
-merge
-keys
-is_key
-from_list
-find
-maps
-map_size
-is_map
-inspect
-printable_range
-binary_to_float
-float_to_binary
-integer_to_binary
-delete_element
-insert_element
-finish_loading
-dt_append_vm_tag_data
-dt_prepend_vm_tag_data
-dt_restore_tag
-dt_spread_tag
-dt_get_tag_data
-dt_get_tag
-dt_put_tag
-posixtime_to_universaltime
-universaltime_to_posixtime
-check_old_code
-native_name_encoding
-file
-is_translatable
-internal_normalize_utf8
-internal_native2name
-internal_name2native
-prim_file
-nif_error
-decode_unsigned
-encode_unsigned
-referenced_byte_size
-list_to_bin
-part
-at
-longest_common_suffix
-longest_common_prefix
-matches
-compile_pattern
-binary_part
-finish_after_on_load
-call_on_load_function
-load_nif
-setopts
-give_away
-dflag_unicode_io
-binary_to_existing_atom
-binary_to_atom
-atom_to_binary
-bin_is_7bit
-characters_to_list
-characters_to_binary
-decode_packet
-update_element
-bitstring_to_list
-list_to_bitstring
-bit_size
-byte_size
-tuple_size
-is_bitstring
-list_to_existing_atom
-iolist_to_binary
-iolist_size
-make_fun
-string
-is_boolean
-get_module_info
-warning_map
-hibernate
-lcnt_clear
-lcnt_collect
-lcnt_control
-dirty
-interpreter_size
-instructions
-dist_ext_to_term
-set_internal_state
-get_internal_state
-flat_size
-same
-disassemble
-keyfind
-keysearch
-keymember
-reverse
-lists
-internal_run
-run
-format_error_int
-loaded_drivers
-try_unload
-try_load
-erl_ddll
-perf_counter
-getpid
-unsetenv
-putenv
-getenv
-os
-match_spec_run_r
-match_spec_compile
-select_replace
-select_reverse
-select_count
-select
-update_counter
-slot
-safe_fixtable
-rename
-insert_new
-insert
-prev
-next
-member
-match_object
-last
-lookup_element
-lookup
-is_compiled_ms
-delete_object
-delete
-internal_request_all
-match_spec_test
-is_record
-is_function
-is_binary
-is_reference
-is_port
-is_pid
-is_number
-is_integer
-is_float
-is_tuple
-is_list
-is_atom
-subtract
-append
-'!'
-is_builtin
-raise
-is_process_alive
-fun_to_list
-port_to_list
-ref_to_list
-system_profile
-system_monitor
-system_info
-system_flag
-append_element
-make_tuple
-read_timer
-cancel_timer
-send_after
-start_timer
-pow
-atan2
-sqrt
-log10
-log2
-log
-exp
-erfc
-erf
-atanh
-atan
-asinh
-asin
-acosh
-acos
-tanh
-tan
-sinh
-sin
-cosh
-cos
-math
-bump_reductions
-resume_process
-suspend_process
-seq_trace_print
-seq_trace_info
-seq_trace
-trace_delivered
-trace_info
-trace_pattern
-port_get_data
-port_set_data
-send_copy_request
-release_area_switch
-erts_literal_area_collector
-spawn_request_abandon
-no_aux_work_threads
-dist_spawn_request
-ets_super_user
-create_dist_channel
-dirty_process_handle_signals
-system_check
-is_system_process
-perf_counter_unit
-time_unit
-map_hashmap_children
-term_type
-map_to_tuple_keys
-check_process_code
-request_system_task
-port_connect
-port_close
-port_control
-port_command
-port_call
-port_info
-dist_ctrl_set_opt
-dist_ctrl_get_opt
-dist_ctrl_get_data_notification
-dist_ctrl_get_data
-dist_ctrl_input_handler
-dist_get_stat
-setnode
-spawn_opt
-whereis
-unlink
-universaltime_to_localtime
-universaltime
-tuple_to_list
-trunc
-tl
-time
-term_to_iovec
-term_to_binary
-statistics
-split_binary
-spawn_link
-spawn
-setelement
-self
-round
-registered
-put
-process_info
-process_flag
-pre_loaded
-pid_to_list
-open_port
-system_time
-monotonic_time
-now
-nodes
-monitor_node
-function_exported
-module_loaded
-md5_final
-md5_update
-md5_init
-unique_integer
-make_ref
-localtime_to_universaltime
-localtime
-list_to_tuple
-list_to_ref
-list_to_port
-list_to_pid
-list_to_float
-list_to_binary
-list_to_atom
-link
-length
-integer_to_list
-hd
-phash2
-phash
-halt
-get_keys
-get
-fun_info
-float_to_list
-float
-external_size
-exit_signal
-erase
-element
-display_string
-display
-delete_module
-date
-crc32_combine
-crc32
-binary_to_term
-binary_to_list
-atom_to_list
-adler32_combine
-adler32
-abs
-debug_hash_fixed_number_of_locks
-auto
-nifs
-yield
-yes
-x86
-xor
-write_concurrency
-wordsize
-warning_msg
-warning
-wall_clock
-waiting
-wait_release_literal_area_switch
-visible
-version
-value
-unsafe
-unload_cancelled
-unloaded_only
-unloaded
-unless_suspending
-unit
-uniq
-unblock_normal
-unblock
-utf32
-utf16
-utf8
-used
-use_stdio
-urun
-unregister
-unicode
-ungreedy
-undef
-explicit_unalias
-ucp
-ucompile
-type
-try_clause
-trim_all
-trim
-trap_exit
-tracer
-trace_status
-trace_control_word
-traced
-trace
-tpkt
-total_run_queue_lengths_all
-total_run_queue_lengths
-total_heap_size
-total_active_tasks_all
-total_active_tasks
-total
-timestamp
-'*'
-timeout_value
-time_offset
-threads
-thread_pool_size
-this
-term_to_binary_trap
-tag
-table_type
-table
-system_architecture
-system_version
-system_limit
-system_flag_scheduler_wall_time
-system
-suspending
-suspended
-suspend
-sunrm
-success_only
-strict_monotonic_timestamp
-strict_monotonic
-stream
-stop
-stderr_to_stdout
-status
-start
-stack_size
-ssl_tls
-spawned
-spawn_service
-spawn_request_yield
-spawn_request
-spawn_reply
-spawn_init
-spawn_driver
-spawn_executable
-skip
-size
-silent
-sigquit
-sigtstp
-sigsegv
-sigint
-sigstop
-sigalrm
-sigabrt
-sigchld
-sigill
-sigusr2
-sigusr1
-sigterm
-signed
-sighup
-shutdown
-short
-set_tcw_fake
-set_tcw
-set_seq_token
-set_on_spawn
-set_on_link
-set_on_first_spawn
-set_on_first_link
-set_cpu_topology
-set
-serial
-sequential_trace_token
-sequential_tracer
-sensitive
-send_to_non_existing_process
-send
-seconds
-second
-scope
-scientific
-scheme
-schedulers_online
-scheduler_wall_time_all
-scheduler_wall_time
-scheduler_id
-scheduler
-sbct
-save_calls
-safe
-runtime
-running_procs
-running_ports
-running
-runnable_procs
-runnable_ports
-runnable
-run_queue_lengths_all
-run_queue_lengths
-run_queue
-run_process
-reuse
-return_trace
-return_to_trace
-return_to
-return_from
-resume
-restart
-reset_seq_trace
-reset
-report_errors
-reply_tag
-reply_demonitor
-reply
-rem
-reload
-registered_name
-register
-refc
-reductions
-recent_size
-receive
-reason
-ready_output
-ready_input
-ready_error
-read_concurrency
-re_run_trap
-re_pattern
-re
-raw
-queue_size
-public
-ptab_list_continue
-protection
-protected
-profile
-proc_sig
-procs
-process_dump
-process_limit
-process_display
-process_count
-processes_used
-processes
-process
-private_append
-private
-priority
-print
-prepare_on_load
-prepare
-position
-positive
-port_op
-port_limit
-port_count
-ports
-port
-pid
-permanent
-pending_reload
-pending_purge_lambda
-pending_process
-pending_driver
-pending
-pause
-'++'
-'+'
-parent
-parallelism
-packet_size
-packet
-owner
-overlapped_io
-outstanding_system_requests_limit
-output
-out_exiting
-out_exited
-out
-os_version
-os_type
-os_pid
-orelse
-ordered_set
-or
-opt
-open_error
-open
-on_load
-on_heap
-old_heap_size
-old_heap_block_size
-ok
-offset
-off_heap
-nouse_stdio
-notsup
-notify
-notempty_atstart
-notempty
-noteol
-notbol
-notalive
-not_purged
-not_owner
-not_pending
-not_loaded_by_this_process
-not_loaded
-not_a_list
-not
-not_suspended
-no_start_optimize
-no_network
-no_integer
-no_float
-no_fail
-nosuspend
-normal_exit
-noproc
-noeol
-nodeup
-nodedown_reason
-nodedown
-node_type
-node
-noconnection
-noconnect
-no_auto_capture
-nomatch
-newline
-new_uniq
-new_ports
-new_processes
-new_index
-new
-never_utf
-net_kernel_terminated
-net_kernel
-'/='
-'=/='
-need_gc
-native_addresses
-native
-namelist
-named_table
-name
-nanosecond
-nano_seconds
-multiline
-multi_scheduling
-more
-monotonic_timestamp
-monotonic
-monitors
-monitor_nodes
-monitor
-monitored_by
-module_info
-module
-'--'
-'-'
-minor_version
-minor
-min_bin_vheap_size
-min_heap_size
-min
-millisecond
-milli_seconds
-microstate_accounting
-microsecond
-micro_seconds
-meta_match_spec
-meta
-merge_trap
-messages
-message_queue_len
-message_queue_data
-message
-memory_types
-memory_internal
-memory
-md5
-mbuf_size
-max_heap_size
-maximum
-max
-match_spec_result
-match_spec
-match_limit_recursion
-match_limit
-match
-major
-magic_ref
-machine
-'<'
-low
-long_schedule
-long_gc
-logger
-local
-load_failure
-load_cancelled
-loaded
-little
-list_to_binary_continue
-list
-links
-linked_in_driver
-line_length
-line_delimiter
-line
-lf
-'=<'
-ldflags
-latin1
-last_calls
-large_heap
-label
-known
-kill_ports
-killed
-kill
-keypos
-iovec
-iodata
-io
-iterator
-is_seq_trace
-is_constant
-invalid
-instruction_counts
-internal_error
-internal
-integer
-input
-initial_call
-init
-inherit
-info_trap
-info_msg
-info
-index
-inconsistent
-incomplete
-include_shared_binaries
-inactive
-in_exiting
-in
-ignore
-if_clause
-id
-httph_bin
-http_bin
-http_error
-http_eoh
-http_header
-http_request
-http_response
-https
-httph
-http
-high
-hide
-hidden
-heir
-heart_port
-heap_type
-heap_sizes
-heap_size
-heap_block_size
-have_dt_utag
-handle
-group_leader
-grun
-'>'
-global
-getting_unlinked
-getting_linked
-gather_system_check_result
-gather_sched_wall_time_result
-gather_microstate_accounting_result
-gather_io_bytes
-gather_gc_info_result
-get_tcw
-get_tail
-get_size
-get_seq_token
-get_internal_state_blocked
-get_all_trap
-generational
-'>='
-gc_minor_start
-gc_minor_end
-gc_max_heap_size
-gc_major_start
-gc_major_end
-garbage_collection_info
-garbage_collection
-garbage_collecting
-garbage_collect
-function_clause
-functions
-function
-fullsweep_after
-free
-format_cpu_topology
-format_bs_fail
-force
-flush_monitor_messages
-flush
-flags
-firstline
-first
-fd
-fcgi
-extra
-external
-extended
-exports
-exiting
-existing_ports
-existing_processes
-existing
-exited
-exit_status
-exclusive
-exception_trace
-exception_from
-exact_reductions
-'ETS-TRANSFER'
-ets_info_binary
-ets
-erts_internal
-erts_dflags
-erts_debug
-erts_code_purger
-error_only
-error_logger
-error_info
-error_handler
-erl_signal_server
-erlang
-erl_tracer
-erl_stdlib_errors
-erl_kernel_errors
-erl_init
-erl_erts_errors
-'=='
-'=:='
-eol
-eof
-ensure_exactly
-ensure_at_least
-env
-endian
-enabled
-enable_trace
-emulator
-emu_type
-emu_flavor
-einval
-dynamic_node_name
-dupnames
-duplicated
-duplicate_bag
-dsend_continue_trap
-driver_options
-driver
-dotall
-dollar_endonly
-'$_'
-'$$'
-dmonitor_node
-div
-'/'
-dist_spawn_init
-dist_data
-dist_ctrlr
-dist_ctrl_put_data
-dist_cmd
-dist
-discard
-disabled
-disable_trace
-dirty_nif_finalizer
-dirty_nif_exception
-dirty_io
-dirty_execution
-dirty_cpu_schedulers_online
-dirty_cpu
-dirty_bif_trap
-dirty_bif_result
-dirty_bif_exception
-dictionary
-deterministic
-demonitor
-delay_trap
-default
-decimals
-decentralized_counters
-debug_flags
-data
-current_stacktrace
-current_location
-current_function
-creation
-crlf
-cr
-cpu_timestamp
-cpu
-count
-counters
-copy_literals
-copy
-control
-continue_exit
-context_switches
-const
-connection_id
-connection_closed
-connected
-connect
-convert_time_unit
-config_h
-compressed
-complete
-compile
-compat_rel
-compact
-commandv
-command
-code
-closed
-close
-clock_service
-clear
-check_gc
-characters_to_list_int
-characters_to_binary_int
-'CHANGE'
-cflags
-cdr
-cd
-cause
-catchlevel
-caseless
-case_clause
-capture
-caller_line
-caller
-call_trace_return
-call_time
-call_memory
-call_error_handler
-call_count
-busy_port
-busy_limits_msgq
-busy_limits_port
-busy_dist_port
-busy
-build_type
-build_flavor
-bsr_unicode
-bsr_anycrlf
-bsr
-bsl
-breakpoint
-break_ignored
-bxor
-bor
-bnot
-bm
-blocked_normal
-blocked
-block_normal
-block
-binary_to_term_trap
-binary_to_list_continue
-binary_longest_suffix_trap
-binary_longest_prefix_trap
-binary_find_trap
-binary_copy_trap
-binary
-bif_return_trap
-bif_handle_signals_return
-big
-band
-bag
-bad_map_iterator
-badtype
-badopt
-badsig
-badrecord
-badmatch
-badmap
-badkey
-badfun
-badfile
-badarity
-badarith
-badarg
-backtrace_depth
-backtrace
-awaiting_unload
-awaiting_load
-await_sched_wall_time_modifications
-await_result
-await_proc_exit
-await_port_send_result
-await_microstate_accounting_modifications
-await_exit
-auto_connect
-attributes
-atom_used
-atom
-asynchronous
-async_dist
-async
-asn1
-arity
-arg0
-args
-apply
-anycrlf
-any
-andthen
-andalso
-and
-anchored
-amd64
-already_loaded
-already_exists
-allow_passive_connect
-alloc_util_allocators
-allocator_sizes
-allocator
-allocated_areas
-allocated
-alloc_sizes
-alloc_info
-all_names
-all_but_first
-all
-alive
-alias
-active_tasks_all
-active_tasks
-active
-access
-ac
-absoluteURI
-abs_path
-abort
-abandoned
-'EXIT'
-'UP'
-'DOWN'
-none
-no
-nil
-undefined_lambda
-undefined_function
-nocatch
-undefined
-exit
-error
-throw
-return
-call
-normal
-timeout
-infinity
-''
-'$end_of_table'
-'nonode@nohost'
-'_'
-true
-false
-=end
diff --git a/aoc2023/src/day1/input.txt b/aoc2023/src/day1/input.txt
deleted file mode 100644
index 6efe96c..0000000
--- a/aoc2023/src/day1/input.txt
+++ /dev/null
@@ -1,1000 +0,0 @@
-9dlvndqbddghpxc
-rtkrbtthree8sixfoureight6
-fdxrqmfxdkstpmcj7lmphgsmqqnmjrtwo3tcbc
-onetjcsmgk57nvmkvcvkdtqtsksgpchsfsjzkkmb
-six8threepvlxttc85two
-8five9ttqst2one2vz
-hbrmhsnjeight64dgdnvdbspk7ninetzbvjczqrj
-fourtwofivesix5
-3gksfourqf48
-7one1tnqxfvhmjvjzfive
-sevenmcjs3lmlmxmcgptwobjggfive6four
-seven8five3
-5sfknxsn5sevenfour446
-bxc5two67seven2
-jcsfivefive89seven85
-nine296
-seven5twoeight
-1eighttwo8jfnhmfivefivezdsxqxqsjkone
-foureight48sbkkvc17zbksgvcbb
-lnzgspccsn4cxqqdbkj
-qlxrxkpeight48xbgqnlkpkoneseven
-z7onetwonec
-7cns
-pnpfninefive79twoone7
-2hrqpjjjbn
-4gmlttgdzrhxbxnnine
-4sixfiveone76jctmjsxdh5jrkv
-3kvjmhpmglrdgmdnine
-four63sevensevenone
-jmz1eight4threej1
-four21zxksf9jxdvjmtn337
-msnronenine43three1threefrv
-rjfhd6eight4
-78blgveightfiveone7bnsfnrmxsmtwonemrb
-sixseven6four6
-mdjphcm9
-xsjmgdgqtwolg1nine45eight
-five2six85npdqxgrshdjs4
-jbbnine2ttrktc2hxpxfdxgf
-fngvqsgmjfmfslrmone2vtpsstpkhr2jmmxk
-f683glvfsdvnsghvrzcdmxnx81
-lqblzgj322kqfsjrbxgcgsct
-threeldfnrbstbxqdpxpkbztbp84eight
-sevensevenmthprqg9six
-qldknljthdjthreeklttd6six
-7eightcdqxcftbgbfbnvqfive
-gxjzhvkbcjhscdxhjdqxnhsevenxrdrjbcl5fvlvlxjjvb
-9sixqnine9jk9six
-zjtdbzr6njdgflrmpshxn
-rktpknvmjknb7threefourhdxhcdtgtkvone
-276lzxhone3two2
-82fivelppqzjq
-lchslxtwohslsztgps5pdssctclhdkqtwo
-2five8three9dnine8
-68jpnqldjgfnpcmvbxnszhz2252
-q32
-2sixtwo87
-hlmdvlrqlrjdshone3five
-fivetwo7
-xsdcktrone29
-eightfour9eighttwoxvhdth9lndg4
-two8jgddjhcj67eight
-8nrkrcrqhr21stqtvqn
-tvbonepzrrklninexmpxrlkcpgg9qgrkcjt
-6two5qjmoneclfhzhkxbntmvmdrc
-prhmt4xvlg
-3mghfgrhzkj5
-lq2lnrcj1pnlh
-sixqhfqrmf8fivenkkcqpgf85lone
-tlrlcbhdvd5
-three8seven
-thfns325threefpvlntfvrf
-twoblkldr2mmrsxpqxcms39seven6
-2mpcvttntg31mkznplfkbcgccsix
-2sbs
-828jnvjnbgrs1
-fhcglnxzss23bxfnpczvthree2
-7fhghprqvrbx1nxml2one32
-5fivethree7qrsixmcdveight6
-five4seven
-1cfcfdzfjphsevenmdvnzh
-qhmnleightbhbcntwojjfxpvlxt2spponenine
-fivelskzvzsix5xtqkfl1
-2jfgpmdncvpjmqcgvnzpqlstzgfdvfxrlscjkzczsf
-rzzplmzsfivetxbhcqnzdq4
-mvrvfour9eightseventhree
-7smrdqkrh8qlzc
-mpf2fivefivefivepgm
-1sixpkrdjlszgdnccnllfsevenksdkvqbxbpbblthqpzqf
-six91dxxdhrxcbmqpqm
-sevenfour8nine7
-one2hnfvh
-55jmqkqgvsgqcrzvmzqhone8twopsrtgmqrj
-xnfjxqlrsjmgk68kvpptczxhkxcvrpgctddjklrmhzjgtcjh
-seveng6two
-1threexrzqcrknhc3
-58qtpqqz58888cmhs
-pxvbhmczrvpnjnsrcdrnrjvzzpjnbgbxdseven6
-34two565
-four4six
-sqtxsjsix54
-four3xrxmrkn4nrcsmljqrninethreeone
-3six4bqddfivejnfrhnqqsgqhj
-gtbtrtzp8seveneight3seven4xzdnfrvzgn
-vggfdfvlrgvqqvjhkmxfsfbdpqfivexs16
-onegkvdhrfninerndk46nine
-5fiveeighthnrlzln
-threeqctjkpxjx39six89two2
-99ninecbzck
-nxqlhpgnine6pvrrpfjpssix6seven
-1dbrzjkckthm5sixsix
-fivefmfqcsj19nhnzg
-five91eightninecn
-7ljnl71eight7mzhzfht
-84sevenzrqvkxszdhg66
-jskktpm5mphd1
-boneightfournq6ndnqpdbm97five
-5twonine
-scqpkxrjtwo8foureight11
-3eight7brgqfivezpgclhfj
-zkfrsdgbmczlrzchvfql78ftsdqk8vmqccbn
-oneseven3kgdkjzkmq94
-sgtwo59kdmhbndzd
-threeone37
-mqxvrhmrpqnltvt9lrpplmttkhdvtln9
-onecxqvr48six2
-pjnx2eight7five
-two189one6gbqvllzb35
-psvxjhscstjfkbpxhbbb4zvdjbcdxqrqzqlzp
-n18hmhzrqjrpcxztwo
-6two46zblgrbmjcqbnxqcnbf
-7kxsjdqcmxrvmdtscvxgrnhrmrfour
-onedzeight8qfive2
-seven9bkjone2sixqnztq21
-fiveninesixfkzlsn8fivembfjnx4threetwonexb
-5zmxtcmzqqdthreetczccnxhkxrbntmfoursixjhhrsdxthree
-1four2xpkfgcn
-88trnvjtqsmseight8
-pbbpbfgsrst5five
-jvgvdseven2two
-962sixoneonectfgpknl8nine
-rkbnzz1l42eightflb4
-twoxfll2fourbjfjgxfbtk
-35fourtwo
-lq56ninefour1three
-77ztlmqxcxrj745
-nnvqrthreedt2eight6hvrlnpbts
-6five6225sixfnzzbh
-nine1three
-8xgdsdfgcfourlhn
-2three3ninelckpddbmdrfournine
-89zmvxnlrj7658kjdjchq
-pfhbgpb66twogpn7twobpvrbmmrvp
-8hgqmztnmhkcr6xrxrbhj
-6fivemnfcvvx8
-3mxpvgzq9ninebmlktwo
-thzhbsl49seventhree1bdxcrgjq
-rlcfour3ffkxxrhb
-rkj2eightfive
-xqncfnhkcqxqjgbsjhnrgm6
-ninefour52ninefourtworhsix
-lpzcmxt97mlkjhlcone
-two4qkmqgrpltkrdsctpnsqmbtptklprx6ncfpseven
-61shxgxdqqqzngnnzeightkhmgrxprb2sixjx
-9eightfour3one6seven
-eight4sixqjxdjnzmkfflpfmkf
-3bfc71
-14sevenfivezzmt8cpptl
-1sgrzdqdndsevenninembzvfive
-lxftrbfcqfoneeightrsdxlnp1x2jsgn2
-vlfcjfourmtxbcngpjvkcctvbgkgpvvqpsg1
-116five132seven
-eightpvfsfbfzjcdcvh8kbrcz357
-99two
-four6six
-fzzklmnxvfrhd62xmftbrhgsslrlqv
-5six55zbdlgc
-62nineone8qcglr1
-sddddseven55fourlpqzbgzfive5
-eighteight17
-nine98
-three9qqxgfpjfkeight81nine2
-twotwosevenvkzzhrpgninecqvf9
-lkhf5onexsrtwo
-8hfzvnzrd
-9threeninethreeseven
-onedpgjzsixxs4cg5jlvzcsbd
-fgmfive97
-4fivefourckthree
-nine1fivefour
-7qlchtvd
-tmtmtnxdpsvfour4621four6
-5qfvzh7seven
-fourfivebqnpzbg8three
-34kd9four5seven8three
-kcqcxzmnkdt5twojdggp
-4lvbfdpzjsdthreeldvkcbqrspktwo
-2nine93foursixnine5
-8tbpjgmxltwojlpbnsvqhsjfcjcfvcrjqppdb5seven
-8twodcpglrxcq23sixfour
-3sixvczzqsfive
-1three45jh54tbdvkj
-pdrzqxdtcnbrnine8zvffmrtwo11
-3eight54sksqfxhzcdfour
-7hsllsjtxtwo9jhjlhthreekdfssninetcjjrm
-9sgmnine1kjmhjthree
-nineseven9five
-ggdcphlstwoonethreeffgmrseven2xsbsf2
-75ssbccflrrf4lpmptcqjcmfbpklqc
-5six2threedvvlxdxsixvxxghpddn8pbnr
-tlbjnlxfxvnine4grhj71hnf6
-964eighteight4eight6t
-5qbmnsone1fourseventwo
-oneseven1five9two
-5fdpl37vklxpth672
-4czvrnxtlfiveseven74
-qdgqbsd5fourfive
-ddrqjnkbq87six2fourmtghdtvtl7
-zdldjnfxms692rbdfgvtsevenxzfjpnsf
-nsqtkbbfhn8threesix3fivefoursix6
-sfxjzhpqqslfourmpph44threetwo
-onefive3seven21
-9eight1sevenfive7nine
-7twonrthgr73vzb
-18onefourhxxm
-3xvboneightlb
-3ftqct9
-8five55
-4eightmzrlfjqqddffgmfl
-74mhzvktwolgpvrvnphc
-sixnine694ninetwo
-bzpnktvcqleight2
-5oneeight1five2dszthreedncqzmhc
-eightfrbmcblrghgmpkrdnh7fournzbvtrzvhchsix
-threethreeoneone6kbghfst
-4fiveonexfchmclqhqfive
-1t3nine
-57jclthreefourbtdgsggzh
-qpc9fhddthreefive
-9eightnine7cgpbbnine8
-88twoxbzjp6fmqlznzgpgdqmmnpmkvctm
-threelb9four168qpchgnfn
-4onekrlmslkd7five
-4jfxtsseven
-zsthvnxpf7
-656three
-453seven
-zxmr55hgnvtjbbqhfsxssjxzshcbkvsbzg1
-pbkffqzrbvxvqjfgkpmp5
-ninesix677lpqpgmc
-sixgmb67fzdhnnfk7
-jlgjbltbtwotwoeight9sixninevlngvvj
-xdxqdhps9sevenzmzdlnvsix3oneightj
-ninetwokpzvvqlgtcfx2
-dqmjchlbj7sevenfive
-61eight9kjmxclvdrdmvnthree
-8nine6three
-3ndpknone
-seven4one
-8dxljzpk8twoxfmhbqnmqeightdhxvpgxcnine5
-6five3seven
-rzgfivenxhpr6gxqflrskhjhvoneonegzbclk
-jrvjhkfv7sqnsz86five5skvvmspvjd3
-sevensix3c6llkmsmmssf3
-sevendf73eight74
-7bqbbvmq2krkbhlsh
-3dqq55eightcptwo
-2bjgfrgrtgnfour
-44xznjjvlhzclsix
-seven6rtzponeseven
-6ghvvkhrzvjzpxlbkonejlmrhq
-zgsxthree6
-3crzdvbnhtsgldjvbpsixbjmlxsv3vrzjtv
-xcpnbsevengpffknsv84sixsixseven
-four898xkqnhspbqmtcs
-5twonine
-six2ltwosix
-cnine22sixeightwost
-6lx63two
-fbqoneight3five
-rbtwone2eight8
-9fivezrsdfkdlqone1nthjvdlmxhqvj
-pmmfp8seven
-1qmttlsjpxjbsrzmbtlxqzfzvrs968
-fgdonexgvvnine5jsm
-rbgmbtwo9fsntcthreesix76
-fbrsxxshseven3gtv
-mkxfour66one9n
-eightnine1fivecsixlqds2
-lhxnxhfnmlmhxkcxndmnine1kfpb5eight
-6eight13rseven6
-hxcfone64ninesevenbgsnrqppqmnnineeightwof
-threebjpbtpzgx5mnthreensixoneightz
-bpdvfqlzthree2vvcmvzllqfbgjgp
-two926sixeightdsvdmnxthreetnqvktdbn
-bhntwonefourninejjcmlfphzpseven95
-prqoneightseven1nbcxnqjfourfivecmj2
-stwone1oneninevcrfzpfourfivetwo
-ztkknhjr9six8
-twomlvrzm934seveneight
-ntnn1bqgbxf13rqdqtcrbpeighttwo
-seven58ninemdqonecrkbdblone
-foursixthree1oneeightone62
-8385dhgcqjtrsixtwo8
-blpzxstwosevenqbdhkb8sfggkbdhx5rzftqsf
-mqbeightwoninefourlgcj9
-njvpkpvjpmvmbsrdgdvx7frrgvnfrmmrfrhqdtwothree8
-rtwonesxxone8tnine
-2xqgrqmone73five
-5ggzdxvptwonineeightdj
-svqhzhzbsmhljxeight7hljd
-one81kmnmpmfkseven
-9ninefourbvbpljb3nineqxnkgzgj
-sixfour7nvdfhnd
-24twoseven52
-425vqnhmrpxthreenine3bkjpvs
-8fzqqspdp6
-427five9zhbxpbr
-1qjnxxkgqhp
-eightxzthreelrbgfbvmrpmtgvrfgqmjlshbqv5
-onetwo4
-three194bfivevknbqxv
-1mjhplcvheightlnvn7two
-rmptjk5seventhreeonesevenkdxfkvdz
-threesix8kpmrvgkpsix
-fjfbx6eight3fourninesp
-six3nhonebtdzppnxkr
-xgtltdtwoninesix62szphpcmtv6
-fiveeight9seventhreesevengndgdfv
-ninetwosmcbfkvf5hvksvfbr3ssbntlk2
-qjrdlmone7tqrzlvfourvfbvtkjxfpkffdpjnine
-sevenfqnsnqt89five5
-16sevenxtdrtmdzrxhneightwot
-8ttreight4eight
-three9nine3832four
-fivesncggngss8qzfvj
-twotwo7sgtcgrmdnr545
-6xk7threejmgnqnsevenmczscqxqxfour
-twosix4eight
-kxm15two844eight
-twoeight5sevenfour
-five56three
-threekdjgcdd6one
-clchjoneeightrqgk8bdsdmzm
-twog546two6x
-5nine4bmhbtbksxreightoneightkg
-gjfkbsr1gvtvlnbzqrlfour
-one48vpone
-eightbcklnvtgvthreeninefivetmgtbjrqnn3
-nkclzcvbbq8nineznbtkntgndnine1xrg
-lqpfhmrlmg32xtddcfffdbxbjckvlzghpldfgvhfhdhr
-fourpkcppxtmqz5
-dvb6sixvhdrzzjk
-btwokhl99nine
-73rkgbsqgz7koneonemlhrbtxc
-eighthlqqt4onenine
-eight61oneightx
-ninebbtcjjlqkthreenfvbcc4three946
-ninepqtlffxvclgn7fqdhqbpmkkseveneighttwo
-bqzpfxntnkhhfkv98fhrqslfs9four
-4ktprrljbthreethreethree3blmddptfour
-5fourone
-9zhvgleightseven5nbcmscqms2two
-6czngsp895
-2threekrxmtfrr2ppfrzqkqgfoureightlf
-six8eight6seventxgl
-1one9
-3qpmrtzsvgkjxsevengzdkjkbbdltlrjkznbbkmpb
-sclxoneeightfoursfbfm4rbxssmgngfxrvcv
-fhctmnpxdrfivemndlr3sdp
-twoseven9sixlp
-962
-tsnsndjtrp27cbtsjdlkrqmtctxvxvnx
-5mnine
-7fgt6
-three1ninertghhbhbcnjdsknine
-two8ninefxcqmxdhtnmcmjvtds6fivebnm
-7phdp
-2hnszbksg
-4ninedcnjbcxnrmoneeight1
-hnsszlsx7414two4
-gmkrn9gcgmffrvbfivethreefive2seven
-2bknqdqmrxpfftptwo2vmqffgmzr
-dsvf3nv14zklptjnhv
-54nchsnpknkx
-oneone15
-onefvmxnzp575sixpxnpndqf
-6vqrzsbbxg3735
-twojbldk2hfqqzgone5
-onesixlzznvc8nineseven359
-6vjbr7
-nineone32nmkszsthreefpscxcqtwofour
-fv1zpqrxvdlzqmeighthhbbbzt
-cskvllzszxzk9
-7ninebrlggdzqk7ninelvddrtt1
-2fpttpbq6b7ninefour3five
-bsslmmmhfxc6
-lfjkdzdm9eightkbdhrkpcnzcftlggh
-rnineninelmbhfour88onevfzhcmneightwofp
-one59ktxrdrhc8six9
-86nxnfzzsixgmxxglvfivezmkdvmhjfzone
-9threefourfourrbxqpqbtbzxstwo
-3pvgtcxrfvthree39bjfivenxvbjone
-sixkmngfour3bfive
-6threehntsjhjpmqhl345
-fourjcnd49fivexqfbj
-ksmszhfive7rrphsxxhgm
-zqtdztkhveightninepnctbcgqsb6
-ninemlvzfcljfkeight1tppxrqtdzp2
-twotwoeightnine5frzk3
-lfvqtzbsix3
-four3bsgft28
-sixgksnkrmsix2rbjmfmnfzfiveeight
-vrtffvbtcmszfdc2sevenhvpfour8
-twopvgzmthree3
-xqffprzsrjqkcbsevenczlbc5
-4ninefournmvninetwommnrctqjhg
-27four
-fheightwod4
-38zkgvdpgjzqfivenlr7mdxd
-ninexxvninesevenfivedpzfgpbv5
-xjzgznvfsevensixthree3rgfqhkxbfp5vfrjcdncfkjk
-2kcbprjfhns68
-bndqgcmnine4qbzfgxmlffive
-ffctnxgtwobldqhsix8djfmdnpgmt
-fourseven91ninesevenpksgt3
-rninesznvtbq5zqmthzrcntskdthree7
-8eight7
-1hnlnp79
-1three3
-414ninevqrccrf6lmzqmsjc6
-15mpeightxmhxlxjmn
-ktdblrmqqxmktvqfour87
-1four121three56
-ldfdgfqkr22nxtsrsntlsevenxxrcclrhtl6five
-eightfourthree8pvlkkbmbrfnfr6
-8sixninefiveqcmjhpx
-2seveneight85lskjhn7
-31c3
-hpgmpmjmnk4twothree
-cqsxgbj23six11
-threesxzmgtvhhheight99xsix
-6jlpt6rnsprllqhgbvhtqtjvft217
-22onesevenfour4sevenseven
-sbnjszzkdleight6three
-3twofourdmrsqqtnzgng1two
-ldcvxqbsfqpgql9ngsbhfrmszhgvznnnjhnm5
-1oneseven28seven
-nsvhqtfivemjgcdqpbtwo1nine2
-six8dj
-zdoneight67fivesevencqlr
-xlzrkgjrhmszmkzlkkmrxjdnzrtlzssfpcxkbxvp6jghldhvr9
-8sevenbzbnnx
-vzrmcfvc9shkxfblfkf
-9twoshzmktntwo5nqp
-3fourvpdfs3eightword
-three24onesixgdzgkspgsjprjgn7eight
-4tz2sixsixqbqfsr4twonine
-twoq2eight
-rccxnvtqnhdlgzqfzcnrmqtjqonesix732
-seightwo8ninekndqrdtbfp
-cgnmrkcjvbgfmpbpjckhfrzrtnine2sevenfivesxhqk
-fourxsncktrjtpnine6ccbgpl
-1sixone5vkzxnhgdlbsevendtwo
-9jbnineppf7
-5foursixlrn5vdgdbvnfhg
-fivecrtwo8zbqrvjgpfivenine2
-ktvdhgvone6dbrvj5sqbr5
-bljtwonesixthree7dzdfrgqrkstwo4xvfmtsbpqjgxsgqcpc
-sixgg5
-vmrbqdqdrqtwo2onez
-onehlgrgndk9ninefsntwo1rnclttm
-4tqzjbhdhkm1
-nine1kffxzcrn189
-sbrxr9ninemqb8
-six528mslnf
-sdvthree7dfivenine918
-3kvzqqkonepmghblzvljnineone47twonesdf
-four9sevenfourjhmjjslqgd8
-3fkfmgqf6fourbldjfvbhr
-eighttxpddhsnzrkplzqc1ninezpvqgnhxzftwo
-56lsxmkfpghsqptvhmmmzhcmfdeightsix
-one72kdfdrtwothree8
-7kpgjhpnthree7
-37j2mtwo
-seven4mjponefivesdgncqm2gkklsqvthfeight
-mgckktt9six4eightwol
-4grzfdm499ninetbt
-tzmbtv84b
-xvzltd75dhpjckmpdrkgglskqrhd5
-cgnbhmdlj24
-7fivetpbtmone
-fivelpmbxvhktzkkonexsxktlzthgbgqkgcj94
-5sixhggcbrft
-43five7122tqlkhssczsr
-eight1seven3
-fourtwo134fourmzpxspr9
-snxjqnf8ctcnvjknghxpkpbrt2
-4qj2xtwoghknine
-1zjfivegtwotqgndnineg
-fjmmznxkrml7fiveninelfvkqtrg6
-8xjlqgqj395nineninefive
-dx47sixtwothdphj
-fivesevenxgsfb235cvgmspdgg6
-fivettfzvfg78dmzzdzcrt
-fpnvxp1
-seven24
-1three8oneeight
-7xglzsqrtb8fhgthmgdcdtwo
-seven8gdtfgd4fivepdq
-twosix1qtttvvstmqbrhh
-ptwomnjhlzjjkztwo4kdkgxv
-89zkvrhmrhdbmfourzdpss
-bfdsvnxflgqxgpzkmrptlvmvlkchjxrt67
-9mmhxsevennvvdngznine17twofive
-lszmqdmxz87mqbv51
-546sevenninencccndnr4
-nineeightsqgrpkrqlmzrlxm6hxchcjspnx
-8twoccdnbfive
-1ks98
-twothree6
-twoxsixtqdpp6dcclzgfvkv1
-16one7scvsgvmcdsixjtzszzrxdzzgv
-bjxzdsixkvqgjfzbbjnrtn212jplvrj4
-zb2three5cngqfczc1
-5fnine99zxvfourjgmn
-one634rteightfoureight1
-76gvcdfourgtbzdlltzsjnxqg
-ltmdrkqqnfour9eightpckdvbhlkvxlpdtp
-6two5kgncpnzkdsgnpspb
-three8vjninekbbnnfrdstprcmklrgpkfpmbs
-ckvvqjqzbpfhf52fivefivefour
-7ngxpdqptksix
-ftp2eight
-8lnmpbqldqstwo
-threetwo153644
-914
-plxjdxghsix17
-sevenonesevennine4three2seven
-7bvdgpghzhpeight512vxbnfqjctb
-xqptzkfive4xqbjzpqfkfspqv5kgqbdtfive
-bmltkhjsckhrc7two8nzdpkjjpnfive
-nnhppfvlhcmnmrjxhrbtzdflseventwojfprxmfn7
-fournfdtjtsbthree54fpzsq
-ninenineone5two
-8694twomgxxzfxr6
-sixeight75seventhreerpchfour8
-llv5
-skxcbfffgc6sixone
-3lhjbzbsg4lsfgpkmcz7vjxzbrshbseven
-4onecjlkpqdljd3five5
-eighttwo2mvdtvqpnonetvphxsk8
-15195one
-kdx9nine6qrnqrjxq59
-twolhjmbh4fivetwo6pdzbnzt
-pbvfour7
-tgxrsbk2
-hfournineone58sixthree9
-hmftwonesix5dhthkcnzqseventhreenineeightnine
-9jmmjclsnsdhhj
-hljjvctthreefourxsdlvsgtqj1335seven
-172
-2gbfpjff
-five5sevengvddnphnine
-sixeightfourssptsqlhzxonetfg2hkmrcpfzcz
-94csjjgl42three
-4bkxxv6
-pgdgoneqmhxfpnfqkrbkjeightbmjjlrnsc5
-nineninetwo55fvsxspzt
-32jqffghbqvfmjtjone78
-93eightfour6eight9eight1
-768jrdmfxgxpntx8nhpljjdx
-eight33zpvpggklseven4lcqsixthree
-fourgrmone4
-bcknine9qsevenrjhjeight
-5onevqm
-578mmqhhljtwo39mfnpmfqthree
-fivecmts43eightfdphfivejsx
-8vkqvl
-8oneone27fourseventwo
-jfsixfivethree3cmjtvkzhqkcksmljxxzbjd
-three6sixpdvtrnrtffltrs
-threeltvvfkcdqjtwo89two8j
-5sixeightfivesixjjmknrgd1qpsbpjrffjl
-eightrmgfkckxxxsvfclhtgcjthree3
-rnfbp8eightjv35eight
-2rrssqrfkvmq
-dcmghdmg6threetzsdx
-qzhfivefivejvbtncm2
-gcspvjnsevenqhmkngfivesix15jtpk
-bkmlmh5six1sixone2hgtlsix
-8rmjshdhm681vc
-sixtx32
-7fourtwo6
-xgrcxeightsevenzgmcllfjqn7
-553fivethreefour8nine
-one4mxbmct
-three6ninetwofour
-1bbbxqhhlmj651eightkfdqdgvh9three
-4414
-mnxsixone92
-61six8
-eight8mrcpfive1
-crsvmfivezbkzkqsix7mxjdgtsqbfvdbnlqtfiveoneightgj
-4dmzznftdbqj
-seven25
-fhlhpvphqvh8one1ffkq
-mboneighteightonefive1ninenineninetwonine
-82fiveonexc5
-97qbhvbqnmxtlpczsx
-nhgzzjkx5
-hgxlrk9
-8twonine9fivetdxmjqppxr
-onethree99sevenfourkzvd2
-sdqjfvbndzcthree1ftoneightkm
-5rcllqcxt
-threejdntvhsixsckfpndjzkeightsix3nlgpsvsfhk
-94fctwoxmczbkz
-4eight35tbqjxglldsevenxmthmmlhsix
-three125
-3njtlmxtbr4541ninedz7
-9ptzpzqrjmxlrmbfbpn9ss4sqcprfmcqg
-8dpmkdtvjxzjbddn7pvkxzskddrhcsjvthree7
-xxshbfcmf3cfdkeight
-six9ninefour472
-fourrvxfmjzd4five
-1fivesix
-twonine3six9
-nine8onethreethree
-foureighttwotwo7onethree
-9prtlnjptoneninefiveninefive
-cljqxpthqzdxpmmbvpjljjxhlhsql8kztpthreesevenoneights
-9sixtwonetfh
-kscmxpcqlthrmthcdhplpnqlq2
-fiveqjfvkmnineeightninefourtwo1
-one5sixeightfxkshmninethreeeight
-4nine4
-27
-ggtz73sixkgsjrtcxkb1
-qvxsgvrpbxqcgpb2fzmcvknkr99seven
-6eight8ksgdlxj638fivetcgb
-mmvc3fourrvbztjchbmqtxtgfrrqphninefive1
-3qzbzxsevenfivegrvtbckqcj
-eighttwokzpgl2hrvqlhkthreenine4
-8twoeighteightxtsbrseven
-nine5mghp7vpnvtpx2c
-hkxkmx5qnpjhtdfjfsix2xqqplvm5gmvjm
-69cgvzhvgjvl8
-threeblzj6three
-3bxpmnfbtpk5hcgqkbkqblznxgsdvklmtmqjxsxdcgqvmsprxrrnfchfbnd
-1fbrrcjgzzllmcbdrgmrcfsevenh
-58onezbp
-1bqfkmkk46cctvmstvhvrtwoone
-mmeightwo9sbjvleightdsevenseven
-9gdsqgflkvonetwo
-3lgpmxdgjtzx3two5foursixeightwomb
-dbkbeightfive9eighthxngnrbmp
-2cpkxggtrdsrh
-zsgcdcrlhlqdpone9eight17sixbbtzpmdf
-5rskkplgsbl9qqzfrzh67four4
-nine856threezgbhrzjcfour
-kqnnine87lflxddvtfb9lfjdknvgl8
-fsgtwo8zxvnfour7xxfnmqpzhzone4
-ddd9sixnsrpqmvvjh2xghxhm
-836
-nxglt36ljcbvgc16hxcbtqjz
-nine19fourhnvh7fgqklf11
-jkvsphrpmhbnfl2nhcflhsbks4
-7nine2dsgkmrzlrzptfpk672
-6vtmztrjdrbk
-4vgsshzzsrtwo
-ninexfjcxdcnxs7seventhree2
-hsvvqcqp97twommjjlclbtdjbxkveightwos
-threedlcvvseven3
-366xqfbhzfmqknine7
-jzrqqfouronehhrmkg4one5
-8xcbccrp141kmcsrdlgcdzpcb1nine
-59rdrphcgk
-fivetwoqmlk22eightfive
-qnsphtvfourtwojljxnvgrkk3slv6four
-13dfbnfnpsevennqtjthreethree6
-4dtncvsix34oneeighthpfouroneightv
-xdhqninefive88nine
-6hnnl8nineonehm7four
-sevenfournine8five2six
-vnczlzjqdtmdgsgxch94one3knlxjvqtrjlsx2
-twoeight14kkzrsqmgkhjb
-jhqrzxrhskngj9ninenjcnbdtjhjtdh
-2grrlxnlvthreernfghspmc
-two8hjbsevenfive5threenpgtnkftp
-d8sixfive1five7
-sixthree9
-sixspqf2gptcsrvlln9
-seven8nine
-nqeightwo7svvjqs75qgp3hpvn
-qrsixxffsdvvrf74five3
-5threeskqgcgprrjmcxksixtwo969
-bdbtlvlseven13fh
-2two1eightfour7jqdd
-three8ninefournffzbnbhkpjqh32
-sixqzmhnjttdnine41sevenpcxqkvr
-fivenine2fourseven2
-sixjjhrjbmvvngqd3three7ninekpneight
-11lttrkpcljbbrmponeightbb
-frxgkvgrjtsix84
-76eightonesix8fivenlfhkfgp
-fourpqlrklpnfljvpfkdklkgrjp1ninevfour
-1six75tr1
-cjdvxhmjvstninejccxrqhb1qkpmnzx8xfpp
-8sixfourone6pzlnczvlsmmp
-eightrkl37jqlvjjsbrtqsix6
-onesmrjvmrtlppm69857seven
-4rgsktnbone8sjxjzbrplnmfvkknpxqv
-tfteightwonsdffone8sixxdpeightseven
-639one2two
-smk55
-6cjbckhbtmkcgrvmp3
-rdnf9
-1jjkdspeighthteight37
-1gh3dcmhx4sixnphphhbpninevbqhs
-vpstbqtdmbvk9jstvtgzrdl
-91seventwo
-7sdpflkxfzfivethreenine
-gvgcrpphhbzghtbcv6
-vvnine5ddgzroneone
-5four6684one
-dmspptjjtwocr2one
-sixftzx6fdsfv
-5six8twotccbsdnpxg32tsix
-mfkdbdfournktdmgqnt4vqkzbzonekdqhbcmfgfiveone
-nine2476
-8rxd2eightninefourmd
-eight1hqfcqs4cpvpsqjfhptwo6six
-5z
-bqcj948nine6xmgnxmxnn
-two1lzdv65bhllvrc
-sevenvjkl3ninespltvdszvnfvzpcvrctphvp49
-4mzjxftf5eight
-fivehbrxcbgjhhxpzfn5lllsknk7six
-6n5ttwo166
-fqdfhc3
-6cph
-lzqqvnlkjv3sevenbdssvckmdm
-bbdpgpfsevenvzsix87
-754sznxkfb4npmjbv4one
-twothree984dsxsninefour
-kmpjgh71jhfrjgrpbd2d7
-27tgptfvcjnk2
-onefive497cdcktxcjfivezdrdhczbp
-79176threeseven1
-csseven1rmlbcpct
-1lzlz4tsngmgh
-zvxshddzg2eightpxkzfnvdfzeightseven
-ninesixnine93seven8
-1twofiveeightmfour
-six3cmbbbxbqr74flchvgjbr45
-7nine31two9dvsghkrjj
-five5four
-seveneightthreefourseventrgxdqclq2
-5dfgddsevenldmzckmvxjmk92fourdcpfgcrpd
-ninekbhrflzmgp3lqgxgszmzvndr47zcllcfg
-sqsixonefivekfvbfh66p
-bssrkdrrgsftlqjdz19
-bqcbhfive6
-jt3fivemdrnrvngsb1seven5
-svdninesbj11eight
-2phltdc
-1469sevenvksvlthqskfkx9
-7fcfivefourdbbvtnjbrc
-6seven4
-lrmfqtjkzfive69eight8
-zmngmr9ninenineninesh
-qrxvdxgtfour7one6
-eightmjpkgdtrp52shpcrtb
-54k7fournine
-7fdbshl6874
-jfjvrhccqrc1fourcrg96
-1sevenncqhkgtzmtncmxhflmfsxfsmsmqh
-79fourjmxfdbqnrsr
-sjthree6tcbp3x
-qvrzmdzfnpkkdcvone2lttcbzhhddbnlnhxgsblhtlvdcpnzjvvqszrthree
-ninedfxcz63two515
-48sevenvgznbsxzhfgzq19
-dxjbtzvtfn3five3
-five1gxfcfppffg74
-78ncrnhmv766nine
-two7qmgeightjhddgnineone
-jhttksbpbhzmgglfour7
-bloneight3ckvpkxtwozzxr1onethree
-mhmppdtvfonecrjzlktlnkpzdbqtvtwo4
-179tjchxninethreesix
-dpcfnsftnjbhlpcjrc8pbnnhtlrjzmmjk
-ninebn16one2crfour
-mfivesix8nine1zgpqpr
-eight44fourfivegfive
-2qhsltnzsfivervftmdm1hthcml
-sjoneightvrxctb9sixhkhmfivejm
-7threehdctsfqflggzkhpn
-seightfourkhpkprrcl6six
-fourkdff7
-57seven3four1r1gcjtckvn
-gmfdzgv7fivesix4nvlq3
-thp7
-xd5plhtvtgxmgkmhlr5nine
-7fourdf
-pnkjgdctpm2221four8pvnhxdtrvs
-hngtq27nineninesixeight
-2fivejpfbsqtx1fourseven
-19jpjsbljgz
-ninethree5twoeighttwoqponefive
-gklmbcj5mstwo8
-phbeightwo31jjzltcqzhklm26
-jtslpzsxh43
-drk7
-5dxcsvgqkmz
-jnrgv9
-nsttntwo6
-6qbfrlcfmmnqpmbbtqgdsjqndqfive
-2mgdjlpdsixfive6
-sevenfivesix6
-3nrfvb13onebsrclqnflppzchtp21
-dmpgdvfive7
-lpvqjzhvjoneghqxnvsixjxflzqj4
-onegqzxvnnfnlcffour2
-nsglbskbzd2drjzqhnq
-nine8seven
-rfspthhjbh92rseven1
-nine2ctjnb
-gzkgvtxjt8twoonefour
-tplxnlr8bfjklthree
-jqrxrtdvmj8fournmj
-6gxvglbcqkdsdcsl
-pzjk9ccbmkzmtsf
-qdzpknfhbsixczkrqbpfour76sevensbvltnjccjllng
-six1zrhqxzfivetwo
-xjhmfkvjgxtbgszmpd54jbsscgrninethree
-cndbtlq22
-fouronesevenzrrv7mhsvjtwokqbfvvrs5
-twoonefive59phkxdbndgch5seven
-8twoninethreeckdkd5
-9four6jfxnfgjvcrszrpsrkhh
-993psn4qdldmfnqsix4
-42tzxknj
-vvzpl8six
-8vpchdjxczsvjjqljnmpdeightone2seven
-fivenine51sixcdb
-dfkkvsone5kjzvqqc
-8seven8pxtrdrkqcqhdklgsixzxtjmtblzzcc
-ddvzsqnxd9xscsix4rvpsix
-75nsvxf9one88
-38ninetmmqx2
-sxjqgrdthree2vhpgrcdtqeight
-63kthndjc
-qgbdkfm56two6fourthree5
-five79
-jpb2seven7one7
-four5sbgbpzkjjkjhsvgksgjvfrsbpbdzgd2
-xlxpsixninextzlpbn6
-jzbvzlflf8twoeight
-4vjtr6eightninenjtvt
-3twonine3vmrgkjzkpfoursixtbcktpn
-six1fourbfhxlntrqfxxztmj4
-jrbhfourfour6jspsxkn2eight5four
-pcvjmdlnf15cfghpszt9
-4lxktgpvvq1sevenone9
-twosixhllhbxkbd2three
-veightwo3eightvrhseven89onelxvhqxkhm
-2sixfkdpcjcgcbgfzlbgblj
-457jtmdfdjcnine
-three64
-pqgjfseven4sevenoneslgeight
-91vcptwo1twonineone
-seven63fourzjpdmk1
-8fivetwofrbtm6f9five
-sevenchrtbctkgpnine65fourbhpqnchhlz6
-rkdqrbtdbj9bt41hklvlrbrcpx
-1three1gmdeighteightqbgsevenhljbpzbdtt
-srkbbkfcznine6nine6
-8kmzbjzsxtgr9drtbdl
-24six412smjfxscst
-9cktpshfdr5djvrngchrh176
-2mjknvteightmvsdgt8seventhree3mzfk
-vhldtk27two
-6three2ninepqnine
-2fourzbtqnclrtpsix2six94
-six6five
-one2eightppzmczmgsixnine
-15qljk7vchkfcfhkhmbjlkcfour
-99four
-dhrgkkbrnczkdt3n
-89211sevenhnbjbrxtk
-663rrbpnrknine911nine
-2ntffsix9
-4mdpcrvqfoursixqeight
-jbjjqkfive3jqnqhvkmtbddrdqxseven
-2gvrgdsxptwovfkpgdlmlhz34
-rqfrx82
-tworzlxeight66eight1five
-md1jgknfftttjbjz
-tctqctkone37cmpbslgpzh3
-3sixsixfpxg
-seven6bld42brzxr
-6two4seven9zpgb5
-nine13
-d68
-3lxvsgksbbtwo52eight3three8
-bpltlnlzc8
-seven2five1threedmkg
-hpkvhlkhknhjpq9tgpmnndgtlqjx1vkdkvtqhtwodrbr
-fourfivesxgpxhdvts7four5
-7frgrjkkrb1
-2threettvptwobjhmxvpsvmljtvnpkpsvr
-9fivelxtcbbn9xgtwohmmhnfhcknc
-fourqztfvd6gkhxnstjjxnbl69hzkghsjrd
-pspgqcjfcqdgq6xsgxrls
-threesix6lrfkmvjdfivetwo9
-kdjgpj54
-oneeightsevenfive1
-one4onefournine64
-45hhcpntsthreezl9hjdnnine
-17ninenineninegczplbj81
-31threetwosevencphdv
-5eightvsrzjmdbtqhhqtjfjrhllhbgzgzjzvdhddstxpp4
-pgghlbtsevenqxxjbnd14onetwo
-3ljgmcxnqgxcrfourfourtworjtwo
-eightseventhree59
-3nhsccljtzszftnqtfour5
-threefourthreeone3five
-3pzgzjv7tz
-qxgntksdr45tvnxfcjdnn
-5seven9threejdzrzdfcpgbnhrrmfkkskg2two
-38bjnlcjbeightfivefourqvtbvjsb9nine
-nmxqtzlpfngzlsnl9
-9eight8five3two1gsknxznbf9
-518jkqmprjlqcpdthreefive16
-6lzjznblrj3three
-f7blbxznlvgk
-37jtlrvlzhzronehn
-kpckhlcsbeight6
-8dfptmfourtwoeightfoursixonefive
-ninecdrxlgdkm7nineseventwotbbcgninekbxssd
-rrhkgmnsbxbhb2ccnncrbstjfbmnlbxsxbkr
-cflrvjtdsevenfivefive3sevensixeightseven
-41ninenrznrcpdqhxfglb
-gffivesixtqbbmzllvbnjnk2fivesix
-eight311seven
-52mpqbgktxhs359btkzqdfzvtrzmltxt
-onegxnk2rvnmdcmqvqvgkml34
-gfzeightwoeightrbvknvpt7
-1ct2
-zctqtxtgseven66zhslvvdninetwo
-54sixbfn8mxfkthf5
-9974seven9dclxbmfive
-onefour6mjtssrxjjsleight2foureight
-818sixsmmzsvbpl9two
-rjqnpzlp83qxlj
-sxqztv22
-8tsvhfszvj
-one5mninefour68
-three7threeone
-sevencnq2jdjvmlh5mqnnnrsqgppkfxjfjsevendrq
-8zmxbvgschsqxbk5lltxpseventhreevrhsvdkk
-seven2ngbqlxkjl27eighttjprz
-ccfskxtnqpqninevczrltkg18hmgjmqt
-npgtv4nine5lnqvglvdrxvqmc
-kvg4zrtpxnknbone
-threeeight1tsdcthree5zxrshttlsmseven9
-35448284
-6fiveqplkfftsj
-pldmrjhzhfiverlgntcckbqzjgth4gfddcrz
-6fivesix2
-eightksz6m6pneightnvpvvx
-1fourbqxtmbvzsfnrxqmvlbfzvdthree
-two43sixthree5one
-cqf2
-twoltseven8three64
-6fourprlhcc
-fgqoneightsevenqthreebksixgdqt93dm
-xjczd3sixseven5
-kfzgshnxqnptrckbrt2
-fourrrdcl624
-kvhfqspcpsxndjqlonesixthree24kdmqvone
-8eightfivetwo
-onesevenseven5fourlrkkqtfkrmdlsmd
-jffvtzkbjnkdtvfsfthree431lrpgmtv
-bbvsptrzbone4tfnpgrfourvsix
-4seventhreekmxsz335eight
-eightbrcv5
-two2eightbppsplzgcfournine5seven
-fourthree5kcdhqzeighteightkbzszgv8nine
-rgxrddnnbv7rkt
-8ffmvpcsvfoureightqpnzzjksgchnine9jlgjqb
-two9tfvjqsgqsixnine
-bzn4two
-sqlfeighteight6hjddxzcone2
-3fivekmfnqlctddfivelcthnine
-twodn8
-one5six913lbrcc
-foureightmppchbgz8lqbzqbjztwo7cksqxns
-zvhzgfpkhkone93nine \ No newline at end of file
diff --git a/aoc2023/src/day10/input.txt b/aoc2023/src/day10/input.txt
deleted file mode 100644
index 230e945..0000000
--- a/aoc2023/src/day10/input.txt
+++ /dev/null
@@ -1,140 +0,0 @@
-.F-7F-..|-F-|F---7J7FLF-7F|FJ-LJ.7--F7-|77.|7J.FFLF7-FJ7.J-7-|.J.7.F7L7..FF.|F--F--|J-FFJFL7F7-LJFF-.7F|7.FF|7FF7FL7L--F--77-7F7.7.-F-J.JFLF
-FF-.F|-FLJJ.77F|F|-J77|---.7JLJLFJF-|7.F-7-F7.FFJLJ|.LF7-.|L7.J7LJ.L7FLFF7J|.F|.LJ-|.|.L7F.LFJ.||||FF|FLL--|L-J7--J|J7L||FJ-JLJL-JJ.L7J-L|7J
-.|.FF7-LJ|.FJF-77|FJ|||-L|-L-FJ7F-|-LF-L7|FJL7J-F7FFF7FJ.J-.LJ.F|J7.LJ.|L.||L7JF|.7J7.7.|L-FJ7LL-JJ7FJ7.LL7J7LFJFLF--F|JF|-|.-JJJ7L7-||7F---
-FF-F7JF|FFF..L-|-|JF-JF7LJ7.F7--JLJ..LFFJ||F-J|F777L|-7J-7|7|7.FJ-77..LL--7|7F7F|-J|77.FL-7FL-JJ|7JL-L-|7F|7JJLF77L|-7|.FJ-L7|J.LL-FF7F-77|J
-F|...FFJLLJFFLJ|JJJ|.LL77-L7LJJ.|L|-|-FL7LJL7JF7JL|.|7||.LF|-|FJJF|F7FJ.FJ|LF||F7.-FFJ-LJ|FJ.L---J.|L.L77-JJ|7|||--L7|J-.F7|.F7F7|FJ|F|J-F..
---F-L|J..L.F77.L7--JL.L|L7F|J..FJFF-J7|FL-7FJF77JF7J..JJ-FJL-JF|.FFJLJLFF-F-F||||7L|LFFJF-7.7FL|.LL7|FFJL7JFF7F|L|-JJJ|.FL-L777L-.7L7FF7.|7|
-F7J.|.L|7.J7|FL.|.|.L|7|J--7-7-L.F|J|F77|FJL-JL7-||L77LLF-J-|-F..FL7.F-LJ7FF7||||F77JLJLL.J7.L-JFF.LJL7-|L|FL-FJF77|.FF-LJ.||J.FF7|FLLJL7.FJ
-FJ|F|FFLJ7L-L77L|-FF.|LJF7-L-77.7-|-FJL7FJF7F-7L7||7L|...|-LLL|7FF.LFFF.LF7|LJLJLJ|-7|.|7..J----F77.JF-JL--7JLFJFLJF-7J.L77FF.L-J|LJJ.F|JFJ|
-J.L--77|.|7|L|7|J7|.FF|7||7-|||7|-J|L-7LJFJLJFL-J|L-7|-F-7.F7JFFF-7--7-F-J|L-7F7F-JFJL-FJ--J7FJ.J||J|F|7LFJ||-L--7-7JJ.F-7-7.FJ.L|J|||J.F7J7
-|F.F|.7-|JLF7|.J7-77JF7F777.LJ|7L..F|FL-7L7F7F7.FJF-J-7|J|-||J.FJFJ7F7JL-7L77||LJF-7..F|J.|.F.F7FFF.-F77.7F-F77-F77L|77..L-7-.L-7L-LLLJLLJL7
-F7FL77|FLFL|LF7|J-|FFJLJL---77LF7LF7F7F-JFJ|LJL7L7L7JJFJ-JFF--7L7|FFJ|7-LL7|FJL7FJFJ7-F7..F7F-J|F7J7J||J--7L|L7FJL77F-|F7|FF-7-|J|L|7|-JJ|FL
-F-JJL--|7|.L7-J|LLF7L--7F---J-||F||LJ||F-JFJF--JFJFJ77F77F7L7FJFJL7L7|F7F7||L7FJL7L7F7||J7||L7FJ|L7F7||77||-L7|L-7L-7JLJL7JJJ.|J||||FJ7--FF7
-F7..7JLL7FL.|-JJJL|L77|||77||7F-7FJF7LJL-7|FJF7FJFJJF7LF-JL-J|FJF-JFJLJ||LJ|J||F7|FJ|LJ|.L|L-J|L|FJ|||L7LFF-7||F7|F-J77LF7JJL|7.|JJ-.F-.|.FJ
-7---F7|.FJJF7777.|L7L7FJ|F7-F7|FJL-JL-7F-J||L||L7L--J|7L----7||FJ|FJF--JL-7L-JLJ|||7L-7L7.|F--JFJ|FJ||FJ-FL7||LJLJL-7L7L||JFFF77|JJ.LJ7FL-|J
-|F-7F--7FF7|J|FL.F|L7|L7||L7|||L7F7F7FJL7L||FJL7|F7F7|F----7||||F-JFJF-7F7L--7F-J|L7F7L7|FJL7F7|FJL7LJL77LFJLJF7F7F-JF77||7F7||7LL.-LJFFJF7|
-J7F-J7.F|J7JFJLJ7LF7||FJ||FJ||L7||||||F7|FJLJF-J||LJLJL---7LJLJ|L7FJJL7||L---JL-7L7||L-JLJF7||LJL7FJF--J77|F--JLJ|||FJL7||FJ||L7.FFJ.-J--L-7
-.L|JF77LJF-.JF-JLFJ|||L7|||FJ|FJ||LJ|||LJL7F-JF7|L7-FJ|F77|F7F-JFJL-7FJ|L-----7FJFJLJF7F-7|LJ|F--JL7L-7F7FJL---7|LJFJF7||||FJ|FJ.|7FL..|7|L|
---L-F.J|.--J-J7F7L7LJL-JLJ||FJL7|L-7LJL7F7||LFJ|L7|F7|FJL7|||L7||F--JL7L-7F7F-JL7L-7FJLJFJ|F-JL-7F-JF-J||L7F--7L--7L7||LJLJL-J|F--777F-7-FFJ
-||L7-7JF7L-JF|F7F-JF7F-7F7LJL7||L7|L--7||LJ|FJFJJ|||L7L7FJLJ|FJFJL7JF7|F-J||L7F7L--J|F7|L-JL-7F-JL-7|FFJL-JL-7L---JFLJL7F-----J|F-J7--FLJLL7
-.LJL.LJL|-L-F7||L7FJLJF||L--7L7|FJF7F7|LJF-J|FJ|FJ|L7L7|L7F7||FJF-JFJLJL-7|L7LJL---7LJL--77F-JL7J.FJL7L--7F7FJ-F-7F7F7FJ|F7F7F-JL7L|-7J.--LL
-7JFJ77FF|-JL|||L7LJF7F7||F--JFJ||F||||L-7L7FJ|F7L7|L|FJ|FJ|||LJFJ|FJF----JL7L7F-7F7|F----JFJF--JJFJF-JF7FJ|LJF7|FJ||||L7||LJ||F--J7L-.||.F-J
-|LJ-L-J7JJJ.||L7L--JLJ|||L--7|FJ|FJ|||F7|FJL7||L7|L7|L7||FJ|L-7|F7L7|F-7F7FJFJL7LJLJL----7L7L7F7FJFJF7||L7L7L||||FJ||L7|LJF-J|L-7F-7|FFJLJ||
-|F-FLL7|...FJ|7L---7F-JLJF--J||FJL7LJ||LJ|F7|||FJL7||FJ|LJFJF7|LJL7|||FJ||L7L-7L7F7F7F---JL|FJ|||FJFJ|||JL7L7||||L7LJFJ|F-JF7|F-J|FJ----.F--
-7JFL77J.-F-L7|F7F7FJ|F-77L--7LJ|F-JF-JL-7||||LJ|F-J||L7L-7L-J|L-7FJ|LJL7||FJF7L7LJLJ||JF7F7|L7|LJL7|FJ||F-JFJ|||L7|F7L-JL--JLJL--J|JJ|7J.J||
-F-|F|F-7L|-FJLJLJLJFJ|FJF7F7|F-JL-7|JF77|||||F-JL-7||FJF7|F--JJFJL7L7F-J|||FJ|FJJF--JL-JLJ|L7|L-7FJ|L7||L-7L7|||FJLJL7F--7F7F7F---J77L-.--7J
-|--J-J7LFF-L------7|7|L7||||||F7LFJL7||FJLJ||L-7F7||||J|||L7F--JF-JFJ|F-J|||FLJF7L7F--7F--JFJ|F-JL7|FJ||F7L7||LJL7LF7|L-7||LJ|L----777L7LFJ.
-.FLJLLF-F-7F---7F7|L7L7||||||LJL7L-7|||L--7||F-J|LJLJ|FJ||FJL--7|F7|FJL7FJ|L-7L||7LJF-JL-7FJFJ|F7FJ|L-JLJ|FJLJF7FJFJLJF-JLJF-JF7F--J-|JF-L-J
-|-J.-7.LL7|L--7LJ||FJ.|LJLJ|L--7L--JLJL7F7|LJL7FL---7||FJ|L-7F-JLJLJL7FJ|L|F-JFJ|F-7|F7F-JL7|.||LJFL--7F7|L7F7|LJJL-7FJ7F7FL--J|L---7JF|FJLJ
-F7---F-F7||F7FJF7LJL-7L---7|FF7L----7F7LJLJF7FJF7LF-JLJ|7|F-JL-7F----JL7L-J|F7L7|L7|LJ|L-7FJL7||F-7F7J|||L-J|LJF7.F-JL--JL7F--7|F7F-J-JL-.L|
-L7.|.|.|LJLJ|L-J|F7F7L---7||FJ|F-7F7LJL7F-7|||FJL7L-7F-JFJL-7F7||F7|F7FJF--J||FJ|FJ|F-JF-J|F-J||L7LJL7LJL7F7L-7|L7L-7F7F7FJ|F-JLJLJLL|7L7|F7
-LJ7L-7FL7F-7|F--J|LJ|F--7LJ|L7|L7||L7LFJL7LJLJL-7|F-JL7LL7F-J|LJLJL7|LJFJ.F7||L7|L7|L-7L-7||F7||FJF--J|F7LJ|F-J|FJF7||LJLJ.||F7F7F7-F-7-L-JJ
---77L-F-J|FJLJF7FJF-J|F-JF7L7||FJLJFJFJF7L7F7F-7||L-7FJF7||FFJF7F--J|F7L7FJ|||FJ|FJ|F7|F-J|||LJ|L7|F7F7||F7|L7FJ|FJ||L-7F-7|LJLJ|||.|FJF|FJ|
-J|.F--|F7|L--7|LJFL--JL--JL7|||L7F7L7L7|L-J||L7|||F7||FJ|||FJFJLJF7-LJ|FJL7|||L7|L7||||L-7||L-7L7||||||||||L7||FJL7||F-J|FJ|F--7LJL-JL-77..F
-LF-.LFLJ||F-7LJLF7JF7F7F---JLJL7LJ|FJFJL7F7||FJ||LJ|||L7|||L7|F7FJ|F7FJ|F7|LJL7|L7|||||F-J||F7|FJ|||LJ||LJL-J|||F7||||F7|L-JL7-|F-7F7F-JJ-FJ
-.F-7-7.LLJL7|||FJL-JLJ|L------7|7FJL7L-7|||||L7||F-J||J||||-|||||FJ|||FJ||L--7||FJ||||||F7|||||||||L-7|L-7F-7LJLJLJLJLJLJF7F7L7|L7||||-J..77
-FLF|7LFJ-|F|L7FJF7F7F7|7F7F7JFJL7L-7L-7||||||FJLJ|F7|L7|||L-J|||||FJ|||FJL7F7|LJ|FJ|||||||||||||FJL7FJ|F-JL7L7F-7F--7F7F7|LJL-J|FJLJLJ.L77JF
-F7FL|.||.LFJFJL-JLJLJ|L-JLJL7L-7L-7L-7||||LJ|L7F-J|LJFJ||L-7FJ||||L7|||L-7LJ||FFJ|7LJ|||||||||||L7J|L7LJF--JF||FJ|F7LJLJ||F7F7FJL-7.J.L.|L77
-LF.LJ-|-F-L7|F7F7JF7J|F7F-7FJF7L7FJF-JLJ||-FJFJ|F7|F-JFJ|F7|L7||||FJ|||F-JF-JL7L7|F7-||||||||LJ|FJFJFJF7L---7||L7LJL--7FJLJ|||L---JJ-JLFF|L-
-FF7.F.|.F7J||||||FJL-J|LJFJL-JL-JL7L---7LJFJFJFLJ||L7FJFJ|||FJ||||L7|||L-7|F7FJFJLJL7||||LJ|L-7|L7L7L7|L----JLJJL-----JL7F7LJL7F-7JL-J.FJJ-J
-FL|-JJ7F||FJLJLJ|L-7F7L7FJF----7F7L----JF-JFJF7F-J|L|L7L7|LJL7|LJL7||||F7|LJ|L7|F-7FJ||||F-JF-J|FJ||FJ|F---------------7|||F-7LJFJF-J|.F|FF|
-FJLFJ|F-JLJF---7|F-J|L7|L7|F7F7LJL-----7|F7|FJ|L-7L7|FJ|||F--JL-7FJ|||||LJF-JFJ||F|L7||||L7FJF-J|F-JL7||F--------------JLJLJF|F7L77F-7JJ|-LF
-L.L|F-L7F-7|F--JLJF-JLLJLLJ|LJL--7JF---JLJLJL7L--JFJ|L-7||L-7F7FJL7|||LJF-JF7L7|L7|FJLJ||F|L7L-7|L7F-JLJL--------------7F-7F-J||FJJL-J|7|7F|
-.F--|LFLJ-||L-7F-7|F7F7FF--JF7F-7L-JF7LF7JF-7L---7|FJF7|||F-J|||JFJ||L-7L-7||FJ|FJLJF-7||FJFJF-JL7LJ7F7|FF7F7F-7F7F----J|FJL--JLJ|LJ7.7FLJ-7
-LLL-J7L7L-LJF-J|FJ||LJL7|F--JLJFJF--JL7|L7|FJF---J|L-JLJLJ|F7||L7L7|L7FJF-J|||7|L---JFJ||L7L7|F-7|F--JL7FJLJ|L7LJ|L-----JL7-|77F-7-JFF-7-F7-
-|L|-JL|7|L|.L--JL7|L7F7|LJF---7L7L7F--J|FJ|L7L---7|F7F---7LJ||L7L7|L7|||L-7|||FJF---7|.LJ-|FJ|L7||L---7|L--7L-JF7L-------7L-7F7L7L7JLL-J--JJ
-7|F7|FJ77-F------J|LLJ|L--JF-7|J|FJL---JL-JFJFF7FJLJLJF7FJLFJ|F|FJL7||L7F-J|||L7L--7LJF7F-JL7L-JLJF---JL--7L---JL-------7L--J|||L7L7FLL|7LFJ
-7-FJLJ.F77L7F7F-7FJF--JF--7|FJL-J|F--7F---7L--J||F7F7FJ|L-7|FJFJL7FJ|L7|L7FJLJJL7F7L--J|L-7FJF7F7FJF--7F-7L---7F7F-7F-7FJF7F7||7FJFJ-.F-L7|7
-L|||.|-LL-|LJ||FJ|FL---JF-J||F7F7|L-7|L--7|F7F7|||||LJ-L7FJLJ-L7FJL7|FJ||||LF7F-J||F7F7|F-JL7|||LJFJFFJL7L-7F7LJ|L7||JLJFJLJLJL-JFJF|-L|FJJJ
-77|7-J-|FFL7FJ|L7L7|F---JF7|LJ||||F-J|F-7|||LJLJ|||L7JF7||F----J|F7LJL7|FJL7|LJF7|||||||L---J||L-7|F7L7FJF-J||F7L-JLJF7FJF-7F7F--JLJ|FFF-L|J
-LF7|F-7F-JFFL-JJ|FJFJF7F7|LJF-J|LJL-7|L7|||L---7||L7L7||LJL-7F-7LJL7F-J|L7FJ|F7|||||||||JF7LFJL7FLJ|L7LJFJF7|LJ|F7F7FJLJFJ.LJLJF77JL-7-F7.|.
-.LL-JJ.FJ7LLL-|LLJ-L-JLJ||F7L-7|F---JL-JLJ|F7F7||L7L7LJL--7FJ|-L7F-JL-7L7LJ7||LJ||||||||FJL7|F-JF-7L7|F7L-JLJF-J|LJLJF--JF7F7F7|L7.||JLL7-L7
-JF|J.L7|.7-LLF-7F7FF7F--J||L-7LJL--7LF7F7JLJLJLJL-J-|F----JL7|F-JL---7L7L--7||F-J|||LJLJL-7|||F7L7|FJ||L--7F-JF-JF---JF7FJ||||||FJ7|JFF7-J.7
-.LJJFLLL---|-L7LJ|FJ|L--7||F7L-----JFJLJL------7F7F7LJF---7FJ||F7F7F7L7L7F7||||F7|LJF-----JLJLJL-J|L7|L--7LJF7L7FJF-7-|||FJ|||||L7F7-|--J-F-
-|J.F|-JJJLF77FL-7|L7|F--J|LJL-7F7F-7|F--7F7F7F7LJLJL--JF--J|FJ|||||||FJF||LJ||||||F-JF----7F--7F-7L-JL7F7L--JL-JL7|FJFJLJL-JLJLJFJ||FL.|.-7L
-|7FJLF7L|F.L|7F7|L7|||F--JF---J||L7LJL77LJLJLJL7F-7F---JF7FJ|FJ||||||L7FJL7FJ|||LJL7FJF--7||F-J|LL---7||L---7F7F7LJL7L7F7F---7F7L-JL7J7FF7|J
-JJ-LF|-77.FF7FJ|L7LJ|LJF-7L-7F7|L-JF-7L-------7|L7||F7F7||L-JL7|||LJ|FJL7FJ|FJLJJF-J|FJF7LJ|L-7|F----JLJF--7LJLJ|F--JFJ|LJF7-LJL----J7L-FJ7J
-|-L-J.L|LJF||L7L7L-7L7FJFJF7LJ||F--JLL--------JL-J|LJLJLJL-7|L|||L77||JFJL7LJF---JF-JL7|L7FJF-J||F-7F7F-JF7L---7|L-7FJFJFFJ|F------7|F.|JLJ7
-L.LL7J-JFFFJ|-L7|F7L7|L7|FJL-7LJL--7L|F7F7JF--7F7FL7F-7F--7L-7LJL7L7||7L7FJ|-L7F-7L7F-J|FJL7L-7|LJ-LJ||F-JL----JL-7LJFJ-FJFJ|F--7F7|-J7F--J-
-|-F-||7F--JFJF-JLJL7||F||L--7L7F7F7L7FJ||L7|F-J||F7LJJLJF7L--JF7||FJ||7FJL-7.LLJJL7|L--J|F-JF-J|F7F7FJ|L-7F------7|F7L-7|FJFJL7J||LJ|7FJ|.LJ
-.JJ7LFLL7F7|JL--7F7LJL-JL-7-L7LJLJL-J|FJ|FJ|L--JLJL7F7F-JL----J|FJL7LJ-L7F-J7.LL-JLJF---JL7.L--J|LJ|L-JF7||F7F---JLJL7FJ||||F7L7|L7LL-J.JF|J
-|--7|.L.LJ|L-7F7LJL---7F7FJF7L-------JL-JL-JF------J||L7F------JL-7|J|LL|L-7-|F--FF-JF--7FJF---7L-7|F7FJLJ||LJF7F---7LJFJL-J||FJL7|||||F.FFF
-F.||-|7.F7L-7LJL7F7F7|LJ||-|L---7F7F7F7F---7L7F7F7LFJL-JL-----7J|.||L|7L|F7|-JJJ.LL--JF7LJLL--7L-7|||||F--JL7FJLJF--JF-JF-7FJLJJFJ|J77-7FL7J
-LJ-FFJJ.||F7L--7LJ|||F--JL7L7F-7LJLJ|||L-7LL-J|LJL7|F--7F-----J-L7LJ7-|JLJ||.LJ|F|LFF7||F77F-7L-7||LJLJ|F--7LJF-7L---JF7L7|L--7-L7|-FL---L-J
-7F-J|7.FJLJL-7FJF7LJLJF7F7L7LJFJF7F7LJ|F7L----JF-7LJL-7|L------7LFJ|.-JJLLLJ7L-7-F--JLJLJL-JFJF7|LJF--7|L-7|F7L7L-----J|FJL7F7L7.LJ7-7J|F|.L
-.|L|F-7L----7|L-JL7F7FJLJL7L7FL7|LJL-7|||F7F-7FJFJF-7FJL--7F---JFL7-7.F--|-JJFL.LL--7F-----7L-JLJF-JFFJ|F-JLJ|FJ|F-7F7-LJF7LJL7L77J|J7-77|.|
-L.|J|FJFF---J|F--7LJ|L7LF7L7|F7LJF7F7||||||L7|L7L7L7|L---7LJF--7F7J7FFJ7F7|J.|.|JLF7LJ7F7F7L7F7F7|F-7L-JL---7LJF7L7LJL--7|L--7|FJ-.F-JJFJF-J
-|.7|L7JFJF7F7LJF7L--JFJFJL-J|||F-JLJLJ||||L7||FJFJFJ|F7F-JF7L-7LJ|J7FF-J7|L--L77F-JL---JLJL-J|LJLJL7L7F-----JJFJL-JF-7F7LJF--JLJL|7|.FF--J-|
-J.LLJF7L-JLJL-7|L7F7FJFJF--7LJLJF--7F7LJLJ7LJ|L7L-J.LJ|L-7|L7FJF-J-7LJ-JL|L--77FL7F7F---7F7F7|F-7F7L7|L-----7FJF7F7|7LJL-7L---77F7LL-F7J7.F7
-L.|L-|L7F7JF--J|FJ||L7L7|F-JF7F-JF7LJL77F77F7L-JF--7F7L--JL7LJFJ||-L-J7.F-.|--7FFJ||L7F-J|||||L7LJL-J||F----J|FJLJLJF---7L----JF-7JLJLJ.FFLJ
-JF|FLL7|||FJF-7|L7||FJLLJ|F7|||F-JL---JFJL-JL7F-JF7|||F77JF|F7L-77-F7L-FF.FF7.--|FJL-JL7FJ||||FL--7F7L-JF7F7||L----7|F--JF--7-F7-L-.7--7J7JJ
-LL|FF7||||L7|FJL7|||L7F7FLJ||||L7F---7.|F----JL7FJ|||LJL7FFJ|L--J7-|J7LL-.LJ--..LJF----J|F||||F---J|L--7|LJL-JF----J|L---JF-JFJL77LFJ-||J|J7
-|LLFJLJLJL-J|L7FJ||L7||L---J||L7||F--JFJL----7FJL7LJL7F7L7L7L7F7F7J.FFFJL-JJ|LJ-L|L-7F7FJFJ|LJL----J-F7LJF----JF--7||F----J.FJF7L-7J.FF|-L-J
-|7.L-7F--7F-JFJL7LJ-LJL-7F--J|FJLJL---JF7F7F-J|F-JF-7||L-J-L7||LJ|J-FJ|7F|..F7JJLLF-J|LJ7L-JF----7F7FJL--JF----JF7L-JL---7-FJFJ|F-J|LJ7LJJ.L
-.FLLL||F-JL-7L-7L-7F-7F7LJF--J|F7F-----JLJLJF-JL-7L7|||LF7F-JLJF-JFF7JLL7|F-7J|||LL--JF-7F7.L-7F7LJLJF-7F-JF--7FJ|F7F7F-7L-JFJJLJ.|7|||.F-7|
-F-.L.LJL7F7FJF-JF7|L7LJL7FJF--J|||F------7F7|F--7L-JLJL7|LJF7F-J|7L||F7JL77.LLF--J|LFLL7|||F-7LJL----JLLJF-JF7LJFJ|LJLJ|L-7FJ7.F7FF-F7|F-F|J
-L|.|7|FFJ|||JL7FJ||-L--7|L-J.F7||LJF7F7F-J|||L-7L7F7F-7LJF7||L--77J|LJ|-F7F-FFLJ|-F-7F-JLJLJFJF7F7F---7F-JF-J|F7L-JF7F---7|L-7FJ|FF7|L7-7FJ7
-.|.-7-F|FJ|L77LJJ||F---JL----JLJL--JLJLJF7|||F-J.LJLJ7|F-JLJ|F-7L77L-7|.LLJF-77JFFL7|L-7F7F7L-JLJ|L--7|L--JF-J|L-7.|LJF7FJL--JL7L-JLJFJF7.J7
-L7.|-F-J|FJFJJ-LLLJL7F7F7F---------7F-7FJLJLJL---7F7F7LJF--7||FJFJF--JL7L|7|FJF7FF-JL-7LJLJL----7|LF7||F---JF7|F-JFJF-JLJF7|F7||F----JF|JF7|
-.J-.L|F7||FJJ|7-|.J|LJLJLJF-----7F-JL7||F7F7F7F-7LJLJL--JF-J||L7|7L-7F-J-FFJ|FJL7L---7|7F7F77F--JL-JLJLJF7F7||||F7L7|F7LFJL7|L7||F-----77LL|
--J.JJLJLJLJ7.|FFJ7-F------JF---7|L---JLJ|LJLJ|L7|F-----7FJF7LJLLJ-LFJL7J-FL7LJF-JF---JL-JLJ|FJF7F-7F----JLJLJLJLJ|FJLJL7L7FJ|FJ|||F-7F-J7.JJ
-LFL7L||JL|.FJJ7J.7.L-------JF--JL------7L---7L7||L----7LJFJL7F7-|LFJF7L7F7FJF7|F-JF-------7|L-JLJFJ|F-----7F-7F--J|F--7L-JL-JL-JLJL7LJ|L--|.
-F-L7.LJ7LJL|JL7FFJ7LLF7LF---JF7F7F----7L----JJLJL7F7F7L--JF-J||F-7L-J|FJ|||FJLJL--JF------JL----7L-JL----7LJFJL--7|L-7|F7F7F7F7F--7L7L7-LFL-
-|.||.FF7.F-L-F7F7F-F-J|FJF--7|LJLJF--7L---7F-7LF7LJ||L7F--JF-J||FJF7FJL7|||L---7F7LL7F-7F7F---7FJFF-7F7F7L-7L7F-7LJF-J|||||||||L-7L-J.L7J.|7
-FJF|JF|JFL-J-|||L7-L-7LJFJF7LJF7F7L-7L----J|FJFJL7F|L7|L--7|F7||L-JLJF7LJLJF7F-J||7LLJFJ|||F-7||F7L7||LJL--JFJL7L--JF7LJLJLJ||L7FJF7J7||FF.-
-|L-||-J7JL7LL|LJFJF77L7FJFJL--JLJL--JF7F---JL-JF7L7|FJL7F7|LJ||L-----JL7F--JLJ|FJL7J.FJFJLJL7LJLJL-JLJF7F--7|F7L----JL7F7F7JLJFJ|F||-J|-7J-J
-FFLJ77.77-JJJ|F7L7||F7||FJF7F--------JLJF------JL-JLJF7LJ|L7FJ|F7F7F7F7||F---7FJF-JF7L-JF--7L7F7F7F-7FJLJF7||||F---7F7LJ||L--7L-JFJL7.|.J|||
-L-77L-7|-J..-LJL7|||||LJL-JLJF----7F7F7FJF----77F--7L|L-7|FJL7||||LJ||LJLJF7FJL7|FL|L--7L-7|FJ|||||LLJFF-JLJLJ|L7F7|||F7LJF--JF--JF-J.|..FL7
-|L---|J.L.77-FF7|||LJ|FF7F-7FL7F-7LJ|||L-JF--7L7|F7|FJF-J||F7|||LJF-JL-7F-JLJF-JL7-L--7L--JLJFJLJLJF7F7L---7F7L-J||LJ|||F7L---JF-7L7F7--7.L|
-F-J--JJ-L|L|-FJLJ|L-7|FJ||FJF7LJFJF7LJL-7FJF-JFJ||LJL7|F7LJ||||L7FJFF--JL-7F7L7F-JF-7-L7F---7|F7F7FJLJL77F-J|L7F-JL-7LJ||L7F7F-J|L-J||JL-7.|
-J|.FJJL.LJ-J.L--7L--J|L7|||FJL77L-JL---7LJ7|F7L-JL7LFJLJL-7||||FJ|F7L-7F--J||FJL-7L7|F7LJF7FJ||LJLJF7F7L-JF7L7||F---JF7||7LJ|L------J|77L|--
-LF7FF7-7FF7L-J.LL7F-7L7|||||F7L-------7L--7LJL-7F-JFJF7F--J||||L7LJ|F7|L7F7|||F--JFJLJL7FJ|L-JL7F-7|||L7F-JL-JLJL---7||LJF7|L7F------JJ-F--7
-.L-7L7-L-||7|F7F-J|7L7LJLJ|LJL-7F7F7F7L7F7L77F-JL7FJFJLJF7FJ||L-JF-J|||FJ|||||L--7L---7|L7|F7F7LJFJ|LJ7LJF--7F------J||F-JL-7|L----7F|J-JFF|
-FFLJJ|L|-F-7-||L7FJF7L---7L7F7LLJLJLJL7LJL7L7L-7FJL7L7F7|LJFJL-7FJ7FJLJ|||||||F-7|LF7FJL7|||||L7|L-JF----JF7|L-------JLJF-7FJ|F-7F7L-777L-FJ
-F--J-L-F-JFJ-|L7|L7|L----JFJ||F7.F7F-7L--7L-JF7||F-JFJ|||F-JF-7|L-7L--7L7|LJ||L7LJFJ|L7FJ||||L7|F7F7L-----J|L7F7F-7F-7F7L7|L7|L7LJL7FJ.L-L-F
-|-L|||F|F7L7.L7|L-JL-7F7F7L-JLJL-JLJL|F--JF7L||LJL7FJJ|LJ|F7|FJ|F-JF7-L7|L7FJL7L7FJFJ-||FJLJ||||||||F7FF---J-LJLJF|L7||L7||FJL7L-7L||LJ7F7J|
-|.|L-7FLJ|FJF-J|F7LF7LJLJL---7F7F---7LJF7FJ|FJL7F-J|F7L-7||||L7|L-7|L-7|L7||FFJFJL7||FJLJF--JFJLJ||||L-JF--------7L-JLJ7|||L-7|F-J.LJ--F||LL
-|-FJLF---JL-JF-J||FJ||F7F---7LJLJ7F-JF7||L7|L7FJL-7LJL-7|LJLJFJ|F-J|F-JL7||L7L7L7FJL7L7F-JF77L7F-J||L---JF-------JF-7F-7LJL--JLJJ.FJ-F-JLF-J
-|-L.FL-7F-7F7L7L||L7|FJ|L7F7||F7F7L-7|LJL-JL7|L7F7L7F7FJ|F---JF|L7J||F7FJ||FJ-L7|L7FJFJL-7|L7FJL7FJ|F----JF7F7F7F7L7LJFJFF7F7F7|F----7JJLLJ.
-|7|FF-L||JLJL7|FJ|FJ||FJFJ||L-JLJL7FJ|F-----J|FJ||FJ|LJFJL7F7F-JFJFJ||||FJ||F7FJ|FJL-JF--J|FJL7FJL7|L-----JLJ||LJL-JF7L--JLJLJL-7JJ-F|...JLF
-J-7-|JFLJF7F7||L7|L7||L7L-JL-----7|L-J|F---7FJL7|LJFJF7|F-J||L-7L-JFJ|||L7||||L7||F--7L-7FJL--J|F7||F-7F7F7F-J|F----JL----7F----J-|.J-|..||.
-J.L-LJ-LFJLJLJL7||FJ||FJF7F7F-7F7|L-7FJ|F--JL-7|L-7|-|||L7FJL7||F--JFJLJFJ|LJ|FJ|LJF7|F-JL--7F7|||||L7LJLJLJF7|L-77F77F7F7LJ-F7-F77FL7J-LJ--
-LF.|LJ|LL-----7|||L7|||FJLJ|L7LJLJF7LJ-|L-7F--JL-7|L-JLJFJL-7L-JL7F7|F--JF|F-JL7|F7|||L--7F7|||||LJ|7L7F-77FJLJF7L-JL-JLJL---JL7||JFJ|-|-|.J
-F|--.JJLLF----JLJL-JLJ|L--7|-L7F-7|L7F7L7FJL--7F7LJF----JF-7L--7FJ|||L-77FJL-77||||||L7F-J||LJ|LJF-JF7LJFJFJF7FJ|F7F----7F7F7F7||L7LF7F||F-|
-LJFL-|L7.L--7F-7F7F7F7|F7FJ|F7LJ-LJFJ|L7|L7F--J|L--JF---7L7|F7FJL7|LJF-JFJF--JFJ||||L7|L7FJ|F7L-7|F7|L7FL-JFJLJLLJLJJF-7LJLJLJ|LJFJ-.J7LL7L-
-|.|J-7-J-F--J|FJ|LJLJ||||L7LJL-7F7FJ7L7||FJL--7|F7F7|F--J-||||L7FJL7FJF7L7|JF7L7||||FJ|FJL7|||F7|||||FJF7F7L7F--7F7F7|FJFF---7L-7||L-FL--|7J
-LFJ.||..FL---JL7|F---JLJ||L---7||LJF7FJ||L-7F7|LJ||||L7F7FJ||L7|L7FJL7|L7|L7|L7||||||FJ|F7||||||||||||FJ||L7LJF-J|||LJL--JF--J-LLJJ7FFJ-FF-7
-FJFFF-F77LF---7LJL----7FJF7F--JLJF-JLJ-|L-7|||L7FJ|LJFJ|||FJL7||FJ|F-JL7|L7|L7LJ||LJ||F||||||LJ|||||||L7LJFJF7L--J||F-----J.F77F7|LF7F-7LJ||
-LF|7-L|L-7L--7L7F7F---JL-JLJF-7F7L-7F--JF-J|||FJL7L7FJFJ|||F-J||L7|L7F-J|FJ|FJF7||F-JL7LJ|||L7FJ|||||L7L-7L7||S7F7LJL-------JL-J|FFF-JFJ|-7|
-LJJ|J|L7FJ-F7L7||||F7F7F---7|FJ||F7|L7F7L-7|||L7||FJL-J-LJ|L-7||FJ|FJ|F-JL7|L-J|||L7F-J|FJ|L7|L7|||||.L7FJFJ||||||F7F-7F--------JF7L7FJJ||LL
-F|L|LF-JL--J|7||||LJLJLJF--J||FJ|||L7||L7FJ|||FJFJL----7F-JF-JLJL7||FJL-7FJ|F7FJ|L7||JF-JFJFJL7|||||L7.|L7L7|||||LJ|L7|L---------JL-J|--.|||
--|JJFJF--7F7L-JLJL------JF7FJ||FJ||FJ||||L7|||L7L-7F7F7|L-7L--7F7LJ|L7F7LJFJ||L7L7||L7L7FJ7|F7|||||L7L7L7L7|||||L7FJFJL----------7F7FJFF7J77
-LJ.LL-JF-J||F7F-7F------7|LJFJ|L7|||||L7|FJ|||FJF-J|LJ||F7|F-7LJ|F-JFJ||F7|FJ|FJFJ|L7L7|L-7LJ|||||L7L7|FJFJ|||||FJL7L-----------7LJ|L--7J.77
-FF|7LF7L7FJLJ||FJ|F-----JL77L7|FJ|||FJFJ|L7||||FJF7L-7LJ|LJL7|F7||F7L-JLJ||L7|L7L-JFL7||F7L-7|||||FJFJ|L7|FJ|||LJF-JF-------7F-7L-7|F--JL|L-
-FL|JFJL7LJ-F-J|L-JL7F7F7F7|F-J|L-J|||FJF|FJLJ||L7||F7|F7L-7FJLJ||LJL7F7F-JL-JL7L7FF--J|LJL7FJ||||||FL7L7||L7|||F7L-7L------7|L7L-7|LJ7-J7|.|
-LFL7L-7L---JF7|F7F-J|||||LJL-7|F--J||L-7||F--J|FJ|LJLJ|L--JL--7|L7F-J|||F--7F7|FJFJF7FJLF7||FJ|||||F-JFJLJ-|||LJ|F-JF7F----JL7L7-LJJ.F-J|JF-
-FJ|L|LL7F7F7||||LJF7|||||F---J|L--7|L7FJ|||F-7|L7L-7F-JF7F7F7FJ|FJL7FJ|LJF7LJ|LJ7|FJ|L-7||||L7|LJ|||F7L-7F-J||F-J|F7||L-----7L-J-JJ|-7|J|J|J
-J7|LFJFJ|LJLJ||L7FJLJ||LJL-7F7L--7|L7|L7||||-|L7L7FJL-7|||||LJFJ|-FJL7L7FJ|F7L--7LJFJF7LJ||L7||F-J|LJL7FJL-7|LJF-J|||L7F7F-7L---7J.L7||7|-77
-FJJF77L7|F---J|FJL7F7||F---J||F7FJ|FJ|FJLJLJFJFJFJL7FFJ||||L-7L7L7|F7|FJL7|||F--JF7|FJL7FJ|FJLJL-7L-7FJL-7FJL-7L-7|||FJ||L7L----J77-J7|L|J.7
-F-FJL|-||L7F-7|L--J|LJ||F7F7|LJLJ-||JLJF7FF7|FJ||F7L7L7|||L7FJFJFJ||||L7FJLJ|L-7FJLJL-7|L7|L7F---JF-J|F7FJ|F7FJ|FJ||||FJL7L--7F77J|FFFJ7|7.|
-L7JL|L-LJ7||FJ|F---JF7||||||L--7F7|L--7|L-JLJL-7LJ|FJFJ|LJL|L7L7L7||||FJL--7|F-JL-7F7FJL-J|FJL-7F7L-7LJLJFJ||L7FJFJ||LJ|-L7F7LJL7-F|--LJJLF-
--|||.LLL7F||L-JL--7FJ||LJLJL7F7LJ||F7FJL7F-7F-7L-7LJFJFJJF-JFJ|L-JLJ|||F-7FJ|L7FF-J||L---7||LF-J||F7L7F7-|FJL-JL7L7|L--7F-J|L7F-J-|LJ.LJ7.||
-LL7L-J|-7-LJ|-F---J|FJL--7F-J||F7||||L7FJ|.||FJF-JF-JFJF-JF7L----7F-J||L7|L7L7L7L7FJL7F7FJLJFJF7|||L7LJL7|L--7F-JFJL-7FJL-7|FJ|JJ.L-7|J.7-F|
-.|LFL7JF-JL|7FL----JL7F--JL7FJLJ||LJ|FJL7|FJ||FJF-JF7L7L-7||F7F7FJL-7|L-J|FJFJFJFJ|F-J|||F7J|FJ|||L7L7F-JL7F7|L-7|F7L||J7FLJ|FJ--|7LFJ.J|FJJ
-FF77-J7FJFL7-L.F-----J|F7F-JL7F7|L7FJ|7FJ|L7||L7L7FJL7|F-J|||||||F--J|-F7LJFJFJJ|FJ|F7||LJL7LJFJ|L7|FJL-7FJ||L7FJLJL7||FL|.LLJJ-J|F7L|FJ7JL7
-|JFJ-F7JFFF7.LLL--7F-7|||L7F7LJ||FJL7L7L7|FJ|L7|FJ|F-J||F7|||LJ||L7F7L7|L-7L7L-7||FJ||||F-7L-7|FJLLJ|F--JL7||FJ|F7F7|||JJL7|L-|-77L77|7-F7.|
-7-L7.FFJL-|L-FLLJ|||-LJ|L-J|L7FJLJFLL7|LLJL7|FJ|L7||F7||||||L-7||FJ|L7LJF7L7|F7||||FJ||LJ7|F-JLJ-LF-JL777||||L7||||LJLJJ7-LLJF7LJL|J7LF-|7.7
-|.JJF|J.L-JJF-7..FLJ77FJF7FJL|L--777.|L7JL-LJL7L7LJLJ||LJ|||F-J||L7||L7FJ|FJ||||LJ||FJL7-FJL-7.L--L7F-JJ-FJ|L7|||LJJL|.LF7.F|J|7J.J7|JL-F-JJ
-|7|F7J-F--7-JL|--|JJF-JFJ||F-JF--J||-|FJ.J7J.FL-JF-7FJL-7|||L-7||FLJF-JL7|||||||F7||L7FJFJF-7L7-7LL||LF|||FJ-LJ|L7JFF7J.LJ-|7-F-.7J7..F7LF77
-LJ|.LJF-7.J7.|||F|-FL-7L7||L-7L-7JFLFLJJ7F|7F|FF7L7LJF7FJLJ|F7|LJF--JF7FJLJFJ||LJ|||-||FJFJ-|FJ.|77LJ7-F-LJL-.LL-JFJ.|JL.|7LJ.JL-LJ|F.F7JL7J
-L7|7.FL.F7LF-LJJJ|..L-L-J|L7FJF-JF77.L|JFJ.FF--J|FJF7||L--7LJ|L7LL-7FJ|L--7L7||F-JLJJLJL7||L||7.LF-JFLLF7.LLJ-7L7LJ-L7-7F-77|FJ.LJ7|.7||F-F.
-F7J|-LLJF-7L-||7F7-7F-JFLL-JL7L--J|7|-|LFLJ-L--7LJFJ||L--7L-7|FJF--J|FJF7FJJ|||L77-LFL-LLJJ-LJJ77.FL|.F77F||LL7LJ7J|F|JL--J-F7--7FJ.L|F-7FJ7
-FL7|L|.F7JF-.LFL|LJFL|-FJJ|LLL7F-7L-7|LF77||LL-|F7|FJL7F7|F-J||F|F-7||FJ||JL||L7L7J7|L.L|7.L||LFFJ7-777||LJF7|LJF--7---F|7L7LJ7|LJ-F.LL7J7L|
-L.F|-L--F-|JFF7F|--7.L--..J.LFJL7L-7|7FJJL|-7J.LJ||L7FJ|LJ|F-JL7LJFJ|||FJ|JFLJJ|FJ-J7FF---|F77.FJFL.LF-LJ-LFJL-7-7FF7J7|L-.LJLF--|.-.|JL7F7L
-.-J|||FFJ-JFFJ.LJLL-JFL|LFJ7J|F7L7LLJFJJJ-|.7.-7FJ|FJ|-L7FJL7F7L-7|FJ|||FJ.7||LLJJJJ|L7LLJL-JJ.JFJ7J.L|7J.FL|.7J.F7LJ.JL777.|F.LFLJJF-7F|LLJ
-7F-L|-7L|JLF|7JF|.F|.L7FJJ.FFLJ|FJFJ.LJ.7|F-J-JFL7|L7L7L||F-J|L7FJ||-||LJJ..77|-J-.-FLJ7F-7F|7||7-L.FJLJF7J.J.LJ|L|7J-|F.F-FLJ||.|J.7.F-L.||
-||7JL-JJL7.F.-.FLF-|-7L7J||-|J-LJ-L-F.|FJ-|-|LLJ.LJJL-J-LJ|F-JFJ|F|||LJ-LJ--JLF-FF7L|J|7|F|LFJL7|F|-|-F-JJ..|.|..FL-.L-.FF--7L|-F7.L|.-J7LL7
-7.77.FL-JJFFJ7.77JLL.F7L7FF7-7.LJ.FF77F-J||.||.F|J7F||JFJLLJ-LL7L7LJ-L.FJ77.|.JLLL-JJF--|F|-L-FF7LJ.|||LLF-77-L7--7LFF-7.|L7|-----7.J-FF7|-|
-.LLLF|F77F-JLF7-J-|LF.F-F|J|L7-JJ-J-J-7-7-7|JJ-|7-J-LF7L|-J|7|FL-JLJJ|7FJF7LJ.L-7.L7-L|FJJJ-|7|L|-J-J-77LL.F-7-|7LF.7JL-F7|-|LJ..F|7-F7LF7FF
-FJ|L7JLJ-L...L|J..J7L7|FJL7--7|..||||FL--7L7.L-||.JJFJJ|F-LJ7|JJ||LF7L7JJ|L|.|.LFJLL7.-|JJ|FF-|||FL-JFJ|F7-|-J--|7LFJ77F|JL7L7LF-|FJ7J|.|FJ-
-J.FJ|LLJLL-|-.LL-L-|LJ-LL-L-JLL-.-JJL7-7J|LJJ7.-|JJ--L-J.FLJ-|L7--.-J-L--JLLFJL-FJ.|J.LJJLLLJ-J-L7-LL7JL-|JLJ-LLLJ-LJ|JFF7J..-7J-LJ..7.FFJJJ \ No newline at end of file
diff --git a/aoc2023/src/day11/input.txt b/aoc2023/src/day11/input.txt
deleted file mode 100644
index c86cc92..0000000
--- a/aoc2023/src/day11/input.txt
+++ /dev/null
@@ -1,140 +0,0 @@
-..............#..........................#.....................#.....#...................#..................................#...............
-.............................#.........................................................................................#..........#.........
-#......................#.................................................#.....................#...........#................................
-......#..............................#........................................#.............................................................
-................................#...........#.........#.............................................................#.....#..........#......
-..................#...................................................#...................#.................................................
-............................#...............................................................................................................
-........#.....#...............................................................................#...............#.............................
-#...................................#.....#.........................................#.....................................................#.
-..........................................................................#........................#..............#........#........#.......
-.....#.....#.............#.......................#..........................................................................................
-..............................#.............................#....................#......#...................................................
-............................................................................................................................................
-.......................................#....................................#........................................#......................
-.......#................................................#..............#............................#.......................................
-................#.................................................#.........................................#...............................
-.....................#.........................#.....................................#......................................................
-...............................................................................................#..................................#.........
-.#......................................................................................................................#...................
-........#...................................................................................................................................
-...............................#...........#.............#...............................#...........#...................................#..
-.............#.....#.............................................#.....#......................................#.............................
-............................................................................................................................................
-.......................#...........#.................#..............................#....................................#..................
-...............................................................................#.....................................................#......
-..#......#.............................#............................#..................................#........................#...........
-.............................#..........................#......#...........#................................................................
-....................#.........................#..................................................#..........................................
-......#............................................................................................................#........................
-...........................................................................................................#................#...............
-#..............#...................#.............................................#........................................................#.
-.........................................#.........................................................#........................................
-.....................#............................................#.....................#...................................................
-.................................................#......#...................................................................................
-.........................................................................................................#..............#.......#...........
-...............................#..................................................................................#...................#.....
-..........................#.........................#...........#..............#..........#..................#..............................
-..........................................#.............................#...................................................................
-............#......#................................................................................#.......................................
-................................................................................................................#.....#....................#
-...#.........................#................#...............................................................................#.............
-......................#..................................#.............................#...................#................................
-.......................................................................#.....#.................#............................................
-.......#..................#.........................#....................................................................................#..
-..........................................................................................#....................#............................
-........................................#........................#.....................................................#....................
-...................#.....................................................#.......#.............................................#............
-..............................#.................#...........................................................................................
-..#..................................................#......#................#.............................................#.........#.....#
-...........#..................................................................................#.....................#.......................
-.....................................................................................................#...........................#..........
-................#......................#........................................................................#...........................
-............................................................................................................................................
-.......#..............#............#............................#......#................#.....................................#.............
-............................................#........#.........................................#............................................
-..............................#..............................................................................#.......................#......
-............................................................................................................................................
-....................#............................................................#..............................................#...........
-......................................#..............................................................#...................................#..
-..........#.....................#.......................................#..............#....................................................
-............................................................................................................................................
-....#.....................#..................#......#.......#.................#...........................................#.................
-....................................#.........................................................#....................#.............#..........
-....................................................................................................#.......................................
-.................................................................#........................................#.................................
-..................#...................................................................................................#.....................
-.........................................................................#......................#...........................................
-#......................................................#...........................#............................#.........#.................
-...........................#............#..........................................................................................#........
-..................................................................#......................#..................................................
-................#................................#...........................#..............................................................
-........#.....................................................................................................................#.............
-...................................#........................................................................................................
-.......................#.....#................................................................................#.............................
-.#...........#...........................................#.................#....................#...........................................
-..........................................................................................#............#................#...................
-..........................#..........#......................................................................................................
-.....#...............................................................................#.....................#.....................#..........
-............................................................................................................................................
-..........#............#................................#.....................#..................................#..........................
-...............#...................#.........................#....................................#..................................#......
-............................................................................................................................................
-...........................................................................................................................................#
-...#.....................................................................................................#..................................
-......................#.............................#..........................#..............................#.............................
-..........................................#...................#..........#..........................#...............#.......................
-..............................#.....................................................................................................#.......
-.........................................................#................................#.................................................
-...............................................#............................................................................................
-..........#...........................#..............#..........................#.........................#...................#.............
-#.....................................................................................#.....................................................
-.....#............................................................#..........................#.................#............................
-...........................#.......#..............#.................................................................#.......................
-.......................................................................................................#....................................
-........#..........#.....................#..................#......................#......................................#...............#.
-.............#.........................................................#....................................................................
-................................................................#...........................................................................
-.....#.................#.................................................................#......................#.....#..........#..........
-................................#......#.............#.........................................#.....#......................................
-...........................................................................#.........................................................#......
-..........#................#................................................................................................................
-.................................................#..............................#..........................................#................
-.....................................................................................#.................#.........#..........................
-.......................................................................#....................................#............................#..
-...............#......#....................................#................................................................................
-.........#...............................#..........#..........................................................................#............
-...............................................................#.................#.........#.....#......................#...................
-............................#.....#.........................................................................................................
-......#..........................................#.......#...........................................................................#......
-..............#...................................................#........................................#......#.........................
-.............................................................................#..............................................................
-.....................................#................................#................................................#....................
-..........#..................#..............................#.............................#.................................................
-....#.....................................................................#......#............................................#.............
-......................#.................................#..............................................#....................................
-.............#..............................................................................................................................
-..........................................#......#...............................................#..........#...............................
-.........................#......#.......................................................#...............................................#...
-...........................................................#.................................#...................#..........................
-...#...............#..................#..............#....................#...........................................#.....................
-.....................................................................#...........#..........................................#......#........
-..............................#...............#.................................................#......#....................................
-........#.....#.............................................................................................................................
-#........................................................#.............................#.......................................#.......#....
-....................#..................................................#....................................................................
-..........................................#......................#..........................................................................
-.........................#...........................#.............................................#............#.........#.................
-.....................................................................................................................#..............#.......
-..........#...................................#............................................................#..................#.............
-.....#..........#...................#........................................#..............................................................
-.....................................................................#.........................#.......#....................................
-......................#......#..............................................................................................................
-.#......#...................................................................................................................................
-.................................#....................................................#...........#......................#...............#..
-.................#..................................#.........#.........#...........................................................#.......
-..............................................#..................................#..........................................................
-...........................#..........................................................................#.........#...........................
-..........................................#.................................................................................................
-.....................................#...........#..................#.........................................................#.............
-..................#....................................#.............................#...........#........#.............#................... \ No newline at end of file
diff --git a/aoc2023/src/day13/input.txt b/aoc2023/src/day13/input.txt
deleted file mode 100644
index 3113249..0000000
--- a/aoc2023/src/day13/input.txt
+++ /dev/null
@@ -1,1379 +0,0 @@
-##..#..#......#
-.........#..#..
-.####.#.######.
-#....#.###..###
-..##..#.#.##.#.
-######...#..#..
-#.##.#.#.#..#.#
-#....#..######.
-.#..#...#.##.#.
-#....#....##...
-.#..#.#..####..
-......#.######.
-##..##.#.####.#
-
-.#...##..
-..##.#.##
-.#.###...
-###..#.##
-##.#.####
-..#.#..##
-.###...##
-.#...#.##
-#####.#..
-...#..###
-###.##.##
-####...##
-####..###
-###.##.##
-...#..###
-
-#####...####.#.
-##..###..#..#.#
-...#.###.....#.
-...#.###.....#.
-##..###..#..#.#
-#####...####.#.
-##....####.....
-#..##.....#..#.
-#..##.....#..#.
-##....####.....
-#####...######.
-##..###..#..#.#
-...#.###.....#.
-
-#..##...#
-#..#..###
-#..#..###
-#..##...#
-.##..#.#.
-.....###.
-#..#.##.#
-...#..###
-.##.#..##
-.##.#.#.#
-#####.#..
-
-######.#.#.#...
-.#..#.#.##...#.
-...#....#.#.#..
-#.##.#.#.....#.
-.......##.#.###
-#######.##.#..#
-......##...##..
-#.##.#....#.#..
-#.##.#....#.#..
-
-#...#..##..
-.##..######
-....###..##
-.#..#..##..
-.####.####.
-###.##....#
-.#..##...##
-###.#..##..
-#.#.#......
-.####......
-....#.####.
-..##..#..#.
-..#.#.####.
-..#.#.####.
-..##..#..#.
-
-#...#.#.##.#.#...
-###.#..#..#..#.##
-#...##.####.##...
-#.....#.##.#.....
-...#####..#####..
-##..#.######.#..#
-###.##.#..#.##.##
-...#..#.##.#..#..
-....#........#...
-#..##.#.##.#.##..
-#................
-
-...##.###.#
-...##.###.#
-##..#....#.
-##.....#.##
-#.##..#.#.#
-..##...#.#.
-...#####..#
-
-.##.##.#.##..
-#..#.#.#.....
-####.###..#.#
-####.####.###
-#..#.#####.##
-#..#.#....###
-#..#.#....###
-#..#.#####.##
-####.####.###
-####..##..#.#
-#..#.#.#.....
-.##.##.#.##..
-.....##.#.#..
-####..#.#.##.
-#####.#...###
-#####.#...#..
-#..#...####.#
-
-#..#.#...#...##..
-...#...#..#..##..
-#..####.#.#.####.
-..#####..#.##..##
-..#...####.##...#
-.#.#########....#
-.#.#########....#
-
-#..#...#.#.#...#.
-#.####...###.#.#.
-#.....##...##.#.#
-##.##....#....#..
-#.....##....#....
-..##.##.#...#..#.
-..##.##.#...#..#.
-#.....##....#....
-##.##....#....#..
-#.....##...##.#.#
-#.####...###.#.#.
-#..#...#.###...#.
-......#.#..##....
-......#.#..##....
-#..#...#.###...#.
-#.####...###.#.#.
-#.....##...##.#.#
-
-....#..
-#.##...
-#.###..
-#...##.
-.##..##
-.##..##
-#...##.
-#.###..
-#.##...
-
-##.##.#..
-..#..#..#
-...#####.
-..#....##
-##.##.##.
-##.##.##.
-..#...###
-...#####.
-..#..#..#
-
-...####.....#####
-.#......#.####..#
-.#########.##....
-####..#####.#####
-..######..#...##.
-#.##..##.#....##.
-....##....##.....
-#........#.#.....
-....##.....#.....
-...#..#.......##.
-#.######.##......
-.##....##.###.##.
-...####...#..#..#
-
-.#...###..###...#
-##..##.#....##..#
-.#.#.########.#.#
-.######.##.######
-.##.#...##...#.##
-.#...########...#
-.#.#...#..#...#.#
-#..#....##....#..
-#..####.##.####..
-#.##..##..##..##.
-..#...#.##.#...#.
-#..#..........#..
-#..#..........#..
-
-....#..###....#
-#..#..#..#....#
-#..##.....####.
-.##..#..#..##..
-####.###..####.
-###.#.##.#.##.#
-.##..#..##....#
-#####.###..##..
-####..#...#..#.
-#..#....#..##..
-#..####..##..##
-......#.##.##.#
-.##...#########
-.........#.##.#
-.##..######..##
-#..####..#....#
-.##.####..#..#.
-
-#..#.##...#.##.
-###.##.##.#...#
-##.########.#.#
-.#.#.##.#...###
-.#.#....####...
-.#.#....####...
-.#.#.##.#...###
-##.########.#.#
-###.#..##.#...#
-#..#.##...#.##.
-#..#.##...#.##.
-
-.##..####..##..
-####..##..#####
-.#.#.####.#.#..
-..##..##..##...
-#....#####...##
-####.#..#.#####
-##..........###
-#.#.#....#.#.##
-#...##..##...##
-.##.##..##.##..
-..##..##..##...
-....#.##.#.....
-###.######.####
-
-########..#.##.#.
-######..######.##
-#.##.#.#.###.###.
-#....#.#.####.###
-#....##..#..###..
-......##.##..###.
-..##..#..#.###..#
-..##..#.#.##...#.
-##..######..##..#
-##..######...#..#
-..##..#.#.##...#.
-..##..#..#.###..#
-......##.##..###.
-#....##..#..###..
-#....#.#.####.###
-#.##.#.#.###.###.
-######..######.##
-
-#.####..##..#
-#.#.#........
-.#.###...#..#
-#...#..##....
-...#.#.###..#
-#..####.#....
-#####.#..#..#
-.##..####....
-.....#...#..#
-##.#...#.####
-.....###.....
-###..##.#....
-.#..##.#.####
-#...#..#..##.
-##...#.......
-.#...#.......
-#...#..#..##.
-
-...#..##.
-..#.#.#.#
-######.##
-#####.###
-..####...
-######..#
-######..#
-..####...
-#####.###
-######.##
-..#.#.#.#
-...#..##.
-#..###.##
-####..##.
-...#.#..#
-...###.#.
-..##.##.#
-
-.####.....#.#
-........#.###
-##..##...##.#
-..##...####..
-..##...####..
-##..##...##.#
-........#.###
-.####.....#.#
-######.##.#..
-.#..#.####.#.
-##..####.##.#
-#.##.##..#...
-##..########.
-##..##.##.#.#
-.####....#.#.
-.....#.#.#.#.
-.#..#....#.##
-
-#..########..##
-#............##
-#.##########.##
-.#.#.####.#.#..
-##.#......#.###
-.#.###..#.#.#..
-###.######.####
-#.##.####.##.##
-##.##....##.###
-#.#.#.##.#.#.##
-#.##......##.##
-
-.#......#..####.#
-#.#.#####.#.###..
-##..##.#..#...##.
-.##.#..###...#..#
-.##.#..###...#..#
-##..##.#..#...##.
-#.#.#####.#.###..
-.#......#..####.#
-#..##.#.##..#.#..
-#..##.#.##..#.#..
-.#.....##..####.#
-#.#.#####.#.###..
-##..##.#..#...##.
-
-.#....#......#.
-..#.##.######.#
-...#.#..#..#..#
-##..#.###..#.#.
-##.............
-##..#.########.
-..#.##..####..#
-..#.##..####..#
-##..#.########.
-##.............
-##..#.###..#.#.
-
-####.##
-###..##
-#.#####
-##..#..
-#......
-####.##
-#.#....
-..###..
-..#####
-#.#....
-####.##
-#......
-##..#..
-#.#####
-###..##
-####.##
-#####..
-
-###.##.....
-##.##..#..#
-##.##.....#
-###.##.....
-#####...#..
-..#########
-########.##
-##.###...##
-..#..#..#.#
-..##...##..
-...####.#.#
-
-#.##...#....#
-##....##....#
-##..##..#..#.
-##..##..#..#.
-##.....#....#
-#.##...#....#
-.##.....####.
-#####..#.##.#
-#.####.#.##.#
-.#.##.#.#..#.
-#...#.#..##..
-###..##.####.
-.#####.......
-
-#..##.#
-#.###..
-#.###..
-#..##.#
-.##.##.
-...#...
-#..###.
-#..##..
-#..#..#
-#..#..#
-#..##..
-#..###.
-.#.#...
-
-.###.##
-.##.###
-##.....
-##..#..
-.##.###
-.###.##
-#...###
-
-..##..#.##.
-.#..#.....#
-.#..#.##.#.
-######.####
-..##.......
-..##.......
-######.####
-.#..#.##.#.
-.#..#.....#
-..##..#.##.
-#........#.
-########..#
-##..##..##.
-
-..######.....#...
-...........##.##.
-.#.####.#....####
-.#..##..#.####..#
-####..#####......
-###########.#.##.
-.#..##..#..###..#
-###.##.###...####
-#..####..##.#####
-
-###.#####..##..
-...........##..
-.#.##...#..##..
-.#...##.##....#
-.....#.###.##.#
-..#####..#....#
-##..###..##..##
-####.##...#..#.
-.#.##..##.#..#.
-.####...##.##.#
-...#.##..######
-..#..##..######
-..#..###..####.
-..#..###..####.
-..#..##..######
-.#.#.##..######
-.####...##.##.#
-
-..##.##..#.....
-..##.##..#.....
-.##...##.##...#
-.....##..##.##.
-#####.####..##.
-.#......#.##..#
-....##..###.##.
-
-#..####
-##.##..
-..#.#..
-..#.#.#
-..#...#
-.....#.
-.#.#...
-.#.#...
-.....#.
-..#...#
-..#.#.#
-
-#.###.#
-#####.#
-.##..#.
-.##..#.
-#####.#
-#.###.#
-...####
-.#.##.#
-......#
-
-#.##..##.####.#
-..######..##..#
-###....###..###
-...####...##...
-#........####..
-###.######..###
-##.####.##..##.
-##..##..######.
-.#......#.##.#.
-#.#....#.####.#
-##......######.
-..#....#..##..#
-###.##.########
-.#......#.##.#.
-.#......#....#.
-
-.##........#.
-...#.##.##..#
-.#..###..####
-...#.....####
-.#....##..###
-#..#...#.#...
-#.#...#.##.#.
-#.#...#.##.#.
-#..#...#.#...
-##....##..###
-...#.....####
-.#..###..####
-...#.##.##..#
-.##........#.
-.##........#.
-...#.##.##..#
-.#..###..####
-
-....##....###
-.########....
-##.#..#..####
-#...##...##..
-#........#.##
-###.##.####..
-..##..##..###
-..#....#.....
-#..####..####
-##.####.##.##
-##..##..##.##
-
-########.#.#.##.#
-###..####.##....#
-##....##...##..##
-#......#.########
-#.####.##.##.##.#
-#......##.#.#....
-#......##....##..
-.######.##.......
-##....####.#.##.#
-#..##..#.###....#
-...##...#....##..
-.######....######
-##.##.##.#...##..
-#..##..#.#.##..##
-.#....#.##...##..
-
-###.#...####...#.
-#..#.##..##..##.#
-.##...##....##...
-#####......#...##
-#####......#...##
-.##...##....##...
-#..#.##..##..##.#
-
-####..#.##.#.
-.#..##.####.#
-#..#.#.####.#
-#..#.#.####.#
-.#..##.####.#
-####..#.##.#.
-.###.#.####.#
-##....#......
-####.#..##..#
-##..#...##...
-...##.#....#.
-##.##########
-###.####..###
-
-#..######..#...
-.###....###..##
-.#.####.#.#..##
-.###.##.###..##
-..###..###..###
-.#...##...#..##
-###.#..#.###...
-#.#.#..#.#.##..
-#..######..##..
-...#.##.#...###
-..#......#.....
-
-......##.#.
-##.#..#....
-##.#..#....
-......##.#.
-#.#.#.##.#.
-..#.#.###.#
-#####..##..
-##.###.#..#
-..#.##...#.
-
-##......###.###
-##......###.###
-#.##..##.##..#.
-.##....##.###.#
-..........#.#.#
-..######...#..#
-##.####.##...#.
-..#....#..##..#
-.###..###..##.#
-.#......#.##.#.
-.#......#.##..#
-.#.####.#..#..#
-###.##.######..
-##..##..#.#....
-.##.##.##...##.
-
-.#....#.#..#.
-...##....##..
-##.##.##....#
-#.#..#.#.##.#
-.######..##..
-###..####..##
-##.##.###..##
-..#..#..#..#.
-.#.####.#..#.
-.#....#......
-#..##..##..##
-.#....#..##..
-###..###....#
-
-##.##.##.###....#
-.######.####....#
-#......##.##.#..#
-..#..#..##.##..##
-.#....#..#.#.##.#
-#..##..#..#######
-..#..#...##.#..#.
-...##.....#######
-#.####.#.#.##..##
-##....#######..##
-.######..##.#..#.
-.##..##..#..#..#.
-###..####...#..#.
-.#.##.#..#.#....#
-.######.#.###..##
-.........####..##
-##.##.##.........
-
-....##.##.#.#..##
-####.##.###.####.
-#..##..#.####..##
-.##....##.#.##.##
-#..#...#.#.##....
-.##......##..#.##
-#..#.##...#.#.#..
-
-....##.##
-....##.##
-....#....
-..###.#..
-##.#.####
-....#.#..
-..#......
-###....#.
-#...#.#.#
-
-.....##...###.#.#
-.##.#.##.....#...
-.##.#.##.....#...
-.....##...###.#.#
-#.######...###...
-..#.#....#.##.#.#
-##########.#..#.#
-..#..#....###..#.
-...##.#.##..###..
-#####.#.......##.
-..#..#.#.#...##.#
-..#..#.#.#...##.#
-#####.#...#...##.
-...##.#.##..###..
-..#..#....###..#.
-
-.#.##.#.....#....
-#.#..#.#.#.##.#.#
-###..####......##
-#.####.#..#..#..#
-..#..#..###..###.
-..####.....##....
-##....####....###
-
-##..#.##......#
-..#.##.#.##.###
-#..#......#.###
-.##.##.#.....#.
-#.#..##.##.##.#
-#.#..##.##.##.#
-.##.##.#.....#.
-#..#......#.###
-#.#.##.#.##.###
-##..#.##......#
-#....###.##.#..
-#....###.##.#..
-##..#.##......#
-#.#.##.#.##.###
-#..#......#.###
-
-..##.#...#.##
-.#.##.#..#...
-#..##..##..##
-#......###...
-...........##
-.#.##.#.###..
-#.#..#.###...
-.#.##.#.##.##
-##....##.####
-.#.##.#....##
-##.##.##..#..
-#.####.#.####
-#.####.#.#.##
-.#....#.##.##
-..#..#..##.##
-#..##..##....
-#......#.#.##
-
-..#..###.....
-.##.#.#...#.#
-..######.#.#.
-...#####.#.#.
-.##.#.#...#.#
-..#..###.....
-#..#######...
-.#..#.#......
-..####.#..#..
-...#..##.####
-.####.......#
-#...#.##..#.#
-...####.##.##
-...####.##.##
-#...#.##..#.#
-
-...###.
-.#..###
-.#..###
-...###.
-..#.#..
-.###..#
-..#.#.#
-.#.#.#.
-.###..#
-.###..#
-.#.#.#.
-#.#.#.#
-.###..#
-..#.#..
-...###.
-
-..######.....
-##########..#
-...####......
-#.######.#..#
-#..#..#..#..#
-#.##.###.#..#
-##..##..##..#
-##.####.##..#
-##.####.#####
-#.#.##.#.#..#
-.#..##..#.##.
-#...##...####
-..######.....
-##.####.##..#
-..........##.
-
-##.##.###.#......
-#..##..#.#..####.
-#......###.#....#
-#########.##....#
-...##.....#######
-#..##..#..#......
-#......####.#..#.
-#..##..#..#......
-.##..##.#..#.##.#
-..#..#...#.##..##
-...##....#####.##
-##########.#....#
-##.##.#####..##..
-#.####.######..##
-###..#######.##.#
-#......#..#.#..#.
-..#..#......####.
-
-.#..##.##..###.
-.#.###.##..###.
-#...#...#####..
-...##.####...##
-....#.#####.#.#
-##.#..#.###.#..
-.#.##.####..##.
-##.#...##.##.#.
-....######.####
-....#.#.##..###
-..##...#......#
-#####...####.##
-#####...####.##
-..##...#......#
-....#.#.##..###
-....######.####
-##.#...##.##.#.
-
-#..##.###
-.##.....#
-.##.##..#
-###..####
-#####.#.#
-......#.#
-#..##.#..
-#..##.#..
-......#.#
-#####.#.#
-###..####
-.##.##..#
-.##.....#
-#..##.###
-#..######
-
-..#.#.#..#.#.
-..#.#.#..#.#.
-#...#.#..#.#.
-.###.#..#..#.
-.#.#..#.#.#..
-#.....#...###
-##.##.#####..
-##.##.#####..
-#.....#...###
-.#.##.#.#.#..
-.###.#..#..#.
-
-####...#.#.
-####...#.#.
-#..#..#..##
-.....#..###
-#..#.#..###
-.........#.
-.....###.##
-######.#...
-#..##.###.#
-.........#.
-..#..#.#.#.
-#######.##.
-####.#..#.#
-
-#..###.
-#..###.
-.....##
-##.#...
-#.#.#..
-.###.#.
-#.##.##
-##..##.
-..###.#
-...###.
-.#.###.
-
-############...##
-##..####..##.#...
-##..####..##.##..
-.####..####..#.##
-..##....##..##.#.
-.####..####.#..#.
-..............##.
-#..........#.##.#
-##############.#.
-.#..#..#..#.#.#.#
-............#.#.#
-..##....##..###..
-#....##....#.###.
-##############.##
-.#..#..#..#.#...#
-
-.##......#.####
-....###..###.##
-.....######....
-....#..##.##...
-######....#.###
-#..###.##....#.
-########.#.###.
-#..#####.#..###
-.##..#...####..
-.##....##..####
-#...##.##.###..
-.##...#..######
-#..#.#.#.#.#...
-.##...#..#....#
-.##...#..#....#
-
-##.#.##.#.###
-.#.##..##.#.#
-#.#..##..#.#.
-###.#..#####.
-#.#.#..#.#.#.
-##.######.###
-#.##....##.#.
-#.##....##.#.
-##.######.###
-
-###..#####.##
-###..#####.##
-.....###..###
-...##..###...
-##.#.##.##.##
-..##.....#.##
-#.###........
-#...##...##.#
-#.####.##.#..
-#.#..###.####
-.#.#.#####...
-#.##.##.##...
-####...####..
-#####....####
-.#.##.##.#...
-.##.##..##...
-.#.#...##.#..
-
-.###..###
-.#.#....#
-.#..##..#
-.#......#
-...#..#..
-##..##..#
-####..###
-##.#..#.#
-#.##..##.
-#.##..##.
-##.#..#.#
-####..###
-##..##..#
-
-###...#....
-...##.#.#.#
-..#########
-..##....#.#
-..#######.#
-..#....##..
-..#....###.
-..#######.#
-..##....#.#
-
-####......#...###
-#.#..#..##..#..#.
-##.##..####..##.#
-..###...##...###.
-.######....######
-..#####....#####.
-#.###...##...###.
-.#......##......#
-...#..######..#..
-...#..######..#..
-.#......##......#
-
-...#..#.###
-##.####....
-...##..####
-###...#....
-..#..#...##
-##..#.##...
-...##...##.
-.......####
-####..###.#
-.....#.#..#
-##....#....
-#######.###
-##.####.###
-
-#.#..#...
-..##..#..
-..##..#..
-#.#..#...
-.####....
-##..#.###
-...##....
-...#...##
-..#..####
-.#.##...#
-....#....
-
-..#####.....##.
-#.##..#....##..
-........####..#
-......#.###..##
-....###....##.#
-....###....##.#
-......#.###..##
-........####..#
-#.##..#....##..
-..#####.....##.
-.##.#..#.#.#.##
-.##.#....#.#.##
-..#####.....##.
-
-.#.#.#.##
-.#.###.##
-.##...#..
-##.##.##.
-##.#..#..
-..#..#.#.
-##.#.#.##
-##.#.#.##
-..#..#.#.
-
-..#.#####
-##...#..#
-##.###..#
-######..#
-##...#..#
-..#.#####
-.#.#.....
-#.....##.
-...#.####
-####.####
-##.......
-#..#.#..#
-...##.##.
-#.#.##..#
-###......
-....#####
-..##..##.
-
-...##...#
-...######
-...##....
-###..#.##
-##.#.#.##
-.#...#.#.
-..#.#.###
-.....##..
-###.#....
-##.#.#.#.
-##.#.#.#.
-
-....#.....#..
-#..##.#....#.
-##...........
-..##.##...##.
-.###..#..###.
-##.########.#
-##..###....##
-###.##..#.##.
-###.##..#.##.
-##..###....##
-##.########.#
-.###.....###.
-..##.##...##.
-##...........
-#..##.#....#.
-....#.....#..
-....#.....#..
-
-..##.#.#.
-#####.#..
-#...####.
-##.###...
-##....#.#
-##.#.#...
-...#####.
-##..#...#
-.....###.
-###..##.#
-###.#.###
-###.#.###
-###..##.#
-
-..#.###
-.....#.
-..#...#
-..#..##
-####.##
-###.#.#
-###.#..
-####.##
-..#..##
-..#...#
-.....#.
-
-.###.#.#.##.#..
-#.####..##..#.#
-#.####..##..#.#
-.###.#.#.#..#..
-....#...#..##.#
-..####.##.#...#
-##..#.#..#..##.
-###..#...#.....
-###..#...#.....
-
-#...#.....##.
-#.###.#..####
-..###.######.
-.#..####..##.
-.#..####..##.
-..###.######.
-#.###.#..####
-#.........##.
-.##.##.###...
-#.##..#####..
-##..######..#
-###.#...#....
-.#.#.########
-###......###.
-....######.#.
-.###.##.##.#.
-.###.##.##.#.
-
-#..#..#....#..#
-..###.#.##.#.##
-##.###......###
-##...########..
-.....#.........
-#...###....###.
-#...###....###.
-
-.#..#....#..#..
-#....#..#####..
-.####.###..##..
-#....#####.##..
-..##.......#.##
-.......#.##..##
-##..###..###...
-.###....#.#.#..
-.#..#...##.....
-#....#..##.####
-##..###.####.##
-..##..#...#.#..
-.........#..###
-
-.####..
-#...#.#
-..##..#
-#..###.
-#..###.
-#.##..#
-#...#.#
-.####..
-..##.##
-..##...
-#....#.
-#.#..#.
-#.#..#.
-
-#####...#..##
-#.###...#..##
-.#####.#.#...
-.##.##..#####
-....##.###...
-..#.#.###.###
-.##....##..##
-##..#.###.###
-##...###.#...
-.#.##.#.#..##
-.#.#...#.####
-#....#...#...
-...##..##..##
-
-.....#.#.....
-....##.......
-#..#.#.##....
-#####.##.....
-#....####.##.
-#..####...##.
-#..###.#..##.
-....##..#####
-#####.###....
-....#.###....
-####.#...#..#
-#######......
-....#.##.####
-.##....#.#..#
-....###.##..#
-
-##.####......##.#
-....#.###.#...##.
-....#.###.#...##.
-##.####......##.#
-.##..#.##...#.###
-.#.#.#...#...#...
-#.##.#..##.#.#.#.
-#.##.#.###.#.#.#.
-.#.#.#...#...#...
-
-#####..####..####
-...###..##..###..
-..##..........##.
-##.#..##..##..#.#
-##....#.##.#....#
-##.#.#..###.#.#.#
-..#.###....###.#.
-..##..........##.
-..###...##...###.
-....#.##..##.#...
-.....#......#....
-
-.####..#..#..##
-..##...#..#....
-......###...###
-......##.##..#.
-#....#.#.#.#...
-######.###...##
-.####.#.#..##.#
-.......#.#..#..
-.......#.#..#..
-.####.#.#..##.#
-######.###...##
-#....#.#.#.#...
-......##.##.##.
-
-#.#..##.#.#..
-.#..##..#..##
-.#..##..#..##
-#.#..##.#.#..
-..#..#...#.#.
-.#...#.#.###.
-#.#####.#.##.
-#...#...#.#..
-#...#...#.#..
-#.#####.#.##.
-.#...#.#.###.
-..#..#...#.#.
-#.#..##.#.##.
-
-#..##......##..#.
-#..##......##..#.
-.#.#.#.##.#.#.#.#
-#..#.######.#..##
-.#..##.##.##..#.#
-#...#..##..#...#.
-#.############.#.
-#..##.#..#.##..##
-#..###....###..##
-##.#...##..##.###
-.##.##....##.##..
-
-..###.#.##.#.###.
-.##.##..##..##.##
-.##.##..##..##.##
-..###.#.##.#.###.
-.##..#.####.#..##
-###.##..##..##.##
-###.#.#.##.#.#.##
-.#..............#
-#...###.##.###.#.
-###...#....#...##
-.##..#..##..#..##
-..#..##....##..#.
-..#.#.######.#.#.
-###..##.##.##..##
-..#..#.#..#.#..#.
-
-###.##.##
-##..##..#
-#.######.
-#.######.
-##..##..#
-###.##.##
-.###..###
-#.#....#.
-..#.##.##
-
-....#.##..#
-......#.##.
-#.####.#..#
-#.####.#..#
-......#.##.
-....#.##..#
-.#.##.#..#.
-.##..##....
-#....##.##.
-
-.##...##.#.
-.#.##...##.
-#..#####.##
-#..#####.##
-.#.##...##.
-.##...##.#.
-.#..###...#
-###.##.##.#
-#...##.#.##
-#...##.#.##
-.##.##.##.#
-.#..###...#
-.##...##.#.
-
-.##...##.
-.##...##.
-##..###.#
-##.#.#..#
-.....#...
-#..#.##.#
-........#
-..##.###.
-..##.###.
-........#
-#..#.##.#
-.#...#...
-##.#.#..#
-##..###.#
-.##...##.
-
-####..#..##.##.##
-....#.##.........
-....#...#.######.
-.....##..##....##
-.....####........
-####..#...##..##.
-....###.##.#..#.#
-#####.....##..##.
-.##.....#...##...
-.##.##.#..######.
-#..#####..#.##.#.
-#..######.##..##.
-..#.#.#.#.######.
-.##...#..##.##.##
-####..####.####.#
-
-#...#.#
-#..#.##
-##..###
-##..##.
-#..#.##
-#...#.#
-.#....#
-#..##.#
-...#.#.
-###...#
-##..###
-.#####.
-.#####.
-##..###
-###...#
-
-##.##..##.##.#..#
-.##..##..#..##..#
-#############...#
-....#..#........#
-#..##..##..#.##..
-#..#....#..######
-#....##....###.##
-###.####.#####..#
-.#..####..#.#.###
-##..#..#..###..#.
-..##.##.##...##.#
-.##..##..##.....#
-...............#.
-...............#.
-.##..##..##.....#
-..##.##.##...##.#
-##..#..#..###..#.
-
-#.#######
-##.#...##
-#..##..##
-#..#.##..
-##.##..##
-###.#####
-###.#####
-##.##..##
-#..#.##..
-#..##..##
-##.#...##
-#.#######
-..#.#.#..
-#...#.##.
-.#.#..#..
-.#.##..##
-#.#..####
-
-.......#.#...####
-....#..#....#.##.
-..##...#...######
-##.#....#.##.####
-##..##...#####..#
-.##...#####.#####
-.####..##.#...##.
-#..#..#####..#..#
-#..#..#####..#..#
-.####..##.#...##.
-.##...#####.#####
-##..###..#####..#
-##.#....#.##.####
-..##...#...######
-....#..#....#.##. \ No newline at end of file
diff --git a/aoc2023/src/day15/input.txt b/aoc2023/src/day15/input.txt
deleted file mode 100644
index 86b345f..0000000
--- a/aoc2023/src/day15/input.txt
+++ /dev/null
@@ -1 +0,0 @@
-fnln-,bkxf-,spfc=9,ds-,trzx-,dtck-,xs-,bg=4,fgmpc=5,xmxf=1,cl=9,md-,ct=2,ftz=5,xhd-,vkqx-,hxd=6,mlcn=6,ctdbt=6,txpsv-,nkx=3,jfz-,fzm=3,rvcd=4,nfgp=3,jjd=7,nzq=6,zv=5,lh-,nfgp-,gcbtgm=7,zj=6,sxlh=3,vsj=8,cjb-,tslfp=5,vc-,kpn=7,qpm=5,jgmnxd-,xp-,kmm-,xb=4,tv-,bmnlf=7,cb-,vbmk=5,dvz-,ssd=6,sb-,mldgtn-,mtx-,kz-,nzq-,dnkf-,sn-,js-,bpq-,vc-,fzm=9,xqv-,gqsr=2,jzxp=5,bc-,lxg=5,sv-,gflrmd=9,ncjb-,fm=9,lln=1,ql=9,tj=2,pbmldc-,fkzq=7,vkh=3,tn=4,fdl-,frgf=1,vf-,fpg=4,xzt-,jf-,pjfk=5,rvcd-,rv=6,zrs-,qnd=1,vqzhc-,xrb=8,lvx-,dfz-,xstdx=6,sf=4,hsb=3,sqjgc-,xtl=7,zthrd=8,mldgtn-,rc-,kpz-,tpnmp=6,bzj=7,gmrrx-,bszd-,mjz-,bzj=8,ztk=9,dtv-,qgm=4,ssd=3,xc=8,hvglb-,xf-,qhvz-,vqc-,ktj=1,ppq-,zxt-,rnsbt-,qpx-,nj-,vhl-,rknz-,zngsp-,vhl-,fjh-,vrzjf=7,gkn=6,tfd=4,bgg=1,fgmpc=9,lpd-,pbmldc=4,jm=2,vlv=4,shn-,vps=8,ljsvc-,rfdrk=3,vkqx=7,gftx=9,nzq-,cq=1,ckb=6,zsx-,qpf-,cggz-,bzj=9,lfg=6,tfd-,xdfz=8,ghbr-,dsdm=8,nj=4,jf-,fnln=7,fzm=7,fkzq=7,xcq=8,fkzq-,dm-,bfz=2,lqf=4,sfp-,kpqvtc=2,fkzq-,vth-,zn-,xhs-,vsj-,psfnx=4,xbx=1,xgk=9,snpgsm-,psg=3,shn=6,qxkrd-,pxvxlh-,xbx-,gt-,ksn-,dzn=7,gp=7,mp=8,jtz=3,ph=2,jxj=8,pg=5,txkh=6,drls=6,zthrd=9,gqsr-,dtv-,mktlhp=9,bszd=5,snpgsm=5,qz=6,sh=6,lqt-,mktlhp-,mgt-,mvmqfm=5,bc-,lpd=6,zn=3,nhsvv=3,vdf-,znjg-,phsl=7,tnb=4,qlf=9,txpsv-,pxvxlh=6,lqfv=7,lffv=5,djmlb=7,pxn-,hdxvhr=8,vbz=1,vqc=1,xrb-,bj=1,bzpv=5,tdl-,xc=2,cnr-,ss=6,mf=2,sv=2,mp-,zpc-,rqg-,xtsd-,hlg=6,xdfz=9,nl-,kfp-,cr-,qxkrd-,vpxv=9,mtx=1,drls=9,jzxp-,xqfrg-,js=3,ql=8,xp-,kpz=8,zj=9,jxj-,gf-,gcbtgm-,cmpc=4,tr=4,px=6,pvv=9,tpnmp-,jhhqj=5,mmn=3,qpf=5,vnk=9,cnn-,xgr-,mmsz=4,lvs-,cv=3,cq-,bfz=8,ct=7,kr=6,gk-,zdtz=1,vqzhc=3,xzt-,vqt=4,dphx-,kmr-,fkzq-,lk=8,dvz=6,ghbr=6,hm=6,zm-,sn-,jgmnxd-,vkz-,ps-,vpxv-,gpg=4,bmnlf=9,pjfk=3,ndmt=7,zk-,zthrd=5,fgmpc=8,rgh=7,bx-,ctp=2,nl=7,rtj=6,grlkl=9,zf=8,lg=4,zngsp-,rsn=5,drls=9,lxmkfx=7,sbt-,bx-,lln-,dm=6,fnv-,qpf-,tq-,qv=9,cfnbp-,pxvxlh-,tr-,nh-,clg-,xjpbxm-,zs-,trzx=8,bgh-,cmbv=1,vq=6,lcr=9,scbjp-,sjb=2,gmrrx=6,mg=5,znjg=4,zn=9,grlkl=7,xmxf-,smtd-,vkh-,spsx=9,qpf-,bgg-,smtd-,ntg=6,qpf-,vtp-,nlcrm=8,cvc-,frgf=8,blfx-,vbz-,tcs-,bqpp-,fjh=5,rtj=5,vr=6,kjrc=1,nzq-,qpf-,vqc-,kmr-,hj=8,fnh-,scbpb-,gxg=9,kf=6,xhs-,zdl=9,sscn=9,dzt-,rl=9,gr=6,tv-,jmthd=9,gn-,bzj=4,pv=9,pcnzf-,jxj-,sxlh-,lxg=3,rpn-,vr=9,rl-,tslfp=5,pgd=2,xmxf-,mjz=9,drls-,hrbj=7,rr-,lxg-,grlkl=3,jsv=1,sr=6,dv-,scbjp=1,pkg-,mgt=9,hsb=3,ccs-,xdfz-,cqq-,nbtq=2,ljsvc-,rpn=8,msbfzl=5,kz=7,cnr=4,hz-,ctf-,tgqp=9,tfd-,sqd=7,rb-,qf-,srp-,fkzq-,pfjml=6,rnsbt-,dmp-,zngsp-,cfnbp-,kpqvtc-,gftx-,lvs-,zpc-,kpz=2,pxvxlh-,spm-,rt-,ftz-,lvs=2,zsx=2,sjb=4,lxmkfx=7,bqpp-,hb=7,xzl-,ckb=7,hsb-,cvc-,ksn=7,mktlhp=5,jhl=6,snpgsm-,mm-,xstdx=2,rm-,rqx-,ld=4,zv=6,fx-,sbx=2,blfx=8,fmkjj-,km-,cmbv=8,vz=9,lg=4,fpg=4,kpfr-,dmp=4,xxj-,jhl=2,km-,vx-,sh=8,xqv=3,kfp=3,zdm=3,tdl-,ddxn-,gzrz=9,xqv=8,kqh=2,rlrlql-,lpd=1,vr=1,ggm-,dkz=3,jx=2,trzx-,sjb-,rh=8,dbsf=4,jhhqj=8,jzxp-,bkxf-,thnmq=7,mktlhp-,jtz=7,sh-,plt-,rfdrk-,hj=4,dk-,zjvd=9,jsv-,vkn-,jc-,zk-,mmsz-,lcr-,dkz-,px-,pcnzf-,jtz-,pzd-,kqh-,ts-,znb-,dzn-,qgm-,drls=9,bmnlf=3,thnmq-,bpq-,zxt=9,lg=6,rknz=8,bzj-,vsh-,lq-,rm-,ql-,cs=1,dzt-,hfrdk=4,kmm=9,lhks=9,jsv=5,zxt=9,kc=4,rm=8,hvglb-,bzpv-,drs=1,tgqp-,trg=4,dp-,zmlr-,pvv-,lfg=2,rqg-,nh=5,mkj=5,cct=1,lxmkfx-,txpx=2,vps=5,dzn=3,dph-,kv=1,vth=6,gftx-,lztd=3,hb=8,qpx=2,fjg-,plp-,vnhfc=3,zv-,xt=1,bgkjq-,pbk=9,hj-,sv-,kpz=5,fnh-,zpc=3,zj=8,pxvxlh-,qgm=6,gct=5,tdl=5,xtl=2,lg=7,trzx=9,hvglb=3,ss=6,vpxv-,gh-,js=1,jf=1,rqx-,pg-,nqcj-,zzx-,mf-,zlcmgc=3,lxg=8,rpgj-,vhl=6,phsl=8,dtck-,rxv=2,qpf=7,nh-,ccs-,mf=3,xrm=4,pljg=1,rnsbt=5,nnn=2,snpgsm=5,qxkrd=5,xgk-,trg-,phsl-,bzj=5,ckb=4,cqbvs=5,xgk=8,ck=7,dbffb-,tj=2,dm-,fjg-,zdm=8,jc=9,rqg=3,qhvz-,cmpc-,dzn=4,xrb=2,kfp=2,vbz-,xhs-,dnkf=3,chpn-,sl-,kftx=5,rsn=5,ps=9,jm-,pbk-,vq-,qpf=4,rfdrk-,rsn=9,nqcj=7,vsh=7,npm=7,qxkrd-,hpl=1,rnsbt-,pxn-,zsx-,lpd=5,fgmpc-,vkqx-,vth-,pm-,mgt=5,cct=3,bb-,hzlzn=2,gkn-,mjz-,kx=8,qcnnzx-,kmr=7,lfl-,jhhqj-,lqfv-,gkn=5,pfjml-,lhks=4,bzj-,tnp-,nj=1,xhs-,rtj=9,rlrlql-,qcm=3,mph-,fx-,jm-,xtl-,xdfz-,msbfzl-,ckb=7,hj-,cqr=5,scbpb=2,tslfp=1,kmm-,cv=4,zpc-,qfb-,rlrlql-,trzx-,sf-,ccs-,fsz=2,dv=8,thncf=4,bmnlf-,qgm=8,plvd-,dm-,pjfk=4,gr=6,qv=7,khx=3,vs=7,dtck=9,xbx-,xstdx=8,km=6,hgp-,kf-,xf=1,vnhfc=6,xgr=1,pbk-,sl=2,jmthd=8,sbt=6,mkj=8,vnk=3,bgkjq=8,bg=2,xbx=6,mmsz-,rnxt=1,shn-,ss=3,kpqvtc-,dfz-,qxj=9,mktlhp=4,jzxp=1,hm-,vx-,bzj=1,vnhfc-,vrc=7,bgkjq=8,gp-,vq-,lh-,tnfx=4,ntg-,dd=5,znb-,vtp=4,vgln-,hz=1,lk=1,mktlhp-,vz=3,vpk-,bbsk=4,qlf=1,hgp=5,xjpbxm-,qcm=8,tz=4,lqf=2,bz=3,jfjbj=9,lfl=6,cqq=8,xzt=4,xb-,rlrlql=9,cqbvs=8,dzt-,blfx=9,rqx=5,xfn=6,px=3,chpn=7,js-,lg-,ctf=1,qcnnzx-,hsb-,xnmq=1,hpl=1,pg-,gr-,fkzq=2,rfdrk=7,tnp-,gbsp-,nq=4,vttk=1,lrpx=5,xrm=3,crb-,nglvx=5,md=2,px=6,pljg-,sjb=3,kpjqgm=9,xrm=6,slzd=6,xc-,sxlh=6,mtx-,xc-,nbtq-,plvd=2,hb-,znfd=7,ghbr=1,gkn=3,gct-,cqq-,znb=5,jsv-,txpsv=6,dk-,dbh=7,lmlx=6,lcr-,bfz=4,xhs-,cjb-,tkpb-,dkms=4,sh-,fkzq=3,kqh=8,dv=9,lrpx-,vnhfc-,bqpp-,pcnzf-,km=1,ssmflk-,pnp-,rsn-,cqbvs=5,fr-,kfp-,npm-,vbz-,jm=9,pgd-,trzx=6,hsb=6,qrn=3,lln=8,zl=6,qpf=8,djmlb=6,zj-,qhvz=1,kz-,bzpv-,bq=8,frgf=7,blfx-,tnp=9,lqf=3,zrs=5,lc=2,scb=6,dzfqlb=3,kmqjt=1,trg=1,fzm-,bgg-,gzrz-,sv-,qz-,zlcmgc=4,qcm=1,xhd=7,zmlr-,fnv-,xdfz=9,fx-,xfn=7,zdm-,fr=7,tfd=1,njvd=4,vnk=2,xbx=8,xp=3,zbgdxg-,lxmkfx-,pbmldc-,znfd-,znb-,xh=5,ccf-,lxmkfx-,tgqp=6,ng=6,kz=9,hlg=2,mmsz=9,vdf=1,vkh=9,cvc-,sfp=7,ckb=6,gxg=9,cggz=2,clg=8,zn=6,ctf=6,zdtz=1,ddxn=6,nhsvv-,plvd-,sbx-,ncjb-,lc-,pvv-,vpxv=3,mhh-,qgm=6,vbmk=8,rb-,gxx=7,pt-,qpx-,gcbtgm-,xf=4,xfn=1,tv-,mmn-,zrs=6,zm=7,pxvxlh=5,xc-,dbsf-,scbpb=3,smtd-,fsz-,znjg=3,rfdrk-,ccs=9,mgt=5,mjjk-,vsh-,sv=8,cgp-,gf=1,pg=5,mph-,ctp=3,vblpd=7,gbsp-,gf=3,nbtq-,vjsg-,jsv-,lqfv-,np=4,xh-,tq-,xs-,vk-,hb-,mmn-,vbz-,kpjqgm=5,dkz-,rzjkqp-,tvm=3,dz-,kftx-,khn-,nj=2,cnn=3,cl-,sf-,vc-,zmlr=3,lxmkfx=3,blfx=9,vbmk=6,tpnmp-,sqjgc=5,rz=2,bszd=6,kkc=9,dnkf-,lmlx=7,ddxn-,bhfh-,gflrmd-,xb-,mmn=2,jfjbj=1,zm-,sqd=4,kl-,dfz=4,ktj=5,lxmkfx=2,qxkrd-,dp=6,hl-,lqfv-,kx-,vbz=5,qf-,sv-,kpqvtc-,vhx-,ps=1,fr-,vbmk-,bnhz-,tj-,rlrlql=2,np=4,vs-,vbmk-,pmz=3,pbk-,zxt-,ck-,xf=2,jtsdd=7,ng=1,gn-,qfb=5,mf=4,xb-,rc=7,jjd-,xv=6,gzrz-,cqq=5,dzt-,scb-,plvd-,vqbp-,mvmqfm=3,pr=1,nj-,pvv=8,xtsd-,gbsp-,hnf-,fdfc=3,zzd-,kftx-,pbk=3,lrpx-,hbmt=4,mktlhp=2,ld=4,sf=4,rxv=1,kkcd=9,dph=7,ssmflk-,vnhfc=1,hrbj-,ljsvc=6,rt-,xf=5,tq-,npm=1,kkcd-,spm=7,ljsvc=4,lpd-,nh-,cnr-,xmxf-,cxq=6,mjz-,hpl-,lh-,grlkl=7,pv=9,pqf=1,zsx=7,vbz-,vgln-,dvz-,zl=6,js-,rqx=8,hdxvhr-,pkg-,tzjln=1,nhsvv=7,ggm=5,zz-,kmm-,zngsp=5,gqsr-,cnn=8,vrc=3,zxt-,txpx-,jmthd=9,gbsp-,gn-,zrq-,ss=5,xjpbxm-,ssmflk-,sr-,kl-,gp=9,mhh=7,bpqv-,mvmqfm=6,vr-,kmqjt=4,xnmq-,hvglb=5,qpf-,xb=5,jgmnxd-,sfp-,sscn=8,pcnzf=4,rr=7,gqsr=4,xs-,ql-,pxn=6,jf-,ckb=6,ps=7,bzpv-,qcm=5,gf-,vk=8,hlg-,kjrc=4,dnkf-,kjrc-,qgm=7,pt-,mmn-,dphx-,dsg=8,brp=5,lq=6,kpqvtc=8,xhs=1,tz=1,rm-,qht-,jhl=3,mr=1,tj=4,pnp-,zngsp-,lcr=5,fr=9,vgln-,bz=1,nfgp-,xzt=1,xzbz-,cqzt-,vblpd=9,mg=6,dd-,xtl-,mf=7,qln-,qxj-,mgpp=7,cb=7,zf-,pkbv=2,fgmpc=4,lc-,dmp-,zxt=1,db-,hrbj-,vnk-,smtd=1,cjb-,dtt-,zlcmgc=1,kkcd=9,xh=3,sqjgc-,td=9,npm-,cqbvs-,hj-,sf=2,zf-,mph=7,zcjvl=4,dkms-,rgh=6,zzx=4,hm=4,tz-,vr-,vf-,cqq-,bgh=1,sn-,vbz-,sxlh=3,xtl-,lqt-,kd-,mg-,vf-,lg=5,fnh-,gbsp-,ksn-,mlcn-,vqzhc=8,gzrz=6,lcr=3,qxj=1,hpl-,dphx=5,js-,fm=5,vgslz-,vf=5,ns=2,qcm-,ds-,pr-,vqfz-,hl-,mnphn-,ctp-,qht-,dv-,kd=1,lrpx=9,bpq=1,qgm=9,ckb=6,zf-,vps=5,gbkt=3,zk=4,lztd-,tpnmp=9,rr=9,rpgj=5,dbffb-,mvmqfm-,fzm=8,bpq=9,lxmkfx-,sf-,br-,jxj=1,snpgsm=2,bj-,fsz-,vjsg-,gxx=4,hbmt=1,gflrmd-,rtj-,zl-,snpgsm=7,ppq-,vrzjf-,dv-,njvd-,sxlh=1,xgr-,tv=8,kmqjt=2,cfnbp-,xxj=1,zngsp=5,cqr=1,jc=9,gr-,qxkrd-,xzbz=9,xnmq=1,zcjvl=1,vjsg=4,fx=2,srp=2,kpfr-,bbsk-,xqfrg-,tvm=1,pqf-,fdl-,ss=5,bnlpjk=6,dphx=6,vbz=4,grlkl=7,gxx=1,lrpx=3,drls-,dph=8,vs=4,sbt=3,jpc=5,pbmldc=8,ddxn-,br=3,qln-,rvcd-,dmp=5,dhh=5,fjh-,sn=6,txpx=2,ctdbt=1,rzjkqp=7,bzpv-,gt=6,sb=8,qht=9,kpz=2,hvglb=8,mr=3,fq=5,jm=5,rzjkqp-,ndmt=6,bzj-,lg-,ks=1,npm-,vqbp=4,lcr-,km=9,tv=6,thncf=6,bxx-,vq-,rpn=6,dz=2,tcs-,mr-,kd-,spfc=8,npm=7,hrbj=1,cggz-,jjd=7,drs=6,vr-,rfdrk=4,kc-,pkbv-,zmlr=1,lqt-,hsb=1,xb=5,pljg=5,bq-,gxx=5,vrzjf=9,xhs-,xk-,vdf-,lg=6,xrb-,vc-,pbmldc=5,js=5,ld=4,sbt=4,gftx-,kpz-,khx=1,mr=9,lztd=7,xqv=8,cb-,sbx=6,qpf-,vgln-,xcq=9,jf=4,zs=2,cv-,vqc-,vgln=3,bmnlf-,nsxz-,vttk-,jx=1,tnfx=9,zv-,fdfc-,rc-,lhks=4,zlcmgc-,grfxxs-,hrbj=4,vqt=8,ts=5,hd-,tq=8,bg-,mf-,pcnzf-,sh-,trzx-,xb=4,rc=8,bzj-,pkg=8,hlg=5,qcnnzx-,ck-,mjz-,vth-,mgt-,cct=1,bkxf=8,rpn=1,mg-,fjg=3,vlv-,zngsp=8,ksn-,hnf-,dbh=7,pxn=5,hsb=8,mq-,jsv=7,ccf=1,ts=8,kz-,xgr=5,xbx=5,sqd-,fpg=8,lvs=5,smtd-,zs=3,dsdm-,nrc-,jtz=8,jxj=3,sv=3,mlcn=9,psfnx-,kpqvtc=9,rsn=4,zdl-,lztd=4,vnk=2,dmp-,sscn-,zj-,dd-,zdl-,smtd-,tj=3,ggm=6,ff=2,zzd-,pfjml=7,chpn-,mjjk=4,spm=7,sfp=6,xbx-,dbffb-,sh=9,hnf-,pmz-,rzjkqp-,hb=8,bj-,hgp-,txkh-,znjg=2,vqfz-,vgln=2,zzd-,crb-,vqt=3,ssmflk-,bqpp=4,xt-,dbffb-,bhfh-,hsb-,rvcd-,sbt-,txpx-,jtz-,cb-,dp-,mvmqfm=3,ddxn-,msbfzl-,xgk-,jpc=5,phsl-,dbffb-,zcjvl=4,tvm-,pv=2,sfp-,nnn-,jmthd=2,qcnnzx=3,xnmq-,tgqp-,fzm=3,jpc=2,cnn-,jhhqj-,mvmqfm-,rtj-,km-,lk=6,slzd-,chpn-,xb-,tpnmp=9,vkz-,lqt-,vf-,gbsp-,cmpc-,xc-,pkg=5,tz-,dzt-,mvmqfm-,dvz-,lhks-,npd=6,lfg=7,bgh-,vqbp=5,grlkl-,lvx=4,mgpp=1,znb=6,zf=4,lfl-,cr=2,dbffb=3,jzxp=2,mhh=2,gftx=7,lfg-,gkn-,xb=5,djmlb-,qln=8,zmlr-,dkz=6,grlkl-,rt-,zcjvl-,vblpd-,lztd-,lfg=2,gxg=6,bj=8,zs=9,ssd-,lcr-,tqx-,ncjb-,kmr-,trg=4,kmm-,cjk-,tq=7,qqp-,scbpb=1,rc-,xzt=1,ftz-,sjb=2,rknz=4,gbsp=4,qrn=3,dhh-,mph=1,pjfk-,grfxxs-,xfn=3,bq=6,kd=3,vjzt-,vgln-,rv-,lcr-,blfx=4,gzrz-,kmm-,hj=8,pvv-,khn-,jfz-,gr-,gr-,dhh=9,ps=3,vblpd=9,sqd=3,hz=7,mp-,lxg=1,bnlpjk=3,jjd-,txpx=7,fx=9,nkx-,bg-,rvcd=4,sr=6,qz=3,vdf=9,ld-,nsxz=1,zdtz-,dzn-,hb-,vjzt-,nfgp-,cmbv=6,pljg-,sqd=1,ssd-,fzm-,qv=8,tn-,cct=8,cnn=2,vkh-,zl=8,xcq-,ppq-,scb=5,pbk=6,jmrz-,xgr-,kpjqgm-,nglvx=5,qht-,fnln-,cl-,kkc=9,kpfr-,xtl=9,dsg-,xrb-,zdm-,mmn=5,tz-,gh-,vkn-,vkqx-,gkn-,qxkrd=7,rt=7,rh=3,bc-,nzq-,mtx=8,jc-,kfp-,dkms-,thnmq-,jhhqj=6,vhx=2,lqfv-,kc-,vqzhc-,bzj-,fmkjj=5,ql-,fdfc-,kftx-,ktj-,bgh=2,cqzt-,rtj=2,vkh=2,dfz=6,xstdx=9,npd-,hf=8,jhhqj=1,snpgsm-,xrb-,hm=5,bx=1,ql=2,djmlb=7,xcq=6,xbx=4,kl=9,dk-,sh=7,ctf-,sqjgc-,thnmq=7,lhks=9,xdfz-,tk-,pt-,vgslz=7,dtv=5,sbt=9,kv=1,drs=3,db=8,lqf=6,xhd-,qln-,ckb=2,kpn-,qvlzn-,fb-,xcq=3,vqc=2,ct=4,dtck=5,vgslz=9,shn-,rv-,cr=3,tpnmp=1,cct-,zj=8,bnhz=4,psfnx-,nnn=8,kl=8,ps=5,ng=6,cnr-,snpgsm-,dnkf=9,znb-,bgkjq=1,pjfk-,pl=9,dtt-,sqd-,hgp=7,gs-,qrn=8,dvz=4,kftx=7,ggqq-,cl-,cr=9,jsv-,vjzt-,pxvxlh-,kqh=1,tqx-,lvx=9,mf-,rpn=2,bpq=4,km=4,vnk=6,cqzt=9,bxx=8,tn-,pgd=8,dp=7,thncf=8,zdtz-,vgslz=5,cnr=7,nkx-,hdxvhr=6,tj=6,xnmq-,qf=4,lq-,vnk=7,rpn=4,zd=8,rxv-,lln-,sbt=6,mhh-,rz=5,dtt=9,gxx=7,pnp=2,lqt-,xdfz=7,lhks-,gflrmd=8,kpqvtc=3,tj-,pvv-,xcq-,xfn-,kpjqgm-,kc=6,zngsp=1,vpxv-,xfn=1,qqp-,tj=2,xrb-,zsx=4,lfl-,vqc-,nq=9,lrpx=7,rpn-,phsl=7,chpn-,vq=6,dd-,ff=1,lztd-,lq-,vx-,lg=3,jmthd=7,vnhfc-,jgmnxd=6,fpg=3,xs-,ggqq-,msbfzl=7,znjg-,xt=8,xzt=9,ff=3,mmn-,dmp=7,hrbj-,vth-,dkz-,nsxz-,bnhz-,bq=2,hm-,dm=7,trzx-,xmxf=1,npm=7,qqp-,fnv-,bzpv-,hnf-,ztk=4,hz-,bx-,srp=4,sqd-,zk=5,gbsp-,fsz-,vlv=6,hpl=5,jgmnxd-,rtj=9,lh-,qhvz-,vkn-,blfx=6,sc-,rqx-,tslfp=6,zdm-,fsz-,mm=5,lc=5,ghm=6,ktj-,kl=6,dph=6,ztk-,cb=2,kz-,psfnx-,mq=4,vqc-,dph=9,zj-,js-,znb-,vqbp=9,dx=2,dtck-,gt-,br=6,zrq-,bqpp=5,ckb=6,ng=9,zdm-,jc-,lvs-,ql=9,zf-,sc=2,dph=9,bz-,vbz-,khn=6,kmr-,drs=7,kx-,vlv-,pljg=6,vpxv=6,fsz=5,vqbp-,tcs=5,qz=9,xp=2,xp=7,kx-,ssd-,bz-,vs=5,mgpp=8,rnsbt=1,hdxvhr=4,rz=9,nq-,ktj-,pv-,cmpc=5,psfnx-,pqf=9,tv=4,jpc-,jfjbj-,vps=6,bszd-,jx-,xhs=2,cfnbp-,cb=6,nfgp=8,mg-,fjh-,mtx-,vrc-,cr-,njvd-,lffv-,qqp=4,cr-,js-,jx-,pgd=9,qg-,vsj-,bnhz-,sjb=1,nglvx-,fkzq=9,qhvz-,nlcrm-,kmm=2,jzxp=2,zrs-,mtx=9,hnf-,lk=5,nq=2,rpgj=1,tkpb=7,zzx=7,pnp-,rgh=1,qhvz-,zpc=1,pmz-,nhsvv=5,zqr=6,cggz-,lhks=3,bpq-,tfd=7,jm=4,kpjqgm=9,qxj=8,pv=8,pmz=2,jf=2,gxx-,jf-,mktlhp=1,lrpx=2,lqf-,scbjp=3,fdl=7,khn-,ddxn=7,dzn=6,chpn=5,vpxv-,kl=8,sqd-,vnk=9,vbz-,cqzt=9,lc=4,nhsvv=7,ph-,bz-,xzt=7,cqr=8,spfc=3,vsh=9,bbsk-,khn=1,bl-,lffv=3,pl=8,zdl=7,qg=2,vkz-,qht=9,xhd-,blfx=5,vbmk=5,npd-,zv-,bpqv=2,tvm=6,xqv-,zv=8,dbffb-,trg-,cqbvs=2,vqbp=4,kpfr-,ql-,cggz-,kpfr-,sbt-,plp=2,fsz=3,ct=1,zcjvl=6,rpgj-,nfgp-,zqr=4,zn-,mq-,ps=8,rtj=4,kpqvtc-,ndmt=3,plvd-,xv-,rt-,fb-,psg=8,sxlh-,nhsvv=4,pkbv-,vrzjf=7,dzn=7,mmn-,jfjbj-,vnkmzj=6,dp-,rh-,cv-,dzn-,lg-,rpgj=1,dph-,ctdbt=3,cfnbp-,gxx=8,hj=3,xnmq=4,lc=5,bb=9,zdl-,zzd=9,hzlzn=9,dz=9,rz=9,bzj-,xb=4,lrpx-,vlv-,dph=1,cqbvs-,ghm-,pcnzf=2,vr-,cct-,mph=2,nsxz-,ssd=2,hfrdk-,psfnx=9,rc-,pbk-,znb-,zmlr=1,dk-,dkz=3,rqg=3,mv-,zv=9,sscn-,bszd=1,xhs-,dzt-,mgpp=3,dnkf=6,tnfx=9,drs-,spfc=3,dbsf-,sr-,lfg-,bg=2,gbkt=7,jxj-,tv-,fjh=9,fdfc=5,gs-,vbz=1,dbsf=9,zdtz=6,fgmpc=2,njvd-,hfrdk-,sh=8,scbjp-,zn-,msbfzl-,px-,spfc=6,vdf=2,vc-,vlv=2,cqq-,vhx=1,hl=3,vkqx-,fx=7,gct-,vrc-,hpl=8,zm=1,ktj-,xmxf-,rqg=7,zm=8,cqq-,zlcmgc-,kkcd-,dtt-,jmrz-,gf-,xzl-,pcnzf-,tslfp-,pxn=2,ccs=5,lmlx-,cct-,vgln=4,xt=3,gxg-,vq-,dz-,vqc-,bgh=6,zbgdxg-,ctdbt-,mg=6,fb=1,xbx=1,xv=2,lvs-,kd=9,slzd=2,xb=3,mvmqfm-,kv-,jfz-,jc=8,mgpp-,shn-,kpn-,scb=9,txpx=5,zf-,vhx-,rnxt-,pxn-,mg-,gftx=6,fsz-,xnmq-,bz=4,nfgp-,gkn=7,bnhz-,qpm=1,vhl=5,pm=1,spm-,xfn=8,xf=9,vqbp-,trg=1,pkg-,lrpx=4,mf=7,rpn=7,vqbp-,vdf=8,zz=5,tslfp-,dz=1,fjg-,cb-,zqr=3,clg-,js=2,xjpbxm-,fnln=4,pgd=7,hzlzn=6,qrn=4,khn-,psfnx=7,grfxxs=8,lvx=4,spm-,zl=6,grfxxs-,trg=1,lmlx=2,rsn-,rb-,cnn-,zdl=1,mmn=8,rr-,scbjp-,zk=2,xrm-,lc-,pkbv-,ss-,qhvz-,fq-,bnlpjk-,kkc=8,fpg=7,tgqp-,jzxp=8,rm=2,plvd-,lfg=5,jmrz=9,vk=7,spsx=2,spfc=5,plp-,cfnbp=6,jzxp-,fjh=3,xjpbxm=4,br-,nrc-,sn=3,rc-,lfl-,plt-,np=5,bgg-,xf=4,vlv-,vrc=5,cct=5,vps-,xzl=9,nnn-,pvv=9,dmp-,sf-,hm-,vtp=7,cqr=7,kv-,rnsbt-,qcm-,dvz=1,dbffb-,dbh=4,bzj=9,ctdbt-,tnp-,ksn-,dmp-,qz-,lxg=6,dtck=9,lvx-,bfz=6,xgk=7,qpm-,ggqq=2,grfxxs=3,msbfzl=1,xqfrg-,nlcrm=5,hzlzn-,rfdrk-,xhs=8,xnmq-,pbk=9,jsv=9,zk=8,dtck-,jtz=2,nhsvv=6,ddxn-,ks-,tcs=1,jsv-,xb=1,ff=1,scbjp-,mjz=7,pbmldc-,tcs-,xhs-,plt=8,zs-,xbx=6,bxx-,qcnnzx-,dkz-,dvz=2,rh=4,mhh=7,djmlb=7,bnlpjk=8,jgmnxd=9,pzd-,lffv=2,xqfrg-,cb-,tzjln-,bfz=1,fnh=8,xf-,cqbvs-,lqfv-,ld-,jtz-,nj=8,cjk-,dsdm=9,thnmq=2,ck=8,bpqv=4,rgh-,mf-,sqjgc=8,rzjkqp-,dvmm=8,zthrd=2,mtx-,cqzt=6,gct-,spfc=7,trzx-,hlg-,rqx-,lffv=5,vf-,bqpp-,nhsvv=8,kpfr=2,dfz-,cnn-,gkn-,hb=2,vnk-,px=2,hxd-,zthrd-,xv-,jzxp-,vkn=7,cxq-,ccf-,xfn-,lxmkfx=5,pljg-,lqfv=5,rfdrk=9,khn=5,cnr-,vr=9,kd-,ssd=5,mmsz=7,fnh-,mf=8,lvs=3,vgslz-,pfjml=7,dtck=8,dph-,gk=4,ntg-,lpd=2,fnv=1,mnphn-,xzbz=1,zd=8,gf=1,tr-,lpd=9,vjzt-,ss=7,qnd-,db=2,vz-,lxg-,khn=3,vkqx-,fjg-,zrs-,tnp-,rc=9,fdfc=4,tqx=1,scbjp-,nbtq=6,kmqjt-,jc=9,txpx-,pr-,vps-,zv-,vnhfc-,jmthd-,blfx=1,vqt=4,spfc-,tzjln-,cfnbp-,zf-,ndmt=4,xqfrg=2,cmbv=4,mtx-,ktj=5,nh=1,mm=6,xv=5,ng-,bfz=2,zj-,pt=6,njvd-,qcnnzx-,qgm=8,fjh-,zqr=9,tn-,zz-,mvmqfm=9,gt=3,vgslz=4,px-,fnh=7,njvd=8,jtsdd=2,rzjkqp-,np-,ph=5,zqr=6,cb=6,sxlh-,pfjml=2,dmp-,lxmkfx=2,kpqvtc=4,mvmqfm=1,rknz=8,zcjvl-,tq=1,nnn-,vc-,zdl-,ndmt-,dtt-,mf=4,qcnnzx-,zzx-,pkg=6,xfn-,rnsbt=8,rgh-,vp=2,vpk=1,zz=2,mkj-,mr-,lln-,dm-,cfnbp-,sbx=9,dsdm=1,kpqvtc-,zzx-,bqpp=9,lqf-,cqr-,mlcn-,spm=1,dhh=6,js=4,pg=1,vbmk=3,vqc-,ftz=4,zxt-,zz-,xtl=6,pr=9,cnr=8,rqx=4,bszd=3,rl=6,phl=4,dvmm=2,drs-,bnhz=4,cggz=7,nhsvv-,cnr-,bgg=4,tr=1,pjfk=8,fq-,kmm=2,jjd=9,dbsf-,sxlh-,xzt-,mjjk-,pfjml=8,lmlx-,xtsd-,ftz-,nq-,kd=3,tk=2,vth-,nrc=4,vqbp-,grfxxs=1,ssmflk-,mmsz=6,lh-,td=2,vc-,qht=1,ccs=3,fpg-,ff-,ppq=2,cl-,ff=9,gk=1,zzd-,mv-,pqf-,vq-,vtp=1,thncf-,gt=7,ksn-,bnhz=8,xmxf-,ktj-,cnr-,ctdbt-,cggz-,vps=8,ff=1,jhhqj-,hd-,dphx=3,zk-,bg-,pkg-,gh-,nl=4,dtv=1,ph=5,xk=4,sbt-,sjb=4,tslfp-,kftx-,gxg-,mjz=9,bzpv-,dvmm-,zlcmgc-,mvmqfm-,jmrz-,sf=3,zz=4,vsh-,kfp=9,cggz=4,pm=4,nlcrm-,pg=9,xhd-,spsx=9,xmxf=8,bbsk-,pr-,qhvz-,vqfz=7,dp=5,ndmt-,nlcrm-,mgt=8,gflrmd-,vkn-,jsv-,qrn=7,gk-,rc=9,qvlzn=2,xtsd-,xzl=8,vdf-,fb-,mr-,vrc=2,qpx-,bmnlf-,scbjp-,vpk=5,vjsg=3,rvcd=7,tk=2,xstdx=9,tcs-,zqr-,kpfr-,rz-,vgln-,dvmm-,lqfv=8,bszd=3,nglvx=9,lq=5,dnkf-,sfp=3,pxn-,blfx=6,zzd-,sbx-,dfz-,fq=2,qqp-,rtj-,sb-,nbtq=2,bb-,zpc=6,tfd-,zl-,scb=4,nfgp-,kftx-,zn=8,rh=3,fzm-,qvlzn=3,ctp-,qrn-,ztk-,pmz-,rh-,vpxv-,lvx-,cq-,jmrz=8,sqd=2,kftx-,ppq=7,dvz=3,vblpd-,jgmnxd-,gxx=6,vnk=5,ntg-,sjb=3,dkms=3,bgh-,zsx-,xrm=8,pkbv=7,vttk=7,lxg=5,jm=9,vqbp-,kfp-,hzlzn=5,hl=4,trg=9,lq=7,ksn-,mmsz=5,px=2,lcr=4,td-,hfrdk-,rnsbt-,qln=3,dvmm=6,gftx=6,ppq-,xbx=8,pvv=8,xcq-,tzjln-,tdl=8,vf=9,sxlh=9,bgh=5,bqpp-,zxt-,xs=5,kmm-,ps=5,ctdbt-,hd=4,md=7,xzl=5,jfz-,tzjln=9,gpg=5,lmlx=2,phsl=2,jx=3,lfl=4,kpfr-,db=9,fdl-,rm=3,bqpp=7,mp-,xv-,bpq-,pg=1,nlcrm-,xk-,mq-,lk=7,hrbj=1,hj=1,ss=8,hnf-,xqfrg-,tnfx=9,znb=8,kl-,lqf-,dsdm-,khn-,cct=4,bzj-,spsx-,lc=6,jfz=4,plp-,fb=1,bgkjq=2,pvv-,br-,cfnbp=5,sqjgc-,sv=5,mmsz-,dd-,lrpx=5,mgt-,hdxvhr=1,dsg=6,zz-,gkn-,fjg=7,px=4,lfg=7,jfjbj-,ghbr=4,ftz=1,lffv-,pjfk-,spfc-,mlcn-,vth-,qxkrd-,ctdbt-,qpx=5,gqsr-,sscn=7,ghbr-,vqbp=8,bgg-,zf=2,qxj=8,bpqv=6,hlg-,tn-,lfl-,bzj-,tk=4,ql-,gxx=6,gqsr-,mtx=1,rqg=7,zzx-,lcr-,bx=7,nl-,msbfzl-,bhfh-,sxlh=7,nsxz=8,bgg-,pfjml=4,pv-,qv-,kx=4,dp=5,gxg-,qpx=9,mjz=5,zxt-,tv=4,kx-,xtsd=7,txpx=4,hdxvhr=7,pzd=2,vqc=4,xjpbxm=3,dm-,rvcd-,ps-,hbmt=9,nsxz=5,cct-,xhs=3,cqr-,fm=3,pzd=5,qxkrd-,rz=8,pgd-,txpx-,xk-,hnf=7,hlg-,lcr-,nqcj=9,pgd-,spm=3,zk=5,jxj=9,vth-,srp-,sbx-,cs=1,vpk-,srp=7,sqjgc=7,ks=1,dvmm-,zqr=6,gbkt=5,rl=1,phl-,mg=9,rm=2,dsdm-,rz=2,pgd-,gf-,bxx-,nq=3,vtp=6,sbt=9,kpqvtc-,qcm-,td-,bnhz=3,rknz=6,mjjk=6,qf=9,thncf=5,bb-,vjsg-,cnn=6,jxj=6,vkn-,gbsp=3,kpfr=1,lqfv=6,kv-,gt=1,fq=4,kl=4,rtj-,vth-,pfjml-,hbmt-,vr=1,xmxf-,sc=1,cgp-,jx=1,chpn-,xcq-,vttk-,vpk=1,mnphn-,mtx-,gxx=1,cgp=2,qvlzn=4,sr-,ct-,rh=3,rzjkqp=2,ld=9,pljg=6,vlv-,rgh-,spfc-,jm=8,fkzq=4,xmxf-,gp-,chpn=8,xtl-,cggz-,xnmq=3,rnxt=1,znb-,nfgp-,ts-,bqpp-,fnln=3,pljg=5,hz-,kfp=4,cq-,bgkjq=9,vs-,zngsp=7,jsv=3,dbsf-,kx=4,ph-,xb-,dsg=6,sn-,jmrz=4,dzt=7,mnphn-,vk-,kkc-,kpn-,vblpd=6,vqbp-,dmp=6,hsb=1,zlcmgc-,vbmk-,dp-,tk=3,drs=8,pl=4,sbx-,jhl=9,rknz=5,qcm-,mp=8,vqfz=9,ctdbt-,qp=2,vsh=8,nkx=8,qxkrd=6,bpqv=9,cxq=3,nbtq=1,sxlh=4,fnv=5,vnkmzj-,gpg-,nh=8,zd=1,rzjkqp=6,qpx-,bzj=2,fkzq-,lxg-,bb-,lffv-,xs=3,rzjkqp-,bpqv-,bz=3,zn=5,br-,zthrd=5,kc=2,ss=2,kf-,bb-,bz=6,hb-,dtck=4,sxlh=9,mmsz-,znb-,mhh=3,nhsvv-,ntg=1,bqpp=2,thncf-,tnfx=8,nglvx=1,bzj=3,gcbtgm-,cmbv-,ctp-,pg-,zpc-,rpn=1,gn-,ncjb=8,kmr=3,tz-,bnhz-,dvz=2,mvmqfm=5,jc-,plt=6,cl=8,vc-,qgm=2,ss=5,jc-,cggz=4,chpn-,qln-,nh=8,pljg-,km-,pgd=7,tqx-,xhd=2,gmrrx=3,bhfh=6,bx=3,msbfzl=2,rm=6,qcnnzx=9,xgk=6,gct=4,kpjqgm-,jx-,tgqp=4,sv=2,xf-,ks=9,pzd=6,zrs=3,md-,thnmq-,zzd-,xnmq=3,rc=2,kmm=9,rz-,jc-,rsn-,dphx-,bqpp=7,vs=2,kkc-,sqd-,tdl=9,zbgdxg-,qgm-,gmrrx=7,cb=4,bx-,lvx=8,slzd=1,fzm=5,cs-,xs=5,xxj-,xhd-,qcm=2,xxj=6,vz=8,cqzt=2,fdfc-,vx=6,rpn-,gxx-,nhsvv=6,mktlhp-,vjzt=4,lztd=7,zs=7,mv=2,nlcrm-,tkpb=9,sxlh-,pv-,qxj-,xcq=8,xgk-,scbpb=3,dk=9,mjjk=3,lztd-,njvd=8,znjg=5,lxmkfx=5,snpgsm-,ph-,pr=1,rpgj=4,nzq=2,kc=2,rsn-,dzfqlb=6,gf-,qcm=1,tcs-,mm=2,fjh=6,vp=6,sl-,kfp=4,tslfp=9,hl=1,fzm-,lmlx=2,bnhz-,sfp-,pcnzf-,gct-,jc-,xk-,zpc=2,jxj=6,tzjln-,bqpp=5,pjfk-,cct=5,qgm=8,sxlh=7,lhks-,mmn-,rpn-,vp-,qnd=9,mjz=2,td-,gct=6,sfp-,cb-,tnb-,zf-,chpn-,pkg-,gs-,mmn=2,mnphn=9,pxvxlh-,fm-,vdf=2,vnhfc-,njvd=1,npd-,cl-,vhx-,kz-,hl=8,bpqv=7,ks-,pl=6,txkh-,mjz-,bl=1,cqzt-,bbsk=7,ghm=3,tpj=4,tv=2,qf=7,tpj=7,ztk-,mq=2,jtz-,vkn=4,cs-,xdfz-,ccf-,lxg=9,ctdbt=1,trzx-,bnhz=6,gf-,kjrc-,vr=1,msbfzl=2,vblpd=6,qxj=7,cjk-,nj=4,cjk-,sjb-,ng=4,rnsbt=4,rtj-,frgf-,tqx-,sbx=9,kmqjt=8,rfdrk=8,ctdbt=5,mldgtn=8,rfdrk=7,pnp-,phsl=3,vc-,hz-,rzjkqp=9,njvd-,qqp=7,pjfk=1,sscn=2,pkbv-,lfl-,vp=5,kr=4,ccf-,plp=8,lpd=5,mph-,rh=6,zl-,lc=2,jhhqj=5,xf=6,snpgsm-,lq-,sxlh=6,vsj-,trg=1,cl=1,vjsg-,gp-,tn-,mlcn=8,gmrrx=5,qfb-,fx-,tzjln-,tfd=2,bg-,bkxf-,qpm=3,npd-,ssmflk-,fpg-,rknz-,zngsp=1,nlcrm=4,pt-,vkz-,mq=7,mldgtn=2,gr=7,fr-,xzt-,mkj-,jmrz=5,lxmkfx-,pxvxlh=3,vbz-,nq-,sbt=8,rtj=8,ktj=3,bpq-,mq-,lqf=9,vp=7,vz=1,bb-,ndmt=4,vdf=7,mr-,fnh-,rzjkqp=7,sxlh-,bszd=1,vgslz=5,zd=2,tpnmp=6,fr=2,bgg-,lk=1,qpf-,bpq-,xt-,ps=7,pxvxlh=1,fkzq=7,mgpp-,cqzt=6,bbsk-,clg=7,ztk-,bl-,vjzt=4,tk-,plvd-,jsv-,zd=7,dm-,gxg=8,lxg=2,bgkjq-,np=4,frgf-,lh-,ssmflk-,bc-,vjsg=9,rfdrk-,jx-,pbk=7,npm=5,kjrc-,jfz=8,bz-,bfz=3,ld=6,hj=4,msbfzl=4,clg=2,vhx-,vq=1,hb=4,mmsz-,sbx-,xnmq-,cqbvs=8,hgp=5,qlf-,nfgp-,ztk=8,vnkmzj-,cmbv=9,jjd-,rz-,bl-,jfjbj=7,hxd-,tfd=6,sh-,frgf-,ctp-,sjb=7,vsh=6,br=7,vz=9,px-,lrpx-,fzm=3,tslfp=9,znfd=5,bpqv=2,mktlhp=2,hm=9,znfd-,xgk-,xdfz=7,gxx=8,vpxv=3,qfb-,qnd=1,gpg=1,txpx=4,zmlr=4,zk-,plt=5,dx-,qfb-,vqbp=2,hzlzn=3,bfz-,mgpp-,xf=1,fgmpc-,rl=9,fjg-,qpf-,tslfp-,qvlzn=3,gbsp-,scbjp=1,mktlhp-,jhl-,fdl-,jmrz=1,rc=8,dmp-,clg=2,xtl-,cqbvs-,qfb=9,lpd-,kmr=3,xh-,lh=4,spfc-,cnr=1,lqfv-,scb=7,kd-,rqx-,tpnmp=5,pjfk-,qz-,gf=7,tz=9,kjrc=5,td-,bl=3,dmp-,ccs=9,rzjkqp=5,npm-,kpn-,pljg=6,dsg-,bg-,mhh-,mvmqfm=4,xzl-,plp=7,tk=6,zn=7,njvd=6,lqfv=7,rzjkqp-,kmqjt=5,cv-,mf=7,gxx=3,pxvxlh=4,nbtq-,vqzhc=7,bpqv=2,sl=6,ccf=5,slzd-,ssmflk-,sf=3,vhx=8,mmsz-,chpn-,fzm=2,xtsd-,tvm=1,zk=9,hm=2,cv=1,lq=2,dzfqlb-,kmm-,rxv=5,txpsv-,nrc=7,ps-,gflrmd-,tv=6,gs=6,znfd-,kc=3,zzx=8,vc-,tvm-,rtj-,kqh-,dsg=9,fx=3,hm-,rsn-,lpd=1,zjvd-,nq=6,hgp=3,vqbp=5,jzxp=5,pxn-,js=4,zthrd=3,nj=3,znb-,ncjb-,kc-,kmr=6,lcr-,vs-,kpfr=3,jgmnxd=9,bhfh-,rv=4,ks=3,hf=9,bgg=4,fsz-,hf-,np-,zzd=8,pgd=6,kmqjt-,znb-,fb-,qlf-,zj=1,pvv-,nzq-,ng-,lmlx-,zdm=4,hvglb=9,nhsvv-,kjrc=4,hvglb=1,ctp-,qlf-,lfg-,jhhqj-,txpsv-,bxx=3,ppq=2,vhx=7,scb-,lq-,sscn=9,pljg-,gxg=2,cv=7,zm=6,hdxvhr=4,hpl-,mkj=5,zl=7,zcjvl-,xp=3,bszd-,lxmkfx=5,rgh=7,lztd-,xv=1,cjb-,rqx-,gflrmd=5,lqfv=1,fdfc=4,vblpd=6,tslfp=5,rnsbt-,tpnmp-,cmbv=6,cq=5,gk=2,zdtz=8,lhks=2,gr=2,cxq-,xzbz=7,bpqv-,cmbv=3,cqq-,bgg=2,znb=3,vkn=7,gxx-,pv-,vf=7,gbsp-,qp=6,grfxxs=2,vqc=6,lh-,msbfzl-,dfz-,fgmpc-,kmqjt=3,qrn-,pfjml-,pm-,qpf-,qg=8,vlv=4,cq=6,lq=1,tnfx=2,cgp-,lq-,vgln=7,bgh=3,ggm-,jtsdd=1,xk=2,rqx=5,zv-,mhh=2,bpq=6,fdfc=6,lmlx=7,hdxvhr=5,jgmnxd-,lvx-,vrzjf-,dtck=5,ph-,rqg=5,gf=9,nqcj-,vqzhc-,bj-,fjg-,qln-,jpc-,vnk=1,sbt-,qf=8,qrn=8,gpg-,nglvx-,dbsf-,hz=1,jfjbj-,hbmt=1,sqd=1,cl=7,bzj-,jtz-,vblpd=7,znfd=1,gpg-,drs=3,gn=7,mvmqfm-,cr=3,tpj-,ck=3,qp-,zrs-,tpj-,gcbtgm-,zv=8,lfg=8,jxj-,ftz-,zz-,fdfc-,plvd=9,spm-,fkzq-,xcq-,sqd=4,dph-,rsn=9,vjzt-,xt-,dsdm=4,qlf=3,qht=2,js-,sv-,slzd=9,spsx-,zk=1,rv-,jxj-,scb-,db-,ff=2,cq=9,nh-,fzm=1,cs-,rzjkqp=4,vx-,qp-,spm=9,tnb-,bgg-,phsl=2,lg=5,gmrrx=3,pfjml=1,psfnx-,dbsf=3,jmrz-,lztd-,vrzjf-,vkqx=8,mv-,sqd-,hrbj=8,tgqp-,sbt=6,lhks=2,vp-,mv=6,snpgsm=9,xf=3,tnb-,hl=5,vqbp=7,zd=1,fm-,hbmt=7,scb=1,txpsv=3,jf=6,rc=3,vs=7,qpx=1,sf=3,zbgdxg-,xv=7,xv-,hgp=3,nfgp-,qht=8,vblpd-,ql=9,kmr-,rtj=2,lpd-,rfdrk-,rxv=5,sbx-,rfdrk-,pgd=8,kpjqgm-,vjsg-,cgp-,fnln-,dvz=3,pbk-,mvmqfm-,lmlx-,ndmt=2,trzx=7,tnfx-,xgr-,zlcmgc=5,plvd=8,gs=5,sv=2,dk=9,vnkmzj-,vkn=3,xbx=9,kl-,psfnx=8,ppq-,vq=3,xzl-,mldgtn-,plvd=7,gcbtgm=1,sscn-,drs-,bnhz=2,lhks-,sf-,pbk-,sxlh=3,vkn=2,vqfz=9,gct=1,cmbv-,qgm=5,lg=6,tnp=6,jsv=7,mmn-,xnmq=3,vx-,fkzq=1,vqbp-,gbsp-,txpx=9,jtz-,hdxvhr=8,xk=4,xxj=3,vrc-,fjh-,pxn-,gbsp=8,hl=5,jm-,zn-,chpn-,nbtq=7,kqh-,chpn-,nnn-,hfrdk-,mp-,bgh-,ns-,vsj=3,fgmpc=1,kd-,dtck-,nh=4,frgf=3,cq-,pt-,vttk-,px-,smtd=7,ctf=8,zn=4,kl-,jjd=4,bzj=7,cnn-,mtx-,pzd=1,ssmflk=4,jgmnxd-,ccf=4,jmthd-,vnhfc=7,srp-,qxj=7,chpn-,nh=2,kkcd-,dm-,mmsz=4,fnln-,lq=6,kkc=1,bq-,nl=3,mmn-,jfz-,zf=4,sl=3,sqd=7,dtt=3,ql-,jmthd-,ndmt-,vqc=2,jjd=2,jpc=4,vrc=9,kpn-,gs-,mjz-,ftz=7,bq=5,cv-,xv=2,mktlhp=9,cmbv-,mtx=6,ggqq=7,fq-,rknz=3,xxj-,zngsp=3,rsn=5,xrb=3,vrc-,fb-,phsl-,plp-,pl=9,cr-,vpxv-,lk=4,khx-,rpgj=2,kd=7,md-,dvz-,rl-,dkz=9,fsz=8,vq-,pm-,xf=7,tv-,tk-,dz-,qqp-,bg=7,xb-,nfgp=9,ng=7,kfp=2,mp-,vbz-,lxg=5,xqv=1,npd-,pvv-,xzl-,slzd-,dmp-,jzxp-,dphx-,txpsv=7,mldgtn-,ql=2,xgk-,mv=7,rl=7,kjrc=6,rl-,jfz-,ctdbt-,tdl-,fq=6,lcr=6,hzlzn-,qpx-,nbtq-,td-,mr=8,zngsp=4,vps-,ssmflk-,djmlb=9,pxn=7,cqq-,nlcrm-,rt-,vgln=9,gn=2,nsxz-,cfnbp=2,xrb=8,ts-,bfz-,lh=1 \ No newline at end of file
diff --git a/aoc2023/src/day16/input.txt b/aoc2023/src/day16/input.txt
deleted file mode 100644
index 1778ec0..0000000
--- a/aoc2023/src/day16/input.txt
+++ /dev/null
@@ -1,110 +0,0 @@
-\..../.....-...|........\.|...........-..........-......|....././..........\..|...............................
-.../..|.......-............\...........-\|...............\.....|......-...........................-./.......|.
-......../.-.-....\...\-.......................................|..........-.......\.....-.........|......|.....
-....\........./..............|.............-..|.|.\.|.-......\........./..................|..........\........
-...|/.|..........................-........................|............|-..|...../\................./.../.....
-...|.|.......\...................|/..........\\....|....................-..................|..................
-..................\-|..........|.\......|........\.....\...........................-..............\.....\.....
-........./.-./..............................-..........|......|................/.............-......./...|./..
-....-...\..........-......\...............-/.....................\.........-\.........|..........|.....|......
-./............\......./..-......................../.|.-.|........................./.|......|...\.......-.-....
-...........././.............|..........-....../..............-.....\.-......-.............................-..\
-......................\.|.\..................-./.....\....|......................|..\...|.....................
-...|.-...|.............../..//....-\...-.-...........|......-....\.|-.............\....-.|.............\......
-......|.....\-....\.............|../..|......\....--................/....|..../|../.....-........../..........
-.............|.........-.../.|....................\...........................................................
-....\...\.-..-.....|.|...........-........./..../..........-.-....|....-..............-....|........|....../..
-..........|..............\..|........../..........................|.....|\.-...........-......\....../........
-...../.......|..../........-........|./\..\..\.\././.\.............--.......-..................\./......-.....
-....................//...-..........-.............|................/............./.\....../...........-.......
-.\-...|-/.......-........-...-...............\../...........................\/.....\...........\........|.....
-.............................\-......|......\../......-..........|...........|.........-.....\..|......-......
-./................/........-.......|..\..../|............................|...........|.-.|....................
-.\.....|...............-\............|.................|...././.-...\..........|...........-...|...-.....\....
-.......-..../.........\|.....................|....../..|/./|..........|.......|-.......\\./......-............
-.....................\|......../-.............\...|...........................\.....\.\.......................
-...|\.././...................|..................-.../\.-............\.-.........../............../.....\......
-.......\..................\..|../...........................\....\....\..../...\..\\./.-....................|.
-...............|./...\..........|...|....\........./......\...\.............\.\-......|......-...-........|..|
-.........-...........................-...-............\...\.\.................................-....|./........
-.-.|............-.....................-.................\..../......\....\....\....................|.......-..
-.....\.|......|..../................|......|.....-...\|../................./...................//.............
-.|.........\..../......-........-............--...................../........|.......\.....\..........-.......
-../.....|.|............-.................|\.....|....||...-..-....|/......................|.|-..-..........||.
-...-............|.-.............-.....................\.|.............\.\............\...|........|...../.\...
-\...........................\.|................................................/.|......-.......\........../..
-...................|....|.......|.-.............-..-\...-...............................|..................../
-/...../.....\............../...........|..|./...-.../...............................\........../|.........\...
-..-.......|.........../.......|......../.......\.............../..........-|..................................
-...\.\........\............|......................\........|...\..............................................
-../..........--........|....-..............\..\.............\...................-........./...../..-..........
-..................|.................../\..-..|..................\....././..|......-.................../.......
--...\.............\..-..-.................../...|.|.........|../|./............/...../............../.........
-.|\............................-....................|......./..............................|..-|...|.\........
--........../...-....-.......................|...\........|.......\................../.........................
-........................................................././.|..|.........\................/|........\........
--.....\.........................|...........|..||..|......................................\...\....../.......|
-....\...|........\.........................//...........|........-.........\..........\-.....\................
-....|........|.........../........../....\........|......-../..............|...............|.........../......
-......\................-...........|.................\...../........|................-........................
-...............|......|...\............\............/.../.......-.-../............................\......|....
-............-........-..../.......................\..-./.....\...................................-\.....|.....
-...|...../......\...........\......\...\......./...........-../..|......................../...|...............
-...........................-...../....-.....//................../..........-.......|.................|..-.....
-................-...\.............\.../.../.\../...|.........-.\...../.................\.............../\...\.
-.....-..................../......................................-...-............/...........|...-..........|
-.........-..........\.\................-..\............................|...................-........./........
-...............-....../.....\...|.........\.../\.......-......|............\-.................|...-..........\
-.....\/......../../|......\......|.....--............|....../........-.../....-...-...........................
-..../....\....|.............../..|........./............-.........................................../.........
-.........../.................|....-..........................................................................\
-...-.....-./....................\..../.\\.................-.....-....|..\.....-....|..........................
-.....-..\..........|....|...........|.|....................................\.......-.../.../-.-........-.../..
-............../......./...-.......-..|.......-|..........\..............-.-....|..............\...............
--........../.........|.......................\....-........../.........\.................../.............-....
-.......-....\.....\..................\..../-.//.....-\..........|........................../....|.....\.......
-..-./............./|..|........|...\\.........\...|......|.....\.........../.\......................\........\
-...../|.......\............../....................|.............-...........|......|....../.........../....-..
-.............-...-...|..\-.........................................|.......-.........|.........\..............
-......|......|............/.........................|.............\.............../....................|..-...
-../../|\......|..//....../......................................................./-...................../.....
-.....-........-................-.............|.-./..............|...-...../......................../..../.....
-...........\......|.............|....|.|.........../........|....................\.\......./..\.\..|..........
-.\................/....................-..............................|...........\....\.......-....../.../...
-...............|................-.....................................-..................\...............\....
-..........|\..................../............................./...............-.....-....-..|................\
-.................\.\...........................................-../......\.....-...............|...\..........
-..|....\............................................./.........|...-\.........-...\..|..........\.............
-..................................|...........-....-./-.\.-..................-............................./..
-....................................\-.....\\...../..................-............-........../........-....\..
-...........\......./...../|\..../-....|........|.|-.....-....|.....||.....|...........\..........\....|.-.....
-...\..........\./..............-........................././..........\././...-...........-............-...../
-\........\.....-..............................\................../.............-........................\..\..
-.........../.\...............-.\...-.....\............\....\......--.....\...................................\
-............\...............\.........\\....\....|......\.......-.................|...|....\.....\...\........
-.....|.....-............../............-............../.............../...................-......\...........-
-..........................-...|......\.....\.......\........-................./..........-......../.../...-/..
-../........|....\........|..../...........|...-..|..........\............\..../........-................|.\...
-..........-............./........................................-.......\.|/......./.................\.../.-.
-......................\.........................../.../...../../.......|...................|............|.....
-..............\..........-/........|/................................\...........................-............
-........\....\....../.......|.-........\........-..\.................................|.....\-.................
-........\......|.\.................-..-.../.............\..................|.../.-.............-/.............
-.|/.............-.\.........................|...|./........-...........\../...............\./.......-......\..
-..................-....|.....................-........|/.................\.........../..-.............../..\..
-......-......-.........../......................-......./...../.../.|........\.../....../............\.....|..
-...|../..................-.................\.....................\............-...........|.....|.|.........-|
-..............................-...........|..-/.................|................................../..........
-.../......../.............-./.............|...../......./...|...........\..............-..........-....|..-./.
-/..\...|...........|...........................|/................../......./......................\.....\.....
-..|.........-........|..|......-...................\.........|...........................-....................
-../...-.....-.............../...|\...\.......|.................|.\.........-...................-\.........-./.
-../..............................|.......|..............\...\......................\..........|...............
-............/....|../....../.............-............................./......./.................\............
-/.....\...../.........../.............../...-.../\.....|.....|............|....|..........\.....\..../........
-....\....-/.........................|............-...........\........\...\.....\\................\........-/.
-.....................-..-\...............././...........................\....-./......|..............\..-.....
-................./........|.......-.-....................\.-.||...-.......\./.|./.....|...-.../......./.......
-........-..-...../.......\.........................\.....././.\.../..|...../..................................
-.............|...............--.........../.|\/.....\.........................|..|.....................-......
-..........-...|.......\/...................|....../.-...-...|....................\..../.-...../..../..-....... \ No newline at end of file
diff --git a/aoc2023/src/day17/input.txt b/aoc2023/src/day17/input.txt
deleted file mode 100644
index 04d0721..0000000
--- a/aoc2023/src/day17/input.txt
+++ /dev/null
@@ -1,141 +0,0 @@
-111143231245512453233532231135242346643223434366453543664553534426223663625563233556655232522464453223446255523366641115221525545241115541324
-431121345255453245532513346436354562424226665435625542452543534236556535432235356366222264336444256255334564563564226352335454152333342425531
-211555234333213145543413562433332533444634432342622623343343455746676435745474465524463464332524462636562533446346254251543254415111115352424
-341511535443122253134546264233423566232562433526456565542774357646735536654673474477533643232255236632236625425666662645545552141115242422515
-341111243411143233254353542425566625642433362644332467546476655667755374563574564666444577323426235362444224643634223545235541134121215423153
-531254335432123321511666236453536252626542365563233477476436375343677375447543535337476464737335222455333555262365434346341345121543421555545
-352535514521514111243342542545234362225656644366655563365373766737565463557476566764463743673533232534423432654354532444434614515232111523231
-534444213321253145553225546453244552566243427573456456543553566474735356663557433377547454546773337365265654362565366242546625513555231514252
-323313551435534512622225362562263434433225636635664736767633535463645434646666633445555455344676663776363645426625355443264235342154354541551
-313344353445542136265245463656643456254675743474744556363764667356336334435764645543447755363434777747562523535253545462232443334115422245343
-411545355323353632256366354543644422255357345374367446347554465766367637555443653555375756736537575763375343236242446526465226534224412555332
-533131433141412662643523326542423234474465776365555735754776645376734774677646654667473753373634447774446536352326333564334433362123135411531
-512414542555163643526524526245525623733466554345447435364657576457576376563367444354735757756765547755635545232536536433564236626315454145425
-222144425355524633235543562342566454344764575745367646565574575636547773457356646456657637437547666745757773472565443652346664466335313555551
-425225555322663532264234233335563664747574765576347743444637647676737567333767356736363333744734647436646746476523664454633653546545122514442
-433432345135556643645433433353363575647663645376464776466577573557373364773353335555374554433464633534445576673653325425446624523422432115313
-331554441535436542646663554246654555367643355653745635636355676647567487764456667645455574637564434547453345476356634245324255236624234322155
-412551332642256525656556644673435575337544534765547457535765745875846744677848864748453556456475334367766655534547433255523464263563352324545
-443534155643554356242335334673736746664536333346353556577644664845484655676855576588488476647745635435535753465654355645265546422335564424541
-325113645335432555665355233555675344354467477467666744857886746774544874557756677867665777554343734443655754353756656432453432656526442431243
-435351452355523445664565747636637443475667333666457866648755647865645478687666547687547448455776553463657435344656637472443446523245236631254
-412143553424345325232454645555356743366537373758877467577647678654487674848784877787468644447756553677573465574353736576542332442522366564144
-431363252452364445356544557475337767655336557686768756474568654665465464884556855744876886546758447344734334637754557774553226363256242242651
-554256445333463534225356746736736743336763377746888675584476754588545785578747858657577787754874858864355637365443444365474546636352256656323
-425454462356554263636434334444466455765534574648745458464655777887654744458644875776467657545757755464375636667554445537457232633344456335351
-322453463334656455234546433475533746373377467777858787845857478676767845586566768464584884875677444488543533447537536376643424666645653654426
-432326546526255522353556547373665657473456445577748547665675868677547547785865454645454554774845748574876563377757437467553465624365666252336
-553526552222562635473565556657553364657548886884887656456865855666787554686645654858555566768654648745854464677634735446546732553642463664265
-664326265443345443746744735336634755665574447844755544578487644586454874856778477455686458576478578547554484667445666574665353445232224622335
-236532234245355276756476464355554554458887564887776455877644448447886868476548867546888764476866776558545547574453545467364757744326636223642
-632462455662552665443463346747745775658756746854568758745668675885889865596789855788675844755468675857556885843566367733464537666322366344223
-266666434363243576375767356665666877464755765578746575486748669688797696588866786698768646566485868545858886667435664777734463342523665555235
-443556525665656734577633335664448556655454678484454777545656666779696855688567966656964658877444685858567566545447466467443774467266252546652
-624455255224344733376335533753476658646544876564465586875955788776686876776867985856986576866568765548476654745754674775433435367623356456444
-262555462622446474437456377453868684444668468464476655987967866795876695585957798678969855857886488747765845586764675544766563666356435634332
-665624325625734563547365736536784556858567746767459867695988595777767769865658796865788965789678867667866557578674565534645577447432435556524
-333523334637534573776476636576557488766777764446687995988678876956786678875775556987997957898658565656667557575548444354657655335367544525324
-456466363423657475573575435664578688587455448765669969578697785989658879886787878568857799889578874487556756544556443334633446546536443652664
-222244452574756367757776634686545577855644575756668896567598879867997957659885755779787658957586658876446588645487856454536434636745444545545
-232636356457556536556365668745444488466474574987976697975796699686796855588666956768955895958675868455454458767755755376733663633374544556332
-332332622576377345736534646747554866678866788995569677878555787567775875779596796566579977885676656586446765845854744577365444454343372523366
-555664262474645377674577674647867577478684688557896658796655557657577765775656667969779597586797679965585456677454664556665646757366673426233
-356255527734373436547644678865777848585857997655679875687575776559878678858588867877856678657789789868858554664844468646634734744447367636636
-552366365773455644547347758554786677468775568778877797978995878598699565857955898857969565997667878757554646688678786867367546447363537255433
-234653475644663446373734847876648467867886788586887579567587799999866977967976866766799575567556897979657666685654448547664746376435346465542
-252443375445565446367565867885578575654575966679888956889877897698678786876967769856955595897679599865976488848485865647735437666446344436434
-243525237374773653566366744564464668675869676798668978579668697966669789967787689668989669967785588576658588654658478886653675446657763525423
-562444777554463656777574486488654468576556956965987679867969676669986697889777667866868559769957958968686745774765777755575354754635335676536
-264352744565456657667484888447847467598998779789689696779679766996889786776689888878996777588978666887977978585445584446655336663435446574336
-463534645476375645554684778858555786676885996565697889699888899766678879678998899799887896956567777585869788585685647484757343657653773563665
-432465634665435774545666885858845649887698657968779889688769778768696698686869888977969768555995578977568967465456666555784577674443567347654
-242537757554573534676885677655767659695959757675998797988778888678799667799866896879686987675557878578887699478448447774787663353534367754553
-524667356567664767788788786864867869567798856688887886998887976986998886686668767699776989677585877675977659745685675557555653563563733554246
-532356647776353655754665854564646466686577777586598677698878676969777768866697689778788897669979897577868888984565784456765466355374543736764
-353546744764545745656756586777658658697565657989587766697669768667797768668968778798869989666758756995866965667844757477467833575363475573665
-442363475553366336665585574875754767958869656955766897687769989798869789778887686787686676968967586798766967684684745655757855634753733757752
-663437377653673574868444644474888676596699778559668686678686966786679878697997667998668668679678775566688577957447548475848855753337766577654
-245676667643445744476584585486889868856958677757876786686678679686978889886998888999768868796876597559998755655765588557465675655453656434644
-623664534334746636755767677464487956975558566697767697896988988986888777988897867888887969667768658555778858798767857588765444464637377577456
-524435763477353755875846887578787556979997766576796978767969777889977779899788987687978888689776897659786666856748548645756774746364367376634
-252436533765577358467857485675499965699779976868778779896779686779787987877779796678799678678799677596566778799678664684774444556767456547463
-425573537536465645667877564778768875796687778666777866678866888788777997889889889698977679979667875765578958585784474754466784455733343567735
-464333643643774675646874764777889966956967776676876886799688979878878778878789889986887997868689965998667998898957544586884784556635746634644
-467634766367575447675444786885857898689798675679979967666789787898898779879998789996988787997866879557586768558865648756677648655653544434374
-343746456733555668756758766647798687656987598967767769799669777877779899879877997887788976797777786786686766555655656558576555537543536634463
-263736676335556377774776475777798578965889979797877679967769989798889889987997789799998866789986877778878665966865757677884784553474773577764
-436645433455747776854766587748677575858967897999889678767678779989877889979988889997876876767987687678559995869785556756658784533445456534364
-457333367374443446568888867558968899899755558786887989669778779799789777789789877797786878778769899759866986568874778856465478635343345547556
-653357365735437544784775777648977566996787598779866797796688878798979898888979997778969666688778767767968675685577484857666844654735677553374
-454465553543537354546566487886759755777886869789896779676678877997997979878787978898769888779699678677788756997994554564684577435566665665735
-645535635654537444576458775888989557678676898899899898879778777789998888888977799999876678677779969957869757677687688584466575575557463464574
-633446673336665785786556488457569967799656676688968667697989989999998988788999877898996869789799978989768599766594875486774675764367566653437
-365763544374353687774557856867888579757898686969676796986689878797978997979877977999799987889766778769957988885866744454548487444537747767446
-333636755475457746774775664885768689998686877878978686686998999898899898989888977798768997778786769665986876885655876855777745646444453543776
-257347366566556755557468747484878859559855958778679799887889887788997889779777777788977698668899997569799999896694654866676457747663766657374
-554664657744433558785576687586858965859676988969678669886988889998798779998998788898786688897788767697957657558568566856664764845635356777743
-437633353637643445485457545565887558959759869766978967769977997997797798898879888977777798877668879696986885979575658888674584733534445447645
-336773576566535576644748576564988895569965579877899669988897888788798979797979977997979687769689677585858655985875545766888476856753753775643
-447375436754766447678756554674875656886886797769889788989967878998987877797878888989798769897678795698885689978868887845785867854575334643545
-533774774334356485744844667888778799675896759697877967979877898888989779897787899796896869887878898896679879895846474568577556875467653377434
-526636647656677568754477458676456866878885686668989676699978797889989979777797888789689887999898765668796877998956878884644777453766767665573
-345776437655574577556784475666467865969688769689967879888899898787979977987989787869968767788798958965676985977558887786764565334636477577473
-462757555367744435776477675765555899756777555889787899796876786789979777799889999696968778897788975596967795797586768684467474533464663474556
-345335634367663334474446748788558686895898855886668998998877799988977999887787778696789977998687999799569767555576845465465587544735477547753
-352747473367547538454567786546446657585759898569988897798777688798687998988998969877688876686969789765886558558776665847888845556554375745442
-525653575563555774887556547555749798556987599756797867867689696667867966889689666776786689697968958698665787755764558846666855575573747534345
-326455665753733645448778877747875897567979969887898786977796667699978788696867677769979676996787658598765877957588784457484655764635365737434
-532467433765464655746576865775654596585859789697688867896988996977778898788669689878989769996769668658678679877544854467444775477564333674625
-335554544454457654447885484444866987787685589987766897996999779767969767678887676699997786677685669976768778997556877487444743767346766557456
-266536345774333444487446686656585797768599588595599776878699669999678767879886989896988777767965756768698777544665754856565457554453756356643
-342464363736646775655856546787754867795697769679858888796987869768899868797687697688878796789895765557688688985446585777584467466735366644363
-523237467646754656468466848574555667758689797896579777988779889977689668778896667696797676667785685755986597446645664545687753465567453354335
-323327756536477335755748475656576547887995887876985968976869696887779786776968996997867687879755599699567657755468776866885345435457655334225
-465352366554666376467456666544455546795667757799755996999978667976979767898877678768888758985566989859967794845764466677657453363336553674426
-555533553546357444765675856588657557878975766698966577867797677999988677666767968786787775798789997676876774564485686564547464355336356456634
-653433475335664753473446858774765764677666859687678977599767969767797969796977878998788799568865956576659644565846455864883376645435553556424
-565624333374353367374378478655648748848595599966858998869589999997986786677787987969558898667876766679797576857877576788664777573454645755524
-243444333564746346366668646545674655784777777596558976769676598668789667999889879766877787867797657978894768877458688756477776644647454654652
-323463545665546577475645558786854468657757569879597766865559566996799678799877666898856695986577997898647684875678677855454775654547364424426
-444345546665673463753634768476874774848587769865579789687878579978877559996587865859858789976885557859466565567686888557474764574774566345235
-463425647566774574744333678886747686865457799567576858589676667856577976986668978996686799577977886677544648876855645547444577633464636553523
-525644666573444644576675468484675575784565795957567577578956797786787796869877557895769667588675596744747766568788564546563666667763666225253
-434232334334645346434743378448585848667846577675678568857556598869978967698795766555887989895656586784848574867846777433673543643643345636354
-536245546237555656364544635858554588856888685777969769765876857989857999778897756695765797865577585676877858667674464376646773636576723344236
-563432433237543453765335674454676568784657684785679757868567556875775895977656667977959855575979944776757767668868556665477773367647645655455
-345662256237647446335653655474847777777457855878575955988896666669879768598869889768857697696556455457585858777745474363376763373677455666452
-236454255236363665663365567376855855468585857577666775857999657659868999786755866568579898667756458558654648847578447446356744353365436332433
-236656544552467767567677567448876458465585754786588555756756796978557899579678886778787886777445766574578586476464377437556375345344545245426
-662325463226374566436333654547585676688868454444785599797776865969998677956976597586658865956686866776584577484553367473533563564746536336443
-645354345344537355546665737533754846786764888785557644675696956878965869566966978688779976776866567854756646786873676654337473445524622236626
-233264254235366666736346437575764477565768544667785545578799879958588586787879788669995878745846576785646778646655574347764645533625345535563
-432433242246235746473543477553563665775475774755874587665558965695658699586897695998868747444878848474546545784334377573356763473236426645266
-243532622522636755753437535657447776765475565645845684687588454765579856966696756574665577485786546848546585774336373636476643336442355233566
-424366665443243666567346434354557355888674468846456668847655454648844584447647747545884765768788475648857654773677576566637647654653266642645
-355566553355543667644766357475663334576684855756856557474768868686854785488845464657775755684775878866867574456477457355345767654443322524456
-252226355555353432774774553656764464764766745687577646548754448444648855656476668476765857676478568588685475446655746336375532535436262246655
-124465325536222534633336746764356663557877585584548488677874547445477547864878867577864565556567445544564676546443567455743324244266455364265
-444646453636346242245546654333667346776464746865665867844474866746647865554675844644775465548557754474556375345735665646364353323526625624235
-412366252635624522466346354375765373635554864778855885678875757885648677787758444554675487467557768856743453437365564667776246434655322223525
-155662534242554334526573346673376775437747347484686774778445745547688488858484846876546748684767564753677657367475756735363326425522532252354
-111522322233565252443476336555573575463347454766857665787786477486485455577564475876657687767758584655535533636353747434645522266562523335624
-542422536235454325532645676434563747567556555574458874646877684645545674855674568675844866465685676443356746355677555555666633655263646665442
-211224626424363426643222663657775566775366634363464577678645547647756688757557454788857466767766573445336567467663545634344363446256343542532
-524353365435226556556322567464746534674443466757337368478575456847447776487687768855745786663475737763753364433366577364223462546556234245115
-351231443465264363362336352643774674346454366777533445747664448478677857785488484766644654674764373357565474433475733244565424353322356533151
-554223355636366655362352555655373675564737667663367637476378475656775876558465484467733734736556746773634646373557532336625245362343245314352
-415315224565323443623244633253477545773643635677437734464354663476745457476448456747555563574755374344343366743744432254533234544233652442452
-155321252324634365262226535534446766435373535475553354733776334766573455373756333733573667436757467643766753335642442322554323423224452212311
-554231145244425252354633334356244765663464645674467736446536735636374435547767747353673645457676564473344375654424643234566252323463342424331
-145124531215355646265623243325355765435544464565637674665536435365374465373674364755336673456445565567547775765322264364462642335223541214445
-245544533254142563235523522653435334444477535443567574737475663654776577746444777346766467745333753447653577332363336365532325543231234334451
-251214311244114545554462446423624626676363375354453335776637374775465676343453547674544736356577777464764476336235452444566243644313151353524
-251353112524455635524245344436546325534376365643536356555677555675344355745373347466346575334347466467665642344265334364324562252124525455152
-454211332313421263343625436544345634543275377555633667545444553367537367674333374344744754673653556564665546434666555266442463652431455221541
-115242354251513424524244565345324542344352356476443353667354646467467637463545337377445445357757536673532523352342633456335464421222514545231
-234551552324343221533222663526446236435634463664377555475474346673535434445744753657775466665644563245222634266653436345463353354354144115325
-325412113545232114263462446356336532466543425623356673677337363765363633556375433575757664356773345344465345555625252465465324322523535532422
-533444522324551243515564322652262342524325235554667764445446656633535736363765574763563335776423624463325533625243355442245443123534323312511
-334123531454531311142443565534562563644542436563665634765457377675756443636777543663643633363324553544365344443234345365224343523341515544422
-425513541335541443232314324425223643632666545263242622235765443475754557635364446664563322663626426463256624543536634556155552222222255121512
-443141524454451431355221565364643463663664635262463364522342652467643777543675336434624463452333536354565653344664465611411152424331223125543 \ No newline at end of file
diff --git a/aoc2023/src/day18/input.txt b/aoc2023/src/day18/input.txt
deleted file mode 100644
index 0e3c331..0000000
--- a/aoc2023/src/day18/input.txt
+++ /dev/null
@@ -1,676 +0,0 @@
-L 7 (#1dc5f0)
-U 6 (#4497e3)
-L 3 (#3b21c0)
-U 3 (#3d8523)
-L 9 (#58e7b2)
-U 8 (#35d213)
-L 10 (#329390)
-D 3 (#1302b3)
-R 7 (#07f802)
-D 8 (#38fbd3)
-L 7 (#6d0e72)
-D 6 (#2c2493)
-L 5 (#38b7d0)
-U 6 (#2ab7b3)
-L 2 (#0ce560)
-U 6 (#2ab7b1)
-L 2 (#2f6940)
-U 2 (#2a5a83)
-L 3 (#477150)
-D 11 (#0baea3)
-L 4 (#3899c0)
-D 3 (#34a803)
-L 5 (#55c0d0)
-U 9 (#328483)
-L 2 (#460290)
-U 5 (#48cfd3)
-L 4 (#1e3150)
-U 5 (#3b7ea3)
-L 7 (#2c0a10)
-U 11 (#51d803)
-L 4 (#39fe80)
-U 3 (#51d801)
-R 10 (#2938e0)
-U 2 (#1c17f3)
-R 4 (#0df9a0)
-U 3 (#579691)
-L 8 (#354a50)
-U 4 (#3d0131)
-L 6 (#1029b0)
-U 7 (#0c19b3)
-L 3 (#5f48c0)
-U 2 (#0c19b1)
-L 4 (#15ff10)
-D 9 (#0f08b1)
-L 5 (#1c8160)
-U 9 (#573b71)
-L 6 (#2d58e0)
-U 3 (#479121)
-L 4 (#1c7bb0)
-U 8 (#34d583)
-L 10 (#416f10)
-D 5 (#34d581)
-L 7 (#59af90)
-U 5 (#24a821)
-L 9 (#196ca2)
-U 6 (#1f89d3)
-L 4 (#6b4812)
-U 2 (#1f89d1)
-L 6 (#32e5a2)
-U 8 (#5eb4c1)
-R 7 (#5bffe0)
-U 10 (#3f8051)
-R 8 (#29ac30)
-U 4 (#495a21)
-R 7 (#3b4e10)
-U 2 (#52d3a1)
-R 7 (#1e27d0)
-U 4 (#09ad83)
-R 8 (#385530)
-U 4 (#218943)
-R 3 (#0d8de0)
-U 3 (#218941)
-R 3 (#3ac220)
-U 12 (#09ad81)
-R 3 (#08aa80)
-U 5 (#33c7b3)
-R 2 (#37a350)
-U 3 (#6808c3)
-R 11 (#355310)
-U 3 (#6808c1)
-R 3 (#14fbe0)
-U 6 (#47b293)
-R 6 (#28ab80)
-U 3 (#37d873)
-R 4 (#607702)
-U 2 (#3d77a3)
-R 4 (#18a432)
-U 3 (#26ee23)
-R 10 (#0ba7e0)
-U 3 (#0b2863)
-R 7 (#604a60)
-U 7 (#477053)
-R 2 (#0a1210)
-U 4 (#2f7e63)
-R 9 (#0316e0)
-D 5 (#1372d3)
-R 10 (#382a30)
-D 3 (#2da293)
-R 3 (#100920)
-D 7 (#5267e3)
-R 2 (#66c240)
-D 4 (#1c94a3)
-L 5 (#2d7770)
-U 5 (#2c0061)
-L 7 (#4181c2)
-D 5 (#1f97c1)
-L 3 (#4181c0)
-D 4 (#2b79b1)
-R 9 (#1bcaf0)
-D 4 (#04de93)
-R 2 (#010a22)
-D 4 (#599823)
-R 3 (#010a20)
-U 6 (#189b23)
-R 4 (#38f770)
-U 9 (#452e51)
-R 3 (#2551f0)
-U 6 (#333c81)
-R 6 (#0554d0)
-U 5 (#411e13)
-L 4 (#487840)
-U 10 (#411e11)
-R 4 (#2c69e0)
-U 7 (#13c311)
-L 6 (#164330)
-U 4 (#7449a1)
-R 10 (#467570)
-U 5 (#47fcc1)
-R 2 (#13e090)
-U 5 (#2e45a3)
-R 4 (#0f97a0)
-U 9 (#129b03)
-R 3 (#46c520)
-D 9 (#11dcf3)
-R 4 (#0d0e42)
-D 4 (#05ca31)
-R 4 (#56d742)
-D 2 (#05ca33)
-R 6 (#1e5ae2)
-D 3 (#56bbb3)
-R 9 (#1ce6b2)
-D 5 (#039d83)
-R 2 (#3f1c90)
-D 4 (#198063)
-L 11 (#3cf8a0)
-D 7 (#198061)
-L 3 (#2311e0)
-D 4 (#401ab3)
-L 7 (#46c522)
-D 5 (#2d4703)
-R 6 (#0f97a2)
-D 7 (#053643)
-R 6 (#603110)
-D 12 (#2ab333)
-R 2 (#25d970)
-D 3 (#1956d3)
-R 5 (#528eb0)
-D 2 (#3a55e3)
-R 5 (#1aa8d0)
-U 5 (#29e981)
-L 5 (#133d80)
-U 8 (#559581)
-R 5 (#133d82)
-U 4 (#298e61)
-R 3 (#0ed762)
-D 5 (#481221)
-R 4 (#0ed760)
-D 9 (#3a5a61)
-R 4 (#265580)
-D 3 (#241031)
-R 3 (#2bacb0)
-D 10 (#4e8481)
-R 4 (#4f2bc0)
-D 10 (#47fcc3)
-L 3 (#15d6f0)
-D 9 (#6a0e71)
-L 5 (#3cc390)
-D 4 (#2fa353)
-L 4 (#272140)
-U 5 (#029653)
-L 3 (#428820)
-U 8 (#23f923)
-L 4 (#036c82)
-D 4 (#3315f3)
-L 7 (#663ce2)
-D 2 (#09be53)
-L 8 (#075c00)
-D 5 (#552f63)
-L 5 (#662630)
-D 2 (#3e3fb1)
-L 9 (#543310)
-D 5 (#2b6db3)
-R 8 (#06d960)
-D 2 (#2b6db1)
-R 3 (#570160)
-D 6 (#441a91)
-R 6 (#2f24e2)
-D 11 (#2ca451)
-R 7 (#5700c0)
-D 5 (#36e6f1)
-R 3 (#5700c2)
-D 8 (#374141)
-R 5 (#2b1072)
-U 11 (#489e23)
-R 5 (#456682)
-D 4 (#522e63)
-R 3 (#127202)
-D 7 (#65dc21)
-R 8 (#489d40)
-D 3 (#686b21)
-L 4 (#107ca2)
-D 7 (#2271a3)
-R 4 (#148da2)
-D 3 (#34bf71)
-R 2 (#70b522)
-D 9 (#34bf73)
-R 8 (#49a172)
-D 6 (#2271a1)
-R 3 (#138232)
-U 4 (#3e4511)
-R 4 (#0bb2b0)
-U 8 (#2958d1)
-R 5 (#1df330)
-U 3 (#23af43)
-L 5 (#4bbaa0)
-U 7 (#23af41)
-L 4 (#125270)
-U 9 (#41ec91)
-R 2 (#222ff0)
-U 5 (#2936d1)
-R 8 (#2e2310)
-D 5 (#2e05a1)
-R 3 (#0ae0c0)
-D 11 (#074021)
-R 7 (#52f6e0)
-U 2 (#074023)
-R 3 (#590720)
-U 6 (#469f01)
-R 3 (#34f792)
-U 7 (#002dd1)
-R 4 (#409522)
-D 3 (#002dd3)
-R 6 (#149f72)
-D 5 (#1cc8f1)
-R 5 (#095222)
-D 7 (#3eab71)
-R 3 (#236082)
-D 11 (#3b3d71)
-R 2 (#6e2530)
-D 3 (#0887f1)
-L 6 (#1795d0)
-U 7 (#21f2d3)
-L 6 (#194240)
-D 7 (#2e0d03)
-L 3 (#605a50)
-D 4 (#257243)
-L 8 (#0a5380)
-D 7 (#2b70c3)
-L 4 (#428fd0)
-D 8 (#5b1513)
-L 6 (#1bf3f0)
-D 3 (#341241)
-L 3 (#1f7ea0)
-D 8 (#2eda01)
-R 6 (#527980)
-D 7 (#62ec43)
-R 10 (#156e00)
-D 5 (#53ce33)
-R 4 (#3a5f20)
-D 3 (#2f3bb3)
-R 6 (#5dacd0)
-U 4 (#47f0e1)
-R 6 (#538c70)
-U 4 (#32a283)
-R 8 (#27c140)
-D 9 (#198283)
-R 6 (#1b5ba0)
-U 9 (#15de53)
-R 4 (#037d60)
-U 7 (#373ac3)
-R 7 (#282640)
-U 7 (#33c993)
-R 6 (#2f6bc0)
-U 4 (#236a23)
-R 5 (#4977b0)
-D 4 (#076301)
-R 6 (#56dc60)
-U 3 (#30afb1)
-R 2 (#720272)
-U 8 (#2b0fc1)
-R 7 (#19ac60)
-U 7 (#07ff61)
-R 3 (#585610)
-U 2 (#4969b1)
-R 7 (#56dc62)
-U 5 (#029821)
-R 9 (#60a4e0)
-U 8 (#1688a3)
-L 4 (#19a5b0)
-U 3 (#20db03)
-L 7 (#1a7950)
-U 6 (#1ab903)
-L 8 (#463660)
-U 2 (#449963)
-L 3 (#11ec80)
-D 4 (#206da3)
-L 8 (#1057b0)
-D 6 (#17ffa1)
-L 8 (#6cda70)
-D 4 (#26df51)
-L 3 (#001d70)
-U 9 (#3e42f1)
-L 5 (#55e962)
-U 5 (#138341)
-L 6 (#0c3e52)
-U 9 (#4ae8f1)
-R 8 (#0ad032)
-U 7 (#14e3b1)
-R 4 (#5a3b70)
-D 7 (#1dad81)
-R 11 (#3d8e92)
-U 6 (#441b61)
-L 6 (#20de92)
-U 10 (#55efb1)
-L 6 (#1d72c2)
-U 10 (#1469a1)
-L 6 (#21f4b0)
-U 4 (#49b921)
-L 2 (#560f10)
-U 10 (#49b923)
-L 3 (#03dc20)
-D 6 (#249e01)
-L 7 (#6859d0)
-D 4 (#0947e1)
-L 3 (#5d3fd2)
-D 11 (#2c3801)
-L 6 (#26cab2)
-D 4 (#1f5b51)
-R 13 (#0fcc92)
-D 3 (#638131)
-L 7 (#404362)
-D 2 (#6cc863)
-L 6 (#1d8d62)
-D 4 (#161423)
-L 6 (#595612)
-U 7 (#09d071)
-L 4 (#10a5d0)
-U 4 (#633011)
-L 8 (#3cddf0)
-U 3 (#3a8471)
-L 7 (#407050)
-U 7 (#00b9a1)
-L 3 (#2537e0)
-U 2 (#00b9a3)
-L 5 (#3a9220)
-U 5 (#212a31)
-L 7 (#572a62)
-U 5 (#0b0ea3)
-L 4 (#52f702)
-U 6 (#0b0ea1)
-R 6 (#077262)
-U 9 (#116db1)
-R 7 (#688352)
-U 8 (#37c5e3)
-R 7 (#23b522)
-U 3 (#37c5e1)
-R 6 (#4a4aa2)
-U 9 (#57bf21)
-R 4 (#60ae60)
-U 3 (#06dc81)
-R 3 (#47d900)
-D 4 (#587561)
-R 6 (#2940e0)
-D 8 (#1268d1)
-R 5 (#0ec482)
-D 6 (#38b6c1)
-R 6 (#59c532)
-D 8 (#2e4421)
-R 6 (#0b8022)
-U 5 (#410a61)
-R 2 (#7409d0)
-U 6 (#28e351)
-R 8 (#15d2e0)
-D 4 (#12ab01)
-R 5 (#100f80)
-D 6 (#44c953)
-R 4 (#33eef0)
-U 6 (#23c7d3)
-R 5 (#4696e0)
-U 4 (#222123)
-R 9 (#26d070)
-U 9 (#4cec13)
-R 2 (#560af2)
-U 6 (#5099a3)
-L 11 (#4b4b52)
-U 4 (#10b4e3)
-L 8 (#40e6b0)
-U 6 (#1c6173)
-L 5 (#2e31e0)
-D 6 (#3d8c01)
-L 7 (#1cc6f0)
-U 9 (#083731)
-L 4 (#463da0)
-U 8 (#1cb711)
-R 8 (#0b4110)
-U 8 (#2252b3)
-R 10 (#60b900)
-U 7 (#2252b1)
-R 8 (#0ce680)
-U 5 (#467f81)
-R 9 (#0ad0b2)
-U 2 (#359203)
-R 9 (#67bc02)
-U 9 (#359201)
-R 4 (#0653e2)
-D 3 (#281ca1)
-R 9 (#1b8ee0)
-D 6 (#0b3861)
-L 8 (#336f02)
-D 3 (#3201f1)
-L 4 (#4a85a2)
-D 7 (#111eb1)
-L 9 (#1c9c90)
-D 7 (#145011)
-L 11 (#083be0)
-D 2 (#516321)
-L 6 (#083be2)
-D 9 (#20bb21)
-R 5 (#3d8030)
-D 6 (#404031)
-R 8 (#642420)
-U 4 (#56cf61)
-R 7 (#55c610)
-D 4 (#20d1e1)
-R 9 (#1b5e10)
-D 9 (#1e85d1)
-R 9 (#361f10)
-D 3 (#3d69f1)
-R 9 (#16da12)
-D 6 (#2d6471)
-R 5 (#5d9642)
-D 3 (#4656f1)
-R 6 (#44b540)
-D 8 (#2b6131)
-R 7 (#2ce630)
-D 7 (#2b6133)
-R 3 (#61b2a0)
-D 4 (#4c2661)
-R 4 (#3b7372)
-D 8 (#01ed73)
-R 5 (#4c3962)
-D 3 (#01ed71)
-R 4 (#4ba142)
-U 9 (#4377f1)
-R 3 (#1deb32)
-U 6 (#3f3323)
-R 3 (#22b722)
-U 7 (#37bc13)
-R 3 (#1918d2)
-U 4 (#13c8b3)
-R 5 (#1918d0)
-D 12 (#3e4d83)
-R 3 (#22b720)
-D 5 (#0cefe3)
-R 5 (#2bf9f2)
-D 9 (#3122d3)
-R 8 (#41a3e2)
-D 10 (#3122d1)
-R 8 (#0b6e02)
-U 7 (#266641)
-L 4 (#5a1cc2)
-U 5 (#060d11)
-R 4 (#32ff32)
-U 7 (#446c91)
-R 5 (#319c82)
-D 3 (#446c93)
-R 7 (#1bf562)
-D 2 (#44af13)
-R 6 (#6f3132)
-D 6 (#312433)
-L 5 (#489da0)
-D 5 (#53a343)
-L 8 (#489da2)
-D 3 (#5a6673)
-R 7 (#0f0f92)
-D 6 (#01b8b3)
-L 3 (#3c6b12)
-D 5 (#725613)
-L 10 (#114b12)
-D 4 (#14ace3)
-L 8 (#30d292)
-D 9 (#1ebac3)
-L 6 (#3c4292)
-D 7 (#39e2a3)
-L 2 (#1f3882)
-D 4 (#658381)
-L 3 (#0b0252)
-D 8 (#699e71)
-L 10 (#2b4ae2)
-D 2 (#1ac903)
-L 5 (#60cef2)
-D 4 (#515ea3)
-L 5 (#4d3790)
-D 6 (#354183)
-L 4 (#398170)
-U 3 (#7163a3)
-L 10 (#398172)
-U 7 (#0608f3)
-L 8 (#4d3792)
-D 4 (#06c7a3)
-L 7 (#5819c2)
-D 5 (#17c3f1)
-L 3 (#0c8892)
-D 5 (#67f951)
-R 6 (#3ff470)
-D 12 (#397601)
-R 6 (#3ff472)
-D 4 (#4f6451)
-L 9 (#665a22)
-D 2 (#1705c1)
-L 3 (#14df92)
-D 7 (#4b40a1)
-L 4 (#1fa1f2)
-D 5 (#3b7231)
-L 10 (#063e12)
-D 7 (#2a8fb1)
-L 4 (#6b71e2)
-U 4 (#218101)
-L 4 (#2e2f52)
-U 4 (#221411)
-L 5 (#200732)
-U 5 (#0ac7e1)
-L 9 (#50af62)
-D 9 (#4b7c81)
-L 3 (#50af60)
-D 4 (#2b9d31)
-L 13 (#4766d2)
-D 5 (#25ef21)
-R 3 (#119862)
-D 2 (#517a31)
-R 4 (#3e6072)
-D 10 (#21cfa1)
-R 6 (#4437f2)
-U 12 (#30f031)
-R 4 (#036652)
-D 7 (#453c91)
-R 5 (#05ea22)
-D 10 (#2da1e1)
-R 2 (#4da5a2)
-D 2 (#2da1e3)
-R 6 (#2bffc2)
-D 9 (#453c93)
-R 9 (#4ed2d2)
-D 3 (#141b71)
-R 9 (#3ecad2)
-D 5 (#234873)
-L 11 (#3c4982)
-D 3 (#2ed113)
-L 7 (#3c4980)
-D 7 (#4a6553)
-L 8 (#49bf02)
-D 8 (#337011)
-L 9 (#2eb772)
-D 3 (#690ec1)
-L 2 (#25f0a2)
-D 7 (#62eeb3)
-L 6 (#1ae012)
-D 7 (#34e643)
-R 6 (#382a72)
-D 7 (#281183)
-L 11 (#271932)
-D 4 (#470d23)
-L 9 (#4ca812)
-D 4 (#6f1ea1)
-L 7 (#4702f2)
-D 8 (#34e641)
-L 4 (#155c42)
-D 10 (#62eeb1)
-L 7 (#3a2422)
-D 4 (#3f7ca3)
-L 9 (#39b860)
-U 4 (#5cf1c3)
-L 13 (#39b862)
-U 4 (#4751f3)
-L 4 (#322dd2)
-U 4 (#539531)
-L 5 (#4171a2)
-U 5 (#539533)
-R 9 (#075042)
-D 5 (#1e57d3)
-R 7 (#5cc952)
-U 5 (#0ac0d3)
-R 6 (#1af522)
-U 9 (#374273)
-L 4 (#2992f2)
-U 2 (#299893)
-L 4 (#267bc2)
-U 10 (#47af63)
-L 3 (#282402)
-U 4 (#06a063)
-L 5 (#5cce72)
-U 9 (#47fba3)
-L 3 (#1168e2)
-U 10 (#3b1071)
-L 4 (#178c22)
-U 3 (#42b971)
-L 5 (#178c20)
-U 8 (#1dca41)
-R 9 (#442912)
-U 8 (#5b9241)
-L 3 (#1da682)
-U 7 (#31ff23)
-L 10 (#3cd732)
-U 5 (#33bab3)
-L 5 (#159fb2)
-U 4 (#2e5d93)
-L 7 (#5f9702)
-U 4 (#5566e3)
-L 4 (#0ba292)
-U 8 (#07f963)
-L 3 (#410a02)
-U 3 (#6ace93)
-L 5 (#0913a2)
-U 2 (#21a553)
-L 10 (#3d71a2)
-D 6 (#25ff63)
-L 5 (#5285b2)
-D 8 (#3cfc73)
-L 3 (#13aba2)
-D 7 (#24a793)
-L 4 (#29e4c2)
-D 12 (#1dc4b3)
-L 5 (#3cb102)
-D 8 (#5b8433)
-L 5 (#3cb100)
-D 7 (#22d9f3)
-L 7 (#6db9c2)
-D 6 (#4cd683)
-L 6 (#083f42)
-U 11 (#09bbc3)
-L 5 (#609002)
-D 7 (#12b603)
-L 7 (#041be2)
-D 8 (#4f3823)
-L 5 (#5a3412)
-U 7 (#14de13)
-L 6 (#036ee2)
-U 5 (#442823)
-L 7 (#6c5502)
-U 3 (#2edcc3)
-L 9 (#3b6b72)
-U 8 (#321e73)
-R 7 (#48e5a2)
-U 6 (#2fbec3)
-L 12 (#44ed12)
-U 6 (#0c1893)
-R 12 (#61a8e0)
-U 4 (#073043)
-R 4 (#0d47c0)
-D 6 (#469b63)
-R 2 (#047ae0)
-D 10 (#39b7d3)
-R 3 (#2492d0)
-U 8 (#2026f3)
-R 3 (#73fb40)
-U 2 (#201333)
-R 3 (#372f72)
-U 2 (#2c6143)
-R 10 (#615ea2)
-U 4 (#355653)
-R 7 (#3876d2)
-U 9 (#080463)
-L 8 (#3af4b2)
-U 10 (#6840e3)
-L 3 (#5472d2)
-U 9 (#005683) \ No newline at end of file
diff --git a/aoc2023/src/day19/input.txt b/aoc2023/src/day19/input.txt
deleted file mode 100644
index 8fb7e78..0000000
--- a/aoc2023/src/day19/input.txt
+++ /dev/null
@@ -1,766 +0,0 @@
-xhs{m>3771:A,a>2552:R,A}
-smp{a<3732:R,m>1999:R,x<925:R,R}
-zkk{m<2240:R,a>3345:R,R}
-nqz{x<2056:R,a<3165:R,m>1748:A,vx}
-mm{x>486:A,m>3523:R,A}
-bg{s>3338:A,kgm}
-qf{x>537:gqx,bqz}
-lv{s<2341:sc,s>2505:rtm,xqj}
-bv{a>2574:rvm,ncd}
-ssz{a<729:A,m<3390:ld,m<3772:A,R}
-gm{a>3900:A,m>2508:R,x>744:R,A}
-ts{m<642:R,m<843:gmm,s<325:gf,A}
-rtm{x<2920:A,m>3132:R,R}
-qgz{x>2082:hvx,a<1490:A,s<3742:R,kks}
-kpf{m<2390:cm,ft}
-ghn{a>2066:A,s<3291:R,a>2028:A,R}
-mkx{s<975:R,s<1112:A,m>756:A,R}
-tg{x<3668:A,x<3835:A,ftz}
-chj{x>733:R,a>3064:R,qs}
-ndl{x>2773:R,x<2370:R,R}
-dsq{s>838:A,s>496:A,m<2191:R,R}
-jl{m>1219:A,R}
-chh{x<973:R,A}
-fxv{x<2543:R,m>3368:A,s<3567:R,R}
-qvl{m>1648:A,R}
-fpb{a>1367:R,x>2441:R,a<1220:A,R}
-tph{a<2677:tss,R}
-cnc{s>1274:A,a<3947:R,A}
-cz{m>2865:R,a<3514:rm,s>687:xsr,A}
-zzq{x>76:A,A}
-vp{x<162:A,R}
-bth{x<1859:zmq,a>2455:hq,mb}
-rm{x<1253:A,R}
-ndq{s<390:R,x<2982:A,m>3468:R,R}
-vdh{x>2464:bx,m>3276:fj,ffs}
-bjc{a>3069:R,R}
-sqk{m>3029:R,s>130:R,sln}
-xl{x<2157:A,R}
-xrs{s>3440:qgz,a<1479:qsv,xt}
-dnt{x<538:qc,m<1343:jqh,x>645:fm,jvb}
-pms{a>2603:R,A}
-lf{x>390:A,s>1617:A,A}
-dvm{s>1052:R,R}
-mnc{x>2703:R,A}
-rxt{a<595:A,R}
-pb{s<3737:ngp,x>3125:A,dbk}
-zr{a<2605:R,x<422:R,A}
-pd{s>1915:xhs,zpl}
-vm{a>2377:R,R}
-in{x<1629:dv,nfq}
-xdt{s<1791:fpb,chl}
-gg{s<393:fd,x<2091:dg,tz}
-xsr{s>1167:R,m>2006:A,a<3531:A,R}
-qs{x<719:R,x>726:R,s>2919:A,R}
-kgm{m>2140:R,s<3253:R,m>1246:A,A}
-gvv{s<3124:flg,m>3004:jxl,x>2411:vf,hfg}
-nv{m<3088:A,a>1588:R,x>3499:A,R}
-lx{s<3277:R,a>2880:R,A}
-cls{m>3314:gt,kpv}
-ct{a>3320:R,a>3189:A,s<2328:R,R}
-bqz{m<1572:rjv,x<437:R,s>1572:mzn,td}
-qm{a<1975:A,s>623:R,A}
-zx{m<3520:R,s>1981:R,a<2633:A,R}
-hbk{a<1441:A,x<2151:R,x>2450:A,A}
-zp{a>2928:A,R}
-njc{x>225:R,a>3543:A,a>3524:A,A}
-dt{s<467:R,a>3868:R,x<1448:A,R}
-qlj{a<1744:A,s>1375:A,R}
-ln{x<546:dk,x<1088:jm,s>996:sdr,grf}
-zxc{x>1220:R,a<1570:R,a<1721:R,A}
-hqv{x<1168:A,a<3325:cs,zkk}
-cfx{m<1777:R,A}
-tb{a>3324:A,a<3310:R,R}
-fx{a>2975:R,x>2219:R,A}
-rnm{m<3699:A,a>1555:R,R}
-zpl{a>2213:R,m<3703:A,R}
-zvm{s<3648:R,x>2112:R,s>3879:A,A}
-gkt{x>1247:A,m>2344:A,m<1950:R,R}
-qfz{x<37:A,A}
-dq{a<2482:A,A}
-gpj{m>2417:A,m>1980:A,tq}
-khx{s>3504:R,a>633:A,s<3211:R,A}
-kh{m>629:A,A}
-zg{a<2645:mg,s<259:sqk,x<2942:gg,md}
-sxj{m<1304:xlx,lh}
-lh{m<1742:bb,x<2813:rh,m>2090:qhd,bv}
-jxg{a>3806:A,R}
-sg{a<3432:nn,m<1550:pp,m<3113:ps,js}
-pck{m<1755:dmv,s>3255:hb,s>2954:lfz,ns}
-xqj{x>2860:A,A}
-hm{a<3006:R,A}
-bbv{a>3355:rf,s<1113:hqv,m>1976:qzk,zxk}
-rpd{s<3371:R,A}
-jzc{s>1320:A,s>1117:R,s>948:R,R}
-mjp{m<3107:db,x<3329:lsq,x>3386:jgq,R}
-chl{x>3157:A,m>2688:zq,tf}
-ffq{x<2660:hbk,s<2231:cvs,A}
-pv{x>662:bc,m>2737:fn,scz}
-rf{x>1195:A,x<1012:R,hp}
-mg{s<320:mnc,ndq}
-md{s<368:ks,a<2900:A,a>2968:A,hxd}
-rb{s<976:R,A}
-cvv{s<1568:R,s>2041:A,a>2529:R,R}
-hvx{s>3628:A,m>1706:R,m>1033:R,R}
-fhg{m>3499:R,a>2802:nm,R}
-cm{a>793:gnt,s<342:vg,dl}
-mzt{m<1547:R,A}
-cf{s>3282:A,R}
-vr{m>1574:zzp,cfl}
-vbd{x<446:R,m<2633:R,A}
-mdz{a>2230:A,A}
-dck{s<2674:R,m>1804:A,m>1642:A,A}
-dk{x>356:A,R}
-sxr{m>1197:vq,qzn}
-sl{a>3532:R,A}
-rhf{x<592:A,m<3490:A,A}
-hp{a<3393:A,a<3436:R,x<1078:A,R}
-sln{m>2771:A,R}
-hq{m>3351:A,x>1966:A,m<2756:R,R}
-bm{m<2254:R,hpt}
-vt{m<3667:R,x<1031:A,A}
-dv{a<2349:npz,a>3297:tck,x<703:gq,lm}
-ddj{m<1813:mfd,A}
-fln{s>2720:A,R}
-xft{a<198:A,a<267:R,m>3094:A,A}
-xdr{s<2440:R,m<1370:jcs,a<1346:rrl,R}
-hxc{s>3518:A,a>1208:R,x>3051:R,R}
-bc{a>3542:zb,s>1446:sr,a<3492:pjm,cz}
-lfz{a>3921:A,m>2651:A,s>3077:qj,A}
-qmk{m>2209:A,R}
-bt{m>3699:R,x<2709:R,m>3441:A,A}
-cfn{x<203:R,x<238:R,x>260:R,R}
-hbb{m>3171:R,R}
-xz{a<1217:A,m<3348:R,R}
-tz{a<2930:A,A}
-cvj{x>3663:A,R}
-kb{x<812:A,x<882:R,m>1354:R,R}
-fgc{a<3044:A,m<3797:A,a>3181:R,A}
-gz{a>2501:R,x>662:R,A}
-gs{m>2349:pbh,xc}
-cxt{m<648:A,R}
-qr{s>3439:A,s<3200:A,s>3359:R,R}
-mvk{x<310:A,A}
-rfx{a<3471:pb,jrp}
-df{a>2425:R,a>2173:A,m<2169:A,A}
-lkv{x<1956:R,m>2601:jvg,zvm}
-fgv{a>3335:R,a>2798:hck,pqd}
-tn{a>3644:R,m>3271:R,R}
-vhl{m>3441:pd,lt}
-lg{x>214:xjz,jmz}
-dkl{m>979:R,x>271:R,a<2808:A,R}
-pdp{s>2793:R,A}
-jjf{a>3211:R,A}
-tv{s<2116:sx,xsq}
-gnt{m>1411:R,x<2631:A,x>3267:A,R}
-lnj{a>2864:R,A}
-jd{x<275:cfn,s>860:jzc,mvk}
-zzd{x<1338:A,a<3957:R,A}
-xlx{m<789:jqs,dpd}
-hql{s<2258:cb,x>815:knq,x>758:vlq,chj}
-qsv{m<2600:A,cg}
-bb{a>2571:rth,m>1465:A,x<3017:R,cp}
-dz{a>2559:gs,qf}
-ps{s>3207:R,gkt}
-mf{x<611:R,A}
-gp{m>2489:zdd,x>227:R,gnc}
-hv{a<3335:R,a<3515:A,R}
-klr{x<295:A,m>520:R,m>218:A,A}
-zq{x>2372:A,R}
-zf{a>1674:R,cn}
-lm{x<1313:hgj,txn}
-npz{s>1686:rt,kt}
-qdh{a<2898:R,x>2218:R,A}
-pz{x<2285:A,A}
-hdf{m<2720:A,A}
-bmc{x>3617:rcl,hsb}
-zh{s<1038:A,a>2811:R,R}
-zfz{x>2711:R,A}
-sgr{a>3615:R,m>1350:jjj,a<3585:A,A}
-qvk{s>2967:R,m>3342:A,A}
-pqd{s<99:A,s<208:A,x<2116:R,R}
-tbd{x>3755:A,a>441:R,A}
-nn{x>1301:fln,pdp}
-hxd{m>3170:R,m<2811:R,x<3367:R,R}
-fk{x>3114:nsg,dmq}
-vzf{x>2720:ms,s>481:mhr,s<294:fgv,nqz}
-lnn{s<2149:R,x>3515:tbd,a<342:xft,zcz}
-tss{s>3258:A,A}
-sh{a>1883:qm,m>3431:A,chx}
-qj{a<3876:A,x>836:R,R}
-vl{s<2783:R,m<1099:R,x<1473:A,A}
-bkt{a>3162:A,s>3117:A,x>215:A,A}
-jh{x>101:R,s<1379:A,s<1659:R,R}
-zcp{s<611:ff,qkd}
-cr{s>772:kr,m<1018:lxl,vzf}
-ms{s>407:zt,x>3417:R,chq}
-jm{s<1028:A,R}
-bn{m<3021:vzz,m<3604:qvk,x<271:fgc,R}
-ngl{s>3536:sbr,s>3350:qdh,A}
-zsf{m>1545:A,x>1434:R,a<3918:R,A}
-ggp{s>585:R,R}
-kr{m<1070:vfc,zp}
-kks{a>1629:R,a<1563:R,a<1592:A,R}
-btt{a>801:A,R}
-jsj{s>3393:A,x<3185:R,A}
-zgx{m<855:xl,A}
-gt{x<259:R,A}
-gqx{x<621:A,a<2443:hx,gz}
-gnk{a<2992:R,R}
-vc{m>2396:xx,cl}
-hhp{m>1027:sgr,ph}
-chr{x<2230:R,x<2596:R,R}
-qkd{x>797:A,x<297:A,s<793:R,A}
-zsv{x>3189:A,s>3280:pz,x<2182:A,jxg}
-bmz{x>286:A,R}
-rcl{s<3551:R,a>1235:R,A}
-sxl{a<1497:R,x>1555:A,R}
-xmv{x<2697:shm,m<2582:bl,st}
-fd{a<2818:R,R}
-jgq{x<3411:R,R}
-zj{a<2947:A,R}
-mgb{x>2219:A,s>580:A,R}
-jjs{m>2508:pj,smp}
-mfd{s>3169:R,x>3872:R,R}
-kpn{a<3544:R,a>3555:R,R}
-lq{m>3447:A,A}
-bfq{s>1868:A,qpt}
-hlc{m>3423:rnm,a<1561:A,nv}
-zn{x<915:A,m<570:A,a>3454:A,A}
-zmq{a>2577:A,s<2162:R,a<2036:R,R}
-sqz{s<1195:A,R}
-jsd{m<1634:vs,R}
-dmq{m<1655:A,A}
-nhl{a<2744:A,A}
-mkm{s<482:A,s>608:A,R}
-rc{m>234:A,x>2208:R,m>97:R,A}
-zz{a>3346:vlc,a<2753:qqc,s>276:fx,rc}
-js{a>3452:R,m<3619:A,R}
-tj{a>1494:R,m<658:R,R}
-qhd{s<2443:mdz,znr}
-shv{m<2846:A,x>2878:A,A}
-ttn{a>3182:R,a>3140:R,x<475:R,R}
-ngp{x>3141:A,A}
-pcn{x<1006:R,s>520:A,A}
-ngq{m<1256:R,s>1251:R,a>658:R,R}
-fkd{a<3655:dd,a<3774:cfx,s>2066:qmk,fk}
-qzk{a>3335:R,R}
-dx{m<2588:zcp,a<2083:sh,x<601:rrd,fh}
-qc{x<432:zh,s>956:R,A}
-fm{s<642:R,m>2905:lq,dcp}
-rr{s>2991:xmv,ths}
-dcp{a>2785:A,s<1372:R,x>674:R,A}
-bf{s<3336:A,a<1863:A,R}
-glx{x>2156:R,nq}
-rxv{s<984:A,R}
-plp{s>2690:A,a>3040:R,x<1194:A,R}
-zdd{x<411:A,s<2583:A,s<3374:R,R}
-sbp{x>2442:R,m>802:A,a<1990:A,A}
-rzc{m>1519:R,a>2789:A,R}
-hgj{x>992:kbh,a>2782:hql,mdb}
-gc{m>3015:A,a<3333:A,x<1181:R,A}
-xh{a>3215:A,x<3863:qtm,lnj}
-jdx{a>296:hz,s>2019:A,a<185:R,R}
-ftz{a<2615:A,A}
-sr{a>3503:A,m<3116:R,vt}
-bz{m<1363:A,a<3918:R,x>347:A,A}
-lxl{m>375:ts,x>2633:ssr,zz}
-rpl{a<3086:zg,km}
-rcc{a<3086:lx,x<186:A,x<206:jjf,bkt}
-xjz{s>2664:dkl,m>1134:rzc,a<2824:klr,R}
-kf{m>2364:jp,clb}
-chs{s>2600:qd,R}
-td{a>2469:A,a>2389:A,x>480:A,R}
-st{m<3511:R,x<3456:R,s>3602:cvj,rpd}
-hmq{a>2111:A,x>1851:R,A}
-xc{x<505:zr,pl}
-th{x<582:pm,lk}
-sn{m<2549:R,s>2203:R,dlr}
-chx{m>3054:A,a<1763:R,A}
-kk{m>3497:A,a<1434:A,R}
-xj{a>2832:lkb,s<3601:A,s>3811:rbp,rfg}
-ncd{a<2175:R,R}
-dmv{x>1035:A,m<796:R,x>598:jl,bz}
-zdz{s>3645:R,x>2044:R,a<2560:R,xv}
-bj{x>1208:R,x<1157:R,m>1150:A,R}
-sbr{m<3368:R,R}
-kx{x<3147:vdh,jvl}
-kv{m>3555:bmz,x>265:sl,A}
-qd{x>1553:A,a>2834:A,s<3385:A,R}
-cxs{s>1563:cxt,x>2102:A,bs}
-lt{s<1846:A,x<3520:R,x>3795:R,nkk}
-sv{m>3685:R,a>2243:R,R}
-ft{a<963:rxt,x>2779:A,x<2244:A,lzv}
-rl{a<1094:rr,s>2736:bbb,s>1976:rhb,fr}
-jn{x<583:ttn,s<1225:A,A}
-jxl{a<2453:rxj,a>2766:ngl,zfp}
-cvs{m>285:R,A}
-jqh{a<2775:dvm,gbn}
-dg{a<2815:A,R}
-jvl{x>3689:xh,x<3456:mjp,znq}
-gnc{x<140:R,x<171:A,R}
-fkh{a<3335:R,A}
-vrm{m>937:A,m<448:R,R}
-scz{m<2202:qk,gp}
-gvq{s<123:A,m<3059:A,a<3441:A,A}
-mdb{m>1624:gpj,hf}
-xsc{x<1257:bbn,x<1486:A,sxl}
-dp{m<1786:A,a<3541:R,A}
-sf{m>773:xdr,ffq}
-dlr{x<2407:R,s>1899:R,x<2587:R,R}
-rk{x>2534:A,A}
-rn{s<2830:A,hbb}
-jvg{s>3506:A,m>2651:A,m>2621:A,R}
-hfg{m>2738:zdz,a>2232:lkv,fvs}
-lzv{s<480:A,A}
-tqf{m>2290:ssz,xb}
-vmf{m<1433:qhx,m>2129:jcz,a<970:xk,dck}
-gv{m>563:R,x>1087:bd,m<346:R,vz}
-fvs{s>3483:A,a<1973:bf,x>1995:ghn,hmq}
-tqk{m<963:R,a>2859:R,A}
-rx{x<977:nnk,bqr}
-rvm{x>3305:A,m<1917:R,R}
-clb{x>1123:R,chh}
-pm{s>967:A,vbd}
-zcz{a<501:R,R}
-fsz{a>2745:R,R}
-nfq{s<1487:jbm,a>1745:jjb,rl}
-hdh{m>3509:A,s<1411:R,m<3227:A,A}
-dgv{m>2115:A,A}
-ccf{x>582:sxr,s>2966:qr,s<2421:btt,vmf}
-kbh{x<1100:hgk,m>2034:smc,bj}
-dd{m<2080:ct,s>2201:rk,hv}
-ff{s>381:R,x<841:R,R}
-gtx{s<890:A,m<3503:A,x>2000:A,R}
-bx{m<3245:R,m>3522:zfz,x<2768:tc,R}
-cbz{s<800:kpf,vr}
-hjj{a<1141:R,s<3290:R,A}
-nnk{s<496:vls,a<1328:nt,m<2251:R,gtr}
-mhr{m>1624:R,m<1228:R,m>1458:ggp,mgb}
-grb{s>2354:A,s>824:R,s<393:R,A}
-vzz{m>2291:R,m<1985:A,A}
-dc{s<2446:A,s>2870:A,s>2640:A,R}
-cb{s>956:kb,A}
-bkv{s<917:bm,jn}
-cmn{a<1575:A,s>2325:A,s<2132:pzh,A}
-vq{x>1200:R,m<1709:A,A}
-xx{s<2987:R,s>3641:A,m<3099:gnk,A}
-skj{x<2732:pgx,x>2863:pqn,a>2109:R,A}
-qk{x<433:R,x<540:grb,s>2612:dp,mf}
-nb{a<3379:dgv,x>433:xqb,mzt}
-skd{s>85:R,a>3825:R,s>57:bsr,vj}
-bsr{a<3615:R,A}
-bqr{m<2638:A,kk}
-gmm{s<271:R,R}
-ssr{m>170:mkm,A}
-xr{x>1412:R,R}
-dpd{s>2570:rz,a<2463:ndl,m<1077:tqk,fsz}
-cg{x>2240:R,s>3092:A,s<2882:R,A}
-zt{s>605:R,m<1978:R,x<3468:A,A}
-gbn{a>2840:A,x>606:R,A}
-sk{s>627:A,R}
-xv{s<3310:A,x<1827:R,R}
-jvb{m>2641:rhf,x<598:dsq,x>615:R,nr}
-dbk{a<3270:R,s<3854:A,R}
-ld{x>1033:A,s<1042:A,A}
-hz{s>2156:A,R}
-hgm{a>3479:zsv,a>3293:jsd,bg}
-sd{s<1388:R,m<220:A,a<3336:A,R}
-ks{x<3304:R,A}
-cp{x<3510:A,s>2786:A,R}
-mc{x<138:tx,m<1731:lg,nd}
-grf{a<3910:dt,zzd}
-tm{m>2653:A,R}
-znm{x>3272:R,tj}
-qtm{a<2683:A,m<3283:R,A}
-cpj{x>523:A,m>2682:A,m<2527:R,A}
-vx{x>2368:A,A}
-kp{x>444:R,x<233:R,A}
-vlq{a>3107:tm,s>3354:A,m<2037:R,R}
-mzn{m>2863:R,A}
-zb{s>1752:R,x>1070:zgf,sk}
-pqn{m<2758:A,R}
-lsq{m<3507:A,s<957:R,R}
-krr{a<3740:R,R}
-czn{a>3163:R,m<1999:R,a<3012:A,R}
-nkk{s<2070:R,R}
-nrt{s<1315:A,x<2219:R,A}
-ds{a<1180:hjj,m<1480:hxc,pf}
-xb{x<928:R,s<680:dpt,ngq}
-mj{a<2118:R,R}
-kpv{x>329:A,A}
-dpt{x<1220:R,R}
-vls{a<1332:A,a>1469:A,R}
-cs{x>1439:R,s>709:A,R}
-tl{a>1243:jsj,ds}
-xbt{x>1513:A,fz}
-hpt{m<2917:R,m<3336:R,R}
-fr{m<1904:hdc,xdt}
-dsl{x<891:R,a<3061:A,A}
-ph{m>522:A,A}
-tck{a>3652:zdg,a<3466:vvc,m<1552:gl,pv}
-lk{x>628:A,x<605:R,x>614:R,A}
-nj{s>2734:A,R}
-khd{a>2723:hm,x<1375:lxg,a<2580:A,zx}
-vvc{x<813:nb,s<1759:bbv,a<3401:kf,sg}
-fh{m<3059:R,sv}
-rt{m<2548:ccf,bqs}
-dtv{s>2651:njc,kpn}
-db{s>1037:R,s>793:A,x<3290:A,A}
-rfg{x>2488:R,A}
-rxj{a>2073:fxv,A}
-zgf{a<3590:R,R}
-lxg{a<2574:R,m>3113:A,a>2644:R,A}
-pp{x<1117:zn,a<3445:A,R}
-hk{a<3058:A,R}
-cps{x>673:gv,a<3514:lf,dtv}
-bl{m<1269:A,s>3432:A,s>3277:A,cml}
-rhb{m<2194:sf,zjt}
-rth{s<2408:R,m>1515:A,R}
-vs{x>2539:A,A}
-znq{m>3125:R,A}
-hzc{m>1851:mv,x>716:qg,jx}
-tzb{m>3238:tg,xxd}
-jxd{a<2457:A,A}
-cn{s<3324:A,A}
-qqc{x<2085:R,m<164:A,m>259:A,R}
-rbp{m>2847:A,m<2787:A,R}
-jjj{x>876:A,a<3595:A,R}
-smc{s<1533:R,a>2843:plp,x<1198:R,pms}
-ckf{s>1717:A,s<1570:R,R}
-kl{a<2275:A,A}
-fl{s>2371:tzb,vhl}
-rz{a<2450:R,s>3365:A,R}
-rjv{s<1810:A,m>758:A,s>2893:R,R}
-hx{x<671:A,a>2389:R,x>691:R,R}
-jp{s<2734:gc,s>3506:A,R}
-bnt{m>837:A,m>433:R,m>254:R,R}
-hgk{a<2704:A,a>3062:A,nxg}
-txn{m>2615:ktj,tv}
-pgx{a>1994:R,x>2611:R,A}
-xxd{m>2723:A,s<2919:zvg,m>2567:R,vm}
-gtr{s>886:A,a<1457:R,R}
-jcz{s>2754:R,a>1065:R,a<523:A,A}
-chq{x<3072:A,x<3293:R,R}
-clz{s<3150:fkd,s>3490:rfx,hgm}
-hck{x>2194:R,s>122:A,A}
-vd{m>1534:jjs,a>3770:kmt,cj}
-qzn{x>1103:R,s<2513:A,A}
-pj{m>3377:A,A}
-tc{a>3418:R,R}
-kt{a<1141:tqf,s>1093:hzc,a<1584:rx,dx}
-gf{a<3431:A,A}
-jx{s<1412:vrm,s>1565:A,dm}
-vrl{x>386:xz,R}
-mz{a<2492:A,A}
-mkg{s>1805:vc,a>3085:bkv,a<2882:dnt,th}
-ns{a>3913:R,bdr}
-kq{s<2373:A,bt}
-jcs{s>2567:R,s<2521:A,R}
-jbm{a<2334:cbz,m<2533:cr,s<516:rpl,kx}
-pjm{m<2956:A,pcn}
-nt{a>1236:A,m<2027:A,R}
-rbf{s<846:R,m>2754:hdh,x<73:qfz,jh}
-hf{s<2598:cvv,A}
-cl{s>3154:hk,a<2910:dc,m>1368:czn,ccj}
-rh{s>2442:jxd,s<2047:ckf,s>2249:df,A}
-vj{s<31:R,a<3675:R,a<3727:R,A}
-qhx{a<1403:R,s<2780:A,R}
-hsb{s<3410:R,a<1336:A,A}
-vfc{x<2652:kh,s>1086:bjc,m>636:R,A}
-cd{s<1248:R,a>2984:R,A}
-nhf{a<3351:bk,gvq}
-jmz{x>176:R,a>2694:bnt,a>2565:R,vp}
-cfl{a>1330:sbp,s<1255:mkx,m<858:R,pqm}
-lkb{a<2993:R,m<2845:R,A}
-jjb{a>3094:clz,m<2393:sxj,x<3056:gvv,fl}
-rrd{a<2231:A,m>3181:kl,x>325:R,dkj}
-fj{m>3651:R,gtx}
-hdc{x>2461:znm,s>1764:bfq,s>1606:zgx,cxs}
-kmt{x<1020:xjj,s<2087:xr,A}
-cj{m<730:txd,x>819:A,kp}
-xqb{s<1587:rb,a<3436:R,vpg}
-xq{a<3606:R,x<329:R,R}
-tq{s<2112:A,s<3362:R,A}
-zzp{x>2975:sqz,m<2520:R,R}
-pqm{m<1122:A,s<1390:R,a>875:R,A}
-jq{x<3451:R,cf}
-xjj{s>2372:R,x<668:A,s>1023:R,R}
-tfq{s>3172:R,m>1532:R,A}
-bqs{x>919:xsc,vrl}
-thp{a<2602:R,m<2928:R,x<247:A,A}
-dkj{x>141:A,m<2971:R,A}
-pzx{x>2642:A,a<3478:A,R}
-ths{x<2809:sn,a>725:qvl,m<1362:jdx,lnn}
-qg{a>1868:mj,m>836:A,zxc}
-tx{s>1835:tph,m<2098:px,rbf}
-vf{a<2428:skj,m<2736:pg,x>2633:shv,xj}
-km{s>209:zqs,a>3504:skd,x<2757:glx,nhf}
-kj{s<3287:nj,thp}
-cml{m<1837:A,s<3096:R,a>494:A,R}
-rlc{m>474:R,m>251:A,x>2484:A,A}
-txd{s>2156:R,A}
-gl{a>3563:hhp,cps}
-ccj{m>569:A,s<2508:A,R}
-pf{m>3126:A,x>3194:R,R}
-pbh{m>3239:mm,cpj}
-zjt{a>1394:cmn,lv}
-drm{a>1592:A,R}
-bdr{a<3869:R,m>2643:A,x>1082:A,A}
-jqs{s>2614:rlc,dq}
-mv{x<623:R,qlj}
-nr{m<2107:R,R}
-zdg{a<3847:vd,s>2594:pck,ln}
-xk{s<2671:A,m>1780:R,A}
-px{s<685:zzq,s<1444:A,a<2772:R,A}
-znr{m>2244:R,a>2352:A,x<3509:A,R}
-bk{s>79:R,x<3271:R,A}
-ktj{x<1421:khd,m<3145:xbt,x>1493:chs,zj}
-hb{s>3741:R,s>3440:A,gm}
-ffs{s<1003:A,m>2845:cd,x>2032:nrt,hdf}
-dl{x<3044:R,m>1590:A,m<588:A,A}
-vg{m<1260:A,s<201:A,a>302:A,A}
-zfp{s>3617:chr,R}
-qpt{x<2038:R,s<1806:R,x>2275:R,R}
-jrp{m<1617:krr,s<3809:A,A}
-zqs{s>394:pzx,tn}
-knq{x>908:R,x<872:R,dsl}
-bbb{x<2800:xrs,a>1484:jpt,x>3526:vrp,tl}
-fz{s<1941:R,R}
-nm{a>2984:A,m>3291:A,A}
-rrl{s>2543:A,a>1195:A,a>1143:R,R}
-jpt{a>1614:zf,m<2537:jq,hlc}
-mb{s>2480:A,a>2039:R,A}
-flg{x<2119:bth,m<3180:mz,a>2238:fhg,kq}
-qlg{a>3593:R,A}
-nd{s<1985:jd,a<2754:kj,x<224:rcc,bn}
-nsg{x>3601:R,R}
-pg{a>2794:A,m>2531:A,tk}
-vpg{a<3448:A,x>601:A,m>2200:A,R}
-qq{a<3599:qlg,xq}
-mjq{m>906:A,R}
-tk{s<3534:R,A}
-tf{x<2430:A,m<2307:A,x<2765:R,A}
-bd{m>361:R,a>3529:A,R}
-xsq{a>2809:vl,a<2624:tfq,m<1412:mjq,nhl}
-bs{m<1209:R,x<1880:A,A}
-fn{a<3588:kv,a<3614:qq,s<1821:cls,rn}
-xt{m<2535:A,drm}
-pzh{x>3042:R,x>2454:A,R}
-sx{x<1429:bvs,rxv}
-vz{x<933:R,A}
-nq{m<3063:R,A}
-dm{m>867:R,A}
-sdr{s>1536:zsf,cnc}
-bvs{x<1372:A,x<1409:R,m>1611:A,R}
-zxk{m>1166:tb,m>571:fkh,sd}
-nxg{x>1061:R,x<1037:R,x>1045:R,R}
-gq{x<350:mc,a<2674:dz,mkg}
-vrp{x<3760:bmc,ddj}
-bbn{x>1096:A,m<3379:A,s>2981:R,A}
-sc{s>2125:R,A}
-vlc{s<330:R,x>2068:R,R}
-pl{s>2521:R,x<590:R,R}
-shm{m<1775:R,a<392:R,khx}
-zvg{s>2600:A,R}
-
-{x=864,m=2222,a=195,s=384}
-{x=901,m=448,a=737,s=1768}
-{x=2926,m=108,a=66,s=710}
-{x=447,m=2075,a=739,s=2}
-{x=597,m=681,a=975,s=28}
-{x=2159,m=1819,a=2019,s=618}
-{x=384,m=15,a=1695,s=142}
-{x=76,m=739,a=729,s=42}
-{x=1070,m=3064,a=2917,s=2856}
-{x=1584,m=1118,a=1134,s=1906}
-{x=23,m=7,a=309,s=260}
-{x=987,m=52,a=513,s=2353}
-{x=2128,m=133,a=1707,s=2272}
-{x=1721,m=9,a=10,s=2757}
-{x=56,m=1928,a=2447,s=651}
-{x=358,m=1514,a=208,s=2003}
-{x=991,m=160,a=1850,s=29}
-{x=135,m=900,a=257,s=1885}
-{x=1594,m=1262,a=292,s=773}
-{x=958,m=762,a=1835,s=129}
-{x=204,m=851,a=781,s=51}
-{x=393,m=77,a=65,s=1317}
-{x=102,m=2858,a=694,s=133}
-{x=1558,m=357,a=508,s=289}
-{x=185,m=111,a=305,s=2389}
-{x=877,m=2013,a=2980,s=2509}
-{x=2494,m=1224,a=54,s=939}
-{x=336,m=1421,a=2434,s=2183}
-{x=375,m=713,a=2313,s=459}
-{x=2899,m=54,a=334,s=1951}
-{x=452,m=585,a=16,s=531}
-{x=220,m=566,a=192,s=346}
-{x=1556,m=1173,a=7,s=611}
-{x=793,m=1179,a=549,s=16}
-{x=2730,m=545,a=888,s=2861}
-{x=8,m=136,a=1607,s=40}
-{x=641,m=2099,a=2295,s=745}
-{x=2342,m=100,a=1010,s=1306}
-{x=3432,m=432,a=658,s=645}
-{x=121,m=1563,a=1172,s=1807}
-{x=60,m=1124,a=859,s=595}
-{x=39,m=2653,a=1212,s=295}
-{x=1810,m=2143,a=250,s=899}
-{x=1049,m=1680,a=2472,s=66}
-{x=1305,m=645,a=1311,s=18}
-{x=32,m=1575,a=933,s=88}
-{x=2066,m=2204,a=2147,s=48}
-{x=806,m=263,a=862,s=406}
-{x=1218,m=142,a=2380,s=2080}
-{x=199,m=1608,a=815,s=504}
-{x=1355,m=844,a=312,s=186}
-{x=409,m=1271,a=2737,s=620}
-{x=652,m=409,a=315,s=1051}
-{x=2044,m=149,a=2045,s=3394}
-{x=1787,m=496,a=142,s=313}
-{x=70,m=78,a=953,s=872}
-{x=1072,m=1733,a=541,s=115}
-{x=254,m=302,a=1483,s=1537}
-{x=239,m=1242,a=929,s=15}
-{x=517,m=932,a=1899,s=844}
-{x=2926,m=364,a=595,s=1294}
-{x=1358,m=68,a=34,s=1728}
-{x=2065,m=312,a=3623,s=181}
-{x=414,m=451,a=876,s=80}
-{x=1689,m=843,a=139,s=245}
-{x=1136,m=289,a=2256,s=2537}
-{x=99,m=1094,a=980,s=382}
-{x=1610,m=751,a=456,s=143}
-{x=717,m=113,a=530,s=502}
-{x=2050,m=1025,a=431,s=48}
-{x=3411,m=87,a=306,s=2865}
-{x=1894,m=19,a=46,s=3399}
-{x=574,m=1848,a=599,s=1924}
-{x=3,m=1021,a=26,s=1166}
-{x=776,m=1882,a=1946,s=453}
-{x=1170,m=381,a=957,s=601}
-{x=1703,m=200,a=298,s=1246}
-{x=117,m=43,a=286,s=1131}
-{x=2642,m=18,a=552,s=8}
-{x=333,m=458,a=518,s=1260}
-{x=2391,m=794,a=1032,s=1156}
-{x=1439,m=629,a=1737,s=268}
-{x=70,m=465,a=603,s=1399}
-{x=312,m=648,a=875,s=785}
-{x=3106,m=348,a=45,s=198}
-{x=2991,m=18,a=1424,s=436}
-{x=397,m=1490,a=520,s=53}
-{x=553,m=232,a=2916,s=781}
-{x=1404,m=738,a=925,s=513}
-{x=757,m=619,a=442,s=43}
-{x=1747,m=924,a=11,s=430}
-{x=3644,m=201,a=693,s=33}
-{x=336,m=141,a=1473,s=2008}
-{x=1723,m=1595,a=91,s=282}
-{x=768,m=426,a=895,s=573}
-{x=312,m=604,a=12,s=361}
-{x=2900,m=23,a=748,s=578}
-{x=1100,m=116,a=2804,s=2407}
-{x=121,m=94,a=937,s=514}
-{x=61,m=2592,a=1518,s=855}
-{x=356,m=64,a=1167,s=732}
-{x=1538,m=702,a=444,s=524}
-{x=1071,m=230,a=1273,s=954}
-{x=1538,m=1389,a=963,s=681}
-{x=3560,m=407,a=606,s=1015}
-{x=276,m=534,a=14,s=2920}
-{x=122,m=1529,a=3159,s=302}
-{x=764,m=529,a=1535,s=1743}
-{x=1015,m=491,a=1323,s=1241}
-{x=831,m=1667,a=2553,s=146}
-{x=841,m=203,a=2621,s=696}
-{x=1586,m=403,a=1308,s=1892}
-{x=2119,m=47,a=446,s=124}
-{x=2321,m=2184,a=309,s=735}
-{x=44,m=99,a=2037,s=1730}
-{x=917,m=192,a=31,s=1104}
-{x=1135,m=2330,a=2073,s=1651}
-{x=1149,m=907,a=51,s=79}
-{x=299,m=330,a=2588,s=1829}
-{x=203,m=1847,a=205,s=696}
-{x=418,m=498,a=1030,s=307}
-{x=1560,m=1398,a=54,s=723}
-{x=1232,m=39,a=216,s=648}
-{x=1449,m=527,a=2553,s=39}
-{x=2579,m=154,a=208,s=1099}
-{x=213,m=1557,a=2636,s=202}
-{x=1787,m=1475,a=1407,s=1761}
-{x=1057,m=33,a=29,s=1488}
-{x=46,m=2348,a=2573,s=1457}
-{x=2080,m=352,a=247,s=97}
-{x=166,m=10,a=938,s=1203}
-{x=375,m=3545,a=21,s=2507}
-{x=1525,m=1748,a=63,s=511}
-{x=4,m=712,a=1182,s=2085}
-{x=460,m=996,a=1,s=2354}
-{x=538,m=1452,a=1066,s=2980}
-{x=328,m=488,a=2291,s=1542}
-{x=787,m=2124,a=649,s=281}
-{x=890,m=17,a=1812,s=99}
-{x=950,m=308,a=67,s=87}
-{x=792,m=500,a=64,s=546}
-{x=194,m=524,a=849,s=1060}
-{x=24,m=492,a=1727,s=1628}
-{x=3080,m=427,a=11,s=300}
-{x=910,m=2320,a=2178,s=225}
-{x=100,m=586,a=2247,s=1402}
-{x=1277,m=400,a=1053,s=11}
-{x=442,m=450,a=1063,s=1664}
-{x=1360,m=658,a=1705,s=306}
-{x=60,m=1215,a=1012,s=2971}
-{x=37,m=973,a=1351,s=2900}
-{x=755,m=1798,a=41,s=1999}
-{x=456,m=565,a=13,s=18}
-{x=1068,m=108,a=1261,s=216}
-{x=179,m=559,a=1871,s=1357}
-{x=760,m=1634,a=1753,s=502}
-{x=33,m=466,a=1114,s=112}
-{x=443,m=1297,a=280,s=1777}
-{x=2608,m=1971,a=651,s=2930}
-{x=244,m=1227,a=1578,s=15}
-{x=1063,m=635,a=2276,s=331}
-{x=321,m=1326,a=2474,s=359}
-{x=1412,m=186,a=2378,s=750}
-{x=1007,m=463,a=211,s=520}
-{x=2193,m=158,a=1966,s=952}
-{x=1047,m=348,a=37,s=88}
-{x=3034,m=1692,a=248,s=1957}
-{x=508,m=1601,a=213,s=712}
-{x=640,m=386,a=1410,s=2062}
-{x=683,m=855,a=503,s=3485}
-{x=574,m=28,a=978,s=287}
-{x=4,m=1189,a=20,s=330}
-{x=1716,m=1734,a=166,s=547}
-{x=903,m=1023,a=220,s=2002}
-{x=2105,m=2151,a=753,s=216}
-{x=357,m=1260,a=242,s=32}
-{x=382,m=1261,a=3644,s=2198}
-{x=451,m=1290,a=1901,s=446}
-{x=510,m=391,a=1064,s=1313}
-{x=1279,m=40,a=1825,s=946}
-{x=21,m=1879,a=1728,s=429}
-{x=50,m=183,a=1799,s=895}
-{x=2200,m=2092,a=827,s=1450}
-{x=230,m=1800,a=1178,s=1276}
-{x=747,m=1987,a=838,s=1589}
-{x=2113,m=613,a=727,s=26}
-{x=34,m=305,a=1750,s=1402}
-{x=394,m=3102,a=229,s=339}
-{x=247,m=1734,a=102,s=847}
-{x=819,m=1651,a=3293,s=1663}
-{x=459,m=2156,a=175,s=296}
-{x=1194,m=2195,a=324,s=297}
-{x=510,m=47,a=9,s=1406}
-{x=478,m=18,a=114,s=643}
-{x=278,m=2041,a=185,s=237}
-{x=2208,m=263,a=252,s=70}
-{x=22,m=956,a=1030,s=240}
-{x=164,m=466,a=3598,s=1158}
-{x=2901,m=267,a=108,s=455}
-{x=569,m=1421,a=1176,s=1237} \ No newline at end of file
diff --git a/aoc2023/src/day2/input.txt b/aoc2023/src/day2/input.txt
deleted file mode 100644
index 34a6672..0000000
--- a/aoc2023/src/day2/input.txt
+++ /dev/null
@@ -1,100 +0,0 @@
-Game 1: 1 green, 4 blue; 1 blue, 2 green, 1 red; 1 red, 1 green, 2 blue; 1 green, 1 red; 1 green; 1 green, 1 blue, 1 red
-Game 2: 2 blue, 2 red, 6 green; 1 red, 6 green, 7 blue; 10 green, 8 blue, 1 red; 2 green, 18 blue, 2 red; 14 blue, 3 green, 1 red; 8 green, 1 red, 9 blue
-Game 3: 6 green, 5 blue, 9 red; 4 blue, 1 green, 13 red; 9 green, 14 red, 1 blue
-Game 4: 14 green, 3 blue, 16 red; 20 red; 4 green, 2 red, 1 blue; 10 blue, 11 green, 18 red; 3 red, 3 blue, 6 green; 2 green, 18 red, 9 blue
-Game 5: 5 green, 4 blue; 1 red, 3 blue, 2 green; 4 green, 2 red, 15 blue; 11 blue, 8 green, 4 red; 4 red, 3 green; 4 red, 3 green, 7 blue
-Game 6: 6 blue, 10 green; 2 red, 6 green, 2 blue; 4 red, 4 blue, 1 green; 2 blue, 7 green, 2 red
-Game 7: 14 green, 3 red, 2 blue; 5 blue, 3 green, 2 red; 1 green, 3 blue
-Game 8: 7 red; 3 blue, 9 red, 1 green; 5 green, 5 blue, 7 red; 1 red, 2 blue
-Game 9: 3 green, 4 blue, 1 red; 3 blue, 12 green, 18 red; 7 green, 9 red, 8 blue; 2 blue, 10 red, 12 green; 4 blue, 1 red, 1 green; 4 blue, 6 green, 6 red
-Game 10: 2 blue, 4 green, 2 red; 7 green, 4 red; 5 red, 8 green
-Game 11: 1 blue, 10 green, 15 red; 1 blue, 2 green, 2 red; 5 green, 10 blue, 8 red; 13 red, 7 blue; 1 red, 9 green, 4 blue; 9 blue, 9 red, 8 green
-Game 12: 1 green, 10 red, 3 blue; 14 red, 1 green, 4 blue; 6 red, 3 green, 12 blue; 13 blue, 1 green, 18 red; 4 green, 14 red, 7 blue
-Game 13: 1 red, 3 green; 2 green, 1 red, 5 blue; 1 blue; 1 green, 7 blue, 1 red; 1 red, 2 green, 7 blue
-Game 14: 7 blue, 9 red, 1 green; 8 red, 2 blue; 11 red, 18 blue, 4 green; 2 blue, 3 green, 1 red; 1 green, 8 red, 9 blue; 2 blue, 8 red, 1 green
-Game 15: 8 blue, 3 green, 15 red; 13 red, 10 blue; 2 red
-Game 16: 1 green, 1 red; 1 blue, 2 green, 2 red; 1 blue, 4 red, 1 green; 3 green; 2 blue, 3 green, 4 red
-Game 17: 1 green, 3 red, 14 blue; 1 red, 2 blue, 2 green; 3 red
-Game 18: 1 red, 2 green, 8 blue; 2 blue, 14 red; 4 blue, 2 red, 2 green; 6 red
-Game 19: 2 red, 11 blue, 18 green; 3 red, 6 green, 3 blue; 7 green, 1 red, 10 blue
-Game 20: 10 red, 1 blue, 4 green; 4 green, 3 blue; 10 green, 13 red, 4 blue; 2 red, 7 green; 4 red, 3 blue, 5 green; 13 red, 1 green, 4 blue
-Game 21: 20 red, 4 green, 5 blue; 10 red, 11 green, 4 blue; 1 red, 8 blue, 14 green; 11 green, 8 blue, 15 red; 8 blue, 2 green, 13 red
-Game 22: 2 red, 11 blue, 4 green; 1 blue, 3 red, 6 green; 6 green, 1 red, 1 blue; 4 green, 7 blue, 3 red; 11 blue, 6 green, 4 red
-Game 23: 6 green, 3 red, 1 blue; 17 green, 11 red; 1 red, 2 blue, 13 green; 13 green, 19 red
-Game 24: 1 blue; 12 red, 1 blue; 1 red; 12 red, 1 green, 1 blue; 11 red, 1 blue; 12 red, 1 green
-Game 25: 12 blue, 6 red, 3 green; 8 green, 14 blue; 11 green, 5 blue, 6 red; 4 red, 12 blue, 8 green
-Game 26: 15 red, 13 green, 9 blue; 9 blue, 8 green, 7 red; 2 green, 6 red, 3 blue; 1 blue, 7 red, 3 green; 13 blue, 4 green, 18 red
-Game 27: 9 blue, 5 red; 15 red, 12 blue, 3 green; 12 red, 12 blue, 1 green
-Game 28: 18 red, 4 green; 4 green, 6 red; 1 blue, 6 green, 19 red; 9 green, 17 red; 4 green, 5 blue, 18 red
-Game 29: 7 green, 6 red, 6 blue; 6 blue, 19 red, 4 green; 4 green, 4 blue, 13 red; 5 blue, 15 red, 10 green; 2 green, 6 blue, 5 red; 8 red, 10 green, 6 blue
-Game 30: 1 green, 13 red, 12 blue; 1 red, 2 blue; 11 blue, 1 red, 1 green
-Game 31: 8 green, 18 blue, 17 red; 4 red, 8 green, 6 blue; 9 blue, 7 green; 3 green, 1 blue, 12 red; 5 red, 10 blue, 11 green
-Game 32: 17 red, 17 green, 7 blue; 18 red, 16 green; 1 blue
-Game 33: 16 blue, 3 red; 9 blue, 1 red, 2 green; 3 green, 7 blue; 1 green, 4 red; 3 green, 1 red, 8 blue; 5 blue
-Game 34: 5 blue, 8 red, 1 green; 9 red, 10 blue, 7 green; 1 green, 14 blue; 8 blue, 4 red, 10 green; 15 blue, 8 green, 7 red; 2 red, 6 green, 3 blue
-Game 35: 13 red, 9 blue; 7 blue, 16 red, 10 green; 4 red, 6 blue; 3 blue, 12 green, 7 red; 8 blue, 6 red; 10 blue, 3 green, 2 red
-Game 36: 1 blue, 9 red, 2 green; 11 red, 3 blue, 2 green; 2 green, 6 red; 8 green, 11 red, 3 blue; 4 green, 7 blue, 11 red; 9 green, 8 red, 2 blue
-Game 37: 8 green, 3 blue, 4 red; 14 blue, 10 green, 3 red; 19 green, 2 blue, 7 red
-Game 38: 2 green, 3 red, 3 blue; 3 green, 9 red; 13 blue, 8 red; 6 red, 5 green, 13 blue
-Game 39: 8 red, 5 blue; 4 green, 5 blue, 3 red; 18 red, 2 green, 6 blue; 2 green, 5 blue, 17 red; 1 green, 2 red; 5 green, 6 blue
-Game 40: 12 red, 4 blue, 1 green; 11 green, 20 blue, 4 red; 10 blue, 4 red
-Game 41: 2 green, 2 blue; 2 red, 2 green; 2 green, 2 blue, 10 red
-Game 42: 6 green, 3 blue; 2 red, 2 green, 1 blue; 3 blue, 5 green, 6 red; 6 red; 1 blue, 6 green, 12 red
-Game 43: 1 blue, 4 green; 1 blue; 2 blue, 8 red, 2 green; 2 blue, 1 red, 4 green; 1 blue, 4 red, 4 green; 4 green, 7 red
-Game 44: 8 green, 9 red; 1 red, 2 blue, 13 green; 4 blue, 8 green, 17 red; 13 red, 13 green; 1 red, 9 green; 19 red, 3 green, 3 blue
-Game 45: 10 blue, 2 red, 1 green; 6 green, 5 red, 8 blue; 3 blue, 1 red; 4 green, 10 blue, 4 red
-Game 46: 3 red, 8 blue; 6 blue, 7 green, 6 red; 6 green, 1 blue, 7 red; 8 red, 1 green, 5 blue; 9 red, 12 blue, 10 green; 7 green, 5 red, 1 blue
-Game 47: 5 red; 2 blue, 2 green, 5 red; 3 green, 7 red; 14 red, 3 green, 2 blue
-Game 48: 7 blue, 12 green, 2 red; 11 green, 10 blue, 1 red; 1 red, 13 blue, 2 green; 14 green, 2 red, 9 blue; 2 red, 12 green, 3 blue; 2 red, 7 blue
-Game 49: 4 green, 5 blue; 9 blue; 10 blue, 5 green, 2 red; 10 blue, 2 red, 2 green; 1 red, 1 green, 4 blue; 2 blue
-Game 50: 2 red, 2 blue, 7 green; 7 red, 9 green, 3 blue; 5 red, 10 green
-Game 51: 15 red, 9 blue, 4 green; 5 red, 2 blue, 15 green; 4 blue, 3 green, 20 red; 12 green, 1 red, 10 blue; 10 green, 5 blue, 13 red; 9 red, 10 green, 11 blue
-Game 52: 3 blue, 12 green, 1 red; 6 green; 1 red, 8 green; 1 blue, 1 green, 1 red
-Game 53: 10 green, 7 red, 12 blue; 9 blue, 6 green, 2 red; 8 green, 5 blue, 5 red; 7 blue, 16 green, 11 red; 6 red, 8 blue, 13 green
-Game 54: 10 green, 6 blue, 3 red; 6 green, 2 red, 8 blue; 9 blue, 11 green, 2 red; 10 green, 1 blue, 3 red
-Game 55: 4 blue, 1 red; 3 red, 7 blue; 12 red, 4 green, 8 blue; 3 green, 5 blue, 1 red; 13 blue, 12 red, 1 green
-Game 56: 12 blue, 15 green; 1 green, 7 red, 11 blue; 5 green, 9 blue, 1 red; 8 red, 5 green, 6 blue
-Game 57: 4 green, 11 blue, 18 red; 14 blue, 14 red, 16 green; 7 red, 15 green, 3 blue; 18 red, 20 green, 8 blue; 12 blue, 9 red, 16 green
-Game 58: 10 blue, 9 green, 8 red; 13 green, 6 blue, 8 red; 8 green, 4 red; 4 blue, 1 red, 18 green; 7 red, 10 green, 10 blue; 15 blue, 10 green, 3 red
-Game 59: 17 green, 2 blue, 2 red; 2 blue, 1 red, 8 green; 14 green, 1 red, 1 blue; 15 green, 3 blue, 2 red; 2 blue, 8 green, 1 red; 1 blue, 1 red, 8 green
-Game 60: 1 green, 1 blue, 1 red; 4 blue, 3 red, 2 green; 13 green; 2 blue, 2 red, 8 green; 4 red, 12 green, 4 blue; 4 green, 4 blue, 4 red
-Game 61: 3 blue, 7 red; 5 blue, 8 red, 1 green; 1 blue, 8 red; 10 blue, 2 red, 1 green; 1 green, 5 blue, 2 red
-Game 62: 10 red, 2 green; 8 blue, 7 red, 2 green; 4 green, 2 blue, 10 red
-Game 63: 1 green, 3 blue, 5 red; 6 green, 5 blue, 2 red; 3 blue, 7 red
-Game 64: 6 red, 20 blue; 4 red, 3 blue, 2 green; 3 green, 19 blue, 6 red; 2 green, 6 blue, 3 red; 13 blue, 5 green, 5 red
-Game 65: 6 red, 9 blue, 20 green; 6 red, 16 green, 4 blue; 12 red, 6 green, 5 blue
-Game 66: 2 blue, 5 red, 4 green; 13 blue, 2 green; 1 green, 6 blue
-Game 67: 4 green, 5 blue, 2 red; 1 red, 14 blue, 6 green; 1 green, 14 red, 5 blue; 18 red, 16 blue; 15 blue, 8 red, 18 green; 1 green, 18 red, 6 blue
-Game 68: 1 blue, 9 red, 7 green; 7 red, 1 blue, 6 green; 5 green, 1 blue, 8 red
-Game 69: 12 green, 3 blue, 4 red; 9 green, 8 red, 7 blue; 4 blue, 5 red, 10 green; 4 red, 5 green, 7 blue; 9 green, 4 red, 2 blue; 3 green, 13 blue, 1 red
-Game 70: 9 red, 1 green, 8 blue; 11 green, 13 blue, 12 red; 3 blue, 5 green, 8 red; 1 red, 14 blue
-Game 71: 10 blue; 2 green, 8 blue, 9 red; 5 red, 1 blue
-Game 72: 3 green, 5 blue, 5 red; 1 blue, 1 red, 2 green; 4 red, 4 blue, 1 green; 5 blue, 4 red, 1 green; 6 blue, 3 green, 5 red; 5 blue, 1 red, 4 green
-Game 73: 3 red, 1 green, 1 blue; 7 green, 2 red, 1 blue; 2 green, 1 blue, 3 red; 1 red, 4 green, 1 blue; 3 red, 5 green
-Game 74: 5 blue, 1 red, 4 green; 3 red, 2 green; 4 red, 6 blue; 2 red, 2 blue; 1 green, 4 red, 8 blue; 5 blue, 4 red
-Game 75: 3 red, 5 blue, 3 green; 9 green, 6 blue, 7 red; 2 green, 3 red, 12 blue; 14 green, 4 blue, 10 red
-Game 76: 1 blue, 7 red, 1 green; 6 red, 1 blue, 2 green; 4 red, 2 green; 3 red, 1 blue; 16 red, 1 green
-Game 77: 3 red, 10 blue, 1 green; 4 red, 7 blue, 3 green; 7 blue, 6 green, 7 red; 5 green, 15 blue, 7 red; 12 green, 5 red
-Game 78: 6 red, 10 blue, 15 green; 6 green, 11 red, 4 blue; 6 blue, 8 red; 4 blue, 7 red, 2 green; 11 green, 7 red, 11 blue; 3 blue, 14 green, 6 red
-Game 79: 14 red, 6 green, 4 blue; 13 red, 6 blue; 6 red, 13 green, 4 blue
-Game 80: 8 red, 2 blue, 8 green; 6 red, 10 green, 4 blue; 3 red, 9 green; 2 green, 8 blue, 7 red; 7 blue, 3 red, 11 green; 1 red, 12 green, 8 blue
-Game 81: 9 red, 4 blue, 11 green; 1 blue, 4 red, 2 green; 5 red; 3 blue, 2 red, 2 green; 14 red, 12 green
-Game 82: 5 green; 2 blue; 2 red; 1 blue, 2 red, 11 green; 8 green, 2 red, 1 blue
-Game 83: 3 green, 7 red, 6 blue; 7 red, 7 green, 11 blue; 7 blue, 13 green, 7 red; 12 blue, 10 red, 2 green; 1 green, 11 red, 7 blue; 12 blue, 9 red, 9 green
-Game 84: 5 blue, 1 green; 16 green, 4 blue, 8 red; 7 red, 5 blue, 16 green
-Game 85: 9 green, 20 blue, 7 red; 19 blue, 14 red, 2 green; 10 green, 2 red, 10 blue
-Game 86: 1 green, 3 red, 5 blue; 9 red, 2 blue, 6 green; 8 green, 14 red, 3 blue; 18 green, 2 blue, 7 red; 2 blue, 10 red, 14 green; 17 green, 4 blue, 12 red
-Game 87: 4 green, 8 red, 13 blue; 7 red, 13 blue, 4 green; 1 green, 8 blue
-Game 88: 9 blue, 11 red; 5 green, 7 blue, 12 red; 10 red, 2 green, 1 blue; 2 blue, 5 red, 5 green; 7 red, 6 green, 9 blue; 1 green, 10 red, 5 blue
-Game 89: 7 red, 2 green, 1 blue; 1 blue, 2 green; 6 red, 1 green; 7 red, 1 blue; 3 green, 3 red
-Game 90: 8 blue, 2 red, 3 green; 9 green, 4 blue, 3 red; 7 green, 11 blue, 2 red; 13 green, 12 blue, 8 red; 10 blue, 2 green; 5 green, 1 red, 9 blue
-Game 91: 2 red, 2 green, 4 blue; 5 blue, 2 red, 16 green; 11 green; 3 blue, 2 red, 8 green; 4 green, 3 blue
-Game 92: 8 red, 12 blue, 3 green; 11 red, 10 blue, 6 green; 14 red, 8 green, 14 blue
-Game 93: 3 green, 2 red, 3 blue; 3 green, 3 red, 1 blue; 2 blue, 16 red, 3 green; 2 green; 5 green, 2 blue, 2 red
-Game 94: 5 red, 2 green; 9 red, 3 blue; 2 green, 2 blue, 5 red; 3 blue, 8 red, 2 green; 8 red, 1 blue, 1 green
-Game 95: 3 blue, 4 green, 7 red; 7 red, 1 green, 15 blue; 6 blue, 2 green, 7 red
-Game 96: 2 blue, 1 red, 6 green; 7 blue, 8 green; 1 red, 7 green; 2 green, 14 blue, 1 red; 3 blue, 1 red, 7 green; 4 blue, 11 green
-Game 97: 2 red, 9 blue, 8 green; 3 green, 5 blue; 6 green, 1 red, 9 blue; 2 red, 13 green, 1 blue; 2 green, 2 red, 2 blue
-Game 98: 2 blue, 1 green, 1 red; 4 blue, 5 red, 1 green; 4 blue, 3 red, 2 green
-Game 99: 17 red, 2 blue, 4 green; 4 green, 8 red, 6 blue; 5 red
-Game 100: 6 red, 4 green; 3 red, 2 blue, 9 green; 1 blue, 5 green, 14 red; 1 blue, 2 red, 2 green; 9 red, 1 blue, 14 green; 2 blue, 11 green, 8 red \ No newline at end of file
diff --git a/aoc2023/src/day20/input.txt b/aoc2023/src/day20/input.txt
deleted file mode 100644
index 6949a60..0000000
--- a/aoc2023/src/day20/input.txt
+++ /dev/null
@@ -1,58 +0,0 @@
-%hb -> mj
-%mx -> mt, xz
-%xh -> qc
-%tg -> cq
-%kp -> xz, nj
-%mj -> jj, lv
-%cq -> jm
-%mt -> sj, xz
-&jj -> hb, lz, rk, xv, vj, vh, lv
-%rm -> bz, xq
-%hx -> bz
-%xv -> lz
-%xx -> kp, xz
-%pt -> vx
-&xz -> bq, gr, sj, rv, zf
-%vx -> gf, cv
-%xb -> xz, bq
-%xk -> gf, rd
-%lv -> zk
-&rk -> gh
-%kn -> gf, tz
-&gh -> rx
-%sj -> vp
-%jm -> vm, bz
-%rr -> rv, xz
-%tz -> rz
-%gg -> kn
-&cd -> gh
-%qc -> kh, bz
-%kb -> gf
-%vp -> xz, xx
-%fb -> bz, tg
-%rd -> cp
-%qn -> vh, jj
-%xr -> jj
-%tp -> rm, bz
-%cp -> gg
-&bz -> qx, cq, xh, fb, tg
-%qq -> pt, gf
-%xq -> bz, hx
-%gx -> jj, qv
-%bq -> rr
-%cv -> gf, kb
-%zk -> jj, xv
-&zf -> gh
-&qx -> gh
-%vh -> gx
-%qv -> xr, jj
-%lz -> qn
-broadcaster -> fb, xk, gr, vj
-%nj -> xz
-%gr -> xz, xb
-%kh -> tp, bz
-%vm -> bz, xh
-%rz -> qq, gf
-&gf -> tz, cd, rd, xk, pt, cp, gg
-%rv -> mx
-%vj -> hb, jj \ No newline at end of file
diff --git a/aoc2023/src/day3/input.txt b/aoc2023/src/day3/input.txt
deleted file mode 100644
index 1903642..0000000
--- a/aoc2023/src/day3/input.txt
+++ /dev/null
@@ -1,140 +0,0 @@
-............830..743.......59..955.......663..........................................367...........895....899...............826...220......
-.......284.....*............*.....$...+.....*...377..................*.......419.............488...*.......*...................*..-....939..
-....%.........976..679.461.7..........350..33.........$.380...$...151.897..........295..#......*....105.....418.............481........&....
-...992.....#......=...../........701................508...*..578........................259...331.................795..945........79........
-.........868........................*.............................17*..........348................441*852........*.....-...........@.....922
-....................*200............311..63................452.......323.#778.*....674....................680......696...372.....*..........
-.......266.......209......589.....=......*...365.........7.*...233.............755....*......644...272........697..*....*.....682..225......
-..836..........................949....607..........&....*..899...*....679.527.........331..........$....788../.....43....89.................
-........367.....328.&......%...............680...69..717.......60.......*.*............................*..........................728...264.
-........*.........*..119.253.......................................626....129...274............97...679.......752........*.......*....*.*...
-........360......471........../.........573-.702.............866...@...........*......772....../........259....*.........430....136.742.543.
-.........................../.852...............*...775...............643....455....../...........832....*.....41..535.......................
-.............-..........340.................103....*..........$...51*..................74................438......%...776...+.23*..663......
-.15.......806...............990.....................427....924............530.........=..............................*....968.....=....480..
-......#..............@914...*..............*........................%......*................................/.....406.................*.....
-....201.........79........592............70.894.....247..513+....367..$299.698......199................-.....223....../.........563....783..
-......................448........489................*.................................*....440...889...715..........351.....39..............
-.138....../766...........*.......................152.........................377....599.......*...*...........................@.............
-....%.820.......10*43.670..$87....100*244..@706..........668..319#...........................831.736....@............./..693.....321%.......
-......=...930#..................@...................493....*............152......569.................=.914....764.....9.-...................
-378$...............&.....854..505.........%........&.....124......12........117.....*591..979..76..133..........+............/..........883.
-...............602.141.....*...............770.....................*.........*................../.........874.@....../684....778............
-...........................954.....*397.........................394...........614..307*74..457..............+.514.......................327.
-........335*25.....-....31..........................................$...719.................*........6..214................878..............
-...............86*.269....*...480........................*....140..947....*..&.......................*......972..............*..364*274.....
-501-.......805..........285...*..................6....335.167...*........18...332.............741...127......+.............246..............
-......616.......752*276.....470.848..599.........*............779..=................539...961..$.........204.......-..201*.....%............
-.491.....*..521.........*94.......*.-.....&...163........285/......51..99*......474..*...-.......945.....&......839.......140...201.....$...
-....$.795..*........539.........500.......662.............................421....*...459..../.......*407.............../................471.
-...........110.......*...............252.............................%..........730......551..509.............824...230....569....48=.......
-......150...................................+..70.565=.&320.........983....155................=.....54.......%............*....@......../...
-...............972..146...........49.433..137..............................*....%..................@....................436.451..........328
-568-...@.552%....-.-................*.................957................93......74...........*........156.566../....#...........285........
-.....565..............693....443......................*....394.@58...362...................383.583.............542.38............./..890....
-...*.................*........*........&.223...........506.............=..................................300...............477........&....
-..612..459..........462....663......125....................720..............355.....253...............904......................*............
-........$................................622..............=................*...........*30.........#.$........................284........383
-............&.999....&.......................%........240....295*681.846....53.....806......793..646....626./76..737....479.........558.@...
-.........892..#.......885.....804..587*....340.........*..............%............*.........*..........*................%............/.....
-660..635...........-............./.....213........$....512.....551.............*....910........................@............................
-........*..........361..270*.....................328..............*.........853........................*.....985...965............232...948.
-..501@......................213...412$.....375..................631..916.......................254...284.........#....*..252........*.......
-...................695............................872*876..622..........-.........*..575...851*..................910.395..*....*717.248.....
-.....91.........80....*..390...........497....496............*.......@.........297..*................&....873.............946.8.........647.
-.......*.424.......108.....=.............*..................686....418.............131........600.96.327...=...561...321............343*....
-....731....*..............................938..........256..............909.......................................*.........................
-.........811...=....................680...........167...*...601.....................892..#.......142*.......151..108............201.........
-................653........879....@.*.........%...*...699..*..............726............695.870.....526.$................*8............234.
-....54....311..............=...320..619.......495.375.......926....914.........654..............*........236...$.......444.....@613.........
-...*........*......450*............................................*...786.625.......804.850.....674..........305...........................
-..593.512....517.......155.....646*239....286......+...........96..264....*......471.*......*.........314*901..............879..............
-..........................................=.....419....820......&..................+.......163....148........................*....586.......
-.....331.....................637....126.................*..147............650...............................................315....*........
-.......%......................$....../.................392....@...943..34...*......752.............................161..30.........970.521..
-.........984.412#.......-.569...@................464....................*.275..&.....#.126*506....................*.......=.168-............
-.724..................570....*.914.388.........%..$.........274.......263.......130..............102.....2....21+.268....................226
-..........776=...6........759.......*..283..309.....682......$..........................................%........................446........
-....%284.........-....#...........119....*......622...@....+............/.......929..178...........141/............../650...628.+...........
-....................440........88.........335...*.......804............968..976*....+...................$.421..431..................*.......
-.....880@.......871.....30......................249...........134....*................*...............95....-...*.....856...353...94.....963
-...............*....97..&.......989./.........*.....522+..$.....*.226.436.905......347.396.707...511..........342.....-.....*...........*...
-........936*....299.........217.&...478....931.457........62.391............&...............*..../...884*....................370........483.
-....965.....992.............*......................................371*771.............37..382...........990...391.......852................
-.......*........985.......753.&..........561.204.......................................*......................*...........@..........+935...
-......677.....................164.883...............325........951.....847....%......433....*944.50...753..344..............................
-.829.......583........429............*34......243...*.........*.............329.%........421...........*..........803..746............675...
-...*..................*....512............999.......102......398.................640................401....310.............164...452..*.....
-269........9........705....*........782....%.......................615.734....-..............289...........*.....................=....661...
-........37.#..............14.......*........../.......586.............*........623.......129........324.....601...%.....@...................
-...165................#.........861............463.......*.......361*..............356........175.....*.........906.897..716....118..#......
-.....*.............728....417.........+...395#.........443...........829.....390-....................399...............*..........+..813....
-....176..253...846......$...........719..........132............897...............334......................20...........51.....%............
-..............*....*..278................958........*.......=.................183*.......427.......766.......*..914.282......674............
-....&......344...249.....................*.....445.770.....67.....301................295*.........*....715.390...*...../...............424..
-.....541......................160.580...........#................=...........*677..............394.......*........327....739...179.360..*...
-..........=................%.....*................-954......%.............406......765..................930.....*.........../.....*.....370.
-....%.....979.379..........415...............318..........284....440../............-....133.........157......579.550................747.....
-.240..........*.....................@...........*642............*.....84.....%.331................2*...................582...=........*.....
-......=.....246....167...............704.............763........999.......781...*.....-109............126..801............*.484....632..542.
-....%..488.........@..........................$954....*../.....................779..........232................510.....149..................
-...27..........984.........*....485.....937........982..234..............225..................*..........122.............................16.
-...........473.#..........558..*.............410-...........93............#..655....846....829.....760......=...................=....+......
-.....=390..*...................624........#.................+..473..............#......=...........+...577#......$...481.......651.869.806..
-747.......543.259.../717............&...346.......948..........$...........472.............230+......=.........206......*...................
-................*........+.224/...798.........311...*..896*220...............&.+..................825....../............378...370...........
-...............485.641.674.....................*......................618.......389........................565..&674...........*............
-..........475.................=.162............461.441...................*..........652......&....508..856...........364....464.............
-...............154...452#...693....*................*.......391.........979....344..&.......814..............501.......=....................
-...............*................425....25#...........788............879...........*.....29....................&....................850...794
-393.............523...507*683..............174@..........-.............=...369....439....-.......*305.891..........952............*.........
-..........+...............................................535..911.........................*....1.........441.....-.........88...906........
-..........997...17.............779..............960...................209........545......513................*...........98...........+608..
-.....................63.968...*.........340.......*...858..339...........%.-767...+...173........47.........906............*210.............
-.............&..575..*....@.788.........*.........178.....*.......949.................+...........*.............-.....399.............@.....
-..........571....%....984............414...............$.912.....*......302.............594.240..724....341..645.......*.......=..848.642...
-....282@...........*......=......189.....138...227*.906.........70......*..................*.............=..........957...657.81../.........
-..........*...$.813.179.901.592.....*....................................7....127.............$692...............$..........*.........*.....
-.......207..91..............*.....784...872..756.........&..322..............*.........*19.........749.......548..624.694..858...512..598...
-.................+.........352...........*.....*.934..126...*.....351..........40...616.......153.....*661............*...........*.........
-...823........829...346...........821...826.304...%.......115.......*..........*...............*.............../...622...523.......606......
-...*...............*.............*...................186...........813....716@.372....16..300...489..108.....770.......................697..
-..........919...782.......912................@.........*.%485............................*..........*...............208.220....853..........
-...308......*............*......269.........539.......2.............853.......941.660.532........246.......980..357*....+.....*......./.....
-..../......32.164.......15.479.=.............................=...............*....*......................#....*......+......-.855.....415...
-.......305..../.....649....*......633...925...634............121............355....578.......14*....422..543.297....429..142................
-..960..+..............*.....536......*..@....-.......51..-.........592#..........+..............9..*........................................
-.....*......515......434............908..........189......430..................332...722..-.........450..#.........................139......
-..259......*.............................39..33.....$..................................*...159..443.....925.............743....414.&...=437.
-......58..475...........227%.......217..../...*................../...............&....506..........................63..*.......*............
-.......=......-..............993....%.........166........605....293........977+..498......%.....834...455...........*.....%....981.991......
-...........636..728...*.......*.......494...............................................205........*.@...........528....226.........#....785
-664.9..............$..9...494.272...............725*....775...$....854..........226.243..........832....637*73................165...........
-...*...340+.............@...*.......548.............405....*...768..*..............*.......81.........................10.787.$.......918....
-.......................145...265....+..........110........45.........90..299.....$........&.....696...475.-452..290....*...*..........@.....
-......+....246.108.305...................894....=............121.588......*....69...................................236..97......348........
-.......709........*...........-...........-..........411...=...*.......135........................738..383.....634*..........429.@..........
-...........%........%217......119.....................@..47.........+.......923..............606...*.......960..............-...............
-....835.....744...................546.......215.............512.....950.......%...444......&...$.833......./.........813.......400..%...48..
-........362.......898..#.......................*.732........*.............965....&.........584..................521..#...........-.995......
-....64.*.........*.....265........781..376...320.#........998...450.......%............................$...............................304..
-....-...966...875..981........742*.......*...........*276.........*...............541.....219.279..357..164...551..%717...............%.....
-...................*...786.$..........*...163.....915...........960...%...509.135*...........*................-...........%.539.............
-....666..699......179..+...612..=734..545...........................88.....&.......392...46..........483=..&.......548.135.....*.413.#620...
-...$....*....948..........................530.656....%..484....*..................*......./...741..........444......*.......150...*.........
-......................524...928..........=........858....=..562.571........117@.195..896......*......662.......148.388.............320......
-...166..48.../....-............#...159.......487.....................260...............#...713.........*.347................................
-......*.......657..837.....273.......%........*...155.................*........225..................228.....*370..../.......724.....764.....
-......654.679.................@.........-....918...................681..461.............................776......737.................+......
-...........*....859......881#............625......$...........888.........+...57...............887.$.......*............................#911
-...46*....72...&...................................102.............651........*......*530.......-..667....850..829*.869%........298.........
-......925..........892.352*........6.41....................+...160.$.....*.72..878..1.....................................738......*926..32.
-...............279.........721......*..............694....799..&......878....*................219....+...482..368$...........*../...........
-......604........*....................583*506........-...........740..........347............*....576......*................498..478.974....
-..486.-....................626..................320........&....../.................*979.=....863........497........111..............%......
-...................................538..78...*.....*......7...455.......223......939......673..........=......559-....*...834............58.
-.......644....&.......#..669+.1.......*.....782.....865......*....779..#..............110...../....937..312...........489...................
-.......*....571.....69........*.......169...................919....*.....808.................335...*.............................24*896.....
-.......233................590.553..............198=..450.........661.......*.....................15...-....................-575.............
-...........919*.....................................*.......234.........492..%...........300...........301........./866..........*..........
-...............470.....440.874...116....240........299......................27......409.......................................639.136....... \ No newline at end of file
diff --git a/aoc2023/src/day4/input.txt b/aoc2023/src/day4/input.txt
deleted file mode 100644
index 0391b6a..0000000
--- a/aoc2023/src/day4/input.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-Card 1: 8 86 59 90 68 52 55 24 37 69 | 10 55 8 86 6 62 69 68 59 37 91 90 24 22 78 61 58 89 52 96 95 94 13 36 81
-Card 2: 6 42 98 5 17 31 13 36 63 61 | 99 88 14 20 63 5 56 33 6 21 92 13 17 7 31 93 30 74 98 15 11 36 61 42 47
-Card 3: 16 58 72 77 1 67 33 82 68 7 | 16 37 15 75 78 1 49 82 22 45 83 58 77 79 50 88 98 67 33 72 42 29 35 7 68
-Card 4: 75 35 37 6 29 54 64 57 82 4 | 8 33 27 85 84 54 75 37 4 57 70 29 64 94 17 6 38 41 82 81 71 35 47 51 19
-Card 5: 23 85 52 77 81 50 28 59 87 82 | 70 65 12 35 9 41 62 31 47 66 58 15 76 46 68 67 55 86 17 38 18 1 75 79 13
-Card 6: 77 64 13 36 68 88 16 75 25 95 | 25 64 55 58 75 66 23 16 27 68 69 88 13 9 39 42 29 65 83 97 32 89 53 96 94
-Card 7: 31 12 76 29 48 96 41 49 21 37 | 94 81 65 82 15 33 53 91 88 37 46 29 3 80 95 67 11 27 31 30 49 89 78 41 90
-Card 8: 20 5 52 31 46 25 88 95 39 83 | 36 62 48 39 69 3 81 11 61 95 43 85 34 46 5 8 13 45 10 17 2 88 70 52 89
-Card 9: 8 85 89 55 77 9 40 5 57 37 | 56 84 62 42 49 50 51 35 75 25 13 74 68 1 99 48 41 94 45 66 17 69 23 29 67
-Card 10: 74 1 7 89 97 82 75 9 11 42 | 94 71 41 30 50 58 23 81 35 6 97 57 67 85 98 10 87 43 96 77 31 8 54 72 65
-Card 11: 38 29 6 5 4 84 34 1 94 23 | 89 48 51 84 49 33 50 65 79 53 12 8 5 1 35 69 83 57 11 42 67 26 9 6 55
-Card 12: 35 83 44 75 36 65 85 87 60 72 | 8 3 91 33 59 29 56 26 21 60 80 88 25 5 51 47 46 44 41 31 62 79 76 89 55
-Card 13: 8 56 97 66 32 70 25 76 18 20 | 15 50 91 65 3 67 98 81 9 44 18 92 13 64 96 47 87 46 7 33 66 71 82 88 90
-Card 14: 37 52 63 28 19 89 44 76 98 24 | 70 13 59 31 17 84 90 6 62 19 74 36 94 1 15 12 29 95 47 92 23 67 60 58 53
-Card 15: 71 70 25 51 95 86 66 37 27 53 | 14 20 30 17 59 96 11 68 46 13 75 44 40 62 32 7 81 91 73 64 93 83 35 80 49
-Card 16: 97 4 63 22 75 73 5 52 34 26 | 33 98 64 47 90 94 28 35 43 30 73 51 7 27 10 40 97 37 34 32 22 71 63 21 80
-Card 17: 15 18 29 55 14 25 69 4 59 75 | 66 4 82 23 94 22 26 16 55 69 75 20 76 25 29 59 15 18 70 2 28 39 95 14 40
-Card 18: 26 40 70 42 37 68 25 76 56 97 | 33 97 28 13 24 50 66 53 67 84 26 68 42 56 92 40 65 76 25 32 70 93 85 37 94
-Card 19: 56 61 7 53 48 88 77 73 27 79 | 50 81 29 15 46 19 33 89 54 85 58 73 68 34 84 2 40 27 44 94 88 62 14 1 56
-Card 20: 34 89 62 72 6 30 16 53 78 2 | 2 78 73 89 85 40 47 30 34 8 60 23 72 26 62 96 6 91 29 16 57 46 59 53 94
-Card 21: 65 18 22 53 8 31 32 84 39 9 | 75 16 70 3 14 61 34 9 38 71 8 49 53 52 81 18 45 82 41 44 32 63 65 51 69
-Card 22: 44 80 76 71 36 1 50 87 23 27 | 1 76 83 67 87 68 25 80 8 23 57 29 52 4 50 64 24 44 77 45 27 32 36 73 71
-Card 23: 68 90 10 43 73 63 85 47 11 96 | 9 29 53 84 4 6 25 82 11 21 73 83 20 95 66 27 80 26 70 33 85 47 17 74 98
-Card 24: 51 68 2 69 39 86 55 70 6 54 | 72 17 14 26 91 52 96 86 66 64 51 2 92 53 36 39 89 42 40 68 55 37 6 54 7
-Card 25: 74 92 43 35 29 93 39 53 10 54 | 86 35 10 18 92 43 56 25 44 53 93 39 29 54 11 12 55 61 83 41 21 69 81 4 74
-Card 26: 80 19 99 93 76 67 70 60 39 9 | 98 2 26 95 21 49 44 9 31 58 83 46 14 99 4 78 12 56 89 71 66 29 47 64 96
-Card 27: 92 52 5 46 49 62 74 72 44 87 | 37 93 24 29 5 88 72 81 62 50 69 33 52 19 23 8 84 1 70 87 95 96 61 63 49
-Card 28: 79 80 98 59 54 45 91 16 11 4 | 80 10 98 45 78 91 1 65 12 11 4 82 88 79 54 55 8 99 59 67 68 16 25 3 70
-Card 29: 52 30 9 13 44 71 48 63 65 27 | 90 31 17 80 44 39 85 93 58 65 8 63 16 35 40 1 73 68 52 6 97 99 13 10 61
-Card 30: 12 19 35 9 82 20 72 61 50 67 | 11 84 77 14 46 29 62 28 81 98 43 12 15 72 35 99 19 97 75 1 20 7 82 60 52
-Card 31: 21 58 93 11 50 25 88 77 64 29 | 42 1 31 30 99 69 54 32 88 24 95 15 55 56 14 45 19 33 87 34 7 93 79 23 74
-Card 32: 39 87 70 22 46 95 69 3 58 80 | 85 95 24 45 84 22 37 12 33 43 93 96 27 56 70 67 91 58 10 68 69 40 97 82 13
-Card 33: 91 42 78 76 77 27 22 98 94 70 | 80 17 63 21 37 52 46 44 2 7 73 86 49 40 23 4 92 60 43 76 29 22 24 69 42
-Card 34: 11 50 70 95 32 81 26 57 7 76 | 83 64 65 46 87 56 28 98 90 11 96 40 99 3 16 12 61 19 97 76 51 92 93 34 15
-Card 35: 80 28 55 51 98 5 92 54 73 78 | 78 66 10 38 36 51 1 83 94 33 42 17 62 56 59 21 86 25 46 48 63 12 45 31 65
-Card 36: 63 76 16 74 10 14 50 73 81 35 | 3 68 1 76 62 53 67 97 13 85 28 65 32 72 34 98 57 20 71 17 64 48 8 56 44
-Card 37: 37 1 38 62 56 27 17 8 21 98 | 78 31 14 23 18 62 4 2 97 88 59 34 57 46 81 16 36 58 86 35 72 61 7 80 28
-Card 38: 56 30 92 44 33 11 16 45 72 60 | 74 86 59 87 22 81 46 32 52 21 78 10 57 1 13 85 49 75 95 29 8 38 77 54 50
-Card 39: 66 83 99 18 79 70 57 25 86 55 | 8 41 50 87 77 7 78 84 53 35 43 26 13 29 30 69 91 65 32 59 31 45 56 15 48
-Card 40: 64 46 22 83 33 38 95 75 69 89 | 82 65 45 68 75 33 69 49 22 95 89 74 53 46 38 25 83 64 8 59 81 16 94 27 60
-Card 41: 90 26 49 5 76 98 92 64 19 32 | 47 35 49 45 13 67 73 55 4 64 79 63 89 57 5 75 85 91 25 88 74 70 28 68 86
-Card 42: 45 52 92 43 76 96 4 86 53 62 | 96 53 55 18 95 44 25 45 47 66 62 2 52 60 10 3 1 37 87 92 98 70 9 86 23
-Card 43: 9 64 57 76 21 30 38 98 85 1 | 11 22 92 81 58 59 48 75 2 32 15 84 27 56 86 99 98 66 54 96 20 37 67 12 29
-Card 44: 11 41 84 1 76 6 64 8 31 44 | 11 1 33 58 55 6 84 44 70 20 64 41 90 98 72 42 8 38 4 39 76 17 18 69 31
-Card 45: 88 12 95 1 24 71 70 49 79 8 | 86 57 43 12 90 78 70 76 24 95 39 8 1 13 47 71 49 75 15 32 2 77 58 79 21
-Card 46: 84 91 96 41 17 76 9 36 81 1 | 82 5 99 19 43 20 86 69 37 44 95 41 55 65 96 70 24 47 77 15 31 36 2 79 22
-Card 47: 48 80 18 4 40 11 90 17 27 68 | 33 40 15 99 48 12 25 27 44 17 50 94 68 63 11 29 80 4 18 42 32 90 19 2 91
-Card 48: 44 30 51 97 22 57 87 17 53 11 | 35 17 81 22 11 30 75 80 74 54 79 16 78 97 89 87 51 37 43 72 53 57 27 94 23
-Card 49: 31 2 7 13 9 33 95 41 57 34 | 25 90 77 13 1 95 18 17 34 92 10 33 80 2 82 66 91 73 70 86 21 7 42 47 19
-Card 50: 16 44 77 76 23 81 47 29 62 22 | 35 27 83 47 88 76 98 64 31 86 48 42 95 67 25 44 17 51 18 26 12 1 90 99 62
-Card 51: 55 68 41 17 28 83 64 62 22 13 | 24 6 23 22 64 7 83 74 44 34 28 68 13 32 26 50 62 17 12 41 97 55 16 1 9
-Card 52: 96 79 43 83 37 25 86 24 66 34 | 79 18 6 2 64 62 86 48 65 34 29 68 9 87 76 71 3 69 61 41 40 35 37 55 32
-Card 53: 46 1 10 43 47 17 62 52 58 75 | 58 14 52 71 31 75 55 50 8 99 63 23 4 13 10 62 16 17 82 43 56 46 76 83 65
-Card 54: 75 33 27 30 87 32 68 89 44 17 | 73 28 31 97 27 9 57 14 15 20 39 82 38 36 43 58 75 4 44 30 33 80 16 48 17
-Card 55: 70 11 9 44 14 32 83 10 99 71 | 65 48 21 75 83 71 92 2 34 22 11 14 39 31 63 25 88 15 80 76 96 90 52 70 99
-Card 56: 17 38 6 13 3 67 87 64 37 68 | 41 7 53 11 5 62 93 28 65 8 56 32 1 69 47 18 82 40 20 12 80 37 89 43 2
-Card 57: 64 29 46 22 61 56 32 20 97 72 | 31 14 29 44 74 22 1 56 4 52 58 45 50 78 67 11 97 72 16 20 27 57 61 83 85
-Card 58: 62 85 13 46 79 37 99 81 91 8 | 98 17 85 23 33 94 35 2 47 20 3 11 36 96 43 46 25 60 59 10 22 55 87 58 28
-Card 59: 58 36 55 31 69 91 21 51 56 10 | 19 49 73 6 34 27 40 65 11 55 44 67 37 97 14 85 84 89 72 29 64 15 70 68 94
-Card 60: 46 40 95 45 75 74 7 38 10 81 | 32 38 4 61 78 5 39 99 86 33 2 98 83 42 11 75 27 73 81 9 54 37 40 12 80
-Card 61: 40 29 73 56 91 44 24 77 1 5 | 87 52 80 45 70 48 47 44 69 17 16 6 82 66 37 42 39 3 10 15 97 13 40 99 62
-Card 62: 54 55 29 80 70 50 97 89 33 68 | 21 3 76 73 6 42 2 91 19 18 72 92 94 11 77 32 52 8 81 48 35 16 27 12 84
-Card 63: 19 45 77 86 6 33 83 91 52 36 | 18 68 60 58 84 29 9 67 21 99 24 80 69 96 25 85 46 50 95 27 61 4 90 63 88
-Card 64: 88 23 57 8 93 17 20 42 54 51 | 12 78 82 80 85 43 73 44 84 89 15 36 30 10 25 29 7 99 61 60 86 14 26 28 83
-Card 65: 92 13 3 54 4 95 28 72 8 15 | 15 60 66 33 82 95 94 69 71 59 54 99 40 31 83 17 13 80 28 72 4 92 45 87 46
-Card 66: 1 42 10 66 94 21 46 95 73 32 | 64 99 3 86 69 71 95 78 60 28 5 19 35 85 67 7 32 16 39 66 89 42 31 43 58
-Card 67: 87 50 23 52 5 22 88 82 59 72 | 26 59 48 90 82 55 50 37 87 35 2 52 72 11 40 23 54 88 19 33 5 97 86 22 30
-Card 68: 21 89 80 14 73 61 9 7 68 48 | 18 89 38 26 32 21 79 15 14 86 44 55 95 41 80 7 9 29 73 1 13 48 68 28 61
-Card 69: 9 82 65 50 57 40 96 36 83 60 | 96 17 88 60 40 74 33 19 41 23 82 89 92 72 50 83 4 7 56 34 9 36 52 57 65
-Card 70: 40 63 61 64 3 21 52 11 66 53 | 82 42 13 30 44 72 74 83 45 70 38 33 80 8 64 48 49 73 19 51 85 47 90 84 92
-Card 71: 92 24 98 94 89 41 1 93 28 32 | 28 61 92 13 53 89 43 23 32 66 81 93 94 38 90 36 24 68 1 91 98 41 29 67 64
-Card 72: 29 61 68 1 78 69 33 45 39 18 | 81 12 36 28 73 75 18 35 42 33 95 68 3 79 39 8 24 82 87 45 11 91 23 51 1
-Card 73: 15 33 51 46 80 95 67 71 97 16 | 23 7 93 94 55 33 5 84 28 32 15 59 98 6 46 17 86 43 39 81 36 42 63 71 82
-Card 74: 95 9 16 72 30 20 41 97 45 90 | 30 72 49 66 36 9 82 98 95 16 48 57 46 86 47 90 20 85 54 74 73 4 22 60 32
-Card 75: 82 55 49 44 75 57 19 59 38 4 | 21 78 35 6 93 75 28 41 83 72 55 22 64 89 70 47 23 29 20 99 48 53 27 65 13
-Card 76: 19 31 41 50 27 43 74 21 51 44 | 24 79 71 16 49 37 60 14 8 33 52 40 98 6 34 62 56 4 10 30 39 48 99 67 22
-Card 77: 39 23 28 96 98 50 40 34 79 74 | 85 68 79 33 48 23 56 10 89 38 50 71 17 28 6 74 53 4 98 26 8 22 39 31 66
-Card 78: 80 31 82 32 70 17 68 44 22 97 | 72 6 95 57 13 94 37 44 70 46 32 69 22 56 40 15 77 88 17 82 31 47 71 18 68
-Card 79: 37 53 75 59 72 43 65 74 81 26 | 37 23 11 48 45 86 74 2 59 58 92 12 65 78 16 97 57 76 67 26 18 41 43 54 49
-Card 80: 63 41 23 39 40 10 26 93 24 73 | 30 19 74 40 49 90 22 65 78 10 24 93 73 41 51 7 61 15 29 39 63 16 64 23 37
-Card 81: 88 68 74 9 97 46 11 87 39 10 | 40 3 14 85 64 43 42 97 90 9 39 13 29 72 47 10 48 4 68 96 99 25 98 65 57
-Card 82: 81 48 21 57 65 39 12 66 95 33 | 16 33 79 85 92 52 50 34 15 22 9 45 74 17 24 63 28 72 84 62 58 77 41 64 83
-Card 83: 45 33 86 43 63 96 25 88 53 15 | 73 93 79 18 2 26 21 65 28 57 52 88 1 80 33 38 76 3 56 35 6 23 34 24 13
-Card 84: 31 74 96 40 36 99 91 92 63 10 | 78 38 59 27 84 34 31 72 19 91 12 45 57 92 32 44 70 50 10 24 87 33 49 65 61
-Card 85: 24 20 39 42 78 57 12 64 40 44 | 68 34 77 20 21 12 35 23 97 3 50 65 42 18 84 41 43 69 94 37 76 57 31 45 79
-Card 86: 51 48 14 80 3 72 92 15 35 43 | 50 69 18 76 63 30 58 19 65 16 70 55 54 12 87 62 60 68 93 83 1 44 26 98 27
-Card 87: 11 4 31 73 5 81 2 32 29 51 | 3 47 9 18 16 19 66 36 23 70 91 64 69 87 51 84 43 65 35 42 63 72 82 54 93
-Card 88: 94 10 52 17 78 45 99 66 8 81 | 11 31 71 59 41 88 67 30 47 98 33 21 37 15 53 20 36 58 57 91 39 28 49 70 86
-Card 89: 28 68 50 39 98 57 78 71 11 48 | 95 67 79 86 53 17 66 60 77 6 44 54 19 31 74 80 63 99 47 12 91 21 70 8 10
-Card 90: 36 90 94 26 59 84 63 38 48 39 | 69 56 39 88 89 97 26 38 83 55 87 13 33 68 95 94 18 48 36 44 59 84 63 90 66
-Card 91: 89 3 61 68 53 85 66 81 11 78 | 29 10 81 58 22 47 19 3 36 98 61 85 89 78 39 17 50 53 11 66 68 24 4 86 25
-Card 92: 57 5 56 91 64 38 89 47 55 74 | 73 51 48 19 57 98 64 9 74 65 53 47 54 72 69 38 56 1 21 6 91 40 55 5 89
-Card 93: 6 86 18 53 9 82 70 81 89 26 | 21 69 75 10 8 86 89 70 47 23 78 96 98 53 6 9 2 81 31 56 39 55 18 1 42
-Card 94: 86 78 79 57 3 2 5 69 30 53 | 80 2 53 90 3 30 48 79 5 78 19 35 62 59 97 56 13 12 70 86 10 69 51 55 57
-Card 95: 64 51 15 84 25 94 88 80 20 33 | 1 90 50 47 32 15 20 51 84 65 64 55 39 94 19 66 40 25 88 43 80 34 29 3 92
-Card 96: 83 88 94 87 79 45 49 91 99 33 | 91 53 72 37 87 40 26 88 33 49 89 99 24 59 94 52 75 83 79 71 62 50 92 28 6
-Card 97: 51 91 36 6 68 9 97 78 39 80 | 18 97 68 34 91 61 78 3 23 84 8 16 36 96 65 99 59 80 58 90 14 32 1 41 74
-Card 98: 92 41 9 7 52 86 83 40 8 63 | 47 17 14 35 34 22 19 52 79 7 81 92 1 82 93 73 25 58 60 39 59 27 3 16 41
-Card 99: 72 47 22 4 62 58 31 91 34 50 | 49 65 94 71 82 25 24 9 64 62 50 60 14 84 16 93 1 46 8 19 47 44 21 10 11
-Card 100: 96 18 53 37 54 98 30 84 58 45 | 30 59 89 23 8 35 85 6 36 54 37 17 92 79 27 39 4 61 11 80 19 58 72 51 47
-Card 101: 67 26 23 99 78 60 55 82 83 11 | 60 22 91 21 18 29 67 62 34 93 56 59 49 52 38 79 28 11 17 77 76 20 2 99 92
-Card 102: 28 94 4 54 77 42 17 44 59 48 | 24 13 61 6 5 83 50 77 76 37 90 71 79 47 8 98 41 75 59 70 89 16 30 17 45
-Card 103: 65 69 32 77 64 99 24 71 73 90 | 20 26 72 17 16 46 86 2 28 13 88 45 5 70 95 55 33 65 49 68 50 58 85 83 22
-Card 104: 78 17 88 26 65 79 8 18 47 25 | 31 86 76 30 84 44 62 97 81 42 14 72 25 32 82 5 54 69 98 52 68 13 92 3 58
-Card 105: 72 63 74 24 23 67 34 26 50 73 | 11 70 76 89 84 92 79 33 82 44 71 48 35 8 59 14 93 15 29 18 55 3 38 77 28
-Card 106: 36 40 51 81 60 96 34 49 85 89 | 72 15 7 40 60 97 68 52 36 55 87 96 85 89 49 61 78 34 37 27 76 5 51 81 12
-Card 107: 56 6 20 66 35 45 14 19 62 52 | 15 27 93 17 77 19 35 43 80 72 47 88 8 70 71 92 83 82 10 97 25 90 44 69 87
-Card 108: 33 44 49 78 10 26 20 65 77 13 | 33 54 2 24 17 20 26 7 93 5 3 77 81 46 92 78 49 65 32 51 44 95 13 29 10
-Card 109: 51 25 49 60 83 75 46 43 50 41 | 96 12 53 50 78 92 60 15 76 6 5 34 41 23 25 70 20 75 86 73 30 39 32 48 95
-Card 110: 13 22 99 91 47 53 35 34 37 77 | 79 35 1 13 88 57 76 89 81 15 53 56 99 34 6 68 77 32 91 47 87 37 4 24 16
-Card 111: 17 21 92 30 95 1 52 5 27 46 | 86 24 6 51 99 68 16 34 19 76 31 10 56 63 58 97 87 26 40 73 8 54 69 18 90
-Card 112: 52 83 38 39 95 12 57 14 46 85 | 12 95 85 14 89 50 52 17 92 18 38 34 55 83 16 66 19 88 4 20 46 57 77 39 11
-Card 113: 6 25 93 3 52 46 2 13 70 7 | 67 46 40 2 3 77 35 50 57 52 55 75 53 72 97 89 34 84 15 31 23 7 58 25 21
-Card 114: 24 53 25 12 17 82 14 50 3 74 | 91 83 57 50 96 68 52 11 56 44 89 95 15 13 54 20 76 48 30 88 53 55 93 65 47
-Card 115: 95 81 49 37 80 70 7 60 75 99 | 29 74 98 94 49 59 60 86 75 93 72 56 87 82 76 32 33 4 46 70 27 83 1 35 2
-Card 116: 80 67 54 68 98 47 12 56 77 60 | 45 81 47 78 29 39 56 42 80 54 68 90 37 2 16 96 5 38 14 59 7 30 6 67 20
-Card 117: 6 59 84 35 1 53 28 77 94 24 | 97 62 40 54 93 44 90 63 26 64 91 75 6 4 22 82 80 2 69 12 77 21 53 49 10
-Card 118: 86 30 39 49 32 29 27 68 97 50 | 2 48 36 99 83 4 38 5 47 77 66 1 20 10 14 15 63 78 89 91 85 80 41 28 54
-Card 119: 87 78 77 15 85 99 2 35 45 11 | 58 51 62 42 63 90 37 22 8 83 34 31 67 35 72 17 91 7 88 49 13 39 59 4 18
-Card 120: 80 21 33 94 26 68 73 35 83 3 | 67 9 94 49 27 50 40 30 60 90 86 91 98 69 6 15 36 71 38 31 17 33 41 70 84
-Card 121: 81 17 27 59 99 69 49 14 83 91 | 20 77 55 73 87 36 25 56 54 58 45 68 80 18 3 15 65 31 96 40 75 30 92 42 23
-Card 122: 22 44 29 27 77 20 86 34 5 99 | 63 19 97 74 4 39 7 52 87 31 81 45 23 18 53 47 50 73 80 2 70 94 26 66 14
-Card 123: 39 40 61 53 56 60 96 5 68 25 | 97 98 6 79 81 32 51 26 59 13 10 2 3 77 88 80 63 90 52 12 87 29 49 18 76
-Card 124: 78 19 92 75 56 95 2 16 43 44 | 95 2 56 4 92 66 53 88 21 16 43 78 17 44 85 48 12 19 52 40 69 75 59 82 26
-Card 125: 14 43 38 9 8 62 17 28 12 11 | 80 19 38 43 11 34 29 9 32 12 62 28 77 72 17 69 33 96 94 78 67 8 93 90 4
-Card 126: 60 95 93 99 11 49 20 75 37 54 | 54 42 19 49 92 95 11 34 74 93 60 52 99 5 7 75 20 12 68 98 43 50 36 37 56
-Card 127: 73 24 71 80 58 62 17 41 61 43 | 68 43 79 58 87 67 6 62 20 41 93 71 27 88 23 17 24 42 52 13 61 80 81 84 73
-Card 128: 99 10 91 58 70 47 80 30 96 57 | 46 57 3 72 4 87 70 10 59 7 96 48 28 97 91 58 47 76 36 80 8 23 19 30 99
-Card 129: 50 3 78 8 80 11 57 52 94 47 | 63 60 38 92 50 65 91 88 53 17 96 42 66 28 1 25 75 76 73 87 90 36 82 24 68
-Card 130: 38 42 33 70 61 58 73 88 74 29 | 83 92 77 58 56 74 55 93 38 46 29 28 37 68 33 73 91 61 12 64 25 88 42 31 70
-Card 131: 92 46 42 96 12 14 95 84 57 78 | 11 6 82 41 73 55 8 93 76 98 99 86 31 21 78 29 32 70 62 23 95 15 9 77 52
-Card 132: 40 97 45 2 19 99 29 98 37 20 | 5 56 36 21 33 83 32 98 66 20 16 37 97 93 40 78 43 77 99 29 87 96 2 30 39
-Card 133: 97 81 10 23 75 6 53 27 35 47 | 37 93 8 92 68 65 15 85 25 67 61 56 5 42 88 18 76 87 60 46 59 94 86 57 91
-Card 134: 96 66 54 61 10 85 98 40 13 41 | 90 58 9 38 28 24 57 52 5 81 80 62 34 54 79 49 2 95 1 18 41 65 82 32 42
-Card 135: 54 79 66 83 45 35 10 27 41 94 | 67 42 4 89 51 95 1 63 90 40 65 23 98 7 86 9 97 3 11 61 92 69 77 80 2
-Card 136: 37 86 74 45 70 95 33 28 82 32 | 67 13 62 8 63 41 78 40 24 91 11 48 7 85 59 81 44 37 45 90 66 70 35 33 94
-Card 137: 75 89 5 18 91 57 37 63 85 40 | 27 34 9 51 76 41 69 86 95 81 36 82 1 38 10 99 7 47 21 77 8 30 19 71 60
-Card 138: 9 67 82 54 5 98 7 6 40 96 | 13 83 90 88 44 17 82 24 47 84 23 85 62 45 72 91 58 46 38 32 25 79 70 59 33
-Card 139: 1 6 65 80 35 91 63 22 60 50 | 79 84 81 92 75 36 88 90 86 16 53 17 44 43 15 94 73 51 14 42 33 98 74 57 4
-Card 140: 24 43 8 76 91 79 42 68 81 70 | 65 36 56 57 16 69 38 86 85 37 22 9 98 33 45 25 95 28 52 2 27 6 14 46 55
-Card 141: 62 32 78 2 21 45 75 48 91 85 | 38 42 3 20 21 56 48 75 86 45 40 91 33 73 25 85 16 78 2 24 72 26 32 61 62
-Card 142: 90 10 32 43 65 91 24 22 34 62 | 91 26 72 81 7 11 32 10 90 33 34 87 35 24 29 3 59 62 2 65 22 43 57 74 79
-Card 143: 16 52 66 56 50 57 77 71 73 40 | 71 43 80 59 36 39 77 40 11 4 64 16 85 52 49 73 56 57 10 9 86 46 66 6 50
-Card 144: 61 56 14 66 2 73 39 8 33 97 | 26 8 47 67 16 18 37 39 14 9 61 33 97 2 66 56 73 4 75 11 62 68 49 44 34
-Card 145: 75 65 92 85 73 18 70 95 49 22 | 25 8 49 2 16 13 97 33 93 66 75 85 73 71 65 18 22 53 92 38 44 50 62 70 95
-Card 146: 78 62 86 83 26 23 80 2 77 87 | 23 96 38 63 83 22 20 86 77 21 67 66 75 5 36 47 26 61 80 87 82 16 78 46 2
-Card 147: 84 36 18 42 50 12 64 61 99 91 | 18 75 61 76 74 12 1 41 28 91 64 24 55 36 27 3 84 99 42 50 95 83 31 7 22
-Card 148: 61 91 60 18 68 50 73 29 23 87 | 18 76 33 5 27 97 31 37 21 38 56 91 60 87 23 55 58 61 50 45 14 29 72 68 73
-Card 149: 46 97 81 18 85 95 91 43 72 87 | 32 23 1 49 66 96 24 16 42 22 81 51 72 8 20 37 44 71 45 25 90 88 5 94 74
-Card 150: 17 99 20 36 33 78 9 87 81 84 | 37 8 79 65 31 99 45 36 81 90 73 11 49 46 87 84 3 33 19 12 57 9 20 48 17
-Card 151: 35 46 49 80 66 75 99 77 8 53 | 75 24 5 67 4 53 49 61 19 23 26 97 93 77 46 66 35 40 99 39 30 80 76 25 8
-Card 152: 11 80 39 1 30 36 16 85 33 66 | 26 66 60 2 94 16 81 48 80 43 85 96 51 68 33 63 88 54 6 36 37 59 5 1 47
-Card 153: 49 86 25 83 96 8 93 88 24 57 | 66 60 51 33 57 95 49 79 63 2 93 58 65 70 55 76 87 27 1 46 11 52 80 84 54
-Card 154: 38 41 75 30 91 6 14 66 47 57 | 34 56 11 70 71 60 22 81 41 74 39 67 79 98 87 42 62 3 32 57 55 46 33 16 51
-Card 155: 25 31 45 21 68 57 73 20 71 32 | 20 18 98 53 60 7 38 10 12 19 77 64 79 74 17 33 83 88 28 16 32 21 89 69 65
-Card 156: 19 35 39 37 84 50 62 95 96 56 | 89 24 92 67 4 47 54 59 72 84 3 5 76 96 23 1 58 86 32 21 78 88 68 44 48
-Card 157: 24 68 39 72 23 93 81 51 45 25 | 96 33 76 99 5 70 93 18 24 68 6 64 49 92 45 80 15 77 4 57 25 13 44 28 2
-Card 158: 51 18 46 75 2 80 20 72 17 29 | 97 55 47 23 20 4 39 24 64 11 31 16 90 29 93 72 18 45 27 46 61 70 80 68 67
-Card 159: 34 10 70 56 51 9 99 32 15 74 | 13 31 44 56 63 20 99 81 40 78 84 90 50 52 85 19 41 10 45 71 22 28 26 8 14
-Card 160: 69 49 13 23 36 64 24 18 57 7 | 54 62 96 36 7 10 28 64 1 85 3 63 73 21 27 37 49 47 75 34 97 30 77 32 9
-Card 161: 35 16 44 25 42 62 95 77 89 34 | 29 26 11 78 97 23 28 36 10 96 54 81 17 22 80 27 77 44 41 34 20 51 76 24 75
-Card 162: 60 17 28 76 67 12 41 15 53 70 | 41 19 35 64 65 15 37 22 80 66 55 40 45 81 17 98 85 74 57 4 16 91 49 5 68
-Card 163: 57 3 82 45 28 70 50 17 85 48 | 68 87 47 62 58 31 88 92 98 90 46 29 5 85 93 24 95 99 39 75 55 33 65 49 14
-Card 164: 33 81 13 87 53 48 79 70 17 91 | 92 57 21 4 36 27 62 1 46 80 31 72 5 94 58 99 75 67 83 25 51 9 26 52 63
-Card 165: 55 70 45 36 72 59 81 16 69 98 | 60 7 43 54 66 78 83 23 25 94 48 67 26 56 53 58 2 4 27 31 34 39 49 85 74
-Card 166: 94 64 48 15 36 35 79 23 77 33 | 78 80 25 5 18 34 92 69 84 86 26 13 89 65 29 3 7 39 71 31 42 21 51 48 55
-Card 167: 13 34 54 2 20 16 89 79 88 9 | 47 75 25 82 72 76 51 37 95 22 71 55 54 74 9 33 97 83 27 2 79 28 17 91 24
-Card 168: 33 82 70 88 7 46 96 67 26 89 | 73 8 22 1 59 45 92 24 43 41 15 64 3 58 83 63 57 82 20 18 91 13 77 60 19
-Card 169: 91 4 32 45 55 98 80 52 9 33 | 20 45 37 28 69 61 60 81 12 33 51 74 15 97 50 86 72 99 2 41 70 58 19 40 39
-Card 170: 45 72 63 87 70 33 89 41 4 18 | 25 9 19 49 26 63 11 73 54 64 70 37 45 82 30 1 90 24 87 42 4 40 91 71 18
-Card 171: 74 99 84 26 66 10 95 8 75 68 | 34 62 37 97 57 65 75 74 6 67 68 96 4 1 95 55 52 82 13 47 63 48 94 26 77
-Card 172: 62 99 47 83 94 8 51 70 9 76 | 94 99 83 26 57 76 18 67 22 80 61 34 8 39 65 78 13 81 70 51 62 93 9 3 33
-Card 173: 42 99 9 18 48 61 36 83 13 84 | 7 69 44 61 35 54 27 3 60 55 99 84 32 48 18 19 72 42 89 65 4 92 79 75 13
-Card 174: 48 34 46 43 53 51 72 35 19 3 | 72 43 57 51 14 34 2 36 53 25 94 81 87 61 19 35 23 4 99 26 48 46 7 90 86
-Card 175: 46 59 27 28 82 13 99 35 18 6 | 36 90 70 87 64 31 42 71 50 27 76 45 99 32 21 20 9 88 23 93 17 46 80 85 59
-Card 176: 92 44 3 29 10 7 66 4 57 21 | 36 68 61 87 65 1 53 95 60 2 34 47 75 42 82 8 83 79 54 74 93 26 69 22 32
-Card 177: 89 23 17 80 22 65 98 11 94 3 | 91 28 37 99 63 60 42 87 23 98 71 39 82 93 57 68 62 13 75 77 22 26 53 48 90
-Card 178: 11 75 56 47 64 88 91 66 59 12 | 41 97 40 26 42 67 23 28 31 99 85 30 11 94 81 55 74 89 52 64 65 69 3 38 43
-Card 179: 31 97 46 27 96 57 45 30 64 82 | 36 42 81 54 85 31 1 29 8 84 28 50 64 76 10 67 77 39 21 4 75 78 99 47 12
-Card 180: 10 32 84 45 87 16 82 14 95 8 | 21 8 41 66 56 42 77 83 90 9 55 61 19 38 23 50 28 62 99 58 33 11 84 39 98
-Card 181: 90 54 11 49 95 88 15 75 18 2 | 30 5 68 41 71 52 56 10 50 60 81 51 27 94 42 55 6 87 78 66 72 96 36 12 62
-Card 182: 73 1 91 2 99 75 30 29 48 89 | 46 51 34 7 18 57 64 9 23 68 16 19 85 70 66 72 5 87 12 4 25 97 10 89 60
-Card 183: 16 20 31 39 75 36 78 33 88 69 | 57 17 8 70 79 37 6 48 51 85 30 45 98 26 3 83 29 58 87 54 61 35 74 43 66
-Card 184: 69 50 38 49 9 96 75 82 80 14 | 23 99 30 83 78 9 50 40 14 74 75 8 37 69 82 42 26 49 96 1 38 58 80 84 7
-Card 185: 44 66 49 89 36 28 30 85 32 68 | 44 28 66 72 33 65 31 67 36 30 99 89 12 25 32 76 68 85 48 90 78 92 13 49 82
-Card 186: 46 48 6 52 24 19 51 76 11 47 | 93 63 78 33 31 86 68 10 74 70 3 83 36 4 54 79 8 77 38 57 97 27 22 29 53
-Card 187: 49 12 70 83 40 68 15 78 88 95 | 72 31 40 69 37 65 71 35 9 44 49 95 89 68 50 41 20 58 16 60 90 22 28 96 10
-Card 188: 86 47 96 63 55 29 91 31 59 23 | 55 77 30 23 91 75 86 47 29 31 78 67 4 92 96 26 63 37 80 54 1 11 32 15 98
-Card 189: 40 97 46 63 66 58 54 35 33 59 | 75 17 57 71 55 62 43 96 85 98 83 37 40 23 65 94 93 25 72 78 46 47 28 33 56
-Card 190: 94 41 57 47 6 24 65 59 44 20 | 95 86 26 77 87 47 18 27 16 85 57 61 66 37 35 38 23 42 50 60 98 71 62 8 25
-Card 191: 57 32 39 19 48 77 27 96 10 61 | 68 82 86 70 75 35 11 24 69 56 45 95 67 44 25 36 90 47 74 39 27 55 66 87 12
-Card 192: 50 94 12 32 88 76 95 23 46 49 | 60 9 6 37 42 50 96 15 95 66 34 94 91 4 33 29 14 92 16 80 98 64 12 57 36
-Card 193: 32 25 53 7 71 31 80 42 92 63 | 84 78 28 90 27 24 5 67 63 75 81 12 31 55 46 60 89 98 37 16 86 23 72 43 22
-Card 194: 79 47 88 9 97 76 62 23 72 84 | 77 78 67 65 91 79 64 38 41 26 89 16 10 71 86 82 47 75 61 11 34 66 7 3 70
-Card 195: 22 47 95 56 66 98 44 73 50 30 | 92 33 28 65 16 60 8 45 56 2 47 84 25 55 58 17 35 88 38 95 81 63 43 57 98
-Card 196: 76 23 10 43 9 32 46 62 84 79 | 22 4 49 42 23 55 13 35 90 9 24 52 65 26 95 94 18 37 47 79 56 59 54 86 48
-Card 197: 65 44 24 84 49 62 6 54 42 20 | 25 72 90 58 77 60 59 73 11 39 91 19 21 28 62 8 41 66 87 56 64 52 80 82 24
-Card 198: 63 44 64 86 78 25 92 90 99 70 | 62 29 51 81 21 6 75 58 54 90 18 10 59 98 97 41 4 52 53 64 80 28 92 11 9
-Card 199: 7 15 47 28 44 22 74 76 40 56 | 78 24 95 38 25 36 77 46 89 45 18 42 3 75 62 90 52 81 83 85 80 26 4 23 71
-Card 200: 85 88 3 44 54 19 9 71 29 53 | 72 42 56 55 33 68 65 86 58 3 57 83 12 31 96 9 13 62 70 80 17 29 41 27 6
-Card 201: 10 51 69 82 56 40 94 9 90 78 | 57 92 89 1 99 87 5 73 80 28 2 6 67 70 33 18 17 78 16 95 69 44 38 24 55
-Card 202: 44 47 79 75 24 50 86 80 62 87 | 66 91 36 15 28 81 57 69 30 14 10 20 27 18 77 46 95 72 39 23 38 34 60 37 26
-Card 203: 59 31 79 81 4 21 24 54 48 62 | 37 90 25 51 70 77 18 17 97 52 40 75 43 3 91 50 87 67 42 15 14 63 6 13 5 \ No newline at end of file
diff --git a/aoc2023/src/day6/input.txt b/aoc2023/src/day6/input.txt
deleted file mode 100644
index 1026e3a..0000000
--- a/aoc2023/src/day6/input.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Time: 41 66 72 66
-Distance: 244 1047 1228 1040 \ No newline at end of file
diff --git a/aoc2023/src/day7/input.txt b/aoc2023/src/day7/input.txt
deleted file mode 100644
index b1d1932..0000000
--- a/aoc2023/src/day7/input.txt
+++ /dev/null
@@ -1,1000 +0,0 @@
-3Q373 470
-K53JT 351
-A9JK9 856
-2T333 515
-867T4 541
-58K22 253
-5JA6J 994
-K4A4K 865
-94377 519
-92J2Q 901
-J7676 389
-2KK36 938
-JQ2KK 987
-Q7A82 509
-TTTA5 243
-72J27 502
-AKKKA 387
-23222 674
-55335 161
-AA655 73
-QKKQA 686
-5J2T5 680
-666AT 385
-ATA3A 761
-TTT8J 364
-98A2T 282
-59A44 260
-6T9QJ 130
-T7TKQ 721
-9274T 656
-T9AJ4 182
-A2222 259
-TQKJ7 67
-4J844 560
-AAATA 636
-9J36J 546
-QJQQQ 119
-249TT 295
-877J7 221
-4KA23 116
-929Q2 929
-99JQQ 445
-Q9QJ8 432
-4Q7TJ 963
-4J2J8 783
-5J657 257
-88788 183
-KKK7K 909
-KK396 637
-J45AT 117
-84448 806
-A2698 820
-A9AA5 320
-A3934 19
-Q45Q5 392
-78686 254
-A55A5 701
-98A4K 655
-5AJ88 95
-AK3KK 55
-773KK 33
-J9J9J 356
-2KAKK 563
-655K5 287
-55T56 475
-54444 308
-5J5QA 811
-QKA76 792
-2K288 42
-JTKA2 694
-88668 889
-8TQ64 212
-23QQ2 261
-8K8K5 365
-JKKAA 234
-3J894 880
-667Q2 817
-888T4 599
-T5Q83 315
-3QK29 670
-JK4KK 322
-75T8T 144
-AAA7K 291
-7T333 495
-A49K4 448
-JJ3J3 251
-5999J 278
-38438 890
-6K3Q9 122
-TTT99 93
-94775 240
-K8QJ3 369
-59674 107
-267J4 355
-QTQTQ 187
-46J44 961
-Q7AK2 580
-69969 609
-876A5 474
-A3866 642
-Q3QQA 526
-JAA88 425
-35Q9K 986
-QQTQJ 550
-54535 357
-2J222 639
-QK5J7 743
-222Q2 191
-T4T44 855
-QTQQ2 338
-JA7A2 300
-AAAJ2 508
-4J455 23
-A77AA 339
-5KK25 899
-252J2 737
-7QJ76 888
-K46QK 795
-A4T3J 640
-8A8K8 176
-AA5AA 41
-J2Q24 958
-58855 632
-333J3 610
-74474 807
-K3AAA 78
-JJ222 765
-44224 688
-76733 361
-5845K 181
-TT4T2 974
-23J33 102
-QQJ6Q 34
-Q9AQQ 150
-22747 717
-KAA5A 121
-7AA7J 286
-J786T 780
-3K8TT 32
-A6KAA 25
-9A362 166
-A29Q2 499
-6688K 57
-KKQKA 947
-999JJ 975
-6A666 927
-TTT3K 658
-JQQ7T 467
-8A247 934
-7JK8J 712
-KK39K 612
-6666Q 17
-77Q37 868
-A66AJ 169
-KKKKJ 535
-7Q7JJ 591
-K9848 646
-46888 931
-A86A8 326
-743TA 527
-QKK67 977
-KKJ6K 471
-AAJ7A 571
-55292 330
-3A222 390
-6453J 109
-JKKKA 403
-4J9T5 21
-K7A5K 486
-6TT34 793
-3479Q 60
-44624 443
-6KK3K 164
-4447J 112
-QQ27Q 452
-JAK65 522
-Q5Q5Q 354
-J5Q6A 540
-68999 711
-3QJ4Q 155
-A6AAA 314
-222KK 767
-55T9A 373
-T5T57 913
-TTTTA 794
-8J258 190
-3Q87J 489
-AAQAQ 950
-Q4JJ4 588
-6T64T 9
-636K5 228
-AA222 248
-7KJ35 616
-26646 507
-44A4J 829
-23323 904
-TA265 135
-JJQT9 136
-KATJ8 644
-J2862 713
-4JQ28 152
-Q3K2T 56
-6Q232 812
-9A622 885
-KJKKJ 773
-3859T 374
-99333 101
-TKTTK 205
-3333A 35
-5A4AQ 548
-T4944 967
-43353 813
-423JK 869
-T99T7 219
-3AAAA 394
-T65Q6 740
-J9243 352
-6656J 496
-444K4 574
-Q8T6K 98
-AQ55K 917
-7QQJ7 605
-TJ5TT 615
-68JQ5 852
-7A3J2 745
-369AK 217
-57755 343
-A8844 61
-Q76QQ 698
-36333 774
-237Q7 12
-KT694 283
-88286 154
-4T552 990
-Q9J54 759
-K6697 350
-A3A33 937
-AA9AA 246
-QQ7KK 748
-TT4A6 380
-4J992 845
-A66AA 573
-5QQ2Q 28
-86J37 214
-2A443 362
-Q9QKK 654
-44434 964
-77773 74
-44355 235
-9QK75 863
-3AJ33 766
-T2TJT 53
-44494 860
-883A9 309
-QQ59Q 360
-A88A8 584
-A83A4 395
-7J9TA 299
-55955 833
-QJK35 188
-4656A 514
-8KTQ4 554
-56J47 985
-J272J 184
-9J999 671
-72295 31
-53555 264
-4A537 750
-7A4JJ 875
-QK834 463
-88KKA 570
-QQ9JK 906
-6Q646 858
-53336 359
-QJ8QJ 587
-424TJ 607
-KTKK6 285
-Q5AQQ 84
-899A8 542
-K8TKK 250
-4JA4A 705
-6J75J 896
-888K8 312
-5583J 660
-6T335 614
-Q757T 945
-3AKKA 629
-KK946 825
-3393Q 406
-7J288 367
-49999 907
-99729 837
-66265 384
-K47JQ 263
-2AJ4K 566
-TTKKA 186
-8J877 418
-56844 666
-JTTTT 531
-6TJ94 26
-JQ5J5 344
-7J772 85
-33747 510
-KJA2A 729
-333TQ 578
-JQAT4 955
-75766 834
-QQ6QQ 980
-32K33 306
-TTTJ6 231
-2QTTT 213
-999AQ 608
-33353 202
-Q8Q8Q 756
-KK555 490
-746K8 691
-98A75 853
-JQ858 816
-KK9KK 536
-9T999 933
-TA8A8 39
-8558J 919
-J8KQK 15
-73Q2K 503
-2K2KJ 585
-JK9K5 903
-TJ7T7 545
-J723T 453
-KT895 583
-TTTKT 123
-39535 393
-K4K88 893
-43KK6 821
-6AA8J 504
-972TA 597
-7J736 592
-536A8 63
-J23Q3 402
-83K9Q 405
-28337 396
-9T558 776
-7AA78 946
-QTT24 441
-26QT3 401
-AJQAQ 953
-6T6AJ 304
-JK5KK 162
-2JJ2J 484
-73773 6
-8J864 630
-78782 557
-6TJ52 424
-487JQ 830
-8J698 82
-AJAAA 866
-228J8 204
-622J4 823
-6J2QJ 79
-22K22 232
-A86A6 444
-83K8Q 965
-JK586 944
-JA848 465
-8888A 45
-2T28T 803
-73J73 450
-27272 857
-7A777 544
-A998J 679
-46466 458
-KJ233 192
-4453J 378
-TQQJT 451
-A3K5J 512
-888Q6 968
-6AA66 841
-QQ222 883
-3K5A3 233
-JA4AA 379
-62288 778
-44456 51
-4A644 862
-55647 981
-A77A7 327
-KQ3A3 687
-QQ7Q7 976
-T4A2T 293
-46226 628
-Q59Q5 348
-36AJ2 984
-54433 532
-JJQ24 831
-7455J 381
-78845 218
-72AQ5 276
-52T22 618
-99399 68
-36AA3 118
-69669 839
-33Q5J 785
-TJ766 626
-T28J4 556
-T883Q 142
-73928 932
-TJ884 494
-AJ36Q 485
-9Q999 324
-T725Q 267
-22622 88
-92364 685
-97792 789
-J673K 620
-99943 625
-77JJ7 921
-8828Q 572
-7777J 353
-TAAJT 926
-99T29 787
-AQ4J4 520
-9J559 5
-J3T94 706
-K9KK9 918
-KK252 439
-79925 97
-TT47T 497
-848T4 126
-6TTT6 426
-K8825 925
-888J8 62
-K5K85 972
-AAKKA 449
-J5555 663
-89J99 27
-4Q444 922
-A9A99 397
-5A555 163
-8J3K8 662
-29989 645
-95222 751
-Q4Q4Q 193
-555K5 982
-74AJ8 735
-KKQ6K 668
-7676Q 916
-A28T7 784
-K57KK 388
-A4J4J 115
-2K442 229
-33TT3 956
-TT6TA 741
-TT782 131
-TJ5JQ 238
-TQ7T7 415
-29KQQ 598
-A8AAT 676
-46A28 650
-6698K 696
-6J969 158
-6694A 271
-QTQ5T 498
-Q2QQQ 613
-2A7QJ 210
-6T466 683
-QJ575 799
-Q63Q3 822
-Q9J28 848
-TTTT7 7
-KA9AA 854
-K2JJT 859
-28228 179
-K29KJ 429
-JJ8JJ 222
-A99A5 457
-QQTTT 983
-43KK2 134
-984JJ 1
-97J97 892
-2AAA8 689
-9Q77J 819
-98TJK 517
-56KA5 71
-7J66J 294
-55855 335
-TTT8T 596
-33663 407
-7J774 911
-3JQ55 564
-QQQ7Q 329
-85668 120
-KK333 301
-Q3553 867
-7K557 988
-Q8488 400
-96J99 643
-29224 714
-T8ATA 346
-99J93 462
-K83J3 697
-3KQJ4 653
-5KJQ2 824
-4JJ3A 897
-56248 727
-JJ666 702
-355T5 245
-45KAK 553
-88AAA 236
-K55J5 581
-AJJ49 65
-A8Q3J 197
-AAAKQ 529
-55976 707
-77776 930
-A9995 227
-K7J7K 912
-29K99 244
-4Q464 80
-22972 195
-666JQ 189
-26278 241
-79288 601
-5454A 427
-JTAKQ 138
-88833 549
-84J54 215
-AATAK 114
-58959 145
-8ATTJ 431
-QJ26K 265
-A3JA3 81
-T8T4J 242
-4T3A3 37
-44777 871
-JQ542 561
-A97Q9 693
-A76T4 412
-28T4A 481
-T485A 861
-78286 303
-K6776 52
-T8TKQ 754
-KJ938 957
-Q444Q 840
-25A89 455
-58588 673
-K8858 634
-K8KJ8 170
-K6KKK 851
-53353 140
-2T2K6 593
-QQAQA 48
-TT6J6 305
-922J2 920
-AA22K 22
-J555Q 725
-TTAAT 781
-2244J 171
-A95K7 436
-2J299 651
-78AAA 321
-2KKK2 690
-2J565 649
-77J5K 77
-T999T 762
-J4445 879
-J888Q 873
-J884J 1000
-98898 413
-29299 442
-QKQ3Q 678
-A652A 993
-55272 898
-KA5K5 664
-8KJAQ 147
-Q56QJ 734
-K77J3 739
-J7677 661
-T5569 206
-2AA2J 757
-TJTJT 342
-T2TTT 682
-88J82 363
-9KK78 700
-AT4T4 730
-86968 736
-99995 207
-7A3J4 172
-8KK87 991
-TKKJJ 16
-J7532 165
-J9888 996
-9AJTA 92
-43T78 310
-93J77 317
-J4424 805
-43J86 703
-952TJ 127
-54363 146
-8T2J7 435
-88848 832
-TAAAQ 791
-8228T 256
-699QT 815
-KQQQK 30
-T82J3 49
-36222 4
-AK288 86
-6792A 194
-2Q22T 667
-J3545 270
-9QJK4 280
-QQ22Q 371
-K9247 446
-A422A 943
-765K3 469
-9J5A6 874
-4A4QA 775
-8Q8Q8 124
-T8Q62 850
-8Q8Q5 747
-6KT88 738
-82888 722
-3TQQQ 349
-2J3TT 539
-7TQ59 72
-8998T 733
-JQJT3 414
-82428 589
-92856 423
-89833 54
-79T4A 523
-95839 979
-TJJT5 936
-33839 29
-37433 511
-TKJ2T 681
-JT973 633
-Q8Q8J 971
-Q5555 440
-K8886 24
-Q75A4 43
-3AQ33 298
-T446T 719
-577J5 753
-KJTKT 167
-52528 8
-25222 641
-QJ2T8 621
-A8JQJ 316
-7T7A7 772
-KQQTQ 141
-83734 758
-6Q66Q 434
-QJ6Q2 638
-AAA7A 196
-57555 203
-4QJQ4 216
-82J5Q 763
-A73A3 940
-46AJQ 559
-T4936 103
-89Q29 262
-7872T 466
-A5J58 274
-AAAQA 290
-37399 844
-A759Q 328
-TJ9TT 273
-77887 268
-64A2J 978
-6T76Q 110
-QQ467 742
-9J7Q5 422
-4K6Q3 91
-336K3 826
-6K63Q 382
-23552 105
-243AA 505
-Q887J 764
-2J92A 749
-68A3Q 416
-7T8T8 199
-225J5 404
-24774 153
-T7T77 870
-3J393 347
-Q5Q8J 128
-7Q777 796
-QKKKK 617
-86686 108
-44KT4 75
-56858 622
-5AJK4 960
-3245Q 311
-36536 370
-6644Q 11
-JKAAA 104
-T2426 579
-J3399 83
-33933 602
-A299J 777
-26J22 224
-8666J 594
-J3J38 669
-3AJ84 239
-52Q8T 877
-QJQQK 779
-QJ6T8 797
-43339 399
-9AJ74 476
-T499Q 13
-2TAKA 928
-T3K78 809
-2923K 201
-J8858 798
-T8888 818
-98399 168
-8T266 555
-23A57 652
-3KKK3 113
-22T22 460
-AJJAA 106
-7QKA8 464
-QQ8TQ 368
-99A99 341
-62Q5A 223
-J9T47 568
-Q7388 894
-69662 744
-96J2T 323
-2A779 89
-Q2874 269
-77797 948
-5359A 864
-AJ9K4 482
-Q3Q44 567
-JT958 665
-A38J3 438
-J4666 296
-428J5 501
-38K8K 410
-6T979 709
-3533T 284
-2285A 910
-933T6 882
-K6666 786
-56Q32 992
-5J752 198
-AJJQJ 600
-KK5KK 3
-38T94 180
-67QTJ 69
-J6636 200
-229J8 493
-QJTQ3 247
-5KQ5K 149
-654AT 528
-T84T4 878
-Q23QQ 905
-QQQ74 325
-4JTQQ 408
-T4T78 340
-3T5T5 551
-3J3J3 391
-88844 631
-TTT9T 810
-57775 935
-A777J 604
-4555T 2
-A5J8T 942
-22AJJ 506
-22323 997
-A3323 624
-84442 516
-2T992 76
-J7T76 828
-J8552 995
-KTKK3 886
-33853 782
-53233 129
-44J4J 372
-KQQT2 480
-K5649 576
-3J63K 760
-2J666 827
-6JT68 318
-45Q64 849
-49884 801
-9KTTK 902
-66737 952
-5Q8J4 708
-57Q92 724
-627J7 331
-K22J6 473
-4T444 923
-J4444 552
-78J8J 491
-4K328 477
-4AA3A 808
-7A34Q 437
-AQ888 428
-8TA99 768
-AA9A9 143
-9K5AT 211
-77722 40
-TQTTT 941
-Q2A4K 492
-236T9 677
-J8686 746
-J585K 64
-TJKQT 582
-T3TTJ 157
-22266 38
-KT5TK 692
-QJQQJ 908
-4K623 279
-7JJJ7 173
-64A66 524
-J7AJ8 417
-K43Q3 769
-T662T 148
-54J2J 488
-K6485 44
-J6666 970
-J26J9 209
-8337Q 334
-A27A4 319
-A7T78 132
-K777A 842
-KKK4K 249
-99K9K 430
-8745K 151
-Q2QTJ 433
-QKQ76 525
-25Q2Q 533
-5QK6J 800
-77T77 558
-5K323 939
-33KK4 590
-K8A52 111
-ATQJ6 569
-ATK89 50
-4433A 836
-3KKKQ 891
-46TK4 538
-5249Q 447
-2462K 675
-8JT6T 336
-466J7 459
-7K7KK 838
-544Q4 959
-58773 483
-823J5 999
-2TKA5 752
-AKJ58 386
-7T833 99
-KQ88Q 659
-KJ3A4 790
-K9595 307
-3K3J4 534
-3838T 220
-32522 720
-366Q3 500
-J8868 989
-T7KTK 376
-JQQQA 14
-42555 409
-5T5T5 648
-4KK4Q 383
-K7777 884
-736A3 543
-343Q3 366
-TJ856 237
-JJ555 46
-K5QQQ 275
-QAQQ7 672
-8KTJQ 731
-QQQ3Q 47
-J257Q 575
-6Q3QQ 87
-QKK43 924
-TTATJ 998
-K44K5 771
-37895 881
-48823 521
-KKK74 456
-99J79 139
-J4542 635
-AJ96K 954
-K8937 411
-5J355 895
-96967 185
-333T3 562
-TAJ77 755
-J38A8 487
-AAT79 313
-A6Q73 398
-386JA 10
-J35Q8 623
-27758 969
-3K3KJ 966
-7928Q 627
-AAA4A 59
-2AA52 478
-848J8 133
-55225 843
-TTQT9 619
-3Q79K 255
-27AK8 58
-TKTKK 272
-KTTAT 333
-55666 802
-47748 454
-Q3T56 699
-63T3T 302
-8754Q 723
-4J86T 358
-8TTQ9 226
-5523J 125
-88588 606
-58AAA 208
-TK273 137
-4Q7KQ 160
-29292 577
-Q333Q 611
-22TT2 716
-A55AA 258
-64822 468
-22228 847
-2242T 788
-JA26Q 472
-8JAAA 174
-K5Q8A 175
-Q5AT4 732
-J4434 530
-76666 337
-9998Q 547
-9T2J9 100
-3Q982 90
-7727Q 281
-92944 973
-K2597 814
-K444K 36
-26KJ6 292
-34K38 962
-5A378 225
-636J9 375
-TTTT4 420
-A66TA 461
-69QK5 345
-76293 479
-66966 804
-A3383 297
-T82TT 657
-2QJJQ 156
-K2JK3 94
-K6K66 252
-K58QJ 876
-6J979 513
-92647 718
-QQ9Q9 586
-862Q5 20
-5465K 915
-KQ44Q 595
-T66T6 288
-TJT7T 710
-5JT8K 159
-KJTK3 603
-KKJTQ 949
-67776 914
-J4323 177
-22229 704
-96999 178
-8AJKA 70
-69T69 419
-65556 770
-87738 537
-547J4 835
-44766 421
-3355J 684
-2K266 647
-5TTT5 266
-3T3TT 332
-88JJ8 96
-QQ5K3 887
-K7JKK 377
-J8Q2Q 66
-2KKJ6 230
-TTKQT 277
-22Q92 18
-JTTTK 695
-J993Q 846
-88898 728
-88T87 715
-Q74J4 872
-4T999 951
-T997Q 289
-92QA9 726
-AJ394 900
-TT2T2 518
-JJJJJ 565 \ No newline at end of file
diff --git a/aoc2023/src/day8/input.txt b/aoc2023/src/day8/input.txt
deleted file mode 100644
index e27fbc1..0000000
--- a/aoc2023/src/day8/input.txt
+++ /dev/null
@@ -1,740 +0,0 @@
-LRLRLLRLRLRRLRLRLRRLRLRLLRRLRRLRLRLRLLRRRLRRRLLRRLRLRLRRRLRRLRRRLRLRLRRLRLLRLRLRRLRRRLRLRRLRRRLLRLRLRRRLRRRLRLRRRLRLRRRLLRRLLLRRRLLRRRLRRRLRRRLRLRLRLLRLRRLRLRLLLRRLRRLRRLRLRRLRRLLRRLRLRRRLRLRLLRRRLRRRLRRRLLLRRRLRLRLRRLRRRLRRRLRLRRRLRRLRRRLRLRRLLRRRLRRRLLLRRLRLRLRRLRRRLRRLRRLRLRRRR
-
-GXT = (MQM, CHN)
-MBK = (RCK, RCK)
-HBS = (QHS, RXC)
-SXK = (FDB, FKP)
-NJB = (BSB, KJM)
-SPD = (FNL, RSH)
-FJF = (NFH, XJN)
-GHV = (LSV, BTS)
-QDT = (HXV, PDX)
-MDH = (XDK, DKN)
-AAA = (FKL, CFC)
-GRB = (VDP, LMM)
-CXK = (DVB, CRJ)
-FDB = (FTD, CNK)
-LQT = (BJV, SMQ)
-TSK = (NQD, VSG)
-VLF = (NDS, CTV)
-PGP = (DKC, CKL)
-PVJ = (FDB, FKP)
-VSV = (NFP, QHX)
-KXN = (XJN, NFH)
-KMQ = (VBH, XXH)
-QXR = (RMD, TLT)
-DLN = (TPD, KBG)
-BHK = (GRP, RXF)
-TSX = (HQP, SHK)
-PTV = (VSG, NQD)
-QVN = (XBH, DHC)
-DDM = (TCB, XRQ)
-NKD = (CDR, BJM)
-JNR = (FMC, SQN)
-VPQ = (JGC, VCJ)
-HPB = (STQ, DDM)
-HRT = (JNR, BGH)
-CNQ = (HQV, PJQ)
-PMG = (LRB, XXP)
-RKV = (XGN, VCG)
-KVQ = (KHS, SLV)
-MDM = (VDX, NSF)
-VHT = (PGP, GJS)
-BPD = (NBF, VNH)
-JCQ = (JCB, XVR)
-CFJ = (PQP, CBJ)
-DSX = (BXN, VDS)
-MGH = (PFV, NLQ)
-MPK = (FND, BJX)
-QFR = (HFC, CNG)
-PHS = (VNH, NBF)
-KTT = (MTG, SQM)
-JBK = (CSR, VXV)
-BKL = (DLB, SHQ)
-GQH = (PCH, LDZ)
-XVJ = (CQM, SLF)
-VBN = (FFF, PDL)
-KQH = (SLT, XLG)
-SSN = (PQH, LFT)
-MQM = (SBH, TTC)
-SCR = (HGH, QGS)
-XTZ = (XKM, JTJ)
-ZZZ = (CFC, FKL)
-PRA = (GRB, MDB)
-VTV = (LXQ, HKP)
-PPX = (SQM, MTG)
-PVA = (MRJ, CVH)
-BJH = (VTR, RKG)
-KPH = (RFD, NJP)
-HXG = (NVJ, HNG)
-LRX = (DCX, MGH)
-NFD = (PFR, FVQ)
-TDG = (TDH, ZZZ)
-XKM = (XDG, VHT)
-CKT = (LDC, VPF)
-QQR = (BFQ, FXC)
-RGJ = (KTV, GFR)
-XDK = (MVC, SPX)
-TLT = (MBK, DGL)
-CDR = (JBG, KPH)
-LTH = (DFN, BHK)
-PVV = (BFQ, FXC)
-FCK = (FRJ, KVG)
-FXB = (MDH, VSJ)
-DHD = (LDJ, RNH)
-HHR = (HSK, CJD)
-LSV = (LNP, NMD)
-JSX = (DPF, SNN)
-SBH = (XKD, GTX)
-BHJ = (JSX, TMN)
-CQX = (XPG, RLB)
-XRQ = (FJK, NCF)
-GMF = (JBX, DRV)
-KBD = (HCC, TND)
-KGT = (NLK, FRX)
-RKM = (RTM, FMQ)
-GNM = (GML, NLB)
-SXP = (RKG, VTR)
-PMS = (XBH, DHC)
-PQH = (PJD, CXK)
-XXH = (BMB, JGJ)
-RHL = (QHS, RXC)
-DFS = (JVK, VBN)
-QCS = (XGN, VCG)
-MJJ = (DDM, STQ)
-SPV = (PXX, RRT)
-FRJ = (SNX, MPQ)
-FKC = (CBF, RKM)
-SRG = (QFH, LGP)
-VVQ = (BJV, SMQ)
-BQC = (DSP, TXQ)
-SHQ = (NKR, RGJ)
-KCS = (QGS, HGH)
-MTV = (BXN, VDS)
-CNC = (HPB, MJJ)
-SNF = (XXP, LRB)
-KTP = (QRX, KML)
-GSC = (HSK, CJD)
-QRX = (CRB, TXL)
-MDB = (VDP, LMM)
-PFV = (CLM, CTN)
-RRB = (HHR, GSC)
-DDQ = (PXX, RRT)
-TJB = (LSX, XNR)
-BSP = (TXC, LKB)
-MMV = (DKK, NFD)
-DCB = (XKP, TNJ)
-QKV = (CTT, SFM)
-XDG = (PGP, GJS)
-JMJ = (JLK, NJB)
-VBJ = (HJV, JFD)
-QHM = (CLJ, QGP)
-STR = (HXG, RFC)
-DPF = (VNQ, DQQ)
-RXF = (NHV, GBX)
-FXC = (JLX, LBS)
-XVR = (MVT, QHD)
-KNM = (BJD, QCK)
-GTX = (MSB, FNP)
-XCS = (PTN, NRH)
-CGS = (FRX, NLK)
-RCK = (CQM, CQM)
-CDS = (PRR, GCJ)
-BXN = (KQC, MSV)
-PTN = (VST, QHJ)
-TPD = (HJF, TSS)
-RNH = (TTK, DBN)
-TSM = (TPD, KBG)
-KTG = (GPT, BMD)
-PJP = (XBR, TCM)
-QPF = (KJF, NJX)
-HKP = (PLS, PGK)
-KBG = (HJF, TSS)
-SQK = (LSD, KNM)
-XKD = (MSB, FNP)
-QQP = (LFB, LTK)
-MDX = (KTJ, FXF)
-JLK = (KJM, BSB)
-FBR = (PMG, SNF)
-GSJ = (TDH, TDH)
-DQQ = (FKK, KRF)
-CTV = (CQD, RQX)
-MNT = (RLG, XXQ)
-GFL = (FGJ, KMD)
-BJK = (VQX, JCQ)
-SPN = (NKS, CNQ)
-LNL = (XLM, XLC)
-HKF = (HKJ, NNC)
-FTD = (CCX, MSS)
-RPV = (MDQ, DGS)
-DCX = (NLQ, PFV)
-JGB = (DVT, DRH)
-CGM = (CHN, MQM)
-JNQ = (PPX, KTT)
-BJM = (JBG, KPH)
-NFP = (SPD, XCT)
-TPL = (LSD, KNM)
-XTV = (CTJ, HPX)
-LKB = (PDF, SLK)
-QVK = (KMQ, MGF)
-QVP = (VCX, JNQ)
-NSR = (TJB, NBB)
-XLA = (DLB, SHQ)
-QLP = (HBS, RHL)
-BGH = (FMC, SQN)
-BJX = (LRX, PNM)
-MVC = (BPD, PHS)
-DXQ = (TMN, JSX)
-PBK = (QKV, CTH)
-GBJ = (RNH, LDJ)
-BMB = (HJS, TJT)
-SHT = (MFQ, LCT)
-HSK = (CGS, KGT)
-DRH = (PKN, PBN)
-PQF = (XKP, TNJ)
-RPX = (HCT, HQT)
-FPH = (VQL, NPJ)
-GLC = (PMS, QVN)
-VDP = (SXK, PVJ)
-JFD = (QBD, DGT)
-LQL = (NPT, GVS)
-TPQ = (NHL, MTD)
-KRF = (HVT, MPK)
-JQG = (QDT, PCK)
-PJQ = (KVH, LBV)
-VBB = (XXQ, RLG)
-PSH = (SQV, TLB)
-VXH = (VCX, JNQ)
-VQD = (NBB, TJB)
-JVD = (GDJ, JGQ)
-SDR = (FTF, NQL)
-NQQ = (TFM, CMC)
-FNL = (LTV, CSX)
-FVS = (NSF, VDX)
-VTJ = (VXH, QVP)
-KQC = (LGG, LGG)
-SCS = (MTV, DSX)
-QPS = (HMV, QQP)
-CQM = (JDD, JDD)
-FJX = (VBB, MNT)
-GBQ = (BXV, LFR)
-HGH = (SQK, TPL)
-SLT = (FXB, NGN)
-PBD = (HDC, FCX)
-CKL = (MQS, NND)
-LSX = (MBF, SPN)
-HNG = (JQG, GKD)
-MFQ = (PSH, TGK)
-SNX = (GCS, KSF)
-FMQ = (DXT, DFS)
-TXC = (SLK, PDF)
-VST = (SSN, LSR)
-BFB = (VSV, SVC)
-VNX = (TMF, QFS)
-VPK = (VBB, MNT)
-NVR = (XPG, RLB)
-FLS = (FSL, CKH)
-FKP = (FTD, CNK)
-MGF = (XXH, VBH)
-LNM = (NFD, DKK)
-FNP = (VTT, MVG)
-HDC = (PXP, GVH)
-KVL = (LCT, MFQ)
-XGP = (RHG, RTK)
-JCT = (NJB, JLK)
-XSL = (SVC, VSV)
-SRS = (HPD, XBL)
-FSL = (JMG, TFD)
-CXB = (KQV, QGK)
-QRP = (CGF, CQF)
-PRG = (MDX, KPL)
-VLL = (MRB, MHN)
-VNQ = (KRF, FKK)
-NPJ = (VPK, FJX)
-MHN = (SRG, TTL)
-KFN = (DFN, BHK)
-FVQ = (LJM, TJV)
-GKD = (QDT, PCK)
-GVS = (FCK, NGC)
-MBF = (CNQ, NKS)
-SMQ = (KSV, KMF)
-CRJ = (GSJ, TDG)
-LHT = (BTL, KMB)
-KJM = (KJC, BGC)
-TTC = (GTX, XKD)
-QFT = (PRM, KXS)
-SDS = (JMP, TSR)
-BLX = (PQF, DCB)
-PXX = (LJT, QFK)
-SQV = (FCB, HXF)
-RQX = (DBJ, VTV)
-THV = (GJL, MND)
-SLK = (XBP, CXB)
-LVS = (CTJ, HPX)
-TSS = (CGL, JST)
-MTG = (RKT, GTJ)
-FFF = (GBQ, VTM)
-XMV = (KVL, SHT)
-FDJ = (MLG, MLG)
-HPD = (MQK, FLS)
-TLB = (HXF, FCB)
-BGC = (SCR, KCS)
-FBM = (PBD, MFK)
-TJP = (JSS, GHV)
-TXL = (NQC, RXH)
-TKM = (GLQ, TKP)
-RNS = (BJK, PHJ)
-RRT = (LJT, QFK)
-DHC = (XVF, STR)
-RXM = (KVL, SHT)
-JBX = (GBJ, DHD)
-TBR = (HJV, JFD)
-MFK = (HDC, FCX)
-TFD = (QXN, QSK)
-HMV = (LFB, LTK)
-RMD = (MBK, DGL)
-RJP = (CTX, TPQ)
-CBF = (FMQ, RTM)
-XXG = (JDH, TJP)
-PDX = (XGQ, BSP)
-XBL = (MQK, FLS)
-GMT = (PCB, GTK)
-DGT = (GNH, KVQ)
-CHN = (TTC, SBH)
-NKS = (HQV, PJQ)
-HJC = (DXQ, BHJ)
-CSR = (TSX, HSM)
-XTK = (BJM, CDR)
-DRT = (MPB, PSV)
-HQT = (CRM, XTZ)
-HNM = (SXJ, GMF)
-NLQ = (CLM, CTN)
-LTK = (PGS, SCS)
-DNR = (DRT, QLK)
-QVR = (DLN, TSM)
-VLD = (GSP, CKT)
-LFT = (PJD, CXK)
-KVG = (SNX, MPQ)
-FBS = (JSN, KFT)
-GTK = (XHH, LCL)
-KJZ = (MDB, GRB)
-QGK = (PKK, VFK)
-VDS = (KQC, MSV)
-KHS = (TRF, JVD)
-BHH = (MLG, RPX)
-JVL = (CQF, CGF)
-RGQ = (CQJ, KTG)
-VTM = (LFR, BXV)
-GML = (VFF, VLD)
-CTJ = (FKC, PDT)
-BJV = (KSV, KSV)
-SPX = (BPD, PHS)
-CTX = (NHL, MTD)
-LRB = (HHP, CDS)
-XHH = (MKX, KQH)
-FDL = (QFT, MNG)
-CCX = (HKF, VPS)
-GPT = (VHX, QPF)
-VFK = (VJX, QPS)
-QFH = (LHP, CKD)
-KMD = (QFR, XVX)
-MSB = (VTT, MVG)
-TRF = (JGQ, GDJ)
-PHJ = (VQX, JCQ)
-DBN = (NRQ, GBN)
-JPM = (PMG, SNF)
-TND = (HQB, XXT)
-FJK = (XHV, FBS)
-PNM = (DCX, MGH)
-QFK = (RKR, QVK)
-VNV = (NRC, XXN)
-QXN = (PSG, CFJ)
-NND = (HJC, MPN)
-DQM = (TJP, JDH)
-PGK = (XQK, PRG)
-HMK = (BJK, PHJ)
-DLB = (RGJ, NKR)
-PXP = (XTK, NKD)
-LGG = (CNP, CNP)
-HKJ = (VQD, NSR)
-TMN = (SNN, DPF)
-FRX = (FBR, JPM)
-PTA = (JTJ, XKM)
-NRH = (VST, QHJ)
-BQD = (KTP, GFF)
-VTT = (KFN, LTH)
-GMV = (VCJ, JGC)
-XLG = (FXB, NGN)
-JDH = (GHV, JSS)
-TJT = (JCT, JMJ)
-HCT = (CRM, CRM)
-BGR = (JMP, TSR)
-CKH = (JMG, TFD)
-DHX = (QGP, CLJ)
-BQN = (TBN, BTQ)
-RSH = (CSX, LTV)
-SXJ = (DRV, JBX)
-MRB = (SRG, TTL)
-GTG = (SPV, DDQ)
-VQL = (VPK, FJX)
-RXC = (GXT, CGM)
-MSV = (LGG, HLF)
-PSV = (GBL, RRB)
-LRV = (XTV, LVS)
-MVR = (NQL, FTF)
-JDD = (GRB, MDB)
-TKG = (LHT, VLM)
-NHL = (MMV, LNM)
-XBR = (DHX, QHM)
-DNK = (TXQ, DSP)
-GBX = (SDS, BGR)
-PDT = (CBF, RKM)
-PGH = (FGJ, KMD)
-GTR = (RPT, CXM)
-GBP = (LNB, DNR)
-DKC = (MQS, NND)
-HSM = (SHK, HQP)
-VVV = (GLQ, TKP)
-TTJ = (DNK, BQC)
-CJD = (CGS, KGT)
-VSG = (RMJ, BQN)
-XGQ = (TXC, LKB)
-CNP = (PCH, PCH)
-JPT = (NDS, CTV)
-MVT = (GBP, RLR)
-HJF = (CGL, JST)
-KGB = (GML, NLB)
-MPN = (DXQ, BHJ)
-KFT = (DTS, DJP)
-QCK = (RLF, QVR)
-MJR = (MJD, RPS)
-LBV = (FPH, RFH)
-JMG = (QSK, QXN)
-LDJ = (DBN, TTK)
-XBP = (KQV, QGK)
-RTM = (DFS, DXT)
-VBH = (BMB, JGJ)
-LHP = (MMH, BPV)
-PMR = (MDQ, DGS)
-NNR = (JDF, NVP)
-GJL = (JDT, QLP)
-JST = (SBL, LNL)
-KML = (TXL, CRB)
-FBA = (KQG, JSC)
-KSF = (TLH, JBK)
-VFF = (CKT, GSP)
-PSG = (PQP, CBJ)
-LDZ = (JSC, KQG)
-DKN = (MVC, SPX)
-DRV = (DHD, GBJ)
-MJB = (HNM, LKH)
-MNG = (KXS, PRM)
-SNN = (VNQ, DQQ)
-GNH = (KHS, SLV)
-BJF = (HPD, XBL)
-LGP = (LHP, CKD)
-XVZ = (CVH, MRJ)
-GRP = (NHV, GBX)
-NGC = (FRJ, KVG)
-BJD = (QVR, RLF)
-FKL = (LRV, DSH)
-KSV = (VHK, VHK)
-XQK = (KPL, MDX)
-NRC = (DMT, GLC)
-VNH = (LQT, VVQ)
-CGL = (SBL, SBL)
-GVH = (NKD, XTK)
-DBJ = (LXQ, HKP)
-KVC = (PMX, XPR)
-NJP = (VXG, TTJ)
-VXG = (BQC, DNK)
-CLJ = (JVL, QRP)
-RFH = (VQL, NPJ)
-GFR = (KGB, GNM)
-KQV = (VFK, PKK)
-SQM = (GTJ, RKT)
-MQS = (MPN, HJC)
-BXV = (RJP, CLN)
-VSJ = (DKN, XDK)
-SHK = (XMV, RXM)
-GSP = (LDC, VPF)
-MSS = (VPS, HKF)
-SFM = (NVR, CQX)
-FMC = (BJF, SRS)
-DXS = (RMD, TLT)
-QHS = (CGM, GXT)
-DJP = (FDL, JHP)
-MPT = (PQF, DCB)
-LXQ = (PLS, PGK)
-RFD = (TTJ, VXG)
-JGJ = (HJS, TJT)
-XGN = (KVT, LQL)
-NBB = (LSX, XNR)
-CKD = (MMH, BPV)
-CTT = (CQX, NVR)
-CBJ = (RRG, KBD)
-CNG = (THV, QBK)
-BMD = (QPF, VHX)
-XLC = (BKL, SCZ)
-KQG = (CPT, VLL)
-KTJ = (KVC, VBM)
-JBG = (NJP, RFD)
-KVT = (NPT, GVS)
-QGP = (JVL, QRP)
-HFC = (THV, QBK)
-JDT = (HBS, RHL)
-MNF = (NRS, XVZ)
-GKR = (GTK, PCB)
-NVP = (NQQ, RRQ)
-MPQ = (GCS, KSF)
-PLS = (PRG, XQK)
-JDF = (NQQ, RRQ)
-CQD = (DBJ, VTV)
-LNP = (TPK, SCP)
-HQP = (XMV, RXM)
-RJM = (MJD, RPS)
-MQK = (FSL, CKH)
-KXS = (HBJ, HMP)
-CSX = (QCS, RKV)
-VCG = (LQL, KVT)
-NVJ = (JQG, GKD)
-NLB = (VLD, VFF)
-CQN = (NVP, JDF)
-PDL = (VTM, GBQ)
-SJM = (JNR, BGH)
-VTR = (HMK, RNS)
-QGS = (SQK, TPL)
-NFH = (XRH, DKD)
-TXQ = (GFL, PGH)
-GCJ = (XSL, BFB)
-RKT = (CQN, NNR)
-BFQ = (LBS, JLX)
-PKN = (FGD, TKG)
-XKP = (FDJ, BHH)
-QHX = (SPD, XCT)
-NKR = (GFR, KTV)
-GLQ = (FBM, KLD)
-PRR = (XSL, BFB)
-XLT = (HPB, MJJ)
-HRD = (QVP, VXH)
-SNL = (VSF, GTG)
-TBN = (XCS, LJX)
-RPS = (NFM, VNX)
-MKX = (XLG, SLT)
-NQC = (MPT, BLX)
-DKK = (FVQ, PFR)
-LCT = (TGK, PSH)
-XHV = (JSN, KFT)
-PRM = (HMP, HBJ)
-NQL = (BQD, TTN)
-HQV = (KVH, LBV)
-RKG = (HMK, RNS)
-LCL = (KQH, MKX)
-LMM = (PVJ, SXK)
-NCF = (XHV, FBS)
-NRS = (MRJ, CVH)
-RTK = (RJM, MJR)
-RFC = (NVJ, HNG)
-XXQ = (SXP, BJH)
-RPT = (NMV, VNV)
-QBR = (CTH, QKV)
-FXF = (VBM, KVC)
-CRB = (NQC, RXH)
-NQD = (BQN, RMJ)
-RKR = (KMQ, MGF)
-DSP = (GFL, PGH)
-DSH = (XTV, LVS)
-DMT = (QVN, PMS)
-VPS = (NNC, HKJ)
-JSC = (CPT, VLL)
-XKS = (DVT, DRH)
-TTV = (LKH, HNM)
-MJD = (VNX, NFM)
-SCZ = (SHQ, DLB)
-XVX = (CNG, HFC)
-KTV = (KGB, GNM)
-QHJ = (LSR, SSN)
-CQJ = (GPT, BMD)
-NMD = (TPK, SCP)
-DVB = (GSJ, GSJ)
-JMP = (MQP, RGQ)
-BSB = (BGC, KJC)
-CPT = (MRB, MHN)
-PQP = (RRG, KBD)
-RLG = (BJH, SXP)
-VQX = (XVR, JCB)
-XJN = (XRH, DKD)
-JHP = (QFT, MNG)
-KMB = (HRT, SJM)
-QSK = (PSG, CFJ)
-DKD = (VLF, JPT)
-NHV = (BGR, SDS)
-HXV = (XGQ, BSP)
-XXN = (DMT, GLC)
-VLM = (KMB, BTL)
-RLR = (DNR, LNB)
-PCH = (KQG, JSC)
-XRH = (VLF, JPT)
-SBL = (XLM, XLM)
-CRM = (JTJ, XKM)
-JSS = (BTS, LSV)
-CXM = (NMV, VNV)
-MLG = (HCT, HCT)
-JXH = (MVR, SDR)
-XBH = (XVF, STR)
-DXT = (VBN, JVK)
-JSN = (DTS, DJP)
-KLD = (MFK, PBD)
-KVH = (RFH, FPH)
-NJX = (GMV, VPQ)
-NRQ = (GKR, GMT)
-HXF = (DXS, QXR)
-DGS = (SNL, BVF)
-LJT = (RKR, QVK)
-JLX = (XGP, TKS)
-FCX = (PXP, GVH)
-VDX = (VBJ, TBR)
-VSF = (SPV, DDQ)
-VCX = (KTT, PPX)
-MMH = (MDM, FVS)
-MPB = (GBL, RRB)
-RLF = (TSM, DLN)
-RMJ = (BTQ, TBN)
-VJX = (QQP, HMV)
-XVF = (RFC, HXG)
-CTN = (VVV, TKM)
-QHD = (GBP, RLR)
-JGC = (JXH, QCQ)
-KPL = (FXF, KTJ)
-NGN = (MDH, VSJ)
-XPG = (MJB, TTV)
-MQP = (KTG, CQJ)
-JCB = (QHD, MVT)
-MNM = (RPT, CXM)
-RXH = (BLX, MPT)
-HHP = (GCJ, PRR)
-SLV = (JVD, TRF)
-HVT = (BJX, FND)
-MTD = (MMV, LNM)
-TTL = (QFH, LGP)
-LTV = (QCS, RKV)
-VXV = (TSX, HSM)
-TCM = (QHM, DHX)
-NBF = (LQT, VVQ)
-BTQ = (LJX, XCS)
-TKP = (KLD, FBM)
-LDC = (HSD, PJP)
-VHK = (NRS, NRS)
-NFM = (TMF, QFS)
-GTJ = (NNR, CQN)
-LSD = (QCK, BJD)
-HJV = (QBD, DGT)
-QBK = (MND, GJL)
-XNR = (MBF, SPN)
-HQB = (KXN, FJF)
-TNJ = (FDJ, BHH)
-TGK = (SQV, TLB)
-KMF = (VHK, MNF)
-JVK = (PDL, FFF)
-NSF = (VBJ, TBR)
-SCP = (QQR, PVV)
-XXP = (HHP, CDS)
-VHX = (NJX, KJF)
-VCJ = (JXH, QCQ)
-KJC = (KCS, SCR)
-XXT = (FJF, KXN)
-NNC = (VQD, NSR)
-VBM = (XPR, PMX)
-JTJ = (XDG, VHT)
-CNK = (CCX, MSS)
-FTF = (TTN, BQD)
-LKH = (SXJ, GMF)
-TLH = (CSR, VXV)
-GFF = (KML, QRX)
-LFR = (CLN, RJP)
-DTS = (FDL, JHP)
-TTN = (KTP, GFF)
-BTL = (HRT, SJM)
-HJS = (JCT, JMJ)
-HBJ = (JVR, GSF)
-SLF = (JDD, KJZ)
-CVH = (CNC, XLT)
-JGQ = (JGB, XKS)
-FGJ = (QFR, XVX)
-STQ = (XRQ, TCB)
-GCS = (JBK, TLH)
-FKK = (HVT, MPK)
-LJM = (DQM, XXG)
-BTS = (NMD, LNP)
-SVC = (NFP, QHX)
-VPF = (PJP, HSD)
-NPT = (NGC, FCK)
-TTK = (GBN, NRQ)
-XCT = (FNL, RSH)
-RRG = (TND, HCC)
-HMP = (GSF, JVR)
-TJV = (XXG, DQM)
-CTH = (CTT, SFM)
-TPK = (QQR, PVV)
-LSR = (PQH, LFT)
-XLM = (BKL, BKL)
-FGD = (VLM, LHT)
-GSF = (VTJ, HRD)
-PBN = (FGD, TKG)
-NMV = (NRC, XXN)
-CLN = (TPQ, CTX)
-TMF = (TSK, PTV)
-HPX = (FKC, PDT)
-GBN = (GMT, GKR)
-PCK = (PDX, HXV)
-TCB = (NCF, FJK)
-LJX = (NRH, PTN)
-QBD = (KVQ, GNH)
-CMC = (QBR, PBK)
-GBL = (HHR, GSC)
-SQN = (BJF, SRS)
-FCB = (QXR, DXS)
-GDJ = (XKS, JGB)
-PCB = (LCL, XHH)
-BPV = (MDM, FVS)
-PJD = (DVB, DVB)
-RHG = (MJR, RJM)
-DVT = (PKN, PBN)
-TFM = (QBR, PBK)
-HCC = (HQB, XXT)
-PGS = (DSX, MTV)
-TSR = (MQP, RGQ)
-KJF = (GMV, VPQ)
-GJS = (DKC, CKL)
-LNB = (QLK, DRT)
-PKK = (QPS, VJX)
-TKS = (RHG, RTK)
-QFS = (TSK, PTV)
-DGL = (RCK, XVJ)
-XPR = (MNM, GTR)
-TDH = (FKL, CFC)
-PDF = (XBP, CXB)
-DFN = (RXF, GRP)
-JVR = (HRD, VTJ)
-LBS = (TKS, XGP)
-QCQ = (MVR, SDR)
-MND = (JDT, QLP)
-PFR = (LJM, TJV)
-QLK = (MPB, PSV)
-CFC = (LRV, DSH)
-PMX = (GTR, MNM)
-CGF = (PMR, RPV)
-MVG = (LTH, KFN)
-NLK = (FBR, JPM)
-LFB = (SCS, PGS)
-BVF = (VSF, GTG)
-MDQ = (BVF, SNL)
-CQF = (PMR, RPV)
-FND = (LRX, PNM)
-MRJ = (CNC, XLT)
-HSD = (XBR, TCM)
-HLF = (CNP, GQH)
-RRQ = (CMC, TFM)
-CLM = (TKM, VVV)
-RLB = (TTV, MJB)
-NDS = (RQX, CQD) \ No newline at end of file
diff --git a/aoc2023/src/day9/input.txt b/aoc2023/src/day9/input.txt
deleted file mode 100644
index 6e0678f..0000000
--- a/aoc2023/src/day9/input.txt
+++ /dev/null
@@ -1,200 +0,0 @@
-16 22 27 23 4 -16 23 267 1025 2943 7407 17445 39670 88339 193607 417868 887273 1851158 3792224 7628687 15083115
-12 27 53 97 184 369 757 1550 3165 6502 13489 28103 58181 118520 236055 458342 867210 1600341 2884757 5087813 8793398
-3 9 23 45 75 113 159 213 275 345 423 509 603 705 815 933 1059 1193 1335 1485 1643
-14 21 42 87 173 334 631 1162 2072 3563 5904 9441 14607 21932 32053 45724 63826 87377 117542 155643 203169
-6 13 20 27 34 41 48 55 62 69 76 83 90 97 104 111 118 125 132 139 146
-18 28 38 48 58 68 78 88 98 108 118 128 138 148 158 168 178 188 198 208 218
-21 33 40 47 73 158 375 850 1793 3543 6630 11857 20405 33964 54893 86412 132829 199805 294660 426723 607729
-5 11 28 62 114 176 227 229 123 -175 -778 -1832 -3520 -6066 -9739 -14857 -21791 -30969 -42880 -58078 -77186
-24 40 75 158 329 650 1234 2297 4245 7835 14509 27104 51294 98315 189749 365429 696074 1303683 2396426 4333544 7754453
-18 23 29 46 96 212 448 922 1929 4181 9250 20305 43249 88396 172934 324721 588708 1038939 1802431 3107544 5380614
-23 48 93 172 303 512 850 1439 2577 4950 10022 20709 42513 85461 167621 322006 611043 1157808 2213227 4297234 8485467
--5 1 16 41 89 207 507 1216 2767 5970 12327 24602 47877 91653 174402 333999 651945 1308548 2704118 5713694 12198267
-6 29 72 158 337 698 1389 2653 4895 8818 15726 28221 51759 97922 190866 379323 758008 1504863 2945432 5665084 10707897
-9 12 14 16 18 23 61 248 912 2857 7918 20117 47998 109127 238298 501654 1019615 2002014 3798866 6969266 12368366
-17 22 22 7 -38 -133 -303 -578 -993 -1588 -2408 -3503 -4928 -6743 -9013 -11808 -15203 -19278 -24118 -29813 -36458
--2 4 18 55 139 307 619 1172 2109 3609 5862 9109 14010 22956 43541 96348 230584 553042 1278506 2813195 5887325
-8 15 28 69 174 408 898 1887 3825 7548 14661 28355 55092 107964 213209 422581 836414 1645965 3210142 6193077 11808762
-16 42 93 189 363 674 1225 2187 3843 6689 11662 20608 37156 68227 126480 234080 428266 769300 1351491 2318111 3881153
-22 28 29 28 44 131 412 1147 2869 6647 14589 30812 63325 127656 253684 498111 966448 1850438 3489669 6469940 11775962
-10 22 64 147 279 478 797 1361 2416 4390 7966 14167 24453 40830 65971 103349 157382 233590 338764 481147 670627
-26 44 80 147 257 416 626 905 1352 2314 4756 10993 26015 59722 130486 270571 534070 1008160 1828632 3200823 5427261
-10 13 25 59 130 257 465 787 1266 1957 2929 4267 6074 8473 11609 15651 20794 27261 35305 45211 57298
-22 34 53 80 110 130 129 142 361 1361 4516 12738 31795 72709 156208 321132 640567 1253344 2426426 4679304 9031095
--3 3 14 32 60 112 238 564 1347 3045 6402 12548 23114 40362 67330 107992 167433 252039 369702 530040 744632
-9 6 1 -6 -15 -26 -39 -54 -71 -90 -111 -134 -159 -186 -215 -246 -279 -314 -351 -390 -431
-8 19 30 41 52 63 74 85 96 107 118 129 140 151 162 173 184 195 206 217 228
-12 28 56 112 219 400 680 1122 1935 3705 7813 17117 36988 76803 152011 286901 518214 899754 1508166 2450062 3870689
-4 18 45 100 211 419 778 1355 2230 3496 5259 7638 10765 14785 19856 26149 33848 43150 54265 67416 82839
-14 27 62 122 200 276 326 367 589 1672 5468 16376 44007 108213 248366 540095 1124752 2259977 4404234 8354542 15465362
-10 22 40 63 103 210 507 1241 2865 6190 12701 25249 49587 97767 195548 398210 823495 1718635 3594121 7486884 15473014
-14 34 81 182 390 802 1584 3006 5499 9763 16982 29248 50393 87661 155200 281530 525422 1008672 1981041 3943806 7877282
-12 6 3 23 101 286 644 1284 2444 4698 9375 19317 40145 82250 163780 314954 584100 1045886 1812291 3046947 4983573
-13 21 32 52 86 138 211 307 427 571 738 926 1132 1352 1581 1813 2041 2257 2452 2616 2738
-17 35 58 79 89 86 96 217 705 2144 5802 14399 33741 76089 166928 358407 755996 1571412 3227213 6560698 13212768
-17 31 59 122 252 488 875 1475 2402 3896 6454 11039 19391 34467 61040 106490 181823 302957 492317 780784 1210046
-11 13 19 31 63 168 488 1351 3457 8223 18396 39097 79555 156016 296889 552619 1016132 1867206 3470206 6587672 12837496
-16 29 54 116 265 600 1300 2668 5219 9890 18523 34882 66641 129080 251748 490245 946750 1805263 3391104 6269484 11405501
-14 27 57 121 242 458 839 1513 2706 4807 8477 14831 25734 44266 75427 127171 211878 348395 564801 902077 1418890
-7 20 34 49 65 82 100 119 139 160 182 205 229 254 280 307 335 364 394 425 457
-1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101
-11 27 54 101 191 376 755 1502 2915 5494 10051 17860 30889 52245 87140 144991 243747 418245 735396 1320359 2399651
-2 8 29 83 199 423 835 1581 2927 5359 9789 17981 33374 62532 117469 219074 401880 720802 1262037 2164843 3671777
-6 24 54 96 150 216 294 384 486 600 726 864 1014 1176 1350 1536 1734 1944 2166 2400 2646
-10 19 51 124 260 486 847 1434 2430 4183 7326 12972 22998 40360 69185 113940 176032 244249 271543 122978 -535002
--2 -4 -14 -20 14 157 520 1272 2677 5175 9538 17144 30453 53895 95688 171741 313968 587314 1122914 2179488 4251816
-10 2 -8 -10 16 111 367 983 2360 5278 11264 23369 47724 96431 192545 378084 726118 1357970 2466328 4344512 7421136
-9 22 62 142 278 503 886 1552 2699 4608 7642 12230 18832 27881 39698 54376 71629 90602 109638 125998 135530
--2 -1 13 46 97 157 212 250 272 307 431 790 1627 3313 6382 11570 19858 32519 51169 77822 114949
-18 43 87 167 324 645 1288 2508 4685 8358 14272 23448 37289 57738 87507 130399 191748 279005 402501 576421 820026
--8 -3 21 87 247 597 1292 2561 4722 8197 13527 21387 32601 48157 69222 97157 133532 180141 239017 312447 402987
-1 15 44 102 209 386 650 1009 1457 1969 2496 2960 3249 3212 2654 1331 -1055 -4861 -10508 -18486 -29359
-5 1 -2 6 59 235 682 1661 3639 7499 14980 29518 57729 111857 213604 399865 731009 1302477 2260610 3823774 6310015
-1 9 37 102 234 477 887 1529 2484 3904 6221 10771 21422 48445 117084 285457 680175 1564375 3463249 7388968 15233734
--3 -3 -1 11 59 207 588 1446 3189 6453 12177 21689 36803 59927 94182 143532 212925 308445 437475 608871 833147
-10 8 4 -1 1 26 99 259 588 1312 3062 7435 18059 42442 94973 201543 406366 781704 1441336 2558759 4391269
-10 15 18 27 59 146 351 801 1756 3756 7920 16506 33869 67961 132485 249722 453870 794437 1338782 2172261 3393567
-7 15 41 104 240 511 1006 1830 3083 4847 7237 10652 16512 29023 58918 130730 296023 656207 1400169 2864048 5623160
--8 -4 15 66 176 382 731 1280 2096 3256 4847 6966 9720 13226 17611 23012 29576 37460 46831 57866 70752
-11 15 15 11 3 -9 -25 -45 -69 -97 -129 -165 -205 -249 -297 -349 -405 -465 -529 -597 -669
--1 2 8 24 76 213 509 1071 2071 3838 7075 13309 25742 50751 100388 196360 376127 701946 1273914 2248326 3862968
-11 12 10 -4 -30 -41 52 467 1667 4541 10659 22594 44276 81300 141049 232411 364763 545762 777320 1048944 1327390
-9 11 12 20 63 215 648 1733 4223 9564 20404 41417 80649 151761 277849 498056 879093 1535245 2662704 4597458 7910851
-21 22 23 43 114 293 701 1602 3535 7522 15407 30447 58395 109537 202601 372448 685608 1272236 2392115 4569768 8866201
-17 27 37 47 57 67 77 87 97 107 117 127 137 147 157 167 177 187 197 207 217
-18 42 72 103 130 150 170 224 408 956 2402 5903 13836 30828 65432 132724 258166 483158 872788 1526383 2591566
-23 30 36 41 45 48 50 51 51 50 48 45 41 36 30 23 15 6 -4 -15 -27
-14 31 52 83 148 308 690 1526 3202 6317 11752 20749 35000 56746 88886 135096 199958 289099 409340 568855 777340
-4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64
-14 26 44 76 143 283 574 1197 2563 5538 11840 24799 50942 103413 209274 424645 865170 1765883 3597017 7286172 14643193
-12 27 49 69 87 136 330 950 2594 6451 14824 32143 66919 135472 268945 526276 1017696 1946291 3679643 6870089 12651367
-11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101 106 111
-10 35 74 146 282 527 958 1744 3300 6630 14020 30337 65320 137420 279964 550689 1046022 1921877 3423206 5925084 9988734
-20 29 40 59 108 247 607 1436 3177 6629 13289 26035 50387 96675 183550 343396 630338 1131693 1983878 3393971 5668318
-8 24 59 134 284 569 1103 2113 4045 7744 14750 27772 51427 93361 165904 288451 490806 817776 1335357 2138914 3363822
-11 25 55 105 179 281 415 585 795 1049 1351 1705 2115 2585 3119 3721 4395 5145 5975 6889 7891
-19 37 74 159 334 661 1245 2294 4257 8117 15987 32302 66195 136227 279739 571067 1156243 2317357 4588524 8958785 17217096
--2 9 41 103 219 443 870 1652 3057 5656 10790 21562 44740 94217 197246 406018 820326 1634301 3236137 6423499 12866391
-5 -1 -8 -9 10 70 199 432 811 1385 2210 3349 4872 6856 9385 12550 16449 21187 26876 33635 41590
-19 32 45 58 71 84 97 110 123 136 149 162 175 188 201 214 227 240 253 266 279
-22 37 55 71 94 167 396 1005 2447 5608 12151 25096 49895 96676 185249 356351 696284 1389007 2822275 5796409 11921644
-22 47 92 163 266 410 610 889 1282 1854 2764 4460 8230 17669 42342 106334 266942 653145 1540604 3491025 7600370
-23 38 73 146 277 488 805 1274 2012 3332 6035 12106 26379 60395 140880 327309 746281 1655398 3556625 7389446 14848405
-10 34 81 160 274 417 573 715 811 876 1179 2852 9421 30324 88549 236536 588096 1380274 3089189 6639788 13773628
-17 32 52 70 76 73 108 318 991 2642 6104 12634 24034 42787 72208 116610 181485 273700 401708 575774 808216
--4 7 32 78 155 279 498 962 2061 4658 10451 22528 46285 91178 174513 330071 627521 1214340 2401733 4831449 9782898
--1 1 -1 -2 13 71 214 503 1023 1889 3253 5312 8317 12583 18500 26545 37295 51441 69803 93346 123197
-14 25 55 119 234 420 706 1143 1844 3111 5790 12143 27772 65506 152698 344108 743534 1538777 3056905 5851463 10843458
--7 -7 2 25 72 160 317 595 1112 2172 4561 10190 23357 53033 116746 246846 500187 972563 1819588 3286119 5746790
-24 51 91 144 210 289 381 486 604 735 879 1036 1206 1389 1585 1794 2016 2251 2499 2760 3034
--6 -8 -7 -4 9 70 282 871 2293 5443 12063 25532 52395 105321 208785 409850 798384 1544682 2969297 5672672 10775633
-18 38 74 128 197 273 343 389 388 312 128 -202 -721 -1477 -2523 -3917 -5722 -8006 -10842 -14308 -18487
-14 14 6 -15 -54 -116 -206 -329 -490 -694 -946 -1251 -1614 -2040 -2534 -3101 -3746 -4474 -5290 -6199 -7206
-0 4 22 78 215 499 1023 1911 3322 5454 8548 12892 18825 26741 37093 50397 67236 88264 114210 145882 184171
-15 19 27 58 141 316 650 1285 2551 5196 10802 22466 45823 90469 171801 313223 548567 924441 1502037 2357706 3581329
-28 49 76 114 185 353 769 1757 3977 8715 18361 37142 72176 134903 242928 422277 710018 1157133 1831442 2820274 4232451
-2 -5 0 35 133 356 819 1728 3430 6476 11736 20729 36639 67155 131593 277209 613962 1384465 3098432 6781691 14423617
--2 7 41 121 269 517 931 1662 3062 5945 12131 25493 53858 112344 229132 455405 882418 1670639 3098937 5646285 10124879
-15 19 18 9 -6 -15 9 113 369 879 1780 3249 5508 8829 13539 20025 28739 40203 55014 73849 97470
-9 14 33 89 229 533 1128 2215 4117 7356 12767 21657 36017 58795 94238 148311 229201 347914 518973 761225 1098765
-8 23 51 104 202 386 739 1423 2763 5438 10883 22095 45241 92932 191019 392729 807586 1658885 3393971 6888230 13809204
-6 3 10 41 110 231 418 685 1046 1515 2106 2833 3710 4751 5970 7381 8998 10835 12906 15225 17806
-12 12 16 37 101 264 650 1525 3438 7497 15913 33051 67399 135147 266525 516779 984800 1844138 3393654 6138665 10918457
-9 30 68 138 276 551 1072 2001 3595 6307 10985 19236 34096 61304 111765 206261 384197 719228 1346090 2504950 4612204
-23 38 66 121 224 409 731 1285 2251 3984 7170 13069 23864 43131 76439 132081 221927 362378 575386 889489 1340792
-16 28 40 52 64 76 88 100 112 124 136 148 160 172 184 196 208 220 232 244 256
-17 30 61 119 219 397 747 1501 3179 6842 14487 29629 58121 109269 197305 343287 577501 942446 1496489 2318283 3512047
--1 5 14 37 100 253 588 1271 2598 5105 9816 18826 36619 72851 147828 302628 616809 1237973 2429186 4642459 8629254
-16 36 76 164 342 666 1206 2046 3284 5032 7416 10576 14666 19854 26322 34266 43896 55436 69124 85212 103966
--5 -3 12 63 182 411 809 1475 2612 4686 8786 17372 35707 74388 153464 308525 598601 1114243 1980956 3346921 5332708
-14 26 38 50 62 74 86 98 110 122 134 146 158 170 182 194 206 218 230 242 254
-2 -4 -19 -52 -115 -221 -369 -502 -417 401 3053 9640 23844 51688 102447 189584 331368 550394 870413 1307468 1850007
-21 43 82 139 220 346 563 952 1639 2805 4696 7633 12022 18364 27265 39446 55753 77167 104814 139975 184096
--8 -16 -17 2 54 155 326 590 966 1484 2301 4109 9224 24092 64560 166325 404748 930980 2035275 4253332 8536722
--2 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38
-12 33 69 137 269 529 1047 2087 4183 8402 16827 33411 65487 126554 241758 459276 874624 1682767 3288727 6538653 13194051
-5 11 36 85 167 311 593 1176 2363 4661 8852 16065 27841 46181 73565 112928 167577 241031 336764 457829 606339
-5 0 6 43 134 309 628 1231 2423 4814 9565 18848 36718 70725 134771 253948 472385 865492 1558424 2753105 4766758
-20 31 42 53 64 75 86 97 108 119 130 141 152 163 174 185 196 207 218 229 240
-17 34 57 94 167 331 710 1554 3321 6788 13195 24426 43231 73493 120544 191534 295857 445638 656285 947110 1342023
-19 22 16 1 -16 -13 61 313 960 2430 5532 11711 23385 44323 79959 137439 225057 350542 517400 718181 923118
-12 20 36 60 92 132 180 236 300 372 452 540 636 740 852 972 1100 1236 1380 1532 1692
-15 28 66 154 345 743 1533 3025 5728 10495 18847 33738 61349 115157 224805 454707 941713 1968938 4106276 8470690 17196453
-26 54 104 181 285 412 556 719 953 1484 3011 7356 18816 46948 112339 258637 577588 1260474 2701490 5699779 11842279
--5 0 13 48 130 307 671 1382 2697 5034 9163 16738 31609 62754 130392 278202 597329 1273687 2682530 5580428 11497888
-8 23 49 86 133 194 288 465 841 1695 3749 8922 22170 55570 136666 324373 737550 1603839 3339673 6676646 12854891
-7 18 29 40 51 62 73 84 95 106 117 128 139 150 161 172 183 194 205 216 227
-10 24 44 69 95 111 110 139 432 1714 5858 17254 45544 110822 253017 547981 1133786 2251864 4308844 7966159 14265585
--5 -2 6 18 42 106 277 693 1613 3490 7072 13536 24660 43038 72343 117643 185775 285782 429418 631726 911694
-25 49 82 120 164 225 336 574 1090 2143 4134 7640 13481 22991 39079 69707 137760 306259 738049 1829516 4498299
-28 39 59 115 256 569 1203 2401 4540 8179 14115 23447 37648 58645 88907 131541 190396 270175 376555 516315 697472
-11 22 42 82 162 312 578 1053 1983 4058 9103 21549 51304 118974 264819 563384 1146435 2237670 4203680 7626820 13407030
-13 32 67 140 285 548 987 1672 2685 4120 6083 8692 12077 16380 21755 28368 36397 46032 57475 70940 86653
-16 33 54 83 134 242 480 986 2021 4120 8486 17955 39204 87515 196569 437797 957362 2044827 4257394 8639335 17100774
-9 16 28 45 77 154 347 816 1911 4366 9654 20646 42906 87373 176023 353702 712286 1438821 2909549 5870876 11783816
-8 6 12 48 156 403 877 1669 2836 4346 6024 7554 8652 9615 12577 23971 58912 148486 351260 770724 1580844
-10 34 83 183 372 704 1257 2145 3534 5662 8863 13595 20472 30300 44117 63237 89298 124314 170731 231487 310076
-8 20 36 53 68 78 80 71 48 8 -52 -135 -244 -382 -552 -757 -1000 -1284 -1612 -1987 -2412
-8 24 64 148 311 624 1225 2369 4520 8531 15994 29900 55846 104185 193758 358183 656084 1187050 2115368 3703412 6355581
-5 15 30 49 71 95 120 145 169 191 210 225 235 239 236 225 205 175 134 81 15
-20 50 100 187 348 653 1224 2260 4071 7142 12288 21029 36419 64717 118496 222024 419946 790371 1463632 2649684 4685450
-19 31 52 89 164 327 670 1344 2599 4900 9234 17847 35889 74868 159497 340530 717567 1477557 2956756 5736005 10781030
-18 39 72 138 278 564 1112 2106 3859 6958 12565 22975 42565 79305 147043 268821 481528 842249 1436726 2390408 3882632
-4 10 15 19 22 24 25 25 24 22 19 15 10 4 -3 -11 -20 -30 -41 -53 -66
-17 26 56 136 308 628 1180 2113 3711 6506 11444 20114 35050 60116 100984 165715 265453 415242 634976 950492 1394816
-25 37 60 118 244 489 953 1860 3725 7710 16362 35110 75232 159574 333227 682794 1369993 2688371 5156120 9663710 17702660
-4 8 33 90 191 348 577 927 1566 2968 6257 13776 29961 62612 124665 236581 429480 749160 1261153 2056982 3261795
-13 25 58 131 276 546 1035 1922 3551 6559 12064 21925 39086 68016 115257 190092 305345 478325 731926 1095895 1608280
-8 7 17 55 139 281 476 687 826 731 139 -1345 -4283 -9443 -17842 -30793 -49956 -77393 -115627 -167705 -237265
-5 22 61 137 265 460 737 1111 1597 2210 2965 3877 4961 6232 7705 9395 11317 13486 15917 18625 21625
-15 14 17 28 53 111 267 709 1908 4922 11933 27153 58340 119414 235217 450591 848077 1582290 2945281 5487158 10231495
-2 9 28 68 137 258 498 1015 2135 4478 9159 18097 34472 63377 112719 194430 326056 532799 850094 1326810 2029171
-22 34 46 53 55 67 142 416 1181 3001 6930 15013 31533 66065 140600 305315 671836 1480416 3230374 6924401 14511151
-18 34 63 125 258 526 1027 1901 3338 5586 8959 13845 20714 30126 42739 59317 80738 108002 142239 184717 236850
-27 52 102 187 321 526 843 1369 2346 4335 8515 17154 34306 66795 125554 227394 397285 671238 1099884 1752853 2724063
-23 38 55 78 115 182 314 595 1239 2789 6549 15431 35510 78803 168285 347274 697739 1377040 2692175 5248108 10237257
-25 38 63 120 243 496 1004 2001 3903 7429 13817 25215 45369 80781 142570 249338 431421 736992 1240579 2054666 3345159
-28 41 54 67 80 93 106 119 132 145 158 171 184 197 210 223 236 249 262 275 288
--6 0 15 44 101 212 418 778 1372 2304 3705 5736 8591 12500 17732 24598 33454 44704 58803 76260 97641
-4 28 65 121 220 415 796 1496 2709 4761 8325 14968 28410 57238 120465 258450 553719 1170131 2426846 4940384 9902961
-6 7 15 36 76 141 237 370 546 771 1051 1392 1800 2281 2841 3486 4222 5055 5991 7036 8196
-24 33 45 62 77 83 95 191 590 1804 4931 12217 28162 61797 131542 275661 574402 1195504 2484736 5141196 10551151
-23 41 68 104 149 203 266 338 419 509 608 716 833 959 1094 1238 1391 1553 1724 1904 2093
-22 42 68 105 161 238 323 380 347 146 -277 -830 -906 1697 13721 53857 170028 477110 1234650 2999191 6910095
--9 -1 22 61 119 200 304 418 503 477 194 -581 -2201 -5170 -10180 -18152 -30281 -48085 -73458 -108727 -156713
-11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101 106 111
-7 13 33 88 211 463 966 1970 3984 8020 16029 31654 61492 117150 218504 398730 711877 1243999 2129161 3571988 5878841
-26 54 107 191 316 512 855 1506 2775 5254 10135 19972 40418 83980 177798 379260 806629 1698071 3523848 7197074 14465457
-7 6 4 13 65 221 583 1306 2603 4745 8094 13284 21806 37503 69932 141398 301131 653436 1413420 3017283 6339755
-8 13 26 47 76 113 158 211 272 341 418 503 596 697 806 923 1048 1181 1322 1471 1628
-14 19 31 61 140 340 804 1785 3694 7157 13081 22729 37804 60542 93814 141237 207294 297463 418355 577861 785308
-18 25 41 74 132 223 355 536 774 1077 1453 1910 2456 3099 3847 4708 5690 6801 8049 9442 10988
-13 39 87 171 318 573 1009 1765 3152 5886 11539 23368 47825 97318 195247 385056 746111 1420737 2658839 4889321 8831144
-10 8 14 34 74 141 255 482 1006 2285 5397 12804 30003 69026 155797 345601 755687 1633870 3501675 7448656 15726061
-6 11 25 69 172 364 663 1064 1547 2130 3002 4780 8943 18505 38998 79845 156212 291437 520143 892151 1477318
-27 50 84 135 218 372 697 1431 3090 6700 14160 28802 56287 106157 194788 351446 631221 1142968 2109356 3994435 7771240
-9 31 66 114 175 249 336 436 549 675 814 966 1131 1309 1500 1704 1921 2151 2394 2650 2919
-8 7 7 8 10 22 98 426 1513 4538 11998 28875 64756 137733 281650 559617 1089152 2088679 3962843 7457584 13938920
--5 -7 -9 -11 -2 54 247 779 2078 5020 11348 24426 50527 100927 195162 365902 666005 1178435 2029861 3408899 5590116
-10 16 34 74 147 274 521 1081 2432 5608 12628 27136 55313 107130 198019 351047 599686 991280 1591318 2488630 3801631
-9 8 21 66 172 391 830 1721 3552 7290 14748 29193 56376 106318 196477 357514 644161 1156577 2084086 3797672 7049008
-14 40 88 183 380 785 1580 3064 5738 10495 19048 34867 65134 124613 242953 477946 938949 1827706 3509661 6640837 12400447
-15 25 39 64 129 294 653 1337 2538 4600 8260 15178 28989 57277 115164 231711 461221 903259 1738853 3298396 6194405
-9 6 6 11 31 107 353 1029 2669 6320 14014 29709 61115 123102 243845 475664 914050 1731530 3239870 6009120 11104366
-26 37 48 75 147 313 670 1432 3073 6602 14068 29452 60189 119691 231437 435496 798808 1431239 2510444 4320037 7307627
-3 -1 -10 -24 -43 -67 -96 -130 -169 -213 -262 -316 -375 -439 -508 -582 -661 -745 -834 -928 -1027
-18 43 89 169 300 508 853 1501 2897 6147 13824 31625 71718 159389 345977 733436 1519704 3080095 6109095 11860445 22542764
-17 38 63 88 109 122 123 108 73 14 -73 -192 -347 -542 -781 -1068 -1407 -1802 -2257 -2776 -3363
-3 2 10 40 110 248 497 920 1605 2670 4268 6592 9880 14420 20555 28688 39287 52890 70110 91640 118258
-21 37 57 85 131 212 354 601 1040 1854 3418 6456 12280 23135 42677 76614 133543 226019 371895 595975 932025
-14 28 56 121 265 567 1177 2386 4774 9508 18898 37365 73056 140538 265518 493797 909482 1673256 3102528 5835085 11151679
-13 31 73 156 302 533 869 1334 1975 2899 4333 6712 10800 17849 29801 49538 81185 130471 205153 315508 474898
--1 -10 -9 16 78 189 360 601 921 1328 1829 2430 3136 3951 4878 5919 7075 8346 9731 11228 12834
-1 10 33 77 148 252 400 620 988 1712 3344 7262 16674 38591 87590 192932 412066 856321 1739510 3468242 6804651
-2 19 60 137 265 461 749 1184 1908 3251 5909 11312 22519 46478 99470 219319 490975 1097216 2415107 5194716 10885594
-7 6 5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13
-13 24 44 89 197 451 1016 2204 4587 9194 17866 33915 63351 117117 215018 392358 710721 1274860 2258304 3941069 6763777
-1 -4 1 26 80 183 394 857 1858 3876 7615 14048 24625 42043 72406 130287 249223 501620 1034021 2126310 4286814
-7 20 36 46 41 20 1 35 223 736 1838 3912 7489 13280 22211 35461 54503 81148 117592 166466 230889
-16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 80 84 88 92 96
--1 3 12 46 137 336 738 1542 3172 6494 13173 26223 50812 95393 173241 304485 518733 858397 1382834 2173428 3339747 \ No newline at end of file